BIER Penultimate Hop Popping
draft-ietf-bier-php-16
| Document | Type | Active Internet-Draft (bier WG) | |
|---|---|---|---|
| Author | Zhaohui (Jeffrey) Zhang | ||
| Last updated | 2025-01-02 (Latest revision 2024-12-04) | ||
| Replaces | draft-zzhang-bier-php | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Intended RFC status | Proposed Standard | ||
| Formats | |||
| Reviews |
GENART IETF Last Call review
(of
-12)
by Lars Eggert
Ready w/nits
|
||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | Submitted to IESG for Publication | |
| Document shepherd | Xiao Min | ||
| Shepherd write-up | Show Last changed 2023-03-09 | ||
| IESG | IESG state | RFC Ed Queue | |
| Action Holders |
(None)
|
||
| Consensus boilerplate | Yes | ||
| Telechat date | (None) | ||
| Responsible AD | Gunter Van de Velde | ||
| Send notices to | xiao.min2@zte.com.cn | ||
| IANA | IANA review state | Version Changed - Review Needed | |
| IANA action state | RFC-Ed-Ack | ||
| IANA expert review state | Expert Reviews OK | ||
| RFC Editor | RFC Editor state | MISSREF | |
| Details |
draft-ietf-bier-php-16
BIER Z. Zhang
Internet-Draft Juniper Networks
Intended status: Standards Track 4 December 2024
Expires: 7 June 2025
BIER Penultimate Hop Popping
draft-ietf-bier-php-16
Abstract
This document specifies a mechanism for Penultimate Hop Popping (PHP)
in the Bit Index Explicit Replication (BIER) architecture. PHP
enables the removal of the BIER header by the penultimate router,
thereby reducing the processing burden on the final router in the
delivery path. This extension to BIER enhances operational
efficiency by optimizing packet forwarding in scenarios where the
final hop's capabilities or requirements necessitate such handling.
The document details the necessary extensions to the BIER
encapsulation and forwarding processes to support PHP, providing
guidance for implementation and deployment within BIER-enabled
networks.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Status of This Memo
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 7 June 2025.
Zhang Expires 7 June 2025 [Page 1]
Internet-Draft bier-php December 2024
Copyright Notice
Copyright (c) 2024 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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Specifications . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Signaling . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. BIRT/BIFT Calculation . . . . . . . . . . . . . . . . . . 5
3. Security Considerations . . . . . . . . . . . . . . . . . . . 5
4. Operational Considerations . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Normative References . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
The Bit Index Explicit Replication (BIER) architecture [RFC8279]
consists of three layers: the "routing underlay", the "BIER layer",
and the "multicast flow overlay". The multicast flow overlay is
responsible for allowing BIER Forwarding Egress Routers (BFERs) to
signal to BIER Forwarding Ingress Routers (BFIRs) their interest in
receiving specific multicast flows, enabling BFIRs to encode the
appropriate bitstring for forwarding by the BIER layer.
Multicast Virtual Private Network (MVPN) [RFC6513] [RFC6514] and
Ethernet VPN (EVPN) [RFC7432] are two analogous overlays in which BGP
Auto-Discovery routes for MVPN/EVPN are exchanged among all Provider
Edge (PE) routers to signal which PEs should receive multicast
traffic for all or certain flows. Typically, a consistent provider
tunnel type is used for traffic delivery to all receiving PEs.
Zhang Expires 7 June 2025 [Page 2]
Internet-Draft bier-php December 2024
In a deployment scenario where MVPN/EVPN is in use and a sufficient
number of provider routers support BIER, BIER can become the
preferred provider tunnel type [RFC8556] [RFC9624] . However, some
PEs may lack the capability to support BIER forwarding (they are
referred to as BIER-incapable in this document). While it is
possible for an ingress PE to send traffic to some PEs using one type
of tunnel and to others using a different type, such a procedure can
be complex and may result in suboptimal forwarding.
A potential solution to this issue is the use of Penultimate Hop
Popping (PHP), whereby the upstream BIER Forwarding Router (BFR) pops
the BIER header [RFC8296] and transmits the payload without BIER
encapsulation. This transmission can occur either directly or
indirectly through any type of tunnel to the PE. This mechanism is
analogous to Multi-Protocol Label Switching (MPLS) PHP, except that
the BIER header is removed.
The transition from an existing MVPN/EVPN deployment with
conventional provider tunnels to a BIER-based solution, where some
PEs are not BIER-capable, can be incremental. Initially, all PEs are
upgraded to support BIER in the control plane, with those unable to
perform BIER forwarding requesting PHP. Subsequently, BIER-capable
ingress PEs can independently and incrementally switch to BIER
transport.
While MVPN/EVPN is used as an example in the above discussion, BIER
PHP is applicable to any scenario where the multicast flow overlay
edge router does not support BIER, provided that the edge router does
not need to identify the transmitting BFIR or participate in BIER
Operations, Administration, and Maintenance (OAM) procedures.
This approach is effective when a BIER-incapable PE only needs to
receive multicast traffic. However, if the PE also needs to send
multicast traffic, it must perform Ingress Replication to a BIER-
capable helper PE, which will then relay the packet to other PEs.
The helper PE may be a Virtual Hub as defined in [RFC7024] for MVPN
and [I-D.ietf-bess-evpn-virtual-hub] for EVPN, or an AR-Replicator as
defined in [RFC9574] for EVPN.
2. Specifications
The BIER Penultimate Hop Popping (PHP) mechanism is designed
specifically for scenarios where a multicast flow overlay router
within a BIER domain does not support BIER forwarding, either
completely or for specific BitStringLengths (BSL). In the latter
case, PHP applies only to BIER packets with those particular BSLs.
If the flow overlay router were capable of BIER forwarding, it would
function as a BFER, and PHP would not be performed by the penultimate
Zhang Expires 7 June 2025 [Page 3]
Internet-Draft bier-php December 2024
hop.
The procedures outlined in this section are applicable only if,
through means outside the scope of this document, it is established
that all potential penultimate hop BFRs are capable of supporting PHP
(i.e., able to remove the BIER header when forwarding to a requesting
flow overlay router) and that the payload following the BIER header
is one of the following:
* MPLS packets with a downstream-assigned label at the top of the
stack (i.e., the Proto field in the BIER header is set to 1). For
instance, a label from a Domain-wide Common Block (DCB) as
specified in [RFC9573].
* IPv4/IPv6 multicast packets for which the Reverse Path Forwarding
(RPF) check is disabled.
2.1. Signaling
In IS-IS signaling, a sub-TLV nested within another sub-TLV is
referred to as a sub-sub-TLV (and further levels are possible, such
as sub-sub-sub-TLV). In other signaling protocols, a sub-TLV nested
within another sub-TLV is still referred to as a sub-TLV. For
convenience, this document uses the term "sub-TLV" even when
referring to a sub-sub-TLV in IS-IS, as there is no ambiguity in the
terminology (e.g., MPLS Encapsulation).
A BIER-incapable router, when functioning as a multicast flow overlay
router for BIER, MUST signal its BIER information as specified in
[RFC8401], [RFC8444], [I-D.ietf-bier-ospfv3-extensions], or
[I-D.ietf-bier-idr-extensions], including a PHP sub-TLV within the
BIER sub-TLV (or TLV in the case of BGP) attached to the BIER-
incapable router's BFR-prefix to request BIER PHP from other BFRs.
The type of the sub-TLV or sub-sub-TLV is TBD, and the length is 0.
For MPLS encapsulation, the BIER-incapable multicast flow overlay
router MAY omit the BIER MPLS Encapsulation sub-TLV, or it MUST set
the Label field in the BIER MPLS Encapsulation sub-TLV to the
Implicit Null Label [RFC3032].
In the case of MPLS encapsulation, if a BFER (which supports BIER but
not a specific BSL) does not support a particular BSL, it MAY
advertise a corresponding BIER MPLS Encapsulation sub-TLV with the
Label field set to the Implicit Null Label to request PHP for that
BSL. In this scenario, the PHP sub-TLV MUST NOT be included.
Zhang Expires 7 June 2025 [Page 4]
Internet-Draft bier-php December 2024
For non-MPLS encapsulation [I-D.ietf-bier-lsr-non-mpls-extensions],
the BIER-incapable multicast flow overlay router MAY omit the BIER
non-MPLS Encapsulation sub-TLV, or it MUST set the BIFT-id field in
the BIER non-MPLS Encapsulation sub-TLV to 0.
Similarly, for non-MPLS encapsulation, if a BFER (which supports BIER
but not a specific BSL) does not support a particular BSL, it MAY
advertise a corresponding BIER non-MPLS Encapsulation sub-TLV but set
the BIFT-id field to 0 to request PHP for that BSL. In this
scenario, the PHP sub-TLV MUST NOT be included.
2.2. BIRT/BIFT Calculation
If a BFR adheres to Section 6.9 of [RFC8279] for handling BIER-
incapable routers, it MUST treat a router as BIER-incapable for a
specific BSL if the label in the corresponding MPLS Encapsulation
sub-TLV advertised by the router is Implicit Null, or if the BIFT-id
in the corresponding non-MPLS Encapsulation sub-TLV is 0.
Additionally, the router MUST be treated as BIER-incapable for all
BSLs if it advertises a PHP sub-TLV. Consequently, the router will
not be utilized as a transit BFR for certain or all BSLs.
When the downstream neighbor (whether determined through IGP
calculation or indicated in the BIER Nexthop sub-TLV in the case of
BGP) for a BFR-prefix is the router that advertises the prefix with a
PHP sub-TLV, an Implicit Null Label in its BIER MPLS Encapsulation
sub-TLV, or a BIFT-id of 0 in its BIER non-MPLS Encapsulation sub-
TLV, then, upon the creation or update of the corresponding BIRT or
BIFT entry, the forwarding behavior MUST be that the BIER header is
removed and the payload is forwarded to the downstream router without
the BIER header, either directly or over any type of tunnel.
3. Security Considerations
This specification does not introduce additional security concerns
beyond those already discussed in BIER architecture [RFC8279] and
BIER signaling extensions to OSPF [RFC8444], IS-IS [RFC8401] and BGP
[I-D.ietf-bier-idr-extensions].
4. Operational Considerations
BIER PHP can only be used when the conditions specified in Section 2
are met. The BIER OAM functionality is not available on the BIER-
incapable flow overlay routers, but using PHP when the conditions are
met is simpler than the alternative of using BIER to send to some
whereas using non-BIER tunnels to send to other flow overlay routers.
Zhang Expires 7 June 2025 [Page 5]
Internet-Draft bier-php December 2024
[RFC8279] states that when the BIER header is decapsulated, by
default its Time to Live (TTL) value is not inherited by the payload.
That means in the PHP case, the payload's TTL will be decremented
once more than in the non-PHP case.
5. IANA Considerations
This document requests a new sub-sub-TLV type value from the "Sub-
sub-TLVs for BIER Info Sub-TLV" registry within the "IS-IS TLV
Codepoints" registry:
Type Name
---- ----
TBD BIER PHP Request
This document requests a new sub-TLV type value from the OSPFv2
Extended Prefix TLV Sub-TLV registry:
Type Name
---- ----
TBD BIER PHP Request
This document requests a new sub-TLV type value from the OSPFv3
Extended LSA Sub-TLVs registry:
Type Name L2BM
---- ---- ----
TBD BIER PHP Request X
This document requests a new sub-TLV type value from the BGP BIER TLV
sub-TLV Types registry requested in [I-D.ietf-bier-idr-extensions]:
Type Name
---- ----
TBD BIER PHP Request
6. Acknowledgements
The author wants to thank Eric Rosen and Antonie Przygienda for their
review, comments and suggestions. The author also wants to thank
Senthil Dhanaraj for the suggestion of requesting PHP if a BFER does
not support certain BSL.
7. References
7.1. Normative References
Zhang Expires 7 June 2025 [Page 6]
Internet-Draft bier-php December 2024
[I-D.ietf-bier-idr-extensions]
Xu, X., Chen, M., Patel, K., Wijnands, I., Przygienda, T.,
and Z. J. Zhang, "BGP Extensions for BIER", Work in
Progress, Internet-Draft, draft-ietf-bier-idr-extensions-
15, 22 November 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-bier-
idr-extensions-15>.
[I-D.ietf-bier-lsr-non-mpls-extensions]
Dhanaraj, S., Yan, G., Wijnands, I., Psenak, P., Zhang, Z.
J., and J. Xie, "LSR Extensions for BIER non-MPLS
Encapsulation", Work in Progress, Internet-Draft, draft-
ietf-bier-lsr-non-mpls-extensions-03, 7 February 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-bier-
lsr-non-mpls-extensions-03>.
[I-D.ietf-bier-ospfv3-extensions]
Psenak, P., Nainar, N. K., and I. Wijnands, "OSPFv3
Extensions for BIER", Work in Progress, Internet-Draft,
draft-ietf-bier-ospfv3-extensions-07, 1 December 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-bier-
ospfv3-extensions-07>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
<https://www.rfc-editor.org/info/rfc3032>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
Explicit Replication (BIER)", RFC 8279,
DOI 10.17487/RFC8279, November 2017,
<https://www.rfc-editor.org/info/rfc8279>.
[RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., 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, <https://www.rfc-editor.org/info/rfc8296>.
Zhang Expires 7 June 2025 [Page 7]
Internet-Draft bier-php December 2024
[RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z.
Zhang, "Bit Index Explicit Replication (BIER) Support via
IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018,
<https://www.rfc-editor.org/info/rfc8401>.
[RFC8444] Psenak, P., Ed., 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,
<https://www.rfc-editor.org/info/rfc8444>.
[RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S.,
and A. Dolganow, "Multicast VPN Using Bit Index Explicit
Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April
2019, <https://www.rfc-editor.org/info/rfc8556>.
[RFC9573] Zhang, Z., Rosen, E., Lin, W., Li, Z., and IJ. Wijnands,
"MVPN/EVPN Tunnel Aggregation with Common Labels",
RFC 9573, DOI 10.17487/RFC9573, May 2024,
<https://www.rfc-editor.org/info/rfc9573>.
[RFC9624] Zhang, Z., Przygienda, T., Sajassi, A., and J. Rabadan,
"EVPN Broadcast, Unknown Unicast, or Multicast (BUM) Using
Bit Index Explicit Replication (BIER)", RFC 9624,
DOI 10.17487/RFC9624, August 2024,
<https://www.rfc-editor.org/info/rfc9624>.
7.2. Informative References
[I-D.ietf-bess-evpn-virtual-hub]
Patel, K., Sajassi, A., Drake, J., Zhang, Z. J., and W.
Henderickx, "Virtual Hub-and-Spoke in BGP EVPNs", Work in
Progress, Internet-Draft, draft-ietf-bess-evpn-virtual-
hub-00, 26 January 2020,
<https://datatracker.ietf.org/doc/html/draft-ietf-bess-
evpn-virtual-hub-00>.
[RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
2012, <https://www.rfc-editor.org/info/rfc6513>.
[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Encodings and Procedures for Multicast in MPLS/BGP IP
VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
<https://www.rfc-editor.org/info/rfc6514>.
Zhang Expires 7 June 2025 [Page 8]
Internet-Draft bier-php December 2024
[RFC7024] Jeng, H., Uttaro, J., Jalil, L., Decraene, B., Rekhter,
Y., and R. Aggarwal, "Virtual Hub-and-Spoke in BGP/MPLS
VPNs", RFC 7024, DOI 10.17487/RFC7024, October 2013,
<https://www.rfc-editor.org/info/rfc7024>.
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
2015, <https://www.rfc-editor.org/info/rfc7432>.
[RFC9574] Rabadan, J., Ed., Sathappan, S., Lin, W., Katiyar, M., and
A. Sajassi, "Optimized Ingress Replication Solution for
Ethernet VPNs (EVPNs)", RFC 9574, DOI 10.17487/RFC9574,
May 2024, <https://www.rfc-editor.org/info/rfc9574>.
Author's Address
Zhaohui Zhang
Juniper Networks
Email: zzhang@juniper.net
Zhang Expires 7 June 2025 [Page 9]