| 
 | Please Whitelist This Site?I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
 If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads. If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK. Thanks for your understanding! Sincerely, Charles KozierokAuthor and Publisher, The TCP/IP Guide
 | 
 
 
   
  
    | 
  
| NOTE: Using software to mass-download the site degrades the server and is prohibited. If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.
 |  |  | 
| 
 
 
 | 
 
 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. |  Key Concept: To deal with situations where a certain part of a data stream needs to be sent with a higher priority than the rest, TCP incorporates an urgent function. When critical data needs to be sent, the application signals this to its TCP layer, which transmits it with the URG bit set in the TCP segment, bypassing any lower-priority data that may have already been queued for transmission.
 | 
 
   
 
 
 | 
 | If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support! |  
|  | 
 | 
 
 
 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.
 |