MN-3-2-1-2-018 - Valid Lifetime (Lifetime of BA == Lifetime of BU)
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 : ON
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.Binding Acknowledgement
| | ---------------------> | 9.ICMP Echo Reply
| | | | |
| | | | | 10.(wait)
| | <--------------------- | 11.ICMP Echo Request
| | | | | 12.(no reply) (*1)
| | | | |
| ====> | <--------------------- | 13.ICMP Echo Request
| | | | |
| <==== | ---------------------> | 14.Home Test Init (*2)
| | ---------------------> | 15.Care-of Test Init (*2)
| | | | |
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 [9]. (out: NUTX -> HA0, in: NUT0 -> CN0)
7. Receive Binding Update to CN0. (NUTX -> CN0)
8. Send Binding Acknowledgement to NUTX. (CN0 -> NUTX)
9. [6] or Receive ICMP Echo Reply. (NUTX -> CN0)
10. (wait)
# Wait during the Lifetime value of Binding Update[7].
11. Send ICMP Echo Request. (CN0 -> NUTX)
12. (no reply)
13. Send ICMP Echo Request. (out: HA0 -> NUTX, in: CN0 -> NUT0)
14. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
15. Receive Care-of Test Init. (NUTX -> CN0)
Packet Format is:
8.Binding Acknowledgement
13.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
14.Home Test Init
15.Care-of Test Init
(*1) PASS: CN0 does not receive ICMP Echo Reply by Route Optimization.
(*2) PASS: CN0 receives Home Test Init or Care-of Test Init.
(draft-ietf-mobileip-ipv6-24.txt)
11.7.3 Receiving Binding Acknowledgements
(snip)
When a mobile node receives a packet carrying a valid Binding
Acknowledgement, the mobile node MUST examine the Status field as
follows:
o If the Status field indicates that the Binding Update was accepted
(the Status field is less than 128), then the mobile node MUST
update the corresponding entry in its Binding Update List to
indicate that the Binding Update has been acknowledged; the mobile
node MUST then stop retransmitting the Binding Update. In
addition, if the value specified in the Lifetime field in the
Binding Acknowledgement is less than the Lifetime value sent in
the Binding Update being acknowledged, then the mobile node MUST
subtract the difference between these two Lifetime values from the
remaining lifetime for the binding as maintained in the
corresponding Binding Update List entry (with a minimum value for
the Binding Update List entry lifetime of 0). That is, if the
Lifetime value sent in the Binding Update was L_update, the
Lifetime value received in the Binding Acknowledgement was L_ack,
and the current remaining lifetime of the Binding Update List
entry is L_remain, then the new value for the remaining lifetime
of the Binding Update List entry should be
max((L_remain - (L_update - L_ack)), 0)
where max(X, Y) is the maximum of X and Y. The effect of this
step is to correctly manage the mobile node's view of the
binding's remaining lifetime (as maintained in the corresponding
Binding Update List entry) so that it correctly counts down from
the Lifetime value given in the Binding Acknowledgement, but with
the timer countdown beginning at the time that the Binding Update
was sent.
Mobile nodes SHOULD send a new Binding Update well before the
expiration of this period in order to extend the lifetime. This
helps to avoid disruptions in communications, which might
otherwise be caused by network delays or clock drift.