SDN and NFV
SDN and NFV
The open ecology of the computing industry has brought about the booming
development of many fields such as general-purpose hardware, operating systems,
virtualization, middleware, cloud computing and software applications. The net-
working industry is also seeking to change and evolve, with Software Defined
Networking (SDN) and Network Functional Virtualization (NFV) being two con-
cepts in the limelight.
This chapter is designed to help engineers understand the concepts of SDN and
NFV, the SDN network architecture and NFV key technologies and the history of
architecture development. Meanwhile, it is also a brief introduction to Huawei SDN
solutions and NFV solutions.
• The control plane is responsible for network control, and its main function is
protocol processing and computation. For example, routing protocols are used for
the calculation of routing information and the generation of routing tables.
• The forwarding plane refers to the device forwarding and processing the user
services according to the instructions generated by the control plane. For exam-
ple, the router forwards the received packets from the corresponding outbound
interface according to the routing table generated by the routing protocol.
The following takes a switch as an example to introduce the management plane,
control plane and forwarding plane.
• Switch management plane: the management plane provides functions such as
operation status monitoring, environment monitoring, log and alarm information
processing, system loading and system upgrade. The management plane of the
switch is for network managers to manage devices using TELNET, SSH, SNMP,
etc., and to support, understand and execute managers’ setting commands for
various network protocols of network devices. The management plane must
pre-set the parameters related to various protocols in the control plane and support
intervention in the operation of the control plane when it is necessary.
• Switch control plane: the control plane provides protocol processing, service
processing, routing operations, forwarding control, service scheduling, traffic
statistics, system security and other functions. The control plane of the switch
can control and manage the operations of all network protocols. It offers various
network information and forwarding query table entries required before the data
is processed and forwarded.
• Switch forwarding plane: the forwarding plane provides high-speed, unblocked
data channels to enable the service exchange function between various service
modules. The basic task of the switch is to process and forward various types of
data on different ports of the switch. Various specific data processing and
forwarding processes such as L2/L3/ACL/QoS/multicast/security protection all
belong to the tasks performed by the switch forwarding plane.
Traditional networks use a distributed control architecture. Distributed control here
means that in traditional IP networks, the control plane for protocol computation and
the forwarding plane for message forwarding are located in the same device. After
17.1 Overview of Traditional Networks 523
the routing calculation and topology change, each device has to re-calculate the
routes, which is called the distributed control process. In traditional IP networks,
each device independently collects network information and computes, and is
concerned only with its own routing. The disadvantage of this model architecture
is the lack of uniformity in the computation of paths by all devices.
The advantage of the traditional network is the decoupling of devices from the
protocol, better compatibility between vendors, and the network convergence
guaranteed by protocols in case of failures.
of the control plane by separating the control plane of the network devices from the
forwarding plane so as to provide good support for the innovation of network
applications. The SDN architecture is shown in Fig. 17.4.
For the past 30 years, traditional networks have always been fully distributed and
have made distinctive achievements, satisfying the needs of a variety of uses. Today,
in order to better meet users’ needs SDN is trying to get rid of the hardware
limitations on the network architecture so that the network can be modified like
installing and upgrading software to facilitate the rapid deployment of more appli-
cations (Apps) to the network. If you think of the existing network as a cell phone,
the goal of SDN is to make an Android system for the network world.
The essence of SDN is to make the network resemble software and enhance the
network programmability. SDN is a reconfiguration of the network architecture,
rather than a new feature or function. We cannot simply equate SDN with the
separation of forwarding and control or OpenFlow protocol. Separation of control
and forwarding and separation of management and control are only a means to meet
the SDN, and the OpenFlow protocol is only a protocol to meet the SDN.
SDN network adopts OpenFlow protocol, which is based on the flow table to
forward traffic. The flow table is generally calculated by OpenFlow controller and
then distributed to the switch. The OpenFLow switch forwards traffic by querying
the flow table. The flow table is variable in length and has all kinds of matching rules
and forwarding rules. A network device has multiple flow tables, as shown in
Fig. 17.5.
The matching principle of the flow table is that for the existing “table0-table255”,
the matching priority starts from Table0. Within the same table, it is matched
according to the priorities, and the one with higher priority is matched first.
526 17 SDN and NFV
2. Asynchronous: this message is initiated by the switch. When the state of the
switch changes, this message is sent to tell the controller about the change in state.
The asynchronous message has the following subtypes.
• Packet-in message: the switch sends a packet-in message to the controller
when there is no matching table entry in the flow table or when it matches
“send to Controller”.
• Packet-out message: it is a response message from the controller.
• Flow-Removed message: when a table entry is added to the switch, a timeout
period is set. When the timeout expires, the entry is removed. This is when the
switch sends a flow-removed message to the controller; the switch also sends
this message to the controller when an entry is to be deleted from the flow
table.
• Port-status message: this message can be used to notify the controller when a
data path interface is added, deleted or modified.
3. Symmetric: this message has no fixed initiator and can be initiated by the switch
or controller, for example, the Hello, Echo, Error messages.
• Hello message: when an OpenFlow connection is established, the controller
and switch will immediately send an OFPT_HELLO message to the other side,
and the version field in this message is populated with the highest version
number of the OpenFlow protocol supported by the sender; after receiving the
message, the receiver will calculate the protocol version number, i.e., choose
the smaller one of the version numbers of the sender and the receiver; if the
receiver supports this version, it continues to process the connection and the
connection is successful; otherwise, the receiver responds with an
OFPT_ERROR message with the type field populated with ofp_error_type.
OFPET_HELLO_FAILED.
• Echo message: either switch and controller can initiate an Echo request
message, but the receiver must respond with an Echo reply message. This
message measures latency and the connectivity between controller and switch,
i.e., the heartbeat message.
• Error messages: when the switch wants to notify the controller of a problem or
error, it sends an Error message to the controller.
More and more complete message types can be viewed on the official ONF website.
OpenFlow switches, that is, switches that support the OpenFlow protocol, are based
on FlowTables to forward messages. Each flow table entry consists of match fields,
priority, counters, instructions, timeout, cookie and flags, as shown in Fig. 17.6. The
two key elements of forwarding are match fields and instructions.
528 17 SDN and NFV
1. Match fields consist of flow table fields, and the fields are matching rules, which
can be customized.
2. Instructions are used to describe the processing after matching.
• Match Fields: the flow table entry match fields (OpenFlow version 1.5.1
supports 45 optional match fields) can match inbound interfaces, physical
inbound interfaces, inter-flow table data, Layer 2 message headers, Layer
3 message headers, Layer 4 port numbers and other message fields.
• Priority: the priority of flow table entries defines the matching order of flow
table items, and the entry with higher priority is matched first.
• Counters: the counters of flow table entries can count how many messages and
bytes can be matched to the flow table entry.
• Instructions: the instructions set of flow table entries defines the instructions to
be performed by the messages matching the flow table entry. When a message
matches a flow table entry, the instructions set contained in each flow table
entry is executed. These instructions affect the message, the instructions set,
and the pipeline flow.
• Timeouts: the timeouts of flow table entries include idle time and hard time.
– Idle Time: after the idle time timeout, the flow table entry will be deleted if
no message matches it.
– Hard Time: after the hard time timeout, the flow table entry will be deleted
regardless of whether there are messages matching it.
• Cookie: it is the identifier of the flow table entry delivered by the controller.
• Flags: this field changes the management of the flow entry.
1. The collaborative application layer mainly includes various upper layer applica-
tions to meet user needs. Typical collaborative application layer applications
include OSS, OpenStack, etc. OSS is responsible for service collaboration of
the whole network, and OpenStack cloud platform is generally used in data
centers, responsible for service collaboration of network, computing and storage.
There are other collaborative application layer applications. For example, users
want to deploy a security App, and this App does not care about the specific
deployment location of the device and only calls the northbound interface of the
controller, like Block (source IP, Dest IP), and then the controller will give
instructions to each network device, and the instructions will vary according to
the southbound protocol.
2. The entity at the controller layer is the SDN controller, which is also the most
central part of the SDN network architecture. The controller layer is the brain of
the SDN system, and its core function is to implement network service
orchestration.
3. Network devices in the device layer can receive commands from the controller
and perform device forwarding.
4. Northbound interface (NBI) is the interface of the controller connected to the
collaborative application layer, mainly RESTful. RESTful is a network applica-
tion design style and development approach based on HTTP, and can be defined
using XML format or JSON format.
5. Southbound interface (SBI) is the protocol for the controller to interact with
devices, which includes NETCONF, SNMP, OpenFlow, OVSDB, etc.
530 17 SDN and NFV
build the NFV industrial ecology. 2015 saw the release of the first version of
OPNFV, which further promoted the commercial deployment of NFV.
On the road to NFV, virtualization is the foundation and cloudization is the key.
1. Virtualization
In traditional telecom networks, individual network elements are implemented
by dedicated hardware. The problem with this approach is that, on the one hand,
building a network requires a lot of interoperability testing and installation and
configuration of different hardware, which is time-consuming and laborious. On
the other hand, service innovation is dependent on the hardware vendors, which
usually takes a long time and is thus difficult to meet the carrier’s demand for
service innovation.
In this context, carriers want to introduce the virtualization model, which make
network elements resemble software so that they can be run on a general
infrastructure (including general servers, storage, switches, etc.). Virtualization
has the characteristics of partitioning, isolation and encapsulation, and is inde-
pendent relative to hardware, so it can well meet the needs of NFV, as shown in
Fig. 17.8.
By using general hardware, firstly, carriers can reduce the cost of procuring
dedicated hardware; secondly, service software can be developed rapidly and
iteratively, which also allows operators to quickly innovate their services and
enhance their competitiveness; and finally, this also empowers operators to enter
the cloud computing market.
2. Cloudization
Cloudization is the process of migrating existing services to a cloud computing
platform. As defined by the National Institute of Standards and Technology,
The NFV architecture is divided into functional modules such as NFVI, VNF and
MANO, and also supports the existing OSS/BSS (Operation Support System/Busi-
ness Support System) functional modules, as shown in Fig. 17.9.
In Huawei’s NFV solution (see Fig. 17.10), Huawei CloudStack can provide some
functions of NFNI: computing can be provided by FusionCompute, the storage can
be provided by FusionStorage, and network can be provided by FusionNetwork.
17.4 Exercises 535
17.4 Exercises
Open Access This chapter is licensed under the terms of the Creative Commons Attribution-
NonCommercial-NoDerivatives 4.0 International License (http://creativecommons.org/licenses/by-
nc-nd/4.0/), which permits any noncommercial use, sharing, distribution and reproduction in any
medium or format, as long as you give appropriate credit to the original author(s) and the source,
provide a link to the Creative Commons license and indicate if you modified the licensed material.
You do not have permission under this license to share adapted material derived from this chapter or
parts of it.
The images or other third party material in this chapter are included in the chapter’s Creative
Commons license, unless indicated otherwise in a credit line to the material. If material is not
included in the chapter’s Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to obtain permission directly from
the copyright holder.