This preview shows page 1. Sign up to view the full content.
Unformatted text preview: identifies the byte in the stream of data from the sending TCP to the
receiving TCP that the first byte of data in this segment represents. If we consider the stream
of bytes flowing in one direction between two applications, TCP numbers each byte with a
sequence number. This sequence number is a 32-bit unsigned number that wraps back
around to 0 after reaching 232 - 1.
When a new connection is being established, the SYN flag is turned on. The sequence
number field contains the initial sequence number (ISN) chosen by this host for this
connection. The sequence number of the first byte of data sent by this host will be the ISN
plus one because the SYN flag consumes a sequence number. (We describe additional
details on exactly how a connection is established and terminated in the next chapter where
we'll see that the FIN flag consumes a sequence number also.)
Since every byte that is exchanged is numbered, the acknowledgment number contains the
next sequence number that the sender of the acknowledgment expects to receive. This is
therefore the sequence number plus 1 of the last successfully received byte of data. This
field is valid only if the ACK flag (described below) is on.
Sending an ACK costs nothing because the 32-bit acknowledgment number field is always
part of the header, as is the ACK flag. Therefore we'll see that once a connection is
established, this field is always set and the ACK flag is always on.
TCP provides a full-duplex service to the application layer. This means that data can be
flowing in each direction, independent of the other direction. Therefore, each end of a
connection must maintain a sequence number of the data flowing in each direction.
TCP can be described as a sliding-window protocol without selective or negative
acknowledgments. (The sliding window protocol used for data transmission is described in
Section 20.3.) We say that TCP lacks selective acknowledgments because the
acknowledgment number in the TCP header means that the sender has successfully received
up through but not including that byte. There is currently no way to acknowledge selected
pieces of the dat...
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