design and implementation of a virtual networking
play

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


  1. DESIGN AND IMPLEMENTATION OF A VIRTUAL NETWORKING FRAMEWORK FOR THE MOBILITYFIRST FUTURE INTERNET ARCHITECTURE Aishwarya Babu Adviser: Dr. Dipankar Raychaudhuri

  2. Content ● Introduction ● MobilityFirst Overview ● Network Virtualization ● Virtual Network for MobilityFirst o Application Specific Routing ● Design ● Implementation ● Evaluation ● Conclusion & Future Work

  3. Introduction ● Internet was originally a means of connecting and communicating among fixed end points ● Many clean ‐ slate proposals to redesign the Internet due to o ubiquitous and large scale mobile communication o 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

  4. 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.

  5. MobilityFirst Named devices, contexts, content NCS ‐ Name Certification Service: Strong authentication, privacy 1100011001010...1101 Mobile end ‐ Public ‐ key based GUID Named ‐ based service API points Multi ‐ homing Hop by hop transport EIR ‐ Edge Aware Inter ‐ domain Routing GSTAR ‐ Storage Aware Heterogeneous intra ‐ domain routing Wireless Access GNRS ‐ Global Name Resolution Service

  6. 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.

  7. 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.

  8. 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).

  9. 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

  10. 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

  11. 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.

  12. 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.

  13. ASR ‐ Example R3 R1 Cloud site 1 (Waiting Time ‐ 63s) R2 Client Cloud site 2 (Waiting Time ‐ 39s) Replicated Cloud Service identified by a single GUID. Edge performance metric ‐ Waiting Time (reflects utilization) Link performance metric ‐ File transfer time

  14. ASR ‐ Example Routing decisions for ASR Decision Space / Threshold based Weighted average of multiple parameters File transfer Region III Region IV metric = x(file transfer time) + y(waiting time) time <File <Waiting Time Transfer Time Destination FTT Waiting ASR = FTT + 0.4 (sec) Time Waiting Time Region I (sec) (sec) <File Region II Transfer <Waiting Time D1 20 63 20+63 = 83 Time D2 72 39 72+39 = 111 0.3 Waiting Time

  15. Design Virtual GNRS Router Central coordinator Virtual Path Physical Path Replicated cloud service Physical Router R2 R6 R3 R5 D1 R1 D2 S R4 R7 D3

  16. 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.

  17. Design ‐ Packet encapsulation

  18. Message flow example using encapsulation Intended Virtual Path R2 R3 R5 D1 R1 D2 S R4 D3 R7 Dest=VM_D3 Src = VM_S SID VNID = X ... Data

  19. GUID Dest Metric GUID Next hop VM_GUID Metric VM_GUID S Dest Next hop R1 a R1 VM_R1 A VM_R1 R2 b R1 VM_R2 B VM_R1 R3 c R1 VM_R5 C VM_R1 R4 d R1 VM_R6 D VM_R1 R5 e R1 VM_D1 E VM_R1 R6 f R1 VM_D2 F VM_R1 R7 g R1 VM_D3 G VM_R1 D1 h R1 D2 i R1 D3 j R1 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = R1 Src = S SID ... Dest=VM_D3 Dest=VM_D3 Src = VM_S Src = VM_S SID SID VNID = X VNID = X ... ... Data Data

  20. GUID Dest Metric GUID Next hop VM_GUID Metric VM_GUID R1 Dest Next hop S a S VM_S A VM_S R2 b R2 VM_R2 B VM_R2 R3 c R2 VM_R5 C VM_R2 R4 d R4 VM_R6 D VM_R2 R5 e R4 VM_D1 E VM_R2 R6 f R4 VM_D2 F VM_R2 R7 g R7 VM_D3 G VM_D3 D1 h R4 D2 i R4 D3 j R7 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = R1 Src = S SID ... Dest=VM_D3 Dest=VM_D3 Src = VM_S Src = VM_S SID SID VNID = X VNID = X ... ... Data Data

  21. GUID Dest Metric GUID Next hop VM_GUID Metric VM_GUID R1 Dest Next hop S a S VM_S A VM_S R2 b R2 VM_R2 B VM_R2 R3 c R2 VM_R5 C VM_R2 R4 d R4 VM_R6 D VM_R2 R5 e R4 VM_D1 E VM_R2 R6 f R4 VM_D2 F VM_R2 R7 g R7 VM_D3 G VM_D3 D1 h R4 D2 i R4 D3 j R7 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = D3 Src = R1 SID ... Dest=VM_D3 Dest = Chica Src = VM_S Src = San Fran SID SID VNID = X VNID = X ... ... Data Data

  22. GUID Dest Metric GUID Next hop R7 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 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = D3 Src = R1 SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data

  23. GUID Dest Metric GUID Next hop R4 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 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = D3 Src = R1 SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data

  24. GUID Dest Metric GUID Next hop VM_GUID Metric VM_GUID R5 Dest Next hop S a R4 VM_S A VM_R2 R1 b R4 VM_R1 B VM_R2 R2 c R3 VM_R2 C VM_R2 R3 d R3 VM_R6 D VM_R6 R4 e R4 VM_D1 E VM_R6 R6 f R6 VM_D2 F VM_R6 R7 g R4 VM_D3 G VM_D3 D1 h R6 D2 i R6 D3 j D3 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = D3 Src = R1 SID ... Dest=VM_D3 Src = VM_S SID VNID = X ... Data

  25. GUID Dest Metric GUID Next hop VM_GUID Metric VM_GUID D3 Dest Next hop S a R5 VM_S A VM_R1 R1 b R5 VM_R1 B VM_R1 R2 c R5 VM_R2 C VM_R5 R3 d R5 VM_R5 D VM_R5 R4 e R5 VM_R6 E VM_R5 R5 f R5 VM_D1 F VM_R5 R6 g R5 VM_D2 G VM_R5 R7 h R5 D1 i R5 D2 j R5 R6 R3 R5 D1 R2 R1 D2 S R4 D3 R7 Dest = D3 Src = R1 SID ... Dest=VM_D3 Dest = Chica Src = VM_S Src = San Fran SID SID VNID = X VNID = X ... ... Data Data

  26. Implementation Using Click Modular Software Router (C++ based). Introduced Virtual Processing elements within the MobilityFirst router prototype. Experiments on Orbit testbed at WINLAB.

  27. Click Implementation of Router inQ topo_mngr inCtr_pkt to lp_hndlr LSA_Hdlr outQ GSTAR Classifier updates RT and LUT csyn data VN Topology Manager : Initialization block receives topology/ configuration file and this click element creates 0 and populates the virtual routing table with necessary information and updates aggr 0 inCtr_chunk 2 packet for self VN Processing aggregator : n/w binder Q ctrl/ virtuallsahandler dest ==my_guid asp Create virtual Lsa chunks 0 Upper protocol check if VN CTRL or Application specific classification VN DATA or VN ASP computation + Forwarding Virtual data 0 virtualdataforwarding 1 GNRS Lookup & n/w binder 1 encapsulation VN LUT svc_cla 0 0 0 seg intra_lookup outQ_Data 0 1 Data Processing

Recommend


More recommend