네트워크 기초
TCP의 흐름 제어에서 수신 측이 윈도 크기(수신 윈도)를 송신 측에 알리는 목적으로 올바른 것은?
- A네트워크 혼잡을 감지하여 경로상의 라우터가 전달 속도를 낮추게 한다
- B세그먼트 하나로 보내는 데이터의 최대 길이를 정하여 IP에서의 분할을 피한다
- C수신 측 버퍼가 넘치지 않도록, 확인 응답(ACK)을 기다리지 않고 보내도 되는 데이터의 양을 송신 측에 알린다
정답과 해설 보기
정답: C. 수신 측 버퍼가 넘치지 않도록, 확인 응답(ACK)을 기다리지 않고 보내도 되는 데이터의 양을 송신 측에 알린다
TCP의 송신 측은 확인 응답(ACK)을 기다리지 않고 여러 세그먼트를 한꺼번에 보낼 수 있습니다. 그러나 수신 측 애플리케이션이 데이터를 읽는 속도가 느리면 수신 버퍼가 넘쳐 버립니다. 그래서 수신 측은 ACK를 돌려보낼 때마다 버퍼의 빈 공간을 윈도 크기로 알리고, 송신 측은 아직 확인되지 않은 데이터가 이 양을 넘지 않도록 보냅니다. 빈 공간이 0이 되면 송신 측은 공간이 생길 때까지 기다립니다. 이것이 흐름 제어로, 송신 측과 수신 측 두 당사자 사이의 조정입니다. 네트워크 혼잡에 맞춰 보내는 양을 바꾸는 것은 별개의 구조인 혼잡 제어이며, 세그먼트 하나의 최대 길이는 연결 시에 MSS로 알립니다.