
TCP의 작동방식에 대하여(TCP Ack Generation)CS/Network2023. 11. 7. 19:05
Table of Contents
아~ 우리 교수님이 별표를 50만개 치라고 했던 부분입니다.
그리고, 해석이 모호해서 한글판 책을 사게 된 계기이기도 합니다.
우선, TCP의 재전송이 일어나는 상황 두 가지를 알고 갑시다.
1. Timeout events - Sender에서 보내자 마자 동작시킨 타이머가 만료된 경우겠죠.
2. Duplicated ACKs - 중복된 Sequence Number를 가진 ACK을 받으면, 재전송 한다는 뜻입니다: 중복된 상태로 3번 오면 Fast Retransmission을 합니다.
TCP ACK generation
차근차근 해석해보겠습니다.
Receiver에서 발생한 Event | 그에 대응하는 Receiver의 Action |
여태까지 모든 Seg가 잘 도착했습니다. 그리고 방금 온 Seg도 알맞은 순서의 Seg가 왔어요. |
ACK을 Delay 시킵니다. 최대 500ms 기다려요. 만약 다음 Seg가 안오면, ACK를 보내요. |
위의 상황처럼, 하나의 Seg는 ACK가 딜레이 되고 있는데 그 다음 순서의 Seg가 왔어요. |
즉각, 두 Seg에 대응하는 하나의 ACK을 보내요. ACK 하나로 Seg 두 개를 퉁칩니다. |
순서에 맞지 않는(예상보다 번호가 큰) Seg가 왔어요. Gap이 생겼어요. ex) [1,2, , ,5] |
즉각적으로 중복된 ACK를 보내는데, 받아야 할 Seg의 번호를 담고 있는 ACK를 보냅니다. ex) ACK3 |
Gap을 부분적으로 혹은 완전히 채우는 Seg가 왔어요. | 해당 Seg가 Gap의 최소 (ex: 3)를 나타내는 Seg 라면, 즉각적으로 ACK를 보내요. |
특히 오른쪽 하단 부분이 애매하죠?
예시를 들어줬으면 좋았을텐데~
'CS > Network' 카테고리의 다른 글
[Network] 라우터의 내부를 뜯어보자. (0) | 2023.11.24 |
---|---|
[Network] Network Layer, 포워딩과 라우팅을 알아보자. (1) | 2023.11.24 |
Pipeline Protocol: GBN과 SR에 대하여 (0) | 2023.11.07 |
Packet Switching이란? (0) | 2023.09.19 |
Network 기본 개념들 (0) | 2023.09.19 |
@찐빵1 :: 위기주도학습
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!