Pathlet routing CS513

25
PATHLET ROUTING Amit Srivastava Gauri Pulekar

Transcript of Pathlet routing CS513

Page 1: Pathlet routing CS513

PATHLET ROUTING

Amit Srivastava

Gauri Pulekar

Page 2: Pathlet routing CS513

Introducing, ‘Pathlet Routing’

ACM SIGCOMM Computer Communication Review 2009

Proposed by research team from UC Berkeley and UI Urbana Champaign

Addresses two main problems with BGP Scalability Multipath Routing

Allows protocol emulation, it can mimic BGP

Page 3: Pathlet routing CS513

BGP : It runs the internet!

Current de-facto inter AS routing protocol

BGP uses destination based forwarding i.e. IP address in the header

Uses TCP connection to peers for sending information

Only shares a portion of the routing table

No periodic update to routing information

Routers in the same AS are internal peers, others are external peers

Page 4: Pathlet routing CS513

BGP : Messages KEEPALIVE message sent for checking connectivity

NOTIFICATION are for failure or before closing connections

UPDATE messages carry routing information

Routes are stored in Routing Information Bases (RIB): Adj-RIB-In contains information from inbound UPDATE messages,

mostly unprocessed information Loc-RIB contains local routing formation by applying local policies on

the data in Adj-RIB-In Adj-RIB-Out contains the routing info the router has selected to share

with its peers via UPDATE

Page 5: Pathlet routing CS513

Building Blocks Vnodes:

Virtual node For a given router, it can have n vnodes for n interfaces This allows traffic shaping for traffic coming from an interface Routers learn about vnodes in the AS by exchanging information with

peers

Pathlets: A sequence of vnodes leading to a destination identified by a IP prefix Forwarding Identifier – FID (f)

Vnode + Pathlet = Virtual topology

Page 6: Pathlet routing CS513

Let’s understand..

Constructing pathlets between peer routers

xy z

A B C

2

Page 7: Pathlet routing CS513

Let’s understand..

Two pathlets used to send data from A to C

x y z

3

A B C

2

2, 3 3

Page 8: Pathlet routing CS513

Let’s understand..

Three autonomous systems

x y z

3

A B C

2

4

4 3

Page 9: Pathlet routing CS513

Let’s understand..

Three autonomous systems

x

p

uA

BC

y v

qr

s

Page 10: Pathlet routing CS513

Let’s understand..

Ingress and egress points can be chosen from many available options

y

p

uA

BC

x v

qr

s

Page 11: Pathlet routing CS513

Let’s understand..

Multiple pathlets to suit local transit policies

y

p

uA

BC

x v

qr

s

Page 12: Pathlet routing CS513

Pathlet Routing - Working

Pathlet originates at a router R1 (with vnode v1)

The sending vnode refers to its table for possible pathlets to reach destination

Creates a list of vnodes and calls it a pathlet ( and can advertise it) puts the pathlet in the header and send the packet out to a peer

Peer removes its own vnode in the packet header and sends along to the next vnode

This path selection is dependent on local policies of the AS

Page 13: Pathlet routing CS513

Route Selection

Using shortest path algorithmPath for packet forwarding based on result of shortest path algorithm run on a graph created by using routing information at vnodes

Page 14: Pathlet routing CS513

Pathlet Dissemination

Path vector algorithm (just like BGP)

Announces pathlet’s FID and sequence of vnodes

Scalability: Propagate arbitrary subset of known pathlets

Path vector used for sending routing info not routing data

Page 15: Pathlet routing CS513

Components Of Pathlet Routing

Page 16: Pathlet routing CS513

Components Of Pathlet Routing Controller: Processes the routing information

Vnode Manager: Manages all vnodes(tables) on a single device

Disseminator: Sends out routing information to peers

Router : Router running at least 1 pathlet routing instance

Vnode: A small routing table

Pathlet: A sequence of vnodes

Page 17: Pathlet routing CS513

Implementation: Router The router can have max 5 interfaces

It can connect to other routers using TCP

The topology is created using a config file

There are 2 kinds of messages Data messages with dummy data Routing messages contain routing information in the following format{AS-id, RouterId, VnodeId} and {PathletId (FID), IP Prefix}

Routers collect stats like size of table in Vnodes and total control messages sent and received

Allow commands on each router

Page 18: Pathlet routing CS513

Implementation: Vnode & Vnode Manager

Vnode Manager is a container for Vnodes

All VNodes have vnode-id, router-id, AS-id to uniquely identify it

Controller logic is still being decided but it only decides on installing paths from peers on Vnodes

The shortest path algorithm is implemented on the Vnode

The shortest path algorithm implemented separately but buggy

Page 19: Pathlet routing CS513

Implementation: Deciding Topology

Using BGP RIB and Update messages to create update messages

A simple 3 and 6 node topology being used to achieve basic goal of routers exchanging data

Currently tables are static

Page 20: Pathlet routing CS513

Scope

Implement the software router in Python using Twisted and NetworkX.

Allow exchange of messages on routers arranged in real-world like scenario

Save the logs for comparison with data from RouteViews

Simulate loss of links

Page 21: Pathlet routing CS513

Timeline

Activity Completed TimeFind internet-based topology data or a random graph which can be scaled from 10 to 300 nodes

20 October

Learn and implement the shortest path and Path Vector algorithms

20 October

Learn basic Erlang. We are using Python with NetworkX and Twisted

27 October

Explore possible packet structure for Pathlet routing

27 October

Finalize the details to be implemented or BGP and Pathlet routing

3 November

Activities completed so far

Page 22: Pathlet routing CS513

Timeline

Ongoing Activities TimeRun the algorithms for Pathlet and BGP on a large 100+ node graph. And verify the result

10 November

Simulate of a 3 node graph running BGP and Pathlets capable of exchanging information. Created a graph of 6 nodes to implement Pathlet only not BGP

17 November

Verify the above system for discrepancies 24 NovemberAdd provision for emulating Local policies for implementing Local Transit policies

1 December

Run comparison studies on the system 8 December

Ongoing activities and future plan

Page 23: Pathlet routing CS513

References

http://dl.acm.org/citation.cfm?id=1592583

https://www.ietf.org/rfc/rfc1771.txt

http://jad-reads.blogspot.com/2009/04/thoughts-on-pathlet-routing.html

ftp://espectrocrom.com/pub/manuales/bgp/cisco%20-%20bgp%20-%20internet%20routing%20architectures%202ed%20(press%201-57870-233-x).pdf

http://web.engr.illinois.edu/~pbg/pathlets/

Page 24: Pathlet routing CS513

Questions

Page 25: Pathlet routing CS513

Thank You