SR-PCE (Segment Routing – Path computation Element) is network entity responsible for computation and maintaining paths (traffic engineered paths) in those cases when headend node cannot compute by itself such as inter-domain or dis-joint paths. In other words, it extends SR-TE capability of headend node . SR-PCE can be called SDN controller which is stateful with multi-domain capabilities. SR-PCE communicates with its clients (headend node PCC) using PCEP (path computation element protocol).
Headend node maintains SRTE functionality and manage SR policies and associated traffic steering with the help of IGP to create engineered paths which are intra-domain .In case of inter-domain traffic engineering , headend node delegates SRTE computation tasks to SR-PCE , in this case headend node becomes client of SR-PCE. Below is the depiction of SR-TE process on headend and SR-PCE, refer figure 1 below,
SR-TE process on headend node involves IGP which helps in identifying paths within domain , SR-TE process on SR-PCE involves IGP and BGP-LS which helps identifying paths inter-domain . Communication between Headend node and SR-PCE happens via PCEP session. More details on the role of BGP-LS, please refer to my earlier article, link is given below,
Some of the use cases of using SR-PCE are,
1. Inter-domain SRTE – For end-to-end inter-domain SRTE path, headend node needs to know details of different domains where it uses services of SR-PCE. SR-PCE uses BGP-LS to know information (SRTE database) of end-to-end network .
2. Disjoint paths – Disjoint paths from different headend nodes are computed and maintained by SR-PCE because SR-PCE is the best central network entity in the whole network which can find and maintain disjoint path optimally.
Lets understand deployment model via example, refer figure 2 below,
- SR-PCE builds its SRTE multi-domain database using IGP and BGP-LS (link , node, prefix, SR policy information)
- Headend node connects with SR-PCE using PCEP session.
- Border node from each domain makes BGP-LS relationship with SR-PCE .
- As the network grows, there can be multiple SR-PCEs and also can work in HA.
- SR-PCE is stateful , means it not only computes paths on behalf of headend but also maintains it.
- Headend node request SR-PCE path with all SLA optimization and constraints objective and segment-list empty, SR-PCE computes path and reply to Headend node with segment-list (stack of segment for the desired path).
- Headend node install the path in the forwarding table and delegates the control of the path to SR-PCE so that SR-PCE can maintains it as well if any change happens so that it can re-compute and update path.
This is how all the protocols like IGP, BGP-LS, PCEP stitch together to provide segment routing traffic engineering via SDN . I hope this article is useful. Please comment in the comment section below if you have any query.