RFC 8453
Framework for Abstraction and Control of TE Networks (ACTN)
Framework for Abstraction and Control of TE Networks (ACTN) π¦
- RFC number: 8453 π
- Authors: D. Ceccarelli, Ed. (Ericsson) and Y. Lee, Ed. (Huawei) π
- Category: Informational πΈ
- ISSN: 2070-1721 β¨
- Date: August 2018 π
- Obsoletes / Updates: nothing listed in this header π
Abstract π
Okay so, Traffic Engineered (TE) networks have a whole bunch of mechanisms that separate the data plane from the control plane, which is literally iconic. They also come with management and provisioning protocols that configure and activate network resources. These are key tech for making networks flexible and dynamic π₯. A "Traffic Engineered network" is any network that uses a connection-oriented technology and is controlled by either a distributed or a centralized control plane, so it can set up end-to-end connectivity on demand π .
Abstraction of network resources is the move here. You can apply it to one network domain or across several domains to make a single virtualized network. That virtual network is controlled either by a network operator or by the operator's customer, the one who actually owns the resources π§.
This document is a framework for Abstraction and Control of TE Networks (ACTN), which supports virtual network services and connectivity services. It's giving framework energy π.
Status of This Memo β¨
This document is not an Internet Standards Track specification. It's published for informational purposes π«Ά.
It's a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community and got public review. The Internet Engineering Steering Group (IESG) approved it for publication. Not every IESG-approved document is a candidate for any level of Internet Standard, so see Section 2 of RFC 7841 for that π§.
For the current status, any errata, and how to give feedback, check https://www.rfc-editor.org/info/rfc8453 π¦.
Copyright Notice π
Copyright (c) 2018 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. Please read those carefully, because they spell out your rights and restrictions for this document π. Code Components extracted from this document must include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions. They come without warranty, as described in the Simplified BSD License π.
Table of Contents πΊοΈ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. VNS Model of ACTN . . . . . . . . . . . . . . . . . . . . 7
2.2.1. Customers . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2. Service Providers . . . . . . . . . . . . . . . . . . 9
2.2.3. Network Operators . . . . . . . . . . . . . . . . . . 10
3. ACTN Base Architecture . . . . . . . . . . . . . . . . . . . 10
3.1. Customer Network Controller . . . . . . . . . . . . . . . 12
3.2. Multi-Domain Service Coordinator . . . . . . . . . . . . 13
3.3. Provisioning Network Controller . . . . . . . . . . . . . 13
3.4. ACTN Interfaces . . . . . . . . . . . . . . . . . . . . . 14
4. Advanced ACTN Architectures . . . . . . . . . . . . . . . . . 15
4.1. MDSC Hierarchy . . . . . . . . . . . . . . . . . . . . . 15
4.2. Functional Split of MDSC Functions in Orchestrators . . . 16
5. Topology Abstraction Methods . . . . . . . . . . . . . . . . 18
5.1. Abstraction Factors . . . . . . . . . . . . . . . . . . . 18
5.2. Abstraction Types . . . . . . . . . . . . . . . . . . . . 19
5.2.1. Native/White Topology . . . . . . . . . . . . . . . . 19
5.2.2. Black Topology . . . . . . . . . . . . . . . . . . . 19
5.2.3. Grey Topology . . . . . . . . . . . . . . . . . . . . 20
5.3. Methods of Building Grey Topologies . . . . . . . . . . . 21
5.3.1. Automatic Generation of Abstract Topology by
Configuration . . . . . . . . . . . . . . . . . . . . 22
5.3.2. On-Demand Generation of Supplementary Topology via
Path Compute Request/Reply . . . . . . . . . . . . . 22
5.4. Hierarchical Topology Abstraction Example . . . . . . . . 23
5.5. VN Recursion with Network Layers . . . . . . . . . . . . 25
6. Access Points and Virtual Network Access Points . . . . . . . 28
6.1. Dual-Homing Scenario . . . . . . . . . . . . . . . . . . 30
7. Advanced ACTN Application: Multi-Destination Service . . . . . 31
7.1. Preplanned Endpoint Migration . . . . . . . . . . . . . . 32
7.2. On-the-Fly Endpoint Migration . . . . . . . . . . . . . . 33
8. Manageability Considerations . . . . . . . . . . . . . . . . 33
8.1. Policy . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.2. Policy Applied to the Customer Network Controller . . . . 34
8.3. Policy Applied to the Multi-Domain Service Coordinator . 35
8.4. Policy Applied to the Provisioning Network Controller . . 35
9. Security Considerations . . . . . . . . . . . . . . . . . . . 36
9.1. CNC-MDSC Interface (CMI) . . . . . . . . . . . . . . . . 37
9.2. MDSC-PNC Interface (MPI) . . . . . . . . . . . . . . . . 37
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37
11. Informative References . . . . . . . . . . . . . . . . . . . 38
Appendix A. Example of MDSC and PNC Functions Integrated in a
Service/Network Orchestrator . . . . . . . . . . . . 40
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42
1. Introduction π
Here's the deal: a "Traffic Engineered network" is any network that uses a connection-oriented technology under the control of a distributed or centralized control plane, so it can provision end-to-end connectivity dynamically β¨. TE networks have a bunch of ways to split the data planes from the control planes. That includes distributed signaling for path setup and protection, centralized path computation for planning and traffic engineering, and management and provisioning protocols that configure and activate network resources π . These are key tech for flexible, dynamic networking. Some networks that count under this definition are optical networks, MPLS Transport Profile (MPLS-TP) [RFC5654] networks, and MPLS-TE networks [RFC2702] π¦.
One of the big drivers for Software-Defined Networking (SDN) [RFC7149] is decoupling the network control plane from the data plane π§ . That separation has been achieved for TE networks through MPLS/GMPLS [RFC3945] and the Path Computation Element (PCE) [RFC4655] π₯. One of SDN's perks is its logically centralized control, which gives you a global view of the underlying networks π. Centralized control in SDN helps improve network resource utilization compared with distributed network control π. For TE-based networks, a PCE can act as a logically centralized path computation function πΈ.
This document describes a set of management and control functions used to operate one or more TE networks. The point is to build virtual networks that can be presented to customers, made from abstractions of the underlying TE networks π§. For example, a link in the customer's network is built from a path or a collection of paths in the underlying networks. We call this set of functions "Abstraction and Control of TE Networks" or "ACTN" π.
2. Overview π
Three key aspects SDN needs to solve are:
- Separating service requests from service delivery. The configuration and operation of a network stay transparent to the customer, but the network still responds to the customer's services and business needs π .
- Network abstraction. As described in [RFC7926], abstraction means applying policy to a set of information about a TE network to produce selective information that shows the potential ability to connect across the network. The abstraction presents the connectivity graph in a way that doesn't depend on the underlying network technologies, capabilities, or topology. That way the graph can be used to plan and deliver network services in a uniform way π¦.
- Coordinating resources across multiple independent networks and multiple technology layers. This provides end-to-end services whether or not the networks use SDN π«Ά.
As networks evolve, operators need support for distinct services, separated service orchestration, and resource abstraction. These have shown up as key requirements π₯. To support multiple customers, each with their own view and control of the server network, a network operator needs to partition (or "slice") the network resources or manage how they're shared π. Network slices can be assigned to each customer for guaranteed usage. That's a step further than shared use of common network resources π.
Each network shown to a customer can also be built from virtualization of the underlying networks. So, for example, a link in the customer's network is built from a path or a collection of paths in the underlying network β¨.
ACTN can make virtual network operation happen by creating a single virtualized network or a seamless service. This helps operators view and control different domains, whether those split along applied technology, administrative zones, or vendor-specific technology islands. Then they can present virtualized networks to their customers π§.
The ACTN framework in this document makes the following possible:
- Abstraction of the underlying network resources to higher-layer applications and customers [RFC7926] πΈ.
- Virtualization of particular underlying resources, where the selection criterion is allocating those resources to a particular customer, application, or service [ONF-ARCH] π.
- TE network slicing of infrastructure to meet specific customers' service requirements π.
- An abstract environment where operators can view and control multi-domain networks as a single abstract network π.
- Presenting networks to customers as a virtual network through open and programmable interfaces π¦.
To be continued in part 2 π β¨
2.1. Terminology π
Okay, vocab time bestie π Some of these terms are brand new, and some just borrow definitions from older RFCs. Let's go.
Domain π : according to [RFC4655], a domain is "any collection of network elements within a common sphere of address management or path computation responsibility". In this document, we specifically mean a part of an operator's network that's under common management, meaning shared operational management using the same instances of a tool and the same policies. Network elements usually get grouped into domains based on technology types, vendor profiles, and geographic proximity.
Abstraction β¨: this process is defined in [RFC7926].
TE Network Slicing π°: in the context of ACTN, a TE network slice is a collection of resources used to set up a logically dedicated virtual network over one or more TE networks. It lets a network operator give applications or customers their own dedicated virtual networks on top of a shared network infrastructure. The logically dedicated resources are part of the bigger common infrastructure, which is shared among various TE network slice instances. A TE network slice instance is the end-to-end realization of TE network slicing, made up of physically or logically dedicated resources combined together. It's giving layers π§
Node π΅: a node is a vertex on the graph representation of a TE topology. In a physical network topology, a node matches a physical network element (NE) such as a router. In an abstract network topology, a node (sometimes called an "abstract node") is a single vertex that represents one or more physical NEs and their connecting physical connections. A node means you can connect from any access to the node (a link end) to any other access to that same node, although "limited cross-connect capabilities" may also be defined to restrict this. Network abstraction can be applied recursively, so a node in one topology might be created by applying abstraction to the nodes in the underlying topology. Recursion, iykyk π
Link π: a link is an edge on the graph representation of a TE topology. Two nodes connected by a link are said to be "adjacent" in the TE topology. In a physical network topology, a link matches a physical connection. In an abstract network topology, a link (sometimes called an "abstract link") represents the potential to connect a pair of points with certain TE parameters (see [RFC7926] for details). Like nodes, network abstraction can be applied recursively, so a link in one topology may be created by applying abstraction to the links in the underlying topology. π«
Abstract Topology πͺ: the topology of abstract nodes and abstract links that a lower-layer network presents, through abstraction, for use by a higher-layer network.
Virtual Network (VN) π: a VN is a network that a service provider gives to a customer, who can use it in any way they want, as though it were a physical network. There are two ways to view a VN:
- The VN can be abstracted as a set of edge-to-edge links (a Type 1 VN). Each link is referred to as a "VN member" and is formed as an end-to-end tunnel across the underlying networks. These tunnels may be built by recursive slicing or abstraction of paths in the underlying networks, and they can cover edge points of the customer's network, access links, intra-domain paths, and inter-domain links. π€οΈ
- The VN can also be abstracted as a topology of virtual nodes and virtual links (a Type 2 VN). The operator needs to map the VN to actual resource assignment, which is known as "virtual network embedding". The nodes here include physical endpoints, border nodes, and internal nodes, as well as abstracted nodes. Similarly, the links include physical access links, inter-domain links, and intra-domain links, as well as abstract links. πΈοΈ
Clearly, a Type 1 VN is a special case of a Type 2 VN. Main character energy π
Access link πͺ: a link between a customer node and an operator node.
Inter-domain link π: a link between domains under distinct management administration.
Access Point (AP) πͺͺ: an AP is a logical identifier shared between the customer and the operator, used to identify an access link. The customer uses the AP when requesting a Virtual Network Service (VNS). Note that the term "TE Link Termination Point" defined in [TE-TOPO] describes the endpoints of links, while an AP is a common identifier for the link itself. Don't mix them up! π
VN Access Point (VNAP) π: a VNAP is the binding between an AP and a given VN.
Server Network π₯οΈ: as defined in [RFC7926], a server network is a network that provides connectivity for another network (the Client Network) in a client-server relationship.
2.2. VNS Model of ACTN π§©
Okay so a Virtual Network Service (VNS) is the service agreement between a customer and an operator to provide a VN. When a VN is just simple connectivity between two points, the line between a VNS and a plain connectivity service gets blurry π«οΈ This document defines three types of VNS. π
- Type 1 VNS is a VNS in which the customer is allowed to create and operate a Type 1 VN. π©΅
- Type 2a and 2b VNS are VNSs in which the customer is allowed to create and operate a Type 2 VN. With a Type 2a VNS, the VN is statically created at service configuration time, and the customer is not allowed to change the topology (for example, by adding or deleting abstract nodes and links). A Type 2b VNS is the same as a Type 2a VNS, except the customer is allowed to make dynamic changes to the initial topology created at service configuration time. π
VN Operations are functions a customer can exercise on a VN, depending on the agreement between the customer and the operator. π οΈ
- VN Creation lets a customer request the instantiation of a VN. This could happen through offline preconfiguration or through dynamic requests that specify attributes to a Service Level Agreement (SLA) to meet the customer's objectives. π±
- Dynamic Operations let a customer modify or delete the VN. The customer can also act on the virtual network to create, modify, or delete virtual links and nodes. These changes result in subsequent tunnel management in the operator's networks. β‘
There are three key entities in the ACTN VNS model: π«Ά
- Customers
- Service Providers
- Network Operators
These entities are related in a three-tier model, shown in Figure 1 πΌοΈ
+----------------------+
| Customer |
+----------------------+
|
VNS || | /\ VNS
Request || | || Reply
\/ | ||
+----------------------+
| Service Provider |
+----------------------+
/ | \
/ | \
/ | \
/ | \
+------------------+ +------------------+ +------------------+
|Network Operator 1| |Network Operator 2| |Network Operator 3|
+------------------+ +------------------+ +------------------+
Figure 1: The Three-Tier Model
The commercial roles of these entities are described in the following sections. πΌ
2.2.1. Customers π₯°
Basic customers include fixed residential users, mobile users, and small enterprises. Each one needs a small amount of resources and has steady requests that are pretty much time invariant. Basic customers don't modify their services themselves. If a service change is needed, the provider does it on their behalf as a proxy. π‘
Advanced customers include enterprises and governments. These customers ask for both point-to-point and multipoint connectivity, with high resource demands that vary a lot over time. This is one of the reasons a bundled service offering isn't enough, so it's desirable to give each advanced customer a customized VNS. Advanced customers may also be able to modify their service parameters within the scope of their virtualized environments. The primary focus of ACTN is Advanced Customers. π
Customers are spread across multiple network operator domains, so they have to interface with multiple operators and may need to support multiple virtual network services with different underlying objectives set by those operators. To support flexible and dynamic applications, these customers need to control their allocated virtual network resources dynamically. That means they need a view of the topology that spans all of the network operators. πΊοΈ Customers of a given service provider can, in turn, offer a service to other customers in a recursive way. Recursion again, we love to see it π
2.2.2. Service Providers π¦
In the scope of ACTN, service providers deliver VNSs to their customers. Service providers may or may not own physical network resources, meaning they may or may not be network operators as described in Section 2.2.3. When a service provider is the same as the network operator, the case is similar to existing VPN models applied to a single operator (although it may be hard to use this approach when the customer spans multiple independent network operator domains). π€
When network operators supply only infrastructure while distinct service providers interface with the customers, the service providers are themselves customers of the network infrastructure operators. One service provider may need to work with multiple independent network operators because its end users are spread across multiple network operator domains. In some cases, a service provider is also a network operator when it owns the network infrastructure the service runs on. ποΈ
2.2.3. Network Operators π°οΈ
Network operators are the infrastructure operators that provision network resources and provide them to their customers. The layered model described in this architecture keeps the concerns of network operators and customers separate, with service providers acting as aggregators of customer requests. Everyone has their lane and it's giving organized π
3. ACTN Base Architecture β¨
okay bestie, this section is the big picture π¦ it lays out how ACTN is put together and how the different pieces talk to each other. The ACTN architecture is built on a three-tier reference model and it allows for hierarchy and recursion, which is giving layers of layers π§
The main functionalities inside an ACTN system are:
- Multi-domain coordination πΈ: this function oversees the specific aspects of each domain and builds a single abstracted end-to-end network topology. With that, it can coordinate end-to-end path computation and path/service provisioning. Working out the sequence of domains a path goes through is also part of this function.
- Abstraction π: this function gives the customer an abstracted view of the underlying network resources. The customer can be the client or a higher-level controller entity, no cap. It covers path computation based on the customer's service connectivity request constraints, path computation based on the global network-wide abstracted topology, and creating an abstracted view of the network resources allocated to each customer. All of this depends on customer-specific network objective functions and customer traffic profiles π«Ά
- Customer mapping/translation π: this function maps customer requests and commands into network provisioning requests that can be sent from the Multi-Domain Service Coordinator (MDSC) to the Provisioning Network Controller (PNC). It follows business policies that are provisioned statically or dynamically at the Operations Support System (OSS) / Network Management System (NMS). Basically, it takes a customer's service request and turns it into a set of parameters specific to a network type and technology, so network configuration can actually happen π
- Virtual service coordination π¦: this function turns customer service information into virtual network service operations, so virtual networks run smoothly while meeting the customer's service requirements. In ACTN, this includes service orchestration functions like multi-destination load-balancing and guarantees of service quality. It also covers notifications for service faults and performance degradation, and so forth β¨
The base ACTN architecture defines three controller types and the interfaces between them. The controller types shown in Figure 2 are:
- CNC - Customer Network Controller
- MDSC - Multi-Domain Service Coordinator
- PNC - Provisioning Network Controller
Figure 2 also shows these interfaces:
- CMI - CNC-MDSC Interface
- MPI - MDSC-PNC Interface
- SBI - Southbound Interface
+---------+ +---------+ +---------+
| CNC | | CNC | | CNC |
+---------+ +---------+ +---------+
\ | /
\ | /
Boundary ========\==================|=====================/=======
between \ | /
Customer & ----------- | CMI --------------
Network Operator \ | /
+---------------+
| MDSC |
+---------------+
/ | \
------------ | MPI -------------
/ | \
+-------+ +-------+ +-------+
| PNC | | PNC | | PNC |
+-------+ +-------+ +-------+
| SBI / | / \
| / | SBI SBI / \
--------- ----- | / \
( ) ( ) | / \
- Control - ( Phys. ) | / -----
( Plane ) ( Net ) | / ( )
( Physical ) ----- | / ( Phys. )
( Network ) ----- ----- ( Net )
- - ( ) ( ) -----
( ) ( Phys. ) ( Phys. )
--------- ( Net ) ( Net )
----- -----
Figure 2: ACTN Base Architecture
Note that this is a functional architecture π§ an implementation and deployment might collocate one or more of the functional components. Figure 2 shows a case where the service provider is also a network operator.
3.1. Customer Network Controller π
A Customer Network Controller (CNC) is responsible for communicating a customer's VNS requirements to the network operator over the CNC-MDSC Interface (CMI). It knows the endpoints associated with the VNS (expressed as APs), the service policy, and other QoS information related to the service π
As the CNC directly interfaces with the applications, it understands multiple application requirements and their service needs π The capability of a CNC beyond its CMI role is outside the scope of ACTN and may be implemented in different ways. For example, the CNC may actually be a controller (or part of one) in the customer's domain, or the CNC functionality could also live inside a service provider's portal π
3.2. Multi-Domain Service Coordinator π
A Multi-Domain Service Coordinator (MDSC) is a functional block that implements all of the ACTN functions listed in Section 3 and described further in Section 4.2. Two of its functions, multi-domain coordination and virtualization/abstraction, are called network-related functions. The other two, customer mapping/translation and virtual service coordination, are called service-related functions π«§
The MDSC sits at the center of the ACTN model, between the CNC that issues connectivity requests and the Provisioning Network Controllers (PNCs) that manage the network resources. The key point of the MDSC (and of the whole ACTN framework) is detaching network and service control from the underlying technology, so the customer can express the network the way their business needs it π The MDSC wraps up the instantiation of the right technology and network control to meet business criteria. In essence, it controls and manages the primitives needed to deliver the functionality the CNC wants π₯
In order to allow for multi-domain coordination, a 1:N relationship MUST be allowed between MDSCs and PNCs.
On top of that, it could also be possible to have an M:1 relationship between MDSCs and PNCs. That lets network-resource partitioning/sharing happen among different customers who are not necessarily connected to the same MDSC (for example, different service providers) but who are all using the resources of a common network infrastructure operator π
3.3. Provisioning Network Controller π οΈ
The Provisioning Network Controller (PNC) oversees configuring the network elements, monitoring the topology (physical or virtual) of the network, and collecting information about that topology (either raw or abstracted) π
The PNC functions can be implemented as part of an SDN domain controller, a Network Management System (NMS), an Element Management System (EMS), an active PCE-based controller [RFC8283], or any other means to dynamically control a set of nodes that implements a northbound interface from the standpoint of the nodes (which is out of the scope of this document). A PNC domain includes all the resources under the control of a single PNC. It can be made up of different routing domains and administrative domains, and the resources may come from different layers. The interconnection between PNC domains is illustrated in Figure 3 β
_______ _______
_( )_ _( )_
_( )_ _( )_
( ) Border ( )
( PNC ------ Link ------ PNC )
( Domain X |Border|========|Border| Domain Y )
( | Node | | Node | )
( ------ ------ )
(_ _) (_ _)
(_ _) (_ _)
(_______) (_______)
Figure 3: PNC Domain Borders
3.4. ACTN Interfaces π
Direct customer control of transport network elements and virtualized services is not a viable proposition for network operators, due to security and policy concerns. So the network has to provide open, programmable interfaces through which customer applications can create, replace, and modify virtual network resources and services in an interactive, flexible, and dynamic way π¦
Three interfaces exist in the ACTN architecture, as shown in Figure 2:
- CMI: The CNC-MDSC Interface (CMI) is an interface between a CNC and an MDSC. The CMI is a business boundary between customer and network operator. It is used to request a VNS for an application. All service-related information is conveyed over this interface (such as the VNS type, topology, bandwidth, and service constraints). Most of the information over this interface is agnostic of the technology used by network operators, but there are some cases (e.g., access link configuration) where technology-specific details are necessary π
- MPI: The MDSC-PNC Interface (MPI) is an interface between an MDSC and a PNC. It communicates requests for new connectivity or for bandwidth changes in the physical network. In multi-domain environments, the MDSC needs to talk to multiple PNCs, each responsible for controlling one domain. The MPI presents an abstracted topology to the MDSC, hiding technology-specific aspects of the network and hiding topology according to policy π§
- SBI: The Southbound Interface (SBI) is out of scope of ACTN. Many different SBIs have been defined for different environments, technologies, standards organizations, and vendors. It is shown in Figure 3 for reference only πΈ
4. Advanced ACTN Architectures π
This section describes advanced configurations of the ACTN architecture π«
Next up is Section 4, the advanced stuff, so stay tuned, bestie π
4.1. MDSC Hierarchy β¨
okay so a hierarchy of MDSCs can be foreseen for a bunch of reasons π§ like scalability, administrative choices, or just smooshing together different layers and technologies in the network. when there IS a hierarchy, we introduce two names: "higher-level MDSC" (MDSC-H) and "lower-level MDSC" (MDSC-L). the interface between them is a recursion of the MPI π an MDSC-H makes provisioning requests as normal using the MPI, but an MDSC-L must be able to receive requests as normal at the CMI and also at the MPI. the hierarchy looks like this in Figure 4:
+--------+
| CNC |
+--------+
| +-----+
| CMI | CNC |
+----------+ +-----+
-------| MDSC-H |---- |
| +----------+ | | CMI
MPI | MPI | |
| | |
+---------+ +---------+
| MDSC-L | | MDSC-L |
+---------+ +---------+
MPI | | | |
| | | |
----- ----- ----- -----
| PNC | | PNC | | PNC | | PNC |
----- ----- ----- -----
Figure 4: MDSC Hierarchy
another vibe is to give one MDSC-L all the PNCs for a given technology (e.g., Internet Protocol (IP) / Multiprotocol Label Switching (MPLS)), a different MDSC-L for the PNCs of another technology (e.g., Optical Transport Network (OTN) / Wavelength Division Multiplexing (WDM)), and then an MDSC-H to coordinate them all π¦ iconic layering
the hierarchy of MDSC can be recursive, where an MDSC-H is, in turn, an MDSC-L to a higher-level MDSC-H. so yes, it can stack up like a tower π
4.2. Functional Split of MDSC Functions in Orchestrators β¨
okay this one is so clean π«Ά an implementation choice could split the MDSC functions into two groups: one for service-related functions and one for network-related functions. this lets you build a service orchestrator that handles the service-related functions of the MDSC, and a network orchestrator that handles the network-related functions. it's consistent with the YANG service model architecture described in [RFC8309]. Figure 5 shows the whole vibe and how the ACTN interfaces may map to YANG data models π
+--------------------+
| Customer |
| +-----+ |
| | CNC | |
| +-----+ |
+--------------------+
CMI | Customer Service Model
|
+---------------------------------------+
| Service |
********|*********************** Orchestrator |
* MDSC | +-----------------+ * |
* | | Service-related | * |
* | | Functions | * |
* | +-----------------+ * |
* +----------------------*----------------+
* * | Service Delivery
* * | Model
* +----------------------*----------------+
* | * Network |
* | +-----------------+ * Orchestrator |
* | | Network-related | * |
* | | Functions | * |
* | +-----------------+ * |
********|*********************** |
+---------------------------------------+
MPI | Network Configuration
| Model
+------------------------+
| Domain |
| +------+ Controller |
| | PNC | |
| +------+ |
+------------------------+
SBI | Device Configuration
| Model
+--------+
| Device |
+--------+
Figure 5: ACTN Architecture in the Context of the YANG Service Models
5. Topology Abstraction Methods πΈ
okay now we're talking about topology abstraction π it's described in [RFC7926], and this section looks at the abstraction factors, the types, and how they fit into the ACTN architecture.
abstraction in ACTN is performed by the PNC when it presents available topology to the MDSC, or by an MDSC-L when it presents topology to an MDSC-H. this is different from creating a VN (and especially a Type 2 VN), because that one isn't abstraction at all, it's construction of virtual resources β¨
5.1. Abstraction Factors π¦
as discussed in [RFC7926], abstraction is tied to the policy of the networks. for instance, per an operational policy, the PNC would not provide any technology-specific details (e.g., optical parameters for Wavelength Switched Optical Network (WSON)) in the abstract topology it provides to the MDSC. similarly, the policy of the networks may determine the abstraction type as described in Section 5.2.
there are a bunch of factors that may impact the choice of abstraction π
- abstraction depends on the nature of the underlying domain networks. for instance, packet networks may be abstracted with fine granularity, while abstraction of optical networks depends on the switching units (such as wavelengths) and the end-to-end continuity and cross-connect limitations within the network.
- abstraction also depends on the capability of the PNCs. since abstraction requires hiding details of the underlying network resources, the PNC's capability to run algorithms impacts the feasibility of abstraction. some PNCs may not have the ability to abstract native topology, while other PNCs may have the ability to use sophisticated algorithms π§
- abstraction is a tool that can improve scalability. where the native network resource information is of a large size, there is a specific scaling benefit to abstraction π
- the proper abstraction level may depend on the frequency of topology updates, and vice versa.
- the nature of the MDSC's support for technology-specific parameters impacts the degree/level of abstraction. if the MDSC is not capable of handling such parameters, then a higher level of abstraction is needed.
- in some cases, the PNC is required to hide key internal topological data from the MDSC. such confidentiality can be achieved through abstraction π
5.2. Abstraction Types π
this section defines the following three types of topology abstraction:
- Native/White Topology (Section 5.2.1)
- Black Topology (Section 5.2.2)
- Grey Topology (Section 5.2.3)
5.2.1. Native/White Topology π€
this is the case where the PNC provides the actual network topology to the MDSC without any hiding or filtering of information, i.e., no abstraction is performed. so the MDSC has the full knowledge of the underlying network topology and can operate on it directly. full transparency, no filter, very honest energy π
5.2.2. Black Topology π€
a black topology replaces a full network with a minimal representation of the edge-to-edge topology, without disclosing any node internal connectivity information. the entire domain network may be abstracted as a single abstract node, with the network's access/egress links appearing as the ports to the abstract node, and the implication that any port can be "cross-connected" to any other. Figure 6 shows a native topology with the matching black topology, which is one virtual node plus the inter-domain links.
in this case, the MDSC has to make a provisioning request to the PNCs to establish the port-to-port connection. ngl this can get heavy π if there's a large number of interconnected domains, this abstraction method may impose a heavy coordination load at the MDSC level in order to find an optimal end-to-end path. the abstraction hides so much information that it's not possible to determine whether an end-to-end path is feasible without asking each PNC to set up each path fragment. because of this, the MPI might need to be enhanced to allow the PNCs to be queried for the practicality and characteristics of paths across the abstract node π
.....................................
: PNC Domain :
: +--+ +--+ +--+ +--+ :
------+ +-----+ +-----+ +-----+ +------
: ++-+ ++-+ +-++ +-++ :
: | | | | :
: | | | | :
: | | | | :
: | | | | :
: ++-+ ++-+ +-++ +-++ :
------+ +-----+ +-----+ +-----+ +------
: +--+ +--+ +--+ +--+ :
:....................................
+----------+
---+ +---
| Abstract |
| Node |
---+ +---
+----------+
Figure 6: Native Topology with Corresponding Black Topology Expressed as an Abstract Node
5.2.3. Grey Topology β¨
okay so the grey topology is basically the compromise bestie π«Ά. It's not as zoomed-in as the white one, and not as blurry as the black one, so it's giving middle-ground energy π . The PNC shows an abstract topology that includes every single border node of its PNC domain, plus an abstraction of how those border nodes are connected to each other. That abstraction can use physical nodes and links or abstract ones π¦.
There are two flavours of grey topology:
- In a type A grey topology, the border nodes are connected by a full mesh of TE links (see Figure 7) πΈ.
- In a type B grey topology, the border nodes are connected over a more detailed network that has internal abstract nodes and abstracted links π₯. This one is lowkey iconic because it gives the MDSC more info about what's inside the PNC domain, so it can make better choices about how to route connectivity over the underlying network π§.
.....................................
: PNC Domain :
: +--+ +--+ +--+ +--+ :
------+ +-----+ +-----+ +-----+ +------
: ++-+ ++-+ +-++ +-++ :
: | | | | :
: | | | | :
: | | | | :
: | | | | :
: ++-+ ++-+ +-++ +-++ :
------+ +-----+ +-----+ +-----+ +------
: +--+ +--+ +--+ +--+ :
:....................................
....................
: Abstract Network :
: :
: +--+ +--+ :
-------+ +----+ +-------
: ++-+ +-++ :
: | \ / | :
: | \/ | :
: | /\ | :
: | / \ | :
: ++-+ +-++ :
-------+ +----+ +-------
: +--+ +--+ :
:..................:
Figure 7: Native Topology with Corresponding Grey Topology
5.3. Methods of Building Grey Topologies π
okay this section is about the two different ways you can actually build a grey topology, and they're both giving π:
- Automatic generation of abstract topology by configuration (Section 5.3.1)
- On-demand generation of supplementary topology via path computation request/reply (Section 5.3.2)
5.3.1. Automatic Generation of Abstract Topology by Configuration π
so automatic generation is when the PNC summarises or abstracts the whole domain itself, then advertises that on the MPI π. How zoomed-out it is can be decided by PNC configuration parameters, like "provide the potential connectivity between any PE and any ASBR in an MPLS-TE network" β¨.
the config parameters for this abstract topology can include available bandwidth, latency, or any combo of the defined parameters π. How to generate that info is beyond the scope of this document, so we're not going there today π.
This abstract topology may need to be updated periodically or incrementally when something changes in the underlying network, or when the use of network resources makes connectivity more or less available π¦.
5.3.2. On-Demand Generation of Supplementary Topology via Path Compute Request/Reply π§
okay so the abstract topology gets generated and updated automatically by configuration (Section 5.3.1), but the MDSC can also grab extra supplementary topology through a path compute request/reply mechanism π.
the abstract topology advertisements from PNCs give the MDSC the border node and link info for each domain π. So when the MDSC needs to create a new VN, it can send path computation requests to PNCs with constraints that match the VN request, as described in [ACTN-YANG] π . Check out Figure 8, where the MDSC is building a P2P VN between AP1 and AP2 πΈ. The MDSC could use two different inter-domain links to get from domain X to domain Y, but to pick the best end-to-end path, it needs to know what domains X and Y can offer in terms of connectivity and constraints between the PE nodes and the border nodes π.
------- --------
( ) ( )
- BrdrX.1------- BrdrY.1 -
(+---+ ) ( +---+)
-+---( |PE1| Dom.X ) ( Dom.Y |PE2| )---+-
| (+---+ ) ( +---+) |
AP1 - BrdrX.2------- BrdrY.2 - AP2
( ) ( )
------- --------
Figure 8: A Multi-Domain Example
so the MDSC sends a path computation request to PNC.X asking for potential connectivity between PE1 and border node BrdrX.1, and between PE1 and BrdrX.2, along with the related objective functions and TE metric constraints π₯. It sends a similar request to PNC.Y for connectivity from the border nodes in domain Y to PE2 π§. Then the MDSC merges the results to compute the optimal end-to-end path, including the inter-domain links π. It can use that result to ask the PNCs to provision the underlying networks, and then treat the end-to-end path as a virtual link in the VN it delivers to the customer πβ¨.
5.4. Hierarchical Topology Abstraction Example π
this section shows how topology abstraction works across the different levels of an MDSC hierarchy, as shown in Figure 9 π¦.
+-----+
| CNC | CNC wants to create a VN
+-----+ between CE A and CE B
|
|
+-----------------------+
| MDSC-H |
+-----------------------+
/ \
/ \
+---------+ +---------+
| MDSC-L1 | | MDSC-L2 |
+---------+ +---------+
/ \ / \
/ \ / \
+----+ +----+ +----+ +----+
CE A o----|PNC1| |PNC2| |PNC3| |PNC4|----o CE B
+----+ +----+ +----+ +----+
Virtual Network Delivered to CNC
CE A o==============o CE B
Topology operated on by MDSC-H
CE A o----o==o==o===o----o CE B
Topology operated on by MDSC-L1 Topology operated on by MDSC-L2
_ _ _ _
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
CE A o--(o---o)==(o---o)==Dom.3 Dom.2==(o---o)==(o---o)--o CE B
( ) ( ) ( ) ( )
(_) (_) (_) (_)
Actual Topology
___ ___ ___ ___
( ) ( ) ( ) ( )
( o ) ( o ) ( o--o) ( o )
( / \ ) ( |\ ) ( | | ) ( / \ )
CE A o---(o-o---o-o)==(o-o-o-o-o)==(o--o--o-o)==(o-o-o-o-o)---o CE B
( \ / ) ( | |/ ) ( | | ) ( \ / )
( o ) (o-o ) ( o--o) ( o )
(___) (___) (___) (___)
Domain 1 Domain 2 Domain 3 Domain 4
Where
o is a node
--- is a link
=== is a border link
Figure 9: Illustration of Hierarchical Topology Abstraction
so in the Figure 9 example there are four domains under PNC control: PNC1, PNC2, PNC3 and PNC4 π. MDSC-L1 controls PNC1 and PNC2, and MDSC-L2 controls PNC3 and PNC4 π. Each PNC gives a grey topology abstraction that only shows border nodes and the links across and outside its domain πΈ. The abstract topology that MDSC-L1 operates on is a combo of the two topologies from PNC1 and PNC2 π . MDSC-L2 operates on its own abstract topology, which is also shown in Figure 9 β¨. Both MDSC-L1 and MDSC-L2 give a black topology abstraction up to MDSC-H, where each PNC domain shows up as a single virtual node π. MDSC-H merges those two topologies to build the abstract topology it operates on π₯. So MDSC-H sees the whole four-domain network as four virtual nodes connected by virtual links, and that's the whole vibe π§π
5.5. VN Recursion with Network Layers β¨
okay so this one is giving layers on layers π§ π sometimes the VN a customer gets is built from resources in different technology layers, and each layer is run by a different operator. like, one operator runs a packet TE network but borrows optical connectivity from another operator. iconic teamwork π«Ά
so in Figure 10 a customer wants end-to-end connectivity between CE A and CE B, which is a virtual network. the customer's CNC asks Operator 1's MDSC for it. the MDSC figures out which network resources need to get configured and sends instructions to the right PNCs. but here's the twist π the link between Q and R is a virtual link supplied by Operator 2, because Operator 1 is a customer of Operator 2. main character plot twist π¦
to make that work, Operator 1 has a CNC that talks to Operator 2's MDSC. also, Operator 1's CNC in Figure 10 is just a functional component. it doesn't dictate how it's implemented, so it can be embedded in a PNC. no drama, flexible vibes π
Virtual CE A o===============================o CE B
Network
----- CNC wants to create a VN
Customer | CNC | between CE A and CE B
-----
:
***********************************************
:
Operator 1 ---------------------------
| MDSC |
---------------------------
: : :
: : :
----- ------------- -----
| PNC | | PNC | | PNC |
----- ------------- -----
: : : : :
Higher v v : v v
Layer CE A o---P-----Q===========R-----S---o CE B
Network | : |
| : |
| ----- |
| | CNC | |
| ----- |
| : |
***********************************************
| : |
Operator 2 | ------ |
| | MDSC | |
| ------ |
| : |
| ------- |
| | PNC | |
| ------- |
\ : : : /
Lower \v v v/
Layer X--Y--Z
Network
Where
--- is a link
=== is a virtual link
Figure 10: VN Recursion with Network Layers
6. Access Points and Virtual Network Access Points π
okay now for the way the customer's sites hook up to the TE networks β¨ the CNC and the MDSC refer to those connections using the Access Point (AP) construct, which is what Figure 11 shows. this is how they map the connections and also scope the connectivity asked for in the VNS. super organised, obsessed ποΈ
-------------
( )
- -
+---+ X ( ) Z +---+
|CE1|---+----( )---+---|CE2|
+---+ | ( ) | +---+
AP1 - - AP2
( )
-------------
Figure 11: Customer View of APs
let's use Figure 11 as the example π§ CE1 is hooked up to the network with a 10 Gbps link, and CE2 with a 40 Gbps link. before any VN exists between AP1 and AP2, the customer view looks like Figure 12, which is super clean π
+----------+------------------------+
| Endpoint | Access Link Bandwidth |
+-----+----------+----------+-------------+
|AP id| CE,port | MaxResBw | AvailableBw |
+-----+----------+----------+-------------+
| AP1 |CE1,portX | 10 Gbps | 10 Gbps |
+-----+----------+----------+-------------+
| AP2 |CE2,portZ | 40 Gbps | 40 Gbps |
+-----+----------+----------+-------------+
Figure 12: AP - Customer View
the operator side is a different story π they see Figure 13, with Dom.X and Dom.Y and the PEs all in the mix.
------- -------
( ) ( )
- - - -
W (+---+ ) ( +---+) Y
-+---( |PE1| Dom.X )----( Dom.Y |PE2| )---+-
| (+---+ ) ( +---+) |
AP1 - - - - AP2
( ) ( )
------- -------
Figure 13: Operator View of the AP
which gets summarised in Figure 14. same APs, but now it's PE ports on the operator side π
+----------+------------------------+
| Endpoint | Access Link Bandwidth |
+-----+----------+----------+-------------+
|AP id| PE,port | MaxResBw | AvailableBw |
+-----+----------+----------+-------------+
| AP1 |PE1,portW | 10 Gbps | 10 Gbps |
+-----+----------+----------+-------------+
| AP2 |PE2,portY | 40 Gbps | 40 Gbps |
+-----+----------+----------+-------------+
Figure 14: AP - Operator View
now the Virtual Network Access Point (VNAP) is the binding between an AP and a VN π it's what lets different VNs start from the same AP, and it also allows traffic engineering on the access and/or inter-domain links (think keeping track of bandwidth allocation). every VN gets its own VNAP on an AP, so no sharing drama π ββοΈ
in this simple scenario we make two virtual networks between AP1 and AP2. the first is VN identifier 9 with 1 Gbps, and the second is VN identifier 5 with 2 Gbps. then the operator view evolves into Figure 15 π¦
+----------+------------------------+
| Endpoint | Access Link/VNAP Bw |
+---------+----------+----------+-------------+
|AP/VNAPid| PE,port | MaxResBw | AvailableBw |
+---------+----------+----------+-------------+
|AP1 |PE1,portW | 10 Gbps | 7 Gbps |
| -VNAP1.9| | 1 Gbps | N.A. |
| -VNAP1.5| | 2 Gbps | N.A |
+---------+----------+----------+-------------+
|AP2 |PE2,portY | 4 0Gbps | 37 Gbps |
| -VNAP2.9| | 1 Gbps | N.A. |
| -VNAP2.5| | 2 Gbps | N.A |
+---------+----------+----------+-------------+
Figure 15: AP and VNAP - Operator View after VNS Creation
6.1. Dual-Homing Scenario πΈ
dual-homing is super common: a CE is connected to a pair of PEs. this case has to be supported by the definition of VN, APs, and VNAPs, so it's not optional fluff π«Ά here, CE1 connects to two different PEs in the operator domain through AP1 and AP2, and the customer needs 5 Gbps of bandwidth between CE1 and CE2. Figure 16 shows the setup.
____________
AP1 ( ) AP3
-------(PE1) (PE3)-------
W / ( ) \ X
+---+/ ( ) \+---+
|CE1| ( ) |CE2|
+---+\ ( ) /+---+
Y \ ( ) / Z
-------(PE2) (PE4)-------
AP2 (____________)
Figure 16: Dual-Homing Scenario
so the customer asks for a VN between AP1, AP2, and AP3, and specifies a dual-homing relationship between AP1 and AP2. the result is that no traffic flows between AP1 and AP2, which is kinda wild but makes sense π the dual-homing relationship then gets mapped against the VNAPs, because other independent VNs might also have AP1 and AP2 as endpoints.
the customer view is Figure 17 π
+----------+------------------------+
| Endpoint | Access Link/VNAP Bw |
+---------+----------+----------+-------------+-----------+
|AP/VNAPid| CE,port | MaxResBw | AvailableBw |Dual Homing|
+---------+----------+----------+-------------+-----------+
|AP1 |CE1,portW | 10 Gbps | 5 Gbps | |
| -VNAP1.9| | 5 Gbps | N.A. | VNAP2.9 |
+---------+----------+----------+-------------+-----------+
|AP2 |CE1,portY | 40 Gbps | 35 Gbps | |
| -VNAP2.9| | 5 Gbps | N.A. | VNAP1.9 |
+---------+----------+----------+-------------+-----------+
|AP3 |CE2,portX | 50 Gbps | 45 Gbps | |
| -VNAP3.9| | 5 Gbps | N.A. | NONE |
+---------+----------+----------+-------------+-----------+
Figure 17: Dual-Homing -- Customer View after VN Creation
7. Advanced ACTN Application: Multi-Destination Service β¨
okay so the next level of ACTN is literally the data center (DC) selection situation π where the customer wants the DC picked based on what the network is doing right now. [ACTN-REQ] calls this "Multi-Destination Service." πΈ The CNC can ask for a VNS between a set of source APs and a set of destination APs, and then just hand the decision to the network (the MDSC) to figure out which source and destination APs to actually use. the candidate list of APs comes from the CNC (or some entity outside of ACTN) based on factors that are outside the scope of ACTN, so that part is not on us, bestie π«Ά
once the network (MDSC) has picked the APs, the CNC (or that outside entity) is the one who handles whatever comes next, like orchestration or service setup. all of those next steps are outside the scope of ACTN too π§
picture this: three DCs are available, but the customer wants the DC chosen by network status. the connectivity service runs between AP1 (CE1) and one of the destination APs (AP2 (DC-A), AP3 (DC-B), or AP4 (DC-C)). the MDSC (working with the PNCs) picks the best destination AP based on the constraints, optimization criteria, policies, etc., and then sets up the connectivity service (virtual network). it's giving smart routing and I'm obsessed π
------- -------
( ) ( )
- - - -
+---+ ( ) ( ) +----+
|CE1|---+---( Domain X )----( Domain Y )---+---|DC-A|
+---+ | ( ) ( ) | +----+
AP1 - - - - AP2
( ) ( )
---+--- ---+---
| |
AP3-+ AP4-+
| |
+----+ +----+
|DC-B| |DC-C|
+----+ +----+
Figure 18: Endpoint Selection Based on Network Status
7.1. Preplanned Endpoint Migration
okay so with DC selection, the customer can also ask for a backup DC to be picked π so if something fails, another DC site can act as a hot stand-by protection. in Figure 19, DC-C is chosen as the backup for DC-A. so the VN gets set up by the MDSC to include the primary connectivity between AP1 (CE1) and AP2 (DC-A), plus the protection connectivity between AP1 (CE1) and AP4 (DC-C). main character energy for resilience π
------- -------
( ) ( )
- - __ - -
+---+ ( ) ( ) +----+
|CE1|---+----( Domain X )----( Domain Y )---+---|DC-A|
+---+ | ( ) ( ) | +----+
AP1 - - - - AP2 |
( ) ( ) |
---+--- ---+--- |
| | |
AP3-| AP4-| HOT STANDBY
| | |
+----+ +----+ |
|DC-D| |DC-C|<-------------
+----+ +----+
Figure 19: Preplanned Endpoint Migration
7.2. On-the-Fly Endpoint Migration
ngl this one is the dynamic cousin of the preplanned version π¦ the migration isn't planned ahead of time, it's decided based on what the network is doing in the moment. the MDSC keeps an eye on the network (based on the VN SLA) and tells the CNC when some other destination AP would be a better pick based on the network parameters. then the CNC should tell the MDSC when it's a good time to update the VN with the new AP, if that update is needed. it's a whole vibe of watching and waiting for the perfect moment π
8. Manageability Considerations π
so the whole point of ACTN is to manage traffic engineered resources and give customers a set of mechanisms to request virtual connectivity across server-network resources π ACTN supports multiple customers, and each one gets its own view and control of a virtual network built on the server network. the network operator has to partition (or "slice") their network resources and manage them accordingly, which is a lot of responsibility, respect π
the ACTN platform itself also needs to support the request, response, and reservations of client- and network-layer connectivity. it also needs to provide performance monitoring and control of TE resources. the management requirements can be sorted into these categories:
- Management of external ACTN protocols
- Management of internal ACTN interfaces/protocols
- Management and monitoring of ACTN components
- Configuration of policy to be applied across the ACTN system
the ACTN framework and interfaces are defined to enable traffic engineering for virtual network services and connectivity services. network operators might have other Operations, Administration, and Maintenance (OAM) tasks for service fulfillment, optimization, and assurance beyond traffic engineering π but the realization of OAM beyond abstraction and control of TE networks is not discussed in this document, so we're leaving that one alone π
8.1. Policy
policy is a super important part of ACTN control and management π₯ policies get used through the components and interfaces while the service is being deployed, so the service stays compliant with agreed-upon policy factors and variations (often described in SLAs). these include, but are not limited to, connectivity, bandwidth, geographical transit, technology selection, security, resilience, and economic cost.
depending on how the ACTN architecture is deployed, some policies may have local or global significance π§ so some policies might only be scoped to one ACTN component, while others have a broader reach and interact with multiple ACTN components. here are two examples:
- A local policy might limit the number, type, size, and scheduling of virtual network services a customer may request via its CNC. this type of policy would be implemented locally on the MDSC.
- A global policy might constrain certain customer types (or specific customer applications) to only use certain MDSCs and be restricted to physical network types managed by the PNCs. a global policy agent would govern these types of policies.
the objective of this section is to talk about the applicability of ACTN policy: requirements, components, interfaces, and examples π¦ this section gives an analysis and does not mandate a specific method for enforcing policy, or the type of policy agent that would be responsible for propagating policies across the ACTN components. it does highlight examples of how policy may be applied in the context of ACTN, but further discussion in an applicability or solution-specific document is expected to be needed. iykyk π«Ά
8.2. Policy Applied to the Customer Network Controller
a virtual network service for a customer application gets requested by the CNC π the request reflects the application requirements and specific service needs, including bandwidth, traffic type, and survivability. on top of that, application access and the type of virtual network service the CNC requests will need to adhere to specific access control policies. gatekeeping era π
8.3. Policy Applied to the Multi-Domain Service Coordinator
the key objective of the MDSC is to support the customer's expression of the application connectivity request via its CNC, as a set of desired business needs. so policy plays a big role here π
once authorized, the virtual network service gets instantiated via the CNC-MDSC Interface (CMI). it reflects the customer application, connectivity requirements, and specific service-transport needs πΈ the CNC and the MDSC components have agreed-upon connectivity endpoints, and using those endpoints should be defined as a policy expression when setting up or augmenting virtual network services. to make sure permissible endpoints are defined for CNCs and applications, the MDSC needs to maintain a registry of permissible connection points for CNCs and application types π
conflicts can happen when virtual network service optimization criteria are in competition π for example, to meet objectives for service reachability, a request might need an interconnection point between multiple physical networks. but that could break a confidentiality policy requirement of a specific type of end-to-end service. so an MDSC may have to balance a number of the constraints on a service request, and between different requested services. it may also have to balance requested services with operational norms for the underlying physical networks βοΈ this balancing can be resolved using configured policy and using hard and soft policy constraints. it's a juggling act, honestly π€ΉββοΈ
8.4. Policy Applied to the Provisioning Network Controller
the PNC is responsible for configuring the network elements, monitoring physical network resources, and exposing connectivity (direct or abstracted) to the MDSC π οΈ so it's expected that policy will dictate what connectivity information gets exchanged on the MPI.
policy interactions can come up when a PNC figures out it can't compute a requested path from the MDSC, or notices (per a locally configured policy) that the network is low on resources. for example, the capacity on key links might have run out πͺ« in either case, the PNC will be required to notify the MDSC, which may (again per policy) act to construct a virtual network service across another physical network topology. rerouting arc unlocked π¦
furthermore, additional forms of policy-based resource management will be required to provide VNS performance, security, and resilience guarantees π this will likely be implemented via a local policy agent and additional protocol methods. that's the whole glow-up for this section β¨
9. Security Considerations πβ¨
okay bestie, security is where things get SERIOUS π. ACTN is all about managing TE networks, and that means requesting and controlling resources π, keeping the information confidential π€«, and making sure the functions stay available π¨. Like, all three should be top priority when you deploy and run ACTN platforms. No cap.
Lots of the distributed ACTN functional components are required, so implementations should seriously consider encrypting data flowing between components π. This matters most when they run on remote nodes, and it doesn't matter whether the flows go over external or internal network interfaces. Encrypt all the things π .
The ACTN security talk splits into two categories, which we'll go through in the subsections below:
- Interface between the Customer Network Controller and Multi-Domain Service Coordinator (MDSC), CNC-MDSC Interface (CMI)
- Interface between the Multi-Domain Service Coordinator and Provisioning Network Controller (PNC), MDSC-PNC Interface (MPI)
From a security and reliability point of view, ACTN can run into a LOT of risks π¬. We're talking malicious attacks and rogue elements trying to hook into ACTN components. Some components are a single point of failure and threat vector π, and they also have to handle policy conflicts and eavesdropping between components. Yikes.
So the takeaway is that all protocols used to realize the ACTN framework should have rich security features π‘οΈ, and customer, application and network data should live in encrypted data stores π. Extra security risks might still exist, so the specifics of which security functions and protocols to use are better described in documents that are specific to a use case and environment π.
9.1. CNC-MDSC Interface (CMI) π
The MDSC stores data that reveals the details of the virtual network services and which CNC and customer/application is using the resource π. So that stored data has to be treated as a candidate for encryption π.
CNC access rights to an MDSC must be managed ποΈ. The MDSC has to allocate resources properly. It's also worth thinking about how to prevent policy conflicts, resource waste, and denial-of-service attacks on the MDSC from rogue CNCs π«.
The CMI will likely be an external protocol interface π. Each CNC connecting to the MDSC will need suitable authentication and authorization, especially since these are likely to be implemented by different organizations on separate functional nodes π§βπ€βπ§. Using AAA-based mechanisms would also give you role-based authorization, so only authorized CNCs can access the different MDSC functions. Main character gatekeeping energy π.
9.2. MDSC-PNC Interface (MPI) π
When the MDSC has to interact with multiple (distributed) PNCs, a PKI-based mechanism is suggested π. An example is building a TLS or HTTPS connection between the MDSC and the PNCs, which makes sure the physical network layer control components can trust the MDSC π«Ά. The trust anchors for the PKI can be configured to use a smaller (and potentially non-intersecting) set of trusted Certificate Authorities (CAs) than the Web PKI does, which is giving very curated guest list π.
Which MDSC a PNC exports topology information to, and the level of detail (full or abstracted), should also be authenticated π§Ύ. Specific access restrictions and topology views should be configurable and/or policy based βοΈ.
10. IANA Considerations π§
This document has no IANA actions. Nothing to register, nothing to update, we're chilling πΈ.
11. Informative References π
Here's the reading list for the nerdy stuff π€. Each reference keeps its original details:
[ACTN-REQ]Lee, Y., Ceccarelli, D., Miyasaka, T., Shin, J., and K. Lee, "Requirements for Abstraction and Control of TE Networks", Work in Progress, draft-ietf-teas-actn-requirements-09, March 2018.[ACTN-YANG]Lee, Y., Dhody, D., Ceccarelli, D., Bryskin, I., Yoon, B., Wu, Q., and P. Park, "A Yang Data Model for ACTN VN Operation", Work in Progress, draft-ietf-teas-actn-vn-yang-01, June 2018.[ONF-ARCH]Open Networking Foundation, "SDN Architecture", Issue 1.1, ONF TR-521, June 2016.[RFC2702]Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. McManus, "Requirements for Traffic Engineering Over MPLS", RFC 2702, DOI 10.17487/RFC2702, September 1999, <https://www.rfc-editor.org/info/rfc2702>.[RFC3945]Mannie, E., Ed., "Generalized Multi-Protocol Label Switching (GMPLS) Architecture", RFC 3945, DOI 10.17487/RFC3945, October 2004, <https://www.rfc-editor.org/info/rfc3945>.[RFC4655]Farrel, A., Vasseur, J., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, August 2006, <https://www.rfc-editor.org/info/rfc4655>.[RFC5654]Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed., Sprecher, N., and S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, DOI 10.17487/RFC5654, September 2009, <https://www.rfc-editor.org/info/rfc5654>.[RFC7149]Boucadair, M. and C. Jacquenet, "Software-Defined Networking: A Perspective from within a Service Provider Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014, <https://www.rfc-editor.org/info/rfc7149>.[RFC7926]Farrel, A., Ed., Drake, J., Bitar, N., Swallow, G., Ceccarelli, D., and X. Zhang, "Problem Statement and Architecture for Information Exchange between Interconnected Traffic-Engineered Networks", BCP 206, RFC 7926, DOI 10.17487/RFC7926, July 2016, <https://www.rfc-editor.org/info/rfc7926>.[RFC8283]Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An Architecture for Use of PCE and the PCE Communication Protocol (PCEP) in a Network with Central Control", RFC 8283, DOI 10.17487/RFC8283, December 2017, <https://www.rfc-editor.org/info/rfc8283>.[RFC8309]Wu, Q., Liu, W., and A. Farrel, "Service Models Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018, <https://www.rfc-editor.org/info/rfc8309>.[TE-TOPO]Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and O. Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", Work in Progress, draft-ietf-teas-yang-te-topo-18, June 2018.
Appendix A. Example of MDSC and PNC Functions Integrated in a Service/Network Orchestrator π§©
This section gives an example of a possible deployment scenario, where the Service/Network Orchestrator can include the PNC functionalities for domain 2 and the MDSC functionalities. Picture it like a little diagram party π:
Customer
+-------------------------------+
| +-----+ |
| | CNC | |
| +-----+ |
+-------|-----------------------+
|
Service/Network | CMI
Orchestrator |
+-------|------------------------+
| +------+ MPI +------+ |
| | MDSC |---------| PNC2 | |
| +------+ +------+ |
+-------|------------------|-----+
| MPI |
Domain Controller | |
+-------|-----+ |
| +-----+ | | SBI
| |PNC1 | | |
| +-----+ | |
+-------|-----+ |
v SBI v
------- -------
( ) ( )
- - - -
( ) ( )
( Domain 1 )----( Domain 2 )
( ) ( )
- - - -
( ) ( )
------- -------
Contributors π«Ά
Huge thanks to these amazing people who helped build this π:
Adrian Farrel
Old Dog Consulting
Email: adrian@olddog.co.uk
Italo Busi
Huawei
Email: Italo.Busi@huawei.com
Khuzema Pithewan
Peloton Technology
Email: khuzemap@gmail.com
Michael Scharf
Nokia
Email: michael.scharf@nokia.com
Luyuan Fang
eBay
Email: luyuanf@gmail.com
Diego Lopez
Telefonica I+D
Don Ramon de la Cruz, 82
28006 Madrid
Spain
Email: diego@tid.es
Sergio Belotti
Nokia
Via Trento, 30
Vimercate
Italy
Email: sergio.belotti@nokia.com
Daniel King
Lancaster University
Email: d.king@lancaster.ac.uk
Dhruv Dhody
Huawei Technologies
Divyashree Techno Park, Whitefield
Bangalore, Karnataka 560066
India
Email: dhruv.ietf@gmail.com
Gert Grammel
Juniper Networks
Email: ggrammel@juniper.net
Authors' Addresses π
Daniele Ceccarelli (editor)
Ericsson
Torshamnsgatan, 48
Stockholm
Sweden
Email: daniele.ceccarelli@ericsson.com
Young Lee (editor)
Huawei Technologies
5340 Legacy Drive
Plano, TX 75023
United States of America
Email: leeyoung@huawei.com
π¦ where this page comes from
- ietf: rfc8453 2018-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms