본문 바로가기

분류 전체보기

(124)
흐름제어, 혼잡제어 흐름 제어 슬로우 스타트이란? handshaking 이후 송신측에서 네트워크 상태에 따라 흐름을 제어하는 기법 확인 응답을 받을 때마다 혼잡 윈도우의 크기를 2**n개 증가하며 패킷 전송 윈도우 size = min( rwnd(수신측 여유공간), cwnd (혼잡윈도우 크기) ) 혼잡 제어 네트워크 전반의 문제이기 때문에 완전한 해결은 어려움. - 라우터의 큐가 over됨. - 버퍼의 처리속도가 감소됨. 예방적 혼잡 제어 사전에 전송할 데이터 양을 정한다. (망 사업자와 사용자간의 계약) 라우터가 미리 정의된 우선순위에 따라 패킷 전송을 조정해준다 반응적 혼잡 제어 네트워크에서 체증이 발생할 때마다 트래픽 양을 감소시킨다. 혼잡 발견 (Ack timeout, Ack loss) -> 혼잡 대응 (통보, 보내는..
Sequence Number와 Ack 내용 기본 설정 Sender : 맨 처음 seq와 Ack는 임의로 설정 Receiver : Seq = Sender의 Ack, Ack = Sender의 Seq + 데이터 양 각 상황 별 반응 (a) : sender는 Ack를 받지 않아도 timeout이 걸리면 재전송 (b) : sender는 Ack가 시간 내에 도착하지 못하면 재전송, receiver는 중복된 패킷을 버리고 누적 Ack전송 누적 Ack란? 전에 받은 패킷과 이어지며 잘 받아진 패킷 중에 가장 마지막으로 들어온 패킷 장점 타이머의 시간 설정이 적당한 경우에는 100번 패킷의 Ack만 도착하더라도 92번 패킷 또한 잘 받았다고 판단한다. because) 92번 패킷을 잘 받지 못했다면 100번에 대한 Ack가 올 수 없다. 따라서 92번에 대한 A..
Pipelining protocol Pipelining protocol이란? 연속적으로 N개까지 계속 보낼 수 있다. Go-back-N : - 누적 Ack (마지막 Ack만 제시간에 오면 완료) - 하나의 타이머로 체크 (보낸 패킷들 중 가장 오래된 timer) - timeout이 걸리면 window 속 패킷들을 모두 다시 보냄. 윈도우 초록색 : packet을 보내고 Ack까지 받음 = 해결 완료 노랑색 : packet은 보냈는데 Ack/Nak는 아직 못 받음 => timer시작은 노랑색 중 가장 오래된 패킷부터 파랑색 : packet 보낼 대기 중 흰색 : packet 보낼 준비도 안 됨 N : 연속으로 보내기 위해 저장하는 장소 동작 윈도우 사이즈는 4이다. sender window 속 파랑색은 packet을 보내고 Ack를 기다리는..
UDP/TCP의 RDT 1.0~3.0 UDP RDT 1.0 하위 네트워크 계층(네트워크 계층-IP)이 신뢰성 있다는 가정 하에 sender(client)는 응용계층에서 데이터를 받아 패킷을 보내고 receiver는 패킷을 기다리다가 받으면 Header를 해체하고 data를 꺼내 응용계층으로 전달해준다. TCP RDT 2.0 (Checksum + Ack/Nak) 하위 네트워크 계층(네트워크 계층-IP)에서 오류가 발생할 수도 있다는 가정 하에 checksum과 ACK, NAK를 이용해 에러 탐지 - no error 응용에서 데이터 오기를 기다림 데이터 받아 receiver로 전달 receiver에서 에러 없으면 sender에게 ACK 전송 sender는 ACK확인하고 확실한 데이터 받기 - error 발생 응용에서 데이터 오기를 기다림 데이터..
Multiplexing + demultiplexing Multiplexing 이란? transport header에 정보를 더하는 것 Application layer 에서 패킷이 소켓에 의해 Transport layer 로 전달 될 때, 여러 소켓의 패킷을 수집하여 하나의 세그먼트에 캡슐화하여 Transport layer로 전달하는 과정 Demultiplexing 이란? Transport layer 에서 세그먼트가 Application layer 로 전달 될 때, 올바른 소켓으로 전달 하는 과정 Segment format UDP는 header가 간단하고, TCP는 header가 복잡하다. (ip주소와 port 번호가 필요) Threaded Server Server host는 웹 서버와 같이 동시에 여러개 통신이 작동할 수 있도록 지원해야 한다. Client..
Transport protocol (TCP/UDP) Transport protocol이란? - 종단 시스템에서만 작동하는 프로토콜 - OS가 이해해준다. - 응용계층에서 들어온 massage를 segment로 쪼개 네트워크 계층으로 보낸다. - 종류 : TCP/UDP Transport layer VS Network layer Transport layer ​network layer 프로세스 사이 논리적 통신 호스트 사이 논리적 통신 Segment를 만듦 Datagram을 만듦 TCP/UDP IP TCP VS UDP 한눈에 보기 : 여기 참고 TCP UDP 연결형(Connection-Oriented): 패킷은 아무 길로 매번 다르게 간다. 따라서 실제 특정 길로 연결 된게 아니라 오류생겨도 확인이 된다는 뜻, 즉 논리적으로 연결되어있다. (= handshak..
FTP (File Transfer Protocol) FTP 통신 파일 사전 체크 명령을 내리는 Control connection(NVT ASCII : 가상 터미널 아스키 코드)과 실제 Data(File) 가 오고가는 Data connection이 있다. Control connection은 Command가 오고간다. Command 종류 - Access Commands - Port defining - 등등 Client-> Server Command: 숫자 Server -> Client Command: 문자 (ASKII) Data Connection 에 들어갈 내용 - File type (ASCII /EBCDIC) (Image/Video) - Data structure - Transmission mode 순서 * Server의 FTP Port 번호는 20. C..
Video + Multimedia (Steaming) Video single data(mega) server? => 불가능. Data Center를 지역별로 나눠라. (압축된 정도에 따라 여러 개 영상을 보유하고 Client의 처리 속도에 따라 맞는 화질을 보내준다.) video를 보내는 방법 1) spatial coding example : 같은 색을 보내면 1px당 RGB값말고 어디부터 어디까지는 이 색이다.만 송신 2) temporal coding example : 완전한 프레임을 i+1로 송신하는 대신 프레임 i와의 차이만 송신 Multimedia 멀티미디어 압축 포맷 - MPEG1 (CD-ROM) : CD에 동영상을 담기 위해 사용 CD-ROM 속도에 맞췄기 때문에 최대 1.5Mbps의 전송률을 지원 표준 해상도는 352x240(30fps)이다. ..