Download Intent NBI for Software Defined Networking

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Intent NBI for Software Defined Networking
Intent NBI for Software Defined Networking
1 SDN NBI Challenges
According to the architecture definition in Open Networking Foundation (ONF), a Software
Defined Network (SDN) includes three vertically separated layers: infrastructure, control and
application. The North-Bound Interface (NBI), located between the control plane and the
applications, is essential to enable the application innovations and nourish the eco-system of SDN
by abstracting the network capabilities/information and opening the abstract/logic network to
applications.
Traditional NBI used to pay more attention on the function layer. The Functional NBI is usually
designed by the network domain experts from the network system point of view. The network
capabilities are abstracted and encapsulated from bottom up. This kind of design does not take
care of the requirement from user side, but expose network information and capability as much as
possible. In this way, applications can get maximum programmability from the functional NBI.
The examples of functional NBI include: device and link discovery, ID assignment for network
interfaces, configuration of forwarding rules, and management of tens of thousands of network
state information.
However, let’s look from the application developer’s point of view, and assume that they are not
familiar with the complex network concepts and configurations. The application developers want
to focus on the functionality of the application and the friendly interaction with application users.
The network service is required to be used as easy and automatic as the cloud services. The
network function is required to be flexible, available and scalable. All this requires the network to
have a set of service oriented, declarative, and intent based NBI. For instance, “create a
connection between site A and B”, “provide the Service Level Agreement (SLA) for my Data
Center Interconnection (DCI)”, “apply a Service Function Chain (SFC) for my internet access
from my Virtual Data Center (vDC)”.
The complexity of the network service interface is the pain point of the application developers.
Complexity is the enemy of the scalability. Complexity makes the interface not easy to use.
Intent NBI for Software Defined Networking
Complexity makes the application development error-prone. Complexity blocks the innovation of
network service related applications.
The way to solve the complexity is to add a declarative network middle-ware on top of the
controller platform, and tell the controller what the application want but not how to do by using
the Intent NBI. It captures the application intent, converts to the domain and dedicated technique
specific configuration details, while concealing the complex translation.
Intent
…
Application
Application
Application
Application
Application
Application
Application
Application
…
Declarative Network Middleware
Controller Platform
Data path
Data path
Domain
Specific
Details
Controller Platform
Data path
Data path
Data path
Data path
2 What’s Intent NBI?
In order to simplify the interaction between the network service consuming application and the
controller, the control plane should provide an Intent NBI level. Intent NBI is independent with
specific network technology, while providing application related terms and vocabulary, so that
users do not see VPN, MPLS, and any other routing protocols. Intent NBI abstracts the network
objects and capabilities, and expresses the user’s intent on what to do declaratively, but not how to
do. Intent NBI express the expected service that the controller delivers. The SDN controller is a
“black box” for resource allocation and management.
Let’s take the taxi service in real life for example. One passenger wants to take the taxi from A
place to B place. He does not have to know how to go there, but to tell the driver: “Hey, I want to
go to B.” That’s it. The message only carries what the passenger want. The passenger also does
not have to tell the driver why he wants to go to B, because this is not the passenger’s intent. We
Intent NBI for Software Defined Networking
can also find similar examples in network domain.
Intent NBI benefits applications and the development.
•
Intent description is declarative, not designates the way for execution. The SDN controller
can calculate the optimal result to fulfill the intent request.
•
Intent request is independent of the controller platforms and implementations. It only
expresses the requirements for the application layer, and uses application related vocabulary
and information. One intent request can be implemented on different controller with various
algorithms. This enables portable applications.
•
Intent NBI helps applications to reduce conflict on higher level, so that increases the success
of requests. For example, a typical connection needs to assign the network elements on the
connection path. And then, the SDN controller sets associated network elements with
configurations. However, if there are some governance rules that limit the application to
touch one element, the deployment will fail. If we apply intent, the application only express
the requirement to create a connection between site A and site B, the SDN controller can
automatically calculate an optimal path to avoid the network element. The deployment
succeeds!
3 Intent Expression Modeling
In order that the SDN controller can understand the intent requests, formalize models are required
for intent expression. Let’s firstly conclude the intent expression from our real life. There will be
two expression patterns:
•
The Operation expression, expresses what I want to do.
•
The Result expression, expresses the expected final state.
We can also find the following network domain intents:
•
I want to CREATE a Network for HR (Customer Facing Node)
•
I want to BLOCK the http flow (Flow)
•
I want to ADJUST the bandwidth (Connection) to 10G
•
I want to AVOID the bandwidth utilization on the connection greater than 80%. (Result)
Intent NBI for Software Defined Networking
We can generate the following OOR (Object-Operation-Result) model for the intent expression
according to above network examples.
Intent
CFN (Customer
Facing Node)
Connection
Expect State
Object
Operation
Result
Action
Constraint
ServiceFlow
Avoid State
Condition
There are two patterns for intent expression: the Object+Operation and the Object+Result. On the
network service layer:
•
Object, includes: Customer Facing Node (CFN), Connection, and Service Flow.
•
Operation, describes the expected behavior. It can be generally formalized with “on condition,
do action, with the constraint”.
•
Result, describes the expected state. We can use the clause “expect to achieve the state” or
“avoid the state”.
4 Huawei Practice on Intent NBI
The NEMO project initiated by Huawei and leading operators keeps leading the Intent NBI
practice. It provides life cycle solutions for the intent implementation.
NEMO project developed a network service oriented programming language as a novel SDN NBI
fashion. It breaks the “funnel” like scenario based NBI by a set of network service oriented
primitives based on the above intent expression model. The NEMO language includes 15 simple
statements instead of thousands of API, and can flexibly compose most scenarios. NEMO
language expresses the user intent with a more intuitive way, so that application developers can
only tell the SDN controller what to do, rather than how to do.
The NEMO execution engine implements an intelligent network service middleware by
concealing the complexity of network implementation and deployment. It translates the high level
Intent NBI for Software Defined Networking
service intent into the real network deployments, and solves the network conflict on resource and
policy. The three layer translation framework innovation simplifies the mapping from intent to
deployment. The mapping on each layer is clear, so that third party and new functions and
algorithms can be easily integrated into the framework.
Moreover, NEMO provides a set of supporting tools, e.g. the sandbox, facilitating testing,
simulation, and deployment.
Service customization and innovation is one pain point from operators. Based on the generic
network operation pattern, NEMO project provides operator business designer with an easy to use
network service template functionality. The NEMO language captures the customer intent from
various domains, and describes the network requirements. While leaving all the complexities to
the SDN controller, NEMO simplifies network design and expedites the service innovation and
deployment by optimized software system, automatic resource allocation, network performance
monitoring, and conflict solving for both resource and policy.
Huawei is working with standard development organizations, e.g., IETF, ONF, and open-source
communities to design and development the Intent NBI, intent model, NEMO language syntax,
and intent execution engine.