Reassembly_Overlap - Overlapping Fragments Part C - Duplicate Fragments (Link-Local)
Host and Router
Reassembly_Dupli.seq [-tooloption ...] -pkt Reassembly_Dupli.def
-tooloption : v6eval tool option
None
Verify that a node correctly reassembles fragmented packets and distinguishes between packet fragments using the Source Address, Destination Address and Fragment ID.
TN NUT
| |
|---------------------------|
| Echo Request (1st) |
| |
|-------------------------->|
| Echo Request (1st) |
| |
|-------------------------->|
| Echo Request (2nd) |
| |
|-------------------------->|
| Echo Request (3rd) |
| |
|<--------------------------|
| Echo Reply |
| |
| |
v v
3. TN1 transmits Fragments A.1. 4. TN1 transmits Fragment A.1, A.2 and A.3 to the NUT. Fragment A.3 has an offset of 0x8 so that it doesn't overlap with A.2.
Echo Request Data (original) is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 88
NextHeader = 58 (ICMPv6)
SourceAddress = TN Link Local Address
DestinationAddress = NUT 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 = TN Link Local Address
DestinationAddress = NUT 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 = TN Link Local Address
DestinationAddress = NUT Link Local 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 = TN Link Local Address
DestinationAddress = NUT 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: The NUT should process the fragment packets and transmit an Echo Reply.
Common Test Cleanup
RFC 8200 - IPv6 Specification
perldoc V6evalTool