Internet-Draft | DetNet Controller Plane | June 2022 |
Malis, et al. | Expires 31 December 2022 | [Page] |
This document provides a framework overview for the Deterministic Networking (DetNet) controller plane. It discusses concepts and requirements for DetNet controller plane which could be basis for future solution specification.¶
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 31 December 2022.¶
Copyright (c) 2022 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.¶
Deterministic Networking (DetNet) provides the capability to carry specified unicast and/or multicast data flows for real-time applications with extremely low data loss rates and bounded latency within a network domain. As defined in [RFC8655], techniques used to provide DetNet capability include reserving data plane resources for individual (or aggregated) DetNet flows in some or all of the intermediate nodes along the path of the flow, providing explicit routes for DetNet flows that do not immediately change with the network topology, and distributing data from DetNet flow packets over time and/or space to ensure delivery of each packet's data in spite of the loss of a path.¶
DetNet data plane is defined in a set of documents that are anchored by the DetNet Data Plane Framework[RFC8938] (and the associated DetNet MPLS defined in [RFC8964] and DetNet IP defined in [RFC8939] and other data plane specifications defined in [RFC9023], [RFC9024], [RFC9025], [RFC9037] and [RFC9056])¶
While the Detnet Architecture and Data Plane documents are primarily concerned with data plane operations, they do contain some requirements for functions that would be required in order to automate DetNet service provisioning and monitoring via a DetNet controller plane. The purpose of this document is to gather these requirements into a single document and discuss how various possible DetNet controller plane architectures could be used to satisfy these requirements, while not providing the protocol details for a DetNet controller plane solution. Such controller plane protocol solutions will be the subject of subsequent documents.¶
Note that in the DetNet overall architecture, the controller plane includes what are more traditionally considered separate control and management planes. Traditionally, the management plane is primarily involved with fault management, configuration management and performance management(sometimes accounting management and security management is also considered in the management plane, but not in the scope of this document). , while the control plane is primarily responsible for the instantiation and maintenance of flows, MPLS label allocation and distribution, and active in-band or out-of-band signaling to support DetNet functions. In the DetNet architecture, all of this functionality is combined into a single Controller Plane. See Section 4.4.2 of [RFC8655] and the aggregation of Control and Management planes in [RFC7426] for further details.¶
This document uses the terminology established in the DetNet Architecture [RFC8655], and the reader is assumed to be familiar with that document and its terminology.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174]when, and only when, they appear in all capitals, as shown here.¶
Other DetNet documents, including [RFC8655] and [RFC8938], contain requirements for the Controller Plane. For convenience, these requirements have been compiled here. These requirements have been organized into 3 groups, including: requirements primarily applicable to control plane, requirements primarily applicable to management plane and requirements applicable to both planes.¶
The primary requirements for the DetNet Control Plane include:¶
The primary requirements of the DetNet Management Plane are that it must be able to:¶
The following requirements apply to both the DetNet Controller and Management Planes:¶
As noted in the Introduction, the DetNet control plane is responsible for the instantiation and maintenance of flows, allocation and distribution of flow related information (e.g., MPLS label), and active in-band or out-of-band information distribution to support these functions.¶
The following sections define three types of DetNet control plane architectures: a fully distributed control plane utilizing dynamic signaling protocols, a fully centralized SDN-like control plane, and a hybrid control plane containing both distributed protocols and centralized controlling . This document describes the various information exchanges between entities in the network for Each type of these architectures and the corresponding advantages and disadvantages.¶
In each of the following sections, there are examples to illustrate possible mechanisms that could be used in each type of the architectures. They are not meant to be exhaustive or to preclude any other possible mechanism that could be used in place of those used in the examples.¶
In a fully distributed configuration model, User-to-Network Interface (UNI) information is transmitted over a DetNet UNI protocol from the user side to the network side.Then UNI and network configuration information propagate in the network via distributed control plane signaling protocols. Such a DetNet UNI protocol is not necessary in case that the End-systems are DetNet capable.¶
Taking an RSVP-TE MPLS network as an example, where end systems are not part of the DetNet domain:¶
In this example, both IGP and RSVT-TE may request extensions for DetNet.¶
In the fully SDN/centralized configuration model, flow/UNI information is transmitted from a Centralized User Controller or from applications via an API/ northbound interface to a Centralized Controlle. Network node configurations for DetNet flows are performed by the controller using a protocol such as NETCONF [RFC6241]/YANG [RFC6020] or PCE-CC [RFC8283].¶
Take the following case as an example::¶
Protocols in the above example may require extensions for DetNet.¶
In the hybrid model, controller and control plane protocols work together to provide DetNet services, and there are a number of possible combinations.¶
In the following case, RSVP-TE and controller are used together:¶
There are many other variations that could be included in a hybrid control plane. The requested DetNet extensions for protocol in each possible case is for future work.¶
This section discusses requested control plane features for DetNet mechanisms as defined in [RFC8655], including explicit path, resource reservation, service protection(PREOF). Different DetNet service may implement part/all of them based on the requirements.¶
Explicit paths are required in DetNet to provide a stable forwarding service and guarantee that DetNet service is not impacted when the network topology changes. The following features are necessary in control plane to implement explicit paths in DetNet:¶
DetNet flows are supposed to be protected from congestion, so sufficient resource reservation for DetNet service could protect service from congestion. There are multiple types of resources in the network that could be allocated to DetNet flows, e.g., packet processing resource, buffer resource, and bandwidth of the output port. The network resource requested by a specified DetNet service is determined by the SLA requirements and network capability.¶
DetNet path redundancy is supported via packet replication, duplicate elimination, and packet ordering functions (PREOF). A DetNet flow is replicated and goes through multiple networks paths to avoid packet loss caused by device or link failures. In general, current control plane mechanisms that can be used to establish an explicit path, whether distributed or centralized, support point-to-point (P2P) and point-to-multipoint (P2MP) path establishment. PREOF requires the ability to compute and establish a set of multiple paths (e.g., multiple LSP segments in an MPLS network) from the point(s) of packet replication to the point(s) of packet merging and ordering. Mapping of DetNet (member) flows to explicit path segments has to be ensured as well. Protocol extensions will be required to support these new features. Terminology will also be required to refer to this coordinated set of path segments (such as an "LSP graph" in case of DetNet MPLS data plane).¶
For the purposes of this document, "traditional MPLS" is defined as MPLS without the use of segment routing (see Section 4.4.3 for a discussion of MPLS with segment routing) or MPLS-TP [RFC5960].¶
In traditional MPLS domains, a dynamic control plane using distributed signaling protocols is typically used for the distribution of MPLS labels used for forwarding MPLS packets. The dynamic signaling protocols most commonly used for label distribution are LDP [RFC5036], RSVP-TE, and BGP [RFC8277] (which enables BGP/MPLS-based Layer 3 VPNs [RFC4384] and Layer 2 VPNs [RFC7432]).¶
Any of these protocols could be used to distribute DetNet Service Labels (S-Labels) and Aggregation Labels (A-Labels) [RFC8964]. As discussed in [RFC8938], S-Labels are similar to other MPLS service labels, such as pseudowire, L3 VPN, and L2 VPN labels, and could be distributed in a similar manner, such as through the use of targeted LDP or BGP. If these were to be used for DetNet, they would require extensions to support DetNet-specific features such as PREOF, aggregation (A-Labels), node resource allocation, and queue placement.¶
However, as discussed in Section 3.1, distributed signaling protocols may have difficulty meeting DetNet's scalability requirements. MPLS also allows SDN-like centralized label management and distribution as an alternative to distributed signaling protocols, using protocols such as PCEP and OpenFlow [OPENFLOW].¶
PCEP, particularly when used as a part of PCE-CC, is a possible candidate protocol to use for centralized management of traditional MPLS-based DetNet domains. However, PCE path calculation algorithms would need to be extended to include the location determination for PREOF nodes in a path, and the means to signal the necessary resource reservation and PREOF function placement information to network nodes. See ((?I-D.ietf-pce-pcep-extension-for-pce-controller)) for further discussion of PCE-CC and PCEP for centralized control of an MPLS domain.¶
For the purposes of this document, "traditional IP" is defined as IP without the use of segment routing (see Section 4.4.3 for a discussion of IP with segment routing). In a later revision of this document, this section will discuss possible protocol extensions to existing IP routing protocols such as OSPF, IS-IS, and BGP. It should be noted that a DetNet IP data plane [RFC8939] is simpler than a DetNet MPLS data plane [RFC8964], and doesn't support PREOF, so only one path per flow or flow aggregate is required.¶
Segment Routing [RFC8402] is a scalable approach to building network domains that provides explicit routing via source routing encoded in packet headers and it is combined with centralized network control to compute paths through the network. Forwarding paths are distributed with associated policy to network edge nodes for use in packet headers. As such, segment routing can be considered as a new data plane for both MPLS and IP. It reduces the amount of network signaling associated with distributed signaling protocols such as RSVP-TE, and also reduces the amount of state in core nodes compared with that required for traditional MPLS and IP routing, as the state is now in the packets rather than in the routers. This could be useful for DetNet, where a very large number of flows through a network domain are expected, which would otherwise require the instantiation of state for each flow traversing each node in the network. However, further analysis is needed on the expected gain, as DetNet flows may require various type of DetNet specific resources as well.¶
In a later revision of this document, this section will discuss the impact of DetNet on the Segment Routing Control and Management planes. Note that the DetNet MPLS and IP data planes described in [RFC8964] and [RFC8939] were constructed to be compatible with both types of segment routing, SR-MPLS [RFC8660] and SRv6 [I-D.ietf-6man-segment-routing-header]. However, as of this writing, traffic engineering and resource reservation for segment routing are currently unsolved problems.¶
Editor's note: this section may be collapsed to previous sections and listing MPLS segment routing in the MPLS section as one of the possible explicit routing techniques for MPLS, and do the same for IP.¶
The Management Plane includes the ability to statically provision network nodes and to use OAM to monitor DetNet performance and detect outages or other issues at the DetNet layer.¶
Static provisioning in a Detnet network nodes will be performed via the use of appropriate YANG models, including [I-D.ietf-detnet-yang] and [I-D.ietf-detnet-topology-yang].¶
This document covers the general considerations for OAM.¶
Active PM is performed by injecting OAM packets into the network to estimate the performance of the network by measuring the performance of the OAM packets. Adding extra traffic can affect the delay and throughput performance of the network, and for this reason active PM is not recommended for use in operational DetNet domains. However, it is a useful test tool when commissioning a new network or during troubleshooting.¶
Passive PM monitors the actual service traffic in a network domain in order to measure its performance without having a detrimental affect on the network. As compared to Active PM, Passive PM is much preferred for use in DetNet domains.¶
The detailed requirements for connectivity and fault/defect detection and management in DetNet IP domain and DetNet MPLS domain are defined in respectively in [I-D.ietf-detnet-ip-oam] and [I-D.ietf-detnet-mpls-oam].¶
In a later revision of this document, this section will contain a gap analysis of existing IETF control and management plane protocols not already discussed elsewhere in this document for their ability (or inability) to satisfy the requirements in Section 2, and discuss possible protocol extensions to existing protocols to fill the gaps, if any.¶
This document has no actions for IANA.¶
Note to RFC Editor: this section may be removed on publication as an RFC.¶
Editor's note: This section needs more details.¶
The overall security considerations of DetNet are discussed in [RFC8655] and [I-D.ietf-detnet-security]. For DetNet networks that make use of Segment Routing (whether SR-MPLS or SRv6), the security considerations in [RFC8402] also apply.¶
DetNet networks that make use of a centralized controller plane may be threatened by the loss of connectivity (whether accidental or malicious) between the central controller and the network nodes, and/or the spoofing of control messages from the controller to the network nodes. This is important since such networks depend on centralized controllers to calculate flow paths and instantiate flow state in the network nodes. For networks that use both DetNet and Segment Routing with a centralized controller, this would also include the calculation of SID lists and their installation in edge/border routers.¶
In both cases, such threats may be mitigated through redundant controllers, the use of authentication between the controller(s) and the network nodes, and other mechanisms for protection against DOS attacks. A mechanism for supporting one or more alternative central controllers and the ability to fail over to such an alternative controller will be required.¶
Thanks to Jim Guichard, Donald Eastlake, and Stewart Bryant for their review comments.¶