HA_2_6_6 - Inalid sequence number A=0 SN(1st=15, 2nd=32783)
Router
NUT
|
--------+-------+---------------+------- Link0
| |
R0 MN0
|
--------+-------+-------+------- Link0X
| |
R0X MN0X
|
--------+-------+------- Link0Y
|
MN0Y
Link0 global 3ffe:501:ffff:100::/64 home link Link0X global 3ffe:501:ffff:1100::/64 foreign link Link0Y global 3ffe:501:ffff:2100::/64 foreign link R0 (Link0) global 3ffe:501:ffff:100::a0a0 ether 00:00:00:00:a0:a0 MN0 global 3ffe:501:ffff:100:200:ff:fe00:a2a2 home address MN0X global 3ffe:501:ffff:1100:200:ff:fe00:a2a2 care-of address MN0Y global 3ffe:501:ffff:2100:200:ff:fe00:a2a2 care-of address
Check Link0 routing tableNUT (Link0) MN0X MN0Y | | | | <---- | | Echo Request | ----> | | Echo Reply | | | | <------------ | Echo Request | ------------> | Echo Reply | | |
1. MN0X sends Echo Request 2. MN0X receives Echo Reply 3. MN0Y sends Echo Request 4. MN0Y receives Echo Reply
home registrationNUT (Link0) MN0X | | | <---- | BU (SN=15, A=1, lifetime=0x0010) (SPI=0x101) | ----> | BA (SN=15) (SPI=0x102) | | | <---- | Echo Request w/ HaO | ----> | Echo Reply w/ RH | |
1. MN0X sends BU 2. MN0X receives BA 3. MN0X sends Echo Request w/ HaO 4. MN0X receives Echo Reply w/ RH
Check sequence number comparisonNUT (Link0) MN0Y | | | <---- | BU (SN=32783, A=0, lifetime=0x0010) (SPI=0x101) | ----> | BA (status=135, SN=15) (SPI=0x102) (*1) | | | <---- | Echo Request w/ HaO | ----> | BE (status=1) (*2) | |
1. MN0Y sends BU packet format is: Binding_Update_message_format_from_MN_to_HA_ESP.gif 2. MN0Y receives BA (*1) packet format is: Binding_Acknowledgement_message_format_from_HA_toMN_ESP.gif 3. MN0Y sends Echo Request w/ HaO 4. MN0Y receives BE (*2) packet format is: Binding_Error_message_from_HA_to_MN.gif
(*1) PASS: MN0Y receives BA (*2) PASS: MN0Y receives BE
9.5.1 Receiving Binding UpdatesPackets containing a Home Address option MUST be dropped if the given home address is not a unicast routable address.Mobile nodes can include a Home Address destination option in a packet if they believe the correspondent node has a Binding Cache entry for the home address of a mobile node. Packets containing a Home Address option MUST be dropped if there is no corresponding Binding Cache entry. A corresponding Binding Cache entry MUST have the same home address as appears in the Home Address destination option, and the currently registered care-of address MUST be equal to the source address of the packet. These tests MUST NOT be done for packets that contain a Home Address option and a Binding Update.If the packet is dropped due the above tests, the correspondent node MUST send the Binding Error message as described in Section 9.3.3. The Status field in this message should be set to 1 (unknown binding for Home Address destination option).
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.(snip)If the mobile node sends a sequence number which is not greater than the sequence number from the last valid Binding Update for this home address, then the receiving node MUST send back a Binding Acknowledgement with status code 135, and the last accepted sequence number in the Sequence Number field of the Binding Acknowledgement.