Internet-Draft | VPN+ Framework | July 2023 |
Dong, et al. | Expires 8 January 2024 | [Page] |
This document describes the framework for Enhanced Virtual Private Network (VPN+) to support the needs of applications with specific traffic performance requirements (e.g., low latency, bounded jitter). VPN+ leverages the VPN and Traffic Engineering (TE) technologies and adds characteristics that specific services require beyond those provided by conventional VPNs. Typically, VPN+ will be used to underpin network slicing, but could also be of use in its own right providing enhanced connectivity services between customer sites. This document also provides an overview of relevant technologies in different network layers, and identifies some areas for potential new work.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 8 January 2024.¶
Copyright (c) 2023 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 of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Virtual Private Networks (VPNs) have served the industry well as a means of providing different groups of users with logically isolated connectivity over a common network. The common (base) network that is used to provide the VPNs is often referred to as the underlay, and the VPN is often called an overlay.¶
Customers of a network operator may request connectivity services with advanced characteristics, such as low latency guarantees, bounded jitter, or isolation from other services or customers so that changes in some other services (e.g., changes in network load, or events such as congestion or outages) have no or only acceptable effect on the observed throughput or latency of the services delivered to the customer. These services are referred to as "enhanced VPNs" (known as VPN+) in that they are similar to VPN services providing the customer with the required connectivity, but in addition they have enhanced characteristics.¶
The concept of network slicing has gained traction driven largely by needs surfacing from 5G [NGMN-NS-Concept] [TS23501] [TS28530]. According to [TS28530], a 5G end-to-end network slice consists of three major types of network segments: Radio Access Network (RAN), Transport Network (TN), and Mobile Core Network (CN). The transport network provides the connectivity between different entities in RAN and CN segments of a 5G end-to-end network slice, with specific performance commitments.¶
[I-D.ietf-teas-ietf-network-slices] defines the terminologies and the characteristics of IETF Network Slices. It also discusses the general framework, the components and interfaces for requesting and operating IETF Network Slices. An IETF Network Slice Service enables connectivity between a set of Service Demarcation Points (SDPs) with specific Service Level Objectives (SLOs) and Service Level Expectations (SLEs) over a common underlay network. An IETF Network Slice can be realized as a logical network connecting a number of endpoints and is associated with a set of shared or dedicated network resources that are used to satisfy the Service Level Objectives (SLOs) and Service Level Expectations (SLEs) requirements. In this document (which is solely about IETF technologies) we refer to an "IETF Network Slice" simply as a "network slice": a network slice is considered as one target use case of VPN+.¶
A network slice may involve multiple technologies (e.g., IP or Optical) and may span multiple administrative domains. Depending on the customer's requirements, the traffic that belongs to a network slice could be isolated from other network slices in terms of data plane, control plane, and management plane resources.¶
Network slicing can build on the concepts of resource management, network virtualization, and abstraction to provide performance assurance, flexibility, programmability, and modularity. It may use techniques such as Software Defined Networking (SDN) [RFC7149], network abstraction [RFC7926], and Network Function Virtualization (NFV) [RFC8172] [RFC8568] to create multiple logical (virtual) networks, each tailored for use by a set of services or by one tenant or a group of tenants that share the same or similar service requirements. These logical networks are created on top of a common underlay network. How the network slices are engineered is deployment-specific.¶
The requirements of VPN+ services cannot simply be met by overlay networks, as VPN+ services require tighter coordination and integration between the overlay and the underlay networks.¶
In the overlay network, VPN has been defined as the network construct to provide the required connectivity for different services or customers. Multiple VPN flavors can be considered to create that construct [RFC4026]. In the underlay network, this document introduces the concept Virtual Transport Network (VTN). A VTN is a virtual underlay network that is associated with a network topology, and is allocated with a set of dedicated or shared resources from the underlay physical network.¶
A VPN+ service is realized by integrating a VPN in the overlay and a VTN in the underlay. In doing so, a VPN+ service can provide enhanced properties, such as guaranteed resources and assured or predictable performance. A VPN+ service may also involve a set of service functions (Section 1.4 of [RFC7665]). VPN+ techniques can be used to instantiate a network slice service, and they can also be of use in general cases to provide enhanced connectivity services between customer sites or service endpoints.¶
[I-D.ietf-teas-ietf-network-slices] introduces the concept of Network Resource Partition (NRP) as a subset of resources and associated policies in the underlay network that can reliably support specific IETF Network Slice Service Level Agreements (SLAs). An NRP can be associated with a network topology to select or specify the set of links and nodes involved. NRP can be seen as an instantiation of VTN in the context of network slicing.¶
It is not envisaged that VPN+ services will replace conventional VPN services. VPN services will continue to be delivered using existing mechanisms and can co-exist with VPN+ services. Whether enriched VPN+ features are added to an active VPN service is deployment specific.¶
This document describes a framework for using existing, modified, and potential new technologies as components to provide VPN+ services. Specifically, this document provides:¶
The required layered network structure to achieve these objectives is shown in Section 4.1.¶
In this document, the relationship of the four terms "VPN", "VPN+", "VTN", and "Network Slice" are as follows:¶
The term "tenant" is used in this document to refer to the customers of the VPN+ services.¶
The following terms are also used in this document. Some of them are newly defined, some others reference existing definitions.¶
This section provides an overview of the requirements of a VPN+ service.¶
Performance guarantees are committed by network operators to their customers in relation to the services delivered to the customers. They are usually expressed in SLAs as a set of SLOs.¶
There are several kinds of performance guarantees, including guaranteed maximum packet loss, guaranteed maximum delay, and guaranteed delay variation. Note that these guarantees apply to conformance traffic; out-of-profile traffic will be handled according to a separate agreement with the customer (see, for example, Section 3.6 of [RFC7297]).¶
Guaranteed maximum packet loss is usually addressed by setting packet priorities, queues size, and discard policy. However, this becomes more difficult when the requirement is combined with latency requirements. The limiting case is zero congestion loss, and that is the goal of Deterministic Networking (DetNet) [RFC8655] and Time-Sensitive Networking (TSN) [TSN]. In modern optical networks, loss due to transmission errors already approaches zero, but there is the possibility of failure of the interface or the fiber itself. This type of fault can be addressed by some form of signal duplication and transmission over diverse paths.¶
Guaranteed maximum latency is required by a number of applications, particularly real-time control applications and some types of augumented reality and virtual reality (AR/VR) applications. DetNet techniques may be considered [RFC8655], however additional methods of enhancing the underlay to better support the delay guarantees may be needed, and these methods will need to be integrated with the overall service provisioning mechanisms.¶
Guaranteed maximum delay variation is a performance guarantee that may also be needed. [RFC8578] calls up a number of cases that need this guarantee, for example in electrical utilities. Time transfer is an example service that needs a performance guarantee, although it is in the nature of time that the service might be delivered by the underlay as a shared service and not provided through different VPN+s. Alternatively, a dedicated VPN+ might be used to provide time transfer as a shared service.¶
This suggests that a spectrum of service guarantees need to be considered when designing and deploying a VPN+. For illustration purposes and without claiming to be exhaustive, four types of services are considered:¶
It is noted that some service may have mixed requirements of the above, e.g., both assured bandwidth and guaranteed latency can be required.¶
The best effort service is the basic connectivity service that can be provided by current VPNs.¶
An assured bandwidth service is a connectivity service in which the bandwidth over some period of time is assured. This could be achieved either simply based on a best effort service with over-capacity provisioning, or it can be based on MPLS traffic engineered label switching paths (TE-LSPs) with bandwidth reservations. Depending on the technique used, however, the bandwidth is not necessarily assured at any instant. Providing assured bandwidth to VPNs, for example by using per-VPN TE-LSPs, is not widely deployed at least partially due to scalability concerns. The more common approach of aggregating multiple VPNs onto common TE-LSPs results in shared bandwidth and so may reduce the assurance of bandwidth to any one service. VPN+ aims to provide a more scalable approach for such services.¶
A guaranteed latency service has an upper bound to edge-to-edge latency. Assuring the upper bound is sometimes more important than minimizing latency. There are several new technologies that provide some assistance with this performance guarantee. Firstly, the IEEE TSN project [TSN] introduces the concept of scheduling of delay- and loss-sensitive packets. FlexE [FLEXE] is also useful to help provide a guaranteed upper bound to latency. DetNet is also of relevance in assuring an upper bound of end-to-end packet latency in network layer. The use of these technologies to deliver VPN+ services needs to be considered when a guaranteed latency service is required.¶
An enhanced delivery service is a connectivity service in which the underlay network (at Layer 3) needs to ensure to eliminate or minimize packet loss in the event of equipment or media failures. This may be achieved by delivering a copy of the packet through multiple paths. Such a mechanism may need to be used for VPN+ services.¶
There is a fine distinction between how isolation is requested by a customer and how it is delivered by the service provider. This section examines the requirements and realization of isolation in VPN+.¶
Isolation is a generic term that can be used to describe the requirements on separating the services of different customers or different types in the network. In the context of network slicing, isolation is defined as an SLE of the network slice service (Section 8.1 of [I-D.ietf-teas-ietf-network-slices]), which is one element of the SLA. There can be different types of isolation requested by the customers. A customer may care about disruption caused by other services, contamination by other traffic, or delivery of their traffic to the wrong destinations. These considerations are classified into two distinct service isolation requirements: traffic/routing isolation and interference isolation. Traffic isolation does not guarantee avoidance of service interference, and vice versa.¶
A customer may want to specify (and thus pay for) the type of isolation provided by the service provider. Some customers (banking, for example) may have strict requirements on how their flows are handled when delivered over a shared network. Some professional services are used to rely on specific certifications and audits to ensure the compliancy of a network with the isolation requirements, specifically prevent data leak.¶
With traffic isolation, a customer expects that the service traffic cannot be received by other customers in the same network. In [RFC4176], traffic isolation is mentioned as one of the requirements of VPN customers. Traffic isolation is also described in Section 3.8 of [RFC7297]. There can be different expectations on traffic isolation. For example, a customer may further request the protection of their traffic by requesting specific encryption schemes at the VPN+ network access and also when transported between PEs.¶
A customer may also desire that their service traffic is not impacted by the existence of other customers or services in the same network. For example, even if their SLOs are being correctly met, they would prefer to not experience unexpected changes in traffic delivery behavior caused by other users of the network. This may also help to simplify the management and operation of the customer's service, as they do not need to take the impacts from other services into consideration. A customer might expect a level of service which is behaviorally equivalent to the use of a dedicated private physical network. Alternatively, a customer might identify a specific set of customers or service types that they do not want impact on their traffic. This SLE is called interference isolation.¶
Note that interference isolation may be easier to deliver in some network technologies than in others. In networks where interference isolation is impractical, it would be unlikely that the operator would offer VPN+ services that request that SLE.¶
A VPN+ service customer may request isolation together with other operator defined service characteristics. The exact details about the expected behavior need to be specified in the service request, so that meaningful service assurance and fulfillment feedback can be exposed to the customers. It is out of the scope of this document to elaborate the service modeling considerations.¶
A service provider may translate the requirements related to isolation into distinct engineering rules in its network. Honoring the service requirement may involve tweaking a set of QoS, TE, security, and planning tools, while traffic isolation will involve adequately configuring routing and authorization capabilities.¶
Concretely, there are many existing techniques which can be used to provide traffic isolation, such as IP and MPLS VPNs or other multi-tenant virtual network techniques. Interference isolation can be achieved in the network by various forms of resource management and reservation techniques, such as network capacity planning, allocating dedicated network resources, traffic policing or shaping, prioritizing in using shared network resources etc., so that a subset of bandwidth, buffers, and queueing resources can be available in the underlay network to support the VPN+ services.¶
To provide the required isolation, network resources may need to be reserved in the data plane of the underlay network and dedicated to traffic from a specific VPN+ service or a specific group of VPN+ services. This may introduce scalability concerns both in the implementation (as each VPN+ may need to be tracked in the network) and in how many resources need to be reserved and how the services are mapped to the resources (Section 4.4). Thus, some trade-off needs to be considered to provide the isolation between VPN+ services while still allowing reasonable resource utilization.¶
A dedicated physical network can be used to meet stricter SLO and SLE requests, at the cost of allocating resources on a long-term and end-to-end basis. On the other hand, where adequate isolation can be achieved at the packet layer, this permits the resources to be shared amongst a group of services and only dedicated to a service on a temporary basis. By combining conventional VPNs and TE/QoS/security advances, VPN+ offers a variety of means to honor customer's isolation requirements.¶
The way to achieve the characteristics demand of a VPN+ service (such as guaranteed or predictable performance) is by integrating the overlay VPN with a particular set of resources in the underlay network which are allocated to meet the service requirements. This needs to be done in a flexible and scalable way so that it can be widely deployed in operators' networks to support a good number of VPN+ services.¶
Taking mobile networks and in particular 5G into consideration, the integration of the network with service functions is likely a requirement. The IETF's work on service function chaining (SFC) [RFC7665] provides a foundation for this. Service functions in the underlay network can be considered as part of the VPN+ services, which means the service functions may need to be an integral part of the corresponding VTN. The details of the integration between service functions and VPN+ are out of the scope of this document.¶
Integration of the overlay VPN and the underlay network resources and service functions does not always need to be a direct mapping. As described in [RFC7926], abstraction is the process of applying policy to a set of information about a traffic engineered (TE) network to produce selective information that represents the potential ability to connect across the network. The process of abstraction presents the connectivity graph in a way that is independent of the underlying network technologies, capabilities, and topology so that the graph can be used to plan and deliver network services in a uniform way.¶
With the approach of abstraction, VPN+ may be built on top of an abstracted topology that represents the connectivity capabilities of the underlay TE based network as described in the framework for Abstraction and Control of TE Networks (ACTN) [RFC8453] as discussed further in Section 5.5.¶
VPN+s need to be created, modified, and removed from the network according to service demands (including scheduled requests). A VPN+ that requires interference isolation (Section 3.2.1) must not be disrupted by the instantiation or modification of another VPN+ service. As discussed in Section 3.1 of [RFC4176], the assessment of traffic isolation is part of the management of a VPN service. Determining whether modification of a VPN+ can be disruptive to that VPN+ and whether the traffic in flight will be disrupted can be a difficult problem.¶
Dynamic changes both to the VPN+ and to the underlay network need to be managed to avoid disruption to services that are sensitive to changes in network performance.¶
In addition to non-disruptively managing the network during changes such as the inclusion of a new VPN+ service endpoint or a change to a link, VPN+ traffic might need to be moved because of changes to traffic patterns and volumes. This means that during the lifetime of a VPN+ service, closed-loop optimization is needed so that the delivered service always matches the ordered service SLA.¶
The data plane aspects of this problem are discussed further in Section 5.1, Section 5.2, and Section 5.3.¶
The control plane aspects of this problem are discussed further in Section 5.4.¶
The management plane aspects of this problem are discussed further in Section 5.5.¶
In many cases the customers are delivered with VPN+ services without information about the underlying VTNs. However, depending on the agreement between the operator and the customer, in some cases the customer may also be provided with some information about the underlying VTNs. Such information can be filtered or aggregated according to the operator's policy. This allows the customer of a VPN+ service to have some visibility and even control over how the underlying topology and resources of the VTN are used. For example, the customers may be able to specify the path or path constraints within the VTN for specific traffic flows of their VPN+ service. Depending on the requirements, a VPN+ customer may have their own network controller, which may be provided with an interface to the control or management system run by the network operator. Note that such a control is within the scope of the customer's VPN+ service; any additional changes beyond this would require some intervention by the network operator.¶
A description of the control plane aspects of this problem are discussed further in Section 5.4. A description of the management plane aspects of this feature can be found in Section 5.5.¶
The concept of VPN+ can be applied to any existing and future multi-tenancy overlay technologies including but not limited to:¶
Where such VPN service types need enhanced isolation and delivery characteristics, the technologies described in Section 5 can be used to tweak the underlay to provide the required enhanced performance.¶
In some scenarios, a VPN+ service may span multiple network domains. A domain is considered to be any collection of network elements under the responsibility of the same administrative entity, for example, an Autonomous System (AS). In some domains the network operator may manage a multi-layered network, for example, a packet network over an optical network. When VPN+ services are provisioned in such network scenarios, the technologies used in different network planes (data plane, control plane, and management plane) need to provide mechanisms to support multi-domain and multi-layer coordination and integration, so as to provide the required service characteristics for different VPN+ services, and improve network efficiency and operational simplicity. The mechanisms for multi-domain VPNs [RFC4364] may be reused, and some enhancement may be needed to meet the additional requirements of VPN+ services.¶
Multiple VPN+ services can be provided by a common network infrastructure. Each VPN+ service is provisioned with an overlay VPN and mapped to a corresponding VTN, which has a specific set of network resources and service functions allocated in the underlay to satisfy the needs of the customer. One VTN may support one of more VPN+ services. The integration between the overlay connectivity and the underlay resources ensures the required isolation between different VPN+ services, and achieves the guaranteed performance for different customers.¶
The VPN+ architecture needs to be designed with consideration given to:¶
These topics are expanded below.¶
The enhanced data plane provides:¶
The control plane:¶
The management plane provides:¶
Operations, Administration, and Maintenance (OAM) provides:¶
Telemetry provides:¶
Provides the mechanisms to collect network information about the operation of the data plane, control plane, and management plane. More specifically, telemetry provides the mechanisms to collect network data:¶
The layered architecture of VPN+ is shown in Figure 1.¶
Underpinning everything is the physical network infrastructure layer which provides the underlying resources used to provision the separate VTNs. This layer is responsible for the partitioning of link and/or node resources for different VTNs. Each subset of link or node resource can be considered as a virtual link or virtual node used to build the VTNs.¶
Various components and techniques discussed in Section 5 can be used to enable resource partitioning of the physical network infrastructure, such as FlexE, TSN, dedicated queues, etc. These partitions may be physical or virtual so long as the SLA required by the higher layers is met.¶
Based on the set of network resource partitions provided by the physical network infrastructure, multiple VTNs can be created, each with a set of dedicated or shared network resources allocated from the physical underlay network, and each can be associated with a customized logical network topology, so as to meet the requirements of different VPN+ services or different groups of VPN+ services. According to the associated logical network topology, each VTN needs to be instantiated on a set of network nodes and links which are involved in the logical topology. And on each node or link, each VTN is associated with a set of local resources which are allocated for the processing of traffic in the VTN. The VTN provides the integration between the logical network topology and the required underlying network resources.¶
According to the service requirements of connectivity, performance and isolation, etc., VPN+ services can be mapped to the appropriate VTNs in the network. Different VPN+ services can be mapped to different VTNs, while it is also possible that multiple VPN+ services are mapped to the same VTN. Thus, the VTN is an essential scaling technique, as it has the potential of eliminating per-service per-path state from the network. In addition, when a group of VPN+ services are mapped to a single VTN, only the network state of the single VTN needs to be maintained in the network (see Section 4.4 for more information).¶
The network controller is responsible for creating a VTN, instructing the involved network nodes to allocate network resources to the VTN, and provisioning the VPN+ services on the VTN. A distributed control plane may be used for distributing the VTN resource and topology attributes among nodes in the VTN.¶
The process used to create VTNs and to allocate network resources for use by the VTNs needs to take a holistic view of the needs of all of the service provider's customers and to partition the resources accordingly. However, within a VTN these resources can, if required, be managed via a dynamic control plane. This provides the required scalability and isolation with some flexibility.¶
At the VPN service level, the required connectivity for an MP2MP VPN service is usually full or partial mesh. To support such VPN services, the corresponding VTN also needs to provide MP2MP connectivity among the end points.¶
Other service requirements may be expressed at different granularities, some of which can be applicable to the whole service, while some others may only be applicable to some pairs of end points. For example, when a particular level of performance guarantee is required, the point-to-point path through the underlying VTN of the VPN+ service may need to be specifically engineered to meet the required performance guarantee.¶
Although a lot of the traffic that will be carried over VPN+ will likely be IP based, the design must be capable of carrying other traffic types, in particular Ethernet traffic. This is easily accomplished through the various pseudowire (PW) techniques [RFC3985].¶
Where the underlay is MPLS, Ethernet traffic can be carried over VPN+ encapsulated according to the method specified in [RFC4448]. Where the underlay is IP, Layer Two Tunneling Protocol - Version 3 (L2TPv3) [RFC3931] can be used with Ethernet traffic carried according to [RFC4719]. Encapsulations have been defined for most of the common layer-2 types for both PW over MPLS and for L2TPv3.¶
VPNs are instantiated as overlays on top of an operator's network and offered as services to the operator's customers. An important feature of overlays is that they can deliver services without placing per-service state in the core of the underlay network.¶
VPN+ may need to install some additional state within the network to achieve the features that they require. Solutions must consider minimizing and controlling the scale of such state, and deployment architectures should constrain the number of VPN+ services so that the additional state introduced to the network is acceptable and under control. It is expected that the number of VPN+ services will be small at the beginning, and even in the future the number of VPN+ services will be fewer than conventional VPNs because existing VPN techniques are good enough to meet the needs of most existing VPN-type services.¶
In general, it is not required that the state in the network be maintained in a 1:1 relationship with the VPN+ services. It will usually be possible to aggregate a set or group of VPN+ services so that they share the same VTN and the same set of network resources (much in the same way that current VPNs are aggregated over transport tunnels) so that collections of VPN+ services that require the same behavior from the network in terms of resource reservation, latency bounds, resiliency, etc. can be grouped together. This is an important feature to assist with the scaling characteristics of VPN+ deployments.¶
[I-D.ietf-teas-nrp-scalability] provides more details of scalability considerations for the network resource partitions used to instantiate VTNs, and Section 7 includes a greater discussion of scalability considerations.¶
A VPN is a virtual network created by applying a demultiplexing technique to the underlying network (the underlay) to distinguish the traffic of one VPN from that of another. The connections of VPN are supported by a set of underlay paths. A path that travels by other than the shortest path through the underlay normally requires state to specify that path. The state of the paths could be applied to the underlay through the use of the RSVP-TE signaling protocol, or directly through the use of an SDN controller. Based on Segment Routing, state could be maintained at the ingress node of the path, and carried in the data packet. Other techniques may emerge as this problem is studied. This state gets harder to manage as the number of paths increases. Furthermore, as we increase the coupling between the underlay and the overlay to support the VPN+ service, this state is likely to increase further. We cannot, for example, share the paths and network resource between VPN+ services which require interference isolation.¶
VTN can be used to provide a group of virtual underlay paths (VTP) with a common set of network resources. Through the use of VTNs, a subset of underlay network resource can be either dedicated for a particular VPN+ service or shared among a group of VPN+ services. This section describes the candidate technologies in different network planes which can be used to build VTNs.¶
Several candidate layer-2 packet- or frame-based forwarding plane mechanisms which can provide the required resource isolation and performance guarantees are described in the following sections.¶
FlexE [FLEXE] provides the ability to multiplex channels over an Ethernet link to create point-to-point fixed-bandwidth connections in a way that provides interference isolation. FlexE also supports bonding links to create larger links out of multiple low-capacity links.¶
However, FlexE is only a link level technology. When packets are received by the downstream node, they need to be processed in a way that preserves that isolation in the downstream node. This in turn requires a queuing and forwarding implementation that preserves the end-to-end isolation.¶
If different FlexE channels are used for different services, then no sharing is possible between the FlexE channels. This means that it may be difficult to dynamically redistribute unused bandwidth to lower priority services in another FlexE channel. If one FlexE channel is used by one customer, the customer can use some methods to manage the relative priority of their own traffic in the FlexE channel.¶
DiffServ based queuing systems are described in [RFC2475] and [RFC4594]. This approach is not sufficient to provide isolation for VPN+ services because DiffServ does not provide enough markers to differentiate between traffic of a large number of VPN+ services. Nor does DiffServ offer the range of service classes that each VPN+ service needs to provide to its tenants. This problem is particularly acute with an MPLS underlay, because MPLS only provides eight traffic classes.¶
In addition, DiffServ, as currently implemented, mainly provides per-hop priority-based scheduling, and it is difficult to use it to achieve quantitative resource reservation for different VPN+ services.¶
To address these problems and to reduce the potential interference between VPN+ services, it would be necessary to steer traffic to dedicated input and output queues per VPN+ service or per group of VPN+ services: some routers have a large number of queues and sophisticated queuing systems which could support this, while some routers may struggle to provide the granularity and level of isolation required by the applications of VPN+.¶
Time Sensitive Networking (TSN) [TSN] is an IEEE project to provide a method of carrying time sensitive information over Ethernet. It introduces the concept of packet scheduling where a packet stream may be given a time slot guaranteeing that it experiences no queuing delay or increase in latency beyond the very small scheduling delay. The mechanisms defined in TSN can be used to meet the requirements of time sensitive traffic flows of VPN+ service.¶
Ethernet can be emulated over a layer-3 network using an IP or MPLS pseudowire. However, a TSN Ethernet payload would be opaque to the underlay and thus not treated specifically as time sensitive data. The preferred method of carrying TSN over a layer-3 network is through the use of deterministic networking as explained in Section 5.2.1.¶
This section considers the problem of VPN+ service differentiation and the representation of underlying network resources in the network layer. More specifically, it describes the possible data plane mechanisms to determine the network resources and the logical network topology or paths associated with a VTN.¶
Deterministic Networking (DetNet) [RFC8655] is a technique being developed in the IETF to enhance the ability of layer-3 networks to deliver packets more reliably and with greater control over the delay. The design cannot use re-transmission techniques such as TCP since that can exceed the delay tolerated by the applications. DetNet pre-emptively sends copies of the packet over various paths to minimize the chance of all copies of a packet being lost. It also seeks to set an upper bound on latency, but the goal is not to minimize latency. Detnet can be realized over IP data plane [RFC8939] or MPLS data plane [RFC8964], and may be used to provide Virtual Transport Paths (VTPs) for VPN+ services.¶
MPLS-TE [RFC2702][RFC3209] introduces the concept of reserving end-to-end bandwidth for a TE-LSP, which can be used to provide a point-to-point Virtual Transport Path (VTP) across the underlay network to support VPN services. VPN traffic can be carried over dedicated TE-LSPs to provide reserved bandwidth for each specific connection in a VPN, and VPNs with similar behavior requirements may be multiplexed onto the same TE-LSPs. Some network operators have concerns about the scalability and management overhead of MPLS-TE system, especially with regard to those systems that use an active control plane, and this has lead them to consider other solutions for traffic engineering in their networks.¶
Segment Routing (SR) [RFC8402] is a method that prepends instructions to packets at the head-end of a path. These instructions are used to specify the nodes and links to be traversed, and allow the packets to be routed on paths other than the shortest path. By encoding the state in the packet, per-path state is transitioned out of the network. SR can be instantiated using MPLS data plane (SR-MPLS) or IPv6 data plane (SRv6).¶
An SR traffic engineered path operates with a granularity of a link. Hints about priority are provided using the Traffic Class (TC) field in the packet header. However, to achieve the performance and isolation characteristics that are sought by VPN+ customers, it will be necessary to steer packets through specific virtual links and/or queues on the same link and direct them to use specific resources. With SR, it is possible to introduce such fine-grained packet steering by specifying the queues and the associated resources through an SR instruction list.¶
Note that the concept of a queue is a useful abstraction for different types of underlay mechanism that may be used to provide enhanced isolation and performance support. How the queue satisfies the requirement is implementation specific and is transparent to the layer-3 data plane and control plane mechanisms used.¶
With Segment Routing, the SR instruction list could be used to build a P2P path, and a group of SR Segment Identifiers (SIDs) could also be used to represent an MP2MP network. Thus, the SR based mechanism could be used to provide both a Virtual Transport Path (VTP) and a Virtual Transport Network (VTN) for VPN+ services.¶
Non-packet underlay data plane technologies often have TE properties and behaviors, and meet many of the key requirements in particular for bandwidth guarantees, traffic isolation (with physical isolation often being an integral part of the technology), highly predictable latency and jitter characteristics, measurable loss characteristics, and ease of identification of flows. The cost is that the resources are allocated on a long-term and end-to-end basis. Such an arrangement means that the full cost of the resources has to be borne by the client to which the resources are allocated. When a VTN built with this data plane is used to support multiple VPN+ services, the cost could be distributed among such group of services.¶
The control plane of VPN+ would likely be based on a hybrid control mechanism that takes advantage of a logically centralized controller for on-demand provisioning and global optimization, whilst still relying on a distributed control plane to provide scalability, high reliability, fast reaction, automatic failure recovery, etc. Extension to and optimization of the centralized and distributed control plane is needed to support the enhanced properties of VPN+.¶
As described in Section 4, the VPN+ control plane needs to provide the following functions:¶
The collection of underlying network topology and resource information can be done using existing the IGP and Border Gateway Protocol - Link State (BGP-LS) [RFC7752] based mechanisms. The creation of VTN and the distribution of VTN attributes may need further control protocol extensions. The computation of VTPs based on the attributes and constraints of the VTN can be performed either by the headend node of the path or a centralized Path Computation Element (PCE) [RFC4655].¶
There are two candidate control plane mechanisms for the setup of VTPs in the VTN: RSVP-TE and Segment Routing (SR).¶
According to the service requirements for connectivity, performance and isolation, one VPN+ service may be mapped a dedicated VTN, or a group of VPN+ services may be mapped to the same VTN. The mapping of VPN+ services to VTN can be achieved using existing control mechanisms with possible extensions, and it can be based on either the characteristics of the data packet or the attributes of the VPN service routes.¶
The management plane provides the interface between the VPN+ service provider and the customers for life-cycle management of the VPN+ service (i.e., creation, modification, assurance/monitoring, and decommissioning). It relies on a set of service data models for the description of the information and operations needed on the interface.¶
As an example, in the context of 5G end-to-end network slicing [TS28530], the management of the transport network segment of the 5G end-to-end network slice can be realized with the management plane of VPN+. The 3GPP management system may provide the connectivity and performance related parameters as requirements to the management plane of the transport network. It may also require the transport network to expose the capabilities and status of the network slice. Thus, an interface between the VPN+ management plane and the 5G network slice management system, and relevant service data models are needed for the coordination of 5G end-to-end network slice management.¶
The management plane interface and data models for VPN+ services can be based on the service models described in Section 5.6.¶
It is important that the management life-cycle supports in-place modification of VPN+ services. That is, it should be possible to add and remove end points, as well as to change the requested characteristics of the service that is delivered. The management system needs to be able to assess the revised VPN+ requests and determine whether they can be provided by the existing VTNs or whether changes must be made, and it will additionally need to determine whether those changes to the VTN are possible. If not, then the customer's modification request may be rejected.¶
When the modification of a VPN+ service is possible, the management system must make every effort to make the changes in a non-disruptive way. That is, the modification of the VPN+ service or the underlying VTN must not perturbate traffic on the VPN+ service in a way that causes the service level to drop below the agreed levels. Furthermore, changes to one VPN+ service should not cause disruption to other VPN+ services.¶
The network operator for the underlay network (i.e., the provider of the VPN+ service) may delegate some operational aspects of the overlay VPN and the underlying VTN to the customer. In this way, the VPN+ is presented to the customer as a virtual network, and the customer can choose how to use that network. Some mechanisms in the operator's network is needed, so that a customer cannot exceed the capabilities of the virtual links and nodes, but can decide how to load traffic onto the network, for example, by assigning different metrics to the virtual links so that the customer can control how traffic is routed through the virtual network. This approach requires a management system for the virtual network, but does not necessarily require any coordination between the management systems of the virtual network and the physical network, except that the virtual network management system might notice when the VTN is close to capacity or considerably under-used and automatically request changes in the service provided by the underlay network.¶
This section describes the applicability of the existing and in-progress service data models to VPN+. [RFC8309] describes the scope and purpose of service models and shows where a service model might fit into an SDN based network management architecture. New service models may also be introduced for some of the required management functions.¶
Service data models are used to represent, monitor, and manage the virtual networks and services enabled by VPN+. The VPN customer service models (e.g., the Layer 3 VPN Service Model (L3SM) [RFC8299], the Layer 2 VPN Service Model (L2SM) [RFC8466]), or the ACTN Virtual Network (VN) model [I-D.ietf-teas-actn-vn-yang]) are service models which can provide the customer's view of the VPN+ service. The Layer-3 VPN Network Model (L3NM) [RFC9182], the Layer-2 VPN network model (L2NM) [RFC9291] provide the operator's view of the managed infrastructure as a set of virtual networks and the associated resources. The Service Attachment Points (SAPs) model [I-D.ietf-opsawg-sap] provides an abstract view of the service attachment points (SAPs) to various network services in the provider network, where VPN+ could be one of the service types. Augmentation to these service models may be needed to provide the VPN+ services. The NRP model [I-D.wdbsp-teas-nrp-yang] further provides the management of the NRP topology and resources both in the controller and in the network devices to instantiate the VTNs needed for the VPN+ services.¶
This section describes the applicability of VPN+ in network slice realization.¶
In order to provide IETF network slices to customers, a technology-agnostic network slice service model [I-D.ietf-teas-ietf-network-slice-nbi-yang] is needed for the customers to communicate the requirements of IETF network slices (end points, connectivity, SLOs, and SLEs). These requirements may be realized using technology specified in this document to instruct the network to deliver a VPN+ service so as to meet the requirements of the IETF network slice customers.¶
According to the network operators' network resource planning policy, or based on the requirements of one or a group of customers or services, a VTN may need to be created to meet the requirements of VPN+ services. In the network slicing context, a VTN could be considered as an NRP used to support the IETF network slice services. One of the basic requirements for a VTN is to provide a set of dedicated network resources to avoid unexpected interference from other services in the same network. Other possible requirements may include the required topology and connectivity, bandwidth, latency, reliability, etc.¶
A centralized network controller can be responsible for calculating a subset of the underlay network topology (which is called a logical topology) to support the VTN requirement. And on the network nodes and links within the logical topology, the set of network resources to be allocated to the VTN can also be determined by the controller. Normally such calculation needs to take the underlay network connectivity information and the available network resource information of the underlay network into consideration. The network controller may also take the status of the existing VTNs into consideration in the planning and calculation of a new VTN.¶
According to the result of the VTN planning, the network nodes and links involved in the logical topology of the VTN are instructed to allocated the required set of network resources for the VTN. In the network slicing context, a VTN can be instantiated as an NRP. One or multiple mechanisms as specified in section 5.1 can be used to partition the forwarding plane network resources and allocate different subsets of resources to different VTNs. In addition, the data plane identifiers which are used to identify the set of network resources allocated to the VTN are also provisioned on the network nodes. Depending on the data plane technologies used, the set of network resources of a VTN can be identified using e.g. either resource aware SR segments as specified in [I-D.ietf-spring-resource-aware-segments] [I-D.ietf-spring-sr-for-enhanced-vpn], or a dedicated VTN resource ID as specified in [I-D.ietf-6man-enhanced-vpn-vtn-id] can be introduced. The network nodes involved in a VTN may distribute the logical topology information, the VTN specific network resource information and the VTN resource identifiers using the control plane. Such information could be used by the controller and the network nodes to compute the TE or shortest paths within the VTN, and install the VTN specific forwarding entries to network nodes.¶
According to the connectivity requirements of an IETF network slice service, an overlay VPN can be created using the existing or future multi-tenancy overlay technologies as described in Section 3.6.¶
Then according to the SLO and SLE requirements of a network slice service, the overlay VPN is mapped to an appropriate VTN as the virtual underlay. The integration of the overlay VPN and the underlay VTN together provide a VPN+ service which can meet the network slice service requirements.¶
At the edge of the operator's network, traffic of IETF network slices can be classified based on the rules defined by the operator's policy, so that the traffic is treated as a specific VPN+ service, which is further mapped to an underlay VTN. Packets belonging to the VPN+ service will be processed and forwarded by network nodes based the TE or shortest path forwarding entries and the set of network resources of the corresponding VTN.¶
VPN+ provides performance guaranteed services in packet networks, but with the potential cost of introducing additional state into the network. There are at least three ways that this additional state might be brought into the network:¶
Reducing the state in the network is important to VPN+, as it requires the overlay to be more closely integrated with the underlay than with conventional VPNs. This tighter coupling would normally mean that more state needs to be created and maintained in the network, as the state about fine granularity processing would need to be loaded and maintained in the routers. Aggregation is a well-established approach to reduce the amount of state and improve scaling, and VTN is considered as the network construct to aggregate the states of VPN+ services. In addition, an SR approach allows much of the state to be spread amongst the network ingress nodes, and transiently carried in the packets as SIDs.¶
The following subsections describe some of the scalability concerns that need to be considered. Further discussion of the scalability considerations of the underlaying network construct of VPN+ can be found in [I-D.ietf-teas-nrp-scalability].¶
One of the challenges with SR is the stack depth that nodes are able to impose on packets [RFC8491]. This leads to a difficult balance between adding state to the network and minimizing stack depth, or minimizing state and increasing the stack depth.¶
The established method of creating a resource allocated path through an MPLS network is to use the RSVP-TE protocol. However, there have been concerns that this requires significant continuous state maintenance in the network. Work to improve the scalability of RSVP-TE LSPs in the control plane can be found in [RFC8370].¶
There is also concern at the scalability of the forwarder footprint of RSVP-TE as the number of paths through a label switching router (LSR) grows. [RFC8577] addresses this by employing SR within a tunnel established by RSVP-TE.¶
The centralized approach of SDN requires state to be stored in the network, but does not have the overhead of also requiring control plane state to be maintained. Each individual network node may need to maintain a communication channel with an SDN controller, but that compares favorably with the need for a control plane to maintain communication with all neighbors.¶
However, SDN may transfer some of the scalability concerns from the network to a centralized controller. In particular, there may be a heavy processing burden at the controller, and a heavy load in the network surrounding the controller. A centralized controller may also present a single point of failure within the network.¶
This section describes the considerations about the OAM and Telemetry mechanisms used to support the verification, monitoring and optimization of the characteristics and SLA fulfillment of the VPN+ services.¶
The design of OAM for VPN+ services needs to consider the following requirements:¶
Network visibility is essential for network operation. Network telemetry has been considered as an ideal means to gain sufficient network visibility with better flexibility, scalability, accuracy, coverage, and performance than conventional OAM technologies.¶
As defined in [RFC9232], the objective of Network Telemetry is to acquire network data remotely for network monitoring and operation. It is a general term for a large set of network visibility techniques and protocols. Network telemetry addresses the current network operation issues and enables smooth evolution toward intent-driven autonomous networks. Telemetry can be applied on the forwarding plane, the control plane, and the management plane in a network.¶
How the telemetry mechanisms could be used or extended for the VPN+ service is out of the scope of this document.¶
Each VPN+ service has a life cycle, and may need modification during deployment as the needs of its tenant change. This is discussed in Section 5.5. Additionally, as the network evolves, there may need to perform garbage collection to consolidate resources into usable quanta.¶
Systems in which the path is imposed, such as SR or some form of explicit routing, tend to do well in these applications, because it is possible to perform an atomic transition from one path to another. That is, a single action by the head-end that changes the path without the need for coordinated action by the routers along the path. However, implementations and the monitoring protocols need to make sure that the new path is operational and meets the required SLA before traffic is transitioned to it. It is possible for deadlocks to arise as a result of the network becoming fragmented over time, such that it is impossible to create a new path or to modify an existing path without impacting the SLA of other paths. The global concurrent optimization mechanisms as described in [RFC5557] and discussed in [RFC7399] may be helpful, while complete resolution of this situation is as much a commercial issue as it is a technical issue.¶
There are, however, two manifestations of the latency problem that are for further study in any of these approaches:¶
There is also the matter of what happens during failure in the underlay infrastructure. Fast reroute is one approach, but that still produces a transient loss with a normal goal of rectifying this within 50ms [RFC5654]. An alternative is some form of N+1 delivery such as has been used for many years to support protection from service disruption. This may be taken to a different level using the techniques of DetNet with multiple in-network replication and the culling of later packets [RFC8655].¶
In addition to the approach used to protect high priority packets, consideration should be given to the impact of best effort traffic on the high priority packets during a transition. Specifically, if a conventional re-convergence process is used there will inevitably be micro-loops and whilst some form of explicit routing will protect the high priority traffic, lower priority traffic on best effort shortest paths will micro-loop without the use of a loop prevention technology. To provide the highest quality of service to high priority traffic, either this traffic must be shielded from the micro-loops, or micro-loops must be prevented completely.¶
It is expected that VPN+ services will be introduced in networks which already have conventional VPN services deployed. Depending on service requirements, the tenants or the operator may choose to use a VPN or a VPN+ to fulfill a service requirement. The information and parameters to assist such a decision needs to be supplied on the management interface between the tenant and the operator.¶
All types of virtual network require special consideration to be given to the isolation of traffic belonging to different tenants. That is, traffic belonging to one VPN must not be delivered to end points outside that VPN. In this regard VPN+ neither introduces, nor experiences greater security risks than other VPNs.¶
However, in a VPN+ service the additional service requirements need to be considered. For example, if a service requires a specific upper bound to latency then it can be damaged by simply delaying the packets through the activities of another tenant, i.e., by introducing bursts of traffic for other services. In some respects this makes the VPN+ more susceptible to attacks since the SLA may be broken. But another view is that the operator must, in any case, preform monitoring of the VPN+ to ensure that the SLA is met, and this means that the operator may be more likely to spot the early onset of a security attack and be able to take pre-emptive protective action.¶
The measures to address these dynamic security risks must be specified as part of the specific solution to the isolation requirements of a VPN+ service.¶
While a VPN+ service may be sold as offering encryption and other security features as part of the service, customers would be well advised to take responsibility for their own security requirements themselves possibly by encrypting traffic before handing it off to the service provider.¶
The privacy of VPN+ service customers must be preserved. It should not be possible for one customer to discover the existence of another customer, nor should the sites that are members of an VPN+ be externally visible.¶
A VPN+ service (even one with interference isolation requirements) does not provide any additional guarantees of privacy for customer traffic compared to regular VPNs: the traffic within the network may be intercepted and errors may lead to mis-delivery. Users who wish to ensure the privacy of their traffic must take their own precautions including end-to-end encryption.¶
There are no requested IANA actions.¶
Daniel King Email: daniel@olddog.co.uk Adrian Farrel Email: adrian@olddog.co.uk Jeff Tansura Email: jefftant.ietf@gmail.com Zhenbin Li Email: lizhenbin@huawei.com Qin Wu Email: bill.wu@huawei.com Bo Wu Email: lana.wubo@huawei.com Daniele Ceccarelli Email: daniele.ceccarelli@ericsson.com Mohamed Boucadair Email: mohamed.boucadair@orange.com Sergio Belotti Email: sergio.belotti@nokia.com Haomian Zheng Email: zhenghaomian@huawei.com¶
The authors would like to thank Charlie Perkins, James N Guichard, John E Drake, Shunsuke Homma, and Luis M. Contreras for their review and valuable comments.¶
This work was supported in part by the European Commission funded H2020-ICT-2016-2 METRO-HAUL project (G.A. 761727).¶