Adding Explicit Congestion Notification (ECN) Capability
to TCP's SYN/ACK Packets
-
Adding Explicit Congestion Notification (ECN) Capability to TCP's
SYN/ACK Packets,
A. Kuzmanovic, S. Floyd, and K.K. Ramakrishnan,
Internet-draft draft-ietf-tcpm-ecnsyn-05.txt, work-in-progress,
February 2008.
Local copy:
(text,
postscript).
ECN web page.
Forwarded to the IESG.
-
The earlier SIGCOMM paper:
The Power of Explicit Congestion Notification
(PDF),
A. Kuzmanovic, SIGCOMM, August 2005.
- NS2, two-way TCP:
-
To enable
ECN-Capability for SYN/ACK packets in two-way TCP
(tcp-full) in ns-2:
Agent/TCP/FullTcp set ecn_syn_ true
-
To have the responder wait a round-trip time if a SYN/ACK packet
is ECN-marked:
Agent/TCP/FullTcp set ecn_syn_wait_ true
-
NS2 validation tests with two-way TCP (in tcl/test):
-
To run test: ./test-all-ecn-ack synack1_fulltcp
Guide: SYN/ACK packet dropped, FullTCP.
The TCP initiator waits three seconds before resending the SYN packet.
-
To run test: ./test-all-ecn-ack synack2_fulltcp
Guide: SYN/ACK packet marked, FullTCP.
Both TCP end nodes are sending data packets.
Initially, the TCP initiator sends two data packets, with a
responding data packet from the TCP responder.
-
To run test: ./test-all-ecn-ack synack2a_fulltcp
Guide: SYN/ACK packet marked, FullTCP, wait.
With ecn_syn_wait_ set to true, the TCP responder delays in sending data
packets, but it doesn't delay in sending ACK packets.
-
NS2, one-way TCP:
-
To enable ECN-Capability for SYN/ACK packets in one-way TCP in ns-2:
Agent/TCPSink set ecn_syn_ true
-
NS2 validation tests with one-way TCP (in tcl/test):
-
To run test: ./test-all-ecn-ack synack1
Guide: SYN/ACK packet dropped.
-
To run test: ./test-all-ecn-ack synack2
Guide: SYN/ACK packet marked.
-
Simulations:
The scripts for the simulations in
draft-ietf-tcpm-ecnsyn will be added here by
March 21.