HA_2_5_8 - Valid sequence number A=0 SN(1st=15, 2nd=32782)
Router
MN1Y
|
--------+-------+------- Link1Y
|
R1X MN1X
| |
--------+-------+-------+------- Link1X
|
R1
|
--------+-------+----------------------- Link1
|
NUT
|
--------+-----------------------+------- Link0
|
MN0
Link0 global 3ffe:501:ffff:100::/64 home link Link1 global 3ffe:501:ffff:101::/64 foreign link Link1X global 3ffe:501:ffff:1101::/64 foreign link Link1Y global 3ffe:501:ffff:2101::/64 foreign link R1 (Link1) global 3ffe:501:ffff:101::a1a1 ether 00:00:00:00:a1:a1 MN0 global 3ffe:501:ffff:100:200:ff:fe00:a2a2 home address MN1X global 3ffe:501:ffff:1101:200:ff:fe00:a2a2 care-of address MN1Y global 3ffe:501:ffff:2101:200:ff:fe00:a2a2 care-of address
Check Link1 routing tableNUT (Link0) MN1X MN1Y | | | | <---- | | Echo Request | ----> | | Echo Reply | | | | <------------ | Echo Request | ------------> | Echo Reply | | |
1. MN1X sends Echo Request 2. MN1X receives Echo Reply 3. MN1Y sends Echo Request 4. MN1Y receives Echo Reply
Check sequence number comparisonNUT (Link0) MN1X MN1Y | | | | <---- | | BU (SN=15, A=1, lifetime=0x0010) (SPI=0x101) | ----> | | BA (SN=15) (SPI=0x102) (*1) | | | | <---- | | Echo Request w/ HaO | ----> | | Echo Reply w/ RH (*2) | | | | <------------ | BU (SN=32782, A=0, lifetime=0x0010) (SPI=0x101) | ------------> | BA (SN=32782) (SPI=0x102) (*3) | | | | <------------ | Echo Request w/ HaO | ------------> | Echo Reply w/ RH (*4) | | |
1. MN1X sends BU packet format is: Binding_Update_message_format_from_MN_to_HA_ESP.gif 2. MN1X receives BA (*1) packet format is: Binding_Acknowledgement_message_format_from_HA_toMN_ESP.gif 3. MN1X sends Echo Request w/ HaO 4. MN1X receives Echo Reply w/ RH (*2) 5. MN1Y sends BU packet format is: Binding_Update_message_format_from_MN_to_HA_ESP.gif 6. MN1Y receives BA (*3) packet format is: Binding_Acknowledgement_message_format_from_HA_toMN_ESP.gif 7. MN1Y sends Echo Request w/ HaO 8. MN1Y receives Echo Reply w/ RH (*4)
(*1) PASS: MN1X receives BA (*2) PASS: MN1X receives Echo Reply w/ RH (*3) PASS: MN1Y receives BA (*4) PASS: MN1Y receives Echo Reply w/ RH
Before accepting a Binding Update, the receiving node MUST validate the Binding Update according to the following tests:o The packet MUST contain a unicast routable home address, either in the Home Address option or in the Source Address, if the Home Address option is not present.o The Sequence Number field in the Binding Update is greater than the Sequence Number received in the previous valid Binding Update for this home address, if any.If the receiving node has no Binding Cache entry for the indicated home address, it MUST accept any Sequence Number value in a received Binding Update from this mobile node.This Sequence Number comparison MUST be performed modulo 2**16, i.e., the number is a free running counter represented modulo 65536. A Sequence Number in a received Binding Update is considered less than or equal to the last received number if its value lies in the range of the last received number and the preceding 32768 values, inclusive. For example, if the last received sequence number was 15, then messages with sequence numbers 0 through 15, as well as 32783 through 65535, would be considered less than or equal.