
Improving High-Performance Software Tunneling in Datacenter Networks
Enhance the performance of overlay-based virtual networks through Segment-oriented Connection-less Protocol (SCLP) with proposals like VXLAN and Geneve. Explore network virtualization, tunneling protocols, and evaluate VM-to-VM communication using VXLAN over SCLP. Dive into the world of multi-tenant datacenter networks, NVO3 approach, and major tunneling protocols.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
SCLP: Segment-oriented Connection-less Protocol for High-Performance Software Tunneling in Datacenter Networks Ryota Kawashima Shin Muramatsu Hiroki Nakayama Tsunemasa Hayashi Hiroshi Matsuo Nagoya Institute of Technology, BOSCO Technologies, Inc.
The Goal Improving performance of overlay-based virtual networks Our Proposal VXLAN (UDP) Geneve (UDP) (SCLP) (SCLP) SCLP 1
Outline Backgrounds Network Virtualization Tunneling Protocols L4 protocol characteristics Proposal SCLP (Segment-oriented Connection-less Protocol) Evaluation VM-to-VM communication using VXLAN over SCLP 2
Network Virtualization Multi-tenant Datacenter Networks Each tenant can have its own virtual networks Each virtual network shares the physical network resources Virtual networks Tenant 1 Tenant 2 VM VM Tenant 3 VM VM VM VM VM VM VM Physical network 3
The Overlay-based Approach NVO3: Network Virtualization Overlays RFC 7364, 7365 NVE : Network Virtualization Edge VM VM Virtual Network NVE NVE Virtual Network VM VM L3 tunnel Physical network 4
Outline Backgrounds Network Virtualization Tunneling Protocols L4 protocol characteristics Proposal SCLP (Segment-oriented Connection-less Protocol) Evaluation VM-to-VM communication using VXLAN over SCLP 5
Tunneling Protocols L2-in-L3 Tunneling Ether Ether VM VM L2-L4 hdrs Ether Ether L3 tunnel Virtual switch Virtual switch Physical server Physical server Ether 6
Major Tunneling Protocols VXLAN (RFC 7348) UDP based Linux kernel, OVS, VMware NSX, Cisco Nexus 1000V Ethernet (Physical) IP Ethernet (Virtual) UDP VXLAN Payload FCS (Physical) NVGRE (RFC draft) GRE based (no L4 protocol) Microsoft Hyper-V Ethernet (Physical) IP Ethernet (Virtual) (Physical)NVGRE Payload FCS 7
Upcoming Tunneling Protocol Geneve (RFC draft) UDP based TLV option header H/W segmentation offload (future) Ethernet (Physical) IP Ethernet (Virtual) UDP Geneve Opt. Payload FCS (Physical) 8
Yet Another Tunneling Protocol STT (Stateless Transport Tunneling, RFC draft) Pseudo-TCP header Exploiting TSO (TCP Segmentation Offload) feature Semantics of header fields are modified VMware NSX Ethernet (Physical) Ethernet (Virtual) IP STT pTCP Payload FCS (Physical) Protocol number is 6 (TCP) "This is a usual TCP packet !" NIC 9
Problems of Existing Protocols Performance VXLAN, NVGRE, Geneve Maximum throughput falls to one-half ! Compatibility STT Middleboxes can discard STT packets ! 10
Outline Backgrounds Network Virtualization Tunneling Protocols L4 protocol characteristics Proposal SCLP (Segment-oriented Connection-less Protocol) Evaluation VM-to-VM communication using VXLAN over SCLP 11
L4 Protocol Types Message-oriented (e.g. UDP) Packets are independent of each other Segment-oriented (e.g. TCP) Each packet has byte-level sequence Consecutive packets can be reassembled 12
Why is L4 Protocol Important ? Message-oriented Segment-oriented A VM sends a large Ethernet frame A VM sends a large Ethernet frame The frame is encapsulated and divided to multiple packets The frame is encapsulated and divided to multiple packets Consecutive packets are reassembled Each packet is decapsulated and forwarded to a destination VM Each reassembled packet is decapsulated and forwarded to a destination VM The VM handles lots of frames 13 The VM handles fewer frames
Outline Backgrounds Network Virtualization Tunneling Protocols L4 protocol characteristics Proposal SCLP (Segment-oriented Connection-less Protocol) Evaluation VM-to-VM communication using VXLAN over SCLP 16
Our Proposal SCLP: Segment-oriented Connection-less Protocol L4 protocol Segment-oriented Connection-less Usage: Outer L4 protocol of existing tunneling protocols e.g.) VXLAN over SCLP, Geneve over SCLP Ethernet (Physical) IP Ethernet (Virtual) UDP VXLAN Payload FCS (Physical) Ethernet (Physical) IP Ethernet (Virtual) SCLP VXLAN Payload FCS (Physical) 17
Protocol Format Identification: Original payload ID F: First Segment Flag Remaining: Remaining payload size 18
How SCLP Works (Tx) Original Payload (3000 bytes) Segmentation (MSS=1468) 'identification': 0x12345678 Payload 1 (1468 bytes) Payload 2 (1468 bytes) Payload 3 (64 bytes) SCLP SCLP SCLP 'F': 0 'remaining': 64 'F': 1 'remaining': 1532 'F': 0 'remaining': 0 19
How SCLP Works (Rx) id : - size : 0 offset : 0 Payload Buffer (NULL) Received payload 1 (id = 0x12345678, length = 1468, F = 1, remaining = 1532) id : 0x12345678 size : 3000 offset : 1468 1468 Received payload 2 (id = 0x12345678, length = 1468, F = 0, remaining = 64) id : 0x12345678 size : 3000 offset : 2936 offset == size (len + rem) (normal order !) 2936 Received payload 3 (id = 0x12345678, length = 64, F = 0, remaining = 0) id : 0x12345678 size : 3000 offset : 3000 3000 20
2-Level Pre-reassembling 1st: GRO (Generic Receive Offload) Protocol stack GRO Reassembling NIC driver 2nd: NVE s decapsulation processing VM Reassembling & Decapsulation NVE Protocol stack 21
Implementation VXLAN over SCLP VM CVSW component Virtual NIC implementation of NVE Applications Protocol stack Encapsulation Decapsulation CVSW GSO/GRO offloading virtio Linux kernel module OVS Protocol stack Offload module NIC driver GSO (SCLP) GRO (SCLP) https://github.com/sdnnit/cvsw_net Physical server 22
Outline Backgrounds Network Virtualization Tunneling Protocols L4 protocol characteristics Proposal SCLP (Segment-oriented Connection-less Protocol) Evaluation VM-to-VM communication using VXLAN over SCLP 23
Evaluation Throughput of VM-to-VM communication with Iperf 1. TCP communication 2. Effect of 2-level pre-reassembling Competitors VXLAN (over UDP) NVGRE STT Geneve (w/o HW offloading) 24
Evaluation Results (TCP) TCP communication 26
Evaluation Results (Pre-reassembling) GRO s reassembling NVE s reassembling 27
Conclusion Network virtualization Overlay-based approach has become popular VXLAN is a de-facto tunneling protocol UDP-based tunneling has performance problems Proposal: SCLP Segment-oriented and connection-less L4 protocol 2-level pre-reassembling before decapsulation STT-comparable performance Future work Implementation of OVS-based SCLP Open source 28