Network De-materialization in Open Flow Network

This review paper presents about the study of DeMaterialization of Network known as Network Virtualization in SDN(Software-Defined Networking). It interprets the different paths to network virtualization in SDN. Also defines some contrasting mechanism to allocate resources.


INTRODUCTION
De-Materialization is a process of implicit adaption of the real system. The real system design of modern days applies the concept of openflow where the system utilities are dissociated from physical realization. Example of virtualization is the partitioning of storage device space like a hard drive to create two separate hard drives. The implementation of this generalization of conceptual model allows accomplishing operational objectives separated from the elemental physical infrastructure. In this modernized world, the workload can be migrated amidst physical servers and suspended if needed. Network De-Materialization divides a network. Once, the successful division of network is done then the numerous users and participants can share a single physical network. Several approaches were made to enhance the concept of dividing network where in , utilization of resources were improved through sharing, segregation of traffic amongst different entities was easy, was able to access limitless computing resources for faster and broader business capabilities and to simplify network management. During the implementation of the technique for dividing the network, the system should make sure that the traffic is separated amongst the users and there should not be any compromise in the confidentiality of virtual partitions. It should also implement the already formulated SLA"s(Service Level Agreement) and should be adjustable and feasible to avoid pricey interaction and strategy amongst the parties involved, by reducing operational expenses. Computer virtualization is taken into consideration to understand virtual networking. Virtualization allows efficient utilization of computer hardware, it uses a software to create abstraction layer over computer hardware and allows the hardware elements of a computer (Ex: processor, memory etc.) to be sliced into multiple virtual computers called Virtual Machine (VM) [1]. Each VM has its own private Operating System (OS) and behaves like an Independent computer. Thus, different hardware can have their own set of instructions, which leads to more efficient system. Operating system can be implemented for networks, Data etc.
As the virtualization is improved by slicing and sharing the resources, once the network is virtualized the mechanism for the allocation of resources need to be provided. Each module of virtual network should get a fair share of the resources. The race of resources in this process leads to cumbersome traffic which is called Stress point [2].

II. OPEN FLOW
Open Flow makes arrangement for network traffic behaviour either to be implemented within switches or the software that runs on SDN controller. It is based on Ethernet switch which has a flow table and group table that performs packets lookups and forwarding [4]. Here, the production traffic and research traffic is segregated. Hence, the research persons can try their advanced protocols without arousing any effect to production traffic. Every open flow switch has a basic set of behaviour and has 3 main parts: 1.) Flow table entry has the account of the actions performed by Flow Table. 2.) Secure Channel which connects switch to a controller. 3.) Open flow Protocol which is the standard way for communication between controller and switch.
Open flow provides a platform where more research can take place in the field of networking. It does not require any specific software for the experiments that runs on different networks.

III. NETWORK HYPERVISOR
Network Hypervisor [6] is a program which provides the abstraction layer for network hardware. It is a wide software layer throughout the network that maps logical forwarding plane to underlying physical hardware.Network Hypervisor provides logical service model to the software and implements desired functionality on the hardware.
The main different components include: 1. Control Panel: It is a basic mechanism that mentions the clear network functionalities either through manual configuration or programmatic control [8]. 2. Network Hypervisor: It provides abstraction layer for network hardware 3. Physical forwarding plane: Set of elements on physical network forwarding plane. 4. Logical forwarding plane: Logical abstraction of network. It has look up tables and ports. Look up tables consists of forwarding tables usually built around a pipeline of TCAMS [9] with forwarding actions. Ports can be logical ports which is bound to physical ports. The packets should go throughthe following sequence.
1.) Directing incoming packet to the correct logical context, which is done by contributing some identifying tag such as MPLS header [10]. 2.) Logical forwarding decision must be done. 3.) Directing the logical forwarding decision back to physical plane. At the edge of a logical forwarding it reaches one or more egress port on the logical network. 4.) Physical Forwarding. It preserves the graph by joining every switch in the network. It contributes an API which constructs and maps logical forwarding elements to its physical network.

Flowvisor[4] is a technique for control side virtualization. It is achieved as a protocol proxy which interrupts information among open flow active switches and open flow
controllers. Flowvisor layer is existing amidst underlying physical hardware and software that controls it. It hosts multiple open flow controllers, one controller per slice to control that particular slice assigned to it. A slice is a flow through switches [3]. Flowvisor ensures that every controller controls only the switches. It divides the flow entries of separate guest controllers. A slice is a small module of the entire space of packet header. In open flow, each of these flow entries will be made based on a 10-field packet header which is 256 bits long. Thus, there will be 2 pow 256 points in a 256-dimensional space. We can define various regions as a subset of space using bit masks if we define a header using 256-k bits(k denotes bit mask) then it has a k dimensional region. A slice is a small module of the entire space of packet header. This set of regions can be considered as a slice`s flowspace. Flowvisor acts as a transparent proxy between guest controllers and switch thus ensuring transparency and isolation between slices by the process of inspecting, rewriting and policing open flow messages as they pass. Flowvisor can control multiple switches and can virtualize another virtual network.

V. ADVISOR
Advanced Flowvisors similar to flowvisor except that in ADVisor virtual topologies [4] for each virtual networks are not restricted by the underlying physical topology. It is existing between the physical network and the controllers. It can slice a virtual topology frequently and can directly reply to open flow network. Several components like virtual nodes are signified as a set of tuples and using these tuples Virtual topologies are identified [5].
Main parts of an ADVisor includes: 1.) Topology Monitor which identifies whether the switch generating the open flow protocol message is at the endpoint of a link or a part of physical link. 2.) Link Broker which controls the switches which are present as part of a virtual link. Packets sent by these switches are controlled.

VI. NETWORK VIRTUALIZATION
As discussed above network virtualization is a process that is accomplished by slicing the network through data path and control channel virtualization. However, we need to ensure an appropriate separation among distinct virtual network and fair resource allocation. In datapath virtualization, separation needs to be established at link level and flow tables. A link level separation can be achieved by partitioning and encapsulation. The partitioning of the link is done by splitting it into multiple partitions, assigning one partition per virtual network [7]. Virtual network ID is a unique ID given to each Virtual network as link local encapsulation ID to which Virtual Network traffic will be mapped by in encapsulation process. In flow table, separation is done by two methods Flow space and table partitioning. Virtual Network will be assigned by a particular flow space. Every virtual network can move in to only that table where the match for a specific flow space is assigned to virtual network. In table slicing, the flow table is divided into multiple tables logically or physically and each VN is assigned a group of distinct flow tables. To ensure fair resource allocation at link level, we can use the classic QoS tools like classification, metering, colouring, policing etc. We mustcertifyunbiased allocation of resources on the control channel i.e. the network that connects controller to the switches. If the control channels for dissimilar virtual networks are multiplexed over a particular cp connection it is difficult to discriminate control channels and to enforce QoS .If switches allow different controllers to connect and control the Virtual networks using different source or destination IP addresses or port numbers, the control traffic can easily distinguish between different connections and thus enforce QoS policies.
Control channel can be executed as out band or in band control channel.
1. Out band control channel:  Control signals and data traffic goes through distinct channels.  It is simple and easy to design.  More expensive as a result of extra network and ports on hardware. 2. In band control channel:  Data and control traffic goes through same channel.  Channel is weak to misconfigured [11] flow table entries for all packets. It will be more beneficial to enforce in band channel, if QOS support is given to control traffic entering and outgoing from switch.

VII. CONCLUSION
Virtualizing a network supports in reducing the number of physical devices needed, effortlessly segments the network, improves resource utilisation, helps on the research of new protocols.