Test Description:
These tests show the TCP retransmission timeout behavior.
-
Test A:
-
After the connection is established, the 13th data packet (from Server)
are dropped. Because it's the last packet in the buffer, no fast retransmission
can be performed. It can only be retransmitted after a timeout.
-
Test B:
-
After the connection is established, the 11th and 13th data packets sent
by the Server is dropped. The timeout triggered the retransmission of the
11th packet. The 13th packet is sent after the ACK is received.
-
Test C:
-
After the connection is established, 3 consecutive data packets are dropped.
The timeout triggered the retransmission of the 11th packet. The 12th and
13th packet is sent after the ACK is received.
Test Topology
server.............router...............client
8Mbs 800kbs
6(0)--------------0(1)0(0)---------------7(0)
| 50ms 300ms
tcpdump
SSF Configuration Test File:
-
basic5a.dml
-
basic5b.dml
-
basic5c.dml
SSF Tcpdump File:
-
basic5a.tcpdump
-
basic5b.tcpdump
-
basic5c.tcpdump
Test A:
(EPS
format plot for test A) |
 |
| Test A sequence plot and Retransmission timeout backoff and RTT measurement |
-
The SYN packet (blue diamond) is covered by the SYN+ACK packet(red diamond)
and does not show on the plot. It's because the tcpdump is on the Server
side. The time to receive SYN is the same as the time to send SYN+ACK.
They are overlapped.
|
-
The RTO counter dropping to 0 happens only when there is no packet outside
at the moment. When a timeout will happen instead of setting RTO to 0 we
set it to the value after backoff.
|
-
During the retransmission, there should no RTT measurement according to
Karn's algorithm.
|
-
Note that there are totally 13 packets, no new packet is sent after the ACK for
retransmission is received.
|
Test B:
(EPS
format plot for test B) |
 |
| Test B sequence plot, Retransmission timeout backoff and RTT measurement |
|
Test C:
(EPS
format plot for test C) |
 |
| Test C sequence plot, Retransmission timeout backoff and RTT measurement |
|