[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/
--------------------------------