MN-4-1-1-2-002 - Sending the packets directly 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 Echo Reply
| | | | |
| | | | |
| | <--------------------- | 9.ICMP Echo Request
| | ---------------------> | 10.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 [8]. (out: NUTX -> HA0, in: NUT0 -> CN0)
7. Receive Binding Update to CN. (NUTX -> CN0)
8. [6] or Receive ICMP Echo Reply. (NUTX -> CN0)
9. Send ICMP Echo Request. (CN0 -> NUTX)
10. Receive ICMP Echo Reply. (NUTX -> CN0)
Packet Format is:
10.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.
Then, check whether this packet fills all of the following.
- The Source Address is set to care-of address.
- Home Address destination option is included.
(draft-ietf-mobileip-ipv6-24.txt)
11.3.1 Sending Packets While Away from Home
(snip)
Route Optimization
This manner of delivering packets does not require going through
the home network, and typically will enable faster and more
reliable transmission.
The mobile node needs to ensure that there exists a Binding Cache
entry for its home address so that the correspondent node can
process the packet (Section 9.3.1 specifies the rules for Home
Address Destination Option Processing at a correspondent node).
The mobile node SHOULD examine its Binding Update List for an
entry which fulfills the following conditions:
* The Source Address field of the packet being sent is equal to
the home address in the entry.
* The Destination Address field of the packet being sent is equal
to the address of the correspondent node in the entry.
* One of the current care-of addresses of the mobile node appears
as the care-of address in the entry.
* The entry indicates that a binding has been successfully
created.
* The remaining lifetime of the binding is greater than zero.
When these conditions are met, the mobile node knows that the
correspondent node has a suitable Binding Cache entry.
A mobile node SHOULD arrange to supply the home address in a Home
Address option, and MUST set the IPv6 header's Source Address
field to the care-of address which the mobile node has registered
to be used with this correspondent node. The correspondent node
will then use the address supplied in the Home Address option to
serve the function traditionally done by the Source IP address in
the IPv6 header. The mobile node's home address is then supplied
to higher protocol layers and applications.
Specifically:
* Construct the packet using the mobile node's home address as
the packet's Source Address, in the same way as if the mobile
node were at home. This includes the calculation of upper
layer checksums using the home address as the value of the
source.
* Insert a Home Address option into the packet, with the Home
Address field copied from the original value of the Source
Address field in the packet.
* Change the Source Address field in the packet's IPv6 header to
one of the mobile node's care-of addresses. This will
typically be the mobile node's current primary care-of address,
but MUST be an address assigned to the interface on the link
being used.
By using the care-of address as the Source Address in the IPv6
header, with the mobile node's home address instead in the Home
Address option, the packet will be able to safely pass through any
router implementing ingress filtering [26].