Software Defined Networking - Information Security

Exclusive

Post Top Ad

"Be Aware, Be Secure"

Post Top Ad

"Information Security is everyone's Job"

Wednesday, July 06, 2022

Software Defined Networking

What is an SDN?




Before we look for a perfect definition of SDN we should know how many kind of definitions are floating out there for SDN.

1.       Open SDN (Openflow) – Open networking foundation which is org. in charge of openflow standard defines SDN as separation of control and data plane where the networking devices are controlled/updated using the openflow protocol.

2.       SDN via APIs – Cisco used this concept. Functionality of networking devices is exposed using a rich API. Developers can manipulate networking devices using richer APIs.

3.       SDN via Overlays – VMware use this concept.

 

We are going to mainly focus on first one which is Open SDN.

To understand SDN in a better way, let’s take an example.



**This diagram shows SDN architecture**

In a traditional environment for e.g., a company has three devices or switches and each device has local control plane and data plane. Control plane is essentially the brain of a device. Protocols like OSPF (distributed routed protocol for exchanging routes b/w the devices) is implemented locally on each device. So, each device has a local brain here and each device has to work independently (none of device has complete visibility of the network) and together they have to synchronize a link state database (to know state of network topology at a given point of time). If you have multiple n/w device and using CLI from management point of view you would have to connect individually with each device and typically manually configure that network device. Each of all devices also have local data plane which states how packets are forwarded through the device.

 

Each switch has a local control plane (local brain of the device) also has local data plane (used to forward the traffic through the devices / copy of routing table) e.g., how a packet will be sent from one port to another (programmed using a control plane or using a MAC address table) and this information gets pushed to hardware.

From management point of view each device has local management plane means if we have 100 such devices, we will have all 100 control planes, 100 data planes, and 100 management interfaces to manage those devices and will have to connect via TELNET or through CLI to manage them all.

Different network devices have their own proprietary OS and interfaces. E.g., HP, CISCO, and Juniper. It becomes very difficult to create an application / new routing protocols that is installed in those OS.

In other words, we can’t develop a new routing protocol and install that across all devices. So, this limits innovation. It would make much sense to open up networking devices to allow people to develop applications / protocols / utilities that allow for rapid innovation / automation in networking.

 

So, to overcome these limitations we use a centralized controller using Open SDN which helps to create open interface by having an abstraction layer to allow for rapid app development. In this case user doesn’t need to be aware of details/requirements ASICS (Application specific integrated switch – Special chip application hardwired to do a specific job). Using Rest API/ Java API controller take care of nitty gritty of updating flow tables on switches. It will push policies or configuration down to network devices. For this we can use BASH scripts to program flow entries.

Key points to be noted –

1.       Application layer uses Northbound API (Rest/ Java)

2.       Controller uses Southbound API (Openflow / Network configurations / SNMP) to update flow tables to manipulate traffic

3.       We use four directions here North, South, East and West. North shows communication between application and controller and south reflects communication between controller and network devices and east/west shows multiple controllers to do the same task parallelly.

We have a very good example on use of SDN which is implemented in a tool from HP i.e., HPE (HP network protector).

Please read official documentation for this tool here – HP Network Protector using SDN Application


No comments:

Post a Comment

Post Top Ad

"Cyber Security= Expect the UNEXPECTED"