NAME

MN-2-1-1-2-010 - Retransmissions (Use an exponential back-off process, until a response is received)


TARGET

Host


TOPOLOGY

                    
                                  |
                                  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  


INITIALIZATION

 1. Selection Option
    - Route Optimization support: YES
    - Home 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)


TEST PROCEDURE

                    
       HA0     NUTX     R1      R2      CN0
        |       |       |       |        |
        | ====> | <--------------------- |  1.ICMP Echo Request
        |       |       |       |        |
        | <==== | ---------------------> |  2.Home Test Init
        |       |       |       |        |  3.(no reply)
        |       | ---------------------> |  4.Care-of Test Init
        |       | <--------------------- |  5.Care-of Test
        |       |       |       |        |
        | <==== | ---------------------> |  6.ICMP Echo Reply
        |       |       |       |        |
        | <==== | ---------------------> |  7.Home Test Init (*1)
        |       |       |       |        |  8.(no reply)
        | <==== | ---------------------> |  9.Home Test Init (*1)
        |       |       |       |        | 10.(no reply)
        |       |       |       |        |
        |       |       |       |        |    :
        |       |       |       |        |
        | <==== | ---------------------> | 11.Home 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. (no reply)
        4. Receive Care-of Test Init. (NUTX -> CN0)
        5. Send Care-of Test. (CN0 -> NUTX)
        6. Receive ICMP Echo Reply. (out: NUTX -> HA0, in: NUT0 -> CN0)
        7. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
        8. (no reply)
        9. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
       10. (no reply)
       11. Receive Home Test Init. (out: NUTX -> HA0, in: NUT0 -> CN0)
                    
        Packet Format is:
          7.Home Test Init
                    


JUDGEMENT

 (*1) PASS: HA0 receives the retransmission of Home Test Init.
            Then, check whether this packet fills all of the following.
            - Home 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.


REFERENCE

                    
(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.