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 TR3 HUT
| | | |
| --> | | | RA
| | | |
* | | | Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
| | | |
| | --> | | RA
| | | |
| | | --> | RA
| | | |
| --------------------> | Echo Request
| | | <-- | NS
| --------------------> | NA
| <-------------------- | Echo Reply
| | | |
| | ------------> | Echo Request
| | | <-- | NS
| | ------------> | NA
| | <------------ | Echo Reply
| | | |
| | | ----> | Echo Request
| | | <-- | NS
| | | ----> | NA
| | | <---- | Echo Reply
| | | |
V 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 RA
IPv6 header
hop limit = 255
source = TR3 (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::
5. Send Echo Request
IPv6 header
source = TR1 (link-local)
destination = HUT (link-local)
Echo Request
6. Observe NS
IPv6 header
hop limit = 255
source = HUT (link-local)
destination = TR1 (solicited-node multicast address)
NS
target = TR1 (link-local)
SLL option
7. 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
8. Observe Echo Reply
IPv6 header
source = HUT (link-local)
destination = TR1 (link-local)
Echo Reply
9. Send Echo Request
IPv6 header
source = TR2 (link-local)
destination = HUT (link-local)
Echo Request
10. Observe NS
IPv6 header
hop limit = 255
source = HUT (link-local)
destination = TR2 (solicited-node multicast address)
NS
target = TR2 (link-local)
SLL option
11. 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
12. Observe Echo Reply
IPv6 header
source = HUT (link-local)
destination = TR2 (link-local)
Echo Reply
13. Send Echo Request
IPv6 header
source = TR3 (link-local)
destination = HUT (link-local)
Echo Request
14. Observe NS
IPv6 header
hop limit = 255
source = HUT (link-local)
destination = TR3 (solicited-node multicast address)
NS
target = TR3 (link-local)
SLL option
15. Send NA
IPv6 header
hop limit = 255
source = TR3 (link-local)
destination = HUT (link-local)
NA
R = 1
S = 1
O = 1
target = TR3 (link-local)
TLL option
16. Observe Echo Reply
IPv6 header
source = HUT (link-local)
destination = TR3 (link-local)
Echo Reply
- Verify that a host properly processes the Cur Hop Limit field of a Router Advertisement.
TR1 TN1 NUT
| | |
| | ----> | Echo Request
| | <-- | NS [Judgment #1]
| | ----> | NA
| | <---- | Echo Reply
| | |
=================
if NUT is a host
| --> | | RA
| | |
if NUT is a router
| | * configure the CurHopLimit to value of 15
| | |
=================
| | |
| | ----> | Echo Request
| | <---- | Echo Reply [Judgment #2]
| | |
V V V
1. Send Echo Request
IPv6 header
source = TN1 (link-local)
destination = NUT (link-local)
Echo Request
2. Observe NS
IPv6 header
hop limit = 255
source = NUT (link-local)
destination = TN1 (solicited-node multicast address)
NS
target = TN1 (link-local)
SLL option
3. Send NA
IPv6 header
hop limit = 255
source = TN1 (link-local)
destination = NUT (link-local)
NA
R = 0
S = 1
O = 1
target = TN1 (link-local)
TLL option
4. Observe Echo Reply
IPv6 header
hop limit = 64
source = NUT (link-local)
destination = TR1 (link-local)
Echo Reply
5. Send RA
IPv6 header
hop limit = 255
source = TR1 (link-local)
destination = all-nodes multicast address
RA
cur hop limit = 15
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::
6. Send Echo Request
IPv6 header
source = TN1 (link-local)
destination = NUT (link-local)
Echo Request
7. Observe Echo Reply
IPv6 header
hop limit = 15
source = NUT (link-local)
destination = TN1 (link-local)
Echo Reply
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 TN1 NUT
| | |
| --> | | RA
| | |
| | --> | 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
| | |
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 = 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 NA w/ TLL (diff)
IPv6 header
hop limit = 255
source = TN1 (link-local)
destination = all-nodes multicast address
NA
R = 0
S = 0
O = 1
target = TN1 (link-local)
TLL option
address = TRX (ether)
3. Send Echo Request
IPv6 header
source = TR1 (link-local)
destination = NUT (link-local)
Echo Request
4. Observe Echo Reply
IPv6 header
source = NUT (link-local)
destination = TR1 (link-local)
Echo Reply
5. Wait (DELAY_FIRST_PROBE_TIME)
Node constants:
DELAY_FIRST_PROBE_TIME: 5 seconds
6. Observe MAX_UNICAST_SOLICIT NSs
IPv6 header
hop limit = 255
source = NUT (link-local)
destination = TR1 (link-local)
NS
target = TR1 (link-local)
SLL option
Node constants:
MAX_UNICAST_SOLICIT: 3 transmissions
7. 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)
8. Send Echo Request
IPv6 header
source = TR1 (link-local)
destination = NUT (link-local)
Echo Request
9. Observe Echo Reply
IPv6 header
source = NUT (link-local)
destination = TR1 (link-local)
Echo Reply
10. Wait (DELAY_FIRST_PROBE_TIME)
Node constants:
DELAY_FIRST_PROBE_TIME: 5 seconds
11. Observe MAX_UNICAST_SOLICIT NSs
IPv6 header
hop limit = 255
source = NUT (link-local)
destination = TR1 (link-local)
NS
target = TR1 (link-local)
SLL option
Node constants:
MAX_UNICAST_SOLICIT: 3 transmissions