| < draft-thubert-6lo-bier-dispatch-03.txt | draft-thubert-6lo-bier-dispatch-04.txt > | |||
|---|---|---|---|---|
| 6lo P. Thubert, Ed. | 6lo P. Thubert, Ed. | |||
| Internet-Draft Cisco | Internet-Draft Cisco | |||
| Intended status: Standards Track Z. Brodard | Intended status: Standards Track Z. Brodard | |||
| Expires: January 25, 2018 Ecole Polytechnique | Expires: July 20, 2018 Ecole Polytechnique | |||
| H. Jiang | H. Jiang | |||
| G. Texier | G. Texier | |||
| Telecom Bretagne | Telecom Bretagne | |||
| July 24, 2017 | January 16, 2018 | |||
| A 6loRH for BitStrings | A 6loRH for BitStrings | |||
| draft-thubert-6lo-bier-dispatch-03 | draft-thubert-6lo-bier-dispatch-04 | |||
| 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 | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 https://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 January 25, 2018. | This Internet-Draft will expire on July 20, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | (https://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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| 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 | |||
| skipping to change at page 3, line 40 ¶ | skipping to change at page 3, line 40 ¶ | |||
| leftmost octet in the BitString. | leftmost octet in the BitString. | |||
| 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 and a group identifier which enables a | |||
| network to grow beyond the size of one bitString. | ||||
| Within the context of "the Deterministic Networking (DetNet) | Within the context of "the Deterministic Networking (DetNet) | |||
| Architecture" [I-D.ietf-detnet-architecture] ), the "BIER-TE-based | Architecture" [I-D.ietf-detnet-architecture] ), the "BIER-TE-based | |||
| OAM, Replication and Elimination" | OAM, Replication and Elimination" | |||
| [I-D.thubert-bier-replication-elimination] document details how BIER- | [I-D.thubert-bier-replication-elimination] document details how BIER- | |||
| TE can be leveraged to activate the Deterministic Networking | TE can be leveraged to activate the Deterministic Networking | |||
| Replication and Elimination functions in a manner that is abstract to | Replication and Elimination functions in a manner that is abstract to | |||
| the data plane forwarding information. An adjacency, which is | the data plane forwarding information. An adjacency, which is | |||
| represented by a bit in the BIER header, can be mapped in the data | represented by a bit in the BIER header, can be mapped in the data | |||
| plane to an Ethernet hop, a Label Switched Path, or it may correspond | plane to an Ethernet hop, a Label Switched Path, or it may correspond | |||
| skipping to change at page 5, line 16 ¶ | skipping to change at page 5, line 16 ¶ | |||
| When groups are used, it may be that a packet is sent to different | When groups are used, it may be that a packet is sent to different | |||
| groups at the same time. In that case, multiple BIER-6LoRH headers | groups at the same time. In that case, multiple BIER-6LoRH headers | |||
| can be prepended to a same packet, each one for a different group. | can be prepended to a same packet, each one for a different group. | |||
| As the packet flows along the multicast distribution tree, a BIER- | As the packet flows along the multicast distribution tree, a BIER- | |||
| 6LoRH header that has no more destination in a given branch may be | 6LoRH header that has no more destination in a given branch may be | |||
| removed to make the packet shorter. | removed to make the packet shorter. | |||
| 4.2. Bloom Filters | 4.2. Bloom Filters | |||
| A Bloom Filter can be seen as a compression technique for the | A Bloom Filter can be seen as an additional compression technique for | |||
| BitString. A Bloom Filter may generate false positives, which, in | the bitString representation. A Bloom Filter may generate false | |||
| the case of BIER, result in undue forwarding of a packet down a path | positives, which, in the case of BIER, result in undue forwarding of | |||
| where no listener exists. | a packet down a path where no listener exists. | |||
| As an example, the Constrained-Cast [I-D.bergmann-bier-ccast] | As an example, the Constrained-Cast [I-D.ietf-roll-ccast] | |||
| specification employs Bloom Filters as a compact representation of a | specification employs Bloom Filters as a compact representation of a | |||
| match or non-match for elements in a set that may be larger than the | match or non-match for elements in a set that may be larger than the | |||
| number of bits in the BitString. | number of bits in the BitString. | |||
| In the case of a Bloom Filter, a number of Hash functions must be run | In the case of a Bloom Filter, a number of Hash functions must be run | |||
| to obtain a multi-bit signature of an encoded element. This | to obtain a multi-bit signature of an encoded element. This | |||
| specification uses the 5-bits Control field to signal an Identifier | specification uses the 5-bits Control field to signal an Identifier | |||
| of the set of Hash functions being used to generate a certain | of the set of Hash functions being used to generate a certain | |||
| BitString, so as to enable the migration from a set of Hash functions | BitString, so as to enable the migration from a set of Hash functions | |||
| to the next. | to the next. | |||
| 4.3. Types of BIER-6LoRH header | 4.3. Types of BIER-6LoRH header | |||
| The Type of a BIER-6LoRH header indicates the size of words used to | The Type of a BIER-6LoRH header indicates the size of the BitString | |||
| build the BitString and whether the BitString is operated as an | and whether the BitString is operated as an uncompressed bit-by-bit | |||
| uncompressed bit-by-bit mapping, or as a Bloom filter. | mapping, or as a Bloom filter. | |||
| +---------+--------------+----------------------+----------------+ | +--------------+--------------+----------------------+--------------+ | |||
| | Type | Encoding | Control field | BitString Size | | | BitString | Encoding | Control field | BitString | | |||
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | | Type | | | Size | | |||
| | 15 | bit-by-bit | Group ID | 8 bits | | +--------------+--------------+----------------------+--------------+ | |||
| | 16 | bit-by-bit | Group ID | 16 bits | | | 15 | bit-by-bit | Group ID | 8 bits | | |||
| | 17 | bit-by-bit | Group ID | 32 bits | | +--------------+--------------+----------------------+--------------+ | |||
| | 18 | bit-by-bit | Group ID | 64 bits | | | 16 | bit-by-bit | Group ID | 16 bits | | |||
| | 19 | bit-by-bit | Group ID | 128 bits | | +--------------+--------------+----------------------+--------------+ | |||
| +---------+--------------+----------------------+----------------+ | | 17 | bit-by-bit | Group ID | 48 bits | | |||
| | 20 | Bloom filter | Hash function Set ID | 8 bits | | +--------------+--------------+----------------------+--------------+ | |||
| | 21 | Bloom filter | Hash function Set ID | 16 bits | | | 18 | bit-by-bit | Group ID | 96 bits | | |||
| | 22 | Bloom filter | Hash function Set ID | 32 bits | | +--------------+--------------+----------------------+--------------+ | |||
| | 23 | Bloom filter | Hash function Set ID | 64 bits | | | 19 | bit-by-bit | Group ID | 160 bits | | |||
| | 24 | Bloom filter | Hash function Set ID | 128 bits | | +--------------+--------------+----------------------+--------------+ | |||
| +---------+--------------+----------------------+----------------+ | | 20 | Bloom filter | Hash function Set ID | 8 bits | | |||
| +--------------+--------------+----------------------+--------------+ | ||||
| | 21 | Bloom filter | Hash function Set ID | 16 bits | | ||||
| +--------------+--------------+----------------------+--------------+ | ||||
| | 22 | Bloom filter | Hash function Set ID | 48 bits | | ||||
| +--------------+--------------+----------------------+--------------+ | ||||
| | 23 | Bloom filter | Hash function Set ID | 96 bits | | ||||
| +--------------+--------------+----------------------+--------------+ | ||||
| | 24 | Bloom filter | Hash function Set ID | 160 bits | | ||||
| +--------------+--------------+----------------------+--------------+ | ||||
| Figure 2: The BIER-6LoRH Types | Table 1: The BIER-6LoRH Types | |||
| In order to address a potentially large number of devices, the | In order to address a potentially large number of devices, the | |||
| 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. | |||
| skipping to change at page 7, line 25 ¶ | skipping to change at page 7, line 29 ¶ | |||
| 8. Acknowledgments | 8. Acknowledgments | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, | [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, | |||
| "Transmission of IPv6 Packets over IEEE 802.15.4 | "Transmission of IPv6 Packets over IEEE 802.15.4 | |||
| Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, | Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, | |||
| <http://www.rfc-editor.org/info/rfc4944>. | <https://www.rfc-editor.org/info/rfc4944>. | |||
| [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., | [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., | |||
| Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, | Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, | |||
| JP., and R. Alexander, "RPL: IPv6 Routing Protocol for | JP., and R. Alexander, "RPL: IPv6 Routing Protocol for | |||
| Low-Power and Lossy Networks", RFC 6550, | Low-Power and Lossy Networks", RFC 6550, | |||
| DOI 10.17487/RFC6550, March 2012, | DOI 10.17487/RFC6550, March 2012, | |||
| <http://www.rfc-editor.org/info/rfc6550>. | <https://www.rfc-editor.org/info/rfc6550>. | |||
| [RFC8025] Thubert, P., Ed. and R. Cragie, "IPv6 over Low-Power | [RFC8025] Thubert, P., Ed. and R. Cragie, "IPv6 over Low-Power | |||
| Wireless Personal Area Network (6LoWPAN) Paging Dispatch", | Wireless Personal Area Network (6LoWPAN) Paging Dispatch", | |||
| RFC 8025, DOI 10.17487/RFC8025, November 2016, | RFC 8025, DOI 10.17487/RFC8025, November 2016, | |||
| <http://www.rfc-editor.org/info/rfc8025>. | <https://www.rfc-editor.org/info/rfc8025>. | |||
| [RFC8138] Thubert, P., Ed., Bormann, C., Toutain, L., and R. Cragie, | [RFC8138] Thubert, P., Ed., Bormann, C., Toutain, L., and R. Cragie, | |||
| "IPv6 over Low-Power Wireless Personal Area Network | "IPv6 over Low-Power Wireless Personal Area Network | |||
| (6LoWPAN) Routing Header", RFC 8138, DOI 10.17487/RFC8138, | (6LoWPAN) Routing Header", RFC 8138, DOI 10.17487/RFC8138, | |||
| April 2017, <http://www.rfc-editor.org/info/rfc8138>. | April 2017, <https://www.rfc-editor.org/info/rfc8138>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.bergmann-bier-ccast] | ||||
| Bergmann, O., Bormann, C., Gerdes, S., and H. Chen, | ||||
| "Constrained-Cast: Source-Routed Multicast for RPL", | ||||
| draft-bergmann-bier-ccast-02 (work in progress), October | ||||
| 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-05 (work in progress), June | draft-eckert-bier-te-arch-06 (work in progress), November | |||
| 2017. | 2017. | |||
| [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-11 (work | of IEEE 802.15.4", draft-ietf-6tisch-architecture-13 (work | |||
| in progress), January 2017. | in progress), November 2017. | |||
| [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-07 (work in | Replication", draft-ietf-bier-architecture-08 (work in | |||
| progress), June 2017. | progress), September 2017. | |||
| [I-D.ietf-detnet-architecture] | [I-D.ietf-detnet-architecture] | |||
| Finn, N., Thubert, P., Varga, B., and J. Farkas, | Finn, N., Thubert, P., Varga, B., and J. Farkas, | |||
| "Deterministic Networking Architecture", draft-ietf- | "Deterministic Networking Architecture", draft-ietf- | |||
| detnet-architecture-02 (work in progress), June 2017. | detnet-architecture-04 (work in progress), October 2017. | |||
| [I-D.ietf-roll-ccast] | ||||
| Bergmann, O., Bormann, C., Gerdes, S., and H. Chen, | ||||
| "Constrained-Cast: Source-Routed Multicast for RPL", | ||||
| draft-ietf-roll-ccast-01 (work in progress), October 2017. | ||||
| [I-D.thubert-6tisch-4detnet] | [I-D.thubert-6tisch-4detnet] | |||
| Thubert, P., "6TiSCH requirements for DetNet", draft- | Thubert, P., "6TiSCH requirements for DetNet", draft- | |||
| thubert-6tisch-4detnet-01 (work in progress), June 2015. | thubert-6tisch-4detnet-01 (work in progress), June 2015. | |||
| [I-D.thubert-bier-replication-elimination] | [I-D.thubert-bier-replication-elimination] | |||
| Thubert, P., Brodard, Z., and H. Jiang, "BIER-TE-based | Thubert, P., Brodard, Z., and H. Jiang, "BIER-TE-based | |||
| OAM, Replication and Elimination", draft-thubert-bier- | OAM, Replication and Elimination", draft-thubert-bier- | |||
| replication-elimination-00 (work in progress), September | replication-elimination-01 (work in progress), July 2017. | |||
| 2016. | ||||
| [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 | [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 | |||
| Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, | Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, | |||
| DOI 10.17487/RFC6282, September 2011, | DOI 10.17487/RFC6282, September 2011, | |||
| <http://www.rfc-editor.org/info/rfc6282>. | <https://www.rfc-editor.org/info/rfc6282>. | |||
| [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and | [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and | |||
| Lossy Networks", RFC 7102, DOI 10.17487/RFC7102, January | Lossy Networks", RFC 7102, DOI 10.17487/RFC7102, January | |||
| 2014, <http://www.rfc-editor.org/info/rfc7102>. | 2014, <https://www.rfc-editor.org/info/rfc7102>. | |||
| [RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for | [RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for | |||
| Constrained-Node Networks", RFC 7228, | Constrained-Node Networks", RFC 7228, | |||
| DOI 10.17487/RFC7228, May 2014, | DOI 10.17487/RFC7228, May 2014, | |||
| <http://www.rfc-editor.org/info/rfc7228>. | <https://www.rfc-editor.org/info/rfc7228>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Pascal Thubert (editor) | Pascal Thubert (editor) | |||
| Cisco Systems | Cisco Systems | |||
| Village d'Entreprises Green Side | Village d'Entreprises Green Side | |||
| 400, Avenue de Roumanille | 400, Avenue de Roumanille | |||
| Batiment T3 | Batiment T3 | |||
| Biot - Sophia Antipolis 06410 | Biot - Sophia Antipolis 06410 | |||
| FRANCE | FRANCE | |||
| End of changes. 27 change blocks. | ||||
| 54 lines changed or deleted | 62 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/ | ||||