<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" consensus="true" ipr="trust200902" submissionType="IETF" docName="draft-ietf-teas-gmpls-controller-inter-work-17" number="9730" obsoletes="" updates="" tocInclude="true" symRefs="true" sortRefs="true" version="3" xml:lang="en">

  <front>
    <title abbrev="GMPLS and Controller Interwork">Interworking of GMPLS Control and Centralized Controller Systems</title>
    <seriesInfo name="RFC" value="9730"/>
    
    <author initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei Technologies</organization>
      <address><postal><street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
      <city>Dongguan</city>
      <region>Guangdong</region>
      <code>523808</code>
      <country>China</country>
    </postal>
    <email>zhenghaomian@huawei.com</email>
      </address>
    </author>

    <author initials="Y." surname="Lin" fullname="Yi Lin">
      <organization>Huawei Technologies</organization>
      <address><postal><street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
      <city>Dongguan</city>
      <region>Guangdong</region>
      <code>523808</code>
      <country>China</country>
    </postal>
    <email>yi.lin@huawei.com</email>
      </address>
    </author>
    
    <author initials="Y." surname="Zhao" fullname="Yang Zhao">
      <organization>China Mobile</organization>
      <address><email>zhaoyangyjy@chinamobile.com</email>
      </address>
    </author>
    
    <author initials="Y." surname="Xu" fullname="Yunbin Xu">
      <organization>CAICT</organization>
      <address><email>xuyunbin@caict.ac.cn</email>
      </address>
    </author>

    <author initials="D." surname="Beller" fullname="Dieter Beller">
      <organization>Nokia</organization>
      <address><email>Dieter.Beller@nokia.com</email>
      </address>
    </author>

    <date year="2025" month="March"/>

    <area>RTG</area>
    <workgroup>teas</workgroup>

<keyword>architecture</keyword>
<keyword>ACTN</keyword>
<keyword>control plane</keyword>

<abstract>
<t>
Generalized Multiprotocol Label Switching (GMPLS) control allows
each network element (NE) to perform local resource discovery,
routing, and signaling in a distributed manner.</t>

<t>
The advancement of software-defined transport networking technology
enables a group of NEs to be managed through centralized controller
hierarchies. This helps to tackle challenges arising from multiple
domains, vendors, and technologies. An example of such a centralized
architecture is the Abstraction and Control of Traffic-Engineered
Networks (ACTN) controller hierarchy, as described in RFC 8453.</t>

	<t>
Both the distributed and centralized control planes have their
respective advantages and should complement each other in the
system, rather than compete. This document outlines how the GMPLS
distributed control plane can work together with a centralized
controller system in a transport network.</t>

	</abstract>
	</front>

	<middle>
	<section anchor="Introduction">
	  <name>Introduction</name>
<t>
Generalized Multiprotocol Label Switching (GMPLS) <xref target="RFC3945"/> extends
MPLS to support different classes of interfaces and switching
capabilities such as Time-Division Multiplex Capable (TDM), Lambda
Switch Capable (LSC), and Fiber-Switch Capable (FSC). Each network
element (NE) running a GMPLS control plane collects network
information from other NEs and supports service provisioning through
signaling in a distributed manner. A more generic description of
traffic-engineering networking information exchange can be found in
<xref target="RFC7926"/>.</t>

	<t>
On the other hand, Software-Defined Networking (SDN) technologies
have been introduced to control the transport network centrally.
Centralized controllers can collect network information from each
node and provision services on corresponding nodes. One example is
the Abstraction and Control of Traffic-Engineered Networks (ACTN)
<xref target="RFC8453"/>, which defines a hierarchical architecture with
the Provisioning Network Controller (PNC), Multi-Domain Service
Coordinator (MDSC), and Customer Network Controller (CNC) as
centralized controllers for different network abstraction levels. A
PCE-based approach has been proposed in <xref target="RFC7491"/>:
Application-Based Network Operations (ABNO).</t>

	<t>
GMPLS can be used to control network elements (NEs) in such
centralized controller architectures. A centralized controller may
support GMPLS-enabled domains and communicate with a GMPLS-enabled
domain where the GMPLS control plane handles service provisioning
from ingress to egress. In this scenario, the centralized controller
sends a request to the entry node and does not need to configure all
NEs along the path within the domain from ingress to egress, thus
leveraging the GMPLS control plane. This document describes how the
GMPLS control plane interworks with a centralized controller system
in a transport network.</t>

	</section>

	<section anchor="Abbreviations">
	  <name>Abbreviations</name>
	  <t>The following abbreviations are used in this document.</t>

	  <dl spacing="normal" newline="false">
	    <dt>ACTN:</dt><dd>Abstraction and Control of Traffic-Engineered
	    Networks <xref target="RFC8453"/></dd>
	    <dt>APS:</dt><dd>Automatic Protection Switching <xref target="G.808.1"/></dd>
	    <dt>BRPC:</dt><dd>Backward Recursive PCE-Based Computation <xref
	    target="RFC5441"/></dd>
	<dt>CSPF:</dt><dd>Constrained Shortest Path First</dd>

	<dt>DoS:</dt>
	<dd>Denial of Service</dd>

	<dt>E2E:</dt>
	<dd>end to end</dd>

	<dt>ERO:</dt>
	<dd>Explicit Route Object</dd>

	<dt>FA:</dt>
	<dd>Forwarding Adjacency</dd>

	<dt>FRR:</dt>
	<dd>Fast Reroute</dd>

	<dt>GMPLS:</dt>
	<dd>Generalized Multiprotocol Label Switching <xref target="RFC3945"/></dd>

	<dt>H-PCE:</dt>
	<dd>Hierarchical PCE <xref target="RFC8685"/></dd>

	<dt>IDS:</dt>
	<dd>Intrusion Detection System</dd>

	<dt>IGP:</dt>
	<dd>Interior Gateway Protocol</dd>

	<dt>IoCs:</dt>
	<dd>Indicators of Compromise <xref target="RFC9424"/></dd>

	<dt>IPS:</dt>
	<dd>Intrusion Prevention System</dd>

	<dt>IS-IS:</dt>
	<dd>Intermediate System to Intermediate System</dd>

	<dt>LMP:</dt>
	<dd>Link Management Protocol <xref target="RFC4204"/></dd>

	<dt>LSP:</dt>
	<dd>Label Switched Path</dd>

	<dt>LSP-DB:</dt>
	<dd>LSP Database</dd>

	<dt>MD:</dt>
	<dd>multi-domain</dd>

	<dt>MDSC:</dt>
	<dd>Multi-Domain Service Coordinator <xref target="RFC8453"/></dd>

	<dt>MITM:</dt>
	<dd>Man in the Middle</dd>

	<dt>ML:</dt>
	<dd>multi-layer</dd>

	<dt>MPI:</dt>
	<dd>MDSC to PNC Interface <xref target="RFC8453"/></dd>

	<dt>NE:</dt>
	<dd>network element</dd>

	<dt>NETCONF:</dt><dd>Network Configuration Protocol <xref target="RFC6241"/></dd>

	<dt>NMS:</dt><dd>Network Management System</dd>

	<dt>OSPF:</dt><dd>Open Shortest Path First</dd>

	<dt>PCC:</dt><dd>Path Computation Client <xref target="RFC4655"/></dd>

	<dt>PCE:</dt><dd>Path Computation Element <xref target="RFC4655"/></dd>

	<dt>PCEP:</dt><dd>PCE Communication Protocol <xref target="RFC5440"/></dd>

	<dt>PCEP-LS:</dt><dd>Link State PCEP <xref target="I-D.ietf-pce-pcep-ls"/></dd>

	<dt>PLR:</dt><dd>Point of Local Repair</dd>

	<dt>PNC:</dt><dd>Provisioning Network Controller <xref target="RFC8453"/></dd>

	<dt>RSVP:</dt><dd>Resource Reservation Protocol</dd>

	<dt>SBI:</dt><dd>Southbound Interface</dd>

	<dt>SDN:</dt><dd>Software-Defined Networking</dd>

	<dt>TE:</dt><dd>Traffic Engineering</dd>

	<dt>TED:</dt><dd>Traffic Engineering Database</dd>

	<dt>TLS:</dt><dd>Transport Layer Security <xref target="RFC8446"/></dd>

	<dt>VNTM:</dt><dd>Virtual Network Topology Manager <xref target="RFC5623"/></dd>
	  </dl>

</section>

<section anchor="Overview">
<name>Overview</name>
<t>
This section provides an overview of the GMPLS control plane,
centralized controller systems, and their interactions in transport
networks.</t>

	<t>
A transport network <xref target="RFC5654"/> is a server-layer network designed to
provide connectivity services for client-layer connectivity. This
setup allows client traffic to be carried seamlessly across the
server-layer network resources.</t>

	<section anchor="overview-GMPLS-control-plane">
<name>Overview of GMPLS Control Plane</name>
<t>
GMPLS separates the control plane and the data plane to support
time-division, wavelength, and spatial switching, which are
significant in transport networks. For the NE level control in
GMPLS, each node runs a GMPLS control plane instance.
Functionalities such as service provisioning, protection, and
restoration can be performed via GMPLS communication among multiple
NEs. At the same time, the GMPLS control plane instance can also
collect information about node and link resources in the network to
construct the network topology and compute routing paths for serving
service requests.</t>

	<t>
Several protocols have been designed for the GMPLS control plane
<xref target="RFC3945"/>, including link management <xref target="RFC4204"/>, signaling <xref target="RFC3471"/>,
and routing <xref target="RFC4202"/> protocols. The GMPLS control plane instances
applying these protocols communicate with each other to exchange
resource information and establish LSPs. In
this way, GMPLS control plane instances in different nodes in the
network have the same view of the network topology and provision
services based on local policies.</t>

	</section>

	<section anchor="controller-sys">
<name>Overview of Centralized Controller System</name>

<t>
With the development of SDN technologies, a centralized controller
architecture has been introduced to transport networks. One example
architecture can be found in ACTN <xref target="RFC8453"/>. In such systems, a
controller is aware of the network topology and is responsible for
provisioning incoming service requests.</t>

	<t>
Multiple hierarchies of controllers are designed at different levels
to implement different functions. This kind of architecture enables
multi-vendor, multi-domain, and multi-technology control. For
example, a higher-level controller coordinates several lower-level
controllers controlling different domains for topology collection
and service provisioning. Vendor-specific features can be abstracted
between controllers, and a standard API (e.g., generated from
RESTCONF <xref target="RFC8040"/> / YANG <xref target="RFC7950"/>) may be used.</t>

	</section>

<section anchor="control-sys">
<name>GMPLS Control Interworking with a Centralized Controller System</name>
<t>
Besides GMPLS and the interactions among the controller hierarchies,
it is also necessary for the controllers to communicate with the
network elements. Within each domain, GMPLS control can be applied
to each NE. The bottom-level centralized controller can act as an NE
to collect network information and initiate LSPs. <xref target="fig1"/> shows an
example of GMPLS interworking with centralized controllers (ACTN
terminologies are used in the figure).</t>

	<figure anchor="fig1">
<name>Example of GMPLS/non-GMPLS Interworking with Controllers</name>
<artwork><![CDATA[
                        +-------------------+
                        |    Orchestrator   |
                        |       (MDSC)      |
                        +-------------------+
                          ^       ^       ^
                          |       |       |
            +-------------+       |       +--------------+
            |                     |RESTCONF/YANG modules |
            V                     V                      V
      +-------------+      +-------------+       +-------------+
      |Controller(N)|      |Controller(G)|       |Controller(G)|
      |    (PNC)    |      |    (PNC)    |       |    (PNC)    |
      +-------------+      +-------------+       +-------------+
           ^  ^                  ^  ^                  ^  ^
           |  |                  |  |                  |  |
    NETCONF|  |PCEP       NETCONF|  |PCEP       NETCONF|  |PCEP
     /YANG |  |            /YANG |  |            /YANG |  |
           V  V                  V  V                  V  V
       .----------.  Inter-  .----------.  Inter-  .----------.
      /            \ domain /            \ domain /            \
     |              | link |     LMP      | link |     LMP      |
     |              |======|   OSPF-TE    |======|   OSPF-TE    |
     |              |      |   RSVP-TE    |      |   RSVP-TE    |
      \            /        \            /        \            /
       `----------`          `----------`          `----------`
    Non-GMPLS domain 1      GMPLS domain 2        GMPLS domain 3]]></artwork>
	</figure>
<dl><dt>Controller(N):</dt> <dd>A domain controller controlling a non-GMPLS domain</dd>
    <dt>Controller(G):</dt> <dd>A domain controller controlling a GMPLS domain</dd>
</dl>
	<t>
   <xref target="fig1"/> shows the scenario with two GMPLS domains and one non-GMPLS
   domain. This system supports the interworking among non-GMPLS
   domains, GMPLS domains, and the controller hierarchies.</t>

	<t>
   For domain 1, the network elements were not enabled with GMPLS, so the
   control is purely from the controller, via Network Configuration Protocol
   (NETCONF) <xref target="RFC6241"/> with a YANG data model <xref
   target="RFC7950"/> and/or PCE Communication Protocol (PCEP) <xref
   target="RFC5440"/>.</t>

	<t>For domains 2 and 3:</t>

	<ul><li>Each domain has the GMPLS control plane enabled at the physical
      network level. The Provisioning Network Controller (PNC) can
      exploit GMPLS capabilities implemented in the domain to listen to
      the IGP routing protocol messages (for example, OSPF Link State Advertisements (LSAs)) that
      the GMPLS control plane instances are disseminating into the
      network and thus learn the network topology. For path computation
      in the domain with the PNC implementing a PCE, Path Computation
      Clients (PCCs) (e.g., NEs, other controllers/PCEs) use PCEP to ask
      the PNC for a path and get replies. The Multi-Domain Service
      Coordinator (MDSC) communicates with PNCs using, for example,
      Representational State Transfer (REST) / RESTCONF based on YANG data models. As a PNC has learned its
      domain topology, it can report the topology to the MDSC. When a
      service arrives, the MDSC computes the path and coordinates PNCs
      to establish the corresponding LSP segment.</li>

	<li>Alternatively, the NETCONF protocol can be used to retrieve
	topology information utilizing the YANG module in <xref target="RFC8795"/>
	and the technology-specific YANG module augmentations required for the
	specific network technology. The PNC can retrieve topology information
	from any NE (the GMPLS control plane instance of each NE in the domain
	has the same topological view), construct the topology of the domain,
	and export an abstract view to the MDSC.  Based on the topology
	retrieved from multiple PNCs, the MDSC can create a topology graph of
	the multi-domain network and can use it for path computation. To set
	up a service, the MDSC can exploit the YANG module in <xref
	target="I-D.ietf-teas-yang-te"/> together with the technology-specific
	YANG module augmentations.</li>
	</ul>

	<t>This document focuses on the interworking between GMPLS and the
	centralized controller system, including:</t>

	<ul>
	  <li>the interworking between the GMPLS domains and the centralized
	  controllers (including the orchestrator, if it exists) controlling
	  the GMPLS domains and</li>
	  <li>the interworking between a non-GMPLS domain (which is controlled
	  by a centralized controller system) and a GMPLS domain, through the
	  controller hierarchy architecture.</li>
	</ul>
	<t>
   For convenience, this document uses the following terminologies for
   the controller and the orchestrator:</t>

	<dl spacing="normal" newline="false">
	  <dt>Controller(G):</dt> <dd> A domain controller controlling a GMPLS
	  domain (the Controller(G) of the GMPLS domains 2 and 3 in <xref
	  target="fig1"/>)</dd>

	  <dt>Controller(N):</dt> <dd> A domain controller controlling a
	  non-GMPLS domain (the Controller(N) of the non-GMPLS domain 1 in
	  <xref target="fig1"/>)</dd>

	  <dt>H-Controller(G):</dt> <dd> A domain controller controlling the
	  higher-layer GMPLS domain, in the context of multi-layer
	  networks</dd>

	  <dt>L-Controller(G):</dt> <dd> A domain controller controlling the
	  lower-layer GMPLS domain, in the context of multi-layer
	  networks</dd>

	  <dt>H-Controller(N):</dt> <dd> A domain controller controlling the
	  higher-layer non-GMPLS domain, in the context of multi-layer
	  networks</dd>

	  <dt>L-Controller(N):</dt> <dd> A domain controller controlling the
	  lower-layer non-GMPLS domain, in the context of multi-layer
	  networks</dd>

	  <dt>Orchestrator(MD):</dt> <dd> An orchestrator used to orchestrate
	  the multi-domain networks</dd>

	  <dt>Orchestrator(ML):</dt> <dd> An orchestrator used to orchestrate
	  the multi-layer networks</dd>
	</dl>
	</section>
	</section>

	<section anchor="discovery-opt">
<name>Discovery Options</name>
<t>
   In GMPLS control, the link connectivity must be verified between
   each pair of nodes. In this way, link resources, which are
   fundamental resources in the network, are discovered by both ends of
   the link.</t>

	<section anchor="LMP">
	<name>LMP</name>
<t>
   The Link Management Protocol (LMP) <xref target="RFC4204"/> runs between nodes and
   manages TE links. In addition to the setup and maintenance of
   control channels, LMP can be used to verify the data link
   connectivity and correlate the link properties.</t>

	</section>

	</section>

	<section anchor="routing-options">
<name>Routing Options</name>
<t>
   In GMPLS control, link state information is flooded within the network as
   defined in <xref target="RFC4202"/>. Each node in the network can build the
   network topology according to the flooded link state information. Routing
   protocols such as OSPF-TE <xref target="RFC4203"/> and IS-IS-TE <xref
   target="RFC5307"/> have been extended to support different interfaces in
   GMPLS.</t>

	<t>
   In a centralized controller system, the centralized controller can
   be placed in the GMPLS network and passively receives the IGP
   information flooded in the network. In this way, the centralized
   controller can construct and update the network topology.</t>

	<section anchor="OSPF-TE">
<name>OSPF-TE</name>
<t>
   OSPF-TE is introduced for TE networks in <xref target="RFC3630"/>. OSPF extensions
   have been defined in <xref target="RFC4203"/> to enable the capability of link
   state information for the GMPLS network. Based on this work, OSPF
   has been extended to support technology-specific routing. The
   routing protocols for the Optical Transport Network (OTN), Wavelength
   Switched Optical Network (WSON), and optical flexi-grid networks are
   defined in <xref target="RFC7138"/>, <xref target="RFC7688"/>, and <xref target="RFC8363"/>, respectively.</t>

	</section>

	<section anchor="is-is-te">
<name>IS-IS-TE</name>
<t>
   IS-IS-TE is introduced for TE networks in <xref target="RFC5305"/>, is extended
   to support GMPLS routing functions <xref target="RFC5307"/>, and has been updated
   <xref target="RFC7074"/> to support the latest GMPLS switching capability and
   Types fields.</t>

	</section>

	<section anchor="netconf-restconf">
<name>NETCONF/RESTCONF</name>
<t>
   NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/> protocols are originally
   used for network configuration. These protocols can also utilize
   topology-related YANG modules, such as those in <xref target="RFC8345"/> and <xref target="RFC8795"/>. These
   protocols provide a powerful mechanism for the notification (in addition
   to the provisioning and monitoring) of topology changes to the client.</t>

	</section>

	</section>

	<section anchor="path-computation">
<name>Path Computation</name>
<section anchor="controller-based-path-comp">
<name>Controller-Based Path Computation</name>
<t>
   Once a controller learns the network topology, it can utilize the
   available resources to serve service requests by performing path
   computation. Due to abstraction, the controllers may not have
   sufficient information to compute the optimal path. In this case,
   the controller can interact with other controllers by sending, for
   example, YANG-based path computation requests <xref target="I-D.ietf-teas-yang-path-computation"/> or PCEP to
   compute a set of potential optimal paths; and then, based on its
   constraints, policy, and specific knowledge (e.g., cost of access
   link), the controller can choose the more feasible path for end-to-end (E2E) service
   path setup.</t>

	<t>
   Path computation is one of the key objectives in various types of
   controllers. In the given architecture, it is possible for different
   components that have the capability to compute the path.</t>

	</section>

	<section anchor="constraint-based-path-comp">
<name>Constraint-Based Path Computing in GMPLS Control</name>
<t>
   In GMPLS control, a routing path may be computed by the ingress node
   <xref target="RFC3473"/> based on the ingress node Traffic Engineering Database
   (TED). In this case, constraint-based path computation is performed
   according to the local policy of the ingress node.</t>

	</section>

	<section anchor="pce">
<name>Path Computation Element (PCE)</name>
<t>
   The PCE was first introduced in <xref target="RFC4655"/> as a functional component
   that offers services for computing paths within a network. In
   <xref target="RFC5440"/>, path computation is achieved using the TED, which
   maintains a view of the link resources in the network. The
   introduction of the PCE has significantly improved the quality of
   network planning and offline computation. However, there is a
   potential risk that the computed path may be infeasible when there
   is a diversity requirement, as a stateless PCE lacks knowledge about
   previously computed paths.</t>

	<t>
   To address this issue, a stateful PCE has been proposed in <xref target="RFC8231"/>.
   Besides the TED, an additional LSP Database (LSP-DB) is introduced
   to archive each LSP computed by the PCE. This way, the PCE can easily
   determine the relationship between the computing path and former
   computed paths. In this approach, the PCE provides computed paths to
   the PCC, and then the PCC decides which path is deployed and when it is to be
   established.</t>

	<t>
   With PCE-initiated LSPs <xref target="RFC8281"/>, the PCE can trigger the PCC to
   perform setup, maintenance, and teardown of the PCE-initiated LSP
   under the stateful PCE model. This would allow a dynamic network
   that is centrally controlled and deployed.</t>

	<t>
   In a centralized controller system, the PCE can be implemented
   within the centralized controller. The centralized controller then
   calculates paths based on its local policies. Alternatively, the PCE
   can be located outside of the centralized controller. In this
   scenario, the centralized controller functions as a PCC and sends a
   path computation request to the PCE using the PCEP. A reference
   architecture for this can be found in <xref target="RFC7491"/>.</t>

	</section>

	</section>

	<section anchor="sign-opt">
<name>Signaling Options</name>
<t>
   Signaling mechanisms are used to set up LSPs in GMPLS control.  Messages
   are sent hop by hop between the ingress node and the egress node of the LSP
   to allocate labels. Once the labels are allocated along the path, the LSP
   setup is accomplished. Signaling protocols such as Resource Reservation Protocol - Traffic Engineering (RSVP-TE) <xref
   target="RFC3473"/> have been extended to support different interfaces in
   GMPLS.</t>

	<section anchor="RSVP-TE">
<name>RSVP-TE</name>
<t>
   RSVP-TE is introduced in <xref target="RFC3209"/> and extended to support GMPLS
   signaling in <xref target="RFC3473"/>. Several label formats are defined for a
   generalized label request, a generalized label, a suggested label,
   and label sets. Based on <xref target="RFC3473"/>, RSVP-TE has been extended to
   support technology-specific signaling. The RSVP-TE extensions for the
   OTN, WSON, and optical flexi-grid network are defined in <xref target="RFC7139"/>,
   <xref target="RFC7689"/>, and <xref target="RFC7792"/>, respectively.</t>

	</section>

	</section>

	<section anchor="interworking-scenarios">
	  <name>Interworking Scenarios</name>
	  <section anchor="top-collection-synch">
	    <name>Topology Collection and Synchronization </name>
	<t> Topology information is necessary on both network elements and
	controllers. The topology on a network element is usually raw
	information, while the topology used by the controller can be either
	raw, reduced, or abstracted. Three different abstraction methods have
	been described in <xref target="RFC8453"/>, and different controllers
	can select the corresponding method depending on the application.</t>

	<t>When there are changes in the network topology, the impacted
	network elements need to report changes to all the other network
	elements, together with the controller, to sync up the topology
	information.  The inter-NE synchronization can be achieved via
	protocols mentioned in Sections <xref target="discovery-opt"
	format="counter"/> and <xref target="routing-options"
	format="counter"/>. The topology synchronization between NEs and
	controllers can either be achieved by routing protocols
	OSPF-TE/PCEP-LS in <xref target="I-D.ietf-pce-pcep-ls"/> or NETCONF
	protocol notifications with a YANG module.</t>

	</section>

	<section anchor="multi-domain-service-provision">
	  <name>Multi-Domain Service Provisioning</name>
<t>Service provisioning can be deployed based on the topology information on
controllers and network elements. Many methods have been specified for
single-domain service provisioning, such as the PCEP and RSVP-TE methods.</t>

<t>Multi-domain service provisioning would require coordination among the
controller hierarchies. Given the service request, the end-to-end delivery
procedure may include interactions at any level (i.e., interface) in the
hierarchy of the controllers (e.g., MPI and SBI for ACTN). The computation for
a cross-domain path is usually completed by controllers who have a global view
of the topologies. Then the configuration is decomposed into lower-level
controllers to configure the network elements to set up the path.</t>

<t>A combination of centralized and distributed protocols may be necessary to
interact between network elements and controllers.  Several methods can be
used to create the inter-domain path:</t>

<ol type="%d)" group="8.2">
   <li>
     <t>With an end-to-end RSVP-TE session:</t>
     <t>In this method, all the domains need to support the RSVP-TE protocol
     and thus need to be GMPLS domains. The Controller(G) of the source domain
     triggers the source node to create the end-to-end RSVP-TE session; and
     the assignment and distribution of the labels on the inter-domain links
     are done by the border nodes of each domain, using RSVP-TE
     protocol. Therefore, this method requires the interworking of RSVP-TE
     protocols between different domains.</t>
     <t>There are two possible methods:</t>

     <ol type="1.%d)">
       <li>
	 <t>One single end-to-end RSVP-TE session:</t>
	 <t>In this method, an end-to-end RSVP-TE session from the source node
	 to the destination node will be used to create the inter-domain
	 path. A typical example would be the PCE initiation scenario, in
	 which a PCE message (PCInitiate) is sent from the Controller(G) to
	 the source node, triggering an RSVP procedure along the path.
	 Similarly, the interaction between the controller and the source node
	 of the source domain can be achieved by using the NETCONF protocol
	 with corresponding YANG modules, and then it can be completed by
	 running RSVP among the network elements.</t>
       </li>
       <li>	
	 <t>LSP Stitching:</t>
	 <t>The LSP stitching method defined in <xref target="RFC5150"/> can
	 also create the E2E LSP. That is, when the source node receives
	 an end-to-end path creation request (e.g., using PCEP or NETCONF
	 protocol), the source node starts an end-to-end RSVP-TE session along
	 the endpoints of each LSP segment (S-LSP) (refers to S-LSP in <xref
	 target="RFC5150"/>) of each domain, to assign the labels on the
	 inter-domain links between each pair of neighbor S-LSPs and to stitch
	 the end-to-end LSP to each S-LSP. See <xref
	 target="ure-lsp-stitching"/> as an example.</t>
	 <t>Note that the S-LSP in each domain can be either created by its
	 Controller(G) in advance or created dynamically triggered by the
	 end-to-end RSVP-TE session.</t>

	<figure anchor="ure-lsp-stitching">
<name>LSP Stitching</name>
<artwork><![CDATA[
                  +------------------------+
                  |    Orchestrator(MD)    |
                  +-----------+------------+
                              |
 +---------------+     +------V-------+     +---------------+
 | Controller(G) |     | Controller(G)|     | Controller(G) |
 +-------+-------+     +------+-------+     +-------+-------+
         |                    |                     |
+--------V--------+   +-------V--------+   +--------V--------+
|Client           |   |                |   |           Client|
|Signal   Domain 1|   |    Domain 2    |   |Domain 3   Signal|
|  |              |   |                |   |              |  |
|+-+-+            |   |                |   |            +-+-+|
|| | |  +--+  +--+|   |+--+  +--+  +--+|   |+--+  +--+  | | ||
|| | |  |  |  |  ||   ||  |  |  |  |  ||   ||  |  |  |  | | ||
|| ******************************************************** ||
||   |  |  |  |  ||   ||  |  |  |  |  ||   ||  |  |  |  |   ||
|+---+  +--+  +--+|   |+--+  +--+  +--+|   |+--+  +--+  +---+|
+-----------------+   +----------------+   +-----------------+
 |   .           .     .              .     .           .   |
 |   .<-S-LSP 1->.     .<- S-LSP 2 -->.     .<-S-LSP 3->.   |
 |               .     .              .     .               |
 |-------------->.---->.------------->.---->.-------------->|
 |<--------------.<----.<-------------.<----.<--------------|
 |       End-to-end RSVP-TE session for LSP stitching       |]]></artwork>
	</figure>
       </li>
     </ol>
   </li> 
  <li>	
     <t>Without an end-to-end RSVP-TE session:</t>
     <t>In this method, each domain can be a GMPLS domain or a non-GMPLS
     domain. Each controller (which may be a Controller(G) or a Controller(N)) is
     responsible for creating the path segment within its domain. The border
     node does not need to communicate with other border nodes in other
     domains for the distribution of labels on inter-domain links, so an
     end-to-end RSVP-TE session through multiple domains is not required, and
     the interworking of the RSVP-TE protocol between different domains is not
     needed.</t>
     <t>Note that path segments in the source domain and the destination
     domain are "asymmetrical" segments, because the configuration of client
     signal mapping into the server-layer tunnel is needed at only one end of the
     segment, while configuration of the server-layer cross-connect is needed at
     the other end of the segment. See the example in <xref
     target="ure-example-of-asymmetrical-path-segment"/>.</t>

	<figure anchor="ure-example-of-asymmetrical-path-segment">
<name>Example of an Asymmetrical Path Segment</name> 
<artwork><![CDATA[
                  +------------------------+
                  |    Orchestrator(MD)    |
                  +-----------+------------+
                              |
 +---------------+     +------V-------+     +---------------+
 |  Controller   |     |  Controller  |     |  Controller   |
 +-------+-------+     +------+-------+     +-------+-------+
         |                    |                     |
+--------V--------+   +-------V--------+   +--------V--------+
|Client   Domain 1|   |    Domain 2    |   | Domain 3  Client|
|Signal           |   |                |   |           Signal|
|  |  Server layer|   |                |   |              |  |
|  |     tunnel   |   |                |   |              |  |
|+-+-+       ^    |   |                |   |            +-+-+|
|| | |  +--+ |+--+|   |+--+  +--+  +--+|   |+--+  +--+  | | ||
|| | |  |  | ||  ||   ||  |  |  |  |  ||   ||  |  |  |  | | ||
|| ******************************************************** ||
||   |  |  |  |  || . ||  |  |  |  |  || . ||  |  |  |  |   ||
|+---+  +--+  +--+| . |+--+  +--+  +--+| . |+--+  +--+  +---+|
+-----------------+ . +----------------+ . +-----------------+
 .                  .                    .                  .
 .<-Path Segment 1->.<--Path Segment 2-->.<-Path Segment 3->.]]></artwork>
	</figure>

   <t>The PCEP / GMPLS protocols should support the creation of such
   asymmetrical segments.</t>
   <t>Note also that mechanisms to assign the labels in the inter-domain
   links also need to be considered. There are two possible methods:</t>

   <ol type="2.%d)">
     <li>	
       <t>Inter-domain labels assigned by NEs:</t>
       <t> The concept of a stitching label that allows stitching local path
       segments was introduced in <xref target="RFC5150"/> and <xref
       target="I-D.ietf-pce-stateful-interdomain"/>, in order to form the
       inter-domain path crossing several different domains. It also describes
       the Backward Recursive PCE-Based Computation (BRPC) <xref
       target="RFC5441"/> and Hierarchical PCE (H-PCE)
       <xref target="RFC8685"/> PCInitiate procedure, i.e., the ingress node
       of each downstream domain assigns the stitching label for the
       inter-domain link between the downstream domain and its upstream
       neighbor domain; and this stitching label will be passed to the
       upstream neighbor domain by PCE protocol, which will be used for the
       path segment creation in the upstream neighbor domain.</t>
     </li>
     <li>	
       <t>Inter-domain labels assigned by the controller:</t>
       <t>If the resources of inter-domain links are managed by the
       Orchestrator(MD), each domain controller can provide to the
       Orchestrator(MD) the list of available labels (e.g., time slots if the
       OTN is the scenario) using topology-related YANG modules and specific
       technology-related extensions.  Once the orchestrator(MD) has computed
       the E2E path, RSVP-TE or PCEP can be used in the different domains to
       set up the related segment tunnel consisting of information about
       inter-domain labels; for example, for PCEP, the label Explicit Route
       Object (ERO) can be included in the PCInitiate message to indicate the
       inter-domain labels so that each border node of each domain can
       configure the correct cross-connect within itself.</t>
     </li>
   </ol>
 </li>
</ol>
	</section>

	<section anchor="multi-layer-service-provision">
	  <name>Multi-Layer Service Provisioning</name>
	  <t>GMPLS can interwork with centralized controller systems in
	  multi-layer networks.</t>

	<figure anchor="ure-gmpls-controller-interworking-in-multi-layer-networks">
<name>GMPLS-controller Interworking in Multi-Layer Networks</name> 

<artwork><![CDATA[
+----------------+
|Orchestrator(ML)|
+------+--+------+
       |  |                            Higher-layer Network
       |  |                           .--------------------.
       |  |                          /                      \
       |  |   +--------------+      |   +--+   Link   +--+   |
       |  +-->| H-Controller +----->|   |  |**********|  |   |
       |      +--------------+      |   +--+          +--+   |
       |                             \    .            .    /
       |                               `--.------------.---`
       |                                  .            .
       |                              .---.------------.---.
       |                             /    .            .    \
       |      +--------------+      |   +--+   +--+   +--+   |
       +----->| L-Controller +----->|   | ============== |   |
              +--------------+      |   +--+   +--+   +--+   |
                                     \         H-LSP        /
                                       `-------------------`
                                        Lower-layer Network]]></artwork>
	</figure>

	<t>An example with two layers of network is shown in <xref
	target="ure-gmpls-controller-interworking-in-multi-layer-networks"/>. In
	this example, the GMPLS control plane is enabled in at least one layer
	network (otherwise, it is out of the scope of this document) and
	interworks with the controller of its domain (H-Controller and
	L-Controller, respectively). The Orchestrator(ML) is used to
	coordinate the control of the multi-layer network.</t>


        <section anchor="multi-layer-path-comp">
	  <name>Multi-Layer Path Computation</name>
	  <t><xref target="RFC5623"/> describes three inter-layer path
	  computation models and four inter-layer path control models:</t>

	  <ul>
	    <li><t>3 path computation models:</t>
	    <ul><li>Single PCE path computation model</li>
            <li>Multiple PCE path computation with inter-PCE communication
            model</li>
            <li>Multiple PCE path computation without inter-PCE communication
            model</li>
	    </ul></li>
            <li><t>4 path control models:</t>
            <ul><li>PCE Virtual Network Topology Manager (PCE-VNTM)
            cooperation model</li>
            <li>Higher-layer signaling trigger model</li>
            <li>Network Management System VNTM (NMS-VNTM) cooperation model
            (integrated flavor)</li>
            <li>NMS-VNTM cooperation model (separate flavor)</li>
	</ul></li>
        </ul>

	<t>
   <xref target="RFC5623" sectionFormat="of" section="4.2.4"/> also provides
   all the possible combinations of inter-layer path computation and
   inter-layer path control models.</t>

	<t>
   To apply <xref target="RFC5623"/> in a multi-layer network with
   GMPLS-controller interworking, the H-Controller and the L-Controller can
   act as the PCE Hi and PCE Lo, respectively; and typically, the
   Orchestrator(ML) can act as a VNTM because it has the abstracted view of
   both the higher-layer and lower-layer networks.</t>
	<t>
   <xref target="tab-fig"/> shows all possible combinations of path
   computation and path control models in multi-layer network with
   GMPLS-controller interworking:</t>

<table anchor="tab-fig">
  <name>Combinations of Path Computation and Path Control Models</name>
  <thead>
    <tr>
      <th>Path computation / Path control</th>
      <th>Single PCE</th>
      <th>Multiple PCE with inter-PCE</th>
      <th>Multiple PCE w/o inter-PCE</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>PCE-VNTM cooperation</td>
      <td>N/A</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>
    <tr>
      <td>Higher-layer signaling trigger</td>
      <td>N/A</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>
    <tr>
      <td>NMS-VNTM cooperation (integrated flavor)</td>
      <td>N/A</td>
      <td>Yes (1)</td>
      <td>No (1)</td>
    </tr>
    <tr>
      <td>NMS-VNTM cooperation (separate flavor)</td>
      <td>N/A</td>
      <td>No (1)</td>
      <td>Yes (1)</td>
    </tr>
  </tbody>
</table>

<t>Note that:</t>

<ul>
  <li><t>Since there is one PCE in each layer network, the path computation
  model "Single PCE path computation" is not applicable (N/A).</t></li>
  <li><t>For the other two path computation models "Multiple PCE with
  inter-PCE" and "Multiple PCE w/o inter-PCE", the possible combinations are
  the same as defined in <xref target="RFC5623"/>. More specifically:</t>
  <ul>
    <li><t>(1) The path control models "NMS-VNTM cooperation (integrated
    flavor)" and "NMS-VNTM cooperation (separate flavor)" are the typical
    models to be used in a multi-layer network with GMPLS-controller
    interworking. This is because, in these two models, the path computation is
    triggered by the NMS or VNTM. And in the centralized controller system,
    the path computation requests are typically from the Orchestrator(ML)
    (acts as VNTM).</t></li>
    <li><t>For the other two path control models "PCE-VNTM cooperation" and
    "Higher-layer signaling trigger", the path computation is triggered by the
    NEs, i.e., the NE performs PCC functions.  It is still possible to use
    these two models, although they are not the main methods.</t></li>
  </ul>
  </li>
</ul>
        </section>

	<section anchor="cross-layer-path-creation">
<name>Cross-Layer Path Creation</name>
<t> In a multi-layer network, a lower-layer LSP in the lower-layer network can
be created, which will construct a new link in the higher-layer network. Such
a lower-layer LSP is called Hierarchical LSP, or H-LSP for short; see <xref
target="RFC6107"/>.</t>

<t> The new link constructed by the H-LSP can then be used by the higher-layer
network to create new LSPs.</t>

   <t>As described in <xref target="RFC5212"/>, two methods are introduced to
   create the H-LSP: the static (pre-provisioned) method and the dynamic
   (triggered) method.</t>

<ol type="%d)">
<li><t>Static (pre-provisioned) method:</t>

<t>In this method, the H-LSP in the lower-layer network is created in
advance. After that, the higher-layer network can create LSPs using the
resource of the link constructed by the H-LSP.</t>
<t>The Orchestrator(ML) is responsible to decide the creation of H-LSP in the
lower-layer network if it acts as a VNTM. Then it requests the L-Controller to
create the H-LSP via, for example, an MPI under the ACTN
architecture.</t>
<t>If the lower-layer network is a GMPLS domain, the L-Controller(G) can
trigger the GMPLS control plane to create the H-LSP. As a typical example, the
PCInitiate message can be used for the communication between the L-Controller
and the source node of the H-LSP. And the source node of the H-LSP can trigger
the RSVP-TE signaling procedure to create the H-LSP, as described in <xref
target="RFC6107"/>.</t>

<t> If the lower-layer network is a non-GMPLS domain, other methods may be
used by the L-Controller(N) to create the H-LSP, which is out of scope of this
document.</t></li>

<li><t>Dynamic (triggered) method:</t>

<t>In this method, the signaling of LSP creation in the higher-layer network
will trigger the creation of H-LSP in the lower-layer network dynamically, if
it is necessary. Therefore, both the higher-layer and lower-layer networks
need to support the RSVP-TE protocol and thus need to be GMPLS domains.</t>

<t>In this case, after the cross-layer path is computed, the Orchestrator(ML)
requests the H-Controller(G) for the cross-layer LSP creation. As a typical
example, the MPI under the ACTN architecture could be used.</t>

<t>The H-Controller(G) can trigger the GMPLS control plane to create the LSP
in the higher-layer network. As a typical example, the PCInitiate message can
be used for the communication between the H-Controller(G) and the source node
of the higher-layer LSP, as described in <xref target="RFC8282"
sectionFormat="of" section="4.3"/>. At least two sets of ERO information
should be included to indicate the routes of higher-layer LSP and lower-layer
H-LSP.</t>

<t>The source node of the higher-layer LSP follows the procedure defined in
<xref target="RFC6001" sectionFormat="of" section="4"/> to trigger
the GMPLS control plane in both the higher-layer network and the lower-layer
network to create the higher-layer LSP and the lower-layer H-LSP.</t>

<t>On success, the source node of the H-LSP should report the information of
the H-LSP to the L-Controller(G) via, for example, the PCRpt message.</t>
</li>
</ol>

	</section>

	<section anchor="link-discovery">
<name>Link Discovery</name>
<t>If the higher-layer network and the lower-layer network are under the same
GMPLS control plane instance, the H-LSP can be a Forwarding Adjacency LSP
(FA-LSP). Then the information of the link constructed by this FA-LSP can be
advertised in the routing instance, so that the H-Controller can be aware of
this new FA. <xref target="RFC4206"/> and the following updates to it
(including <xref target="RFC6001"/> and <xref target="RFC6107"/>) describe the
detailed extensions to support advertisement of an FA.</t>
<t>If the higher-layer network and the lower-layer network are under separate
GMPLS control plane instances or if one of the layer networks is a non-GMPLS
domain, after an H-LSP is created in the lower-layer network, the link
discovery procedure will be triggered in the higher-layer network to discover
the information of the link constructed by the H-LSP. The LMP defined in
<xref target="RFC4204"/> can be used if the higher-layer network supports
GMPLS. The information of this new link will be advertised to the
H-Controller.</t>

	</section>

	</section>

        <section anchor="recovery">
<name>Recovery</name>
<t> The GMPLS recovery functions are described in <xref
target="RFC4426"/>. Span protection and end-to-end protection and restoration
are discussed with different protection schemes and message exchange
requirements.  Related RSVP-TE extensions to support end-to-end recovery are
described in <xref target="RFC4872"/>. The extensions in <xref
target="RFC4872"/> include protection, restoration, preemption, and rerouting
mechanisms for an end-to-end LSP. Besides end-to-end recovery, a GMPLS segment
recovery mechanism is defined in <xref target="RFC4873"/>, which also intends
to be compatible with Fast Reroute (FRR) (see <xref target="RFC4090"/>, which
defines RSVP-TE extensions for the FRR mechanism, and <xref target="RFC8271"/>,
which describes the updates of the GMPLS RSVP-TE protocol for FRR of GMPLS
TE-LSPs).</t>

        <section anchor="span-protection">
<name>Span Protection</name>
<t>Span protection refers to the protection of the link between two
neighboring switches. The main protocol requirements include:</t>

   <ul>
     <li><t>Link management: Link property correlation on the link protection
     type</t></li>
     <li>Routing: Announcement of the link protection type</li>
     <li>Signaling: Indication of link protection requirement for that LSP</li>
   </ul>

   <t> GMPLS already supports the above requirements, and there are no new
   requirements in the scenario of interworking between GMPLS and a centralized
   controller system.</t>

	</section>

	<section anchor="lsp-protection">
<name>LSP Protection</name>
<t>The LSP protection includes end-to-end and segment LSP protection.  For
both cases:</t>

	<ul>
	  <li><t>In the provisioning phase:</t>
          <t>In both single-domain and multi-domain scenarios, the disjoint
          path computation can be done by the centralized controller system,
          as it has the global topology and resource view. And the path
          creation can be done by the procedure described in <xref
          target="multi-domain-service-provision"/>.</t></li>
	  <li><t>In the protection switchover phase:</t>
          <t>In both single-domain and multi-domain scenarios, the existing
          standards provide the distributed way to trigger the protection
          switchover, for example, the data plane Automatic Protection Switching
          (APS) mechanism described in <xref target="G.808.1"/>, <xref
          target="RFC7271"/>, and <xref target="RFC8234"/> or the GMPLS Notify
          mechanism described in <xref target="RFC4872"/> and <xref
          target="RFC4873"/>. In the scenario of interworking between GMPLS
          and a centralized controller system, using these distributed
          mechanisms rather than a centralized mechanism (i.e., the controller
          triggers the protection switchover) can significantly shorten the
          protection switching time.</t></li>
	</ul>

	</section>

	<section anchor="single-domain-LSP-restore">
	  <name>Single-Domain LSP Restoration</name>

	  <ul>
	    <li><t>Pre-planned LSP protection (including shared-mesh restoration):</t>
            <t>In pre-planned protection, the protecting LSP is established
            only in the control plane in the provisioning phase and will be
            activated in the data plane once failure occurs.</t>

	    <t>In the scenario of interworking between GMPLS and a centralized
	    controller system, the route of protecting LSP can be computed by
	    the centralized controller system. This takes the advantage of
	    making better use of network resources, especially for the
	    resource-sharing in shared-mesh restoration.  </t></li>

	    <li><t>Full LSP rerouting:</t>
            <t>In full LSP rerouting, the normal traffic will be switched to
            an alternate LSP that is fully established only after a failure
            occurrence.</t>

	    <t>As described in <xref target="RFC4872"/> and <xref
	    target="RFC4873"/>, the alternate route can be computed on demand
	    when there is a failure occurrence or can be pre-computed and
	    stored before a failure occurrence.</t>

	    <t>In a fully distributed scenario, the pre-computation method
	    offers a faster restoration time but has the risk that the
	    pre-computed alternate route may become out-of-date due to the
	    changes of the network.</t>

	    <t>In the scenario of interworking between GMPLS and a centralized
	    controller system, the pre-computation of the alternate route
	    could take place in the centralized controller (and may be stored
	    in the controller or the head-end node of the LSP). In this way,
	    any changes in the network can trigger the refreshment of the
	    alternate route by the centralized controller. This makes sure
	    that the alternate route will not become out-of-date.  </t></li>
	</ul>

	</section>

	<section anchor="multi-domain-LSP-restore">
<name>Multi-Domain LSP Restoration</name>
<t> A working LSP may traverse multiple domains, each of which may or may not
support a GMPLS distributed control plane.</t>
<t> If all the domains support GMPLS, both the end-to-end rerouting method and
the domain segment rerouting method could be used.</t>
<t>If only some domains support GMPLS, the domain segment rerouting method
could be used in those GMPLS domains. For other domains that do not support
GMPLS, other mechanisms may be used to protect the LSP segments, which are out
of scope of this document.</t>

<ol type="%d)" group="8.4.4">
<li><t>End-to-end rerouting:</t>
<t>In this scenario, a failure on the working LSP inside any domain or on the
inter-domain links will trigger the end-to-end restoration.</t>
<t>In both pre-planned and full LSP rerouting, the end-to-end protecting LSP
could be computed by the centralized controller system and could be created
by the procedure described in <xref
target="multi-domain-service-provision"/>. Note that the end-to-end protecting
LSP may traverse different domains from the working LSP, depending on the
result of multi-domain path computation for the protecting LSP.</t>

	<figure>
<name>End-to-End Restoration</name>
<artwork><![CDATA[
                    +----------------+
                    |Orchestrator(MD)|
                    +-------.--------+
       ............................................
       .             .              .             .
  +----V-----+  +----V-----+   +----V-----+  +----V-----+
  |Controller|  |Controller|   |Controller|  |Controller|
  |  (G) 1   |  |  (G) 2   |   |  (G) 3   |  |  (G) 4   |
  +----.-----+  +-------.--+   +-------.--+  +----.-----+
       .                .              .          .
  +----V--------+     +-V-----------+  .  +-------V-----+
  |  Domain 1   |     |  Domain 2   |  .  |  Domain 4   |
  |+---+   +---+|     |+---+   +---+|  .  |+---+   +---+|
  || ===/~/======/~~~/================================ ||
  |+-*-+   +---+|     |+---+   +---+|  .  |+---+   +-*-+|
  |  *          |     +-------------+  .  |          *  |
  |  *          |                      .  |          *  |
  |  *          |     +-------------+  .  |          *  |
  |  *          |     |  Domain 3   <...  |          *  |
  |+-*-+   +---+|     |+---+   +---+|     |+---+   +-*-+|
  || ************************************************* ||
  |+---+   +---+|     |+---+   +---+|     |+---+   +---+|
  +-------------+     +-------------+     +-------------+

  ====: Working LSP   ****: Protecting LSP   /~/: Failure
]]></artwork>
        </figure>
 </li>


<li><t>Domain segment rerouting:</t>

<ol type="2.%d)">
<li><t>Intra-domain rerouting:</t>
<t> If failure occurs on the working LSP segment in a GMPLS domain, the
segment rerouting <xref target="RFC4873"/> could be used for the working LSP
segment in that GMPLS domain. <xref target="fig6"/> shows an example of
intra-domain rerouting.</t>
<t>The intra-domain rerouting of a non-GMPLS domain is out of scope of this
document.</t>

	<figure anchor="fig6">
<name>Intra-Domain Segment Rerouting</name>
<artwork><![CDATA[
                    +----------------+
                    |Orchestrator(MD)|
                    +-------.--------+
       ............................................
       .             .              .             .
  +----V-----+  +----V-----+   +----V-----+  +----V-----+
  |Controller|  |Controller|   |Controller|  |Controller|
  |  (G) 1   |  |(G)/(N) 2 |   |(G)/(N) 3 |  |(G)/(N) 4 |
  +----.-----+  +-------.--+   +-------.--+  +----.-----+
       .                .              .          .
  +----V--------+     +-V-----------+  .  +-------V-----+
  |  Domain 1   |     |  Domain 2   |  .  |  Domain 4   |
  |+---+   +---+|     |+---+   +---+|  .  |+---+   +---+|
  || ===/~/=========================================== ||
  |+-*-+   +-*-+|     |+---+   +---+|  .  |+---+   +---+|
  |  *       *  |     +-------------+  .  |             |
  |  *       *  |                      .  |             |
  |  *       *  |     +-------------+  .  |             |
  |  *       *  |     |  Domain 3   <...  |             |
  |+-*-+   +-*-+|     |+---+   +---+|     |+---+   +---+|
  || ********* ||     ||   |   |   ||     ||   |   |   ||
  |+---+   +---+|     |+---+   +---+|     |+---+   +---+|
  +-------------+     +-------------+     +-------------+

====: Working LSP  ****: Rerouting LSP segment  /~/: Failure]]></artwork>
	</figure>
      </li>
<li><t>Inter-domain rerouting:</t>
<t>If intra-domain segment rerouting failed (e.g., due to lack of resource in
that domain), or if failure occurs on the working LSP on an inter-domain link,
the centralized controller system may coordinate with other domain(s) to find
an alternative path or path segment to bypass the failure and then trigger
the inter-domain rerouting procedure. Note that the rerouting path or path
segment may traverse different domains from the working LSP.</t>
<t>The domains involved in the inter-domain rerouting procedure need to be
GMPLS domains, which support the RSVP-TE signaling for the creation of a 
rerouting LSP segment.</t>
<t>For inter-domain rerouting, the interaction between GMPLS and a centralized
controller system is needed:</t>

<ul><li><t>A report of the result of intra-domain segment rerouting to its
Controller(G) and then to the Orchestrator(MD). The former could be supported
by the PCRpt message in <xref target="RFC8231"/>, while the latter could be
supported by the MPI of ACTN.</t></li>

<li><t>A report of inter-domain link failure to the two Controllers (e.g.,
Controller(G) 1 and Controller(G) 2 in <xref target="fig7"/>) by which the two
ends of the inter-domain link are controlled, respectively, and then to the
Orchestrator(MD). The former could be done as described in <xref
target="top-collection-synch"/>, while the latter could be supported by
the MPI of ACTN.</t></li>

<li><t>The computation of a rerouting path or path segment crossing multi-domains by
the centralized controller system (see <xref
target="I-D.ietf-teas-yang-path-computation"/>);</t></li>

<li><t>The creation of a rerouting LSP segment in each related domain. The
Orchestrator(MD) can send the LSP segment rerouting request to the source
Controller(G) (e.g., Controller(G) 1 in <xref target="fig7"/>) via MPI
interface, and then the Controller(G) can trigger the creation of a rerouting
LSP segment through multiple GMPLS domains using GMPLS rerouting
signaling. Note that the rerouting LSP segment may traverse a new domain that
the working LSP does not traverse (e.g., Domain 3 in <xref
target="fig7"/>).</t></li>
</ul>

	<figure anchor="fig7">
<name>Inter-Domain Segment Rerouting </name>
<artwork><![CDATA[
                         +----------------+
                         |Orchestrator(MD)|
                         +-------.--------+
        ..................................................
        .               .                .               .
  +-----V------+  +-----V------+   +-----V------+  +-----V------+
  | Controller |  | Controller |   | Controller |  | Controller |
  |   (G) 1    |  |   (G) 2    |   |   (G) 3    |  | (G)/(N) 4  |
  +-----.------+  +------.-----+   +-----.------+  +-----.------+
        .                .               .               .
  +-----V-------+   +----V--------+      .        +------V------+
  |  Domain 1   |   |  Domain 2   |      .        |  Domain 4   |
  |+---+   +---+|   |+---+   +---+|      .        |+---+   +---+|
  ||   |   |   ||   ||   |   |   ||      .        ||   |   |   ||
  || ============/~/========================================== ||
  || * |   |   ||   ||   |   | * ||      .        ||   |   |   ||
  |+-*-+   +---+|   |+---+   +-*-+|      .        |+---+   +---+|
  |  *          |   +----------*--+      .        |             |
  |  *          |              *****     .        |             |
  |  *          |       +----------*-----V----+   |             |
  |  *          |       |          *Domain 3  |   |             |
  |+-*-+   +---+|       |+---+   +-*-+   +---+|   |+---+   +---+|
  || * |   |   ||       ||   |   | * |   |   ||   ||   |   |   ||
  || ******************************* |   |   ||   ||   |   |   ||
  ||   |   |   ||       ||   |   |   |   |   ||   ||   |   |   ||
  |+---+   +---+|       |+---+   +---+   +---+|   |+---+   +---+|
  +-------------+       +---------------------+   +-------------+

   ====: Working LSP  ****: Rerouting LSP segment  /~/: Failure]]></artwork>
	</figure>

      </li>
    </ol>
  </li>
</ol>

	</section>

	<section anchor="fast-reroute">
<name>Fast Reroute</name>
<t>
   <xref target="RFC4090"/> defines two methods of fast reroute: the one-to-one backup
   method and the facility backup method. For both methods:</t>

<ol spacing="normal" type="%d)">
  <li>
    <t>Path computation of protecting LSP:</t>
    <t> In <xref target="RFC4090" sectionFormat="of" section="6.2"/>, the
    protecting LSP (detour LSP in one-to-one backup or bypass tunnel in
    facility backup) could be computed by the Point of Local Repair (PLR)
    using, for example, a Constrained Shortest Path First (CSPF)
    computation. In the scenario of interworking between GMPLS and a centralized
    controller system, the protecting LSP could also be computed by the
    centralized controller system, as it has the global view of the network
    topology, resources, and information of LSPs.</t>
  </li>

  <li>
    <t>Protecting LSP creation:</t>
    <t> In the scenario of interworking between GMPLS and a centralized
    controller system, the protecting LSP could still be created by the
    RSVP-TE signaling protocol as described in <xref target="RFC4090"/> and
    <xref target="RFC8271"/>.</t>
    <t>In addition, if the protecting LSP is computed by the centralized
    controller system, the Secondary Explicit Route Object defined in <xref
    target="RFC4873"/> could be used to explicitly indicate the route of the
    protecting LSP.</t>
  </li>

  <li>	
    <t>Failure detection and traffic switchover:</t>
    <t>If a PLR detects that failure occurs, it may significantly shorten the
    protection switching time by using the distributed mechanisms described in
    <xref target="RFC4090"/> to switch the traffic to the related detour LSP
    or bypass tunnel rather than doing so in a centralized way.</t>
  </li>
</ol>
	</section>
	
	</section>

	<section anchor="controller-reliability">
<name>Controller Reliability</name>
<t>
   The reliability of the controller is crucial due to its important
   role in the network. It is essential that if the controller is shut
   down or disconnected from the network, all currently provisioned
   services in the network continue to function and carry traffic. In
   addition, protection switching to pre-established paths should also
   work. It is desirable to have protection mechanisms, such as
   redundancy, to maintain full operational control even if one
   instance of the controller fails. This can be achieved through
   controller backup or functionality backup. There are several
   controller backup or federation mechanisms in the literature. It is
   also more reliable to have function backup in the network element to
   guarantee performance in the network.</t>

	</section>

	</section>

	<section anchor="manageability-considerations">
<name>Manageability Considerations</name>
<t>
   Each network entity, including controllers and network elements,
   should be managed properly and with the relevant trust and security
   policies applied (see <xref target="sec-cons"/>), as they will
   interact with other entities. The manageability considerations in
   controller hierarchies and network elements still apply,
   respectively. The overall manageability of the protocols applied in
   the network should also be a key consideration.</t>

	<t>
   The responsibility of each entity should be clarified. The control
   of function and policy among different controllers should be
   consistent via a proper negotiation process.</t>

	</section>

	<section anchor="sec-cons">
<name>Security Considerations</name>
<t>
   This document outlines the interworking between GMPLS and controller
   hierarchies. The security requirements specific to both systems
   remain applicable. Protocols referenced herein possess security
   considerations, which must be adhered to, with their core
   specifications and identified risks detailed earlier in this
   document.</t>

	<t>
   Security is a critical aspect in both GMPLS and controller-based
   networks. Ensuring robust security mechanisms in these environments
   is paramount to safeguard against potential threats and
   vulnerabilities. Below are expanded security considerations and some
   relevant IETF RFC references.</t>

	<ul><li><t>Authentication and Authorization: It is essential to
	implement strong authentication and authorization mechanisms to
	control access to the controller from multiple network elements. This
	ensures that only authorized devices and users can interact with the
	controller, preventing unauthorized access that could lead to network
	disruptions or data breaches.  "<xref target="RFC8446"
	format="title"/>" <xref target="RFC8446"/> and "<xref target="RFC7030"
	format="title"/>" <xref target="RFC7030"/> provide guidelines on
	secure communication and certificate-based authentication that can be
	leveraged for these purposes.</t></li>

	<li><t>Controller Security: The controller's security is crucial as it
	serves as the central control point for the network elements. The
	controller must be protected against various attacks, such as
	Denial of Service (DoS), Man in the Middle (MITM), and unauthorized
	access. Security mechanisms should include regular security audits,
	application of security patches, firewalls, and Intrusion
	Detection Systems (IDSs) / Intrusion Prevention Systems (IPSs).</t></li>

	<li><t>Data Transport Security: Security mechanisms on the controller
	should also safeguard the underlying network elements against
	unauthorized usage of data transport resources. This includes
	encryption of data in transit to prevent eavesdropping and tampering
	as well as ensuring data integrity and confidentiality.</t></li>

	<li><t>Secure Protocol Implementation: Protocols used within the GMPLS
	and controller frameworks must be implemented with security in
	mind. Known vulnerabilities should be addressed, and secure versions
	of protocols should be used wherever possible.</t></li>
	</ul>


	<t>
   Finally, robust network security often depends on Indicators of
   Compromise (IoCs) to detect, trace, and prevent malicious activities
   in networks or endpoints. These are described in <xref target="RFC9424"/> along
   with the fundamentals, opportunities, operational limitations, and
   recommendations for IoC use.</t>

	</section>

	<section anchor="iana-cons">
<name>IANA Considerations</name>
<t>This document has no IANA actions.</t>

	</section>

	</middle>

	<back>
<displayreference target="I-D.ietf-pce-pcep-ls" to="PCEP-LS"/>
<displayreference target="I-D.ietf-teas-yang-te" to="YANG-TE"/>
<displayreference target="I-D.ietf-teas-yang-path-computation" to="PATH-COMP"/>
<displayreference target="I-D.ietf-pce-stateful-interdomain" to="SPCE-ID"/>




<references>
<name>References</name>
	<references>
<name>Normative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3209.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3473.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3630.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3945.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4090.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4203.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4206.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4872.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4873.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5305.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5307.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6001.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6107.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7030.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7074.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7491.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7926.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8271.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8282.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8453.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8685.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8795.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9424.xml"/>
	</references>
	<references>
<name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3471.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4202.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4204.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4426.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5150.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5212.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5441.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5623.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7138.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7139.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7271.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7688.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7689.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7792.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8234.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8345.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8363.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5654.xml"/>

<!-- 3-3-2025: ID exists -->
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-teas-yang-path-computation.xml"/>
<!-- 3/3/2025: ID exists -->
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-pcep-ls.xml"/>
<!-- 3/3/2025: ID exists -->
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-teas-yang-te.xml"/>
<!-- 3/3/2025: ID exists -->
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-stateful-interdomain.xml"/>


	<reference anchor="G.808.1" target="https://www.itu.int/rec/T-REC-G.808.1-201405-I/en">
        <front>
	<title>Generic protection switching - Linear trail and subnetwork protection</title>
	<author>
	<organization>ITU-T</organization>
	</author>
	<date month="May" year="2014"/>
	</front>
        <seriesInfo name="ITU-T Recommendation" value="G.808.1"/>

	</reference>
	</references>
      </references>
	<section anchor="acks" numbered="false">
<name>Acknowledgements</name>
<t>
   The authors would like to thank <contact fullname="Jim Guichard"/>, Area
   Director of IETF Routing Area; <contact fullname="Vishnu Pavan Beeram"/>,
   Chair of TEAS WG; <contact fullname="Jia He"/> and <contact
   fullname="Stewart Bryant"/>, RTGDIR reviewers; <contact fullname="Thomas
   Fossati"/>, Gen-ART reviewer; <contact fullname="Yingzhen Qu"/>, OPSDIR
   reviewer; <contact fullname="David Mandelberg"/>, SECDIR reviewer; <contact
   fullname="David Dong"/>, IANA Services Sr. Specialist; and <contact
   fullname="Éric Vyncke"/> and <contact fullname="Murray Kucherawy"/>, IESG
   reviewers for their reviews and comments on this document.</t>

	</section>

<section anchor="contribs" numbered="false">
<name>Contributors</name>

      <contact fullname="Xianlong Luo">
        <organization>Huawei Technologies</organization>
        <address>
          <postal>
            <street>G1, Huawei Xiliu Beipo Village, Songshan Lake</street>
            <city>Dongguan</city>
            <region>Guangdong</region><code>523808</code>
            <country>China</country>
          </postal>
          <email>luoxianlong@huawei.com</email>
        </address>
      </contact>

<contact fullname="Sergio Belotti">
<organization>Nokia</organization>
<address>
<email>sergio.belotti@nokia.com</email>
</address>
</contact>
	</section>

	</back>

	</rfc>
