Chapter 5 Multi-domain SDN Automatic Provisioning Framework
5.2. Multi-domain SDN Provisioning Challenges
Network provisioning is a subset of the network operation processes that are defined by the TeleManagement Forum (TMForum) as the Enhanced Telecommunications Operation Map (eTOM) – The Business Process Frameworx [99]. In this standard, the TMForum defined network provisioning as a resource provisioning process in the resource domain. Resource provisioning is defined as encompassing allocation, installation, configuration, activation and testing of specific resources to meet the service requirements, or in response to requests from other processes to alleviate specific resource capacity shortfalls, availability concerns or failure conditions.
5.2.1. Automated Provisioning
The provisioning of a service in a network involves network operator roles and processes. Network administrators and engineers are the actors who stand in the first line to satisfy customer demand. They need to create and modify the network configuration to balance
the customer requirements with efficient network operation.
The network provisioning automation was developed in part by the motivation to reduce operational complexity and capital expenditure by diminishing human involvement in network operational tasks, as well as optimisation of network capacity, coverage, and service quality [100]. Automation was introduced through the integration of network planning, configuration and optimisation, into automated processes that require a minimum of human intervention. The TMForum has released a definition of their zero- touch provisioning for network management and operation as part of their Zero-time Orchestration, Operations and Management (ZOOM) model [101]. This zero-touch operation was defined as a self-service operation which can respond with the speed and agility to outpace competitors, and as guidance, it should require minimal intervention from expert resources and enable customer configuration.
One of the simplest examples of zero-touch provisioning is the IP address assignment using the Dynamic Host Control Protocol (DHCP) server as described in [100]. In this example, the IP address allocation should be configured using the DHCP server. A computer or any device that is connected in the same network will send a DHCP query and the computer is configured with an IP address allocated by the DHCP server without any end-user intervention.
The use of SDN in automatic provisioning has been mentioned in the TMForum [101]. The programmability of SDN creates an opportunity to develop software that carries out automatic provisioning.
5.2.2. SDN Provisioning
The addition of two network devices usually identifies SDN networks - the controllers and OpenFlow enabled switches. The two network elements work together to facilitate
the control and management of network traffic and to transmit network traffic from one location to another. The controller manages the traffic in the network by manipulating flow entries inside the flow tables found within SDN enabled switches. Flow tables also contain the instructions to be applied to the traffic. When a packet arrives at a switch, the switch will match the header fields with flow entries found in the flow table. If any entry matches, the indicated actions are performed, and switch counters are updated. If packet header fields do not match an entry in the switch flow table, the switch will ask the controller for instructions on what to do with the packet by sending a message to the controller with the packet header. The matching process can be observed in Figure 5-1.
Figure 5-1 Example of Matching Process in SDN.
Figure 5-1 provides examples of the fields of flow entry rules in a flow table with possible actions. This example shows the fields of a packet header. As explained in the OpenFlow specification [30], the match fields identify a unique flow entry in a specific flow table. The specification also explains that a flow entry instruction may contain actions to be performed on the packet at some point of the pipeline. Therefore, every flow table will
RULE ACTION STAT
Packet + Counters
1. Forward packet to port(s) 2. Encapsulate & forward to controller 3. Drop Packet
4. Send to normal processing pipeline
Switch Port MAC src MAC dst Eth Type VLAN ID IP src IP dst TCP psrc TCP pdst
Flow Table with 3 sections Control Plane: SDN Controller
Network Applications Data Plane OpenFlow Flow Table Flow Table OpenFlow
have its own match fields along with its actions, in accordance with the OpenFlow specification.
In a single domain SDN architecture, OpenFlow is the protocol that is used to pass messages between the OpenFlow enabled switch and the controller’s southbound interface. Before the controller and OpenFlow enabled switch can talk to each other, the administrator will pre-configure the OpenFlow enabled switch to be paired with the controller. Therefore the OpenFlow enabled switch will always accept flow entries from this controller. The OpenFlow specification [30] defines the OpenFlow messages that are used to add, modify or remove flow entries of flow table. This will change how the network behaves and the basic provisioning process in SDN.
In the multi-domain SDN architecture, the first challenge to do provisioning between SDN domains is to identify how information be exchanged between the domains. The second challenge is how the information can be understood as a network provisioning request. Both challenges are basic requirements that need to be fulfilled to implement provisioning in multi-domain SDN.