2-2 4

혼잡제어의 관리(Congestion Control)

전에는 네트워크가 혼잡해짐에 따라 라우터 버퍼들의 오버플로우로부터 발생하는 손실에 대해 알아봤다. 이는 네트워크혼잡(특정한 트랜스포트 계층 세그먼트의 손실)의 증상은 다루지만, 네트워크 혼잡 원인(높은 전송률로 데이터를 전송하려는 너무나 많은 출발지)을 다루지 않는다. 이를 처리하기 위해 네트워크 혼잡을 일으키는 송신자를 억제하는 메커니즘이 필요하다. 혼잡의 원인과 비용 Scenario 1: 2개의 송신자와 무한 버퍼를 갖는 하나의 라우터 호스트 A의 애플리케이션이 λin바이트/초의 평균 전송률로 연결에 데이터를 보내고 있다고 가정하자. 첫 번째 시나리오에서 호스트 A가 라우터에게 제공하는 속도는 λin바이트/초이다. 호스트 B도 비슷한 방법으로 동작하며, λin바이트/초의 전송률로 많은 데이터를 전송한..

연결지향형 트랜스포트 : TCP

TCP 연결 TCP는 두 프로세스가 서로 '핸드셰이크'를 먼저 해야 하므로 연결지향형(connection-oriented)이다. 즉, 데이터 전송을 보장하는 파라미터들을 각자 설정하기 위한 사전 세그먼트들을 보내야 한다. 두 호스트 사이에 3개의 세그먼트가 보내지므로, 이 연결 설정 절차는 흔히 '세 방향' 핸드셰이크(three-way-handshake)라 부른다. TCP는 TCP 헤더와 클라이언트 데이터를 하나로 만들어 TCP 세그먼트를 형성한다. 세그먼트는 네트워크 계층에 전달되며, 네트워크 계층 IP 데이터그램 안에 각각 캡슐화된다. TCP 세그먼트 구조 TCP 세그먼트는 헤더 필드와 데이터 필드로 구성되어 있다. 데이터 필드는 애플리케이션 데이터를 담는다. MSS는 세그먼트의 데이터 필드의 크기를..

파이프라인된 신뢰적 데이터 전송 프로토콜

앞서 배운 rdt3.0은 기능적으로 정확한 프로토콜이다. 하지만 핵심적인 성능 문제는 전송-후-대기(stop-and-wait) 포로토콜이라는 점이다. 아래의 그림처럼 하나의 호스트는 미국의 서부에 위치하고 다른 하나는 동부에 위치한 두 종단 호스트의 가상의 경우를 고려하자. 두 종단 시스템 사이의 광속 왕복 전파 지연(RTT)은 대략 30msec이다. 이들이 1Gbps(초당 109비트) 전송률(R)을 가진 채널에 의해 연결되어 있다고 가정하자. ttrans = L/R = (8,000bits/packet) /(109bits/sec) = 8μsec 8μsec에서 마지막 비트가 송신 측의 채널로 들어가고 패킷은 15msec 동안 대륙을 횡단하고 t = RTT/2 + L/R = 15.008msec에서 수신 측으..

신뢰적인 데이터 전달 프로토콜의 구축 - rdt 1.0/2.0/2.1/2.2/3.0

rdt1.0: reliable transfer over a reliable channel • 이미 보내는 채널이 신뢰성이 있다. -> no bit error / no loss of packet 변화를 일으키는 이벤트(사건)는 변화를 표기하는 평행선 위에 나타낸다. 그리고 이벤트가 발생했을 떄 취해지는 액션(action, 행동)은 평행선 아래에 나타낸다. rdt의 송신 측은 rdt_send(data) 이벤트에 의해 상위 계층으로부터 데이터를 받아들이고 데이터를 포함한 패킷을 생성한다. 그리고 패킷을 채널로 송신한다. 실제로 rdt_send(data) 이벤트는 상위 계층 애플리케이션의 프로시저 호출에 의해 발생한다. rdt2.0: 비트 오류가 있는 채널 상에서의 신뢰적 데이터 전송 • 더 실질 모델은 패킷 ..