This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ring them part of the existing
data segment. The next section describes this. 24.6 PAWS: Protection Against Wrapped Sequence
Consider a TCP connection using the window scale option with the largest possible
window, 1 gigabyte (230). (The largest window is just smaller than this, 65535 x 214, not file:///D|/Documents%20and%20Settings/bigini/Docu.../homenet2run/tcpip/tcp-ip-illustrated/tcp_fut.htm (14 of 20) [12/09/2001 14.47.34] Chapter 24. TCP Futures and Performance 216 x 214, but that doesn't affect this discussion.) Also assume the timestamp option is
being used and that the timestamp value assigned by the sender increments by one for
each window that is sent. (This is conservative. Normally the timestamp increments
faster than this.) Figure 24.8 shows the possible data flow between the two hosts, when
transferring 6 gigabytes. To avoid lots of IO-digit numbers, we use the notation G to
mean a multiple of 1,073,741,824. We also use the notation from tcpdump that J:K
means byte 1 through and including byte K - 1. Time Bytes sent Send
sequence# timestamp Receive A 0G:1G 0G:1G 1 OK B 1G:2G 1G:2G 2 OK but one segment lost and retransmitted C 2G:3G 2G:3G 3 OK D 3G:4G 3G:4G 4 OK E 4G:5G 0G:1G 5 OK F 5G:6G 1G:2G 6 OK but retransmitted segment reappears Figure 24.8 Transferring 6 gigabytes in six 1-gigabyte windows.
The 32-bit sequence number wraps between times D and E. We assume that one segment
gets lost at time B and is retransmitted. We also assume that this lost segment reappears
at time F.
This assumes that the time difference between the segment getting lost and reappearing is
less than the MSL; otherwise the segment would have been discarded by some router
when its TTL expired. As we mentioned earlier, it is only with high-speed connections
that this problem appears, where old segments can reappear and contain sequence
numbers currently being transmitted.
We can also see from Figure 24.8 that using the timestamp prevents this problem. The
receiver considers the timestamp as a 32-bit ex...
View Full Document
- Spring '12