| < draft-thubert-6lo-bier-dispatch-00.txt | draft-thubert-6lo-bier-dispatch-01.txt > | |||
|---|---|---|---|---|
| 6lo P. Thubert, Ed. | 6lo P. Thubert, Ed. | |||
| Internet-Draft Cisco | Internet-Draft Cisco | |||
| Updates: 4944 (if approved) Z. Brodard | Intended status: Standards Track Z. Brodard | |||
| Intended status: Standards Track Ecole Polytechnique | Expires: December 31, 2016 Ecole Polytechnique | |||
| Expires: December 30, 2016 H. Jiang | H. Jiang | |||
| G. Texier | G. Texier | |||
| Telecom Bretagne | Telecom Bretagne | |||
| June 28, 2016 | June 29, 2016 | |||
| A 6loRH for BitStrings | A 6loRH for BitStrings | |||
| draft-thubert-6lo-bier-dispatch-00 | draft-thubert-6lo-bier-dispatch-01 | |||
| Abstract | Abstract | |||
| This specification extends the 6LoWPAN Routing Header to signal | This specification extends the 6LoWPAN Routing Header to signal | |||
| BitStrings such as utilized in Bit Index Explicit Replication and its | BitStrings such as utilized in Bit Index Explicit Replication and its | |||
| Traffic Engineering variant. | Traffic Engineering variant. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 30, 2016. | This Internet-Draft will expire on December 31, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 13 ¶ | skipping to change at page 2, line 13 ¶ | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. The BIER-6LoRH encoding . . . . . . . . . . . . . . . . . . . 4 | 4. The BIER-6LoRH encoding . . . . . . . . . . . . . . . . . . . 4 | |||
| 4.1. The Bit-by-bit BitStrings . . . . . . . . . . . . . . . . 4 | 4.1. The Bit-by-bit BitStrings . . . . . . . . . . . . . . . . 5 | |||
| 4.2. Bloom Filters . . . . . . . . . . . . . . . . . . . . . . 5 | 4.2. Bloom Filters . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.3. Types of BIER-6LoRH header . . . . . . . . . . . . . . . 5 | 4.3. Types of BIER-6LoRH header . . . . . . . . . . . . . . . 5 | |||
| 5. Implementation Status . . . . . . . . . . . . . . . . . . . . 6 | 5. Implementation Status . . . . . . . . . . . . . . . . . . . . 6 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 8 | 9.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 1. Introduction | 1. Introduction | |||
| The type of information that needs to be present in a packet inside | The type of information that needs to be present in a packet inside | |||
| the LLN but not outside of the LLN varies with the routing operation, | the LLN but not outside of the LLN varies with the routing operation, | |||
| but there is overall a need for an extensible compression technique | but there is overall a need for an extensible compression technique | |||
| that would simplify the IP-in-IP encapsulation, when needed, and | that would simplify the IP-in-IP encapsulation, when needed, and | |||
| optimally compress existing routing artifacts found in LLNs. | optimally compress existing routing artifacts found in LLNs. | |||
| The 6LoWPAN Routing Header [I-D.ietf-roll-routing-dispatch] (6LoRH) | The 6LoWPAN Routing Header [I-D.ietf-roll-routing-dispatch] (6LoRH) | |||
| skipping to change at page 3, line 44 ¶ | skipping to change at page 3, line 44 ¶ | |||
| 3. Applicability | 3. Applicability | |||
| BIER and other bit-indexed methods that would leverage BitStrings | BIER and other bit-indexed methods that would leverage BitStrings | |||
| will generally require additional information in the packet to | will generally require additional information in the packet to | |||
| complement the BitString. For instance, BIER has the concept of a | complement the BitString. For instance, BIER has the concept of a | |||
| BFR-id and an Entropy value in the BIER header. Since those | BFR-id and an Entropy value in the BIER header. Since those | |||
| additional fields depend on the bit-indexed method, they are expected | additional fields depend on the bit-indexed method, they are expected | |||
| to be transported separately from the BitString. This specification | to be transported separately from the BitString. This specification | |||
| concentrates on the BitString alone. | concentrates on the BitString alone. | |||
| The DetNet Data Plane Protocol and Solution Alternatives | Within the scope of Deterministic Networking | |||
| [I-D.dt-detnet-dp-alt] document details how BIER-TE can be leveraged | [I-D.finn-detnet-architecture] (DetNet), the DetNet Data Plane | |||
| to activate the Deterministic Networking Replication and Elimination | Protocol and Solution Alternatives [I-D.dt-detnet-dp-alt] document | |||
| functions in a manner that is abstract to the data plane forwarding | details how BIER-TE can be leveraged to activate the Deterministic | |||
| information. An adjacency, which is represented by a bit in the BIER | Networking Replication and Elimination functions in a manner that is | |||
| header, can be mapped in the data plane to an Ethernet hop, a Label | abstract to the data plane forwarding information. An adjacency, | |||
| Switched Path, or it may correspond to a loose or a strict IPv6 | which is represented by a bit in the BIER header, can be mapped in | |||
| Source Routed Path. | the data plane to an Ethernet hop, a Label Switched Path, or it may | |||
| correspond to a loose or a strict IPv6 Source Routed Path. | ||||
| In the context of LLNs, the 6TiSCH Architecture | In the context of LLNs, the 6TiSCH Architecture | |||
| [I-D.ietf-6tisch-architecture] introduces the concept of a Track that | [I-D.ietf-6tisch-architecture] introduces the concept of a Track that | |||
| is a directional traffic-engineered path between a source and a | is a directional traffic-engineered path between a source and a | |||
| destination. A Track is indicated in a packet by a Source or | destination. A Track is indicated in a packet by a Source or | |||
| Destination IPv6 Address and a RPL Local Instance. The RPL Instance | Destination IPv6 Address and a RPL Local Instance. The RPL Instance | |||
| is carried in an IPv6 packet as part of the RPL Packet Information | is carried in an IPv6 packet as part of the RPL Packet Information | |||
| (RPI), and a bit in the RPI indicates whether the Instance is Local | (RPI), and a bit in the RPI indicates whether the Instance is Local | |||
| to the Source or the Destination Address. The RPI can be compressed | to the Source or the Destination Address. The RPI can be compressed | |||
| as a RPI 6LoRH header (RPI-6LoRH) as described in | as a RPI 6LoRH header (RPI-6LoRH) as described in | |||
| skipping to change at page 4, line 37 ¶ | skipping to change at page 4, line 39 ¶ | |||
| The BIER 6LoRH (BIER-6LoRH) is a Critical 6LoWPAN Routing Header that | The BIER 6LoRH (BIER-6LoRH) is a Critical 6LoWPAN Routing Header that | |||
| provides a variable-size container for a BitString such as, a but not | provides a variable-size container for a BitString such as, a but not | |||
| limited to, a BIER BitString. | limited to, a BIER BitString. | |||
| The capability to parse the BIER BitString is necessary to forward | The capability to parse the BIER BitString is necessary to forward | |||
| the packet so the Type cannot be ignored. | the packet so the Type cannot be ignored. | |||
| 0 1 | 0 1 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ... -+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ... -+ | |||
| |1|0|0| Control |6LoRHType 15-19| BitString | | |1|0|0| Control |6LoRHType 15-24| BitString | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ... -+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ... -+ | |||
| Figure 1: The BIER-6LoRH | Figure 1: The BIER-6LoRH | |||
| This specification provides a 5-bit Control field that can be used to | This specification provides a 5-bit Control field that can be used to | |||
| encode information that is specific to the BitString. The type and | encode information that is specific to the BitString. The type and | |||
| size of the BitString are encoded in the 6LoRHType. | size of the BitString are encoded in the 6LoRHType. | |||
| 4.1. The Bit-by-bit BitStrings | 4.1. The Bit-by-bit BitStrings | |||
| skipping to change at page 6, line 34 ¶ | skipping to change at page 6, line 34 ¶ | |||
| BitString may grow very large. Yet, the maximum frame size for a | BitString may grow very large. Yet, the maximum frame size for a | |||
| given MAC layer may limit the number of bits that can be dedicated to | given MAC layer may limit the number of bits that can be dedicated to | |||
| routing. With this specification, a number of BIER-6LoRH headers of | routing. With this specification, a number of BIER-6LoRH headers of | |||
| a same type (bit-by-bit or Bloom filter) may be placed contiguously | a same type (bit-by-bit or Bloom filter) may be placed contiguously | |||
| in the packet. This results in a larger BitString that is the | in the packet. This results in a larger BitString that is the | |||
| concatenation of the BitStrings in the individual headers in the | concatenation of the BitStrings in the individual headers in the | |||
| order they are appearing in the packet. | order they are appearing in the packet. | |||
| 5. Implementation Status | 5. Implementation Status | |||
| A research implementation was developed at Cisco's Paris Innovation | A research-stage implementation was developed at Cisco's Paris | |||
| Lab (PIRL) by Zacharie Brodard. | Innovation Lab (PIRL) by Zacharie Brodard. It was implemented on | |||
| OpenWSN open-source firmware and tested on the OpenMote-CC2538 | ||||
| hardware. It implements the header types 15, 16, 17, 18 and 19 (bit- | ||||
| by-bit encoding without group ID) in order to allow a BIER-TE | ||||
| protocol over IEE802.15.4e. | ||||
| The implementation is based on openWSN | Links: | |||
| (https://openwsn.atlassian.net/wiki/pages/ | ||||
| viewpage.action?pageId=688187), and was tested on OpenMote hardware | ||||
| (http://www.openmote.com/). | ||||
| The implementation covers 6LoRH Types 15 to 18 for 6TiSCH Tracks, and | github: https://github.com/zach-b/openwsn-fw/tree/BIER | |||
| does not attempt to support Bloom Filters. | ||||
| OpenWSN firmware: https://openwsn.atlassian.net/wiki/pages/ | ||||
| viewpage.action?pageId=688187 | ||||
| OpenMote hardware: http://www.openmote.com/ | ||||
| 6. Security Considerations | 6. Security Considerations | |||
| The security considerations of [I-D.ietf-roll-routing-dispatch] | The security considerations of [I-D.ietf-roll-routing-dispatch] | |||
| apply. | apply. | |||
| 7. IANA Considerations | 7. IANA Considerations | |||
| This document extends the IANA registry created by | This document extends the IANA registry created by | |||
| [I-D.ietf-roll-routing-dispatch] for the 6LoWPAN Routing Header Type, | [I-D.ietf-roll-routing-dispatch] for the 6LoWPAN Routing Header Type, | |||
| skipping to change at page 8, line 25 ¶ | skipping to change at page 8, line 30 ¶ | |||
| Zhuangyan, Z., and L. Berger, "DetNet Data Plane Protocol | Zhuangyan, Z., and L. Berger, "DetNet Data Plane Protocol | |||
| and Solution Alternatives", draft-dt-detnet-dp-alt-00 | and Solution Alternatives", draft-dt-detnet-dp-alt-00 | |||
| (work in progress), March 2016. | (work in progress), March 2016. | |||
| [I-D.eckert-bier-te-arch] | [I-D.eckert-bier-te-arch] | |||
| Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic | Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic | |||
| Engineering for Bit Index Explicit Replication BIER-TE", | Engineering for Bit Index Explicit Replication BIER-TE", | |||
| draft-eckert-bier-te-arch-03 (work in progress), March | draft-eckert-bier-te-arch-03 (work in progress), March | |||
| 2016. | 2016. | |||
| [I-D.finn-detnet-architecture] | ||||
| Finn, N., Thubert, P., and M. Teener, "Deterministic | ||||
| Networking Architecture", draft-finn-detnet- | ||||
| architecture-04 (work in progress), March 2016. | ||||
| [I-D.ietf-6tisch-architecture] | [I-D.ietf-6tisch-architecture] | |||
| Thubert, P., "An Architecture for IPv6 over the TSCH mode | Thubert, P., "An Architecture for IPv6 over the TSCH mode | |||
| of IEEE 802.15.4", draft-ietf-6tisch-architecture-10 (work | of IEEE 802.15.4", draft-ietf-6tisch-architecture-10 (work | |||
| in progress), June 2016. | in progress), June 2016. | |||
| [I-D.ietf-bier-architecture] | [I-D.ietf-bier-architecture] | |||
| Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and | Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and | |||
| S. Aldrin, "Multicast using Bit Index Explicit | S. Aldrin, "Multicast using Bit Index Explicit | |||
| Replication", draft-ietf-bier-architecture-03 (work in | Replication", draft-ietf-bier-architecture-03 (work in | |||
| progress), January 2016. | progress), January 2016. | |||
| End of changes. 13 change blocks. | ||||
| 26 lines changed or deleted | 37 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||