Openflow Path Fast Failover Fast Convergence Mechanism

Whenever there is a link failure in the network, OpenFlow controller can react by computing a new backup path and provide the information to the affected node or the node can switch to backup path locally using the predefined backup path table provided by the OpenFlow controller. Setting predefined backup paths, results in a faster network rerouting time compared to backup path that establish on demand. However, it may lead to the use of sub-optimal backup path. In this paper, we present a fast and efficient failover mechanism for redirecting traffic flows to more optimal backup path when there is a link failure or congestion problem. We introduce a switch flow entry expiry mechanism to immediately reroute traffic to backup path to reduce the network restoration time. To update the switch with more optimal path information, the controller require a round trip to the network and this can introduce to slow network convergence. We proposed a local pre-calculated path dataset mechanism in Openflow controller to allow fast network convergence.


Introduction
To ensure application services are not interrupted during flight in the network, SDN must impose a mechanism to continue to forward traffic whenever there is a link or node failure.Therefore, as in traditional networks, SDN adapt to failures by forwarding the traffic flows over alternative path similarly to any link-state routing protocolreconverge after link failure is detected.By preparing multiple backup path routing table ensure faster network restoration time by performing autonomous local rerouting.In SDN, central controller does the computation of working path and the information is being push to the Openflow switch flow table and to achieve faster restoration, backup path can also pre-computed in advance.This paper shows our design of Openflow enhancements that aim to help to relieve some load off from the controller and a fast reroute mechanism to achieve carrier-grade network restoration time that can be an extension for the current Openflow and do not impose radical changes to it.The rest of the paper is organized as follows.Then, Section 2 provides the details of our proposed fast failover and fast convergence for Openflow switch and controller architecture design approach.Finally, Section 3 concludes this paper.

Path Decision Selection
We use optimization of traditional Djikstra algorithm to decide the path for traffic which has lower hop count and less congested path.We include queuing delay as a metric that use together in shortest path selection algorithm.Initialization and other else process are the same like traditional Dijkstra algorithm except the formula to calculate the distance to each node.The algorithm are as follows: for each neighbor v of u; (1) We define queuing delay (dqueue) as the time required by a packet to spend in a node while waiting for other packets to be transmitted.dqueue is related to network transmission delay, dtrans by the following approximate equation: We also define the transmission delay as the time required by a node to put an entire packet into the communication media and it can be computed by the following equation: where L is the length of a packet in bits and R is (3) the transmission rate in bits per time unit By optimizing the Dijkstra algorithm, we aim to enable the Openflow controller to decide the best path for the traffic that has lower hop count and less congested path.

Less Congested Path Fast Failover Network Model
There are many works done in literature focusing on determining backup path to ensure network reliability, most notably [1] where they proposed a method that use a multiple backup routing table installed in every node and the routing table selection decision is based on the network state.In our proposed design, we will provide one single backup path for every main path in only one single switch flow table to reduce the possibilities of flow table explosion.In this paper, we adopt OpenFlow technology [2] which can provide the programming flexibility of network to realize our IP fast rerouting forwarding in SDN.Combination of both optimal path discovery and fast reroute mechanism is known to provide the best solution for network service restoration [3] where we introduce the combination of local and global repair strategy for our mechanism.In previous proposed fast reroute mechanism for SDN [4] [5] [6], one most notable similarity problem is that the backup path that use by the traffic might be sub-optimal backup path.Even though it achieve fast restoration time, based on the fact that the network is not always stable and might congested, the predefined backup path flow entry in Openflow flow table can led to the use of sub-optimal path.In our work, we aim to reduce the packet transmission delay from source to destination and minimize the problem of the sub-optimal backup path by implementing partial-update and full-update but ensure fast restoration at the same time.

Methodology
In our proposed mechanism, the central Openflow controller will compute the main best path based on current network topology (delay factor considered) and to protect against links and interface failure, best backup shortest path from source to destination based from the current topology information is also computed.Then, the controller will install the main and backup path information to respective Openflow switches flow table.The main and backup path will be differentiate by using priority field where the main path will have higher priority than the backup path (priority field is enabled by Openflow since [7] function as matching precedence of flow entry).When a failure disrupts the main working path, in Figure 1, the affected switch port notify about the link failure state to the affected switch.Then, the switch will send a port-status message to controller to notify that a link is in down state.While OpenFlow switch inform the controller about the failure, to avoid any delay that might interrupt the communication, we proposed that the main path flow entry will be automatically evicted from switch flow table and it will switch to backup path to continue the traffic to destination (locally switch to provide a fast failover without a round trip to the central controller).Next, the controller will check locally all flow entry that affected by the link failure and it will use pre-computed new less congested backup path based on latest network topology information (excluding failed path) to continue traffic.(We introduce fast convergence mechanism in Section 2.3).After the controller had determine the new backup path, it will send the information and packet will be redirect to new less congested path.

Faster Convergence
Alternatively, the new backup path can be computed on demand after the failure happen.However, it can take quite a long time to recalculate the topology in case there are a lot of nodes because the algorithm has to calculate a path for all the nodes involve one-by-one.According to [8], the best strategy that possible is to pre-compute the backup path but not pre-establish the information to the nodes in the topology until it needed to.In our mechanism, we assume that the controller has the overall network topology information and it was updated from time to time periodically.We propose the Openflow controller to have a local dataset of latest path information and do a pre-computation of path flow based on it.After push the main and backup path to switches, the controller will recalculate to decide the new less congested backup path for the whole topology after it was updated by the network periodically.Controller continue to recalculate once updated with new information by the network.Once the controller get the notification about a link failure, it will perform simple lookup in its local dataset to find whole flow entry that affected by the failure.Finally, controller will delete all affected flow entry in all switches and replace with new backup path using add and modify-state message.

Future Work
With the proposed solution, it is believed that the mechanism can smoothen the network traffic due to network failure by providing fast redirection to backup path and to make sure that traffic are redirect to more optimal path that available in the network.As our future work, we will conduct simulations under various scenarios where the network has the link failure and network congestion possibilities.

Figure 1 .
Figure 1.Main skeleton for optimal path fast reroute algorithm.

Figure 2 .
Figure 2. Proposed Local Dataset of Path Information in Openflow Controller.