F_TX_expire - Reassembly Time Exceeded (Time Exceeded Before Last Fragments Arrive)
Host and Router
F_TX_expire.seq [-tooloption ...] -pkt F_TX_expire.def
-tooloption : v6eval tool option
Perform Common Test Setup 1.1
Tester Target
| |
|-------------------------->|
| Echo Request (1st) |
| |
| |
| wait for 65 sec. |
| |
| |
|<--------------------------|
| Neighbor Solicitation |
| |
|-------------------------->|
| Neighbor Advertisement |
| |
|<--------------------------|
| ICMP Error |
| |
|-------------------------->|
| Echo Request (2nd) |
| |
|-------------------------->|
| Echo Request (3rd) |
| |
| |
v v
1. Send Echo Request (1st fragment)
2. Wait ICMP Error for 65 seconds
If NS received then send NA, and wait ICMP Error again
3. Receive ICMP Error
4. Send Echo Request (2nd fragment)
5. Send Echo Request (3rd fragment)
Echo Request Data (original) is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 88
NextHeader = 58 (ICMPv6)
SourceAddress = Tester Global Address
DestinationAddress = Target Global Address
ICMP Echo Request
Type = 128 (Echo Request)
Code = 0
Checksum = (auto)
Identifier = (auto)
SequenceNumber = 0
PayloadData = data repeat{0x1, 40}
data repeat{0x2, 40}
Echo Request Data (1st fragment) is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 40
NextHeader = 44 (Fragment Header)
SourceAddress = Tester Global Address
DestinationAddress = Target Global Address
Fragment Header
NextHeader = 58 (ICMPv6)
FragmentOffset = 0
MFlag = 1
Identification = 32bit (Automatic generation)
Payload
data = 32 octets from the head of ICMP Echo request
Echo Request Data (2nd fragment) is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 40
NextHeader = 44 (Fragment Header)
SourceAddress = Tester Global Address
DestinationAddress = Target Global Address
Fragment Header
NextHeader = 58 (ICMPv6)
FragmentOffset = 4
MFlag = 1
Identification = 32bit (Automatic generation)
Payload
data = 32 octets from the back of ICMP Echo request
Echo Request Data (3rd fragment) is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 32
NextHeader = 44 (Fragment Header)
SourceAddress = Tester Global Address
DestinationAddress = Target Global Address
Fragment Header
NextHeader = 58 (ICMPv6)
FragmentOffset = 8
MFlag = 0
Identification = 32bit (Automatic generation)
Payload
data = 24 octets from the back of ICMP Echo request
PASS: receive ICMPv6 Time Exceeded message, 60 seconds after reception of 1st Fragment
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 88
NextHeader = 58 (ICMPv6)
SourceAddress = Target Global Address
Destination Address = Tester Global Address
ICMP Echo Reply
Type = 3 (Time Exceeded)
Code = 1 (Fragment reassembly time exceeded)
Checksum = (auto)
Reserved = 0
PayloadData = (Sent Packet (1st))
RFC 2460 - IPv6 Specification
perldoc V6evalTool