PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) of BIER
Internet-Draft draft-chen-pce-pcep-extension-pce-controller-bier-06
Ran Chen
ZTE Corporation
Nanjing
China
chen.ran@zte.com.cn
Chun Zhu
ZTE Corporation
Nanjing
China
zhu.chun@zte.com.cn
BenChong Xu
ZTE Corporation
Nanjing
China
xu.benchong@zte.com.cn
Huaimo Chen
Futurewei
Nanjing
United States of America
Huaimo.chen@futurewei.com
Aijun Wang
China Telecom
Nanjing
China
wangaj3@chinatelecom.cn
2024
Routing
PCE
Internet Draft
This draft specify a new mechanism where PCE allocates the BIER information centrally and uses PCEP to distribute them to all nodes, then PCC generate a "Bit Index Forwarding Table"(BIFT).
Introduction
[RFC8283]introduces the architecture for PCE as a central controller as an extension of the architecture described in [RFC4655] and assumes the continued use of PCEP as the protocol used between PCE and PCC. [RFC8283]further examines the motivations and applicability for PCEP as a Southbound Interface (SBI), and introduces the implications for the protocol.
[RFC9050] specify the procedures and PCEP protocol extensions for using the PCE as the central controller for static LSPs, where LSPs can be provisioned as explicit label instructions at each hop on the end-to-end path. Each router along the path must be told what label-forwarding instructions to program and what resources to reserve. The PCE-based controller keeps a view of the network and determines the paths of the end-to-end LSPs, and the controller uses PCEP to communicate with each router along the path of the end-to-end LSP.
[RFC8279] defines a Bit Index Explicit Replication (BIER) architecture where all intended multicast receivers are encoded as a bitmask in the multicast packet header within different encapsulations such as described in [RFC8296]. A router that receives such a packet will forward the packet based on the bit position in the packet header towards the receiver(s) following a precomputed tree for each of the bits in the packet. Each receiver is represented by a unique bit in the bitmask.
In order to reduce the transmission of redundant information, the PCE-based controllers do not allocate the BFIT directly. Instead, the PCC generates the BFIT based on the received bier informations or the node calculates the nexthop by itself. This document specifies the procedures and PCEP protocol extensions when a PCE-based controller is responsible for configuring the BIER informations.

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.
PCECC BIER Requirements
Following key requirements for PCECC-BIER should be considered when`designing the PCECC based solution:
- PCEP speaker supporting this draft needs to have the capability to advertise its PCECC-BIER capability to its peers.
- PCEP speaker not supporting this draft needs to be able to reject PCECC-BIER related message with a reason code that indicates no support for PCECC.
- PCEP procedures needs to provide a means to update (or cleanup) the BIER related informations (BIER subdomain-id, BFR-id and BSL etc) to the PCC.
- PCEP procedures needs to provide a means to update (or cleanup) the "Bit Index Forwarding Table"(BIFT) to the PCC.
- PCEP procedures needs to provide a means to synchronize the BIER related informations (BIER subdomain-id, BFR-id and BSL etc) between PCE to PCC in the PCEP messages.
Procedures for Using the PCE as the Central Controller (PCECC) in BIER
Active stateful PCE is described in [RFC8231]. PCE as a central controller (PCECC) reuses existing Active stateful PCE mechanism as much as possible to control the LSP.
This document uses the same PCEP messages and its extensions which are described in [RFC9050] for PCECC-BIER as well.
PCEP messages PCRpt, PCInitiate, PCUpd are also used to send LSP Reports, LSP setup and LSP update respectively. The extended PCInitiate message described in [RFC9050] is used to download or cleanup central controller's instructions (CCIs) (BIER related informations and "Bit Index Forwarding Table"(BIFT) in scope of this document). The extended PCRpt message described in [RFC9050] is also used to report the CCIs (BIER related informations) from PCC to PCE.
[RFC9050] specify an object called CCI for the encoding of central controller's instructions. This document extends the CCI by defining another object-type for BIER.
PCECC Capability Advertisement
During PCEP Initialization Phase, PCEP Speakers (PCE or PCC) advertise their support of PCECC extensions. A PCEP Speaker includes the "PCECC Capability" sub-TLV, described in [RFC9050].
This document adds B-bit in PCECC-CAPABILITY sub-TLV for BIER.
New BIER Path Setup
The PCEP messages pertaining to PCECC-BIER MUST include PATH-SETUP-TYPE TLV [RFC8408] with PST=TBD in the SRP object to clearly identify the PCECC-BIER is intended.
PCECC BIER information allocation and Generation of BFIT
There are two ways to generate a "Bit Index Forwarding Table"(BIFT):
- The PCECC allocate parameters(BIER subdomain-id, BFR-id, BAR and IPA) carried by CCI object, parameters(BFR prefix, BSL, Encapsulation Type, BIFT ID, and Max SI) carried by BIER Encapsulation TLV and parameters (BFR prefix)carried by OFEC Object to the PCC. On receiving the BIER informations allocation, each node (PCC) uses IGP protocol to distribute BIER related information to other nodes. The node calculate the nexthop. In this case, Each node (PCC) only needs to be allocated its own BIER informations by the PCECC.
- In scenarios where the IGP protocol is not used/available,Each node (PCC) is allocated its own and neighbor BIER informations by the PCECC, then PCC generates a BIFT based on the informations it receives. The BIER informations include BIER subdomain-id and BFR-id carried by CCI object, BFR prefix, BSL, Encapsulation Type, BIFT ID, and Max SI carried by BIER Encapsulation TLV , BFR-NBR carried by Address TLV and BFR prefix carried by OFEC Object. The BIFT mainly includes BFR ID, F-BM and BFR nexthop.
Redundant PCEs
[I-D.ietf-pce-state-sync] describes synchronization mechanism between the stateful PCEs. The BIER informations allocated by a PCE MUST also be synchronized among PCEs for PCECC BIER state synchronization.
Re Delegation and Cleanup
[RFC9050] describes the action needed for CCIs for the Basic PCECC LSP on this terminated session. Similarly actions should be applied for the BIER information as well.
Synchronization of BIER information Allocations
[RFC9050] describes the synchronization of Central Controller's Instructions (CCI) via LSP state synchronization as described in [RFC8231] and [RFC8232].Same procedures should be applied for BIER informations as well.
PCEP extension
The OPEN Object
PCECC Capability sub-TLV
[RFC9050] defined the PCECC-CAPABILITY TLV. A new B-bit is defined in PCECC-CAPABILITY sub-TLV for PCECC-BIER:

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=TBD                  |               Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Flags                                    |B|I|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
B (PCECC-BIER-CAPABILITY - 1 bit): If set to 1 by a PCEP speaker, it indicates that the PCEP speaker is capable for PCECC-BIER capability and PCE would allocate BIER information on this session.
PATH-SETUP-TYPE TLV
The PATH-SETUP-TYPE TLV is defined in [RFC8408]. PST = TBD is used when Path is setup via PCECC BIER mode.On a PCRpt/PCUpd/PCInitiate message, the PST=TBD indicates that this path was setup via a PCECC-BIER based mechanism where either the BIER informations and BIER forwarding entries were allocated/instructed by PCE via PCECC mechanism.
CCI object
The Central Control Instructions (CCI) Object is used by the PCE to specify the forwarding instructions is defined in [RFC9050]. This document defines another object-type for BIER purpose.
CCI Object-Type is TBD for BIER as below

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                CC-ID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| subdomain-ID  |     BAR       |     IPA       | Flags         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           BFR-ID              |        Reserved               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                       Optional TLV                          //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
The field CC-ID is as described in [RFC9050].
BIER subdomain-ID: Unique value identifying the BIER subdomain. (as defined in [RFC8401].
BAR:BIER Algorithm, as documented in [RFC8401]. Specifies a BIER-specific algorithm used to calculate underlay paths to reach BFERs. Values are allocated from the "BIER Algorithms" registry.
IPA:IGP Algorithm, as documented in [RFC8401]. Specifies an IGP Algorithm to either modify, enhance, or replace the calculation of underlay paths to reach BFERs as defined by the BAR value. Values are from the IGP Algorithm registry. 1 octet.
Flags (16 bit): A field used to carry any additional information pertaining to the CCI.
BFR-ID: A 2-octet field encoding the BFR-id, as documented in [RFC8279].
Optional TLV: There are two optional TLV are defined/reused in this draft.
BIER Encapsulation Sub TLV

   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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Flags             | ET|             Reserved          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Max SI      |BS Len |                  BIFT-id              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
The code point for the TLV type is to be defined by IANA.
Length:4
ET-Flag:ET(Encapsulation type) Flag,There are two Encapsulation Types:
- 0b00-MPLS encapsulation.
- 0b01-Non-MPLS encapsulation.
Max SI: A 1 octet field encoding the Maximum Set Identifier(Section 1 of [RFC8279] ) used in the encapsulation for this BIER subdomain for this BitString length.
Local BitString Length (BS Len): Encoded BitString length as per [RFC8296].
BIFT-id: A 20 bit field encoding the first BIFT-id of the BIFT-id range.
Address TLVs
Address TLVs described in [RFC9050] are used to associate the next-hop information, so we Reuse ADDRESS TLV to carry the BFR out-interface and nexthop informations.

FEC Object
BIER information is always associated with a host prefix, so we reuse FEC Object 1'IPv4 Node ID' and FEC Object-Type 2 'IPv6 Node ID' defined in [RFC8664] to carry the BFR prefix.
Acknowledgements
We would like to thank Dhruv Dhody for their useful comments and suggestions.
IANA Considerations
TBD.
Security Considerations
The PCECC extension are based on the existing PCEP messages and thus the security considerations described in
The PCECC extension are based on the existing PCEP messages and thus the security considerations described in [RFC5440] ,[RFC8231] ,[RFC8281], and [RFC9050] apply to this draft.
Normative References
[RFC8283]
[RFC4655]
[RFC9050]
[RFC8279]
[RFC8296]
[RFC2119]
[RFC8174]
[RFC8231]
[RFC8408]
[I-D.ietf-pce-state-sync]
[RFC8232]
[RFC8401]
[RFC8664]
[RFC5440]
[RFC8281]