Reassembly_Overlap - Overlapping Fragments Part G - Duplicate Fragments (Global)
Host and Router
Reassembly_Dupli_G.seq [-tooloption ...] -pkt Reassembly_Dupli_G.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 Global Address
DestinationAddress = NUT 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 = TN Global Address
DestinationAddress = NUT 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 = TN Global Address
DestinationAddress = NUT 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 = TN Global Address
DestinationAddress = NUT 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: The NUT should process the fragment packets and transmit an Echo Reply.
Common Test Cleanup
RFC 8200 - IPv6 Specification
perldoc V6evalTool