SCLP: Segment-oriented Connection-less Protocol for high-performance software tunneling in datacenter networks

The notion of Software-Defined Networking (SDN) has already been introduced into cloud datacenter networks for provisioning virtual network environment. Network virtualization of today is generally achieved by L2-in-L3 tunneling protocols like VXLAN (Virtual eXtensible LAN) and NVGRE (Network Virtualization using Generic Routing Encapsulation) in public cloud datacenters. Some leading production packages for network virtualization have adopted an Edge-Overlay model that performs tunnel encapsulation and decapsulation processes at high-functional virtual switches to utilize existing network equipment. However, a severe performance problem arises because of the software-based tunneling processes.

Alternatively, the STT (Stateless Transport Tunneling) protocol overcomes the problem by modifying the semantics of the TCP header, but such changes in semantics raises pragmatic issues in that network middleboxes can discard STT packets as an anomaly. In this paper, we propose a novel layer 4 protocol (Segment-oriented Connection-less Protocol, SCLP) for existing tunneling protocols such as VXLAN and NVGRE. SCLP is designed to not only accelerate the throughput of tunneling protocols, but prevent the packet discarding problem by providing a single-semantic header. Specifically, SCLP can exploit GRO (Generic Receive Offload) feature supported by the Linux kernel to reduce the number of packets to be software-interrupted. We implemented the SCLP protocol and applied it to the VXLAN protocol instead of UDP. As a result, the throughput of the VXLAN over SCLP protocol was almost doubled to the original UDP-based one at maximum.