6LoWPAN P. Thubert Internet-Draft Cisco Intended status: Standards TrackJuly 10, 2008June 6, 2010 Expires:January 11, 2009December 8, 2010 6LoWPAN Backbone Routerdraft-thubert-6lowpan-backbone-router-01draft-thubert-6lowpan-backbone-router-02 Abstract Some LLN subnets are expected to scale up to the thousands of nodes and hundreds of routers. This paper proposes an IPv6 version of the Backbone Router concept that enables such a degree of scalability using a high speed network as a backbone to the subnet. Status of this MemoBy submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or sheThis Internet-Draft isaware have been or will be disclosed, and any of which he or she becomes aware will be disclosed,submitted inaccordancefull conformance withSection 6the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force(IETF), its areas, and its working groups.(IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts.Drafts is at http://datatracker.ietf.org/drafts/current/. 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 onJanuary 11, 2009.December 8, 2010. Copyright Notice Copyright(C) The(c) 2010 IETF Trust(2008). Abstract ISA100.11a is a Working Group at the ISA SP100 standard committee that covers Wireless Systems for Industrial AutomationandProcess Control. The WGthe persons identified as the document authors. All rights reserved. This document ismandatedsubject todesign a scalable, industrial grade LowPAN for devices such as sensors, valves,BCP 78 andactuators. The upcoming standard uses the 6LoWPAN format forthenetwork header. It also introducesIETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on theconceptdate ofa Backbone Router to merge small LoWPANs via a high speed transitpublication of this document. Please review these documents carefully, as they describe your rights andscale the ISA100.11a network. This paper proposes an IPv6 versionrestrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of theBackbone Router concept.Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .56 4.Neighbor Binding messages . . . . . . . . . . .New types and formats . . . . . . .6 4.1. Binding Solicitation message. . . . . . . . . . . . . 8 4.1. Binding Tracking Option . .7 4.2. Binding Confirmation message. . . . . . . . . . . . . . . 8 5.LowPAN device operations .Backbone Router Operations . . . . . . . . . . . . . . . . . . 10 5.1.Forming addresses . . .Backbone Link and Router . . . . . . . . . . . . . . . . . 10 5.2.Binding process . .ND Proxy Operations . . . . . . . . . . . . . . . . . . .1110 5.3.Looking up neighbor addresses . . . . . . . . . . . .Claiming and defending . .12 5.4. Answering address look up. . . . . . . . . . . . . . . . 126. Backbone router operations . . . . . . . . . . . . . . . . . . 13 6.1. Exposing the Backbone Router . . . . . . . . . . . . . . . 13 6.2. Binding process . . . . . . . . . . . . . . . . . . . . . 14 6.3. Looking up neighbor addresses . . . . . . . . . . .5.4. Conflict Resolution . . .15 6.4. Answering address look up. . . . . . . . . . . . . . . .15 6.5. Forwarding packets12 5.5. Assessing an entry . . . . . . . . . . . . . . . . . . . .15 7.13 6. Security Considerations . . . . . . . . . . . . . . . . . . .16 8.15 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 169.8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .16 10.17 9. References . . . . . . . . . . . . . . . . . . . . . . . . . .16 10.1.18 9.1. Normative References . . . . . . . . . . . . . . . . . . .16 10.2.18 9.2. Informative References . . . . . . . . . . . . . . . . . .1718 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . .17 Intellectual Property and Copyright Statements . . . . . . . . . . 1920 1. IntroductionISA100.11a is a Working Group at the ISA SP100 standard committee that covers Wireless Systems for Industrial Automation and Process Control. The ISA100.11a is mandated to design a scalable, industrial grade wireless network and application layer suite of protocols for low power devices such as sensors and actuators, with a response time on the order of 100ms.The ISA100.11aWGstandard hasalsointroduced the concept of a Backbone Router that would interconnect smallLoWPANsLLNs over a high speed transit network and scale a single ISA100.11a network up to the thousands of nodes. In that model the LLNs and the backbone form a single subnet in which nodes can move freely without the need of renumbering, and the Backbone Router is a special kind of Border Router designed to manage the interaction between the LLNs and the backbone at layer 3. Similar scalability requirements exist in the metering and monitoring industries. In a network that large, it is impossible for a node to register to all Border Routers as suggested for smaller topologies in Neighbor Discovery Optimization for Low-power and Lossy Networks [I-D.ietf-6lowpan-nd]. This paper specifies IP layer functionalities that are required to implement the concept of a Backbone Router with IPv6, in particular the application of the "IP Version 6 Addressing Architecture" [RFC4291], " the Neighbor Discovery Protocol" [RFC4861] and "IPv6 Stateless Address Autoconfiguration" [RFC4862]. The use of EUI-64 based link local addresses, Neighbor Discovery Proxying[RFC4389][RFC4389], Neighbor Discovery Optimization for Low-power and Lossy Networks [I-D.ietf-6lowpan-nd], the IPv6 Routing Protocol for Low power and Lossy Networks [I-D.ietf-roll-rpl] and Optimistic Duplicate Address Detection [RFC4429] are discussed. Also, the concept of Transit Link is introduced to implement thetransitbackbone network thatiswas envisioned by ISA100.11a.An extension to the Neighbor Discovery Protocol is introduced to enable LoWPAN nodes to register to one or more Backbone Routers that acts as white board for address resolution.Thisfeature enables to avoid the useoperation ofmulticast over a Low power Wireless Personal Area Network forthepurpose of address resolution. TheBackbone Routermight also acts as proxy forrequires that some protocol operates over theNeighbor Discovery Protocol for all nodes attached to it through a process of registrationLLNs from which node registrations can be obtained, andenables to merge multiple LoWPANs via a transit link into a larger link. A Backbone Router advertises itself using a new option in the ND Router Advertisement Message. A new anycast address 6LOWPAN_BBR is also introduced forthat can disseminate thepurposelocation ofreachingthenearest Backbonebackbone Routerin the absence of any information. This enables to reduce the use of multicast RAs for the router discovery operation. The routing toover thenearest router that owns that anycast address is out of scope for this specifiation. Another anycast address 6LOWPAN-NODE is introduced to enable any LowPAN node to receive a response to its registration whether it completes successfully or not.LLN. Further expectations will be detailed. The way the PAN IDs and 16-bit short addresses are allocated and distributed in the case of an 802.15.4 network is not covered by this specification. Similarly, the aspects of joining and securing the network are out of scope. The way the nodes in the LLN learn about their Backbone Router depends on the protocol used in the LLN. In the case of RPL, a Border Router is the root of the DODAG that it serves and represents all nodes attached to that DODAG. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Readers are expected to be familiar with all the terms and concepts that are discussed in "Neighbor Discovery for IP version 6" [RFC4861], "IPv6 Stateless Address Autoconfiguration" [RFC4862], "IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals"[RFC4919][RFC4919], Neighbor Discovery Optimization for Low-power and Lossy Networks [I-D.ietf-6lowpan-nd] and "Transmission of IPv6 Packets over IEEE 802.15.4 Networks" [RFC4944]. Readers would benefit from reading "Mobility Support in IPv6" [RFC3775], "Neighbor Discovery Proxies (ND Proxy)" [RFC4389] and "Optimistic Duplicate Address Detection" [RFC4429] prior to this specification for a clear understanding of the art in ND-proxying and binding.ThisAdditionally, this documentdefines additional terms: Transit Linkuses terminology from [I-D.ietf-roll-terminology], and introduces the following terminology: Backbone This is an IPv6 transit link that interconnects 2 or morebackbone routers.Backbone Routers. It is expected to be deployed as a high speed backbone in order to federate a potentially large set ofLoWPANS.LLNS. Also referred to as aLoWPANLLN backbone or transit network. Backbone Router An IPv6 router thatinterconnectsfederates theLoWPAN withLLN using aTransit Link.transit link as a backbone. ExtendedLoWPANLLN This is the aggregation of multipleLoWPANsLLNs as defined in [RFC4919] interconnected by a Transit Link via Backbone Routers and forming a single IPv6 link. Binding The association of theLoWPANLLN node IPv6 address and Interface ID with associated proxying states including the remaining lifetime of that association. Registration The process during which aLoWPANLLN nodesends a Binding ND message toinjects its address in aBackboneprotocol through which the Border Routercausingcan learn the address and proxy ND for it. Primary BR The BR that will defend abindingregistered address for theLoWPAN nodepurpose of DAD over the backbone Secondary BR A BR tobewhich the address is registered. A Secondary Router MAY advertise the address over the backbone and proxy for it. 3. Overview A Transit Link that we'll refer to a the LLN Backbone federates multipleLoWPANsLLNs as a single IPlink, the extended LoWPAN.subnet. EachLoWPANLLN in the subnet is anchored at a Backbone Router. The Backbone Routers interconnect theLoWPANsLLNs overthe Transitthat Backbone Link. A node can move freely from aLoWPANLLN anchored at a Backbone Router to aLoWPANLLN anchored at another Backbone Router on the sameTransit Linkbackbone and conserve its link local and any other IPv6 address it has formed. ---+------------------------ | Plant Network | +-----+ | | Gateway | | +-----+ | | Transit Link +--------------------+------------------+ | | | +-----+ +-----+ +-----+ | | Backbone | | Backbone | | Backbone | | router | | router | | router +-----+ +-----+ +-----+ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o oLoWPAN LoWPAN LoWPANLLN LLN LLN Figure 1:TransitBackbone Link and Backbone RoutersIn order to achieve this, the Transit linkThe Backbone Link is used as reference for Neighbor Discovery operations, by extending the concept of a Home Link as defined in [RFC3775] for Mobile IPv6. In particular, Backbone Routers perform ND proxying for theLoWPANLLN nodes in theLoWPANsLLNs they own through aPrimarynode registration. Thebackbone routerBackbone Router operation is compatible with that of a Home Agent. This enables mobility support forsensorLLN devices that would move outside of the network delimited by the transit link. This also enables collocation of Home Agent functionality within Backbone Router functionality on the same interface of a router.The Backbone Router is centric for address resolution inside the LoWPAN. The raison d'etre of the Backbone Router is to eliminate the needA LLN node registers and claims ownership ofthe support for multicasting over the LoWPAN for address resolution that the Neighbor Discovery flows normally require. This is based on a white boardits addresse(s) using proactive acknowledged registrationmodel that uses anycast and unicast only. Asexchanges with aresult,neighboring router. In case of aLoWPAN node performs unicast exchanges to its Backbone Router to claim and lookup addresses, andcomplex LLN topology, theBackbonerouter might be an intermediate LLN Routerproxiesthat relays theND requests overregistration to theTransit Link when necessary.LBR as described for instance in [I-D.ietf-6lowpan-nd] and [I-D.ietf-roll-rpl]. In turn, the Backbone Routers operate as a distributed database of all theLoWPANLLN nodes and use the Neighbor Discovery Protocol to share that information across the transitlink. This specification documents a Neighbor Binding protocol that enables a LoWPAN Node to claim and lookup addresses using a Backbone Router aslink in awhite board. This specification also documents the use of EUI-64 based link-local addresses and the way they are claimed by the Backbone Routers over the transit link.reactive fashion. For the purpose of Neighbor Discovery proxying, this specification documents theLoWPAN binding cache,LLN Master Neighbor Registry, a conceptual data structure that is similar to the MIP6 binding cache. The Master Neighbor Registry is fed by redistributing addresses learnt from the registration protocol used over the LLN. Another function of the Backbone Router is to perform6LowPAN6LoWPAN compression and expansion between theLoWPANLLN and the Transit Link and ensure MTU compatibility. Packets flow uncompressed over the Transit Link and are routed normally towards a Gateway or an Application sitting on the transit link or on a different link that is reachablevia IP.over the IP network. 4.Neighbor Binding messages This section introduces messageNew types and formatsfor all messages used in this specification.Thenew messages are all ICMP messages and extendspecification expects that thecapabilities of "protocol running on theIPv6 Neighbor Discovery Protocol" [RFC4861] 4.1. Binding Solicitation message The Binding Sollicitation hasLLN can provide afunction similar to that of the Binding Solicitation message in [RFC3775] for Mobile IPv6 and [RFC3963] for NEMO. Any optionsequence number called Transaction ID (TID) that isnot recognized MUST be skipped silently. The Binding Solicitation message is sent byassociated to theLoWPANregistration. When a node registers toits Backbone Router to register an address. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |O|P| Sequence # | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Binding Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option(s)... +-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Binding Solicitation message format IP fields Source Address: An IP address assigned to the sending interface, or the unspecified address if no addressmultiple BRs, it isassigned to the sending interface. Destination Address: The well-known Backbone Router anycast address 6LOWPAN_BBR orexpected that thespecific address of a given Backbone Router if available. Hop Limit: 255 ICMP fields Type: 8-bit unsigned integer. Value is "to be assigned by IANA". Code: 0 Checksum: The ICMP checksum. See [RFC4443] Reserved: This fieldsame TID isunused. It MUST be initializedused, tozero by the sender and MUST be ignored byenable thereceiver. P: Primary Flag. SetBR toindicate thatcorrelate therouter is primaryregistrations as being a single one, andMAY proxy for the node if Proxy ND is used on the transit link. If the flag is not set then the router MUST not proxy for the node. O: Optimistic Flag. Set to indicatedifferentiate that situation from a movement. Otherwise, thenode uses optimistic addresses and can accept packets onresolution makes it so that only theBinding Address even beforemost recent registration was perceived from thebindinghighest TID iscomplete.kept. TheRouter MUST always usespecification expects thatBinding Address as destination for the response as opposed to the well-known anywast address. Sequence #: A 16-bit unsigned integer used bythereceiving node to sequence Binding Solicitation and byprotocol running on thesending node to matchLLN can provide areturned Binding Confirmation. Lifetime: 32-bit unsigned integer. The number of seconds remaining beforeunique ID for thebinding MUST be considered expired. A valueowner ofzero indicates that the Binding Cache entry fortheregistered node MUST be deleted. Binding Address: The link-layeraddress thatthe sender wishes to assign or maintain assigned to its interface. Possible options Target link-layer address:is being registered. Thelink-layer address for the target, i.e., the senderOwner Unique ID enables to differentiate a duplicate registration from a double registration. In case of a duplicate, themessage. See [RFC4861].last registration looses. Thelink-layer address option MUSTOwner Unique ID can beincluded whenas simple as a EUI-64 burnin address, if thebindingdevice manufacturor iscreated and MAYconvinced that there can not beomitted in renewal. MTU: Specifies the maximum size ofafragmented messagemanuf error that would cause duplicate EUI64 addresses. Alternatively, thenode stackunique ID canrecompose. See [RFC4861] and [RFC4944]. 4.2. Binding Confirmation message The Binding Confirmation hasbe afunction similarhash of supposedly unique information from multiple orthogonal sources, for instance: o Burn in address. o configured address, id, security keys... o (pseudo) Random number, radio link metrics ... In any fashion, it is recommended that the device stores the unique Id in persistent memory. Otherwise, it will be prevented to reregister after a reboot that would cause a loss of memory until theBinding Ack message in [RFC3775] for Mobile IPv6Backbone Router times out the registration. The unique ID and[RFC3963] for NEMO. Anythe sequence number are placed in a new ND option that isnot recognized MUST be skipped silently. The Binding Confirmation message is sentused by the BackboneRouter node toRouters over theLoWPAN nodetransit link toconfirm whether an IP address MAY be assigneddetect duplicates and movements. The option format is as follows: 4.1. Binding Tracking Option This option is designed toan interface.be used with standard NS and NA messages between backbone Routers over a backbone link and may be used between LRs and LBRs over the LLN. By using this option, the binding in question can be uniquely identified and matched with the Master Neighbor Registry entries of each Backbone Router. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |X|P| Sequence # | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Length |LifetimeTID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Reservedreserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ++ | | + Binding Address + | | +Owner Unique Identifier + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| option(s)... +-+-+-+-+-+-+-+-+-+-+-+-+-+Figure3:2: BindingConfirmation message format IP fields Source Address: An IP addressTracking Option Option Fields Type: Length: 2 TID: A unique Transaction ID assignedtoby thesending interface ofhost in therouter. Destination Address:associated NR and used to match NC replies. Thewell-known LoWPAN node anycast address 6LOWPAN_NODE or the Binding Address for the LoWPAN node. Hop Limit: 255 ICMP fields Type: 8-bit unsigned integer. ValueTID is"to be assigned by IANA". Code: 0 Checksum: The ICMP checksum. See [RFC4443]set to zero when the node boots and then follows a lollipop lifetime, wrapping direcly from 0xFFFF to 0x10. Reserved: This field is unused. It MUST be initialized to zero by the sender and MUST be ignored by the receiver.P: Primary Flag. MUST echo the P flag inOwner Unique Identifier: A globally unique identifier for theBinding solicitation. X: Proxy Flag. Indicates thathost's interface associated with theroute actually proxiesbinding for thenode.NS/NA message in question. This canonly happen if the P flag is set as well. Sequence #: A 16-bit unsigned integer used by the receiving node to sequence Binding Solicitation and bybe thesending node to match a returned Binding Confirmation. Lifetime: 32-bit unsigned integer. The numberEUI-64 derived IID ofseconds remaining before the binding MUSTan interface, which can beconsidered expired. A valuehashed with other supposedly unique information from multiple orthogonal sources. 5. Backbone Router Operations 5.1. Backbone Link and Router The Backbone Router is a specific kind ofzero indicatesBorder Router that performs proxy Neighbor Discovery on its backbone interface on behalf of theBinding Cache entry for the registered node MUST be deleted. Binding Address: The link-layer addressnodes thatthe sender wishes to assign or maintain assigned toit has discovered on itsinterface. Possible options Source link-layer address: The link-layer address ofLow Power Lossy Network interfaces. On theinterface from whichLLN side, the Backbone RouterAdvertisement is sent. See [RFC4861]. MTU: Specifiesacquires its states about themaximum size ofnodes by terminating protocols such as RPL [I-D.ietf-roll-rpl] or 6LoWPAN ND [I-D.ietf-6lowpan-nd] as afragmented messageLLN Border Router. It is expected that therouter stack can recompose. See [RFC4861] and [RFC4944]. Prefix Information: The preferred address for the router. See [RFC4861] and [RFC3775]. When this informationbackbone ispresent,theSource link-layer address option MUST be present as well. The Prefix Information option MUST be included whenmedium used to connect thebinding is created and MAY be omitted in renewal. 5. LowPAN device operations 5.1. Forming addresses All nodes are requiredsubnet toautoconfigure at least one address, a link- local address that is derived fromtheIEEE 64-bit extended media access control addressrest of the infrastructure, and thatis globally unique toall thedevice. Link- local addressLBRs aredescribed in section 2.5.6 of [RFC4291]. Appendix A ofconnected to thatspecification explains howbackbone and support thenode buildsBackbone Router feature as specified in this document. The backbone is expected to be a high speed, reliable transit link, with affordable multicast capabilities, such as aninterface-ID based on the IEEE 64-bit extended MAC address by inverting the "u" (universal/local) bit. AsEthernet Network or a fully meshed NBMA network with multicast emulation, which allows aresult, knowledgefull support of classical ND as specified in [RFC4861] and subsequent RFCs. In other words, the64-bit addressbackbone is not a LLN. Still, some restrictions ofanother node onthesame extended LoWPAN is enoughattached LLNs will apply toderive its link-local address and reachthe backbone. In particular, itover IP. Another consequenceis expected that thelink local addressMTU ispresumably uniqueset to the same value on theExtended LoWPAN, whichbackbone and all attached LLNs. 5.2. ND Proxy Operations This specification enablesthe use of Optimistic Duplicate Address Detection (oDAD) [RFC4429]a Backbone Router to proxy Neighbor Discovery operations over theTransit Link andbackbone on behalf of theLoWPAN. The address MAY be created as optimisticnodes that are registered toenable its use in the binding process with the Backbone Router. Nodes should also autoconfigureit, allowing any device on thewell known anycast address 6LOWPAN_NODE. If they do not, they havebackbone touse their link local address in optimisticreach a LLN nodeand indicate so in the binding flows so thatas if it was on-link. In theBackbone Router uses thatcontext of this specification, proxy ND means: o defending a registered addressin its replies. Nodes MAY learnover the backbone using NA messages with the Override bit set o advertising a registered addressofover theBackbone Routersbackbone usingtraditional means such as configurationNA messages, asynchronously ortheas a response to a NeighborDiscovery Protocol Router AdvertisementSolicitation messages.But those messages are multicast and might not be sent ato Looking up ashort interval or at alldestination over theLoWPAN. This specification introduces a new anycast address 6LOWPAN_BBR that the node can usebackbone in order toreachdeliver packets arriving from thenearest Backbone Router without previous knowledge of that router address. This specification tolerates movement withinLLN using Neighbor Sollicitation messages. o Forwarding packets from theLoWPAN soLLN over thenode does not have to stick with a given backbone routerbackkbone, andMAY keep using the 6LOWPAN_BBR addresshte other way around. o Eventually triggering a look up forall its registrations. The Link Layer Address associated toa destination over the6LOWPAN_BBR address isLLN that would not be registered at a given point ofthe PAN coordinator unless the node hastime, or as aspecific reason to select an alternate next hop. It is expected that the selected next hop hasverification of aroute to the nearest Backbone Router but the routing protocol involved is outsideregistration. The draft introduces thescopeconcept ofthis specification. It results that the next hop might have to forward the registration messageprimary anddecrement the Hop Limit. Thissecondary BRs. The concept iswhy the Backbone Router MUST accept Binding Solicitationsdefined witha Hop Limit that is lower than 255 (min value TBD). The node might also form Unique Local and Global Unicast addresses, for instance if it needs to be reachable fromtheoutsidegranularity ofthe Extended LoWPAN, or if it can manage its own mobility as prescribed by Mobile IPv6 [RFC3775]. Inan address, thatcase, the node needs to bind each individual address individually. 5.2. Binding process The binding processisvery similar to that ofaMIP6 mobile node, though the messages used are new Neighbor Discovery ICMP messages . A LoWPAN nodegiven BR can be primary for a given addressis tentativeand secondary oroptimistic as long as the binding is not confirmed byanother one, regardess on whether theBackbone Router. The LoWPAN node uses unicast Binding Solicitationsaddresses belong toperformthebinding.same node or not. Thedestination Address is that of theprimary Backbone Routeror a well know anycast address 6LOWPAN_BBR that indicates the functionis in charge of protecting theBackbone Routers. The sourceaddressisfor DAD over theunspecified address as long asBackbone. Any of theaddress is still optimistic or tentative,Primary andit isSecondary BR may claim thelink localaddressofover thenode after it is successfully bound. The acknowledgmentbackbone, since they are all capable toa Binding Solicitation is a unicast Binding Confirmation message that containsroute from thestatus ofbackbone to thebinding. The source ofLLN device. When thepacket isprotocol used to register thelink-local address ofnodes over theBackbone Router. The destination addressLLN isa well-know anycast address 6LOWPAN_NODE unless the optimistic bitRPL [I-D.ietf-roll-rpl], it isset in the Binding Solicitation orexpected that one BR acts as virtual root coordinating LLN BRs (with theaddress was already bound, in which casesame DODAGID) over thelink local address ofnon-LLN backbone. In that case, thenode is used. Upon successful completion invirtual root may act as primary BR for all addresses that it cares to support, whereas theBinding Confirmation message,physical roots to which theLoWPANnodesets the address from optimistic or tentative to preferred. The 'X' flagis attached are secondary BRs. It is also possible inthe Binding Confirmation message indicatesa given deployment that theBackbone Router has completed DADDODAGs are not coordinated. In that case, there is no virtual root andnow ownsno secondary BR; theBinding AddressDODAG root is primary all the nodes registered to it over theTransit Link. This specification also introducesbackbone. When theconcept of secondary binding. For redundancy, a node might place a secondary binding with one or more other Backbone Routers over a same or different LoWPANs. The 'P' flag inprotocol used to register theBinding Solicitation message indicates whethernodes over thebindingLLN isprimary (set) or secondary (reset). 5.3. Looking up neighbor addresses A LoWPAN node does not use multicast for its Neighbor Solicitation as prescribed by the6LoWPAN NDprotocol [RFC4861] and oDAD [RFC4429]. For lookup purposes, all NS messages are sent in unicast to[I-D.ietf-6lowpan-nd], the BackboneRouter, that answers in unicastRouters act aswell. The message isastandard Neighbor Solicitation but fordistributed DAD table, using classical ND over thedestinationbackbone to detect duplication. This specification requires that: 1. Registrations for all addresses thatsetcan be required to reach theBackbone Router address ordevice over thewell known 6LOWPAN_BBR address as opposedbackbone, including registrations for IPv6 addresses based on burn-in EUI64 addresses are passed to thesolicited-node multicast address forDAD table. 2. Nodes include thedestination address. The Target link-layer addressBinding Tracking Option in their NS used for registering those addresses and theresponse is eitherLRs propagate thatofoption to thedestination if a short cut is possibleLBRs. A false positive duplicate detection may arise over theLoWPAN, or that of the Backbone Routerbackbone, for instance if thedestination is reachable over the Transit Link, in which case the Backbone Router will terminate 6LoWPAN and relay the packet. 5.4. Answering address look up A LoWPANnodedoes not needregisters tojoinmore than one LBR, or if thesolicited-node multicast address for its own addresses and should not have to answer a multicast Neighbor Solicitation. It may be programmednode has moved. Both situations are handled gracefully unbeknownst toanswer a unicast NS but that is not required by this specification. 6. Backbone router operations 6.1. Exposing the Backbone Router The Backbone Router forms a link-local address in exactlythesame way as any other node onnode. In theLoWPAN. It usesformer case, one LBR becomes primary to defend thesame link localaddressfor the Transit Link and for allover theassociated LoWPAN(s) connected to that Backbone Router. Thebackbonerouter also configureswhile thewell known 6LOWPAN_BBR anycast address onothers become secondary and may still forward packets back and forth. In theLoWPAN interfaces where it serves as Backbone Router. Notelatter case the LBR thatThe Backbone Router will acceptreceives the newest registrationpackets withwins and becomes primary. 5.3. Claiming and defending Upon ahop limit that is lower than 255 on that specific address. The Backbone Router announces itself using Router Advertisements (RA) messages that are broadcasted periodically over the LOWPAN. (note: can we merge RA with some other maintenance packetnew ordistributean updated registration, theinfo fromBR performs a DAD operation. If either a TID or a OUI is available, themanagerBR places them insome specific cases like ISA100.11a where suchathing exists?). (also, whenBinding Tracking Option in all its ND messages over thenode moves to another LoWPAN,backbone. If content istherenot available for away to letgiven field, itknow faster whichis set to 0. If a primary already exists over theBackbone Router so thatbackbone, itcan stimulatewill answer the DAD with an RA. o If a RAusing RS?). A new option inis received with theRA indicatesO bit set, theBackbone Router capability. In this way a node can learnprimary rejects thePAN-IDDAD and the16-bit short address forDAD fails. theBackbone Router if it was not already acquired from another processBR needs to inform the LLN protocol that the address isnot covered by this specification. The Backbone Router MAY also announce any prefix thata duplicate. o If a RA isconfigured on the transit link, and serve asreceived with thedefault gateway for any node onO bit reset, theTransit Link or onprimary accepts theattached LoWPANs. The transit link Maximum Transmission Unit servesBR asbase for Path MTU discoverysecondary andTransport layer Maximum Segment Size negotiation (see section 8.3 of [RFC2460])DAD succeeds. The BR may install or maintain its proxy states forall nodes in the LoWPANs. To achieve this, the Backbone Router announces the MTU of the transit link overthat address. This router MAY advertise theLoWPANaddress usingthe MTU option in the RA message as prescribed in section "4.6.4. MTU" of IPv6 Neighbor Discovery [RFC4861]. LoWPAN nodes SHOULD form IPv6 packets that are smaller than that MTU. Asaresult, those packets should not require any fragmentation over the transit link though they might be intranet-fragmented overNA. during a registration flow, it MAY set theLoWPAN itself as prescribed by [RFC4944]). More information onO bit. o If no RA is received, this router assumes theMTU issue with regard to ND-proxying can be found in Neighbor Discovery Proxies [RFC4389]role of primary and[I-D.van-beijnum-multi-mtu]. 6.2. Binding process Upon a new bindingDAD succeeds. The BR may install or maintain its proxy states fora link-localthat address. This router advertises the addressbased onusing aIEEE 64-bit extended MAC address,NA with theBackbone Router MAY use Optimistic DAD onO bit reset. When theTransit Link. Any other Backbone Router that would happen to haveBR installs or maintains its proxy states for an address, it sends an NA with abindingSLLA option for thatsame address SHOULD yield and deprecate its binding to secondaryaddress. The Primary BR MAY set the O bit if itwas primary. A positive acknowledgement can be sentwished to attract theLoWPAN node right away if oDAD is used on the Transit Link. Note:traffic for that address. 5.4. Conflict Resolution Anew option withconflict arise when multiple BRs get asequence numberregistration fromthe Binding Solicitation should be useda same address. This situation might arise when a node moves from a BR to another, when a node registers toselectmultiple BRs, or in thewinner The Backbone Router operation onRPL case when thetransit link is similarBRs belong tothat ofaHome Agent as specified in Mobility Support for IPv6 [RFC3775]. In particular,single coordinated DODAG. The primary looks up theNeighbor Advertisement message is used as specifiedBinding Tracking Option insection "10.4.1. Intercepting Packets for a Mobile Node"ND messages withone exception that the override (O) bit is not set, indicating that this Backbone Router acts asaproxy for the LoWPANSLLA option. o If there is no option, normal ND operation takes place andwill yield should another Backbone Router claim that address on the Transit Link. This enables the LoWPAN node to join a different Backbone Router at any time without the complexities of terminating a current binding. This specification also introduces the concept of secondary binding. Upon a secondary binding,theBackbone Router will not announce or defendprimary defends the addresson the transit link, but will be able to forward packets towith a NA with thenode over its LoWPAN interface. For other addresses,O bit set, adding therules in [RFC3775] apply for compatibility. The Backbone Router responds to aBindingSolicitationTracking Option witha Binding Confirmation. The source addressits own information. o If there is alink local address ofBinding Tracking Option and therouterOUIs are different, then the conflict apparently happens between different nodes, and thedestination isthewell known 6LOWPAN_NODEprimary defends the addressunlesswith abinding flow has already successfully completed in which case the router MAY useNA with thenode's Binding. The router will also useO bit set, adding the BindingAddress ifTracking Option with its own information. If the TID in the'O' flagBinding Tracking Option israisedin theSolicitation, indicatingstraight part of the lollipop, it is possible that the request comes from the same nodeaccepts packets onthataddresshas rebooted and formed a new OUI The primary BR may assess its registered entry prior to answering. o If there is asuccessful binding but may not accept packets onBinding Tracking Option and the6LOWPAN_NODE address.OUIs are the same: * If theBackbone RouterTID in the ND message isprimary for a registration (as indicatednewer than the most recent one known by the'P' flag) and itprimary router, this isconnected tointerpreted as aBackbone, then it SHOULD perform proxy ND operations on the backbonenode moving. The primary cleans up its states andindicate so in the Confirmation message usingstops defending the'X' flag. In particular it SHOULD rejectaddress. * If theregistration if DAD fails onTID in thebackbone. When oDADND message isused overthebackbonesame as theBackbone Router MAY issuemost recent one known by theBinding Confirmation right away withprimary router, this is interpreted as apositive code, but ifdouble registration. In case of acollision is finally detected, it cancelsDAD, theregistrationpromary responds withan asynchronous Binding Confirmation andanegative completion code. 6.3. Looking up neighbor addresses A Backbone Router knows and proxies for allNA with theIPv6 addresses that are registeredO bit reset, toit. When resolving a target address, the Backbone Router first considersconfirm itsbinding cache. If this address is in the cache, then the target is reachable over the LoWPANposition asindicated in the cache. Else, the Backbone Router locates the target overprimary, including thetransit link using standard "Neighbor Discovery" [RFC4861] over that link.Binding Tracking Option. * If thetarget is located over a LoWPAN owned by another Backbone Router, then that other Backbone Router isTID incharge of answeringtheNeighbor Solicitation on behalf ofND message is older than thetarget node. 6.4. Answering address look up To enable proxying overmost recent one known by theTransit Link,primary router, this is interpreted as aBackbone Router must joinstale information. The primary defends thesolicited-node multicastaddresson that link for all the registered addresses ofwith a NA with thenodes in its LoWPANs. The Backbone Router answersO bit set, adding theNeighbor SolicitationBinding Tracking Option witha Neighbor Advertisement that indicatesits ownlink-layer address in the Target link-layer address option. A Backbone Router expects and answers unicast Neighbor Solicitations for all nodes in its LoWPANs. It answers as a proxy forinformation. * If thereal target. The target link-layer address inTIDs are very different (more than 16 apart, discounting theresponse is either thatstraight part of thedestination if a short cutlollipop), it ispossible over the LoWPAN, or thatimpossible to resolve for sure. The primary BR should assess its registered entry prior to answering. 5.5. Assessing an entry In a number of cases, it might happen that theBackbone Router ifinformation at thedestinationprimary BR isreachable over the Transit Link,stale and obsolete. In particular, a node with no permanent storage might reboot and form a different OUI, in which case theBackbone Router will terminate 6LoWPANinformation at the BR is inaccurate andrelayshould be removed. In another case, thepacket. 6.5. Forwarding packets Upon receiving packets on one of its LoWPAN interfaces,Br and theBackbone Router checks whether it has a bindingnode have been out of reach for too long and thesource address. IfTID that the BR maintains is so far out that itdoes, thenis impossible to compare it with that stored at the BR. In such situation, the primary Backbone Routercan forwardhas thepacketpossibility toanother LoWPANassess the registration. this is performed by the protocol in use to register the nodeorover theTransit link. Otherwise,LLN. When theBackbone Router MUST discardprotocol used to register thepacket. Ifnodes over thepacketLLN is RPL [I-D.ietf-roll-rpl], the BR sends a targetted DIS tobe transmittedthe registered address over theTransit link, thenregistered path. A DAO back indicates that the6LoWPAN sublayercurrent registration isterminatedstill valid and provides thefull IPv6 packet is reassembled and expanded.adequate data to resolve the conflict. Whenforwarding a packet fromtheTransit Link towards a LOwPAN interface,protocol used to register theBackbone Router performsnodes over the LLN is 6LoWPANsublayer operations of compression and fragmentation and passes the packet to the lower layer for transmission. 7.ND [I-D.ietf-6lowpan-nd], TBD. 6. Security Considerations This specification expects that the link layer is sufficiently protected, either by means of physical or IP security for the Transit Link or MAC sublayer cryptography. In particular, it is expected that theLoWPANLLN MAC provides secure unicast to/from the Backbone Router and secure broadcast from the Backbone Router in a way that prevents tempering with or replaying the RA messages. The use of EUI-64 for forming the Interface ID in the link local address prevents the usage of Secure ND ([RFC3971] and [RFC3972]) and address privacy techniques. Considering the envisioned deployments and the MAC layer security applied, this is not considered an issue at this time.8.7. IANA ConsiderationsThis specification requires 2A newICMP types for the binding flow. Thetype isalso a needrequested for2 new link local anycast addresses, 6LOWPAN_BBR for the routers and 6LOWPAN_NODE the nodes; those addresses used as functional addresses. 9.an ND option. 8. Acknowledgments The author wishes to thankGeoff MulliganZach Shelby forhistheir help and in-depth review.10.9. References10.1.9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006. [RFC4429] Moore, N., "Optimistic Duplicate Address Detection (DAD) for IPv6", RFC 4429, April 2006. [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 4443, March 2006. [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007. [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007. [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks", RFC 4944, September 2007.10.2.9.2. Informative References [I-D.ietf-6lowpan-nd] Shelby, Z., Chakrabarti, S., and E. Nordmark, "Neighbor Discovery Optimization for Low-power and Lossy Networks", draft-ietf-6lowpan-nd-09 (work in progress), April 2010. [I-D.ietf-roll-rpl] Winter, T., Thubert, P., and R. Team, "RPL: IPv6 Routing Protocol for Low power and Lossy Networks", draft-ietf-roll-rpl-08 (work in progress), May 2010. [I-D.ietf-roll-terminology] Vasseur, J., "Terminology in Low power And Lossy Networks", draft-ietf-roll-terminology-03 (work in progress), March 2010. [I-D.van-beijnum-multi-mtu] Beijnum, I., "Extensions for Multi-MTU Subnets", draft-van-beijnum-multi-mtu-02 (work in progress), February 2008. [RFC3963] Devarapalli, V., Wakikawa, R., Petrescu, A., and P. Thubert, "Network Mobility (NEMO) Basic Support Protocol", RFC 3963, January 2005. [RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", RFC 3971, March 2005. [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, March 2005. [RFC4389] Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery Proxies (ND Proxy)", RFC 4389, April 2006. [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals", RFC 4919, August 2007. Author's Address 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 34 Email: pthubert@cisco.comFull Copyright Statement Copyright (C) The IETF Trust (2008). 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. 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, THE IETF TRUST 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. Intellectual Property 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).