114 - 238 CCNA 2: Routers and Routing Basics v3.1 Instructor Guide – Module 10 Copyright © 2004, Cisco Systems, Inc.
10.1.5 Sequencing numbers
Since TCP breaks data into segments, the receiver must reassemble the data segments once
all of the data is received. TCP issues a sequence to the data segments so that the receiver
can properly reassemble the bytes into their original form. Emphasize that this is important
because data may arrive out of order to the destination. The sequence numbers indicate the
correct order in which to put the bytes back together. Also mention that UDP does not use
sequencing numbers. Sequencing numbers also act as reference numbers so that the receiver
knows if it has received all of the data and can identify any missing pieces so the sender can
retransmit them. Explain that this offers increased efficiency since the sender only needs to
retransmit the missing segments.
10.1.6 Positive acknowledgements
A common step in sliding windows, synchronization, and data sequencing is acknowledgment.
An acknowledgment field follows the sequence number field. TCP uses acknowledgement and
retransmission to control data flow and confirm data delivery. This is a good time to stress the
main difference between IP and TCP. IP has no verification method to determine that data has
reached its destination. Positive acknowledgment and retransmission (PAR) is a common
technique that is used to provide reliability. With PAR, the source sends a packet, starts a
timer, and waits for an ACK before the next packet is sent. If the timer expires, the source
retransmits the packet and starts the timer again. TCP uses expectational acknowledgments,
in which the acknowledgement number refers to next octet that is expected. Windowing is also
a flow-control mechanism. If there is a window size of three, the source can send three octets
to the destination. It then waits for an acknowledgment. When it is received, another three
octets are sent. If the data is not received due to overflowing buffers, no acknowledgment is
sent. Therefore, it is known that the data must be retransmitted and the transmission rate
should be slowed.
To slow the transmission rate, the window size can be reduced. The transmitting host will
transmit a smaller amount and wait on the acknowledgement before transmitting more
segments. Make sure the students understand the differences between these processes. This
will help them understand the entire TCP process. One final but very important concept is that
sequencing and acknowledgement numbers are handled on a session-by-session basis. Each
session between hosts uses its own unique set of sequencing and acknowledgement
numbers.
10.1.7 UDP operation
The TCP/IP protocol stack contains many different protocols. Some are:
IP – provides connectionless unreliable transmission at Layer 3
TCP – provides connection-oriented reliable transmission at Layer 4
UDP – provides connectionless unreliable transmission at Layer 4
Both TCP and UDP use IP as their underlying protocol. TCP must be used when applications
need to guarantee the delivery of a packet. When applications do not need a guarantee, UDP
is used. It is a faster, connectionless delivery mechanism. Stress to the students that UDP
does not use windowing or acknowledgments and does not require sequencing numbers.
Application layer protocols provide more reliability. Since the UDP header is smaller than the
TCP header, UDP has less overhead.