NEMO Working Group P. Thubert Internet-Draft Cisco Expires:April 11, 2005January 16, 2006 C. Bontoux Fortinet N. Montavont LSIIT - ULPOctober 11, 2004July 15, 2005 Nested Nemo Tree Discoverydraft-thubert-tree-discovery-01.txtdraft-thubert-tree-discovery-02.txt Status of this Memo By submitting this Internet-Draft,I certifyeach author represents that any applicable patent or other IPR claims of whichI amhe or she is aware have been or will be disclosed, and any of whichI becomehe or she becomes aware will be disclosed, in accordance withRFC 3668.Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents asInternet-Drafts.Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire onApril 11, 2005.January 16, 2006. Copyright Notice Copyright (C) The Internet Society(2004). All Rights Reserved.(2005). Abstract The purpose of this paper is to describe a minimum set of features that extends the Nemo basic support [4] in order to avoid loops in the nested Nemo case. As a result, Mobile Routers assemble into a tree that can be optimized based on various metrics. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terms and Abbreviations . . . . . . . . . . . . . . . . . . . 3 3. Motivations . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1MultihomedMulti-Homed nested mobile network . . . . . . . . . . . ..4 3.2 Loops in nested Nemo . . . . . . . . . . . . . . . . . . . 5 4. Router Advertisement extensions . . . . . . . . . . . . . . . 6 4.1 Router Advertisement message . . . . . . . . . . . . . . . 6 4.2 Tree Information Option . . . . . . . . . . . . . . . . .67 5. Tree Discovery . . . . . . . . . . . . . . . . . . . . . . . .89 5.1 tree selection . . . . . . . . . . . . . . . . . . . . . .911 5.2SubtreeSub-tree mobility . . . . . . . . . . . . . . . . . . . .. 1011 5.3Tree Hop TimerDRL entries states and stability . . . . . . . . . . . . . 11 5.3.1 Held-Up . . . . . . . . .10 5.4 Collisions and stability. . . . . . . . . . . . . . 12 5.3.2 Held-Down . . . . .11 5.4.1 Hold down. . . . . . . . . . . . . . . . . 13 5.3.3 Collision . . . . .12 5.4.2. . . . . . . . . . . . . . . . . 13 5.3.4 Instability . . . . . . . . . . . . . . . . . . . . .12 5.4.3 Collision14 5.4 Legacy Routers . . . . . . . . . . . . . . . . . . . . . .12 5.5 Legacy Routers14 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 7. Security Considerations .13 6.. . . . . . . . . . . . . . . . . . 15 8. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . .14 6.116 8.1 Changes from version 00 to 01 . . . . . . . . . . . . . .14 7.16 8.2 Changes from version 01 to 02 . . . . . . . . . . . . . . 16 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .14 8.16 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 10.1 Normative Reference .15. . . . . . . . . . . . . . . . . . 17 10.2 Informative Reference . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .1518 Intellectual Property and Copyright Statements . . . . . . . .1719 1. Introduction As per Nemo Basicsupport,support [4], a Mobile Router autoconfigures a single Care of Address (CoA) to register to its Home Agent and terminate itsMR-HAMobile Router-Home Agent tunnel. ThatCoACare of Address is theMR'sMobile Router point of attachment to the nested Nemo. Consequently, if loops are avoided, the nested Nemo assumes the shape of a tree. The nodes of the tree are Mobile Routers, the root is either a fixed or a Mobile Router, called in the latter case the root Mobile Router in NEMO terminology [6]. The leaves are mobile or fixed hosts, called Local Fixed Nodes, Local Mobile Nodes and Visiting Mobile Nodes in the NEMO terminology. This paper provides (1) a minimum extension to IPv6NeighbourNeighbor Discovery Router Advertisements in order to ensure that Mobile Routers attaching to one another actually avoid loops and end up forming a tree, and (2) the minimum common part of allMRMobile Router algorithms that is required to ensure that whatever their specific decisions, loops betweenMRsMobile Routers will be avoided. The method is based on an autonomous decision by eachMRMobile Router with no global state convergence such as a MANET proactive routing protocol. In fact,MRsMobile Routers may make different decisions from a same input, based on their own configuration and their own algorithms. In order to build trees of Mobile Routers, we propose an extension to the ICMP Router Advertisement (RA) message, the Tree Information Option (TIO). TheRA/TIORA-TIO allowsMRsMobile Routers to advertise the tree they belong to, and to select and move to the best location within the available trees.MRsMobile Routers propagate the TIO down the tree, updating some metrics such as the tree depth, leaving alone root information such as the tree identifier, and sending the result in RAs over the ingress interfaces. 2. Terms and Abbreviations This document assumes that the reader is familiar with Mobile IPv6 as defined in [3] and with the concept of Mobile Router defined in the Nemo terminology document [6]. For the needs of this paper, the following new definitions are introduced: NemoClusterhead:clusterhead: The root of a tree of mobile routers. When the tree of Mobile Routers is attached to the infrastructure, the fixed Access Router may act as cluster head if it supports the Tree Information Option described in this document. If it does not, then theClusterheadclusterhead coincides with the rootMRMobile Router in NEMO terminology. A clusterhead is elected even when the tree is not attached to theinfrastructuture.infrastructure. A stand-aloneMRMobile Router is aClusterhead.clusterhead. Floating Tree: A Nested Nemo whichClusterheadclusterhead is aMRMobile Router that is not attached to anAR.Access Router. Grounded Tree: A Nested Nemo whoseClusterheadclusterhead is attached to the infrastructure. In other words, the clusterhead is either a fixed router that supportsRA/TIORouter Advertisement - Tree Information Option or is aMRMobile Router which attachment router is a fixed router that does not supportRA/TIO.Router Advertisement - Tree Information Option. Mobile Access Router: A Mobile Router that provides Access Router services to otherMRs.Mobile Routers. Attachment Router: The Router that is selected as Access Router by a Mobile Router, making it its parent in the nested NEMO tree. Propagation: The action by a Mobile Router that consists in receiving aRA/TIORouter Advertisement - Tree Information Option from its Attachment Router, recomputing a few specific fields, removing unknown suboption, and appending the resulting TIO to RAs sent over the ingress interfaces. 3. Motivations 3.1MultihomedMulti-Homed nested mobile network A nested mobile network that is made of multipleMRsMobile Routers having a direct connection to the Internet is said to bemultihomed.multi-homed. Multihoming in Nemo offers useful properties toMNNs.Mobile Network Nodes. The NEMO multihoming issues[8][9] draft lists potentialmultihomedmulti-homed configurations for Nemo and explains the different problems and advantages that some configurations may introduce. Multihoming offers three main abilities to the Nemo: it allows route recovery on failure, redundancy and load-sharing betweenMRsMobile Routers (or betweenMRs'interfaces).interfaces of a given Mobile Router). However, for themomentmoment, thereareis no requirements nor protocoldefining how to usethat would define in interaction between several egress interfaces inside a Nemo. In a nested Nemo, the hierarchy ofMRsMobile Routers increases the complexity of the route and/or router selection forMNNs.Mobile Network Nodes. Each level of a Nemo implies the usage of a new tunnel between theMRMobile Router and its home agent. Thus if aMNNMobile Network Node connects to a sub-Nemo which is also a sub-Nemo, packets from theMNNMobile Network Node will be encapsulated three times. When the Nemo where the MN is connected to ismultihomed,multi-homed, the MN may have the choice between severalARAttachment Router to be its default router. Reference[9][7] introduces new options in Router Advertisement to allow any node on a link to choose between several routers. This option mainly consists of a 2-bits flag that indicates the preference of the router (low, medium or high). Furthermore, the same flag can be set in the Route Information option indicating the preference of a specific prefix. Therefore, any node can determine its best default router(s) according to a given destination and its best router for default, which will be used by default. However this preference is only useful in a flat topology; It gives a way to the node to choose between differentaccessattachment routers advertising prefixes on the node link. But if the node is inside a hierarchical topology(some access routers are not at the same level)the node can not learn theleveldepth of eachaccess router.attachment router, and might not select the most efficient path. One of the usage of the new option introduced in this document is to distribute information on the hierarchy ofMRs.Mobile Routers. This information can be distributed toARs, MRsAttachment Routers, Mobile Routers andMNNsMobile Network Nodes as well in order to allow better route selection and to increase the knowledge of the Nemo topology on each node. 3.2 Loops in nested Nemo When severalMRsMobile Routers attach to each other to form a nested Nemo, loops can be created if they are notexplicitelyexplicitly avoided. In the simplest case, when egress and ingress interfaces of anMRMobile Router are all wireless, a mobile router may be listening to Router Advertisement from its own ingress interface, creating a confliction problem. In the general case, arbitrary attachment ofMRsMobile Routers will form graphs that are not exempt of loops. For instance: Assume a nested Nemo whereMR1Mobile Router1 is connected to the infrastructure, andMR3Mobile Router3 is attached toMR2.Mobile Router2. Say thatMR2Mobile Router2 can hear bothMR3Mobile Router3 andMR1Mobile Router1 over its wireless egress interface. IfMR2Mobile Router2 selectMR1,Mobile Router1, the connectivity to theinfrastrutureinfrastructure is provided for all. But ifMR2Mobile Router2 selectsMR3, MR2Mobile Router3, Mobile Router2 andMR3Mobile Router3 end up forming a loop and are disconnected from their Home Agents. With Nemo basic support, aMRMobile Router uses a single primaryCareOfCare Of Address to attach to the nested structure. As a result, if loops are avoided, the nested NEMO end up forming a tree. It is beneficial to be able to form that tree in an optimum fashion for a given set of metrics such as tree depth. The shape of a nested Nemo may change rapidly due toMRsMobile Routers movement. It is thus impractical to expect eachMRMobile Router to be able to maintain states about the whole tree structure in a link state fashion. On the contrary, it is also beneficial to allow eachMRMobile Router to make its own independent selection based on a minimum information about its immediate neighbors, in order to reestablish the tree quickly upon erratic movements. EachMRMobile Router should be able to make its own attachment router selection based on its own condition (eg battery level), its own set of constraints that may not apply to otherMRsMobile Routers in the tree, and in general its own algorithm. As a result, the standardization effort should concentrate on a common minimum set of rules that must be common to allMRsMobile Routers in order to prevent routing loops in the nested NEMO while leavingMRsMobile Routers independent in theirARAttachment Router selection algorithms. 4. Router Advertisement extensions New extensions of Router Advertisement are proposed to distribute the knowledge of theMRMobile Router hierarchy inside a nested Nemo. These extensions are defined in different options/sub-options: a flag bit from the reserved flag field of Router Advertisement message is used to indicate whether the sending router is aMRMobile Router or not; a new option is defined to transport minimum information on the tree to avoid loops generation; 4.1 Router Advertisement message We propose to use a reserved flag of the Router Advertisement message to inform whether the sending router is aMRMobile Router or not. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Cur Hop Limit |M|O|H|N|Reservd| Router Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reachable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Retrans Timer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options ... +-+-+-+-+-+-+-+-+-+-+-+- Figure 1: Router Advertisement Nemo enabled router (N) The Nemo enabled router (N) bit is set when the sending router is a Mobile Router. 4.2 Tree Information Option The following option regroups the minimum information that allows aMRMobile Router to discover a tree and select its point of attachment while avoiding loop generation. It can also be used byMNNsMobile Network Nodes to select their best default router. If the default router of anon-MRnon-Mobile Router sends Router Advertisements with a tree discovery option, thenon-MRnon-Mobile Router MUST set the N flag of its own Router Advertisement to 0 and copy the Tree Discovery Option in its own Router Advertisement. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length |G|H| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TreePref. | Preference | BootTimeRandom | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TreeDepth |TreePref.Reserved | TreeDelay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PathDigest | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | TreeID | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sub-option(s)... +-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure2.2: Tree Information Option Type 8-bit unsigned integer set to 10 by theClusterhead.clusterhead. Value is "TBD". Length 8-bit unsigned integer set to 4. The length of the option (including the type and length fields) in units of 8 octets. Grounded (G) The Grounded (G) flag is set when theClusterheadclusterhead is attached to a fixed network infrastructure (such as the Internet). Home (H) The Home (H) flag is set when theClusterheadclusterhead is attached to its home network. Reserved 16-bit unsigned integer set to 0 by theClusterhead.clusterhead. TreePreference 8-bit unsigned integer set by the clusterhead to its preference and unchanged at propagation. Default is 0 (lowest preference). Preference The administrative preference of that (mobile) Access Router. Default is 0. 255 is the highest possible preference. Set by eachMRMobile Router at propagation time. BootTimeRandom A random value computed at boot time and recomputed in case of a duplication with anotherAR.Attachment Router. The concatenation of the Preference and the BootTimeRandom is a 32-bit extended preference that is used to resolve collisions. It is set by eachMRMobile Router at propagation time. TreeDepth 8-bit unsigned integer. The tree depth of the clusterhead is 0 if it is a fixed router and 1 if it is a Mobile Router. The tree Depth of a tree Node is the depth of its attachment router as received in a TIO, incremented by one. All nodes in the tree advertise their tree depth in the Tree Information Options that they append to the RA messages over their ingress interfaces as part of the propagation process.TreePreference 8-bit unsigned integer set by the Clusterhead to its preference and unchanged at propagation. Default is 0 (lowest preference).TreeDelay 16-bit unsigned integer set by theClusterheadclusterhead indicating the delay before changing the tree configuration, in milliseconds. A default value is 128ms. It is expected to be an order of magnitude smaller than the RA-interval so if the clusterhead has a sub-second RA-interval, the Tree delay may be shorter than 100ms. It is also expected to be an order of magnitude longer than the typical propagation delay inside the nested Nemo. PathDigest 32-bit unsigned integer CRC, updated by eachMR.Mobile Router. This is the result of a CRC-32c computation on a bit string obtained by appending the received value and theMRMobile Router Care of Address.Clusterheadsclusterheads use a 'previous value' of zeroes to initially set the PathDigest. TreeID 128-bit unsigned integer which uniquely identify atreetree. This value is set by theClusterhead.clusterhead. The global IPv6 home address of theClusterheadclusterhead can be used. The following values MUST not change during the propagation of the TIO down the tree: Type, Length, G, H, TreePreference, TreeDelay and TreeID. All other fields of the TIO are updated at each hop of the propagation. 5. Tree Discovery Here follows a set of rules and definitions that MUST be followedbeby all Mobile Routers: 1. AnMRMobile Router that is not attached to anARAttachment Router is the NemoClusterheadclusterhead of itsown,own floating tree. It's depth is 1. 2. AnMRMobile Router that is attached to anARAttachment Router that does not support TIO, is the clusterhead of itsown,own grounded tree. It's depth is 1. 3. A router sending a RA without TIO is considered a groundedARAttachment Router at depth 0.Thus, a MR that attaches to an AR that does not include a TIO in its RA becomes a Clusterhead of depth 1.4. The NemoClusterHeadclusterhead of a tree exposes the tree in theRA/TIORouter Advertisement - Tree Information Option andMRsMobile Routers propagate the TIO down the tree with the RAs that they forward over their ingress links. 5. AnMRMobile Router that is already part of a tree MAY move at any time and with no delay in order to get closer to the clusterhead of its current tree - i.e. in order to reduce its own tree depth. But anMRMobile Router MUST NOT move down the tree that it is attached to.MRsMobile Routers MUST ignore RAs that are received from other routers located deeper or at the same depth within the same tree. 6. AnMRMobile Router may move from its current tree into any different tree at any time and whatever the depth its reaches in the new tree, but it may have to wait for a Tree Hop timer to elapse in order to do so. TheMRMobile Router will join that other tree if it is more preferable for reasons of connectivity, configured preference, size, security, bandwidth, tree depth, or whatever metrics theMRMobile Router cares to use. 7. If aMRMobile Router has selected a new attachment router but has not moved yet (because it is waiting for Tree Hop timer to elapse), theMRMobile Router is unstable and refrains from sendingRATIOs.Router Advertisement - Tree Information Options. 8. When anMRMobile Router joins a tree, moves within its tree, or when it receives a modified TIO from its currentaccessattachment router, theMRMobile Router sends an unsolicited Router Advertisement message on all its mobile networks (i.e. all its ingress interfaces). The RA contains a TIO that propagates the new tree information. At the same time, theMRMobile Router MAY send a Binding Update to its home agent or a local proxy of some sort, because the tree it is attached to has changed. If theMRMobile Router fails to reach itsHA,Home Agent, it MAY attempt to roll back the movement or to retry theHAHome Agent discovery procedure. 9. This allows the new higher parts of the tree to take place first eventually dragging their sub-tree with them, and allowing stepped sub-tree reconfigurations, limiting relative movements. 5.1 tree selection The tree selection is implementation and algorithm dependent. In order to limit erratic movements, and all metrics being equal,MRsMobile Routers SHOULD stick to their previous selection. Also,MRsMobile Routers SHOULD provide a mean to filter out candidateARsAttachment Routers whose availability is detected as fluctuating, at least when more stable choices are available. For instance, theMRMobile Router MAY place the failedARAttachment Router in a Hold Down mode that ensures that theARAttachment Router will not be reused for a given period of time. The known trees are associated with theARAttachment Router that advertises them and kept inan ordered list, per order of preference,a list by extending the Default Router List. DRL entries are extended to store the information received from the lastTIO,TIO. These entries are managed by states anda timer ID -and related data- to delay the reaction to a better RA message, the tree hop timer, astimers described in the next section. When connection to a fixed network is not possible or preferable for security or other reasons, scattered trees should aggregate as much as possible into larger trees in order to allow inner connectivity. How to balance these trees is implementation dependent, and MAY use a specific visitor-counter suboption in the TIO. 5.2SubtreeSub-tree mobility It might be perceived as beneficial for asubtreesub-tree to move as a whole. The way it would work is for aMRMobile Router to stayroot-MRroot- Mobile Router even if itself is attached into a parent tree. But the loop avoidance is based on the knowledge of the tree that theMRMobile Router visit, preventing aMRMobile Router to move down a same tree. So without additional support, tree-level loops could form. To avoid this, it is possible to add a path vector suboption to the TIO that reflects the nesting of trees. If aroot-MRroot-Mobile Router joins a parent tree, then it needs to add its treeID to the path vector, but it can not join if the treeID is already listed. A specific case is theroot-MRroot-Mobile Router of a tree that attaches to a fixed Access Router. Thatroot-MRroot-Mobile Router might omit to consider a TIO that comes from the newARAttachment Router and decide to stay root, in order to keep the tree consistency from the nestedMRsMobile Routers standpoint. This does not create loops, even if the path vector is not present 5.3Tree Hop TimerDRL entries states and stability Attachment routers in the DRL may or may not be usable for roaming depending on runtime conditions. The following states are defined: Current This Attachment Router is used for roaming Candidate This Attachment Router can be used for roaming. Held-Up This Attachment Router can not be used till treeHophop timer elapses. This does not occur for a fixed Attachment Router that does not send a TIO since the tree delay is null in that case. Held-Down This Attachment Router can not be used till hold down timer elapses. At the end of the hold-down period, the router is removed from the DRL, and will be reinserted if it appears again with a RA. Collision This Attachment Router can not be used till its next RA. 5.3.1 Held-Up This state is managed by the tree Hop timer, it serves 2 purposes: Delay the reattachment of asubtreesub-tree that has been forced to detach. This allows to make sure that when asubtreesub-tree has detached, theRATIORouter Advertisement - Tree Information Option that is initiated by the new clusterhead has spread down thesubtreesub-tree so that two different trees have formed. LimitRA/TIORouter Advertisement - Tree Information Option storms when two trees collide. The idea is that between the nodes from tree A that wish to move to tree B, those that see the highest place in tree B will move first and advertise their new locations before other nodes from tree A actually move. A new tree is discovered upon a router advertisement message with or without aRA/TIO.Router Advertisement - Tree Information Option. TheMRMobile Router joins the tree by selecting the source of the RA message as itsaccessattachment router (default gateway) and propagating the TIO accordingly. When a new tree is discovered, the candidateARAttachment Router that advertises the new tree is placed in a held up state for the duration of a Tree Hop timer. If the newARAttachment Router is more preferable than the current one, theMRMobile Router expects to jump and becomes unstable. AMRMobile Router that is unstable may discover otherARsAttachment Routers from the same new tree during the instability phase. It needs to start a new Tree Hop timer for all these. The first timer that elapses for a given new tree clears them all for that tree, allowing theMRMobile Router to jump to the highest position available in the new tree. The duration of the Tree Hop timer depends on the tree delay of the new tree and on the depth ofARAttachment Router that triggers it: (AR's depth + random) * AR's tree_delay (where 0 <= random < 1). It is randomized in order to limit collisions and synchronizations.5.4 Collisions and stability Attachment routers in the DRL may or may not be usable for roaming depending on runtime conditions. The following states are defined: Current This AR is used for roaming Candidate This AR can be used for roaming. Typically, an initial held-up period is over but the candidate is not preferred over the current AR. Held-Up This AR can not be used till tree hop timer elapses. This does not occur for a fixed AR that does not send a TIO since the tree delay is null in that case..5.3.2 Held-DownThis AR can not be used till hold down timer elapses. At the end of the hold-down period, the router is removed from the DRL, and will be reinserted if it appears again with a RA. Collision This AR can not be used till its next Router Advertisement 5.4.1 Hold downWhen a router is 'removed' from the Default Router List, it is actually held down for a hold down timer period, in order to prevent flapping. This happens when anARAttachment Router disappears (upon expiration timer), and when anARAttachment Router is tried but can not reach theHAHome Agent (upon expiration of anotherAR,Attachment Router, or upon tree hop for thatAR).Attachment Router). An Attachment Router that is held down is not considered for the purpose of roaming. When the hold down timer elapses, theARAttachment Router is removed from the DRL.5.4.2 Instability A MR is instable when a Held-Up AR is placed before the current AR. Instability is transient (In the order of tree hop timers). When a MR is instable, it MUST NOT send RAs with TIO. This avoids loops when MR A wishes to attach to MR B and MR B wishes to attach to MR A. Unless RA cross (which is a short window of time), a MR receives TIO from stable ARs, which do not plan to attach to itself, so the MR can safely attach to them. A MR is instable when it is prepared to move shortly to another AR. This happens typically when it discovers a new and more preferred candidate AR, for the duration of the tree hop timer. During that time, the new candidate is placed in Held-up state. Instability may also occur when the current AR is lost and the next best is still held up. Instability is resolved when the tree hop timer of all the AR (s) causing instability elapse. Such AR is changes state to Current or Held-Down. 5.4.35.3.3 Collision A race condition occurs if 2MRsMobile Routers sendRA/TIORouter Advertisement - Tree Information Option at the same time and wish to join each other. In order to detect the situation,MRsMobile Routers time stamp the sending ofRA/TIO.Router Advertisement - Tree Information Option. AnyRA/TIORouter Advertisement - Tree Information Option received within a short media-dependant period introduces a risk. To divide the risk, A 32bits extended preference is added in the TIO. The first byte is theARclusterhead preference, then the router own preference (default0),is 0 for both), therestremaining 16 bits is a boot time computed random. AMRMobile Router that decides to join anARAttachment Router will do so between(AR(Attachment Router depth) and(AR(Attachment Router depth + 1) times theARAttachment Router tree delay. But since aMRMobile Router is unstable as soon as it receives theRA/TIORouter Advertisement - Tree Information Option from the preferredAR,Attachment Router, it will restrain from sending aRA/TIORouter Advertisement - Tree Information Option between the time it receives the RA and the time it actually jumps. So the crossing of RA may only happen during the propagation time between theARAttachment Router and theMR,Mobile Router, plus some internal queuing and processing time within each machine. It is expected that one tree delay normally covers that interval, but ultimately it is up to the implementation and the configuration of theARAttachment Router to define the duration of risk window. There is risk of a collision when aMRMobile Router receives an RA, for an other mobile router that is more preferable than the currentAR,Attachment Router, within the risk window. In the face of a potential collision, the Mobile Router with the lowest extended preference processes theRA/TIORouter Advertisement - Tree Information Option normally, while the router with the highest preference places the other in collision state, does not start the tree hop timer, and does not become instable. It is expected that next RAs between the two will not cross anyway.5.55.3.4 Instability A Mobile Router is instable when it is prepared to move shortly to another Attachment Router. This happens typically when the Mobile Router has selected a more preferred candidate Attachment Router and has to wait for the tree hop timer to elapse before roaming. Instability may also occur when the current Attachment Router is lost and the next best is still held up. Instability is resolved when the tree hop timer of all the Attachment Router (s) causing instability elapse. Such Attachment Router is changes state to Current or Held- Down. Instability is transient (in the order of tree hop timers). When a Mobile Router is unstable, it MUST NOT send RAs with TIO. This avoids loops when Mobile Router A wishes to attach to Mobile Router B and Mobile Router B wishes to attach to Mobile Router A. Unless RA cross (see Collision section), a Mobile Router receives TIO from stable Attachment Routers, which do not plan to attach to itself, so the Mobile Router can safely attach to them. 5.4 Legacy Routers A legacy router sends its Router Advertisements without a TIO. Consequently, a legacy router can be mistaken for a fixed Access Router when it is placed within a nested NEMO structure, and defeat the loop avoidance mechanism. Consequently, it is important for the administrator to prevent address autoconfiguration by visitingMRsMobile Routers from such a legacy router. 6. IANA Considerations Section 4.2. requires the definition of a new option to Neighbor discovery [1] messages, the Router Advertisement - Tree Information Option (RA-TIO). The Router Advertisement - Tree Information Option has been assigned the value TBD within the numbering space for IPv6 Neighbor Discovery Option Formats. 7. Security Considerations At the current level of this draft, the TIO bears the security level of the RA and the link. Nothing is added to it. A deeper threat analysis would be required to eventually propose additional security. 8. Changes6.18.1 Changes from version 00 to 01 Added text onsubtreesub-tree mobility from the discussion with Marcelo. Added text on nested legacy routers from the discussion with Marcelo.7.8.2 Changes from version 01 to 02 Improved text on instability Changed the formula for the 4 bytes number used in collision avoidance 9. Acknowledgments The authors wish to thank Marco Molteni and Patrick Wetterwald (cisco) for their participation to this design and the review of the document, and Massimo Villari (university of Messina), for his early work on simulation and research on the subject. This work is also based on prior publications, in particular HMRA[7][8] by Hosik Cho and Eun-Kyoung Paik from Seoul National University and other non IETF publications coauthored with Thierry Ernst and Thomas Noel. Finally, thanks to Marcelo Bagnulo Braun for his constructive review.810. References 10.1 Normative Reference [1] Narten, T., Nordmark,E.E., and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998. [2] Thomson, S. and T. Narten, "IPv6 Stateless Address Autoconfiguration", RFC 2462, December 1998. [3] Johnson, D., Perkins,C.C., and J. Arkko, "Mobility Support in IPv6",draft-ietf-mobileip-ipv6-24 (work in progress), July 2003.RFC 3775, June 2004. [4] Devarapalli, V., Wakikawa, R., Petrescu, A., and P. Thubert, "Network Mobility (NEMO) Basic Support Protocol",draft-ietf-nemo-basic-support-03 (work in progress), June 2004.RFC 3963, January 2005. [5] Ernst, T., "Network Mobility Support Goals and Requirements",draft-ietf-nemo-requirements-02draft-ietf-nemo-requirements-04 (work in progress), February2004.2005. [6] Ernst, T. and H. Lach, "Network Mobility Support Terminology",draft-ietf-nemo-terminology-01draft-ietf-nemo-terminology-03 (work in progress), February2004.2005. [7] Draves, R. and D. Thaler, "Default Router Preferences and More- Specific Routes", draft-ietf-ipv6-router-selection-07 (work in progress), January 2005. 10.2 Informative Reference [8] Cho, H., "Hierarchical Mobile Router Advertisement for nested mobile networks", draft-cho-nemo-hmra-00 (work in progress), January 2004.[8][9] Ernst, T., "Analysis of Multihoming in Network Mobility Support",draft-ietf-nemo-multihoming-issues-00draft-ietf-nemo-multihoming-issues-02 (work in progress),July 2004. [9] Draves, R. and R. Hinden, "Default Router Preferences and More-Specific Routes", draft-ietf-ipv6-router-selection-03 (work in progress), December 2003.February 2005. Authors' Addresses Pascal Thubert Cisco Systems Village d'Entreprises Green Side 400, Avenue de Roumanille Batiment T3 Biot - Sophia Antipolis 06410 FRANCE Phone: +33 4 97 23 26 34EMail:Email: pthubert@cisco.com Caroline Bontoux Fortinet Sophia Antipolis Biot 06410 FRANCE Email: cbontoux@fortinet.com Nicolas Montavont LSIIT - Univerity Louis Pasteur Pole API, bureau C444 Boulevard Sebastien Brant Illkirch 67400 FRANCE Phone: (33) 3 90 24 45 87EMail:Email: montavont@dpt-info.u-strasbg.fr URI: http://www-r2.u-strasbg.fr/~montavont/ Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society(2004).(2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.