Internet-Draft | I2INF Problem Statement | October 2024 |
Jeong, et al. | Expires 24 April 2025 | [Page] |
This document specifies the problem statement for the Interface to In-Network Functions (I2INF) for user services both on the network-level and application-level. In-Network Functions (INF) include In-Network Computing Functions (INCF) which are defined in the context of Network Functions Virtualization (NFV) and Software-Defined Networking (SDN). INF also includes In-Network Application Functions (INAF) which appear in the context of Internet-of-Things (IoT) Devices, Software-Defined Vehicles (SDV), and Unmanned Aerial Vehicles (UAV). Intent-Based Networking (IBN) can be used to compose user services and consist of a combination of INFs in a target network. This document investigates the gap for an IBN-based system to perform the user's service and the requirements for the I2INF for intelligent service provisioning.¶
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 24 April 2025.¶
Copyright (c) 2024 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.¶
Network softwarization has been widely adopted in multiple environments, such as in cloud and edge computing, as well as the in network infrastructure itself, facilitating the deployment of network services (e.g., 5G mobile networks [TS-23.501]). The multiple technologies behind network softwarization include Network Functions Virtualization (NFV) [ETSI-NFV][ETSI-NFV-Release-2] and Software-Defined Networking (SDN) [RFC7149]. Furthermore, there is also an integration with Intent-Based Networking (IBN) [RFC9315][Survey-IBN-CST-2023], which can be used to define and deploy intelligent network services as well as intelligent application services. End-user devices such as smartphones and smartwatches are connected to various Internet-of-Things (IoT) devices for customer-tailored services. Recently, Software-Defined Vehicles (SDVs) [AUTOSAR-SDV][Eclipse-SDV][COVESA] have the potential to become as popular as smartphones. SDVs are intended to use network softwarization technologies such as NFV and SDN. System components and applications in the context of SDVs are usually executed on containers in a cloud native environment and can be orchestrated for instance with Kubernetes [Kubernetes].¶
In this context, network automation and management have become critical. It is important to facilitate the construction of intelligent services and applications for both network operators and end users [I-D.jeong-nmrg-ibn-network-management-automation]. A user intent (who can be an end user or network operator) in the form of either text or voice needs to be understood and processed by the system. An intent is a declarative request for a specific goal rather than an imperative request having a series of configuration or commands for specific operations. Thus, an intent needs to be translated into a network policy or an application policy that satisfies the user request. A network policy consists of rules to execute a user intent, which can be either in terms of Quality of Service (QoS) defining targets for metrics such as throughput and delay. An application policy consists of rules to execute the service's application demands, for example in terms of functionality and timing. After network and application polices are translated, there is a need to invoke the appropriate Network Functions (NF) in the network infrastructure, edge, or cloud.¶
Thus, a user intent has to be translated either into a network policy executed as a network service on the network infrastructure or an application policy for an application service. For example, services for user applications (e.g., video conference) need to be accurately configured and efficiently processed by not only Application Functions (AF) such as a client (e.g., a video conference client) and a server (e.g., a video conference server), but also Network Functions (NF) (e.g., video broadcast coordinator) defined in the context of Computing in the Network (COIN) [I-D.irtf-coinrg-use-cases][NFV-COIN].¶
In the context Computing in the Network (COIN) terminology [I-D.irtf-coinrg-coin-terminology], a Programmable Network Device (PND) in an In-Network Computing (INC) environment can have multiple kinds of features and capabilities. A PND can also interact with other PNDs. PNDs from different product lines or vendors can provide different functionalities for INC functions. In order to compose a COIN system consisting of multiple PDNs that interact among themselves, it is necessary to define a standard interface for PNDs to expose so that they can learn about each other's capabilities and properly interact.¶
A standard framework to define the interfaces of Application Functions (AFs) and Network Functions (NFs) is required to allow the configuration and monitoring of applications and network services consisting of those functions. There is currently no standard data model to describe the capabilities of AFs and NFs. Furthermore, there is no standard data model defining an interface to register the capabilities of AFs and NFs on a controller-like device that would process service requests for those functions. In addition, there are no standard interfaces to configure and monitor those AFs and NFs according to user's intent. The Interface to Network Security Functions (I2NSF) was standardized for the control and management of Network Security Services with Network Security Functions (NSFs) [RFC8329][I-D.ietf-i2nsf-applicability]. The present document is defined taking into account the I2NSF document, but the purpose is beyond the scope of Security Functions, defining a more general control and management framework for intelligent services consisting of AFs and NFs.¶
This document specifies the problem statement and use cases for the Interface to In-Network Functions (I2INF) considering arbitrary In-Network Functions (INFs) presenting arbitrary features and capabilities. The INFs consist of Network Functions (NFs) including PNDs and Application Functions (AFs) in order to compose a user's services. First of all, INFs include In-Network Computing Functions (INCF) which are NFs defined within the context of NFV and SDN [I-D.irtf-coinrg-use-cases]. Secondly, they also include In-Network Application Functions (INAF) which are AFs employed by Internet-of-Things (IoT) Devices, Software-Defined Vehicles (SDV) [AUTOSAR-SDV][Eclipse-SDV][COVESA], and Unmanned Aerial Vehicles (UAV). Finally, this document shows how Intent-Based Networking (IBN) can be realized with the proposed I2INF framework and its interfaces for user services that consist of a combination of INFs in a target network.¶
This document uses the terminology described in [RFC9315], [RFC8329], [I-D.irtf-coinrg-coin-terminology], [I-D.irtf-coinrg-use-cases], [I-D.jeong-i2nsf-security-management-automation], [I-D.jeong-nmrg-ibn-network-management-automation], and [I-D.yang-i2nsf-security-policy-translation]. In addition, the following terms are defined below:¶
Intent: A set of operational goals (that a network should meet) and outcomes (that a network is supposed to deliver) defined in a declarative manner without specifying how they are achieved or should be implemented [RFC9315].¶
Intent-Based System (IBS): A system that enforces an intent from a user (or administrator) into a target system (e.g., SDV). An intent can be expressed in Natural Language (e.g., English) and can be translated into a policy (i.e., network policy and application policy) using Natural Language Processing (NLP) [USENIX-ATC-Lumi] [BERT] [Deep-Learning]. In this document, the intent can be translated into a corresponding high-level policy by an intent translator [I-D.jeong-i2nsf-security-management-automation]. The high-level policy can also be translated into the corresponding low-level policy by a policy translator [I-D.yang-i2nsf-security-policy-translation]. The low-level policy is dispatched to appropriate Service Functions (SFs). Through the monitoring of the SFs, the activity and performance of the SFs is monitored and analyzed. If needed, the rules of the high-level or low-level network policy are augmented or new rules are generated and configured to appropriate SFs.¶
Mobile Object (MO): An object that is capable of moving with its own power source and wireless communication capability such as 5G Vehicle-to-Everything (e.g., 5G V2X). An MO can be an Internet-of-Things (IoT) device, Software-Defined Vehicle (SDV) [AUTOSAR-SDV][Eclipse-SDV][COVESA], and Unmanned Aerial Vehicle (UAV). An MO is a Programmable Network Device (PND) [I-D.irtf-coinrg-coin-terminology] that can be reconfigured for different network requirements inside the MO.¶
In-Network Computing Functions (INCF): The service functions that work for computing in the network infrastructure. They are a group of COIN programs [I-D.irtf-coinrg-coin-terminology] to provide required computing tasks and functions.¶
In-Network Application Functions (INAF): The service functions that work for applications in Mobile Objects. They are a group of COIN programs [I-D.irtf-coinrg-coin-terminology] to provide the required application tasks and functions.¶
Interface to In-Network Functions (I2INF): Interfaces that are used between a pair of INFs for the interaction, configuration and monitoring.¶
A Framework for Interface to In-Network Functions (I2INF): a framework that consists of components and interfaces to configure and monitor INFs that can be employed by applications and services in the network infrastructure and MOs.¶
This section starts with a description and examples of In-Network Computing Functions. Next, an overview of Intent-Based Networking (IBN) is presented, and finally the Problem Statement for the Interface to In-Network Functions (I2INF). Figure 1 shows Wireless and Wired Networks of a Central Cloud. The I2INF framework includes network entities and Mobile Objects (MO). Figure 2 shows a VNF-Consensus Architecture that allows the I2INF framework to synchronize flow table information of replicated SDN Controllers all in the same Edge Cloud [NFV-COIN]. These are example networks within the I2INF problem space.¶
A large variety of In-Network Computing Functions (INCF) have been proposed for the implementation of various services implemented with COIN (COmputing In-the Network) which is based on network softwarization technologies, mainly NFV and SDN [I-D.irtf-coinrg-use-cases][NFV-COIN].¶
The COIN Use Cases Document [I-D.irtf-coinrg-use-cases] proposes four kinds of use cases for In-Network Computing. Those use cases are (i) Providing New COIN Experiences, (ii) Supporting New COIN Systems, (iii) Improving Existing COIN Capabilities, and (iv) Enabling New COIN Capabilities.¶
For Providing New COIN Experiences, the document describes mobile application offloading and Extended Reality (XR) and immersive media.¶
For Supporting New COIN Systems, the document describes In-Network Control, Time- Sensitive Applications, Large Volume Applications, and Industrial Safety.¶
For Improving Existing COIN Capabilities, the document describes Content Delivery Networks (CDN), Compute-Fabric-as-a-Service (CFaaS), and Virtual Network Programming (e.g., P4 programs and OpenFlow rules).¶
For Enabling New COIN Capabilities, the document describes Distributed AI Training among distributed endpoints for solving large-scale problems.¶
NFV-COIN [NFV-COIN] describes three use cases for In-Network Computing. Its use cases are (i) NFV Failure Detection, (ii) Virtual Network Function (VNF) Consensus, and (iii) NFV Reliable Broadcast.¶
NFV Failure Detection is that an NFV-based failure detector that obtains monitoring data from SDN Switches via an SDN Controller and also detects the failure of communication links. This failure detector is a standalone NF and is thus separated from the SDN Controller and thus it does not sacrifice SDN Controller performance (e.g., CPU usage).¶
VNF Consensus is that a consensus service that performs the synchronization of the control planes of replicated SDN Controllers. This consensus service does not require any modification of both the data plane and control plane of SDN switches and controllers. Through the consensus service, if a new rule is configured by an SDN Controller, this rule is reliably distributed to all the other SDN Controllers through the VNF-Consensus service.¶
NFV Reliable Broadcast is that an NFV-based broadcast service (NFV-RBCast) that provides both reliable and ordered delivery of messages. This ordered broadcast is implemented by NFV-RBCast using a VNF-Sequencer. A flow to be broadcast the NFV- RBCast service causes an SDN Controller to install a forwarding rule on the necessary SDN Switches. All the packets of the flow are forwarded to the VNF-Sequencer. The VNF-Sequencer inserts a sequence number into each of those forwarded packets, and sends them to the destination.¶
Functionalities of each service need to be decomposed into AFs and NFs in edge computing. The management and configuration of those AFs and NFs is a functionality that must be provided by a service coordinator in the context of COIN-based network services. There is currently no framework or interfaces defined there is no standard specifying for the life cycle of COIN-based services.¶
According to [RFC9315] the intent life cycle of an Intent-Based System (IBS) is shown in Figure 3. The life cycle involves intent management for network entities and MOs. RFC9215 divides the IBS life cycle into three spaces, namely MO User Space, Translation & IBS Space, and Network Operations (Ops) & Application (App) Space. Each space is further subdivided into two sections, fulfillment and assurance. The fulfillment section pipelines the steps (i.e., intent input, translation/refinement, learning/planning/rendering, and configuration/provisioning) toward the final SFs such as Network Functions (NFs) and Application Functions (AFs) in MOs. The assurance section monitors final results of the intent fulfillment to validate and analyze the resulted NFs and applications for MOs.¶
The life cycle in Figure 3 is presented as a conceptual view and needs to be made concrete in the form of a framework with interfaces among components in the framework. The data models of an intent, a network policy, and an application policy should be specified by either YANG [RFC6020][RFC7950] or YAML [YAML]. Messages are to be delivered to target components via some message delivery protocol, such as NETCONF [RFC6241], RESTCONF [RFC8040], or REST API [REST].¶
The goal of an Intent-Based System (IBS) is to enforce the service corresponding to a user's intent with an appropriate application in a target network in terms of functionality and quality [RFC9315][RFC8329] [I-D.jeong-i2nsf-security-management-automation] [I-D.jeong-nmrg-ibn-network-management-automation]. To achieve this goal, first of all, an intent needs to be translated into either a network policy or an application policy by an intent translator [I-D.jeong-nmrg-ibn-network-management-automation] [I-D.yang-i2nsf-security-policy-translation]. Then those network policies and application policies need to be delivered to a network controller and an application controller, respectively. The network controller further translates the network policy into the network rules to be sent to the network entities (i.e., NFs). In the same way, the application controller further translates the application policy into the application rules to be sent to the application entities (i.e., AFs).¶
For the translation of either an intent or a policy, the capabilities of NFs and AFs should be registered with databases (e.g., NF database and AF database). Thus, a capability data model for such NFs and AFs should be specified [I-D.ietf-i2nsf-capability-data-model]. Also, a registration interface is required for an NF or AF vendor to register its NF or AF with the corresponding database such as the NF database and the AF database, respectively [I-D.ietf-i2nsf-registration-interface-dm]. Therefore, a data model for this registration interface should be specified to make a registration message for the Vendor's Management System (VMS) [RFC8329].¶
An IBS user needs an interface to send an intent to an IBS controller (e.g.., Cloud Controller in Figure 1), it must have an intent translator, which translates the intent into a network policy or an application policy, and a dispatcher, which dispatches the policies to appropriate destinations (e.g, NF controller and AF controller). This interface is called a Customer-Facing Interface (CFI) for the IBS user [I-D.ietf-i2nsf-consumer-facing-interface-dm]. A data model for the Customer-Facing Interface should be specified.¶
Both an NF controller and an AF controller need an interface to deliver the network rules and the application rules to the appropriate NFs and the appropriate AFs, respectively. This interface is called a Service Function-Facing Interface (SFI) for both the NF controller and the AF controller [I-D.ietf-i2nsf-nsf-facing-interface-dm].¶
For the assurance of the intent in the target network and application, the collection and analysis of monitoring data from the NFs and AFs is required. A Monitoring Interface [I-D.ietf-i2nsf-nsf-monitoring-data-model] is an interface to collect monitoring data from either an NF or an AF to a data collector (e.g., IBS analyzer [I-D.lingga-i2nsf-analytics-interface-dm] [TS-23.288][TS-29.520]). For the further actions, the analysis results of the NF and the AF should be reported to the NF controller and the AF controller, respectively. An Analytics Interface is an interface to deliver analysis results to either an NF controller or an AF controller [I-D.lingga-i2nsf-analytics-interface-dm].¶
The data models for capability and interfaces can be constructed by either YANG [RFC6020][RFC7950] or YAML [YAML]. The message delivery protocol for the interfaces can be one among NETCONF [RFC6241], RESTCONF [RFC8040], or REST API [REST].¶
This document does not require any IANA actions.¶
The same security considerations for the Interface to Network Security Functions (I2NSF) Framework [RFC8329] are applicable to the Intent-Based System this document.¶
The following changes are made from draft-jeong-opsawg-i2inf-problem-statement-01:¶
This work was supported by Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korea Ministry of Science and ICT (MSIT) (No. RS-2024-00398199).¶
This work was supported in part by Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korea Ministry of Science and ICT (MSIT) (No. RS-2022-II221015, Development of Candidate Element Technology for Intelligent 6G Mobile Core Network).¶
This document is made by the group effort of OPWAWG, greatly benefiting from inputs and texts by Linda Dunbar (Futurewei), Yong-Geun Hong (Daejeon University), and Joo-Sang Youn (Dong-Eui University). The authors sincerely appreciate their contributions.¶
The following are coauthors of this document:¶