MN-4-2-2-2-007 - Receiving ICMP error (Code = 1) after sending BU to 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
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 to HA0. (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 Error(Code=1)
| <==== | ---------------------> | 9.ICMP Echo Reply
| | | | |
| ====> | <--------------------- | 10.ICMP Echo Request
| <==== | ---------------------> | 11.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 ICMP Echo Reply or [9]. (out: NUTX -> HA0, in: NUT0 -> CN0)
7. Receive Binding Update to CN. (NUTX -> CN0)
8. Send ICMP Parameter Problem, Code 1. (CN0 -> NUTX)
# The Type field is set to 4(Parameter Problem).
# The Code field is set to 1.
9. [6] or Receive ICMP Echo Reply. (out: NUTX -> HA0, in: NUT0 -> CN0)
10. Send ICMP Echo Request. (out: HA0 -> NUTX, in: CN0 -> NUT0)
11. Receive ICMP Echo Reply. (out: NUTX -> HA0, in: NUT0 -> CN0)
Packet Format is:
10.ICMP Echo Request Data is:
IPv6 header (source = home agent,
destination = care-of address)
ESP header
IPv6 header (source = correspondent node,
destination = home address)
ICMPv6 Echo Request
11.ICMP Echo Reply Data is:
IPv6 header (source = care-of address,
destination = home agent)
ESP header
IPv6 header (source = home address,
destination = correspondent node)
ICMPv6 Echo Reply
(*1) PASS: CN0 receives ICMP Echo Reply by reverse tunneling.
(draft-ietf-mobileip-ipv6-24.txt)
11.3.5 Receiving ICMP Error Messages
Any node that does not recognize the Mobility header will return an
ICMP Parameter Problem, Code 1, message to the sender of the packet.
If the mobile node receives such an ICMP error message in response to
a return routability procedure or Binding Update, it SHOULD record in
its Binding Update List that future Binding Updates SHOULD NOT be
sent to this destination. Such Binding Update List entries SHOULD be
removed after a period of time, in order to allow for retrying route
optimization.
New Binding Update List entries MUST NOT be created as a result of
receiving ICMP error messages.