v6LC_2_3_14_C - Neighbor Cache Updated from State PROBE (TLLA Option, No Redirected Packet Option, Link-layer Address Updated)
Host
TN2 | ----+-------+-------+--- LinkY | | TR1 TR2 HUT | | | ----+-------+-------+--- Link0
Link0 global 3ffe:501:ffff:100::/64 link-local fe80::/64 LinkY global 3ffe:501:ffff::/64 link-local fe80::/64 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 HUT global 3ffe:501:ffff:100::<NutDef.Link0_addr> link-local fe80::<NutDef.Link0_addr> ether <NutDef.Link0_addr> TN2 global 3ffe:501:ffff::<TnDef.Link0_addr> link-local fe80::<TnDef.Link0_addr> ether <TnDef.Link0_addr>
This minimal setup procedure provides the NUT with a default router TR1, a global prefix, and ensures that the NUT can communicate with TR1.TR1 HUT | | | --> | RA | | * | Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits) | | | ----> | Echo Request | <-- | NS | ----> | NA | <---- | Echo Reply | | V V
1. Send RAIPv6 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 = 0 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 secondNode constants: RETRANS_TIMER : 1,000 millisecondsHost Variables: RetransTimer Default : RETRANS_TIMER millisecondsNode Variables: DupAddrDetectTransmits Default : 13. Send Echo RequestIPv6 header source = TR1 (link-local) destination = HUT (link-local) Echo Request4. Observe NSIPv6 header hop limit = 255 source = HUT (link-local) destination = TR1 (solicited-node multicast address) NS target = TR1 (link-local) SLL option5. Send NAIPv6 header hop limit = 255 source = TR1 (link-local) destination = HUT (link-local) NA R = 1 S = 1 O = 1 target = TR1 (link-local) TLL option6. Observe Echo ReplyIPv6 header source = HUT (link-local) destination = TR1 (link-local) Echo Reply
Verify that a host properly updates its Neighbor Cache entry upon receipt of a valid ICMP Redirect Message.TR1 TR2 HUT | | | | | --> | RA | | | | | ----> | Echo Request | | <---- | Echo Reply [Judgment #1] | | | | * | Wait (DELAY_FIRST_PROBE_TIME) | | | | | <---- | NS [Judgment #2] | ------------> | Redirect | | | | | * Wait (RETRANS_TIMER * MAX_*CAST_SOLICIT) | | | | | ----> | Echo Request | | <---- | Echo Reply [Judgment #3] | | | | * | Wait (DELAY_FIRST_PROBE_TIME) | | | | | <---- | NS [Judgment #4] | | <---- | NS | | <---- | NS | | | V V V
1. Send RAIPv6 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 = 0 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. Send Echo RequestIPv6 header source = TR2 (link-local) destination = HUT (link-local) Echo Request3. Observe Echo ReplyIPv6 header source = HUT (link-local) destination = TN2 (link-local) Echo Reply4. Wait (DELAY_FIRST_PROBE_TIME)Node constants: DELAY_FIRST_PROBE_TIME: 5 seconds5. Observe NSIPv6 header hop limit = 255 source = HUT (link-local) destination = TR2 (link-local) NS target = TR2 (link-local) SLL option6. Send RedirectIPv6 header hop limit = 255 source = TR1 (link-local) destination = HUT (global) Redirect target = TR2 (link-local) destination = TN2 (global) TLL option address = TRY (ether)7. Send Echo RequestIPv6 header source = TR2 (link-local) destination = HUT (link-local) Echo Request8. Wait (RETRANS_TIMER * MAX_*CAST_SOLICIT)Node constants: MAX_MULTICAST_SOLICIT: 3 transmissions MAX_UNICAST_SOLICIT: 3 transmissions RETRANS_TIMER: 1,000 milliseconds9. Observe Echo ReplyIPv6 header source = HUT (link-local) destination = TN2 (link-local) Echo Reply10. Wait (DELAY_FIRST_PROBE_TIME)Node constants: DELAY_FIRST_PROBE_TIME: 5 seconds11. Observe MAX_UNICAST_SOLICIT NSsIPv6 header hop limit = 255 source = HUT (link-local) destination = TR2 (link-local) NS target = TR2 (link-local) SLL optionNode constants: MAX_UNICAST_SOLICIT: 3 transmissions
[Judgment #1] The HUT should respond with an Echo Reply.
[Judgment #2] The HUT should send a unicast Neighbor Solicitation for TR2, indicating the HUT had a NCE for TR2 in state STALE.
[Judgment #3] The HUT should respond with an Echo Reply sent to the updated link-layer address.
[Judgment #4] The HUT should send a unicast Neighbor Solicitation for TR2, indicating the HUT had a NCE for TR2 in state STALE.
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 | | | | | --> | RA | | | | --> | | RA | | | | --> | | NA | | | | ------------> | Echo Request | <------------ | Echo Reply | | | * | | Wait (DELAY_FIRST_PROBE_TIME) | | | | <------------ | NS | <------------ | NS | <------------ | NS | | | V V V
1. Send RAIPv6 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 = 0 retrans timer = 0 Prefix Information option prefix length = 64 L = 1 A = 1 valid Lifetime = 0 preferred lifetime = 0 prefix = 3ffe:501:ffff:100::2. Send RAIPv6 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 = 0 retrans timer = 0 Prefix Information option prefix length = 64 L = 1 A = 1 valid Lifetime = 0 preferred lifetime = 0 prefix = 3ffe:501:ffff:100::3. 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)4. Send Echo RequestIPv6 header source = TR1 (link-local) destination = HUT (link-local) Echo Request5. Observe Echo ReplyIPv6 header source = HUT (link-local) destination = TR1 (link-local) Echo Reply6. Wait (DELAY_FIRST_PROBE_TIME)Node constants: DELAY_FIRST_PROBE_TIME: 5 seconds7. Observe MAX_UNICAST_SOLICIT NSsIPv6 header hop limit = 255 source = HUT (link-local) destination = TR1 (link-local) NS target = TR1 (link-local) SLL optionNode constants: MAX_UNICAST_SOLICIT: 3 transmissions
RFC 2461 - Neighbor Discovery for IPv6