SendingPacketAtForeignLink1 - Sending Packets at foreign link (1)
Host
SendingPacketAtForeignLink1.seq [-tooloption ...] -pkt MN_Common.def
-tooloption: v6eval tool option
| R TN | | --------+-------+--------------- LinkZ
| R2 NUT2 | | --------+---------------+------- LinkY
| | HA2 R1 NUT1 | | | --------+-------+-------+------- LinkX
| | NUT0 HA1 HA0 | | | 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:a1a1/64 HA1(Link0) 3ffe:501:ffff:100:200:ff:fe00:a2a2/64 HA2(LinkX) 3ffe:501:ffff:102:200:ff:fe00:a3a3 R1(LinkX) 3ffe:501:ffff:102:200:ff:fe00:a4a4 R2(LinkY) 3ffe:501:ffff:103:200:ff:fe00:a5a5 TN(LinkZ) 3ffe:501:ffff:104:200:ff:fe00:a6a6
11.2.1.2. Sending Packets at foreign link
HA0 NUT1 R1 TN | | | | | | <---- | | RA | | <---- | | NA | | | | | <---- | | | Binding Update (*1) | ----> | | | Binding Acknowledgement | | | | | | <------------ | Echo Request (out: HA0->NUT1, in: TN->NUT0) | | ------------> | Echo Reply (Home Address Option) (*2) | | ----> | ----> | Home Test Init(HoTI) | | ------------> | Care-of Test (CoTI) | | <---- | <---- | Home Test (HoT) | | <------------ | Care-of Test (CoTI) | | ------------> | Binding Update(*3) | | | | | | <------------ | Echo Request (RH: Home Address) | | ------------> | Echo Reply (Home Address Option) (*4) | | | |
(*1) PASS: HA0 receives Binding Update
(*2) PASS: TN receives Echo Reply
(*3) PASS: TN receives Binding Update
(*4) PASS: TN receives Echo Reply(w/ HAO)
draft-ietf-mobileip-ipv6-20.txt
11.3 Packet Processing
11.3.1 Sending Packets While Away from Home
Direct Delivery
This manner of delivering packets does not require going through the home network, and typically will enable faster and more reliable transmission. A mobile node SHOULD arrange to supply the home address in a Home Address option, and allowing the IPv6 header's Source Address field to be set to one of the mobile node's care-of addresses; 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 [27].