NAME

  F_Reassembly_1500 - Fragment Reassembly (Reassemble to 1500)

TARGET

  Host and Router

SYNOPSIS

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            |
    |                           |
    |<--------------------------|
    |   Echo Reply              |
    |                           |
    |-------------------------->|
    |   Echo Request (1st)      |
    |                           |
    |-------------------------->|
    |   Echo Request (2nd)      |
    |                           |
    |-------------------------->|
    |   Echo Request (3rd)      |
    |                           |
    |<--------------------------|
    |   Echo Reply              |
    |                           |
    |                           |
    v                           v



  1. TN transmits an Echo Request to the NUT. TN answers any NS with a NA.
  2. Observe the packets transmitted by the NUT.
 
  3. TN transmits 1st, 2nd and 3rd Fragments in order. 
     All fragments have the same Source Address, Destination Address, and Fragment ID,
     however, the payloads of each fragment are modified so that the reassembled packet size is 1500.
  4. Observe the packets transmitted by the NUT.

  Echo Request Data (original) is:

        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 1460
            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, 512}
                             data repeat{0x2, 512}
                             data repeat{0x3, 428}

  Echo Request Data (1st fragment) is:

        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 520
            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               = 520 octets from the head of ICMP Echo request

  Echo Request Data (2nd fragment) is:

        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 520
            NextHeader         = 44 (Fragment Header)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address

        Fragment Header
            NextHeader         = 58 (ICMPv6)
            FragmentOffset     = 65
            MFlag              = 1
            Identification     = 32bit (Automatic generation)

        Payload
            data               = 520 octets from the back of ICMP Echo request

  Echo Request Data (3rd fragment) is:

        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 420
            NextHeader         = 44 (Fragment Header)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address

        Fragment Header
            NextHeader         = 58 (ICMPv6)
            FragmentOffset     = 130
            MFlag              = 0
            Identification     = 32bit (Automatic generation)

        Payload
            data               = 420 octets from the back of ICMP Echo request

JUDGEMENT

  PASS: The NUT must respond to the Echo Request from TN in Step 2.
        The NUT must respind to the Echo Request from TN in Step 4 (see below).

        IPv6 Header
            Version             = 6
            Traffic Class       = 0
            FlowLabel           = 0
            PayloadLength       = 1460
            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

SEE ALSO

  perldoc V6evalTool