TOC |
|
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.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-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.”
This Internet-Draft will expire on December 8, 2010.
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
1.
Introduction
2.
Terminology
3.
Overview
4.
New types and formats
4.1.
Binding Tracking Option
5.
Backbone Router Operations
5.1.
Backbone Link and Router
5.2.
ND Proxy Operations
5.3.
Claiming and defending
5.4.
Conflict Resolution
5.5.
Assessing an entry
6.
Security Considerations
7.
IANA Considerations
8.
Acknowledgments
9.
References
9.1.
Normative References
9.2.
Informative References
§
Author's Address
TOC |
The ISA100.11a standard has introduced the concept of a Backbone Router that would interconnect small LLNs 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 (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) [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" (Hinden, R. and S. Deering, “IP Version 6 Addressing Architecture,” February 2006.) [RFC4291], " the Neighbor Discovery Protocol" (Narten, T., Nordmark, E., Simpson, W., and H. Soliman, “Neighbor Discovery for IP version 6 (IPv6),” September 2007.) [RFC4861] and "IPv6 Stateless Address Autoconfiguration" (Thomson, S., Narten, T., and T. Jinmei, “IPv6 Stateless Address Autoconfiguration,” September 2007.) [RFC4862].
The use of EUI-64 based link local addresses, Neighbor Discovery Proxying (Thaler, D., Talwar, M., and C. Patel, “Neighbor Discovery Proxies (ND Proxy),” April 2006.) [RFC4389], Neighbor Discovery Optimization for Low-power and Lossy Networks (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) [I‑D.ietf‑6lowpan‑nd], the IPv6 Routing Protocol for Low power and Lossy Networks (Winter, T., Thubert, P., and R. Team, “RPL: IPv6 Routing Protocol for Low power and Lossy Networks,” May 2010.) [I‑D.ietf‑roll‑rpl] and Optimistic Duplicate Address Detection (Moore, N., “Optimistic Duplicate Address Detection (DAD) for IPv6,” April 2006.) [RFC4429] are discussed. Also, the concept of Transit Link is introduced to implement the backbone network that was envisioned by ISA100.11a.
This operation of the Backbone Router requires that some protocol operates over the LLNs from which node registrations can be obtained, and that can disseminate the location of the backbone Router over the 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.
TOC |
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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
Readers are expected to be familiar with all the terms and concepts that are discussed in "Neighbor Discovery for IP version 6" (Narten, T., Nordmark, E., Simpson, W., and H. Soliman, “Neighbor Discovery for IP version 6 (IPv6),” September 2007.) [RFC4861], "IPv6 Stateless Address Autoconfiguration" (Thomson, S., Narten, T., and T. Jinmei, “IPv6 Stateless Address Autoconfiguration,” September 2007.) [RFC4862], "IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals" (Kushalnagar, N., Montenegro, G., and C. Schumacher, “IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals,” August 2007.) [RFC4919], Neighbor Discovery Optimization for Low-power and Lossy Networks (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) [I‑D.ietf‑6lowpan‑nd] and "Transmission of IPv6 Packets over IEEE 802.15.4 Networks" (Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, “Transmission of IPv6 Packets over IEEE 802.15.4 Networks,” September 2007.) [RFC4944].
Readers would benefit from reading "Mobility Support in IPv6" (Johnson, D., Perkins, C., and J. Arkko, “Mobility Support in IPv6,” June 2004.) [RFC3775], "Neighbor Discovery Proxies (ND Proxy)" (Thaler, D., Talwar, M., and C. Patel, “Neighbor Discovery Proxies (ND Proxy),” April 2006.) [RFC4389] and "Optimistic Duplicate Address Detection" (Moore, N., “Optimistic Duplicate Address Detection (DAD) for IPv6,” April 2006.) [RFC4429] prior to this specification for a clear understanding of the art in ND-proxying and binding.
Additionally, this document uses terminology from [I‑D.ietf‑roll‑terminology] (Vasseur, J., “Terminology in Low power And Lossy Networks,” March 2010.), and introduces the following terminology:
- Backbone
- This is an IPv6 transit link that interconnects 2 or more Backbone Routers. It is expected to be deployed as a high speed backbone in order to federate a potentially large set of LLNS. Also referred to as a LLN backbone or transit network.
- Backbone Router
- An IPv6 router that federates the LLN using a transit link as a backbone.
- Extended LLN
- This is the aggregation of multiple LLNs as defined in [RFC4919] (Kushalnagar, N., Montenegro, G., and C. Schumacher, “IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals,” August 2007.) interconnected by a Transit Link via Backbone Routers and forming a single IPv6 link.
- Binding
- The association of the LLN node IPv6 address and Interface ID with associated proxying states including the remaining lifetime of that association.
- Registration
- The process during which a LLN node injects its address in a protocol through which the Border Router can learn the address and proxy ND for it.
- Primary BR
- The BR that will defend a registered address for the purpose of DAD over the backbone
- Secondary BR
- A BR to which the address is registered. A Secondary Router MAY advertise the address over the backbone and proxy for it.
TOC |
A Transit Link that we'll refer to a the LLN Backbone federates multiple LLNs as a single IP subnet. Each LLN in the subnet is anchored at a Backbone Router. The Backbone Routers interconnect the LLNs over that Backbone Link. A node can move freely from a LLN anchored at a Backbone Router to a LLN anchored at another Backbone Router on the same backbone 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 o LLN LLN LLN
Figure 1: Backbone Link and Backbone Routers |
The Backbone Link is used as reference for Neighbor Discovery operations, by extending the concept of a Home Link as defined in [RFC3775] (Johnson, D., Perkins, C., and J. Arkko, “Mobility Support in IPv6,” June 2004.) for Mobile IPv6. In particular, Backbone Routers perform ND proxying for the LLN nodes in the LLNs they own through a node registration.
The Backbone Router operation is compatible with that of a Home Agent. This enables mobility support for LLN 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.
A LLN node registers and claims ownership of its addresse(s) using proactive acknowledged registration exchanges with a neighboring router. In case of a complex LLN topology, the router might be an intermediate LLN Router that relays the registration to the LBR as described for instance in [I‑D.ietf‑6lowpan‑nd] (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) and [I‑D.ietf‑roll‑rpl] (Winter, T., Thubert, P., and R. Team, “RPL: IPv6 Routing Protocol for Low power and Lossy Networks,” May 2010.). In turn, the Backbone Routers operate as a distributed database of all the LLN nodes and use the Neighbor Discovery Protocol to share that information across the transit link in a reactive fashion.
For the purpose of Neighbor Discovery proxying, this specification documents the 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 perform 6LoWPAN compression and expansion between the LLN 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 reachable over the IP network.
TOC |
The specification expects that the protocol running on the LLN can provide a sequence number called Transaction ID (TID) that is associated to the registration. When a node registers to multiple BRs, it is expected that the same TID is used, to enable the BR to correlate the registrations as being a single one, and differentiate that situation from a movement. Otherwise, the resolution makes it so that only the most recent registration was perceived from the highest TID is kept.
The specification expects that the protocol running on the LLN can provide a unique ID for the owner of the address that is being registered. The Owner Unique ID enables to differentiate a duplicate registration from a double registration. In case of a duplicate, the last registration looses. The Owner Unique ID can be as simple as a EUI-64 burnin address, if the device manufacturor is convinced that there can not be a manuf error that would cause duplicate EUI64 addresses. Alternatively, the unique ID can be a hash of supposedly unique information from multiple orthogonal sources, for instance:
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 the Backbone Router times out the registration.
The unique ID and the sequence number are placed in a new ND option that is used by the Backbone Routers over the transit link to detect duplicates and movements. The option format is as follows:
TOC |
This option is designed to 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 | Length | TID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Owner Unique Identifier + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Binding Tracking Option |
Option Fields
- Type:
- Length:
- 2
- TID:
- A unique Transaction ID assigned by the host in the associated NR and used to match NC replies. The TID is 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.
- Owner Unique Identifier:
- A globally unique identifier for the host's interface associated with the binding for the NS/NA message in question. This can be the EUI-64 derived IID of an interface, which can be hashed with other supposedly unique information from multiple orthogonal sources.
TOC |
TOC |
The Backbone Router is a specific kind of Border Router that performs proxy Neighbor Discovery on its backbone interface on behalf of the nodes that it has discovered on its Low Power Lossy Network interfaces. On the LLN side, the Backbone Router acquires its states about the nodes by terminating protocols such as RPL (Winter, T., Thubert, P., and R. Team, “RPL: IPv6 Routing Protocol for Low power and Lossy Networks,” May 2010.) [I‑D.ietf‑roll‑rpl] or 6LoWPAN ND (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) [I‑D.ietf‑6lowpan‑nd] as a LLN Border Router. It is expected that the backbone is the medium used to connect the subnet to the rest of the infrastructure, and that all the LBRs are connected to that backbone and support the Backbone 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 an Ethernet Network or a fully meshed NBMA network with multicast emulation, which allows a full support of classical ND as specified in [RFC4861] (Narten, T., Nordmark, E., Simpson, W., and H. Soliman, “Neighbor Discovery for IP version 6 (IPv6),” September 2007.) and subsequent RFCs. In other words, the backbone is not a LLN. Still, some restrictions of the attached LLNs will apply to the backbone. In particular, it is expected that the MTU is set to the same value on the backbone and all attached LLNs.
TOC |
This specification enables a Backbone Router to proxy Neighbor Discovery operations over the backbone on behalf of the nodes that are registered to it, allowing any device on the backbone to reach a LLN node as if it was on-link.
In the context of this specification, proxy ND means:
The draft introduces the concept of primary and secondary BRs. The concept is defined with the granularity of an address, that is a given BR can be primary for a given address and secondary or another one, regardess on whether the addresses belong to the same node or not. The primary Backbone Router is in charge of protecting the address for DAD over the Backbone. Any of the Primary and Secondary BR may claim the address over the backbone, since they are all capable to route from the backbone to the LLN device.
When the protocol used to register the nodes over the LLN is RPL (Winter, T., Thubert, P., and R. Team, “RPL: IPv6 Routing Protocol for Low power and Lossy Networks,” May 2010.) [I‑D.ietf‑roll‑rpl], it is expected that one BR acts as virtual root coordinating LLN BRs (with the same DODAGID) over the non-LLN backbone. In that case, the virtual root may act as primary BR for all addresses that it cares to support, whereas the physical roots to which the node is attached are secondary BRs. It is also possible in a given deployment that the DODAGs are not coordinated. In that case, there is no virtual root and no secondary BR; the DODAG root is primary all the nodes registered to it over the backbone.
When the protocol used to register the nodes over the LLN is 6LoWPAN ND (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) [I‑D.ietf‑6lowpan‑nd], the Backbone Routers act as a distributed DAD table, using classical ND over the backbone to detect duplication. This specification requires that:
A false positive duplicate detection may arise over the backbone, for instance if the node registers to more than one LBR, or if the node has moved. Both situations are handled gracefully unbeknownst to the node. In the former case, one LBR becomes primary to defend the address over the backbone while the others become secondary and may still forward packets back and forth. In the latter case the LBR that receives the newest registration wins and becomes primary.
TOC |
Upon a new or an updated registration, the BR performs a DAD operation. If either a TID or a OUI is available, the BR places them in a Binding Tracking Option in all its ND messages over the backbone. If content is not available for a given field, it is set to 0.
If a primary already exists over the backbone, it will answer the DAD with an RA.
When the BR installs or maintains its proxy states for an address, it sends an NA with a SLLA option for that address. The Primary BR MAY set the O bit if it wished to attract the traffic for that address.
TOC |
A conflict arise when multiple BRs get a registration from a same address. This situation might arise when a node moves from a BR to another, when a node registers to multiple BRs, or in the RPL case when the BRs belong to a single coordinated DODAG.
The primary looks up the Binding Tracking Option in ND messages with a SLLA option.
TOC |
In a number of cases, it might happen that the information at the primary BR is stale and obsolete. In particular, a node with no permanent storage might reboot and form a different OUI, in which case the information at the BR is inaccurate and should be removed. In another case, the Br and the node have been out of reach for too long and the TID that the BR maintains is so far out that it is impossible to compare it with that stored at the BR.
In such situation, the primary Backbone Router has the possibility to assess the registration. this is performed by the protocol in use to register the node over the LLN.
When the protocol used to register the nodes over the LLN is RPL (Winter, T., Thubert, P., and R. Team, “RPL: IPv6 Routing Protocol for Low power and Lossy Networks,” May 2010.) [I‑D.ietf‑roll‑rpl], the BR sends a targetted DIS to the registered address over the registered path. A DAO back indicates that the current registration is still valid and provides the adequate data to resolve the conflict.
When the protocol used to register the nodes over the LLN is 6LoWPAN ND (Shelby, Z., Chakrabarti, S., and E. Nordmark, “Neighbor Discovery Optimization for Low-power and Lossy Networks,” April 2010.) [I‑D.ietf‑6lowpan‑nd], TBD.
TOC |
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 the LLN 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] (Arkko, J., Kempf, J., Zill, B., and P. Nikander, “SEcure Neighbor Discovery (SEND),” March 2005.) and [RFC3972] (Aura, T., “Cryptographically Generated Addresses (CGA),” March 2005.)) and address privacy techniques. Considering the envisioned deployments and the MAC layer security applied, this is not considered an issue at this time.
TOC |
A new type is requested for an ND option.
TOC |
The author wishes to thank Zach Shelby for their help and in-depth review.
TOC |
TOC |
TOC |
[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 (TXT). |
[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 (TXT). |
[I-D.ietf-roll-terminology] | Vasseur, J., “Terminology in Low power And Lossy Networks,” draft-ietf-roll-terminology-03 (work in progress), March 2010 (TXT). |
[I-D.van-beijnum-multi-mtu] | Beijnum, I., “Extensions for Multi-MTU Subnets,” draft-van-beijnum-multi-mtu-02 (work in progress), February 2008 (TXT). |
[RFC3963] | Devarapalli, V., Wakikawa, R., Petrescu, A., and P. Thubert, “Network Mobility (NEMO) Basic Support Protocol,” RFC 3963, January 2005 (TXT). |
[RFC3971] | Arkko, J., Kempf, J., Zill, B., and P. Nikander, “SEcure Neighbor Discovery (SEND),” RFC 3971, March 2005 (TXT). |
[RFC3972] | Aura, T., “Cryptographically Generated Addresses (CGA),” RFC 3972, March 2005 (TXT). |
[RFC4389] | Thaler, D., Talwar, M., and C. Patel, “Neighbor Discovery Proxies (ND Proxy),” RFC 4389, April 2006 (TXT). |
[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 (TXT). |
TOC |
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.com |