4
1 1 Minseok Kwon Department of Computer Science Rochester Institute of Technology [email protected] http://www.cs.rit.edu/~jmk 2 Dynamic Source Routing (DSR) Route discovery Source floods Route Request (RREQ) -- potential collision. Each node appends own identifier when forwarding RREQ. A node does not forward a RREQ if it is a duplicate. Destination D replies a Route Reply (RREP) following the reverse of the route in RREQ.

Dynamic Source Routing (DSR)jsb/20123/advnet/projexam/lecnotes/wk7... · Dynamic Source Routing (DSR) • Route discovery • Source floods Route Request (RREQ) -- potential collision

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dynamic Source Routing (DSR)jsb/20123/advnet/projexam/lecnotes/wk7... · Dynamic Source Routing (DSR) • Route discovery • Source floods Route Request (RREQ) -- potential collision

1

1

Minseok Kwon

Department of Computer Science Rochester Institute of Technology

[email protected]

http://www.cs.rit.edu/~jmk

2

Dynamic Source Routing (DSR) •  Route discovery

•  Source floods Route Request (RREQ) -- potential collision. •  Each node appends own identifier when forwarding RREQ. •  A node does not forward a RREQ if it is a duplicate. •  Destination D replies a Route Reply (RREP) following the reverse of

the route in RREQ.

B

A

S E F

H

J

D

C

G

I K

M

N

L

[S,C,G,K]

[S,E,F,J]

RREP [S,E,F,J,D]

3

Other Issues •  Actual data transmission

•  After route discovery, source sends actual data to destination over the discovered route.

•  Each packet includes the entire route in its header (source routing).

•  What if the links are not bi-directional? •  RREQ is forwarded only if a link is bi-directional. •  If unidirectional links exist, destination also needs to issue a route

discovery to source. •  In this case, the Route Reply can be piggybacked on the RREQ from

D. •  802.11 guarantees bi-directional links (ACK).

•  Route Error (RERR) •  If the link J-D fails, J sends a RERR to S along a discovered route. •  If a node hears RERR, remove link J-D from their route cache.

4

DSR: Route Caching •  Each node caches learned routes.

•  If S receives RREP [S,E,F,J,D], it also learns route [S,E,F,J] to J. •  If K receives RREQ [S,C,G], it also learns route [K,G,C,S] to S. •  If F receives RREP [S,E,F,J,D], it also learns route [F,J,D] to D. •  A node also learns routes by overhearing data packets. •  An intermediate node can also respond RREP if it knows a path to

destination. •  Route caching 1) reduces RREQ flooding and 2) speeds up route discovery.

B

A

S E F

H

J

D

C

G

I K

M

N

L

[S,E,F,J,D] [E,F,J,D]

[F,J,D] [F,E,S]

[J,F,E,S]

[C,S]

[G,C,S]

5

DSR: Pros and Cons •  Advantages

•  Routes only for communicating nodes •  Route caching reduces route discovery overhead •  A single route discovery may find multiple routes.

•  Disadvantages •  Packet header size grows with route length. •  Flooding adds complexity. •  Collisions may occur. •  RREP storm problem may be possible. •  Cache inconsistency or invalidation.

6

DSR: Reduce Flooding? •  Location-Aided Routing

•  Limit the scope of RREQ flooding to only the zone that is expected to have a target node.

•  Physical information is required.

•  Query localization •  RREQs are propagated only along paths that are close to the

previously known route. •  A new path can have at most k nodes not present in the

previous path.

•  Reduce broadcast storm problem •  Use probability, counts, and distance to reduce redundant

RREQ packet flooding.

Page 2: Dynamic Source Routing (DSR)jsb/20123/advnet/projexam/lecnotes/wk7... · Dynamic Source Routing (DSR) • Route discovery • Source floods Route Request (RREQ) -- potential collision

2

7

AODV

B

A

S E F

H

J

D

C

G

I K

M

N

L

•  Problem of DSR: potentially large header •  AODV addresses this problem by maintaining routing tables at

the nodes •  Reverse path setup

8

AODV •  What if a routing table entry becomes old when not used?

•  A routing table entry is purged if not used for a timeout interval.

•  What if a network link fails? •  A RERR message is propagated for a broken link.

•  Can an intermediate node respond to RREQ? •  Only if the node knows a more recent path to destination. •  How do we know the current path is more recent? •  We need destination sequence number for this. •  So the node with higher sequence number only responds.

9

What is a Sensor Network?

Sensors

Base Stations Sensor Networks

10

Challenges •  Sensor Nodes

•  Very limited energy resources •  Limited processing power and storage •  Low bandwidth radio

•  Unreliable communication channels •  Battery depletion •  Harsh environment

•  Data aggregation opportunities •  Remove duplicate or redundant data

•  Can we build a scalable, energy-efficient, robust, and efficient-routing sensor network?

11

Directed Diffusion: Routing

1

9

6

8

5

3 2

4

7

(0,100)

(25,75) (0,75)

(25,100)

Reinforced Path Established Gradient

Interest: type = 4 legged animal interval = 1 s rect = [0, 75, 25, 100] timestamp = 1:20:40 expires = 1:30:40

Base Station Sensors

Directed Diffusion

12

Directed Diffusion •  Base station (sink) broadcasts exploratory interest I in order to

discover routes between source and sink. •  Neighbors update interest-cache and forward I. •  Gradient is established for I.

•  When event E occurs and is matched to I, interest reply is diffused down gradient (exploratory gradient) for low-rate data.

•  For high-rate data download, reinforce optimal path from exploratory gradients, and use only the reinforced path.

•  If there is a link failure, choose the next best link. •  Reinforce negatively lossy links and long-latency path.

Page 3: Dynamic Source Routing (DSR)jsb/20123/advnet/projexam/lecnotes/wk7... · Dynamic Source Routing (DSR) • Route discovery • Source floods Route Request (RREQ) -- potential collision

3

13

Results

0 0.002 0.004 0.006 0.008 0.01

0.012 0.014 0.016 0.018

0 50 100 150 200 250 300

Aver

age

Diss

ipat

ed E

nerg

y

(Jou

les/

Node

/Rec

eive

d Ev

ent)

Network Size

14

Contributions and Critiques •  Contributions

•  Data-centric addressing •  Application-awareness: data aggregation for energy

efficiency and efficient bandwidth utilization •  Use gradient (exploratory and reinforced)

•  Critiques •  Optimal path does not maximize aggregation. •  Exploratory paths create overhead. •  What if nodes have different resource capacity?

15

Improving Wireless TCP •  What are the differences in wireless TCP?

•  Wireless transmission errors •  Multi-hop routes on shared wireless medium (interference) •  Route failures due to mobility

•  These errors may cause fast retransmit, which results in congestion window reduction.

•  Worse, burst errors may cause timeouts! •  However, reducing congestion window in this case is unnecessary!

This will only reduce throughput! •  Sadly TCP cannot distinguish between packet losses due to

congestion and transmission errors. •  Question: How can we improve TCP throughput?

16

TCP with SACK

•  In this protocol, the sender cannot distinguish packet losses due to transmission errors from network congestion.

1 2 3 4 5

0 3 0 4 0 5

2 1

congestion window = 5

SACKs are generated by receiver. Sender responds to SACKs or fast-retransmits.

Router does nothing for TCP congestion control

17

TCP-Aware Link Layer

1 2 3 4 5

0

0 3 0 4

0 5

2

1 congestion window = 5

Local SACK-based retransmit from router. Sender sees no duplicate ACKs and performs no fast-retransmit.

Router strips SACK info and suppresses any duplicate ACKs.

•  High throughput from faster error recovery due to shorter RTT. •  End-to-End semantics are retained, and no fast-retransmit at sender. •  However, link-layer at router needs to be TCP-aware. •  May not be possible if data and Acks go through different paths.

18

Split Connection

1 2 3 4 5

0 3

0 4

0 5

2

1 congestion window = 5

Local SACK-based retransmit from router. Sender frees packets from TCP stack.

Router stores packets and generates cumulative ACKs.

1 2 3 4 5

1 2 3 4 5

•  Faster error recovery due to shorter RTT. •  Different flow and congestion controls on the two connections. •  However, the e2e semantics are violated. •  Extra copy and storage are required at routers.

Page 4: Dynamic Source Routing (DSR)jsb/20123/advnet/projexam/lecnotes/wk7... · Dynamic Source Routing (DSR) • Route discovery • Source floods Route Request (RREQ) -- potential collision

4

19

Acknowledgments •  Some of the figures and results were taken or modified from the

following sources: •  Original papers •  Nitin Vaidya •  Deborah Estrin