Unformatted text preview: I, maps TCP's urgent mode into what sockets calls out-of-band data. What is urgent mode used for? The two most commonly used applications are Tel-net and file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_bulk.htm (19 of 24) [12/09/2001 14.47.22] Chapter 20. TCP Bulk Data Flow Rlogin, when the interactive user types the interrupt key, and we show examples of this use
of urgent mode in Chapter 26. Another is FTP, when the interactive user aborts a file
transfer, and we show an example of this in Chapter 27.
Telnet and Rlogin use urgent mode from the server to the client because it's possible for this
direction of data flow to be stopped by the client TCP (i.e., it advertises a window of 0). But
if the server process enters urgent mode, the server TCP immediately sends the urgent
pointer and the URG flag, even though it can't send any data. When the client TCP receives
this notification, it in turn notifies the client process, so the client can read its input from the
server, to open the window, and let the data flow.
What happens if the sender enters urgent mode multiple times before the receiver processes
all the data up through the first urgent pointer? The urgent pointer just advances in the data
stream, and its previous position at the receiver is lost. There is only one urgent pointer at
the receiver and its value is overwritten when a new value for the urgent pointer arrives from
the other end. This means if the contents of the data stream that are written by the sender
when it enters urgent mode are important to the receiver, these data bytes must be specially
marked (somehow) by the sender. We'll see that Telnet marks all of its command bytes in
the data stream by prefixing them with a byte of 255.
Let's watch how TCP sends urgent data, even when the receiver's window is closed. We'll
start our sock program on the host bsdi and have it pause for 10 seconds after the
connection is established (the -P option), before it reads from the network. This lets the other
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12