본문 바로가기

IT Tech/Network

[네트워크] TCP Fast Retransmisstion

반응형



• Backgound

TCP spec은 수신부가 순서에 어긋난 세그먼트가 수신하면 자신이 받기를 기대하는 세그먼트에 대한 ACK를 지체 없이 즉각 보내도록 하고 있는데, 이로 인해 송신부는 무엇을 재전송해야 하는가를 빨리 알 수 있다.

 그런데, 특정 segment가 도착하지 않았음을 의미하는 ACK 세그먼트가 온다고 해서 반드시 그 세그먼트가 손실되었음을 의미하지는 않는다. (IP의 특성상 순서가 뒤바뀌어 도착될 수도 있으므로).

 그러나, 같은 ACK 메시지가 중복되어 연속해서 3개(모두 4 개) 오면 이 것은 그 세그먼트가 손실되었다는 강력한 암시로 볼 수 있다.

 또한, 특정 세그먼트가 도착하지 않았음을 의미하는 ACK가 중복해서 연속적으로 온다는 것은 망을 통해 데이터가 계속 흐르고 있음을 의미한다.

따라서, cwnd=1로 하고 slow start부터 다시 시작 하는 것은 지나치게 보수적인 접근 방법임.



• Fast retransmission

특정 데이터 segment에 대해 Timeout 되기 전에 그 세그먼트를 재전송해 달라는 ACK가 4개 연속 수신되면 timeout 되기를 기다리지 말고 해당 세그먼트를 즉시 재전송(fast retransmit) 한다.


==> 패킷 Loss시 TCP 재전송 시간을 줄여줌.



[참고 URL]
http://www.tcpipguide.com/free/t_TCPCongestionHandlingandCongestionAvoidanceAlgorit-3.htm







반응형