NAME

  F_Reassembly_dst - Fragment Reassembly (Destination Addresses Differ Between Fragments)


TARGET

  Host and Router


SYNOPSIS

  F_Reassembly_dst.seq [-tooloption ...] -pkt F_Reassembly_dst.def
    -tooloption : v6eval tool option


INITIALIZATION

  None


TEST PROCEDURE

  Tester                      Target
    |                           |
    |-------------------------->|
    |   Echo Request (1st)      |
    |   Dst.addr = Target-LLA   |
    |                           |
    |-------------------------->|
    |   Echo Request (2nd)      |
    |   Dst.addr = Target-GA    |
    |                           |
    |-------------------------->|
    |   Echo Request (3rd)      |
    |   Dst.addr = Target-LLA   |
    |                           |
    |<--------------------------|
    |   Neighbor Solicitation   |
    |                           |
    |                           |
    |-------------------------->|
    |   Neighbor Advertisement  |
    |                           |
    |                           |
    |<--------------------------|
    |   ICMP Error              |
    |                           |
    |                           |
    v                           v
  1. Send Echo Request (1st fragment)
  2. Send Echo Request (2nd fragment)
  3. Send Echo Request (3rd fragment)
  4. Wait ICMP Error or NS
  5. If NS received then send NA, and wait ICMP Error again
  6. Receive ICMP Error
  Echo Request Data (original) is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 88
            NextHeader         = 58 (ICMPv6)
            SourceAddress      = Tester Link Local Address
            DestinationAddress = Target 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      = Tester Link Local Address
            DestinationAddress = Target 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      = Tester Link Local Address
            DestinationAddress = Target Global Address
        Fragment Header
            NextHeader         = 58 (ICMPv6)
            FragmentOffset     = 4
            MFlag              = 0
            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      = Tester Link Local Address
            DestinationAddress = Target 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: receive ICMPv6 Time Exceeded message, 60 seconds after reception of 1st Fragment
        IPv6 Header
            Version             = 6
            Traffic Class       = 0
            FlowLabel           = 0
            PayloadLength       = 88
            NextHeader          = 58 (ICMPv6)
            SourceAddress       = Target Link Local Address
            Destination Address = Tester Link Local Address
        ICMP Echo Reply
            Type           = 3 (Time Exceeded)
            Code           = 1 (Fragment reassembly time exceeded)
            Checksum       = (auto)
            Reserved       = 0
            PayloadData    = (Sent Packet (1st))


REFERENCE

RFC 2460 - IPv6 Specification


SEE ALSO

  perldoc V6evalTool