| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TCP Priority Data Transfer: "Urgent" Function (Page 2 of 2) Prioritizing Data For Transfer TCP provides a means for a process to prioritize the sending of data in the form of its urgent feature. To use it, the process that needs to send urgent data enables the function and sends the urgent data to its TCP layer. TCP then creates a special TCP segment that has the URG control bit set to 1. It also sets the Urgent Pointer field to an offset value that points to the last byte of urgent data in the segment. So, for example, if the segment contained 400 bytes of urgent data followed by 200 bytes of regular data, the URG bit would be set and the Urgent Pointer field would have a value of 400. Upon receipt of a segment with the URG flag set to 1, the receiving device looks at the Urgent Pointer and from its value determines which data in the segment is urgent. It then forwards the urgent data to the process with an indication that the data is marked as urgent by the sender. The rest of the data in the segment is processed normally. Since we typically want to send urgent data, well, urgently, it makes sense that when such data is given to TCP, the push function is usually also invoked. This ensures that the urgent data is sent as soon as possible by the transmitting TCP and also forwarded up the protocol stack right away by the receiving TCP. Again, we need to remember that this does not guarantee the contents of the urgent segment. Using the push function may mean the segment contains only urgent data with no non-urgent data following, but again, an application cannot assume that this will always be the case.
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||