Introduction to the Path Computation Element Protocol (PCEP)

The Path Computation Element Protocol (PCEP) is one of several protocols used for communication between a Wide-Area Network (WAN) Software-Define Networking (SDN) controller and network elements.

The Nokia WAN SDN Controller is known as the Network Services Platform (NSP).

Figure 1 illustrates the architecture of the NSP.

The NSP implements a few components that provide service provisioning, automation, optimization, and element management functions for both IP and optical networks. The following is an overview of the NSP components. More details can be found in the NSP Planning Guide:
  1. NSP cluster

    The NSP cluster is the core component that hosts the common services (nspOS) as well as all the major NSP software applications. Among the applications hosted by the NSP cluster is the Model-driven Mediation (MDM) which provides mediation between model-driven NSP applications and Nokia or third-party network devices. The Workflow Manager (WFM) allows for the creation and execution of workflows. The NSP Baseline Analytics monitor network traffic to establish baselines and can flag anomalous traffic patterns.

  2. IP resource control (IPRC)

    The IPRC provides service provisioning and activation as well as the Network Resource Controller for packet networks (NRC-P). The NRC-P hosts a path computation engine and implements a stateful Path Computation Element (PCE). The PCE instantiates and manages LSPs across IP network elements (NEs), and supports RSVP and segment routing LSP technologies. It also provides flow-based protocols such as OpenFlow and BGP FlowSpec to perform intelligent traffic steering and to automate policy based redirection at the flow or route level.

  3. Cross domain resource control (CDRC)

    This component optimizes network resources across different layers and domains of IP/MPLS, and optical networks.

  4. Simulation tool

    A traffic engineering tool that can be used by network engineers to design a new network, or optimize and simulate failures in an existing network that is imported into the tool.

Figure 1. NSP Architecture

Figure 2 illustrates the NRC-P.

Figure 2. Packet Network Resource Controller (NRC-P) Architecture

The NRC-P has the following architecture:

The VSR-NRC implements a PCEP PCE function, an OpenFlow controller, a BMP station database, a Route Origination module, and a TE database populated using IGP and BGP-LS.

The NRC-P module of the NSP and the VSR-NRC communicate using a reliable proprietary TCP-based channel called CPROTO. The NRC-P module acts as the server side, it is the module which always initiates the establishment of the CPROTO session toward the VSR-NRC.

The message data within the CPROTO channel is encoded and serialized using Google Protocol Buffers (PROTOBUF).

The VSR-NRC implements an NSP-Proxy module that manages all databases and channels used in the communications with the NRC-P. The NSP-Proxy opens a dedicated UDP port number 4199 for this communication and operates as the client side. This port is managed by the NSP-PROXY.

The NRC-P initiates a separate CPROTO session with a dedicated PROTOBUF channel service for the information exchanged for each type of capability supported:
  1. PCEP
  2. OPEN_FLOW
  3. BGP_LS (covers topology discovered using BGP-LS and IGP)
  4. BMP_STATION
  5. ROM_SRTE (Route Origination Module for BGP families sr-policy-ipv4 and sr-policy-ipv6)
  6. ROM_IPV4/V6 (BGP families IPv4 and IPv6)
  7. ROM_FLOSPEC (BGP families flowspec-ipv4 and flowspec-ipv6)
  8. ROM_LABELV4/V6 (BGP families label-ipv4 and label-ipv6)
  9. Global Health and Notification

The NRC-P, via the VSR-NRC, uses PCEP to communicate with its clients, referred to as PCE Clients (PCCs). Each router acting as a PCC initiates a PCEP session to the PCE in its domain.

When the user enables PCE control for one or more segment routing or RSVP-TE LSPs, the PCE owns the path updating and periodic re-optimization of the LSP. In this case, the PCE acts in an active stateful role. The PCE can also act in a stateful passive role for other LSPs on the router by discovering them and taking into account their resource consumption when computing the path for the LSPs it has control ownership of.

The following is a high-level description of the PCE and PCC capabilities: