TC_NonZeroOverRouter - check Traffic Class Non-Zero over Router
Router
TC_NonZeroOverRouter.seq [-tooloption ...] -pkt TC_NonZeroOverRouter.def -tooloption : v6eval tool option See also IH_Router.def
None
Tester Target Tester (Link0) (Link1) | | | |-------------------------->| | | Echo Request to Link0 | | | | | | |-------------------------->| | | Neighbor Solicitation | | | | | |<--------------------------| | | Neighbor Advertisement | | | | | |-------------------------->| | | Echo Request from Link1 | | | | | | | | |<--------------------------| | | Echo Reply to Link1 | | | | |<--------------------------| | | Neighbor Solicitation | | | | | |-------------------------->| | | Neighbor Advertisement | | | | | |<--------------------------| | | Echo Reply from Link0 | | | | | v v v
1. Send Echo Request to Link0 2. Wait Echo Reply from Link1 or NS from Link1 3. If NS received then send NA to Link1, and wait Echo Reply form Link1 again 4. Receive Echo Reply from Link1 5. Send Echo Request to Link1 6. Wait Echo Reply from Link0 or NS from Link0 7. If NS received then send NA to Link0, and wait Echo Reply form Link0 again 8. Receive Echo Reply from Link0
Echo Request to Link0 Data is:
IPv6 Header Version = 6 Traffic Class = 0x12 (8 bit) FlowLabel = 0 PayloadLength = 16 NextHeader = 58 (ICMP) SourceAddress = Tester Global Address (Link0) DestinationAddress = Tester Global Address (Link1)
ICMP Echo Request Type = 128 (Echo Request) Code = 0 Checksum = (auto) Identifier = 0xffff SequenceNumber = 1 PayloadData = {1,2,3,4,5,6,7,8}
Neighbor Solicitation packet's IP source Address selection may be: - Link Local Address - Global Address This test IS NOT the Neighbor Discovery test, so admit both implementation.
PASS: Echo Reply Received from Link0
IPv6 Header Version = 6 Traffic Class = 0x12 (8 bit) FlowLabel = 0 PayloadLength = 16 NextHeader = 58 (ICMP) SourceAddress = Tester Global Address (Link1) DestinationAddress = Tester Global Address (Link0)
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