• No results found

Extending Network-virtualization Platforms by using a Specialized Packet Header and Node Plug-ins. Yasusi Kanada Hitachi, Ltd.

N/A
N/A
Protected

Academic year: 2021

Share "Extending Network-virtualization Platforms by using a Specialized Packet Header and Node Plug-ins. Yasusi Kanada Hitachi, Ltd."

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

Extending Network-virtualization Platforms

by using a Specialized Packet Header

and Node Plug-ins

Yasusi Kanada

Hitachi, Ltd., Japan

(2)

Outline

VNode infrastructure is an architecture and testbed for network virtualization.

■ A VNode means a physical network node (not virtual node).

■ Developers can create slices (i.e., virtual networks) using predefined virtual-resource types.

A plug-in architecture for VNode, which was proposed in previous papers, enables introducing new types.

■ Slice developers may require new virtual-resource types.

■ New virtual-resource types can be defined and implemented by using the plug-in architecture.

Proposal: A method using plug-in-specific (resource-type-specific) packet headers

■ This method enables introducing new network-wide functions by new resource-type and plug-ins without modifying slices.

(3)

VNode Infrastructure and Slices

(previously proposed)

Developers can create slices using predefined virtual-resource types (i.e., virtual-node and -link types).

VNode VNode VNode Virtual node Virtual node Virtual node Slice developer . . . . . . Management node

<linkSliver type="link" subtype="GRE"> <vports> <vport name="vport1" /> <vport name="vport2" /> </vports> </linkSliver> <nodeSliver> <instance type="…" subtype="SlowPath_VM"> … </instance> <vports> <vport name="vport1"/> … <vport name="vportN"/> </vports> </nodeSliver> VNode infrastructure Slice (virtual network) Slice definition VNode Predefined types Predefined types Deeply programmable Operator

(4)

VNode VNode VNode Virtual node Virtual node Virtual node Slice developer . . . . . . Management node <linkSliver type="link" subtype="new-link-type"> <vports> <vport name="vport1" /> <vport name="vport2" /> </vports> </linkSliver> <nodeSliver> <instance type="…" subtype="new-node-type"> … </instance> <vports> <vport name="vport1"/> … <vport name="vportN"/> </vports> </nodeSliver> VNode infrastructure Slice Slice definition VNode Predefined types New types

Plug-in Architecture

(previously proposed)

New virtual-resource types can be defined and implemented by using the plug-in architecture.

New resource types (new function) Plug-ins Plug-ins Plug-ins Plug-ins Added by the operator (or vendor) Operator

(5)

VNode VNode VNode Virtual node Virtual node Virtual node Slice developer . . . . . . Management node <linkSliver type="link" subtype="new-link-type"> <vports> <vport name="vport1" /> <vport name="vport2" /> </vports> </linkSliver> <nodeSliver> <instance type="…" subtype=“old-node-type"> … </instance> <vports> <vport name="vport1"/> … <vport name="vportN"/> </vports> </nodeSliver> VNode infrastructure Slice

Old slice definition

VNode New link

type

Platform-extension w/o Slice Modification:

New Proposal

The proposed method enables introducing new

network-wide functions by new link-type and plug-ins without modifying slices.

Plug-ins

No new function (no update in programs) New network-wide substrate function Plug-ins Plug-ins Plug-ins Co-operation Co-operation Co-operation Co-operation Operator

(6)

Platform-extension w/o Slice Modification:

Method

New functions and co-operation of plug-ins are

introduced by resource-type-specific packet headers.

Data plane is extended:

Base platform

header header 1Plug-in

VNode Plug-ins Data plug-in 1 Base data-plane component Data plug-in 2 Data plug-in 3 Data plug-in 4 Plug-in

header 2 header 3Plug-in header 4Plug-in Packet on slice Platform header

Packet

Extended VNode VNode

Plug-ins

(7)

Example of Using Platform-extension:

Network-wide Delay Measurement

Network-wide delay can be measured without affecting slice design/implementation by using a new link type.

The plug-in header contains a timestamp.

VNode VNode VNode Virtual node VNode infrastructure Slice VNode

Terminal Virtual Terminal

node Virtual node

Packet Packet Packet Packet Plug-in Plug-in Plug-in Plug-in Time = 0 Time?

Ingress edge Egress edge

Packet

ts ts Packet

Timestamp Timestamp

Timestamp is hidden

(8)

Problem: Packet Identification

in Programmable Slices

Packets must be identified to track them (i.e., to measure the delay).

Packet identity depends on the node function.

■ Packets may be absorbed, generated, or duplicated by

the node program.

Virtual node

Slice

Terminal Virtual Terminal

node Virtual node

Packet Packet Packet Packet must be identified VNode Virtual node VNode Virtual node packetNo VNode Virtual node No packet Packet Packet Packet Packet Packet

(9)

Solution: Slice Supplies Packet Id to Plug-ins

The slice (developer) must define the identity of packets.

Simple identity: to specify identifier field.Generic identity: to specify identity function.

The plug-in identifies packets.

■ It removes and stores a platform header from a packet and restores it to the packet.

id p id = f(p) td id VNode Virtual node Plug-ins id id id td Restore Identify Remove and store

(10)

Evaluation: Conditions

A VLAN-based link type with delay measurement function (called MVL type) was introduced.

The plug-in for MVL type was implemented by using network processors (NPs).

■ Cavium Octeon NP with twelve 750-MHz cores was used.

The delay between two simulated terminals with two VNodes were measured.

■ Two terminals were simulated by one PC to avoid synchronization problem. VNode VNode Octeon (NP) MVL link Octeon(NP) Measure-ment GW Terminal

(program) Measure-ment GW Terminal (program)

sw sw

MVL link MVL link

PC for measurement

Timestamp handling and header conversion

(11)

Evaluation: Results

Evaluation results

■ Delay: 89 µS (σ = 12 µS) / node.

■ Timestamp (TS) handling and header conversion (required for virtual-link processing: Implementation Throughput (Gbps) * Throughput (Gbps)* Program lines Implementation TS insertion TS deletion Program lines

NP program (in Phonepl) 10.0† 9.5† 99‡

Xeon program (in C)** 2.3† (4.0††) 2.2† (4.0††) 190‡

*Packet size: 1024 B. ** Promiscuous mode is used. No packet loss (< 10-6)

(12)

Conclusion

A method for introducing new functions without updating slice implementation is proposed.

■ Resource-type-specific (plug-in-specific) packet headers are used. ■ The packet headers are processed by the plug-in in each VNode.

This method was applied to measurements of network edge-to-edge delay.

■ A hidden timestamp in each packet is used.

■ Timestamps do not affect slices; i.e., slices do not see timestamps.

A virtual link with delay-measurement function was evaluated.

■ The throughput was 10-Gbps (i.e., wire rate). ■ The latency was less than 100 µS.

Future work

■ Implementation of other node/link functions. ■ Handling multiple plug-in-specific headers.

References

Related documents