F_Reassembly_dst - Fragment Reassembly (Destination Addresses Differ Between Fragments)
Host and Router
F_Reassembly_dst.seq [-tooloption ...] -pkt F_Reassembly_dst.def
-tooloption : v6eval tool option
None
Tester Target
| |
|-------------------------->|
| Echo Request (1st) |
| Dst.addr = Target-LLA |
| |
|-------------------------->|
| Echo Request (2nd) |
| Dst.addr = Target-GA |
| |
|-------------------------->|
| Echo Request (3rd) |
| Dst.addr = Target-LLA |
| |
|<--------------------------|
| Neighbor Solicitation |
| |
| |
|-------------------------->|
| Neighbor Advertisement |
| |
| |
|<--------------------------|
| ICMP Error |
| |
| |
v v
1. Send Echo Request (1st fragment)
2. Send Echo Request (2nd fragment)
3. Send Echo Request (3rd fragment)
4. Wait ICMP Error or NS
5. If NS received then send NA, and wait ICMP Error again
6. Receive ICMP Error
Echo Request Data (original) is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 88
NextHeader = 58 (ICMPv6)
SourceAddress = Tester Link Local Address
DestinationAddress = Target Link Local 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 Link Local Address
DestinationAddress = Target Link Local 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 Link Local Address
DestinationAddress = Target Global Address
Fragment Header
NextHeader = 58 (ICMPv6)
FragmentOffset = 4
MFlag = 0
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 Link Local Address
DestinationAddress = Target Link Local 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 Link Local Address
Destination Address = Tester Link Local 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