opportunistic routing in multi-hop wireless networksbiswas/exor-sigcomm.pdf · opportunistic...

Post on 10-Jul-2020

10 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Opportunistic Routing in Multi-hop Wireless Networks

Sanjit Biswas and Robert MorrisMIT CSAIL

http://pdos.csail.mit.edu/roofnet/

ExOR: a new approach to routing in multi-hop wireless networks

• Dense 802.11-based mesh

• Goal is high-throughput and capacity

1 kilometer

packet

packet

packet

Initial approach: Traditional routing

• Identify a route, forward over links

• Abstract radio to look like a wired link

srcsrcsrcsrc

AAAA BBBB

dstdstdstdst

CCCC

Radios aren’t wires

• Every packet is broadcast

• Reception is probabilistic

1 2 3 4 5 61 2 3 63 51 42 3 4 561 2 4 5 6 srcsrcsrcsrc

AAAA BBBB

dstdstdstdst

CCCC

packet

packetpacketpacketpacketpacket

ExOR: exploiting probabilistic broadcast

srcsrcsrcsrc

AAAA BBBB

dstdstdstdst

CCCC

packetpacketpacket

• Decide who forwards after reception• Goal: only closest receiver should forward• Challenge: agree efficiently and avoid duplicate transmissions

Outline

• Introduction

• Why ExOR might increase throughput

• ExOR protocol

• Measurements

• Related Work

Why ExOR might increase throughput (1)

• Best traditional route over 50% hops: 3(1/0.5) = 6 tx• Throughput ≅ 1/# transmissions

• ExOR exploits lucky long receptions: 4 transmissions• Assumes probability falls off gradually with distance

src dstN1 N2 N3 N4

75%50%

N5

25%

Why ExOR might increase throughput (2)

• Traditional routing: 1/0.25 + 1 = 5 tx

• ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions

• Assumes independent losses

N1

src dst

N2

N3

N4

25%

25%

25%

25%

100%

100%

100%

100%

Outline

• Introduction

• Why ExOR might increase throughput

• ExOR protocol

• Measurements

• Related Work

ExOR batching

• Challenge: finding the closest node to have rx’d

• Send batches of packets for efficiency

• Node closest to the dst sends first– Other nodes listen, send remaining packets in turn

• Repeat schedule until dst has whole batch

src

N3

dst

N4

tx: 23

tx: 57 -23≅ 24

tx: ≅ 8

tx: 100

rx: 23

rx: 57

rx: 88

rx: 0

rx: 0tx: 0

tx: ≅ 9

rx: 53

rx: 85

rx: 99

rx: 40

rx: 22

N1

N2

Reliable summaries

• Repeat summaries in every data packet

• Cumulative: what all previous nodes rx’d

• This is a gossip mechanism for summaries

src

N1

N2

N3

dst

N4

tx: {1, 6, 7 ... 91, 96, 99}

tx: {2, 4, 10 ... 97, 98}summary: {1,2,6, ... 97, 98, 99}

summary: {1, 6, 7 ... 91, 96, 99}

Priority ordering

• Goal: nodes “closest” to the destination send first• Sort by ETX metric to dst

– Nodes periodically flood ETX “link state” measurements– Path ETX is weighted shortest path (Dijkstra’s algorithm)

• Source sorts, includes list in ExOR header• Details in the paper

src

N1

N2

N3

dst

N4

Using ExOR with TCP

Node

Proxy

ExORExORExORExOR

Gateway

Web Proxy

Client PC Web ServerTCPTCPTCPTCP TCPTCPTCPTCP

ExORExORExORExOR Batches (not TCP)Batches (not TCP)Batches (not TCP)Batches (not TCP)

• Batching requires more packets than typical TCP window

Outline

• Introduction

• Why ExOR might increase throughput

• ExOR protocol

• Measurements

• Related Work

ExOR Evaluation

• Does ExOR increase throughput?

• When/why does it work well?

65 Roofnet node pairs

1 kilometer

Evaluation Details

• 65 Node pairs

• 1.0MByte file transfer

• 1 Mbit/s 802.11 bit rate

• 1 KByte packets

802.11 broadcasts

100 packet batch size

802.11 unicast with link-level retransmissions

Hop-by-hop batching

UDP, sending as MAC allows

ExORTraditional Routing

ExOR: 2x overall improvement

• Median throughputs: 240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional

Throughput (Kbits/sec)

1.0

0.8

0.6

0.4

0.2

00 200 400 600 800

Cu

mu

lati

ve F

ract

ion

of N

od

e Pa

irs

ExORTraditional

25 Highest throughput pairs

Node Pair

Thro

ug

hp

ut

(Kb

its/

sec)

0

200

400

600

800

1000 ExOR

Traditional Routing

1 Traditional Hop1 Traditional Hop1 Traditional Hop1 Traditional Hop1.14x1.14x1.14x1.14x

2 Traditional Hops2 Traditional Hops2 Traditional Hops2 Traditional Hops1.7x1.7x1.7x1.7x

3 Traditional Hops3 Traditional Hops3 Traditional Hops3 Traditional Hops2.3x2.3x2.3x2.3x

25 Lowest throughput pairs

Node Pair

4 Traditional Hops4 Traditional Hops4 Traditional Hops4 Traditional Hops3.3x3.3x3.3x3.3x

Longer RoutesLonger RoutesLonger RoutesLonger Routes

Thro

ug

hp

ut

(Kb

its/

sec)

0

200

400

600

800

1000 ExOR

Traditional Routing

ExOR uses links in parallel

Traditional Routing3 forwarders

4 links

ExOR7 forwarders

18 links

ExOR moves packets farther

• ExOR average: 422 meters/transmission• Traditional Routing average: 205 meters/tx

Frac

tio

n o

f Tra

nsm

issi

on

s

0

0.1

0.2

0.6 ExOR

Traditional Routing

0 100 200 300 400 500 600 700 800 900 1000

Distance (meters)

25% of 25% of 25% of 25% of ExORExORExORExOR transmissionstransmissionstransmissionstransmissions

58% of Traditional Routing transmissions58% of Traditional Routing transmissions58% of Traditional Routing transmissions58% of Traditional Routing transmissions

Future Work

• Choosing the best 802.11 bit-rate

• Cooperation between simultaneous flows

• Coding/combining

Related work

• Relay channels[Van der Meulen][Laneman+Wornell]

• Flooding in meshes / sensor nets [Peng][Levis]

• Multi-path routing [Ganesan][Haas]

• Selection Diversity[Miu][Roy Chowdhury][Knightly][Zorzi]

Summary

• ExOR achieves 2x throughput improvement

• ExOR implemented on Roofnet

• Exploits radio properties, instead of hiding them

Thanks!

For more information and source code:http://pdos.csail.mit.edu/roofnet/

top related