Unformatted text preview: eractive Data Flow TCP Interactive Data Flow
The previous chapter dealt with the establishment and termination of TCP connections.
We now examine the transfer of data using TCP.
Studies of TCP traffic, such as [Caceres et al. 1991], usually find that on a packet-count
basis about half of all TCP segments contain bulk data (FTP, electronic mail, Usenet
news) and the other half contain interactive data (Telnet and Rlogin, for example). On a
byte-count basis the ratio is around 90% bulk data and 10% interactive, since bulk data
segments tend to be full sized (normally 512 bytes of user data), while interactive data
tends to be much smaller. (The above-mentioned study found that 90% of Telnet and
Rlogin packets carry less than 10 bytes of user data.)
TCP obviously handles both types of data, but different algorithms come into play for
each. In this chapter we'll look at interactive data transfer, using the Rlogin application.
We'll see how delayed acknowledgments work and how the Nagle algorithm reduces the
number of small packets across wide area networks. The same algorithms apply to
Telnet. In the next chapter we'll look at bulk data transfer. 19.2 Interactive Input
Let's look at the flow of data when we type an interactive command on an Rlogin
connection. Many newcomers to TCP/IP are surprised to find that each interactive
keystroke normally generates a data packet. That is, the keystrokes are sent from the
client to the server 1 byte at a time (not one line at a time). Furthermore, Rlogin has the
remote system (the server) echo the characters that we (the client) type. This could
generate four segments: (1) the interactive keystroke from the client, (2) an
acknowledgment of the keystroke from the server, (3) the echo of the keystroke from the
server, and (4) an acknowledgment of the echo from the client. Figure 19.1 shows this
flow of data. file:///D|/Documents%20and%20Settings/bigini/Docum...i/homenet2run/tcpip/tcp-ip-illustrated/tcp_int.htm (1 of...
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