High-performance Network Accommodation and Intra-slice Switching
Using a Type of Virtualization Node
Yasusi Kanada & Kei Shiraishi, Hitachi, Ltd.
Akihiro Nakao, University of Tokyo
IARIA Infocomp 2012 2012-10-24 Yasusi Kanada, Hitachi Ltd.
Introduction
▶ We developed a network-virtualization architecture and platform in a collaboration project.
▶ Multiple slices can be created on one physical network in this architecture and platform.
◆ Slices means virtual networks.
2
Virtualization platform
VNode VNode
VNode
Slice 3 Slice 2
Slice 1
Domain Controller
Slice developer Slice definition
<?xml ...>
...
A type of SDN
(Software defined network)
Introduction (cont’d)
▶ Two issues to be solved
◆ To connect a slice and an external network with high-performance.
▪ A slice is something like a closed virtual world, but external connection is important for networking.
◆ To utilize high-performance hardware function (such as Ethernet switching) of VNode on a slice.
▪ A slice is isolated even from the platform.
▶ These issues are solved by introducing a new type of node called NACE (Network ACcommodation Equipment).
Virtualization platform
VNode VNode
VNode
Slice 3 Slice 2
Slice 1 Connection
External network
Utilizing
Hardware Functions
IARIA Infocomp 2012 2012-10-24 Yasusi Kanada, Hitachi Ltd.
VNode
▶ VNode (virtualization node) is a component of the network virtualization platform.
◆ VNode is a physical node.
◆ VNode forwards packets on the platform as a router.
◆ Slices are implemented as overlay networks on the virtualization platform.
◆ VNodes are connected by tunnels using GRE/IP.
▪ GRE (Generic Routing Encapsulation) is a protocol standardized by IETF.
4
Gate-
3
way Gate-
way User’s
PC/VM User’s
PC/VM
DC
VNode
VNode VNode
IP
Router VNode
DC: Domain Controller
Virtualization platform (IP network)
Components of VNode
▶ Programmer
◆ is a programmable component that processes packets on the slices.
▶ Redirector
◆ forwards (redirects) packets from another VNode to a programmer and forwards packets from a
programmer to another VNode.
◆ is a component that can forward or route packets on the platform.
▶ VNode Manager
◆ is a software component that manages the VNode.
VNode Manager
Programmer
Redirector
IARIA Infocomp 2012 2012-10-24 Yasusi Kanada, Hitachi Ltd.
NACE and challenges
▶ We developed NACE (Network ACcommodation Equipment) to solve the two issues.
▶ Two challenges
◆High-performance gateway function between internal and external data representation.
◆Utilizing high-performance Ethernet switching function of NACE hardware.
6
Virtualization platform
External
network NACE
〜 10 Gbps
Virtualization platform
NACE Ethernet
switch
Slice
Virtual switch
〜 10 Gbps
〜 10 Gbps
Gateway
Structure of NACE
▶ NACE is a remodeled version of VNode.
◆consists of VNM, Redirector, and Pseudo programmer manager.
Redirector
Redirector body (RB) Service module card (SMC) Control plane (C-Plane)
Data plane (D-plane) Internal data plane
Pseudo programmer manager
Redirector manager (RM) VNode manager (VNM)
High-end Ethernet switch
Network processor card
Dummy component
IARIA Infocomp 2012 2012-10-24 Yasusi Kanada, Hitachi Ltd.
NACE as Gateway -- 1st challenge
▶ External networks are connected to NACE as VLANs.
▶ Types of network accommodation
◆One-to-one accommodation
▪ accommodates one VLAN to a slice.
◆Many-to-one accommodation
▪ accommodates two or more VLANs to a slice.
8
Ethernet
Virtualization platform
External network
Payload
DMAC SMACVID t DMAC’ SMAC’ IP header GRE DMAC SMAC Payload
VLAN 100 NACE VNode
Switch
Physical port / Logical port (VLAN 100)
Ethernet Virtualization
platform VLAN 100
VNode External NACE
network Ethernet
DMAC SMAC Payload DMAC’ SMAC’ IP header GRE
Payload DMAC SMAC VID100 t
Payload DMAC SMAC VID200 t
Switch
VLAN 200
Physical port
VIDx00 t
t
High performance conversion using SMC
High performance conversion using SMC
(using a NP)
NACE as Intra-slice Switch -- 2nd challenge
▶ Specification method (slice design)
◆A slice developer can create a “switch node sliver (SNS)” in a NACE. -- SNS is a type of virtual node.
◆SNS works as a virtual Ethernet switch.
◆An SNS can connect to other node slivers using (GRE-based) virtual links.
▶ Implementation method
◆An SNS is implemented by the Ethernet switch (redirector body).
◆Virtual links are implemented by using an SMC (using a NP).
Switch node sliver
(SNS)
GRE link sliver
GRE link sliver
GRE link sliver
VID t DMAC SMAC Payload
DMAC’ SMAC’ IP header GRE
Payload
DMAC SMAC VID t High performance
conversion using SMC (using a NP)
Anther node sliver
IARIA Infocomp 2012 2012-10-24 Yasusi Kanada, Hitachi Ltd.
Applications and Evaluations of NACE, 1/2
10
Node sliver
Node sliver
Node sliver
ClientPC
IPEC Soft
SW
IPEC- Ether
GW
IPEC slice
ServerPC
ServerPC
IPEC Soft
SW IPEC-
Ether GW
IPEC Soft
SW IPEC-
Ether GW
AGW Link sliver
Link sliver Link sliver
NACE 2 NACE
1
VNode 1
VNode 2
VNode 3
“Data center”
“Data center”
▶ Gateway for data centers -- a method for testing a new protocol
◆Two simulated data centers with PC servers are connected to a slice using two NACEs, and a PC client is connected to the slice.
◆A new (non-IP) protocol called IPEC (IP Ether Chimera) is used on the slice.
◆IP/Ethernet is used in the data centers and in the PC client.
◆The protocol is converted on the border (IP/IPEC <-> IP/Ethernet).
Applications and Evaluations of NACE, 2/2
▶ Distributed key-value store using an intra-slice switch
◆In this slice, MAC addresses are used for keys instead of hardware addresses.
◆The virtual switch selects a key-value store (server) using the key (destination MAC) in a query packet.
NACE 7 (Tokyo)
Node sliver
Node sliver
Node sliver
DB 1
(key-value server)
Ethernet Slice
DB 2
(key-value server)
DB 3
(key-value server)
VNode 4 (Hokuriku)
VNode 3 (Osaka)
VNode 1 (Tokyo)
Client
Switch node-sliver
(key31, val31) (key32, val32)
…
(key3n3, val3n3)
(key11, val11) (key12, val12)
…
(key1n1, val1n1)
(key21, val21) (key22, val22)
…
(key2n2, val2n2)
Query Advertise
D S
key ClientAddr type Query FFFFFFFF key type Advertise
D S
D S
Value!
ClientAddr key type Answer value
IARIA Infocomp 2012 2012-10-24 Yasusi Kanada, Hitachi Ltd.
Slice-to-slice Connection and Demos in GEC 15
▶ In GEC 15 in October 23, our platform was connected to
GENI
(GEC 15 = 15th GENI Engineering Conference @ Houston, TX)◆They are connected by a NACE placed at the University of Utah.
◆Slices of ProtoGENI are connected to our slices on JGN-X (a testbed in Japan).
12 Tokyo
Otemachi
JGN-X
GENI
University of Utah
Proto- GENI
VNode System
NC 7
Four VLANs (1517+1591+1592+1595)
VNode Front End
PRESTA