CCNAHelp.Com |
|
Archives |
7 layer OSI ModelThe Transport Layer:Now if you remember I had mentioned that TCP has this feature of "congestion control". Now congestion control if you ask me is the numero uno problem in networking. The resources or network components which connect the client to the server (it can be a myriad of routers, switches and links) are inundated by data from all directions from several other clients. In a poorly managed network there is a high probability of network congestion wherein the network components or the links are unable to handle/process the high amount of data. The only option under these circumstances would be for the network component to drop the data. For example if the bandwidth on a link, connecting the client to the server, is choked up (poor management or unexpected burst traffic could be the reason) in that case any further data would be dropped blindly. The server would be bothered in this case so how is the client to know about the data loss, quite simple it wouldn't receive an ACK for the data sent so it would assume that the data has been lost due to congestion (which is a very logical conclusion). The client would try resending the data and would pray that it succeeds in reaching the server. It would go on resending until it reaches a threshold after which it declares that the other end is not reachable and terminates the connection (We will be discussing connection termination in a short while). Now the question is that if the window size is 8000 bytes would the sender. keeping re-sending 8000 bytes every time it fails to get an ACK for that window? The answer is no it won't. TCP is smart enough to understand that since the transmission failed there must be a network congestion along the path so it performs a function called slow start. If the transmission of a window of size 8000 bytes fails then the system will not reattempt to send 8000 bytes again but would try retransmitting 4000 of the 8000 bytes ( i.e. the window size is now reduced to half the previous value). If the transmission of these new window of 4000 bytes also fails then it transmits 2000 bytes of the initial 8000 bytes and it goes on this way till the TCP session times out. But in case the system receives an ACK for the 2000 bytes sent then it immediately assumes that the network congestion has clear out and sends the next window with the size of 4000 bytes, if ACK is received for this window (6000 bytes of the initial 8000 bytes have now been sent) then it proceeds to change the window size to 8000 bytes again and sends out the window (which would have 2000 bytes from the previous window and 6000 new bytes). Continue... |
|
Home | Advertise | Mail | Contact Form | Legal Notice | Useful Resources
Copyrights © 2006, CCNAhelp.com |
|