| < draft-mcbride-bier-ipv6-requirements-00.txt | draft-mcbride-bier-ipv6-requirements-01.txt > | |||
|---|---|---|---|---|
| BIER M. McBride | BIER M. McBride | |||
| Internet-Draft J. Xie | Internet-Draft J. Xie | |||
| Intended status: Standards Track S. Dhanaraj | Intended status: Standards Track S. Dhanaraj | |||
| Expires: October 3, 2019 Huawei | Expires: November 10, 2019 Huawei | |||
| R. Asati | R. Asati | |||
| Cisco | Cisco | |||
| April 1, 2019 | May 9, 2019 | |||
| BIER IPv6 Requirements | BIER IPv6 Requirements | |||
| draft-mcbride-bier-ipv6-requirements-00 | draft-mcbride-bier-ipv6-requirements-01 | |||
| Abstract | Abstract | |||
| The BIER WG has a charter item to work on mechanisms which use BIER | The BIER WG has a charter item to work on mechanisms which use BIER | |||
| natively in IPv6. This document is intended to help the WG with this | natively in IPv6. This document is intended to help the WG with this | |||
| effort by describing the problem space of transporting packets, with | effort by specifying requirements for transporting packets, with Bit | |||
| Bit Index Explicit Replication (BIER) headers, in an IPv6 | Index Explicit Replication (BIER) headers, in an IPv6 environment. | |||
| environment. There will be a need to send IPv6 payloads, to multiple | There will be a need to send IPv6 payloads, to multiple IPv6 | |||
| IPv6 destinations, using BIER. There have been several proposed | destinations, using BIER. There have been several proposed solutions | |||
| solutions in this area. But there hasn't been a document which | in this area. But there hasn't been a document which describes the | |||
| describes the problem and why this may be necessary. The goal of | problem and lists the requirements. The goal of this document is to | |||
| this document is to describe the BIER IPv6 problem space, basic use | describe the BIER IPv6 requirements and summarize the pro's and con's | |||
| cases, why new solutions may be needed and briefly summarize some of | of the proposed solutions. | |||
| the proposed solutions. | ||||
| 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 https://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 October 3, 2019. | This Internet-Draft will expire on November 10, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
| (https://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 | |||
| skipping to change at page 2, line 21 ¶ | skipping to change at page 2, line 21 ¶ | |||
| 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 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. BIER IPv6 encapsulation Scenario's . . . . . . . . . . . . . 3 | 3. BIER IPv6 Scenario's . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3.1. BIERv6 for Access Network . . . . . . . . . . . . . . . . 4 | 3.1. BIERv6 for Access Network . . . . . . . . . . . . . . . . 4 | |||
| 3.2. BIERv6 for Data Center . . . . . . . . . . . . . . . . . 4 | 3.2. BIERv6 for Data Center . . . . . . . . . . . . . . . . . 4 | |||
| 3.3. BIERv6 for Core Networks . . . . . . . . . . . . . . . . 4 | 3.3. BIERv6 for Core Networks . . . . . . . . . . . . . . . . 5 | |||
| 3.4. Implications for BIER in SRv6 . . . . . . . . . . . . . . 5 | 3.4. Implications for BIER in SRv6 . . . . . . . . . . . . . . 5 | |||
| 4. Example Proposed Solutions . . . . . . . . . . . . . . . . . 5 | 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.1. BIER-ETH encapsulation in IPv6 networks . . . . . . . . . 5 | 4.1. L2 Agnostic . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.2. Encode Bitstring in IPv6 destination address . . . . . . 6 | 4.2. Hop by hop DA modification . . . . . . . . . . . . . . . 5 | |||
| 4.3. Add BIER header into IPv6 Extension Header . . . . . . . 7 | 4.3. L4 Inspection . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.4. Transport BIER as IPv6 payload . . . . . . . . . . . . . 8 | 4.4. Multicast address in SA field . . . . . . . . . . . . . . 5 | |||
| 4.5. Tunneling BIER in a IPv6 tunnel . . . . . . . . . . . . . 8 | 4.5. Incorrect bits . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. Suggested Requirements . . . . . . . . . . . . . . . . . . . 9 | 4.6. SA filtering . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.7. BIER architecture support . . . . . . . . . . . . . . . . 6 | ||||
| 4.8. Keep it simple . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 4.9. Hardware fast path . . . . . . . . . . . . . . . . . . . 6 | ||||
| 5. Solutions Evaluation . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 5.1. BIER-ETH encapsulation in IPv6 networks . . . . . . . . . 6 | ||||
| 5.2. Encode Bitstring in IPv6 destination address . . . . . . 8 | ||||
| 5.3. Add BIER header into IPv6 Extension Header . . . . . . . 8 | ||||
| 5.4. Transport BIER as IPv6 payload . . . . . . . . . . . . . 9 | ||||
| 5.5. Tunneling BIER in a IPv6 tunnel . . . . . . . . . . . . . 10 | ||||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 10 | 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 9. Normative References . . . . . . . . . . . . . . . . . . . . 10 | 9. Normative References . . . . . . . . . . . . . . . . . . . . 11 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 1. Introduction | 1. Introduction | |||
| Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | |||
| that provides optimal multicast forwarding, without requiring | that provides optimal multicast forwarding, without requiring | |||
| intermediate routers to maintain per-flow state, through the use of a | intermediate routers to maintain per-flow state, through the use of a | |||
| multicast-specific BIER header. [RFC8296] defines two types of BIER | multicast-specific BIER header. [RFC8296] defines two types of BIER | |||
| encapsulation to run on physical links: one is BIER MPLS | encapsulation to run on physical links: one is BIER MPLS | |||
| encapsulation to run on various physical links that support MPLS, the | encapsulation to run on various physical links that support MPLS, the | |||
| other is BIER Ethernet encapsulation to run on ethernet links, with | other is non-MPLS BIER Ethernet encapsulation to run on ethernet | |||
| an ethertype 0xAB37. This document describes using BIER in non-MPLS | links, with an ethertype 0xAB37. This document describes using BIER | |||
| IPv6 environments. We explain the problem space of transporting | in non-MPLS IPv6 environments. We explain the requirements of | |||
| IPv4/IPv6 multicast payloads, from an IPv6 router (BFIR) to multicast | transporting IPv4/IPv6 multicast payloads, from an IPv6 router (BFIR) | |||
| IPv6 destinations (BFERs), using BIER. This can include native IPv6 | to multicast IPv6 destinations (BFERs), using BIER. This can include | |||
| encapsulation and generic tunneling. There have been several | native IPv6 encapsulation and generic tunneling. The goal of this | |||
| proposed solutions in this area. But there hasn't been a document | document is to help the BIER WG evaluate the BIER v6 requirements and | |||
| which describes the problem and why this may be necessary. The goal | solutions. | |||
| of this document is to describe the BIER v6 problem space, use cases, | ||||
| encapsulations, existing solutions and why new solutions may be | ||||
| needed. This draft is intended to help the BIER WG evaluate the need | ||||
| for an encapsulation that is IPv6-specific through describing the | ||||
| problem and summarizing BIERV6 related solutions. | ||||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| 1.2. Terminology | 1.2. Terminology | |||
| o BIER: Bit Index Explicit Replication. Provides optimal multicast | o BIER: Bit Index Explicit Replication. Provides optimal multicast | |||
| skipping to change at page 3, line 36 ¶ | skipping to change at page 3, line 40 ¶ | |||
| multiple destinations | multiple destinations | |||
| 2. Problem Statement | 2. Problem Statement | |||
| The problem is the ability of the network to transport BUM packets, | The problem is the ability of the network to transport BUM packets, | |||
| with BIER headers, in an IPv6 environment. In an IPv6 network, many | with BIER headers, in an IPv6 environment. In an IPv6 network, many | |||
| deployments consider using a non-MPLS encapsulation for unicast as | deployments consider using a non-MPLS encapsulation for unicast as | |||
| the data-plane. In such case, it may be expected to have a BIER IPv6 | the data-plane. In such case, it may be expected to have a BIER IPv6 | |||
| encapsulation which is compliant with various kinds of physical | encapsulation which is compliant with various kinds of physical | |||
| links, perhaps in a hop-by-hop manner, and maintain the benefit of | links, perhaps in a hop-by-hop manner, and maintain the benefit of | |||
| "fast reroute" of an IPv6 tunnel. | "fast reroute" of an IPv6 tunnel. Evaluating the BIER IPv6 | |||
| requirements will help determine the best solutions to address these | ||||
| 3. BIER IPv6 encapsulation Scenario's | problems. | |||
| 3. BIER IPv6 Scenario's | ||||
| +--------------------------------------------+ | +--------------------------------------------+ | |||
| | | | | | | |||
| | +------+ | | +------+ | |||
| | | BFER | | | | BFER | | |||
| +------+ IPv6 +------+ | +------+ IPv6 +------+ | |||
| | BFIR | | | | BFIR | | | |||
| +------+ Network +------+ | +------+ Network +------+ | |||
| | | BFER | | | | BFER | | |||
| | +------+ | | +------+ | |||
| | | | | | | |||
| skipping to change at page 5, line 14 ¶ | skipping to change at page 5, line 27 ¶ | |||
| 3.4. Implications for BIER in SRv6 | 3.4. Implications for BIER in SRv6 | |||
| The Source Packet Routing in Networking (SPRING) architecture | The Source Packet Routing in Networking (SPRING) architecture | |||
| describes how Segment Routing can be used to steer packets through an | describes how Segment Routing can be used to steer packets through an | |||
| IPv6 or MPLS network using the source routing paradigm. [RFC8354] | IPv6 or MPLS network using the source routing paradigm. [RFC8354] | |||
| focuses on use cases for Segment Routing in an IPv6 only environment, | focuses on use cases for Segment Routing in an IPv6 only environment, | |||
| something which is equially important for BIER in an IPv6 only | something which is equially important for BIER in an IPv6 only | |||
| environment. | environment. | |||
| 4. Example Proposed Solutions | 4. Requirements | |||
| There have been several suggested requirements, on the BIER email | ||||
| list, which we will use to form the BIER IPv6 requirements and to | ||||
| help evaluate the proposed solutions: | ||||
| 4.1. L2 Agnostic | ||||
| The solution should be agnostic to the underlying L2 data link type. | ||||
| 4.2. Hop by hop DA modification | ||||
| The solution should not require hop-by-hop modification of the IP | ||||
| destination address field. | ||||
| 4.3. L4 Inspection | ||||
| The solution should not require the BFRs to inspect layer 4 or | ||||
| require any changes to layer 4. | ||||
| 4.4. Multicast address in SA field | ||||
| The solution should not allow a multicast address to be put in the IP | ||||
| source address field. | ||||
| 4.5. Incorrect bits | ||||
| The solution should not assume that bits never get set incorrectly. | ||||
| 4.6. SA filtering | ||||
| The solution should not require changes in source address filtering | ||||
| procedures. | ||||
| 4.7. BIER architecture support | ||||
| The solution should be possible to be used to support the entire BIER | ||||
| architecture. | ||||
| 4.8. Keep it simple | ||||
| The solution should avoid having to use different encapsulation | ||||
| types, or use complex tunneling techniques, to support BIER as a E2E | ||||
| multicast transport. | ||||
| 4.9. Hardware fast path | ||||
| The solution should enable the processing and forwarding of BIER | ||||
| packets in hardware fast path. | ||||
| 5. Solutions Evaluation | ||||
| Although this is not a solutions document it should be helpful to | ||||
| list the various proposed solutions, without addressing the benefits | ||||
| of one over another, to help understand the problem more clearly. | ||||
| The following are solutions that have been proposed to solve BIER in | The following are solutions that have been proposed to solve BIER in | |||
| v6 environments. | IPv6 environments. | |||
| As illustrated in these examples, the BIER header, or the BitString, | As illustrated in these examples, the BIER header, or the BitString, | |||
| may appear in the IPv6 Header, IPv6 Extension Header, IPv6 Payload, | may appear in the IPv6 Header, IPv6 Extension Header, IPv6 Payload, | |||
| or IPv6 Tunnel Packet: | or IPv6 Tunnel Packet: | |||
| 4.1. BIER-ETH encapsulation in IPv6 networks | 5.1. BIER-ETH encapsulation in IPv6 networks | |||
| +---------------+-----------------+------------------- | +---------------+-----------------+------------------- | |||
| | Ethernet | BIER header | payload | | Ethernet | BIER header | payload | |||
| | (ethType = | (BIFT-id, ...) | | | (ethType = | (BIFT-id, ...) | | |||
| | 0xAB37) | | | | 0xAB37) | | | |||
| | | Next Header | | | | Next Header | | |||
| +---------------+-----------------+------------------- | +---------------+-----------------+------------------- | |||
| BIER-ETH encapsulation (BIER header for Non-MPLS networks as defined | BIER-ETH encapsulation (BIER header for Non-MPLS networks as defined | |||
| in [RFC8296]) can be used to transport the multicast data in the IPv6 | in [RFC8296]) can be used to transport the multicast data in the IPv6 | |||
| skipping to change at page 6, line 40 ¶ | skipping to change at page 8, line 5 ¶ | |||
| within a GRE6 or SRv6, etc tunnel, it might not be possible to | within a GRE6 or SRv6, etc tunnel, it might not be possible to | |||
| parse and decapsulate different types of tunnel headers and | parse and decapsulate different types of tunnel headers and | |||
| forward the BIER packet completely in hardware fast path | forward the BIER packet completely in hardware fast path | |||
| similar to the label stack processing in BIER-MPLS networks. | similar to the label stack processing in BIER-MPLS networks. | |||
| It would be useful to select an encapsulation which could help | It would be useful to select an encapsulation which could help | |||
| in processing the tunnel and BIER header and make the | in processing the tunnel and BIER header and make the | |||
| forwarding decision completely in hardware fast path, which is | forwarding decision completely in hardware fast path, which is | |||
| lacking in BIER-ETH encapsulation if chosen to be deployed in | lacking in BIER-ETH encapsulation if chosen to be deployed in | |||
| pure IPv6 networks. | pure IPv6 networks. | |||
| 4.2. Encode Bitstring in IPv6 destination address | 5.2. Encode Bitstring in IPv6 destination address | |||
| +---------------+------------------- | +---------------+------------------- | |||
| | IPv6 header | payload | | IPv6 header | payload | |||
| | (BitString in | | | (BitString in | | |||
| | DA lower bits)| | | DA lower bits)| | |||
| | Next Header | | | Next Header | | |||
| +---------------+------------------- | +---------------+------------------- | |||
| As described in [I-D.pfister-bier-over-ipv6], The information | As described in [I-D.pfister-bier-over-ipv6], The information | |||
| required by BIER is stored in the destination IPv6 address. The BIER | required by BIER is stored in the destination IPv6 address. The BIER | |||
| skipping to change at page 7, line 13 ¶ | skipping to change at page 8, line 27 ¶ | |||
| address of each packet. The high-order bits of the IPv6 destination | address of each packet. The high-order bits of the IPv6 destination | |||
| address are used by intermediate routers for unicast forwarding, | address are used by intermediate routers for unicast forwarding, | |||
| deciding whether a packet is a BIER packet, and if so, to identify | deciding whether a packet is a BIER packet, and if so, to identify | |||
| the BIER Sub-Domain, Set Identifier and BitString length. No | the BIER Sub-Domain, Set Identifier and BitString length. No | |||
| additional extension or encapsulation header is required. Instead of | additional extension or encapsulation header is required. Instead of | |||
| encapsulating the packet in IPv6, the payload is attached to the BIER | encapsulating the packet in IPv6, the payload is attached to the BIER | |||
| IPv6 header and the IPv6 protocol number is set to the type of the | IPv6 header and the IPv6 protocol number is set to the type of the | |||
| payload. If the payload is UDP, the UDP checksum needs to change | payload. If the payload is UDP, the UDP checksum needs to change | |||
| when the BitString in the IPv6 destination address changes. | when the BitString in the IPv6 destination address changes. | |||
| 4.3. Add BIER header into IPv6 Extension Header | 5.3. Add BIER header into IPv6 Extension Header | |||
| +---------------+-----------------+------------------- | +---------------+-----------------+------------------- | |||
| | IPv6 header | IPv6 Ext header | payload | | IPv6 header | IPv6 Ext header | payload | |||
| |(Multicast DA) | (BIER header in | | |(Multicast DA) | (BIER header in | | |||
| | | TLV Type = X) | | | | TLV Type = X) | | |||
| | Next Header | Next Header | | | Next Header | Next Header | | |||
| +---------------+-----------------+------------------- | +---------------+-----------------+------------------- | |||
| According to [RFC8200] In IPv6, optional internet-layer information | According to [RFC8200] In IPv6, optional internet-layer information | |||
| is encoded in separate headers that may be placed between the IPv6 | is encoded in separate headers that may be placed between the IPv6 | |||
| skipping to change at page 8, line 21 ¶ | skipping to change at page 9, line 34 ¶ | |||
| IPv6 header. | IPv6 header. | |||
| Defining New Extension Headers and Options may also be considered, if | Defining New Extension Headers and Options may also be considered, if | |||
| the IPv6 Destination Option Header is not good enough and new | the IPv6 Destination Option Header is not good enough and new | |||
| extension headers can solve the problem better. | extension headers can solve the problem better. | |||
| Such proposals may include requests to IANA to allocate a "BIER | Such proposals may include requests to IANA to allocate a "BIER | |||
| Option" code from "Destination Options and Hop-by-Hop Options", and/ | Option" code from "Destination Options and Hop-by-Hop Options", and/ | |||
| or a "BIER Option Header" code from "IPv6 Extension Header Types". | or a "BIER Option Header" code from "IPv6 Extension Header Types". | |||
| 4.4. Transport BIER as IPv6 payload | 5.4. Transport BIER as IPv6 payload | |||
| +---------------+-----------------+------------------- | +---------------+-----------------+------------------- | |||
| | IPv6 header | IPv6 Ext header | BIER Hdr + payload | | IPv6 header | IPv6 Ext header | BIER Hdr + payload | |||
| | | (optional) | as IPv6 payload | | | (optional) | as IPv6 payload | |||
| | | | | | | | | |||
| | Next Header | Next Header = X | | | Next Header | Next Header = X | | |||
| +---------------+-----------------+------------------- | +---------------+-----------------+------------------- | |||
| There is a proposal for a transport-independent BIER encapsulation | There is a proposal for a transport-independent BIER encapsulation | |||
| header which is applicable regardless of the underlying transport | header which is applicable regardless of the underlying transport | |||
| technology. As described in [I-D.xu-bier-encapsulation] and | technology. As described in [I-D.xu-bier-encapsulation] and | |||
| [I-D.zhang-bier-bierin6], the BIER header, and the payload following | [I-D.zhang-bier-bierin6], the BIER header, and the payload following | |||
| it, can be combined as an IPv6 payload, and be indicated by a new | it, can be combined as an IPv6 payload, and be indicated by a new | |||
| Upper-layer IPv6 Next-Header value. A unicast IPv6 destination | Upper-layer IPv6 Next-Header value. A unicast IPv6 destination | |||
| address is used for the replication and changes when replicating a | address is used for the replication and changes when replicating a | |||
| packet out to a neighbor. | packet out to a neighbor. | |||
| Such proposals may include a request to IANA to allocate an IPv6 | Such proposals may include a request to IANA to allocate an IPv6 | |||
| Next-Header code from "Assigned Internet Protocol Numbers". | Next-Header code from "Assigned Internet Protocol Numbers". | |||
| 4.5. Tunneling BIER in a IPv6 tunnel | 5.5. Tunneling BIER in a IPv6 tunnel | |||
| +---------------+-----------------+------------+---------------- | +---------------+-----------------+------------+---------------- | |||
| | IPv6 header | IPv6 Ext header | GRE header | | | IPv6 header | IPv6 Ext header | GRE header | | |||
| | | (optional) | | BIER Hdr + | | | (optional) | | BIER Hdr + | |||
| | | | | payload as GRE | | | | | payload as GRE | |||
| | Next Header | Next Header | Proto = X | Payload | | Next Header | Next Header | Proto = X | Payload | |||
| +---------------+-----------------+------------+---------------- | +---------------+-----------------+------------+---------------- | |||
| A generic IPv6 Tunnel could be used to encapsulate the bier packet | A generic IPv6 Tunnel could be used to encapsulate the bier packet | |||
| within an IPv6 domain. | within an IPv6 domain. | |||
| skipping to change at page 9, line 27 ¶ | skipping to change at page 10, line 39 ¶ | |||
| | | | | payload as UDP | | | | | payload as UDP | |||
| | Next Header | Next Header | DPort = X | Payload | | Next Header | Next Header | DPort = X | Payload | |||
| +---------------+-----------------+------------+---------------- | +---------------+-----------------+------------+---------------- | |||
| UDP-based tunneling is another mechanism which uses a specific UDP | UDP-based tunneling is another mechanism which uses a specific UDP | |||
| port to indicate a UDP payload format. Both IPv4 and IPv6 can | port to indicate a UDP payload format. Both IPv4 and IPv6 can | |||
| support UDP. Such UDP-based tunnels can be used for BIER in a IPv6 | support UDP. Such UDP-based tunnels can be used for BIER in a IPv6 | |||
| network by defining a new UDP port to indicate the BIER header and | network by defining a new UDP port to indicate the BIER header and | |||
| payload. | payload. | |||
| 5. Suggested Requirements | ||||
| This is not a requirements document and we may eventually remove this | ||||
| section. We will, however, summarize some of the "requirements", | ||||
| that have been suggested on the BIER email list, to help further | ||||
| understand the problem. At a minimum, this may serve as a kick start | ||||
| to a requirements draft if one is deemed necessary by the WG: | ||||
| The solution should be agnostic to the underlying L2 data link type. | ||||
| The solution should not require hop-by-hop modification of the IP | ||||
| destination address field. | ||||
| The solution should not require the BFRs to inspect layer 4 or | ||||
| require any changes to layer 4. | ||||
| The solution should not allow a multicast address to be put in the IP | ||||
| source address field. | ||||
| The solution should not assume that bits never get set incorrectly. | ||||
| The solution should not require changes in source address filtering | ||||
| procedures. | ||||
| The solution should be possible to be used to support the entire BIER | ||||
| architecture. | ||||
| The solution should avoid having to use different encapsulation | ||||
| types, or use complex tunneling techniques, to support BIER as a E2E | ||||
| multicast transport. | ||||
| The solution should enable the processing and forwarding of BIER | ||||
| packets in hardware fast path. | ||||
| 6. IANA Considerations | 6. IANA Considerations | |||
| Some BIERv6 encapsulation proposals do not require any action from | Some BIERv6 encapsulation proposals do not require any action from | |||
| IANA while other proposals require new BIER Destination Option | IANA while other proposals require new BIER Destination Option | |||
| codepoints from IPv6 sub-registries or require new IP Protocol codes. | codepoints from IPv6 sub-registries, new "Next header" values, or | |||
| This document, however, does not require anything from IANA. | require new IP Protocol codes. This document, however, does not | |||
| require anything from IANA. | ||||
| 7. Security Considerations | 7. Security Considerations | |||
| There are no security issues introduced by this draft. | There are no security issues introduced by this draft. | |||
| 8. Acknowledgement | 8. Acknowledgement | |||
| Thank you to Eric Rosen for his listed set of requirements on the | Thank you to Eric Rosen for his listed set of requirements on the | |||
| bier wg list. | bier wg list. | |||
| End of changes. 22 change blocks. | ||||
| 87 lines changed or deleted | 105 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/ | ||||