F_Reassembly_Valid - Fragment Reassembly (All Fragments are Valid)
Host and Router
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 (2nd) |
| |
|-------------------------->|
| Echo Request (3rd) |
| |
|<--------------------------|
| Echo Reply |
| |
| |
v v
1. TN transmits 1st, 2nd and 3rd Fragments in order.
All fragments have the same Source Address, Destination Address, and Fragment ID.
2. Observe the packets transmitted by the NUT.
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 must transmit an Echo Reply to TN in response to the reassembled Echo Request.
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 88
NextHeader = 58 (ICMPv6)
SourceAddress = NUT Link Local Address
Destination Address = TN Link Local Address
ICMP Echo Reply
Type = 129 (Echo Reply)
Code = 0
Checksum = (auto)
Identifier = (same as Echo Request)
SequenceNumber = (same as Echo Request)
PayloadData = (same as Echo Request)
Common Test Cleanup
perldoc V6evalTool