On the Feasibility of Deploying Highly Resilient Data Plane Forwarding Mechanisms Using Programmable Switches

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Abstract: Network downtime is costly for providers of information technology services. One cause of network downtime is link failures. The control plane of the network is the entity responsible for ensuring connectivity upon link failures. The data plane of the network forwards packets at line speed and it is controlled by the control plane. One disadvantage of ensuring connectivity at the control plane level is the time needed to react to a failure. The control plane is several orders of magnitude slower than the data plane. Moving the connectivity responsibility to the quicker data plane has therefore the potential to reduce network downtime. This work explored what level of connectivity robustness can be achieved when implementing data plane connectivity algorithms in today’s high-speed speed programmable switches. A literature study of several data plane connectivity algorithms was conducted. A critical aspect considered in this study was the simplicity of the data plane connectivity mechanism as high-speed programmable switches cannot support arbitrarily complex forwarding function. Data-Driven Connectivity (DDC) was selected as a suitable algorithm due to its high guaranteed connectivity and algorithmic simplicity. DDC was implemented in a virtual network environment using P4 programmable software switches. Our solution automates the generation of the virtual network based on a topology description. It also initializes the switches and generates the specific DDC P4 code for each switch. All the functions of DDC P4 have been tested to verify that each function behaved as expected. The path optimality of DDC P4 after several link failures were evaluated on the emulated Google’s wide area network topology, called B4 (2011). The path optimality evaluation shows that the path stretch of DDC P4, i.e., the gap from the shortest path in the number of hops, is not optimal for about 30% of the possible source/destination node pairs in the topology. The throughput of the DDC P4 was also evaluated along different number of link failures. The throughput results show a linear decrease in steps of 0.4 Mbps depending on which outbound link was utilized, starting from a throughput of 6.3 Mbps in the absence of failures. The current DDC P4 implementation does not scale well due to duplicate code for each destination in the topology. Both improving the scalability of the current implementation and an implementation on a hardware programmable switch remain as future work.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)