MN-3-3-1-2-002 - Receiving unexpected BE (Status = 2) after sending BU(A = OFF)
Host
|
R CN0
| |
-----+-------+--------+---------------- LinkZ
|
R2 NUTY
| |
-----+-------+-----------------+------- LinkY
|
R1 NUTX
| |
-----+-------+-----------------+------- LinkX
|
HA0 Node0 NUT0
| | |
----------------------+---------------+---------+------- Link0
| Link0 |
3ffe:501:ffff:100::/64 |
home link |
| LinkX |
3ffe:501:ffff:102::/64 |
|
| LinkY |
3ffe:501:ffff:103::/64 |
|
| LinkZ |
3ffe:501:ffff:104::/64 |
|
| HA0(Link0) |
3ffe:501:ffff:100:200:ff:fe00:a0a0 |
|
| Node0(Link0) |
3ffe:501:ffff:100:200:ff:fe00:a3a3 |
|
| R1(LinkX) |
3ffe:501:ffff:102:200:ff:fe00:a4a4 |
|
| R2(LinkY) |
3ffe:501:ffff:103:200:ff:fe00:a6a6 |
|
| CN0(LinkZ) |
3ffe:501:ffff:104:200:ff:fe00:a8a8 |
|
1. Selection Option
- Route Optimization support : YES
- CN registration Acknowledge bit : NO
2. Position of Mobile Node
HA0 NUT0 R1 R2 CN0
| | | | |
| ----> | | | | 1.Router Advertisement
| | | | |
| NUTX | | |
| | | | |
| | <---- | | | 2.Router Advertisement
| | | | |
| <---- | | | | 3.Neighbor Solicitations
| | | | | 4.(no reply:3 seconds)
| | | | |
| <---- | | | | 5.Binding Update
| ----> | | | | 6.Binding Acknowledgement
| | | | |
1. Send Router Advertisement. (HA0 -> HA0_allnode_multi)
2. Send Router Advertisement. (R1 -> R1_allnode_multi)
3. Receive Neighbor Solicitations. (NUT0 -> HA0)
4. (no reply)
# Wait during a maximum of 3 seconds(RFC2461).
5. Receive Binding Update. (NUTX -> HA0)
6. Send Binding Acknowledgement. (HA0 -> NUTX)
HA0 NUTX R1 R2 CN0
| | | | |
| ====> | <--------------------- | 1.ICMP Echo Request
| | | | |
| <==== | ---------------------> | 2.Home Test Init
| | ---------------------> | 3.Care-of Test Init
| | <--------------------- | 4.Care-of Test
| ====> | <--------------------- | 5.Home Test
| | | | |
| <==== | ---------------------> | 6.ICMP Echo Reply
| | ---------------------> | 7.Binding Update
| | ---------------------> | 8.ICMP Echo Reply
| | | | |
| | <-------------------- | 9.Binding Error
| | | | |
| | | | | 10.(no retransmit:32 seconds)
| | | | |
| | <--------------------- | 11.ICMP Echo Request
| | ---------------------> | 12.ICMP Echo Reply (*1)
| | | | |
1. Send ICMP Echo Request. (out: HA0 -> NUTX, in: CN0 -> NUT0)
2. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
3. Receive Care-of Test Init. (NUTX -> CN0)
4. Send Care-of Test. (CN0 -> NUTX)
5. Send Home Test. (out: HA0 -> NUTX, in: CN0 -> NUT0)
6. Receive reverse tunneled ICMP Echo Reply or [8]. (out: NUTX -> HA0, in: NUT0 -> CN0)
7. Receive Binding Update to CN0. (NUTX -> CN0)
8. [6] or Receive ICMP Echo Reply. (NUTX -> CN0)
9. Send Binding Error. (CN0 -> NUTX)
# The Status field is set to 2(unrecognized MH Type value).
10. (no retransmit)
# Wait during 32(MAX_BINDACK_TIMEOUT) seconds.
11. Send ICMP Echo Request. (CN0 -> NUTX)
# Type 2 routing header is included.
12. Receive ICMP Echo Reply. (NUTX -> CN0)
# Home Address destination option is included.
Packet Format is:
11.ICMP Echo Request Data is:
IPv6 header (source = correspondent node,
destination = care-of address)
Routing header (type 2)
home address
ICMPv6 Echo Request
12.ICMP Echo Reply Data is:
IPv6 header (source = care-of address,
destination = correspondent node)
Destination Options header
Home Address option (home address)
ICMPv6 Echo Reply
(*1) PASS: CN0 receives ICMP Echo Reply by Route Optimization.
(draft-ietf-mobileip-ipv6-24.txt)
11.3.6 Receiving Binding Error Messages
When a mobile node receives a packet containing a Binding Error
message, it should first check if the mobile node has a Binding
Update List entry for the source of the Binding Error message. If
the mobile node does not have such an entry, it MUST ignore the
message. This is necessary to prevent a waste of resources on e.g.
return routability procedure due to spoofed Binding Error messages.
Otherwise, if the message Status field was 1 (unknown binding for
Home Address destination option), the mobile node should perform one
of the following two actions:
o If the mobile node has recent upper layer progress information
that indicates communications with the correspondent node are
progressing, it MAY ignore the message. This can be done in order
to limit the damage that spoofed Binding Error messages can cause
to ongoing communications.
o If the mobile node has no upper layer progress information, it
MUST remove the entry and route further communications through the
home agent. It MAY also optionally start a return routability
procedure (see Section 5.2).
If the message Status field was 2 (unrecognized MH Type value), the
mobile node should perform one of the following two actions:
o If the mobile node is not expecting an acknowledgement or response
from the correspondent node, the mobile node SHOULD ignore this
message.
o Otherwise, the mobile node SHOULD cease the use of any extensions
to this specification. If no extensions had been used, the mobile
node should cease the attempt to use route optimization.
9.3.3 Sending Binding Error Messages
Section 9.2 and Section 9.3.1 describe error conditions that lead to
a need to send a Binding Error message.
A Binding Error message is sent directly to the address that appeared
in the IPv6 Source Address field of the offending packet. If the
Source Address field does not contain a unicast address, the Binding
Error message MUST NOT be sent.
The Home Address field in the Binding Error message MUST be copied
from the Home Address field in the Home Address destination option of
the offending packet, or set to the unspecified address if no such
option appeared in the packet.
Note that the IPv6 Source Address and Home Address field values
discussed above are the values from the wire, i.e., before any
modifications possibly performed as specified in Section 9.3.1.
Binding Error messages SHOULD be subject to rate limiting in the same
manner as is done for ICMPv6 messages [14].