DESIGN AND IMPLEMENTATION OF A VIRTUAL NETWORKING FRAMEWORK FOR THE - - PowerPoint PPT Presentation
DESIGN AND IMPLEMENTATION OF A VIRTUAL NETWORKING FRAMEWORK FOR THE - - PowerPoint PPT Presentation
DESIGN AND IMPLEMENTATION OF A VIRTUAL NETWORKING FRAMEWORK FOR THE MOBILITYFIRST FUTURE INTERNET ARCHITECTURE Aishwarya Babu Adviser: Dr. Dipankar Raychaudhuri Content Introduction MobilityFirst Overview Network Virtualization
Content
- Introduction
- MobilityFirst Overview
- Network Virtualization
- Virtual Network for MobilityFirst
- Application Specific Routing
- Design
- Implementation
- Evaluation
- Conclusion & Future Work
Introduction
- Internet was originally a means of connecting and
communicating among fixed end points
- Many clean‐slate proposals to redesign the Internet due to
- ubiquitous and large scale mobile communication
- focus on content/information retrieval
- MobilityFirst is one such clean‐slate architecture whose
premise is to support scalable mobility and wireless access
- Network virtualization: technology that is gaining popularity
since it allows for efficient utilization of resources, isolation and multiple access
MobilityFirst
Issue: Growing number of wireless devices and exponentially increasing traffic. Goal: Support high mobility and wireless access. Key: Unique identification of network‐attached objects.
MobilityFirst
GNRS ‐ Global Name Resolution Service GSTAR ‐ Storage Aware intra‐domain routing EIR ‐ Edge Aware Inter‐domain Routing
Mobile end‐ points
Hop by hop transport
Multi‐homing
Named devices, contexts, content NCS ‐ Name Certification Service: Strong authentication, privacy 1100011001010...1101 Public‐key based GUID
Heterogeneous Wireless Access Named‐based service API
MobilityFirst ‐ Features
Separation of names and addresses: Globally Unique Identifiers (GUID) ‐ Long lasting network level identifier Reference different network objects (devices, groups of devices, content, context), services and even whole networks. Seamless host and network mobility: Packets are destined for a given GUID which the network resolves to respective locations/network addresses. Supports a highly mobile environment where addresses are constantly changing.
MobilityFirst ‐ Features
Hybrid name/address based routing Network address‐based : fast path forwarding Name‐based : Late binding by querying GNRS (Global Name Resolution Service) Stores all mappings between GUIDs and NAs, GUIDs and GUIDs Name‐based network API: Supports abstract services such as multihoming, multicast, anycast since objects or groups of objects can be identified by GUIDs instead of addresses/interfaces.
MobilityFirst ‐ Features
Generalized Storage Aware Routing (GSTAR): A Store and Forward mechanism which is useful in wireless scenario to take decisions based on available link quality. Hop‐by‐hop reliable transfer: Entire file is received and stored at each node before forwarding. In a highly mobile environment end‐points may change their location very often (where end to end connection cannot be maintained).
Network Virtualization
A method of partitioning(or aggregating)network resources to have multiple logical networks running in parallel over a physical substrate. E.g. VLAN (Virtual Local Area Network) ‐ Partitioning/ Aggregating VPN (Virtual Private Network) ‐ Tunneling Active/ Programmable Networks ‐ Network customization Overlay networks ‐ Application layer
Network Virtualization
Why Network Virtualization ?
- It allows flexible topology definition.
- Isolation amongst virtually connected nodes
- Multiple users can share network resources
- It allows implementation of custom routing algorithms
VN for MobilityFirst
GUID to identify virtual router instance as well as virtual network. Isolation: Separate virtual routing tables GNRS can store all the mappings Virtual to true GUID Virtual Network GUID to member virtual GUIDs Service Anycast Every service/ application can be identified by a GUID.
Application Specific Routing (ASR)
Allows the application provider to introduce custom routing algorithms over the routing fabric. ASR uses the routing layer metric along with a metric specified by the application. Uses MobilityFirst’s Service Anycast to choose a destination using the combined metric.
ASR ‐ Example
Replicated Cloud Service identified by a single GUID. Edge performance metric ‐ Waiting Time (reflects utilization) Link performance metric ‐ File transfer time
R3 R2 Client R1 Cloud site 1 (Waiting Time ‐ 63s) Cloud site 2 (Waiting Time ‐ 39s)
ASR ‐ Example
Routing decisions for ASR
Region IV <Waiting Time Region I <File Transfer Time Region III <File Transfer Time Region II <Waiting Time 0.3 0.4 File transfer time Waiting Time
Decision Space / Threshold based Weighted average of multiple parameters metric = x(file transfer time) + y(waiting time)
Destination FTT (sec) Waiting Time (sec) ASR = FTT + Waiting Time (sec) D1 20 63 20+63 = 83 D2 72 39 72+39 = 111
Design
R1 R3 R4 R5 S D3 R6 D2 D1 R7 R2 GNRS Virtual Path Physical Path Central coordinator Replicated cloud service Virtual Router Physical Router
Design ‐ Control Information
Control messages are flooded through the network to build and update the virtual routing tables. Virtual Network State Packets (VNSP) VNSPs carry the virtual link metrics with respect to virtual neighbors (link performance metric) . Application Specific Packets (ASP) The node metric (e.g. edge performance metric) at the end host is injected into the network using ASP.
Design ‐ Packet encapsulation
Message flow example using encapsulation
R1 R2 R3 R4 R5 D3 D2 D1 R7
Dest=VM_D3 Src = VM_S SID VNID = X ... Data
S
Intended Virtual Path
R1 R2 R3 R4 R5 R7 R6
Dest = R1 Src = S SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data
GUID Dest Metric GUID Next hop R1 a R1 R2 b R1 R3 c R1 R4 d R1 R5 e R1 R6 f R1 R7 g R1 D1 h R1 D2 i R1 D3 j R1 VM_GUID Dest Metric VM_GUID Next hop VM_R1 A VM_R1 VM_R2 B VM_R1 VM_R5 C VM_R1 VM_R6 D VM_R1 VM_D1 E VM_R1 VM_D2 F VM_R1 VM_D3 G VM_R1
Dest=VM_D3 Src = VM_S SID VNID = X ... Data
D2 D1 D3 S S
R1 R2 R3 R4 R5 R7 R6
GUID Dest Metric GUID Next hop S a S R2 b R2 R3 c R2 R4 d R4 R5 e R4 R6 f R4 R7 g R7 D1 h R4 D2 i R4 D3 j R7 VM_GUID Dest Metric VM_GUID Next hop VM_S A VM_S VM_R2 B VM_R2 VM_R5 C VM_R2 VM_R6 D VM_R2 VM_D1 E VM_R2 VM_D2 F VM_R2 VM_D3 G VM_D3
Dest=VM_D3 Src = VM_S SID VNID = X ... Data Dest = R1 Src = S SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data
D2 D3 S D1 R1
R1 R2 R3 R4 R5 R7 R6
Dest = D3 Src = R1 SID ... Dest = Chica Src = San Fran SID VNID = X ... Data
GUID Dest Metric GUID Next hop S a S R2 b R2 R3 c R2 R4 d R4 R5 e R4 R6 f R4 R7 g R7 D1 h R4 D2 i R4 D3 j R7
Dest=VM_D3 Src = VM_S SID VNID = X ... Data
VM_GUID Dest Metric VM_GUID Next hop VM_S A VM_S VM_R2 B VM_R2 VM_R5 C VM_R2 VM_R6 D VM_R2 VM_D1 E VM_R2 VM_D2 F VM_R2 VM_D3 G VM_D3
D2 D3 S D1 R1
R1 R2 R3 R4 R5 R7 R6
GUID Dest Metric GUID Next hop S a R1 R1 b R1 R2 c R1 R3 d R4 R4 e R4 R5 f R4 R6 g R4 D1 h R4 D2 i R4 D3 j R4
Dest = D3 Src = R1 SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data
D2 D3 S D1 R7
R1 R2 R3 R4 R5 R7 R6
GUID Dest Metric GUID Next hop S a R7 R1 b R7 R2 c R3 R3 d R3 R5 e R5 R6 f R5 R7 g R7 D1 h R5 D2 i R5 D3 j R5
Dest = D3 Src = R1 SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data
D2 D3 S D1 R4
R1 R2 R3 R4 R5 R7 R6
GUID Dest Metric GUID Next hop S a R4 R1 b R4 R2 c R3 R3 d R3 R4 e R4 R6 f R6 R7 g R4 D1 h R6 D2 i R6 D3 j D3
Dest = D3 Src = R1 SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data
VM_GUID Dest Metric VM_GUID Next hop VM_S A VM_R2 VM_R1 B VM_R2 VM_R2 C VM_R2 VM_R6 D VM_R6 VM_D1 E VM_R6 VM_D2 F VM_R6 VM_D3 G VM_D3
D2 D3 S D1 R5
R1 R2 R3 R4 R5 R7 R6
GUID Dest Metric GUID Next hop S a R5 R1 b R5 R2 c R5 R3 d R5 R4 e R5 R5 f R5 R6 g R5 R7 h R5 D1 i R5 D2 j R5
Dest = D3 Src = R1 SID ... Dest = Chica Src = San Fran SID VNID = X ... Data
VM_GUID Dest Metric VM_GUID Next hop VM_S A VM_R1 VM_R1 B VM_R1 VM_R2 C VM_R5 VM_R5 D VM_R5 VM_R6 E VM_R5 VM_D1 F VM_R5 VM_D2 G VM_R5
Dest=VM_D3 Src = VM_S SID VNID = X ... Data
D2 D3 S D1 D3
Implementation
Using Click Modular Software Router (C++ based). Introduced Virtual Processing elements within the MobilityFirst router prototype. Experiments on Orbit testbed at WINLAB.
inQ topo_mngr inCtr_pkt Classifier LSA_Hdlr GSTAR to lp_hndlr updates RT and LUT
- utQ
svc_cla virtualdataforwarding Lookup & encapsulation VN LUT intra_lookup
- utQ_Data
Data Processing
aggr seg data csyn check if VN CTRL or VN DATA or VN ASP virtuallsahandler Create virtual Lsa chunks Application specific computation + Forwarding Virtual data inCtr_chunk n/w binder
VN Processing
ctrl/ asp 1 1 n/w binder Q 1 GNRS aggregator : dest ==my_guid Upper protocol classification packet for self 2 VN Topology Manager: Initialization block receives topology/ configuration file and this click element creates and populates the virtual routing table with necessary information and updates
Click Implementation of Router
Single Virtual Network support
Virtual GUID Map Virtual Neighbor Table Virtual Routing Table true GUID‐> virtual GUID map true GUID‐> virtual GUID map virtual GUID‐> true GUID map Virtual neighbor map Virtual NSP map Virtual Forward map Virtual Service map Virtual ASP map
Virtual LSA Handler Virtual Data Forwarding
Evaluation
- Proof of concept validation using ASR
- Microbenchmarks: Ping and Iperf
Proof of Concept ‐ Topology
Setup on Orbit (grid)
21 22 1
Proof of Concept
Metrics: Node metric ‐ number of requests per second Link metric ‐ number of hops Algorithm: if minimum node metric < 0.5 choose one with shortest # of hops among them else choose one with shortest # of hops
Proof of Concept ‐ Results
21 1 22
Microbenchmarks ‐ Topology
Topology
1 21
Microbenchmarks ‐ Ping
Ping: Round trip time for message to go from client to server and back Nearly overlapping => virtual processing doesn’t add significant delay
Microbenchmarks ‐ Iperf
Iperf: Creates UDP data streams and measures throughput
- f the network
carrying them Since we utilize the extension header space for the virtual control information the iperf results nearly
- verlap
Conclusion
- Presented a virtual network architecture for MobilityFirst
- Demonstrated use‐case ‐ Application Specific Routing
- Evaluated Virtual Network performance
Future Work
- 1. Cloud services integration
R3 R2 Client R1 Cloud site 1 (Waiting Time ‐ 63s) Cloud site 2 (Waiting Time ‐ 39s)
Future Work
- 2. Multiple Virtual Network Support
Virtual GUID Map Virtual Neighbor Table Virtual Routing Table true GUID‐> virtual GUID map
true GUID‐> virtual G
virtual GUID‐> true GUID map Virtual neighbor map Virtual NSP map Virtual Forward map Virtual Service map Virtual ASP map
Virtual LSA Handler Virtual Data Forwarding
Virtual GUID Map .. Virtual Neighbor Table.. Virtual Routing Table ... Virtual GUID Map .. Virtual Neighbor Table.. Virtual Routing Table ...
Virtual Topology Manager
VN GUID Virtual Network Info Pointer VN 1 VN Info Obj 1 VN 2 VN Info Obj 2 VN 3 VN Info Obj 3 .. ..