Computer networks are vastly utilized and relied upon across the globe to transfer or share information between two or more places. Computer networks are used by users for a variety of purposes, including communications via emails, chats, tele-calls, video conferencing; and access of data and resources from one or more computers on the computer networks. The need of transferring or sharing information via computer networks has increased many folds. Thus, it is important to have computer networks that are capable of high performance, are easy to configure and involve low implementation costs.
A computer network, also referred to as a network, typically involves one or more network devices, such as network switches and network routers, apart from other components, for the purpose of transferring of information between two or more end users. The information is transferred in the form of digitized data packets, simply referred to as packets. At a network device, packets are received at one or more input ports of the network device and are forwarded to one or more output ports of the network device. The forwarding is based on the path or the route of the packet, for being forwarded to an end user, which may in turn be based on the configuration of the network.
Typically, each network device in a network is configured with an in-built control logic, also referred to as the control plane. The control logic determines forwarding rules or conditions that allow the network device to control the forwarding behavior or flow of packets between the input and output port(s) of the network device. Although, such network devices with the control logic are capable of determining the forwarding rules or conditions, their functioning is complicated and configuration is complex. In addition, such network devices are costly, which increases the overall cost of the network.
The above mentioned problems involved in typical network devices, such as network switches, are solved with the advent of OpenFlow technology. In an OpenFlow network, the control logic is not a part of the network device but resides on an external device, such as a controller, on the network. The controller communicates information related to forwarding rules based on packet headers of packets to the network device. The flow of packets, through the network device for further transferring, is controlled based on the forwarding rules. Typically, a single controller can operate to communicate information related to forwarding rules to one or more network devices. Thus, with the OpenFlow technology, the functioning and the configuration of network devices become simpler, troubleshooting a network device issue becomes easier, and the cost of the network devices gets reduced, which makes the implementation of the computer network cost effective.