1 / 15

TCP Flow Control (nagle’s algorithm)

TCP Flow Control (nagle’s algorithm). 오 남 호 분산 처리 실험실 ( nhooh@cs.chonbuk.ac.kr). TCP Flow Control. TCP uses a specialized sliding window mechanism to solve important problems efficient transmission and flow control Efficient transmission

sveta
Download Presentation

TCP Flow Control (nagle’s algorithm)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실 (nhooh@cs.chonbuk.ac.kr)

  2. TCP Flow Control • TCP uses a specialized sliding window mechanism to solve important problems • efficient transmission and flow control • Efficient transmission • TCP window mechanism make it possible to send multiple segments before an ack arrives • increasing total throughput • Flow control • allowing the receiver to restrict transmission until it has sufficient buffer space to accommodate more data -2-

  3. 1 2 3 4 5 6 7 8 9 10 11 … TCP Flow Control (I) • TCP Sliding window • first pointer • separating octets that have been sent and acknowledged from octets yet to be acknowledged • second pointer • define the highest octet in the sequence that can be sent before more acknowledgements are received • third pointer • Separate those octet that have already been sent from those octets that have not been sent -3-

  4. TCP Flow Control (II) • Difference between the TCP sliding window protocol and the simplified sliding window protocol • TCP allows the window size to vary over time • each ack contain window advertisement • specifying the receiver’s current buffer size • Increased window advertisement • sender increases the size of its sliding window and proceeds to send octets that have not been acknowledged • Decreased window advertisement • sender decreases the size of its window and stops sending octets beyond the boundary -4-

  5. TCP Flow Control (III) -5-

  6. TCP Flow Control (IV) • The advantage of using a variable size window is that it provides flow control as well as reliable transfer • if the receiver’s buffer begin to become full • it cannot tolerate more packets, so it sends a smaller window advertisement • in the extreme case, the receiver advertises a window size of zero to stop all transmissions • Having a mechanism for flow control is essential in an internet environment • where machines of various speeds and sizes communicate through networks and routers of various speeds and capacities -6-

  7. TCP Flow Control (V) -7-

  8. TCP Flow Control Problems (I) • The small packet problem • occurs when the source sends many small packets • The silly window syndrome • occurs when the destination reads a small number of bytes at a time from its buffer -8-

  9. TCP Flow Control Problems (II) • Consider an interactive application where the source host sends each keystroke one at a time to the destination host • each keystroke is 1 byte, after adding TCP/IP overhead, a 41 byte packet is generated • when the destination receives the packet, it returns a 40 byte ack. packet • when the destination removes the byte from its buffer, a 40 byte window update packet is sent • some applications echo the types character back to the source, creating another 41-byte packet • The small packet problem seriously degrades throughputs -9-

  10. TCP Flow Control Problems (III) -10-

  11. Avoiding silly window Syndrome (I) • Sending machine avoids transmitting a small amount of data in each segment • Receiving machine avoids sending small increments in window advertisement that can trigger small data packet • Receive-side silly window avoidance • before sending an updated window advertisement after advertising a zero window • wait for space to become available that is either at least 50% of the total buffer size or equal to a maximum sized segment -11-

  12. Avoiding silly window Syndrome (II) • Two approaches have been taken to implement silly window avoidance on the receive side • in the first approach • TCP acknowledges each segment that arrives, • but does not advertise an increase in its window until the window reaches the limits specified by the silly window avoidance • in the second approach • TCP delay sending an acknowledgement when silly window avoidance specifies that the window is not sufficiently large to advertise -12-

  13. Avoiding silly window Syndrome (III) • Send-side silly window avoidance • when a sending application generates additional data to be sent over a connection for which previous data has been transmitted but not acknowledge • place the new data in the output buffer as usual, but don’t send additional segments until there is sufficient data to fill a maximum-sized segment • if still waiting to send when an acknowledgement arrives, • send all data that has accumulated in the buffer -13-

  14. How TCP solves the SPP • Nagle’s algorithm • when data is sent one byte at a time, send only the first byte • buffer all remaining bytes until the first one is acknowledged • after receiving the ack., send all the buffered bytes in one packet • This algorithm reduces the amount of bandwidth required to support interactive applications -14-

  15. How TCP solves the SPP (I) -15-

More Related