MN-2-1-2-2-010 - Retransmissions (Use an exponential back-off process, until a response is received)
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
- Care-of Test Init Retransmissions: 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.Home Test
| | ---------------------> | 4.Care-of Test Init
| | | | | 5.(no reply)
| | | | |
| <==== | ---------------------> | 6.ICMP Echo Reply
| | | | |
| | ---------------------> | 7.Care-of Test Init (*1)
| | | | | 8.(no reply)
| | ---------------------> | 9.Care-of Test Init (*1)
| | | | | 10.(no reply)
| | | | |
| | | | | :
| | | | |
| | ---------------------> | 11.Care-of Test Init (*1)
| | | | |
1. Send ICMP Echo Request. (out: HA0 -> NUTX, in: CN0 -> NUT0)
2. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
3. Send Home Test. (out: HA0 -> NUTX, in: CN0 -> NUT0)
4. Receive Care-of Test Init. (NUTX -> CN0)
5. (no reply)
6. Receive ICMP Echo Reply. (out: NUTX -> HA0, in: NUT0 -> CN0)
7. Receive Care-of Test Init. (NUTX -> CN0)
8. (no reply)
9. Receive Care-of Test Init. (NUTX -> CN0)
10. (no reply)
11. Receive Care-of Test Init. (NUTX -> CN0)
Packet Format is:
7.Care-of Test Init
(*1) PASS: CN0 receives the retransmission of Care-of Test Init.
Then, check whether this packet fills all of the following.
- Care-of Init Cookie is set to new cookie value.
- The initial retransmission timer is set to INITIAL_BINDACK_TIMEOUT.
- Timeout period is doubled upon each retransmission.
(draft-ietf-mobileip-ipv6-24.txt)
11.8 Retransmissions and Rate Limiting
The mobile node is responsible for retransmissions and rate limiting
in the return routability procedure, registrations, and in solicited
prefix discovery.
When the mobile node sends a Mobile Prefix Solicitation, Home Test
Init, Care-of Test Init or Binding Update for which it expects a
response, the mobile node has to determine a value for the initial
retransmission timer:
o If the mobile node is sending a Mobile Prefix Solicitation, it
SHOULD use an initial retransmission interval of
INITIAL_SOLICIT_TIMER (see Section 12).
o If the mobile node is sending a Binding Update and it does not
have an existing binding at the home agent, it SHOULD use
InitialBindackTimeoutFirstReg (see Section 13) as a value for the
initial retransmission timer. This long retransmission interval
will allow the home agent to complete the Duplicate Address
Detection procedure which is mandated in this case, as detailed in
Section 11.7.1.
o Otherwise, the mobile node should use the specified value of
INITIAL_BINDACK_TIMEOUT for the initial retransmission timer.
If the mobile node fails to receive a valid, matching response within
the selected initial retransmission interval, the mobile node SHOULD
retransmit the message, until a response is received.
The retransmissions by the mobile node MUST use an exponential
back-off process, in which the timeout period is doubled upon each
retransmission until either the node receives a response or the
timeout period reaches the value MAX_BINDACK_TIMEOUT. The mobile
node MAY continue to send these messages at this slower rate
indefinitely.
The mobile node SHOULD start a separate back-off process for
different message types, different home addresses and different
care-of addresses. However, in addition an overall rate limitation
applies for messages sent to a particular correspondent node. This
ensures that the correspondent node has sufficient amount of time to
answer when bindings for multiple home addresses are registered, for
instance. The mobile node MUST NOT send Mobility Header messages of
a particular type to a particular correspondent node more than
MAX_UPDATE_RATE times within a second.
Retransmitted Binding Updates MUST use a Sequence Number value
greater than that used for the previous transmission of this Binding
Update. Retransmitted Home Test Init and Care-of Test Init messages
MUST use new cookie values.