BIER | Z. Zhang |
Internet-Draft | ZTE Corporation |
Intended status: Standards Track | A. Przygienda |
Expires: July 11, 2020 | Juniper Networks, Inc. |
I. Wijnands | |
Cisco Systems | |
H. Bidgoli | |
Nokia | |
M. McBride | |
Futurewei | |
January 8, 2020 |
BIER in IPv6 (BIERin6)
draft-zhang-bier-bierin6-04
BIER is a new architecture for the forwarding of multicast data packets. This document defines native IPv6 encapsulation for BIER hop-by-hop forwarding or BIERin6 for short.
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.
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 https://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 July 11, 2020.
Copyright (c) 2020 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 (https://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.
BIER [RFC8279] is a new architecture for the forwarding of multicast data packets. It provides optimal forwarding through a "multicast domain" and it does not necessarily precondition construction of a multicast distribution tree, nor does it require intermediate nodes to maintain any per-flow state.
This document specifies non-MPLS BIER forwarding in an IPv6 [RFC8200] environment, refferred to as BIERin6, using non-MPLS BIER encapsulation specified in [RFC8296].
MPLS BIER forwarding in IPv6 is outside the scope of this document.
This document uses terminology defined in [RFC8279] and [RFC8296].
[RFC8296] defines the BIER encapsulation format in MPLS and non-MPLS environment. In case of non-MPLS environment, a BIER packet is the payload of an "outer" encapsulation, which has a "next protocol" codepoint that is set to a value that means "non-MPLS BIER".
That can be used as is in a pure IPv6 non-mpls environment. Between two directly connected BFRs, a BIER header could directly follow link layer header, e.g., an Ethernet header (with the Ethertype set to 0xAB37). If a BFR needs to tunnel BIER packets to another BFR, e.g. per [RFC8279] Section 6.9, IPv6 encapsulation can be used, with the destination address being the downstream BFR and the Next Header field set to a to-be-assigned value for "non-MPLS BIER".
The IPv6 encapsulation could be used even between two directly connected BFRs in the following two cases:
Whenever IPv6 encapsulation is used for BIER forwarding, The Next Header field in the IPv6 Header (if there are no extension headers), or the Next Header field in the last extension header is set to TBD, indicating that the payload is a BIER packet.
If the neighbor is directly connected, The destination address in IPv6 header SHOULD be the neighbor's link-local address on this router's outgoing interface, the source destination address SHOULD be this router's link-local address on the outgoing interface, and the IPv6 TTL MUST be set to 1. Otherwise, the destination address SHOULD be the BIER prefix of the BFR neighbor, the source address SHOULD be this router's BIER prefix, and the TTL MUST be large enough to get the packet to the BFR neighbor.
The Flow-ID in the IPv6 packet SHOULD be copied from the entropy field in the BIER encapsulation.
RFC 8200 section 4, defines the IPv6 extension headers. Currently there are two defined extension headers, Hop-by-Hop and Destination options header, which can carry a variable number of options. These extension headers are inserted by the source node.
For directly connected BIER routers, IPv6 Hop-by-Hop or Destination options are irrelevant and SHOULD NOT be inserted by BFIR on the BIERin6 packet. In this case IPv6 header, Next Header field should be set to TBD. Any IPv6 packet arriving on BFRs and BFERs, with multiple extension header where the last extension header has a Next Header field set to TBD, SHOULD be discard and the node should transmit an ICMP Parameter Problem message to the source of the packet (BFIR) with an ICMP code value of TBD10 ('invalid options for BIERin6').
This also indicates that for disjoint BIER routers using IPv6 encapsulation, there SHOULD NOT be any IPv6 Hop-by-Hop or Destination options be present in a BIERin6 packet. In this case, if additional traffic engineering is required, IPv6 tunneling (i.e. BIERin6 over SRv6) can be implemented.
The BIER header MUST be encoded per Section 2.2 of [RFC8296].
The BIFT-id is either encoded per [I-D.ietf-bier-non-mpls-bift-encoding] or per advertised by BFRs, as specificed in [I-D.dhanaraj-bier-lsr-ethernet-extensions].
When IPv6 encapsulation is not required between directly connected BFRs, no signaling in addition to that specified in [I-D.dhanaraj-bier-lsr-ethernet-extensions] is needed.
Otherwise, a node that requires IPv6 encapsualtion MUST advertise the BIER IPv6 transportation sub-TLV/sub-sub-TLV according to local configuration or policy in the BIER domain to request other BFRs to always use IPv6 encapsulation.
In presence of multiple encapsulation possibilities hop-by-hop it is a matter of local policy which encapsulation is imposed and the receiving router MUST accept all encapsulations that it advertised.
The BIER IPv6 transportation is a new sub-TLV of BIER defined in OSPF [RFC8444], and a new sub-sub-TLV of BIER Info sub-TLV defined in ISIS [RFC8401].
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
When BFR-prefixes are advertised across IGP areas per [I-D.dhanaraj-bier-lsr-ethernet-extensions] or redistributed across protocol boundaries per [I-D.zwzw-bier-prefix-redistribute], the BIER IPv6 transportation sub-TLV or sub-sub-TLV MAY be re-advertised/re-distributed as well.
IANA is requested to assign a new "BIER" type for "Next Header" in the "Assigned Internet Protocol Numbers" registry.
IANA is requested to assign a new "BIERin6" type for "invalid options" in the "ICMP code value" registry.
IANA is requested to assign a new "BIER IPv6 transportation Sub-TLV" type in the "OSPFv2 Extended Prefix TLV Sub-TLVs" Registry.
IANA is requested to set up a new "BIER IPv6 transportation Sub-sub-TLV" type in the "IS-IS BIER Info sub-TLV" Registry.
General IPv6 and BIER security considerations apply.
The authors would like to thank Jeffrey Zhang for his review and valuable contributions.
[RFC8200] | Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017. |
[RFC8279] | Wijnands, IJ., Rosen, E., Dolganow, A., Przygienda, T. and S. Aldrin, "Multicast Using Bit Index Explicit Replication (BIER)", RFC 8279, DOI 10.17487/RFC8279, November 2017. |
[RFC8296] | Wijnands, IJ., Rosen, E., Dolganow, A., Tantsura, J., Aldrin, S. and I. Meilik, "Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non-MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 2018. |
[RFC8401] | Ginsberg, L., Przygienda, T., Aldrin, S. and Z. Zhang, "Bit Index Explicit Replication (BIER) Support via IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018. |
[RFC8444] | Psenak, P., Kumar, N., Wijnands, IJ., Dolganow, A., Przygienda, T., Zhang, J. and S. Aldrin, "OSPFv2 Extensions for Bit Index Explicit Replication (BIER)", RFC 8444, DOI 10.17487/RFC8444, November 2018. |
[I-D.dhanaraj-bier-lsr-ethernet-extensions] | Dhanaraj, S., Wijnands, I., Psenak, P., Zhang, Z., Yan, G. and J. Xie, "LSR Extensions for BIER over Ethernet", Internet-Draft draft-dhanaraj-bier-lsr-ethernet-extensions-00, January 2019. |
[I-D.ietf-bier-bar-ipa] | Zhang, Z., Przygienda, T., Dolganow, A., Bidgoli, H., Wijnands, I. and A. Gulko, "BIER Underlay Path Calculation Algorithm and Constraints", Internet-Draft draft-ietf-bier-bar-ipa-06, November 2019. |
[I-D.ietf-bier-idr-extensions] | Xu, X., Chen, M., Patel, K., Wijnands, I. and T. Przygienda, "BGP Extensions for BIER", Internet-Draft draft-ietf-bier-idr-extensions-07, September 2019. |
[I-D.ietf-bier-non-mpls-bift-encoding] | Wijnands, I., Xu, X. and H. Bidgoli, "An Optional Encoding of the BIFT-id Field in the non-MPLS BIER Encapsulation", Internet-Draft draft-ietf-bier-non-mpls-bift-encoding-02, August 2019. |
[I-D.zhang-bier-babel-extensions] | Zhang, Z. and T. Przygienda, "BIER in BABEL", Internet-Draft draft-zhang-bier-babel-extensions-02, November 2019. |
[I-D.zwzw-bier-prefix-redistribute] | Zhang, Z., Bo, W., Zhang, Z. and I. Wijnands, "BIER Prefix Redistribute", Internet-Draft draft-zwzw-bier-prefix-redistribute-03, September 2019. |
[RFC7368] | Chown, T., Arkko, J., Brandt, A., Troan, O. and J. Weil, "IPv6 Home Networking Architecture Principles", RFC 7368, DOI 10.17487/RFC7368, October 2014. |