[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] ECN!!!



>as far as i understand,the sender
>sets the ecn capable flag(N)  and the receiver sets the ecn echo
>flag(C) depending on the presence of congestion experienced flag.

Oops.  I have corrected the manual, and it should appear
tomorrow, as follows:

 Four of the flags are used for ECN:  ``E'' for Congestion Experienced
 (CE) and ``N'' for ECN-Capable-Transport (ECT) indications in the
 IP header, and ``C'' for ECN-Echo and ``A'' for Congestion Window
 Reduced (CWR) in the TCP header.  This is also in the flags.h file,
 and is illustrated in the validation tests in "./test-all-ecn".

However, the first packets of the TCP connection in the one-way TCP
implementation in NS are special, and play the role of the SYN and
SYN-ACK packets in TCP.  From RFC 2481, the SYN packet sets the
ECN-Echo and CWR bits in the TCP header, and the SYN-ACK packet sets
the ECN-Echo bit.  This is the negotiation of ECN-capability.
However, I just checked, and for some reason the line about setting
the CWR bit in the first (SYN) packet is commented-out in tcp.cc, so the
first TCP packet in NS (for one-way TCP) only contains the ECN-Echo bit 
and not the CWR bit.  I will correct it shortly, so that it
corresponds to the RFC.

- Sally
--------------------------------
http://www.aciri.org/floyd/
--------------------------------