CMPE 252A: Computer Networks Set 11:

33
CMPE 252A: Computer Networks Set 11: New Directions in Naming, Addressing and Routing

description

CMPE 252A: Computer Networks Set 11: . New Directions in Naming, Addressing and Routing. UTAH. SRI. IMP. IMP. IMP. UCSB. IMP. UCLA. Problem: We Are All Routing Like It Is 1969! . 12/1/69:. Today’s “ROUTING formula” = - PowerPoint PPT Presentation

Transcript of CMPE 252A: Computer Networks Set 11:

Page 1: CMPE 252A:  Computer Networks Set 11:

CMPE 252A: Computer Networks

Set 11:

New Directions in Naming, Addressing and Routing

Page 2: CMPE 252A:  Computer Networks Set 11:

Problem: We Are All Routing Like It Is 1969!

Today’s “ROUTING formula” =

1. User provided IP addresses are assigned “carefully” to devices

2. Routing tables are lists of entries stating an IP addresses range and next hop(s)must grow with net size!

3. Flooding for routing is viewed as “normal” for signaling of protocols it is actually a necessity!

4. Forwarding relies on looking up destination address in routing table

5. IP addresses are mapped to domain names using unrelated hierarchical caching structure

UCSB

SRI UTAH

UCLA

IMP

IMP

IMP

IMP

12/1/69:

Why should routing be like this?

Page 3: CMPE 252A:  Computer Networks Set 11:

Proactive Routing

D

a Se

cfh

b

Too many nodes are forced to know about how to reach each destination! Does not work well with random partitions

D

Information about the existence of D propagates away from D to all nodes

Path first, then data forwarding

Page 4: CMPE 252A:  Computer Networks Set 11:

On-Demand Routing

D

a Se

cfh

b

Too many nodes are forced to help find or repair ways to reach a few destinations! (RREQ flooding). Does not work with partitioned networks!

S

Few nodes keep state for D.Paths fixed reactively.

Information about the interest of S in D propagates away from S(RREQ)

Path first, then data forwarding

Nodes with paths to D reply to S (RREP).

Page 5: CMPE 252A:  Computer Networks Set 11:

5

Epidemic Routing

D

a Se

cfh

b

Too many nodes are forced to relay data from S to D.Does not work with partitioned networks, unless infinite storage is assumed.

Data create paths

SInformation from S propagates away from S

Page 6: CMPE 252A:  Computer Networks Set 11:

What Is Routing? Routing is just a labeling of nodes in a graph

to establish relative ordering

An efficient labeling for routing could give only one label (or very few) to each node, rather than one or multiple labels to each node for each destination of interest.

Routing does not have to be tied to name

assignment and resolution; but the two must work with each other.

Page 7: CMPE 252A:  Computer Networks Set 11:

What Is Routing? We cannot solve the problem simply by using

two types of identifiers [names & locators ] for each node: Routing labels are not locators;

they must denote relative ordering! Routing labels should not be based on

destination names Names must be allowed to be anything! Routing labels should be designed for

scale-free routing

Page 8: CMPE 252A:  Computer Networks Set 11:

Scale-Free Routing Message complexity of signaling grows

sub-linearly with the size of the network. Routing table size grows sub-linearly with

the number of destinations. Routing-label length grows sub-linearly

with size of the network. Need to separate overhead for directory

services from overhead due to routing.

Page 9: CMPE 252A:  Computer Networks Set 11:

Clustering: Implicit Internet Approach

ae

cfh

b

D

S

p

t

g

r

k

Problems: Establishing affiliation of

nodes to clusters Static affiliations; break Use of directory services;

no good solutions exist Flooding; costly.

Complex handling of node mobility and cluster partitions.

Complex signaling to create and maintain clusters and backbone.

Routes can be much longer than in flat structures.

node@cluster LS or DV in each cluster

Page 10: CMPE 252A:  Computer Networks Set 11:

Distributed Hash Tables (DHT)

ae

cfh

b

D

S

p

t

g

r

k

Problems: Node identifiers in DHT have

no correlation to network topology

=> links in virtual overlay (e,g, ring) have no correlation with real links.

Signaling incurred in maintaining virtual overlay for DHT

Signaling is still needed for underlying network.

Large overhead in starting virtual network and responding to node or link failures

Virtual link to “next node ID”

Page 11: CMPE 252A:  Computer Networks Set 11:

Geographical Coordinates

ae

cfh

b

DS

p

t

g

r

k

Problems: Nodes need to know

their own coordinates. [Using external means (GPS)]

Sources need to obtain coordinates of intended destinations

Protocols must avoid dead ends searching for destinations.

Long delays in search or similar flooding problems as in traditional routing.

@(60, 5)@(30, 40)

Page 12: CMPE 252A:  Computer Networks Set 11:

Distance Based Virtual Coordinates (ViC):

R

R

i

p

k

m

j

u

bo

c

a

v

e

g

f

D

Problems today: Distance-based systems do not provide unique coordinates

(e.g., a & c) and hence a VC does not identify a node or relative location.

Source needs to obtain the ViC of destination.

(0)(3)

(2)(3)

(1)(2)

(2)(2) (3)

(1)

(2)(1)

r w

(3)(2)

(4)(1)

(1)(3) @(2)

(2)

(1)(4)

(1)(4)

(2)(4)

(2)(4)

u

(2)(5)

(3)(5)

(3)(6)

y

x

z

(4)(1)

(5)(2)

(4)(1)

(3)(0)

Page 13: CMPE 252A:  Computer Networks Set 11:

Advantages: Unique labels assigned dynamically to each node, automatic routing!Problems: Depth-first search used in the labeling of nodes! Any link break requires the relabeling of the tree Source needs to obtain the ViC of destination (w/o flooding or

centralized directory service). Paths can be much longer than shortest paths.

Interval Routing Nicola Santoro, Ramez Khatib: Labeling and Implicit Routing in Networks. Comput. J. 28(1): 5-8 (1985)

R

R

i

p

k

m

j

u

bo

c

a

v

e

g

f

D

(0)

(13)

(10)

(11)

(9)

(16)

r w

(14)

(15)

(7)

@(8)

(1)

(4)

(12)

(5)

u

(2)

(6)

(3)

y

x

z

(18)

(19)(20)

(17)

1

2 34

123

1

1

22

3

1 2

1

2

1

23

4

12 3

45

1 23

1

1

1

2

12

3

23

4

2

3

12

3 1

2

3

12

3

12

34

5

12

1

22 1

1 2

Page 14: CMPE 252A:  Computer Networks Set 11:

AIR: Automatic Incremental Routing Scale Free and “Wire Speed”: Make routing automatic like interval routing does in multiprocessors. Eliminate network-wide dissemination of routing information per

destination or link , and avoid bottlenecks. Use only local information for forwarding and routing-tables that do

not grow as the network grows. Allow similar routing in tiny nodes and backbone routers.

Robust: Use labels that require the minimum degree of changes with the

addition or deletion of any subset of links or nodes.

Independent of Application and Name Resolution: Enable any type of information dissemination (unicast, multicast,

anycast) with a single routing protocol. Make routing independent of address or name space used to

identify hosts, groups, content, or services.

Page 15: CMPE 252A:  Computer Networks Set 11:

AIR: Automatic Incremental Routing Two components:

Autonomic route maintenance• A simple HELLO mechanism labels all nodes with routing labels relative

to one ore more elected “roots.” • Routing between any source and destination is automatic from the

routing labels. • Tables are incremental (only local knowledge!)• Size is only O(logd N), where d = node degree, N = number of nodes

Distributed name resolution• “Links” sources to destinations (nodes, groups, functions, content)• Distributed and self organizing.• Publish-subscribe approach appears to be the most promising• Same interaction for App for any type of information dissemination (e.g.,

“subcribe/send to x” and “publish as y”)

Source: J.J. Garcia-Luna-Aceves and D. Sampath, "Scalable Integrated Routing Using Prefix Labels and Distributed Hash Tables for MANETs," Proc. IEEE MASS 2009: The 6th IEEE International Conference on Mobile Ad Hoc and Sensor Systems, October 12 - 15, 2009, Macau SAR, P.R.C.

Page 16: CMPE 252A:  Computer Networks Set 11:

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

Nodes are ordered in a DAG by:DAG id, Prefix label, Global id

021

023

031

041

042

011

012

043

0311

03111

0312

0411

0211Root node (a) is elected in a distributed fashion using HELLOsNode ID + attributes define selection of root node

Each node is given a label relative to root node

0

HELLO (parent) and HELLO (child) announce own labels

HELLO (parent) assigns labels to children

HELLO (child) confirms labels to parent

AIR: Establishing Routing Labels

Page 17: CMPE 252A:  Computer Networks Set 11:

AIR: Routing Labels Define Routes

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

021023

031

041

042

011

012

043

0311

03111

0312

0411

0211

0

Prefix labels of source and destination define the route (prefix routing)

Use neighbor offering the best prefix match.

“If not my child, go up [or to able sibling]”

How do b and n know the labels of nodes j and s, respectively?

Page 18: CMPE 252A:  Computer Networks Set 11:

Global ID Routing Label

Hash

Mapping IDs to Labels:

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

021023

031

041

042

011

012

043

0311

03111

0312

0411

0211

0

Node s hashes its own global ID and obtains a prefix label “024” as its anchor label:H(‘s’) = 024

Node s sends a publish request towards “024” with its own mapping:[s, 03111]

Node c (“02”) is the best match for the anchor label 024 and stores the mapping [s, 03111].

[s, 03111]

Page 19: CMPE 252A:  Computer Networks Set 11:

Global ID Routing Label

Hash

Mapping IDs to Labels:

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

021023

031

041

042

011

012

043

0311

03111

0312

0411

0211

0

Node n computes H(‘s’) = 024 as the anchor label of node s.

Node n sends a subscribe request towards “024” with its own mapping [n, 041] and the requested mapping [s, ??]

Node c receives the request and responds with the prefix label of node s.

[s, 03111]

Page 20: CMPE 252A:  Computer Networks Set 11:

Global ID Routing Label

Hash

DHT in AIR

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

021023

031

041

042

011

012

043

0311

03111

0312

0411

0211

0

[s, 03111]

Anchors and intermediate nodes store the global ID to prefix label mappings.

These entries form the DHT in AIR

Soft state!

Destinations refresh anchors with new mappings to account for topology changes.

[s, 03111]

[s, 03111]

[s, 03111]

[s, 03111]

[s, 03111]

Page 21: CMPE 252A:  Computer Networks Set 11:

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

021

023

031

041

042

011

012

043

0311

03111

0312

0411

0211

0

AIR: Multicasting Is Just as Easy

Blue nodes are part of multicast group with ID “g” and multicast prefix label H(g) = “013”

The node with the closest label to 013 is node b (01); this node serves as the core of the multicast group.

Receiver joins group by:a) Hashing the multicast

group ID to a multicast prefix label.

b) Sending a join request towards the prefix label

Nodes processing the join replies join the mesh.

join

f

i

j

Page 22: CMPE 252A:  Computer Networks Set 11:

c

a

b

e

n

p

s

m

q

r

oh

b

g

f

i

jk

02

01

03

04

021

023

031

041

042

011

012

043

0311

03111

0312

0411

0211

0

AIR: Multicasting Is Just as Easy

f

i

jSources simply send towards the multicast prefix label of the group.

They pick the best prefix match to the multicast prefix label.

First node in the group receiving the multicast packet simply broadcasts over multicast mesh.

From “core based trees” to “prefix based meshes”

Page 23: CMPE 252A:  Computer Networks Set 11:

Solution: Routing as Ordered Switching

Scale-free!One routing for all apps!

ROUTING on AIR =

1. The network itself defines its label space and assigns routing labels devices; no user intervention

2. Routing tables are lists of IDs and labels of neighbors

Grows only with size of immediate neighborhood!

3. No flooding per destination; a distributed one-pass election from root labels all nodes.

4. Forwarding equals finding best match for label in packet among the labels in routing table

5. Names are mapped to routing labels using a directory service embedded in network

Page 24: CMPE 252A:  Computer Networks Set 11:

Multiple Labels :Automatic Routes with Near-Zero Stretch

31

2

4

11

12

14

122

1222

22

23

222

223

3333333

332233

23332233

22233

33

34

root111

1112 112

2223

3332

1122

11222 222122211

1221 221

S

D

Page 25: CMPE 252A:  Computer Networks Set 11:

Multipaths & Simple Ways to Avoid Loops During Transitions

31

2

4

11

12

14

122

1222

22

23

222

223

3333333

332233

23332233

22233

33

34

root111

1112 112

2223

3332

1122

11222 222122211

1221 221

21 D

S

Page 26: CMPE 252A:  Computer Networks Set 11:

Does AIR Really Work better than Traditional Routing in MANETs?

Assume the simplest version of its mechanisms: Single root for network

Single paths to destinations

Single routing label per node

Single anchor per destination and no caching

Flat label space (e.g., no federation of spaces used within network regions)

No use of auxiliary information (e.g., GPS, trajectories)

Page 27: CMPE 252A:  Computer Networks Set 11:

AIR Performance in MANETsQualnet Simulator

Simulation Setup1500 m

1500

m

Parameter Value

Node placement RandomArea 1500 x 1500Radio Range 100mNodes 400Flows 150Duration 4500sFlow intervals Exponential with

mean 1/20th of duration

Mobility Random Waypoint

Speed 1 – 10 m/sRandom Seeds 10MAC/PHY CSMA/802.11

Page 28: CMPE 252A:  Computer Networks Set 11:

Unicast Traffic

AIR delivers far more traffic than OLSR and AODV, especially at high mobility

Delivery Ratio – Unicast

OLSR and AODV incur 3 or 4 times as much overhead than AIR, especially at high mobility

Control Overhead – Unicast

AIR Performance in MANETs

Page 29: CMPE 252A:  Computer Networks Set 11:

20 nodes per multicast group

AIR delivers more than ODMRP and 25% more than MAODV under high mobility

Delivery Ratio – Multicast

ODMRP and MAODV have almost 30% more overhead than AIR

Control Overhead – Multicast

AIR Performance in MANETs

Page 30: CMPE 252A:  Computer Networks Set 11:

Combined Unicast and Multicast

AIR delivers more than 30% under high mobility

Delivery Ratio – Combined

ODMRP and MAODV have almost 3.5 and 2.5 times more overhead than AIR!

AIR Performance in MANETs

Control Overhead – Combined

Page 31: CMPE 252A:  Computer Networks Set 11:

Many Research Questions Stretch of AIR routes: Can we make them

as short as shortest paths? How?

Is there a role for multiple roots?

QoS and policy-based routing:

From routing with multiple constraints to DAG management with multiple constraints.

Fault-tolerance and performance: Understanding AIR mechanisms in detail.

Page 32: CMPE 252A:  Computer Networks Set 11:

Many Research Questions Routing content (billions of objects):

Integrate AIR with caching and URI name spaces.

Operation in Internet architecture

DNS & anchors; interoperation with IP-only ASes; Policy-based routing (BGP)

Hashing functions in real deployments:

Which nodes should maintain the DHT?

Provenance, privacy, and distributed firewalls:

No more faking of IP addresses by enforcement of prefix labels.

Multicast deployment, AIR deployment

If we use URI’s for naming and don’t use IP addresses for routing, what is the role of IPv4 or IPv6 addresses? (switching)

Page 33: CMPE 252A:  Computer Networks Set 11:

Questions?

Old routing = destination-based routing tables (or VC tables) + independent name-to-address resolution

New routing = ordered switching + integrated name-to-label resolution