Extending Network-virtualization Platforms by using a Specialized Header and Node Yasusi Kanada Hitachi, Ltd., Japan
Outline infrastructure is an architecture and testbed for network virtualization. A means a physical network (not virtual ). Developers can create slices (i.e., virtual networks) using predefined virtual-resource types. A plug-in architecture for, which was proposed in previous papers, enables introducing new types. 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. 2
Infrastructure and s (previously proposed) Developers can create slices using predefined virtualresource types (i.e., virtual- and -link types). developer definition <linksliver type="link" subtype="gre"> <vports> <vport name="vport1" /> <vport name="vport2" /> </vports> </linksliver>. types Predefined infrastructure Management Operator <Sliver> <instance type=" " subtype="slowpath_vm"> </instance> <vports> <vport name="vport1"/> <vport name="vportn"/> </vports> </Sliver>.. (virtual network) Deeply programmable 3
Architecture (previously proposed) New virtual-resource types can be defined and implemented by using the plug-in architecture. developer definition <linksliver type="link" subtype="new-link-type"> <vports> <vport name="vport1" /> <vport name="vport2" /> </vports> </linksliver> <Sliver> <instance type=" " subtype="new--type"> </instance> <vports> <vport name="vport1"/> <vport name="vportn"/> </vports> </Sliver>..... Predefined New types types infrastructure Management Operator Added by the operator (or vendor) New resource types (new function) 4
Platform-extension w/o Modification: New Proposal The proposed method enables introducing new network-wide functions by new link-type and plug-ins without modifying slices. developer Old slice definition <linksliver type="link" subtype="new-link-type"> <vports> <vport name="vport1" /> <vport name="vport2" /> </vports> </linksliver> <Sliver> <instance type=" " subtype= old--type"> </instance> <vports> <vport name="vport1"/> <vport name="vportn"/> </vports> </Sliver>.... New link type infrastructure Management New networkwide substrate function Co-operation Operator No new function (no update in programs) 5
Platform-extension w/o Modification: Method New functions and co-operation of plug-ins are introduced by resource-type-specific packet headers. Data plane is extended: Base data-plane component Data plug-in 1 Extended Data plug-in 2 Data plug-in 3 Data plug-in 4 Base platform header header 1 header 2 header 3 header 4 on slice Platform header Hidden from slices 6
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. Time = 0 Time? Timestamp Timestamp ts ts Ingress edge infrastructure Egress edge Timestamp is hidden Terminal Terminal 7
Problem: Identification in Programmable s s must be identified to track them (i.e., to measure the delay). must be identified Terminal Terminal identity depends on the function. s may be absorbed, generated, or duplicated by the program. Absorption Generation Duplication No packet No packet 8
Solution: Supplies Id to The slice (developer) must define the identity of packets. Simple identity: to specify identifier field. id Generic identity: to specify identity function. p id = f(p) The plug-in identifies packets. It removes and stores a platform header from a packet and restores it to the packet. Remove Identify and store td id td Restore id id id 9
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 s were measured. Two terminals were simulated by one PC to avoid synchronization problem. Timestamp insertion Timestamp handling and header conversion Timestamp deletion Terminal (program) Measurement GW PC for measurement MVL link Octeon (NP) MVL link sw sw Octeon (NP) MVL link Measurement GW Terminal (program) 10
Evaluation: Results Evaluation results Delay: 89 µs (σ = 12 µs) /. Timestamp (TS) handling and header conversion (required for virtual-link processing: Implementation Throughput (Gbps) * 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 * size: 1024 B. ** Promiscuous mode is used. No packet loss (< 10-6 ) loss ratio = 10-3 Comment-only lines are not counted. 11
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. 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 /link functions. Handling multiple plug-in-specific headers. 12