NAME

V6LC_2_2_13_C - Router Advertisement Processing, Router Lifetime (Router Lifetime Set to Five; Allowed to Expire)


TARGET

Host


TOPOLOGY

                   TN2
                    |
----+-------+-------+--- LinkX
    |       |    
   TR1     TR2     HUT
    |       |       |
----+-------+-------+--- Link0

Link0 global 3ffe:501:ffff:100::/64
link-local fe80::/64
LinkX global 3ffe:501:ffff::/64
link-local fe80::/64
HUT global 3ffe:501:ffff:100::<NutDef.Link0_addr>
link-local fe80::<NutDef.Link0_addr>
ether <NutDef.Link0_addr>
TR1 global 3ffe:501:ffff:100:200:ff:fe00:a0a0
link-local fe80::200:ff:fe00:a0a0
ether 00:00:00:00:a0:a0
TR2 global 3ffe:501:ffff:100:200:ff:fe00:a1a1
link-local fe80::200:ff:fe00:a1a1
ether 00:00:00:00:a1:a1
TN2 global 3ffe:501:ffff:100::<TnDef.Link0_addr>
link-local fe80::<TnDef.Link0_addr>
ether <TnDef.Link0_addr>


SETUP

This minimal setup procedure provides the NUT with three default routers TR1, TR2, and TR3, a global prefix, and ensures that the NUT can communicate with TR1, TR2, and TR3.
   TR1     TR2     HUT
    |       |       |
    | -->   |       | RA
    |       |       |
    *       |       | Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
    |       |       |
    |       | -->   | RA
    |       |       |
    | ------------> | Echo Request
    |       |   <-- | NS
    | ------------> | NA
    | <------------ | Echo Reply
    |       |       |
    |       | ----> | Echo Request
    |       |   <-- | NS
    |       | ----> | NA
    |       | <---- | Echo Reply
    |       |       |
    V       V       V

1. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR1 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 1800
            reachable time     = 600000
            retrans timer      = 0
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 2592000
            preferred lifetime = 604800
            prefix             = 3ffe:501:ffff:100::
2.  Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
        Host constants:
            MAX_RTR_SOLICITATION_DELAY: 1 second
        Node constants:
            RETRANS_TIMER             : 1,000 milliseconds
        Host Variables:
            RetransTimer
                Default               : RETRANS_TIMER milliseconds
        Node Variables:
            DupAddrDetectTransmits
                Default               : 1
3. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR2 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 1800
            reachable time     = 600000
            retrans timer      = 0
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 2592000
            preferred lifetime = 604800
            prefix             = 3ffe:501:ffff:100::
4. Send Echo Request
        IPv6 header
            source      = TR1 (link-local)
            destination = HUT (link-local)
        Echo Request
5. Observe NS
        IPv6 header
            hop limit   = 255
            source      = HUT (link-local)
            destination = TR1 (solicited-node multicast address)
        NS
            target      = TR1 (link-local)
        SLL option
6. Send NA
        IPv6 header
            hop limit   = 255
            source      = TR1 (link-local)
            destination = HUT (link-local)
        NA
            R           = 1
            S           = 1
            O           = 1
            target      = TR1 (link-local)
        TLL option
7. Observe Echo Reply
        IPv6 header
            source      = HUT (link-local)
            destination = TR1 (link-local)
        Echo Reply
8. Send Echo Request
        IPv6 header
            source      = TR2 (link-local)
            destination = HUT (link-local)
        Echo Request
9. Observe NS
        IPv6 header
            hop limit   = 255
            source      = HUT (link-local)
            destination = TR2 (solicited-node multicast address)
        NS
            target      = TR2 (link-local)
        SLL option
10. Send NA
        IPv6 header
            hop limit   = 255
            source      = TR2 (link-local)
            destination = HUT (link-local)
        NA
            R           = 1
            S           = 1
            O           = 1
            target      = TR2 (link-local)
        TLL option
11. Observe Echo Reply
        IPv6 header
            source      = HUT (link-local)
            destination = TR2 (link-local)
        Echo Reply


TEST PROCEDURE

- Verify that a host properly processes a Router Advertisement and the Router Lifetime field within it.
   TN2     TR1     TR2     HUT
    |       |       |       |
    | ------+-------------> | Echo Request via TR1
    | <-----+-------------- | Echo Reply   via TR1 [Judgment #1]
    |       |       |       |
    |       | -->   |       | RA
    |       |       |       |
    |       |       |       * Wait 7 sec.
    |       |       |       |
    | ------+-------------> | Echo Request via TR1
    | <-------------+------ | Echo Reply   via TR2 [Judgment #2]
    |       |       |       |
    |       |       | -->   | RA
    |       |       |       |
    |       |       |       * Wait 7 sec.
    |       |       |       |
    | ------+-------------> |  Echo Request
    |       |       |       |
    |       |       |       *  Observe Packets     [Judgment #3]
    |       |       |       |
    V       V       V       V

1. Send Echo Request
        IPv6 header
            source      = TN2 (global)
            destination = HUT (global)
        Echo Request
2. Observe Echo Reply
        IPv6 header
            hop limit   = 64
            source      = HUT (global)
            destination = TN2 (global)
        Echo Reply
3. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR1 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 0
            M                  = 0
            O                  = 0
            router lifetime    = 5
            reachable time     = 600000
            retrans timer      = 1000
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 100
            preferred lifetime = 20
            prefix             = 3ffe:501:ffff:100::
4. Wait 7 seconds.
5. Send Echo Request
        IPv6 header
            source      = TN2 (global)
            destination = HUT (global)
        Echo Request
6. Observe Echo Reply
        IPv6 header
            hop limit   = 64
            source      = HUT (global)
            destination = TN2 (global)
        Echo Reply
7. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR2 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 0
            M                  = 0
            O                  = 0
            router lifetime    = 5
            reachable time     = 600000
            retrans timer      = 1000
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 100
            preferred lifetime = 20
            prefix             = 3ffe:501:ffff:100::
8. Wait 7 seconds.
9. Send Echo Request
        IPv6 header
            source      = TN2 (global)
            destination = HUT (global)
        Echo Request
10. Observe Packets
        IPv6 header
            hop limit   = 255
            source      = HUT (link-local)
            destination = TR1 (solicited-node multicast address)
        NS
            target      = TR1 (link-local)
        SLL option
        IPv6 header
            source      = HUT (global)
            destination = TN1 (global)
        Echo Reply


JUDGEMENT

[Judgment #1] The HUT should use TR1 or TR2 as a first hop.
[Judgment #2] The HUT should use TR2 as a first hop.
[Judgment #3] The HUT MUST not transmit an Echo Reply or transmit multicast NS's with a target address set to TR1's or TR2's link-local address.


CLEANUP

The Cleanup procedure should cause the NUT to transition Neighbor Cache entries created in this test to state INCOMPLETE and remove any entries from its Default Router and Prefix Lists.
   TR1     TR2     HUT
    |       |       |
    |       | -->   | NA
    |       |       |
    |       | ----> | Echo Request
    |       | <---- | Echo Reply
    |       |       |
    |       *       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |       |
    |       | <---- | NS
    |       | <---- | NS
    |       | <---- | NS
    |       |       |
    | -->   |       | NA
    |       |       |
    | ------------> | Echo Request
    | <------------ | Echo Reply
    |       |       |
    *       |       | Wait (DELAY_FIRST_PROBE_TIME)
    |       |       |
    | <------------ | NS
    | <------------ | NS
    | <------------ | NS
    |       |       |
    |       | -->   | RA
    | -->   |       | RA
    |       |       |
    V       V       V

1. Send NA w/ TLL (diff)
        IPv6 header
            hop limit   = 255
            source      = TR2 (link-local)
            destination = all-nodes multicast address
        NA
            R           = 1
            S           = 0
            O           = 1
            target      = TR2 (link-local)
        TLL option
            address     = TRX (ether)
2. Send Echo Request
        IPv6 header
            source      = TR2 (link-local)
            destination = HUT (link-local)
        Echo Request
3. Observe Echo Reply
        IPv6 header
            source      = HUT (link-local)
            destination = TR2 (link-local)
        Echo Reply
4. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
5. Observe MAX_UNICAST_SOLICIT NSs
        IPv6 header
            hop limit   = 255
            source      = HUT (link-local)
            destination = TR2 (link-local)
        NS
            target      = TR2 (link-local)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions
6. Send NA w/ TLL (diff)
        IPv6 header
            hop limit   = 255
            source      = TR1 (link-local)
            destination = all-nodes multicast address
        NA
            R           = 1
            S           = 0
            O           = 1
            target      = TR1 (link-local)
        TLL option
            address     = TRX (ether)
7. Send Echo Request
        IPv6 header
            source      = TR1 (link-local)
            destination = HUT (link-local)
        Echo Request
8. Observe Echo Reply
        IPv6 header
            source      = HUT (link-local)
            destination = TR1 (link-local)
        Echo Reply
9. Wait (DELAY_FIRST_PROBE_TIME)
        Node constants:
            DELAY_FIRST_PROBE_TIME: 5 seconds
10. Observe MAX_UNICAST_SOLICIT NSs
        IPv6 header
            hop limit   = 255
            source      = HUT (link-local)
            destination = TR1 (link-local)
        NS
            target      = TR1 (link-local)
        SLL option
        Node constants:
            MAX_UNICAST_SOLICIT: 3 transmissions
11. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR2 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 0
            reachable time     = 30000
            retrans timer      = 1000
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 0
            preferred lifetime = 0
            prefix             = 3ffe:501:ffff:100::
12. Send RA
        IPv6 header
            hop limit          = 255
            source             = TR1 (link-local)
            destination        = all-nodes multicast address
        RA
            cur hop limit      = 64
            M                  = 0
            O                  = 0
            router lifetime    = 0
            reachable time     = 30000
            retrans timer      = 1000
        Prefix Information option
            prefix length      = 64
            L                  = 1
            A                  = 1
            valid Lifetime     = 0
            preferred lifetime = 0
            prefix             = 3ffe:501:ffff:100::


REFERENCE

RFC 2461 - Neighbor Discovery for IPv6