outlines backgrounds network virtualization network virtualization overlays (nvo3) tunneling...

17
Nagoya Institute of Technology, Japan Performance Analysis of STT Tunneling Protocol using vNIC Offloading (CVSW) Ryota Kawashima and Hiroshi Matsuo

Upload: priscilla-kelly

Post on 17-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

Nagoya Institute of Technology, Japan

Implementation and Performance Analysis of STT Tunneling Protocol using vNIC Offloading (CVSW)

Ryota Kawashima and Hiroshi Matsuo

Page 2: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

2

Outlines

Backgrounds Network Virtualization

Network Virtualization Overlays (NVO3)

Tunneling protocols VXLAN, NVGRE, and STT

Goals

Implementation CVSW framework

Performance Evaluation

Conclusions

Page 3: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

3

Network Virtualization

Multi-tenant Datacenter Networks Each tenant can have its own virtual networks Each virtual network shares the physical network resources

Physical network

VM

VM

Tenant 1

Tenant 2

Tenant 3VM

VM VM

Virtual networks

VM

VM

VM

VM

Page 4: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

4

Virtual NetworkTenantSystem

TenantSystem

Virtual NetworkTenantSystem

TenantSystem

NVO3 – Network Virtualization Overlays

L3 tunneling with multi-tenancy support RFC 7364, 7365

Physical network

Virtualization

NVE NVE

L3 tunnel

NVE : Network Virtualization Edge

Page 5: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

5

NVE: Network Virtualization Edge

Tunnel end point Physical switches Virtual switches

Open vSwitch (OVS), NSX switch, Hyper-V virtual switch

NVE

TenantSystem

TenantSystem

Ove

rlay

Mod

ule

VNI

VNI

Logical ports

L3 tunnel

Encapsulates/Decapsulates

Page 6: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

6

Tunneling Protocols

VXLAN (Virtual eXtensible LAN, RFC 7348) UDP based Linux kernel, OVS, VMware NSX, Cisco Nexus 1000V …

NVGRE (RFC draft) GRE based (no L4 protocol) Microsoft Hyper-V

Ethernet(Physical)

IP(Physical)

VXLANUDP FCSEthernet(Virtual)

Payload

Ethernet(Physical)

IP(Physical)

NVGRE FCSEthernet(Virtual)

Payload

Throughput is poor with software NVE

Page 7: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

7

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)

IP(Physical)

STTPseudo-

TCP FCSEthernet(Virtual)

Payload

NIC

"This is a usual TCP packet !"

Protocol numberis 6 (TCP)

Page 8: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

8

Is STT Best ?

Performance Much better than other tunneling protocols 2 times faster at maximum

Side effect...

Middleboxes can discard STT packets !

Firewalls, load balancers, ...

Page 9: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

9

Our Goals

1. Implement various tunneling protocols

2. Evaluate performance of the protocols

3. Design a new high-performance protocol

Target of this paper

Page 10: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

10

Implementation

Implemented tunneling protocols VXLAN, NVGRE, and STT

Platform Linux (CentOS 6.5) KVM CVSW framework

Page 11: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

11

CVSW Framework

High-functional software component within vNIC

Simplifies tunneling protocol development

Open source (https://github.com/sdnnit/cvsw_net)

Virtualswitch

CVSW

VMUser space

Kernel space

Protocol stack

Physical serverOpenFlow controller

OpenFlow session

DC network

Match Action

OpenFlow+α

Flow table

・ OF Match/Action・ IP tunneling・MTU setting・ Offload setting

* R. Kawashima and H. Matsuo, "Virtual NIC Offloading Approach for Improving Performance of Virtual Networks", IEICE Transactions, vol.J97-B, no.4, pp. 639-647, 2014. (in Japanese)

Page 12: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

12

Performance Evaluation

Iperf client

CVSW

VM

Iperf server

CVSW

VM

VXLAN, NVGRE, STT tunnel

TCP communication

Physical server 1 Physical server 2

Virtualswitch

Virtualswitch

40GbE

Environment

Page 13: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

13

Performance Evaluation

Machine specifications

Page 14: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

14

End-to-End Throughput (TCP)

Page 15: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

15

Offloading Effects

GRO effect !

Offload Tx / Rx NIC / Kernel

TSO Tx NIC

GSO Tx Kernel

GRO Rx Kernel

Page 16: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

16

New Tunneling Protocol ?

TSO does not improve performance

GRO is the key to high-performance protocol

Pseudo-TCP header is not required

L4 protocol should be Byte-stream or segment oriented

Page 17: Outlines  Backgrounds Network Virtualization  Network Virtualization Overlays (NVO3) Tunneling protocols  VXLAN, NVGRE, and STT  Goals  Implementation

17

Conclusions

Tunneling protocols for NVO3 VXLAN and NVGRE have performance problem The performance of STT is excellent

Packet discarding problem

GRO is the key to high-performance communication

Future work Design and implement a new L4 protocol

GRO-aware Byte-stream oriented protocol