Open Daylight is open source SDN controller now has its fifth release called Boron at the time of writing this topic. ODL release naming structure starts from first element of periodic table starting from Hydrogen and releases at least two new release per year.
ODL has been now widely used on Green fields environment , Service Provides , Enterprises networks, multivendor support, Datacenter networking , Cloud , Full SDN campus network , resource Optimization , Network automation.
ODL supports various southbound protocol like OpenFlow, OVSDB which further communicates with standard hardware and Open vSwitch. These protocols also helps us to deploy ODL in multivendor environment and control different hardware from single console.
Various Open Daylight Modules
Open Daylight has integrated various modules and plugins which are further used for various datacenter functions required for SDN network setup. Some of the ODL modules are discussed below.
Authentication, Authorization & Accounting:
This module provides Authentication, Authorization and Accounting feature in SDN. Each of three features has different function.
- Authentication: It is used to provide or check authenticity of users and machine using SDN.
- Authorization: What actions or task users or machine are authorized to perform.
- Accounting: what task has been performed by users or machine, it records them.
BGP LS PCEP:
BGP path computation element protocol is the South bound protocol which is used between SDN controller and Routers to override routing and forwarding tables. It talks to routers and has a limited support on specific routers, whereas BGP LS (Link state) is a protocol that distributes link state information of routing protocols.
Application-layer Traffic Optimization (ALTO):
ALTO is the protocol that provides network information or we can say network view to SDN applications.
It has five services:
- Network Map Service: It provides the ALTO Network MAP to all ALTO clients
- Cost MAP Service: It provides the Cost between defined groupings.
- Filtered MAP service: In this ALTO clients send request more specific network map or cost map to ALTO server.
- Endpoint Cost Service: ALTO servers provides the cost of direct endpoints.
- Endpoint Property Service: By this service ALTO clients can see or lookup the properties for each individual clients.
Bit Indexed Explicit Replication:
In SDN Multicast traffic is also handled by controller, and it is the controller that provides the function and also build the global state table for multicast flows. Multicast packet enter a BIER domain via BFIR Bit-Forwarding ingress Router ( BIER provides multicast routing in SDN network ) and leave the domain by or via Bit-Forwarding Egress Routers ( BFFR ) and when traffic enters the ingress BIER router add the BIER header to packet which has information of each BFER to forward the packet to it. Now A set of BFER to which this multicast packet is to be sent, those BFERs information is there in header.
CAPWAP is the Control and Provisioning of Wireless Access Points southbound protocol or modules that helps in managing the wireless network, AP by ODL.
Cardinal Monitoring Service:
This service or module helps in monitoring the SDN network remotely by NMS (Network Management Systems). It also provides northbound REST API and SNMP (v2c, v3) to ODL.
It provide SNMP trap features to all SDN network devices and also provides authentication and encryption via SNMP v3 as secured communication between ODL and NMS.
It helps in collecting security information from endpoints, Flow tables and reports them to system to analyze and provide information about an attack. So by this information, we can configure all the security devices manually or dynamically to avoid security attack.
Device Identification Driver Management (DIDM):
DIDM identifies the devices in network and its features and protocol they support. By identification of the feature it select the correct southbound protocol which is best to communicate those devices. Any DIDM has following function it performs to complete these above task:
- Discovery: It discover the Network devices which supports OPENFLOW protocol, and all those devices that don’t support OPENFLOW must be discovered manually via GUI or REST API.
- Identification: After discovery it determines the type of device.
- Driver Registration: This features helps in registering the device driver.
- Synchronization: This helps in device information, configuration and link information synchronization.
- Common features Data Models definition: A proper data models will be defined to perform the common features like VLAN configuration
With this APP, the ODL web GUI is enabled and it is the web user interface of ODL. This DLUX has two parts one is called CORE and another is APPLICATION.
CORE: It provides basic function like navigation, authentication etc.
APPLICATION: Application are built on top of core and there are following application available in DLUX:
- YANG UI
- YANG visualizer
Fabric as a Service:
FaaS creates the abstraction layer on top of physical network which makes easy to map the northbound API and real physical network.
It creates a model of physical network topology that consists of abstracted nodes and fabrics (Physical or virtual). To understand this let’s suppose you want to configure a VLAN in some racks of datacenter, now you just have to declare how the fabric (L2 VLAN) should look, and then FaaS will find out how the physical switches in network are configured and which south bound protocol they support. Once this activity is performed FaaS will deliver the VLANs that you have requested.
With the help of L2 Switch module, ODL provides basic Layer 2 function in SND network. Following are the basic L2 function that ODL provide by this module.
- Packet Handler: Handles how to process the incoming packet and forward as required.
- Address Tracker: Build and maintain mapping table with information like Host MAC, Connected Switch ID, Switch Port, VLAN, VNI etc.
- Path Computation Service: calculates the best path between source and destination.
- Flow writer: once a best or optimal path is computed, this feature writes the flow table on each SDN switches.
- STP service: This service participates the ODL in STP.
Link Aggregation Control Protocol:
LACP modules helps in aggregation of multiple links after discovering between ODL network and other LACP-enabled endpoints or switches, Routers, Firewall, and load balancers. This module by SAL packet processing service receives the LACP control packets and sent LACP control packets through all the active switch ports at regular interval. This module only aggregate external links and ignore LACP packets receives through internal links.
Network Address Translation (NATApp):
This module provides the NAT service to ODL and installs the flow rules in Open Flow switches. It supports following NAT types:
- Static NAT
- Dynamic NAT
- Address-restricted-cone NAT
- Port-restricted-cone NAT
- Hair Pinning
It is southbound protocol which helps to support the Network Vendors products like Cisco. It allows remote configuration or communication with network devices like routers or switches who too supports NETCONF. It also acts as NETCONF server for northbound users or queries.
It is the network virtualization solution that has components for Open vSwitch software switches, hardware VTEP for hardware switches.
This module in ODL helps it to integrate the ODL with OPENSTACK. It is one of the example of northbound protocol.
ODL-SDNi SDN Interface:
This interface helps in communication between SDN controllers mainly while forming clusters to exchange various information like configuration, states, with each other. It is very much used on SDN clustering.
OF-CONFIG Open Flow Configurator:
This helps ODL to configure data path remotely on Open Flow switches. It is used to carry communication from ODL controller back to SDN switch.
OpenFlow Protocol Library:
It is the driver which enables communication between ODL controller and OpenFlow switches on port 6653 (TLS encryption) or 6633(for non-secure encryption)
It is southbound protocol created by cisco which is mostly used in nexus 9000 series switches and in their controller called APIC. This Module is present in ODL provide communication between ODK and switch which support OpFlex.
It has three component:
- OpFlex protocol
- OpFlex Southbound plugin
- OpFlex policy agent
It is the protocol which manages the OVS enabled switches and virtual switches. ODL via this protocol view, modify, create, delete OVS object such as bridge and ports.
This OVSDB has two function:
- OVSDB southbound plugin
- OVSDB hardware vTEP plugin.
This module helps ODL to provide the VPN service in mainly Service Provider Network like MPLS not to IPSEC VPN. This module provide Layer3 VPN service based on BGP-MPLS and not L2VPN service.
This Module provide following L3 VPN service:
- L3 VPN Manager
- MP-BGP routing Stack
- MPLS label Manager
- Next Hop Manager
- FIB Service
Virtual Tenant Network
With the help of VTN , it helps us to create the virtual tenants and provide private cloud orchestration platform such as OpenStack , VMware vSphere. VTN is used to provide communication between VFV function, create virtual routers, and assign IP address, program flow tables. It also helps in providing communication in tenant among multiple network like Inter VLAN routing.