Implementation and Performance Analysis of STT Tunneling Protocol

  • Slides: 17
Download presentation
Implementation and Performance Analysis of STT Tunneling Protocol using v. NIC Offloading (CVSW) Ryota

Implementation and Performance Analysis of STT Tunneling Protocol using v. NIC Offloading (CVSW) Ryota Kawashima and Hiroshi Matsuo Nagoya Institute of Technology, Japan

Outlines p Backgrounds l Network Virtualization Ø Network Virtualization Overlays (NVO 3) l Tunneling

Outlines p Backgrounds l Network Virtualization Ø Network Virtualization Overlays (NVO 3) l Tunneling protocols Ø VXLAN, NVGRE, and STT p Goals p Implementation l CVSW framework p Performance Evaluation p Conclusions 1

Network Virtualization p Multi-tenant Datacenter Networks l Each tenant can have its own virtual

Network Virtualization p Multi-tenant Datacenter Networks l Each tenant can have its own virtual networks l Each virtual network shares the physical network resources Virtual networks Tenant 1 VM VM Tenant 2 VM VM Tenant 3 VM VM VM Physical network 2

NVO 3 – Network Virtualization Overlays p L 3 tunneling with multi-tenancy support l

NVO 3 – Network Virtualization Overlays p L 3 tunneling with multi-tenancy support l RFC 7364, 7365 Tenant System NVE Tenant System Virtual Network Virtualization L 3 tunnel Physical network NVE : Network Virtualization Edge 3

NVE: Network Virtualization Edge p Tunnel end point l Physical switches l Virtual switches

NVE: Network Virtualization Edge p Tunnel end point l Physical switches l Virtual switches Ø Open v. Switch (OVS), NSX switch, Hyper-V virtual switch NVE Tenant System VNI Overlay Module Tenant System Encapsulates/ Decapsulates L 3 tunnel Logical ports 4

Tunneling Protocols p VXLAN (Virtual e. Xtensible LAN, RFC 7348) l UDP based l

Tunneling Protocols p VXLAN (Virtual e. Xtensible LAN, RFC 7348) l UDP based l Linux kernel, OVS, VMware NSX, Cisco Nexus 1000 V … Ethernet (Physical) IP (Physical) UDP VXLAN Ethernet (Virtual) FCS Payload Throughput is poor with software NVE p NVGRE (RFC draft) l GRE based (no L 4 protocol) l Microsoft Hyper-V Ethernet (Physical) IP (Physical) NVGRE Ethernet (Virtual) Payload FCS 5

Yet Another Tunneling Protocol p STT (Stateless Transport Tunneling, RFC draft) l Pseudo-TCP header

Yet Another Tunneling Protocol p STT (Stateless Transport Tunneling, RFC draft) l Pseudo-TCP header Ø Exploiting TSO (TCP Segmentation Offload) feature Ø Semantics of header fields are modified l VMware NSX Ethernet (Physical) IP (Physical) Pseudo. TCP STT Ethernet (Virtual) Payload FCS Protocol number is 6 (TCP) "This is a usual TCP packet !" NIC 6

Is STT Best ? p Performance l Much better than other tunneling protocols l

Is STT Best ? p Performance l Much better than other tunneling protocols l 2 times faster at maximum Side effect. . . Middleboxes can discard STT packets ! Firewalls, load balancers, . . . 7

Our Goals Target of this paper 1. Implement various tunneling protocols 2. Evaluate performance

Our Goals Target of this paper 1. Implement various tunneling protocols 2. Evaluate performance of the protocols 3. Design a new high-performance protocol 8

Implementation p Implemented tunneling protocols l VXLAN, NVGRE, and STT p Platform l Linux

Implementation p Implemented tunneling protocols l VXLAN, NVGRE, and STT p Platform l Linux (Cent. OS 6. 5) l KVM l CVSW framework 9

CVSW Framework p High-functional software component within v. NIC p Simplifies tunneling protocol development

CVSW Framework p High-functional software component within v. NIC p Simplifies tunneling protocol development p Open source (https: //github. com/sdnnit/cvsw_net) Flow table Match Action ・OF Match/Action Open. Flow +α ・IP tunneling ・MTU setting ・Offload setting Open. Flow session Open. Flow controller DC network VM User space Kernel space Protocol stack CVSW Virtual switch Physical server * R. Kawashima and H. Matsuo, "Virtual NIC Offloading Approach for Improving Performance of Virtual Networks", IEICE Transactions, vol. J 97 -B, no. 4, pp. 639 -647, 2014. (in Japanese) 10

Performance Evaluation p Environment VM Iperf client CVSW VM TCP communication VXLAN, NVGRE, STT

Performance Evaluation p Environment VM Iperf client CVSW VM TCP communication VXLAN, NVGRE, STT tunnel Virtual switch Physical server 1 Iperf server CVSW Virtual switch 40 Gb. E Physical server 2 11

Performance Evaluation p Machine specifications 12

Performance Evaluation p Machine specifications 12

End-to-End Throughput (TCP) 13

End-to-End Throughput (TCP) 13

Offloading Effects Offload Tx / Rx NIC / Kernel TSO Tx NIC GSO Tx

Offloading Effects Offload Tx / Rx NIC / Kernel TSO Tx NIC GSO Tx Kernel GRO Rx Kernel GRO effect ! 14

New Tunneling Protocol ? p TSO does not improve performance Pseudo-TCP header is not

New Tunneling Protocol ? p TSO does not improve performance Pseudo-TCP header is not required p GRO is the key to high-performance protocol L 4 protocol should be Byte-stream or segment oriented 15

Conclusions p Tunneling protocols for NVO 3 l VXLAN and NVGRE have performance problem

Conclusions p Tunneling protocols for NVO 3 l VXLAN and NVGRE have performance problem l The performance of STT is excellent Ø Packet discarding problem l GRO is the key to high-performance communication p Future work l Design and implement a new L 4 protocol Ø GRO-aware Ø Byte-stream oriented protocol 16