Computer Networks (CS425) : Transport Layer Protocol (Continued)
Computer Networks (CS425) : Transport Layer Protocol (Continued)
1/4
11/8/2014
2/4
11/8/2014
the receiver that the window size should be interpreted by shifting it left by specified number
of bits. This header option allows window size up to 230.
Data : This can be of variable size. TCP knows its size by looking at the IP size header.
3/4
11/8/2014
transmission.
4. Congestion Avoidance : This procedure is used at the onset of congestion to minimize its effect
on the network. When transmission is to be scaled up it should be done in such a way that it does'nt
lead to congestion again. Following algorithm is used .
1. At loss of a segment SET C_Win=1
2. SET SLOW START THRESHOLD (SST) = Send_Win / 2
3. Send segment
4. If ACK Received, C_Win++ till C_Win <= SST
5. else for each ACK C_Win += 1 / C_Win
5. Time out and Retransmission : Following two schemes are used :
1. Fast Retransmit
2. Fast Recovery
When a source sends a segment TCP sets a timer. If this value is set too low it will result in many
unnecessary treransmissions. If set too high it results in wastage of banwidth and hence lower
throughput. In Fast Retransmit scheme the timer value is set fairly higher than the RTT. The sender
can therefore detect segment loss before the timer expires. This scheme presumes that the sender
will get repeated ACK for a lost packet.
6. Round Trip Time (RTT) : In Internet environment the segments may travel across different
intermediate networks and through multiple routers. The networks and routers may have different
delays, which may vary over time. The RTT therefore is also variable. It makes difficult to set
timers. TCP allows varying timers by using an adaptive retransmission algorithm. It works as
follows.
1. Note the time (t1) when a segment is sent and the time (t2) when its ACK is received.
2. Compute RTT(sample) = (t 2 - t 1 )
3. Again Compute RTT(new) for next segment.
4. Compute Average RTT by weighted average of old and new values of RTT
5. RTT(est) = a *RTT(old) + (1-a) * RTT (new) where 0 < a < 1
A high value of 'a' makes the estimated RTT insensitive to changes that last for a short time
and RTT relies on the history of the network. A low value makes it sensitive to current state
of the network. A typical value of 'a' is 0.75
6. Compute Time Out = b * RTT(est) where b> 1
A low value of 'b' will ensure quick detection of a packet loss. Any small delay will however
cause unnecessary retransmission. A typical value of 'b' is kept at .2
Image References
http://plato.acadiau.ca/courses/comp/Eberbach/comp4343/lectures/transport/Com-TCP/f20_6.gif
back to top
Prev| Next | Index
http://www.cse.iitk.ac.in/users/dheeraj/cs425/lec15.html
4/4