Subject: [MOBILE-IP] Mobile IPv6 questions

From: "Powell, Ken" <[email-masked]>
Date: Mon, 10 Apr 2000 09:15:28 -0400

Hi,

I've been working in the IPv6 space for some years now,
but am a rookie with mobile networking. I just read through
draft-ietf-mobileip-ipv6-11.txt and have some questions,
particularly in the interaction between Mobile IPv6 and
IPv6 Stateless Address Autoconfiguration.

Ken Powell
Compaq Computer Corporation

General Questions:

Sections 9.7 and 10.16 describe how the home agent supplies
the mobile node with router advertisement updates whenever
prefixes on the home network change. If I understand this
correctly, the prefixes covered by these requirements include
prefixes advertised by other routers on the home subnet in
addition to the home agent's own prefixes. I think more details
are needed on how the home agent should maintain its list of
prefixes and how it keeps this list synchronized with the
mobile node's list of home network prefixes. Specific
questions and suggestions about this are included below.

Sections 4.3, 5.1, 9.3, and 9.5 describe how the mobile node
sends a Router bit to the home agent which the home agent must
in turn use for the IsRouter bit on proxy neighbor advertisements
for the mobile node. Why is this done? The mobile node can't
continue to function as a normal router to other nodes on the
home subnet can it?

Should mobile nodes be capable of booting and establishing a
binding to a home agent without a direct connection to the home
subnet? If so, this spec should define how a mobile node could
autoconfigure its Home Address from a remote site. I don't think
we can assume the home network prefix will remain unchanged while
a mobile node is off-line. One possibility is to store the home
network anycast address in DNS. The mobile node could then query
the home agent anycast address and combine its prefix with
the mobile node's interface id to generate a Home Address.

Comments on Specific Sections:

Page 14:

  Should section 4.3 (Conceptual Data Structures) define a place
  where the home agent would store the state of all prefixes
  advertised by other routers on the home subnet?

Page 15:
  "must be performed modulo 2**16"

  What does this phrase mean?

Page 42 penultimate paragraph:
  "In a solicited Router Advertisement, a router MUST include at least
   one Prefix Information option with the router Address (R) bit set."

  This looks like a requirement on all IPv6 routers. I understand why
  this is a MUST for mobile agents, but I don't get the reasoning for
  routers that are not acting as mobile agents.

Page 56 4th paragraph:
  "If the correspondent node receives persistent ICMP Destination
   Unreachable messages...".

  What is meant by "persistent"? Is the algorithm to determine this
  implementation defined?

Page 59 Section 9.1:

  Should this section describe how the home agent saves address
  prefixes advertised by other routers on the home network for
  later forwarding to the mobile node?

Page 62 Section 9.4 (Primary Care-of Address Registration):

   Is it safe to assume when a mobile node sends the first
   Binding Update to a particular home agent, that the mobile
   node will always have the same set of prefixes defined for the
   home subnet as the home agent? If not, then should the home
   agent send a router advertisement with all known home subnet
   prefixes to the mobile node with the first Binding
   Acknowledgement? This will account for prefixes the home
   agent knows which the mobile node doesn't.

Page 63 4th paragraph:
  "Furthermore, if the Prefix Length field in the Binding Update
   is non-zero, then the lifetime for the Binding cache entry MUST
   NOT be greater than the minimum remaining valid lifetime for all
   subnet prefixes on the mobile node's home link."

  Would this requirement force a small period where communication
  to the mobile node through the home agent will fail when the
  home network completes a renumbering process? At the end of
  a renumbering process, the valid lifetime of the old home
  network prefix counts down to zero. Given this requirement,
  the lifetime of the mobile agent's Binding Cache entry for a
  mobile node must also count down to zero, after which the Binding
  Cache entry must be deleted making the mobile node unreachable.

  This requirement seems to be inconsistent with the
  following requirement from the second item on page 64:

  "As described above, this lifetime MUST NOT be greater than
   the remaining valid lifetime for the subnet prefix in the
   mobile node's home address."

  and from the requirement in section 9.7 at the bottom of
  page 70:

  "... the lifetime returned by a mobile node's home agent
   in its Binding Acknowledgement in response to registration
   of a new primary care-of address by the mobile node MUST be
   no greater than the remaining valid lifetime for the subnet
   prefix in the mobile node's home address."

Page 65 last paragraph:
  "The home agent examines the value of the Prefix Length field
   in the new "home registration" Binding Cache entry. ... If,
   instead, this field is nonzero, then the following step is
   carried out for each address for the mobile node formed from
   the interface identifier in the mobile node's home address in
   this binding (...), together with each one of the subnet
   prefixes currently considered by the home agent to be on-link..."

  What does "currently considered by the home agent to be on-link"
  mean? Is it restricted to prefixes defined in the home agent's
  own AdvPrefixList (per RFC 2461), or does it also include the
  list of on-link prefixes advertised by other routers on the home
  network?

Page 68 section 9.7:

  RFC 2461 defines that a router has the following management
  variables for each prefix.

      AdvValidLifetime
           as a time that decrements in realtime
           as a fixed time
      AdvPreferredLifetime
           as a time that decrements in realtime
           as a fixed time

  How do the various flavors (fixed vs decrementing) of these
  timers on the home agent impact the timing for sending router
  advertisements from the home agent to the mobile node? Page 69
  of the Mobility draft states that a router advertisement needs
  to be sent when the "preferred or valid lifetime for an existing
  prefix on the home link is reduced". This doesn't account for a
  prefix for which the router is decrementing the time continuously.

  When a mobile agent receives a router advertisement from
  another router on the home subnet, does it treat the received
  Valid Lifetime and Preferred Lifetime as fixed or decrementing?
  I would think given the lack of other information, it should be
  treated as decrementing.

  What should the mobile agent set the following fields to when
  sending a router advertisement to a mobile node?

     M (managed address configuration flag)
     O (other stateful address configuration flag)
     H (home agent flag)
     Router Lifetime
     Reachable Time
     Retrans Timer
     Prefix Information
        L (on-link flag)
        A (autonomous address configuration flag)
        R (router address flag)
        Valid Lifetime
        Preferred Lifetime
        Prefix

Page 80 Section 10.7:

  Should a mobile node get its home network anycast address from
  DNS as opposed to constructing it from the previously known home
  network prefix? This would allow a mobile node to more easily
  recover from renumbering events on the home network if it happens
  to be disconnected while the renumbering event occurs.

Page 86 Section 10.12:

  This section does not define what the mobile node should do
  with the Lifetime field in the Binding Acknowledgement. The
  only statement I found in the spec is in section 5.2:

   "...if the mobile node requires home agent service from
    this node beyond this period, the mobile node MUST send
    a new Binding Update to it before the expiration of this
    period (...), in order to extend the lifetime".

  Should the mobile node reduce the lifetime field in it's Binding
  Update List entry for the home agent to the lifetime in the
  Binding Acknowledgement?

Page 89 last paragraph:
  "... although due to separation between preferred lifetime and
   valid lifetime, such changes should not affect most communication
   by the mobile node, in the same way as for nodes that are at home."

  What does this mean? I guess it gets back to my earlier question
  on how mobile nodes handle preferred and valid address timers
  from their home network.

Page 90 3rd paragraph:
  "In addition, if processing this Router Advertisement resulted in
   the mobile node configuring a new home address..."

  Sanity check: Lets assume I have a home subnet with the prefix
  3ffe:1200:1:2::/64. I need to renumber it to 3ffe:1300:1:2::/64
  while a mobile node using my subnet is wandering around the world.
  I change my routers on my home network to advertise:

   3ffe:1200:1:2::/64  Valid lifetime = 2592000 (30 days) decrementing
                       Preferred lifetime = 0
   3ffe:1300:1:2::/64  Valid lifetime = 2592000 (30 days) fixed
                       Preferred lifetime = 604800 (7 days) fixed

  Upon receipt of the new router advertisement from the home agent,
  the mobile node should switch its Home Address from the deprecated
  address (3ffe:1200:1:2::/64) to the preferred address
  (3ffe:1300:1:2::/64). It does this by sending a Binding Update option
  for the old home address with zero Lifetime to force the home agent
  to delete the old entry, followed by another Binding Update option
  with the new home address. I'm assuming the Binding Update options
  have a non-zero Prefix Length field. If the old home address is not
  deleted first, having the home agent perform duplicate address
  detection with all home subnet prefixes will cause problems. Is this
  right? Can both Binding Update options (to delete old and create new)
  be sent in the same IPv6 message?

---

From: Francis Dupont <[email-masked]>
Date: Mon, 10 Apr 2000 19:05:12 +0200

In your previous mail you wrote:

   General Questions:

   addition to the home agent's own prefixes.

=> a home agent is a router then it should advertise the same prefix set
than other routers on the home subnet. I don't know what you name
the home agent's own prefixes.

   I think more details are needed on how the home agent should
   maintain its list of prefixes

=> I think it should use standard management and router renumbering
as other routers.

   and how it keeps this list synchronized with the mobile node's list
   of home network prefixes.

=> the issue is at the mobile node's side and is covered by 9.7 and 10.16.

=> the mobile node can be either a host or a router then the home
agent needs to know if it is a host or a router when it sends
proxy NAs (because of the IsRouter bit). The router bit in binding
updates provides this information.

   subnet?

=> yes, there must be a connection but an indirect one is enough.

   If so, this spec should define how a mobile node could
   autoconfigure its Home Address from a remote site.

=> It cannot do that without human help. In fact it cannot decide
if it is at home or in visit with zero knowledge. 9.7 and 10.16
provides only a way to "follow" home prefix changes when the mobile
is up (then the mobile can update its configuration).
If the home prefix has changed when the mobile was stopped then
a protocol not described in the I-D must be used (some kind of
mobile management protocol/tool?)

   I don't think we can assume the home network prefix will remain
   unchanged while a mobile node is off-line.

=> but this is assumed by the I-D. In fact prefix changed are supposed
to be rather infrequent and prefix lifetimes very large (defaults are
7 and 30 days).

   One possibility is to store the home
   network anycast address in DNS. The mobile node could then query
   the home agent anycast address and combine its prefix with
   the mobile node's interface id to generate a Home Address.

=> there are many solutions, DNS is a good one if the mobile knows
the home network name (but remember that it must know something).

   Page 14:

=> the home agent should act as a standard router for this.

   Page 15:

=> ((short)((a) - (b)) > 0) in C with 16 bit long shorts.

=> the rationate at the beginning of 6.2 is only about home agents
then I agree: R bit must be defined for routers but the MUST is only
for home agents. But I know some situations where router addresses
are very useful then I'd like to have a SHOULD for routers which are
not home agents.

   Page 56 4th paragraph:

=> yes, I think you can reuse the same algorithm than for TCP connections
(don't break at the first ICMP unreachable but take them into account).
In BSD systems this calls in_losing() and it is called after the third
retransmit, cf Stevens' TCP/IP illustrated vol 2 page 749.

   Page 59 Section 9.1:

=> same: home agents are routers.

      Is it safe to assume when a mobile node sends the first
      Binding Update to a particular home agent, that the mobile
      node will always have the same set of prefixes defined for the
      home subnet as the home agent?

=> it is because renumbering are rare events and 9.7 & 10.16 signal
them to mobile nodes.

      If not, then should the home

=> this is a nice idea.

   Page 63 4th paragraph:

     Would this requirement force a small period where communication
     to the mobile node through the home agent will fail when the
     home network completes a renumbering process?

=> I think the home agent should send binding requests when a prefix
(then binding cache entries) expires but binding acknowledgements trigger
new binding updates in such cases (then a SHOULD is enough, it just makes
things more reliable).

     At the end of a renumbering process, the valid lifetime of the
     old home network prefix counts down to zero. Given this requirement,
     the lifetime of the mobile agent's Binding Cache entry for a mobile
     node must also count down to zero, after which the Binding Cache entry
     must be deleted making the mobile node unreachable.

=> the idea is to flush cache entries for an expired prefix.

=> this lifetime is in binding acknowlegements then it is consistent.

=> idem

   Page 65 last paragraph:

=> as a router the home agent should have the same on-link prefix set
than other routers (RFC 2461, 6.2.7 "Router Advertisement Consistency").
Note RFC 2461 is not very clear about active actions (beyond the scope
of this document :-).

   Page 68 section 9.7:

         AdvValidLifetime

=> I agree

=> RFC 2461 6.2.7 provides the answer (use the local fix/decrement mode).

=> I don't see a reason to send something different than on the home link?

   Page 80 Section 10.7:

=> "previously" is only a way to know the home network prefix
(and the way to know it is not specified by the I-D) then you MAY
do what you'd like...

   Page 86 Section 10.12:

     This section does not define what the mobile node should do
     with the Lifetime field in the Binding Acknowledgement.

=> send a binding update of course.

     The only statement I found in the spec is in section 5.2:

=> perhaps a statement about lifetime update should be added in 10.12
(I believe it is the case because you ask for a clarification).

   Page 89 last paragraph:

     What does this mean?

=> just the idea to have preferred and valid lifetimes provides
smooth renumbering, ie. the home address should not become invalid
in a savage way...

   Page 90 3rd paragraph:

     right?

=> I don't believe. This is not very different of a case where the
mobile is stopped and reconfigured during the renumbering: there is
a stale entry which be flushed at the end of its lifetime (less than
30 days :-). The duplicate address detection is done on the link,
not inside the home agent, and can give strange results with more
than one home agent on the link and long lifetimes for cache entries.

     Can both Binding Update options (to delete old and create new)
     be sent in the same IPv6 message?

=> I don't think so because there is only one home address per message
(but I'd like to have a statement against duplicate home address options).

Regards

[email-masked]