2017-11-27 14 views
2

ACK를 보내기 전에 다른 수신 순서 패킷을 기다리는 동안 TCP 수신자가 500ms를 유지한다는 것을 알고 있습니다. 또한 TCP 수신자는 갭이 감지되면 즉시 중복 ACK를 보냅니다. 그러나 다음 시나리오에서 수신자 동작에 대해 잘 모르겠습니다.간격 형성의 TCP 수신자 동작

발신자가 크기가 1000 바이트 인 패킷을 전송한다고 가정합니다. 시퀀스 번호가 2000, 3000, 4000 인 패킷이 전송됩니다.

수신자에게 seqNum 3000 패킷은 손실됩니다. 나머지 두 패킷은 500ms 간격으로 수신됩니다.

수신자는 seqNum 2000의 패킷을 수신하면 seqNum 3000의 패킷을 기다리지 만 대신 seqNum 4000의 패킷을 수신합니다.

제 질문은 수신자가 seqNum 3000의 ACK 패킷을 몇 번 발사 할 것입니까? 1 또는 2입니까?

답변

1

시스템이 선택적 ACK를 지원하면 (가장 가능성이 높음) 수신 확인 번호가 낮은 (마지막으로 본) ACK 응답이 표시되지만 선택 ACK 옵션 세트는 나중에있는 세그먼트를 나열합니다 보았다. 이렇게하면 보낸 사람이 3000 이상부터 모든 항목 대신 누락 된 부분 만 다시 보낼 수 있습니다.