donchanee

TCP Reno with Example. 본문

Computer Network

TCP Reno with Example.

donchanee 2018. 6. 7. 23:08
728x90

The TCP congestion-avoidance algorithm is the primary basis for congestion control in the Internet. Among the many algorithms of TCP connection control, I will explain TCP Reno. Simply says, if there are N redundant ACK, TCP Reno transmits the segment immediately and cut the Congestion Window size in half to perform the Congestion Avoidance with Fast Recovery Mode. However, if packet loss is high, the Congestion Window is reduced and then decreased again, but then the TCP Timeout is reached and starts with a slow-start. TCP Reno implements an algorithm called fast recovery. A fast retransmit is sent, half of the current CWND is saved as ssthresh and as new CWND, thus skipping slow start and going directly to the congestion avoidance algorithm. Using the Slow Start + Avoidance mode is poor efficient if cwnd is initialized to 1 in case of congestion. (TCP Tahoe). Thus, TCP Reno does not make cwnd to 1 when a congestion situation occurs, but resets it to a reasonable value.

 When packet 1 is lost and ACK 1 reaches 3 with the redundant ACK, Fast Retransmit is applied to TCP Reno. Consider it as congested situation and then reset it to sstresh = cwnd / 2 (8 / 2 = 4) and cwnd = sstresh + 3 (4+3 = 7) in TCP Reno. As shown in the figure, cwnd will continue to increase by 1 after cwnd = 7, with packet 1 retransmitted and with a redundant ACK sent earlier. It then receives a new ACK 9 instead of a redundant ACK, initializing it with cwnd = sstresh (4), leaving Fast Recovery mode and entering the Congestion Avoidance mode. If a new ACK is not received and time-out is taken, then sstresh = cwnd / 2 and cwnd is initialized to 1 and goes back to Slow Start mode.



'Computer Network' 카테고리의 다른 글

Web Caches & Web Cookies  (0) 2018.06.07
TCP Flow Control Mechanism  (0) 2018.06.07
BGP ( Border Gateway Protocols )  (0) 2018.06.07
IPv6  (0) 2018.06.07
DNS ( Domain Name Server )  (0) 2018.06.02