TCP_2

JSG·2024년 3월 28일
0

TCP 통신 예시

  • ACK가 손실된 경우
    • 응답 패킷이 손실된 후, Timeout이 발생하여 재전송한다.
  • ACK가 늦게 도착한 경우
    • Seq92 패킷의 ACK이 Timeout 이후 도착하여 재전송하였다.
    • Seq100 패킷도 잘 받았기 때문에, Seq92를 재전송 받고 응답으로 Ack120을 보낸다.
  • ACK가 손실되었지만, Timeout이 발생하기 전에 다음 ACK패킷을 받은 경우
    • Ack100이 손실되었지만, Ack120을 받았으므로 누적ACK에 의해 119까지 잘 받았다고 인식하며 재전송하지 않는다.

빠른 재전송

  • Timeout이 발생했을 때 재전송을 하면 그 주기가 길어 지연이 많이 된다.
  • 따라서 Sender는 중복된 ACK가 3번 올 경우, 다음 Seq 패킷을 받지 못했다고 인식하고 해당 Seq 패킷을 재전송한다.
    • ACK20이 3회 중복되어 손실되었다고 판단, Seq20을 재전송하였다.
    • 또한 ACK30도 중복되어 Seq30도 재전송하였다.
  • Timeout이 발생하는 경우는 중복 ACK 패킷조차 계속 오지 않았다는 뜻이므로 Timeout이 중복ACK보다 더 심각하다고 할 수 있다.

0개의 댓글

관련 채용 정보