tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Calculation of IPv6 fragmented part length
On Mon, Apr 15, 2024 at 9:36 PM Yasuyuki KOZAKAI
<yasuyuki.kozakai%gmail.com@localhost> wrote:
>
>
> > Just curious, how did you find the issue? It seems to rarely occur.
>
>
> I run IPv6 Ready Logo Phase-2 Self Test tool 5.0.8 and the following test failed.
> I don’t know why the test author chose the fragment size.
Oh, I see, thanks.
It seems we used to use it, but not now.
ozaki-r
>
>
> Reference:
> IPv6 Core Protocols Test Specification and Self Test tool
> https://www.ipv6ready.org/resources/ipv6-core-protocols.html
>
>
> ================================================================
> NAME
>
> F_Reassembly_Valid - Fragment Reassembly (All Fragments are Valid)
> TARGET
>
> Host and Router
> SYNOPSIS
>
> F_Reassembly_Valid.seq [-tooloption ...] -pkt F_Reassembly_Valid.def
>
> -tooloption : v6eval tool option
>
> INITIALIZATION
>
> None
> TEST PROCEDURE
>
> 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
>
> JUDGEMENT
>
> 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)
>
> CLEANUP
>
> Common Test Cleanup
>
> REFERENCE
>
> RFC 8200 - IPv6 Specification
>
> SEE ALSO
>
> perldoc V6evalTool
Home |
Main Index |
Thread Index |
Old Index