This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ion Figure 18.20 TCP options.
Every option begins with a 1-byte kind that specifies the type of option. The options with a kind
of 0 and 1 occupy a single byte. The other options have a len byte that follows the kind byte.
The length is the total length, including the kind and len bytes.
The reason for the no operation (NOP) option is to allow the sender to pad fields to a multiple
of 4 bytes. If we initiate a TCP connection from a 4.4BSD system, the following TCP options
are output by tcpdump on the initial SYN segment:
<mss 512,nop,wscale 0,nop,nop,timestamp 146647 0>
The MSS option is set to 512, followed by a NOP, followed by the window scale option. The
reason for the first NOP is to pad the 3-byte window scale option to a 4-byte boundary.
Similarly, the IO-byte timestamp option is preceded by two NOPs, to occupy 12 bytes, placing
the two 4-byte timestamps onto 4-byte boundaries.
Four other options have been proposed, with kinds of 4, 5, 6, and 7 called the selective-ACK and echo options.
We don't show them in Figure 18.20 because the echo options have been replaced with the timestamp option,
and selective ACKs, as currently defined, are still under discussion and were not included in RFC 1323. Also,
the T/TCP proposal for TCP transactions (Section 24.7) specifies three options with kinds of 11, 12, and 13. 18.11 TCP Server Design
We said in Section 1.8 that most TCP servers are concurrent. When a new connection request
arrives at a server, the server accepts the connection and invokes a new process to handle the
new client. Depending on the operating system, various techniques are used to invoke the new
server. Under Unix the common technique is to create a new process using the fork function.
Lightweight processes (threads) can also be used, if supported.
What we're interested in is the interaction of TCP with concurrent servers. We need to answer
the following questions: how are the port numbers handled when a server accepts a new
connection request from a c...
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