MN-4-2-1-2-010 - Receiving invalid MH (invalid MH Type) from CN
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
2. Position of Mobile Node
- none.
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
| | | | |
| | | | |
| ====> | <--------------------- | 7.ICMP Echo Request
| | | | |
| <==== | ---------------------> | 8.Home Test Init
| | ---------------------> | 9.Care-of Test Init
| | <--------------------- | 10.Care-of Test
| ====> | <--------------------- | 11.Home Test
| | | | |
| <==== | ---------------------> | 12.Binding Error (*1)
| | | | |
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 to HA0. (NUTX -> HA0)
6. Send Binding Acknowledgement. (HA0 -> NUTX)
7. Send ICMP Echo Request. (out: HA0 -> NUTX, in: CN0 -> NUT0)
8. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
9. Receive Care-of Test Init. (NUTX -> CN0)
10. Send Care-of Test. (CN0 -> NUTX)
11. Send Home Test. (out: HA0 -> NUTX, in: CN0 -> NUT0)
# The MH Type field in Mobility Header is set invalid value (20).
12. Receive Binding Error. (out: NUTX -> HA0, in: NUT0 -> CN0)
Packet Format is:
12.Binding Error
(*1) PASS: CN0 receives the Binding Error.
Then, check whether this packet fills all of the following.
- The Status field set to 2 (unrecognized MH Type value).
(draft-ietf-mobileip-ipv6-24.txt)
11.2 Processing Mobility Headers
All IPv6 mobile nodes MUST observe the rules described in Section 9.2
when processing Mobility Headers.
9.2 Processing Mobility Headers
Mobility Header processing MUST observe the following rules:
o The checksum must be verified as per Section 6.1. Otherwise, the
node MUST silently discard the message.
o The MH Type field MUST have a known value (Section 6.1.1).
Otherwise, the node MUST discard the message and issue a Binding
Error message as described in Section 9.3.3, with Status field set
to 2 (unrecognized MH Type value).
o The Payload Proto field MUST be IPPROTO_NONE (59 decimal).
Otherwise, the node MUST discard the message and SHOULD send ICMP
Parameter Problem, Code 0, directly to the Source Address of the
packet as specified in RFC 2463 [14]. Thus no Binding Cache
information is used in sending the ICMP message. The Pointer
field in the ICMP message SHOULD point at the Payload Proto field.
o The Header Len field in the Mobility Header MUST NOT be less than
the length specified for this particular type of message in
Section 6.1. Otherwise, the node MUST discard the message and
SHOULD send ICMP Parameter Problem, Code 0, directly to the Source
Address of the packet as specified in RFC 2463 [14]. (The Binding
Cache information is again not used.) The Pointer field in the
ICMP message SHOULD point at the Header Len field.
Subsequent checks depend on the particular Mobility Header.
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].