RA w/ Preference=HIGH vs. RA w/ Preference=LOW Prefered Router get unreachable
Host
Def_HIGH_LOW_UNREACH.seq [-tooloption ...] -pkt ROUTE.def
-tooloption: v6eval tool option
HOST2 | ---------------+-----------+--- Link2 | RT3 HOST1 | | -------+-------+-------+---+--- Link1 | | RT2 RT1 | | -------+-------+-------+------- Link0 | NUT
Link0 global 3ffe:501:ffff:100::/64 Testing link Link1 global 3ffe:501:ffff:101::/64 other link Link2 global 3ffe:501:ffff:102::/64 other link RT1(Link0) global 3ffe:501:ffff:100::a0a0 Alternative router link-local fe80::200:ff:fe00:a0a0 ether 00:00:00:00:a0:a0 RT2(Link0) global 3ffe:501:ffff:100::a1a1 Alternative router link-local fe80::200:ff:fe00:a1a1 ether 00:00:00:00:a1:a1 HOST1 global 3ffe:501:ffff:101::1 Host on Link1 HOST2 global >3ffe:501:ffff:102::1 Host on Link2
Flush Default Router List Flush Routing Table Flush Neighbor Cache Flush Prefix List
NUT RT1 RT2 HOST1 HOST2 | | | | | ==================(INITIALIZE)=================== | | | | | | Pref=LOW| | | | |<--------------+ | | | RA from RT1 | | Pref=HIGH| | | |<------------------------------+ | | RA from RT2 | | | | | |<--------------#-----------------------+ | Echo Request (via RT1) +-------------------------------#------>| | Echo Reply (via RT2)(*1) | | | | | |<--------------#-------------------------------+ Echo Request (via RT1) +-------------------------------#-------------->| Echo Reply (via RT2)(*2) | | | | | (Wait for expiration Reachable time) | | | | | |<--------------#-----------------------+ | Echo Request (via RT1) +-------------------------------#------>| | Echo Reply (via RT2)(*3) | | | | | +------------------------------>| | | Probe RT2 (NS) +------------------------------>| | | Probe RT2 (NS) +------------------------------>| | | Probe RT2 (NS) | | | | | |<--------------#-----------------------+ | Echo Request (via RT1) +---------------#---------------------->| | Echo Reply (via RT1)(*4) | | | | | +-------------->| | | | Probe RT1 (NS) |<--------------+ | | | NA | | | | | |<--------------#-------------------------------+ Echo Request (via RT1) +---------------#------------------------------>| Echo Reply (via RT1)(*5) | | | | | | | | | | ==================(INITIALIZE)=================== | | | | | | Pref=HIGH| | | | |<--------------+ | | | RA from RT1 | | Pref=LOW| | | |<------------------------------+ | | RA from RT2 | | | | | |<--------------#-----------------------+ | Echo Request (via RT1) +---------------#---------------------->| | Echo Reply (via RT1)(*6) | | | | | |<--------------#-------------------------------+ Echo Request (via RT1) +---------------#------------------------------>| Echo Reply (via RT1)(*7) | | | | | (Wait for expiration Reachable time) | | | | | |<--------------#-----------------------+ | Echo Request (via RT1) +---------------#---------------------->| | Echo Reply (via RT1)(*8) | | | | | +-------------->| | | | Probe RT1 (NS) +-------------->| | | | Probe RT1 (NS) +-------------->| | | | Probe RT1 (NS) | | | | | |<--------------#-----------------------+ | Echo Request (via RT1) +-------------------------------#------>| | Echo Reply (via RT2)(*9) | | | | | +------------------------------>| | | Probe RT2 (NS) |<------------------------------+ | | NA | | | | | |<--------------#-------------------------------+ Echo Request (via RT1) +-------------------------------#-------------->| Echo Reply (via RT2)(*10) | | | | |
(INITIALIZATION) 1. RT1 Sends RA w/ Preference=LOW 2. RT2 Sends RA w/ Preference=HIGH 3. HOST1 Sends Echo Request 4. NUT Sends Echo Reply to HOST1 via RT2(*1) 5. HOST2 Sends Echo Request 6. NUT Sends Echo Reply to HOST2 via RT2(*2) (WAIT TO EXPIRE REACHABLE TIME) 7. HOST1 Sends Echo Request 8. NUT Sends Echo Reply to HOST1 via RT2(*3) 9. HOST1 Sends Echo Request 10. NUT Sends Echo Reply to HOST1 via RT1(*4) 11. HOST2 Sends Echo Request 12. NUT Sends Echo Reply to HOST2 via RT1(*5) (INITIALIZATION) 13. RT1 Sends RA w/ Preference=HIGH 14. RT2 Sends RA w/ Preference=LOW 15. HOST1 Sends Echo Request 16. NUT Sends Echo Reply to HOST1 via RT1(*6) 17. HOST2 Sends Echo Request 18. NUT Sends Echo Reply to HOST2 via RT1(*7) (WAIT TO EXPIRE REACHABLE TIME) 19. HOST1 Sends Echo Request 20. NUT Sends Echo Reply to HOST1 via RT1(*8) 21. HOST1 Sends Echo Request 22. NUT Sends Echo Reply to HOST1 via RT2(*9) 23. HOST2 Sends Echo Request 24. NUT Sends Echo Reply to HOST2 via RT2(*10)
(*1) PASS: HOST1 receives Echo Reply via RT2
(*2) PASS: HOST2 receives Echo Reply via RT2
(*3) PASS: HOST1 receives Echo Reply via RT2
(*4) PASS: HOST1 receives Echo Reply via RT1
(*5) PASS: HOST2 receives Echo Reply via RT1
(*6) PASS: HOST1 receives Echo Reply via RT1
(*7) PASS: HOST2 receives Echo Reply via RT1
(*8) PASS: HOST1 receives Echo Reply via RT1
(*9) PASS: HOST1 receives Echo Reply via RT2
(*10) PASS: HOST2 receives Echo Reply via RT2
ROUTE.pm ROUTE.def