This preview shows page 1. Sign up to view the full content.
Unformatted text preview: n.htm (1 of 6) [12/09/2001 14.47.10] Chapter 17. TCP: Transmission Control Protocol q q q q q
q When TCP sends a segment it maintains a timer, waiting for the other end to
acknowledge reception of the segment. If an acknowledgment isn't received in time,
the segment is retransmitted. In Chapter 21 we'll look at TCP's adaptive timeout and
When TCP receives data from the other end of the connection, it sends an
acknowledgment. This acknowledgment is not sent immediately, but normally
delayed a fraction of a second, as we discuss in Section 19.3.
TCP maintains a checksum on its header and data. This is an end-to-end checksum
whose purpose is to detect any modification of the data in transit. If a segment arrives
with an invalid checksum, TCP discards it and doesn't acknowledge receiving it. (It
expects the sender to time out and retransmit.)
Since TCP segments are transmitted as IP datagrams, and since IP datagrams can
arrive out of order, TCP segments can arrive out of order. A receiving TCP
resequences the data if necessary, passing the received data in the correct order to the
Since IP datagrams can get duplicated, a receiving TCP must discard duplicate data.
TCP also provides flow control. Each end of a TCP connection has a finite amount of
buffer space. A receiving TCP only allows the other end to send as much data as the
receiver has buffers for. This prevents a fast host from taking all the buffers on a
slower host. A stream of 8-bit bytes is exchanged across the TCP connection between the two
applications. There are no record markers automatically inserted by TCP. This is what we
called a byte stream service. If the application on one end writes 10 bytes, followed by a
write of 20 bytes, followed by a write of 50 bytes, the application at the other end of the
connection cannot tell what size the individual writes were. The other end may read the 80
bytes in four reads of 20 bytes at a time. One end puts a stream of bytes into TCP...
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