CSE 802.11 University of Washington Multipath Routing Protocols in AdHoc Networks

Preview:

Citation preview

CSE 802.11University of Washington

Multipath Routing Protocols in AdHoc Networks

First Question

Why another lecture on ad-hoc routing protocols?

Keyword: multipath Ability to provide multiple routing options from a

source to a destination Have “enough redundancy” to handle the ad-hoc nature

of these networks

Today, the multipath property of routing protocols will take center stage

But … before we begin….

Why do we need different protocols than in the Internet?

The attributes of the problem have changed: Infrastructureless

Nodes’ availabilities are very low…

Must provide incentives to cooperate

Adequate security story Cooperation-induced trust

Mobility: topology changes frequently

Power consumption: communication and computation consume energy

Network environment: More complex (subject to more factors)

Factors change frequently and in unpredictable ways

But … before we begin….

Why do we need different protocols than in the Internet?

The attributes of the problem have changed: Infrastructureless

Nodes’ availabilities are very low…

Must provide incentives to cooperate

Adequate security story Cooperation-induced trust

Mobility: topology changes frequently

Power consumption: communication and computation consume energy

Network environment: More complex (subject to more factors)

Factors change frequently and in unpredictable ways

P2P!!!

90% of sessions last less than 1 hour

90% of sessions last less than 10 mins

50% of sessions last less than 1 hour

The Availability Story Revealed

Consider a path P of 4 hops and 5 nodes Assuming independent behavior What is the probability that P will change within the

next 10 minutes? Ad-Hoc: 89% P2P: 77%

Can’t afford to propagate every change throughout the network (like Internet protocols) Although you might need node discovery

Need on-demand routing protocols

Desirable Characteristics of Ad-Hoc Routing Protocols

Adapt to rapid changes Multipath On-demand

Low communication overhead Low computation overhead Provides incentive to cooperate Secure Loop-free Maintains node connectivity

Desirable Characteristics of Ad-Hoc Routing Protocols

Adapt to rapid changes Multipath On-demand

Low communication overhead Low computation overhead Provides incentive to cooperate Secure Loop-free Maintains node connectivity

Multi-path Ad-Hoc Routing Protocols

Multipath DSR 2 versions in today’s paper

AOMDV AODV-BR ROAM MDVA

Multi-path Ad-Hoc Routing Protocols

Multipath DSR 2 versions in today’s paper

AOMDV AODV-BR ROAM MDVA

DSR - Route Discovery Example

Route Request

Message

1

2

3

5

4

7

6

8

9

101

1

1, 2

1, 2

1, 3

1, 3

1, 2, 5

1, 2, 5

1, 2, 5

1, 3, 4

1, 2, 5, 6

1, 3, 4, 7

1, 3, 4, 7

1, 3, 4, 7, 9

1, 2, 5, 6, 8

1, 2, 5, 6, 8

Route Reply

1, 3, 4, 7, 9, 10

From: Stefan Dulman(dulman@cs.utwente.nl)

How it works: S broadcasts a Route Request message to D Each node forwards request by adding its own address

and re-broadcasting Requests propagate until:

The target is found

A node that knows a route to D is found

DSR Route Discovery

Route Maintenance

If a node does not receive a confirmation from the next node that the packet was successfully forwarded, initiates a Route Error message back to the source

The data packet will be transmitted over another existing path (if multipath) or a new route discovery could be initiated

DSR – With Multipath (1st Version)

Route Request

Message

1

2

3

5

4

7

6

8

9

101

1

1, 2

1, 2

1, 3

1, 3

1, 2, 5

1, 2, 5

1, 2, 5

1, 3, 4

1, 2, 5, 6

1, 3, 4, 7

1, 3, 4, 7

1, 3, 4, 7, 9

1, 2, 5, 6, 8

1, 2, 5, 6, 8

Route Reply

1, 3, 4, 7, 9, 10

1, 2, 5, 6, 8, 10

Remember link-wise disjoint paths between source and destination

Multipath Behavior

When primary route breaks, pick the best alternate route to forward data

When no alternate routes left, re-initiate route discovery

DSR – With Multipath (2nd Version)

Route Request

Message

1

2

3

5

4

7

6

8

9

101

1

1, 2

1, 2

1, 3

1, 3

1, 2, 5

1, 2, 5

1, 2, 5

1, 3, 4

1, 2, 5, 6

1, 3, 4, 7

1, 3, 4, 7

1, 3, 4, 7, 9

1, 2, 5, 6, 8

1, 2, 5, 6, 8

Route Reply

1, 3, 4, 7, 9, 10

1, 2, 5, 6, 8, 10

Remember one link-wise disjoint path between each intermediate node and destination

3, 5, 6, 8, 10

4, 5, 6, 8, 10

7, 8, 10 9, 8, 10

Multipath Behavior

When a node detects a link is broken, the node replaces the unused path in the data packet with its alternate path

When alternate path breaks, the node transmits an error packet backward

Route discovery restarts only after all alternate paths between all intermediate nodes and destination have failed

DSR Properties

Multipath On-demand Loop-free (source routing) Maintains connectivity

Performance Enhancements

Full use of route cache Nodes operate in promiscuous mode to overhear route

discoveries Intermediary nodes must check for loop-free

Piggy-backing data on route discoveries

DSR Issues

Scalability issues: Source routing means each packet carries the full path MD5 - 16bytes per nodeID

10 nodes means 160bytes

11% of 1500 bytes packet

4X the size of TCP/IP header

IP - 4bytes per nodeID 10 nodes means 40bytes

3% of 1500 bytes packet

As big as the TCP/IP header

Basic AODV Route Discovery

When a route is needed, source floods a route request for the destination.

S

A

B

E

C

D

RREQ (broadcast)

From: U. of CincinattiMarina & Das

Basic AODV Route Discovery

Reverse path is formed when a node hears a non-duplicate route request.

Each node forwards the request at most once (pure flooding).

S

A

B

E

C

D

RREQ (broadcast)Reverse Path

Basic AODV Route Discovery

Reverse path is formed when a node hears a non-duplicate route request.

Each node forwards the request at most once (pure flooding).

S

A

B

E

C

D

RREQ (broadcast)Reverse Path

Basic AODV Route Discovery

Observation: Duplicate RREQ copies completely ignored. Therefore, potentially useful alternate reverse path info lost.

S

A

B

E

C

D

Reverse Path

Alternate Reverse Paths: A Naïve Approach

Form reverse paths using all duplicate RREQ copies.

Causes routing loops.

S

A

B

E

C

D

Reverse Path

Alternate Reverse Paths: A Naïve Approach

Question: how to form alternate “loop-free” reverse paths using some duplicate RREQ copies?

S

A

B

E

C

D

Reverse Path

Loop Freedom

Key idea: Impose ordering among nodes in every path.

Notion of upstream/downstream nodes.

General loop-freedom rule: Never form a route at a downstream node via an upstream node.

dji

j is downstream to i w.r.t d

Multiple Loop-free Reverse Paths

Suppose RREQ from S includes highest seqno for itself.

S

A

B

E

C

D

RREQ (broadcast)

0

S

A

B

E

C

D

RREQ (broadcast)Reverse Path

0

1

1

Multiple Loop-free Reverse Paths

S

A

B

E

C

D

RREQ (broadcast)Reverse Path

0

1

1

2

2

Multiple Loop-free Reverse Paths

S

A

B

E

C

D

Reverse Path

0

1

1

2

2

Multiple Loop-free Reverse Paths

Alternate Paths

Keep multiple routes but always advertise only one hop count to others. Hop count of that path is the “advertised hop count”

Which one? Longest path at the time of first advertisement.

Or.. Keep only the disjoint alternate paths The set of copy packets received at any node defines a set

of disjoint paths To ensure link-wise disjoint paths:

Exchange the first and last hops in packet

A different first and last hop ensures link-wise disjoint

AOMDV Properties

Multipath: Can support local policies for choosing alternate paths

On-demand Loop-free

Sequence numbers

Maintains connectivity

Final thoughts…

Unexplored trade-offs: Reliability vs. energy consumption vs. benefit Disjoint paths vs. braided paths

Bad interaction between TCP and on-demand adhoc protocols The perennial problem of not being able to distinguish

between congestion and broken link When will TCP be using ECNs?

Crazy idea: use cell infrastructure to compute routing tables