Experiments using ECN bits in the IPv6 and IPv4 headers: Sally Floyd The current proposal for the first word of the IPv6 header [DH97] is as follows: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ In contrast, the IPv4 header [F97] has a Type of Service (TOS) byte in the first word: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The IPv6 Traffic Class byte is expected to map to the IPv4 TOS byte, which currently is defined as follows: 0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ | PRECEDENCE | TOS | | +-----+-----+-----+-----+-----+-----+-----+-----+ Bit 6 is defined in RFC 1349 as the "Minimize Monetary Cost" TOS bit, and bit 7 is not defined. The IPv4 TOS byte is currently under discussion in the diffserv BOF of the IETF, and is being redefined. Because bits 6 and 7 of the IPv4 TOS byte are the least used today, bits 6 and 7 of the IPv6 Traffic Class byte are the most appropriate bits to use for ECN in experiments with IPv6. This has been approved by the IPv6 Working Group for near-term experiments (though NOT as a permanent allocation of these bits). Thus we suggest that for experiments with ECN in IPv6, bit 6 of the IPv6 Traffic Class byte (bit 10 of the IPv6 header) be used for the ECN-Capable Transport (ECT) bit, and that bit 7 of the IPv6 Traffic Class byte (bit 11 of the IPv6 header) be used for the ECN (or CE, for Congestion Experienced) bit. In one proposal for the IPv4 TOS byte by Ed Elleson [E97], the Congestion Experienced (CE) bit is assigned as bit 0, and the ECN-Capable Transport (ECT) bit is assigned as bit 1. These names for the two ECN-related bits seem more precise than the two names that I have previously used, and I have adopted them as the current preferred names. On the other hand, these two bits of the IPv4 TOS byte are currently in use in some systems as part of the Precedence field, so any experiments using these two bits for ECN would have to be strictly isolated. My preference would be that experiments with ECN should use bits 6 and 7 of the IPv4 TOS byte for experiments, as will be done for experiments in IPv6. It is possible that this would allow such experiments to be more easily deployed in testbeds. References: [DH97] S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, Internet draft draft-ietf-ipngwg-ipv6-spec-v2-01.txt, November 1997. ftp://ftp.ietf.org/internet-drafts/draft-ietf-ipngwg-ipv6-spec-v2-01.txt [F97] Paul Ferguson, Simple Differential Services: IP TOS and Precedence, Delay Indication, and Drop Preference, Internet draft draft-ferguson-delay-drop-00.txt, November 1997. http://diffserv.lcs.mit.edu/Drafts/draft-ferguson-delay-drop-00.txt [E97] Ed Elleson, A Proosal for the Format and Semantics of the TOS Byte and Traffic Class Byte in IPv4 and IPv6 Headers, Internet draft draft-ellesson-tos-00.txt, November 1997. http://diffserv.lcs.mit.edu/Drafts/draft-ellesson-tos-00.txt