TCP의 혼잡제어(congestion control)
·
개발이야기
TCP 연결이 맺어진 두 호스트 사이에는 많은 라우터(router)들이 존재한다. 라우터의 저장공간(버퍼, buffer)은 한정되어 있다. 라우터가 다음 라우터로 패킷을 내보내는 속도보다, 라우터에 패킷이 들어오는 속도가 더 빠르면 버퍼는 점점 차오른다. 버퍼가 가득차있는데 들어온 새로운 버퍼는 모두 드랍(drop)된다. 이런 혼잡한 상황(congestion)에서도 TCP는 데이터를 유실없이 전송하면서도, 통신 채널을 최대한 효율적으로 활용해야 하는 목표가 있다.TCP는 전송 계층(transport layer)의 프로토콜인 한편, 라우터의 기능은 그 하위인 네트워크 계층(network layer)에 그친다. TCP가 혼잡 상황을 알 수 있는 방법은 두 가지가 있다. 네트워크 계층에서 직접 혼잡 상황을 알..