TC_NonZeroToHost - check Traffic Class Non-Zero to Host
Host and Router
TC_NonZeroToHost.seq [-tooloption ...] -pkt TC_NonZeroToHost.def -tooloption : v6eval tool option
None
Tester Target | | |-------------------------->| | Echo Request | | | | | |<--------------------------| | Neighbor Solicitation | | | | | |-------------------------->| | Neighbor Advertisement | | | | | |<--------------------------| | Echo Reply | | | | | v v
1. Send Echo Request 2. Wait Echo Reply or NS 3. If NS received then send NA, and wait Echo Reply again 4. Receive Echo Reply
Echo Request Data is:
IPv6 Header Version = 6 Traffic Class = 0x12 (8 bit) FlowLabel = 0 PayloadLength = 16 NextHeader = 58 (ICMP) SourceAddress = Tester Link Local Address DestinationAddress = Target Link Local Address
ICMP Echo Request Type = 128 (Echo Request) Code = 0 Checksum = (auto) Identifier = 0xffff SequenceNumber = 1 PayloadData = {1,2,3,4,5,6,7,8}
PASS: Echo Reply Received
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 16 NextHeader = 58 (ICMP) SourceAddress = Target Link Local Address Destination Address = Tester Link Local Address
ICMP Echo Reply Type = 129 (Echo Reply) Code = 0 Checksum = (auto) Identifier = 0xffff (same as Echo Request) SequenceNumber = 1 (same as Echo Request) PayloadData = {1,2,3,4,5,6,7,8} (same as Echo Request)
WARN: Echo Reply Received
IPv6 Header Version = 6 Traffic Class = 0x12 (8 bit) FlowLabel = 0 PayloadLength = 16 NextHeader = 58 (ICMP) SourceAddress = Target Link Local Address Destination Address = Tester Link Local Address
ICMP Echo Reply Type = 129 (Echo Reply) Code = 0 Checksum = (auto) Identifier = 0xffff (same as Echo Request) SequenceNumber = 1 (same as Echo Request) PayloadData = {1,2,3,4,5,6,7,8} (same as Echo Request)
RFC2460
3. IPv6 Header Format
Traffic Class 8-bit traffic class field. See section 7.
7. Traffic Classes
The 8-bit Traffic Class field in the IPv6 header is available for use by originating nodes and/or forwarding routers to identify and distinguish between different classes or priorities of IPv6 packets. At the point in time at which this specification is being written, there are a number of experiments underway in the use of the IPv4 Type of Service and/or Precedence bits to provide various forms of "differentiated service" for IP packets, other than through the use of explicit flow set-up. The Traffic Class field in the IPv6 header is intended to allow similar functionality to be supported in IPv6. It is hoped that those experiments will eventually lead to agreement on what sorts of traffic classifications are most useful for IP packets. Detailed definitions of the syntax and semantics of all or some of the IPv6 Traffic Class bits, whether experimental or intended for eventual standardization, are to be provided in separate documents.
The following general requirements apply to the Traffic Class field:
o The service interface to the IPv6 service within a node must provide a means for an upper-layer protocol to supply the value of the Traffic Class bits in packets originated by that upper- layer protocol. The default value must be zero for all 8 bits.
o Nodes that support a specific (experimental or eventual standard) use of some or all of the Traffic Class bits are permitted to change the value of those bits in packets that they originate, forward, or receive, as required for that specific use. Nodes should ignore and leave unchanged any bits of the Traffic Class field for which they do not support a specific use.
o An upper-layer protocol must not assume that the value of the Traffic Class bits in a received packet are the same as the value sent by the packet's source.
perldoc V6evalTool