DESIGN AND IMPLEMENTATION OF A VIRTUAL NETWORKING FRAMEWORK FOR THE - - PowerPoint PPT Presentation

design and implementation of a virtual networking
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Content

  • Introduction
  • MobilityFirst Overview
  • Network Virtualization
  • Virtual Network for MobilityFirst
  • Application Specific Routing
  • Design
  • Implementation
  • Evaluation
  • Conclusion & Future Work
slide-3
SLIDE 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
  • 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

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

slide-5
SLIDE 5

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

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

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

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

slide-9
SLIDE 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

slide-10
SLIDE 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
slide-11
SLIDE 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.

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

slide-13
SLIDE 13

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)

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16
slide-17
SLIDE 17

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.

slide-18
SLIDE 18

Design ‐ Packet encapsulation

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

Implementation

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

Evaluation

  • Proof of concept validation using ASR
  • Microbenchmarks: Ping and Iperf
slide-31
SLIDE 31

Proof of Concept ‐ Topology

Setup on Orbit (grid)

21 22 1

slide-32
SLIDE 32

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

slide-33
SLIDE 33

Proof of Concept ‐ Results

slide-34
SLIDE 34

21 1 22

slide-35
SLIDE 35

Microbenchmarks ‐ Topology

Topology

1 21

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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
slide-38
SLIDE 38

Conclusion

  • Presented a virtual network architecture for MobilityFirst
  • Demonstrated use‐case ‐ Application Specific Routing
  • Evaluated Virtual Network performance
slide-39
SLIDE 39

Future Work

  • 1. Cloud services integration

R3 R2 Client R1 Cloud site 1 (Waiting Time ‐ 63s) Cloud site 2 (Waiting Time ‐ 39s)

slide-40
SLIDE 40

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

slide-41
SLIDE 41

Questions

Thank you