As described in
Section 2 of
RFC 8199, layering of modules allows for better reusability of lower-layer modules by higher-level modules while limiting duplication of features across layers.
Data models in the context of network management can be classified into service, network, and device models. Different service models may rely on the same set of network and/or device models.
Service models traditionally follow a top-down approach and are mostly customer-facing YANG modules providing a common model construct for higher-level network services (e.g., Layer 3 Virtual Private Network (L3VPN)). Such modules can be mapped to network technology-specific modules at lower layers (e.g., tunnel, routing, Quality of Service (QoS), security). For example, service models can be used to characterize the network service(s) to be ensured between service nodes (ingress/egress) such as:
-
the communication scope (pipe, hose, funnel, etc.),
-
the directionality (inbound/outbound),
-
the traffic performance guarantees expressed using metrics such as One-Way Delay (OWD) [RFC 7679] or One-Way Loss [RFC 7680]; a summary of performance metrics maintained by IANA can be found in [IPPM],
-
link capacity [RFC 5136] [METRIC-METHOD],
-
etc.
Figure 1 depicts the example of a Voice over IP (VoIP) service that relies upon connectivity services offered by a network operator. In this example, the VoIP service is offered to the network operator's customers by Service Provider 1 (SP1). In order to provide global VoIP reachability, SP1 Service Site interconnects with other Service Providers service sites typically by interconnecting Session Border Elements (SBEs) and Data Border Elements (DBEs) [
RFC 5486][
RFC 6406]. For other VoIP destinations, sessions are forwarded over the Internet. These connectivity services can be captured in a YANG service model that reflects the service attributes that are shown in
Figure 2. This example follows the IP Connectivity Provisioning Profile template defined in [
RFC 7297].
,--,--,--. ,--,--,--.
,-' SP1 `-. ,-' SP2 `-.
( Service Site ) ( Service Site )
`-. ,-' `-. ,-'
`--'--'--' `--'--'--'
x | o * * |
(2)x | o * * |
,x-,--o-*-. (1) ,--,*-,--.
,-' x o * * * * * * * * * `-.
( x o +----( Internet )
User---(x x x o o o o o o o o o o o o o o o o o o
`-. ,-' `-. ,-' (3)
`--'--'--' `--'--'--'
Network Operator
**** (1) Inter-SP connectivity
xxxx (2) Customer-to-SP connectivity
oooo (3) SP to any destination connectivity
In reference to
Figure 2, "Full traffic performance guarantees class" refers to a service class where all traffic performance metrics included in the service model (OWD, loss, delay variation) are guaranteed, while "Delay traffic performance guarantees class" refers to a service class where only OWD is guaranteed.
Connectivity: Scope and Guarantees
(1) Inter-SP connectivity
- Pipe scope from the local to the remote SBE/DBE
- Full traffic performance guarantees class
(2) Customer-to-SP connectivity
- Hose/Funnel scope connecting the local SBE/DBE
to the customer access points
- Full traffic performance guarantees class
(3) SP to any destination connectivity
- Hose/Funnel scope from the local SBE/DBE to the
Internet gateway
- Delay traffic performance guarantees class
Flow Identification
* Destination IP address (SBE, DBE)
* DSCP marking
Traffic Isolation
* VPN
Routing & Forwarding
* Routing rule to exclude some ASes from the inter-domain
paths
Notifications (including feedback)
* Statistics on aggregate traffic to adjust capacity
* Failures
* Planned maintenance operations
* Triggered by thresholds
Network models are mainly network-resource-facing modules; they describe various aspects of a network infrastructure, including devices and their subsystems, and relevant protocols operating at the link and network layers across multiple devices (e.g., network topology and traffic-engineering tunnel modules).
Device (and function) models usually follow a bottom-up approach and are mostly technology-specific modules used to realize a service (e.g., BGP, ACL).
Each level maintains a view of the supported YANG modules provided by lower levels (see for example,
Appendix A). Mechanisms such as the YANG library [
RFC 8525] can be used to expose which YANG modules are supported by nodes in lower levels.
Figure 3 illustrates the overall layering model. The reader may refer to
Section 4 of
RFC 8309 for an overview of "Orchestrator" and "Controller" elements. All these elements (i.e., Orchestrator(s), Controller(s), device(s)) are under the responsibility of the same operator.
+-----------------------------------------------------------------+
| Hierarchy Abstraction |
| |
| +-----------------------+ Service Model |
| | Orchestrator | (Customer Oriented) |
| |+---------------------+| Scope: "1:1" Pipe model |
| || Service Modeling || |
| |+---------------------+| |
| | | Bidirectional |
| |+---------------------+| +-+ Capacity, OWD +-+ |
| ||Service Orchestration|| | +----------------+ | |
| |+---------------------+| +-+ +-+ |
| +-----------------------+ Ingress Egress |
| |
| |
| +-----------------------+ Network Model |
| | Controller | (Operator Oriented) |
| |+---------------------+| +-+ +--+ +---+ +-+ |
| || Network Modeling || | | | | | | | | |
| |+---------------------+| | o----o--o----o---o---o | |
| | | +-+ +--+ +---+ +-+ |
| |+---------------------+| src dst |
| ||Network Orchestration|| L3VPN over TE |
| |+---------------------+| Instance Name/Access Interface |
| +-----------------------+ Protocol Type/Capacity/RD/RT/... |
| |
| |
| +-----------------------+ Device Model |
| | Device | |
| |+--------------------+ | |
| || Device Modeling | | Interface add, BGP Peer, |
| |+--------------------+ | Tunnel ID, QoS/TE, ... |
| +-----------------------+ |
+-----------------------------------------------------------------+
A composite service offered by a network operator may rely on services from other operators. In such a case, the network operator acts as a customer to request services from other networks. The operators providing these services will then follow the layering depicted in
Figure 3. The mapping between a composite service and a third-party service is maintained at the orchestration level. From a data-plane perspective, appropriate traffic steering policies (e.g., Service Function Chaining [
RFC 7665]) are managed by the network controllers to guide how/when a third-party service is invoked for flows bound to a composite service.
The layering model depicted in
Figure 3 does not make any assumption about the location of the various entities (e.g., Controller, Orchestrator) within the network. As such, the architecture does not preclude deployments where, for example, the Controller is embedded on a device that hosts other functions that are controlled via YANG modules.
In order to ease the mapping between layers and data reuse, this document focuses on service models that are modeled using YANG. Nevertheless, fully compliant with
Section 3 of
RFC 8309,
Figure 3 does not preclude service models to be modeled using data modeling languages other than YANG.
Service models can be used by a network operator to expose its services to its customers. Exposing such models allows automation of the activation of service orders and thus the service delivery. One or more monolithic service models can be used in the context of a composite service activation request (e.g., delivery of a caching infrastructure over a VPN). Such models are used to feed a decision-making intelligence to adequately accommodate customer needs.
Also, such models may be used jointly with services that require dynamic invocation. An example is provided by the service modules defined by the DOTS WG to dynamically trigger requests to handle Distributed Denial-of-Service (DDoS) attacks [
RFC 8783]. The service filtering request modeled using [
RFC 8783] will be translated into device-specific filtering (e.g., ACLs defined in [
RFC 8519]) that fulfills the service request.
Network models can be derived from service models and used to provision, monitor, and instantiate the service. Also, they are used to provide life-cycle management of network resources. Doing so is meant to:
-
expose network resources to customers (including other network operators) to provide service fulfillment and assurance.
-
allow customers (or network operators) to dynamically adjust the network resources based on service requirements as described in service models (e.g., Figure 2) and the current network performance information described in the telemetry modules.
Note that it is out of the scope of this document to elaborate on the communication protocols that are used to implement the interface between the service ordering (customer) and service order handling (provider).
To support top-down service delivery, YANG modules at different levels or at the same level need to be integrated for proper service delivery (including proper network setup). For example, the service parameters captured in service models need to be decomposed into a set of configuration/notification parameters that may be specific to one or more technologies; these technology-specific parameters are grouped together to define technology-specific device-level models or network-level models.
In addition, these technology-specific device or network models can be further integrated with each other using the schema mount mechanism [
RFC 8528] to provision each involved network function/device or each involved network domain to support newly added modules or features. A collection of integrated device models can be loaded and validated during implementation.
High-level policies can be defined at service or network models (e.g., "Autonomous System Number (ASN) Exclude" in the example depicted in
Figure 2). Device models will be tweaked accordingly to provide policy-based management. Policies can also be used for telemetry automation, e.g., policies that contain conditions to trigger the generation and pushing of new telemetry data.