Keywords

1 Introduction

An evolving networking technology coming into prominence is “Software Defined Networking” (SDN) [1]. SDN separates the control plane and data plane in networking devices such as routers and switches with the help of an API. All the routing decisions are done by a centralized device called controller and the forwarding done by a dumb device, such as a switch.

A controller talks to the underlying network device, i.e. the forwarding switch via the “Southbound API”, this is a protocol which talks from switch to controller and vice versa. One such popular protocol is, OpenFlow protocol by the Open Network Foundation (ONF) [2]. This is a flow-based protocol. The routing decisions from the controller are inserted into the forwarding switch, which is now called as OpenFlow switch as flow rules into the flow table of the switch. The applications are the “Northbound APIs” which sit on the controller for various applications as shown in Fig. 1. An analogy to a computer would better explain what SDN is. Similar to the way we install programmes on the OS of our computer (e.g. Browsers, text editors, softwares IDEs, etc.), APIs are written to the NOS (Network Operating System) of the controller.

Fig. 1
figure 1

SDN architecture

There is a huge need for flexibility and programmability of network in the present day world. Due to virtualization, a single machine can be partitioned into many servers. A virtual instance of a server can be modified, cloned and can be used as another virtual server by starting it as another new instance. So it is easy for migration of server from one machine to another. But it creates a problem in the legacy Hardware Defined Networks (HDN). A major problem will be caused with VLANs whenever a VM moves, VLAN has to be reconfigured. In general terms, to match the flexibility of server virtualization, the network manager needs to be able to dynamically add, drop and change network resources and profiles. This process is difficult to do with legacy network switches, in which the control logic for each switch is co-located with the switching logic. Another need is, rapidly increasing mobile devices such as smartphones, PDAs, tablets, notebooks accessing the network. Network managers must be able to respond to the changing QoS and security requirements [3].

2 Analysis of Latency of Packets in SDN

The traditional way of measuring a network’s performance is the packet latency and the throughput. The later is dependent on the foster. An SDN-based network has less latency per packet and hence an increased throughput compared to the legacy HDN. Since hardware testbeds are time-consuming and costlier, simulators are used. The emulation for SDN is done using Mininet [4], an SDN emulator and for HDN, the emulator used is GNS3.

2.1 Hardware Defined Network

A network emulated in GNS3 is shown in Fig. 1.

GNS3 is a network emulating software used to design networks in lab environments for testing and study purpose [5]. A sample network as shown in Fig. 2 is created. Once the network is up and running, the latency of the packets can be determined by conducting a ping test between the hosts. Figure 3 shows the time taken for a ping packet to reach from host H1 to Host H3.

Fig. 2
figure 2

A legacy hardware defined network emulated in GNS3

Fig. 3
figure 3

Ping test conducted from H1 to H3

Figure 4 shows the ping test conducted from H3 to H1. On observing the time taken by a packet, it can be analysed that the latency is consistently more and same for every packet.

Fig. 4
figure 4

Ping test conducted from H3 to H1

Analysis

  • On observing Figs. 3 and 4, the latency for every packet from H3 to H1 is either same or more.

  • When the first packet from the source arrives at switch, the switch registers in its CAM table (or MAC table) the MAC and IP address of the source host corresponding to the port at which the packet arrives.

  • The switch checks its CAM table for the destination address in the CAM table. Since this is the first packet and there is no entry for the address, the switch forwards the packet to the router for the routing decisions.

  • The router makes the routing decisions and sends the routing decision entry to switch. The switch forwards the packet accordingly and flushes the entry.

  • This process repeats for every packet that arrives consecutively to the switch leading to high latency of every packet.

2.2 Software Defined Network

Mininet is an emulator for rapid prototyping of SDN with limited resource. Mininet creates virtual networks as shown in Fig. 5. A Controller (Control Plane), for making routing decisions, a switch for forwarding the packets based on the controller’s routing decisions. The switch buffers the flow entry inserted by the controller into the flow table of the switch. This eliminates the necessity of contacting the controller for routing decision for every packet, thus reducing the latency of the consecutive packets after the first packet.

Fig. 5
figure 5

SDN single topology with three hosts, simulated in Mininet

The topology shown in Fig. 5 is created in the Mininet network emulator by issuing the following command:

  • sudo mn --topo=single,3 --mac --switch=ovsk--

  • controller=remote,ip=192.168.3.50,port=6633

The controller chosen is POX controller [6]. Once the network is created, the controller has to be instantiated. This controller is a remote controller on the IP address 192.168.3.50 over port 6633. Figure 6 shows the information of the OpenFlow switch connected to the controller.

Fig. 6
figure 6

POX controller on the IP address 192.168.3.50

The controller is up and now connected to the OpenFlow switch, which is on IP address 192.168.3.32. The virtual hosts H1, H2 and H3 that are created are connected to the OpenFlow switch via virtual Ethernet links. Conducting a ping all the tests determine the connectivity of all the hosts to the network. To determine the latency of packets in SDN, a ping test from H1 to H2 is conducted as shown in Fig. 7.

Fig. 7
figure 7

Ping test from H1 to H2

Analysis

  • On observing from Fig. 7, the first packet takes 21.8 ms, i.e. more time compared to the consecutive packets. All the consecutive packets take very less time compared to the first packet.

  • The reason for first packet to take longer is, the routing decision happens only for first packet. Once the controller inserts the flow rule for the first packet, the switch buffers the flow rule in its flow table for 30 s.

  • The consecutive packets are forwarded by the switch without contacting the controller for the routing decision.

  • After 30 s, the buffer is timed out and the flow table is cleared. Again the same procedure repeats.

3 Conclusion

The work in this paper proves that the latency of the packets in SDN is very much less than that for the legacy networks. Thus the throughput is high comparatively. Many other performance parameters like CPU usage and bandwidth can also be measured using command like iperf in Mininet. This command gives the bandwidth usage of the link.

Thus SDN is the future of the networking world with better performance than the legacy HDNs.

Table 1 summarizes the HDN and SDN packet flow.

Table 1 Comparison of the packet flow in HDN and SDN