79
Original slides by Omprakash Gnawal Routing: Collection Tree Protocol

Routing: Collection Tree Protocol - University of Iowahomepage.divms.uiowa.edu/~ochipara/classes/wsn/lectures/ctp.pdfCollection Tree Protocol. Collection • Anycast route to the sink(s)

Embed Size (px)

Citation preview

Original slides by Omprakash Gnawal

Routing:Collection Tree Protocol

Collection• Anycast route to the sink(s)

• collects data from the network to a small number of sinks

• network primitive for other protocols• A distance vector protocol

2

distance vector vs link state

Why focus on a few sinks?

Common Architecture

Router

ForwarderLink Estimator

Link Layer

Application

Control Plane Data Plane

FwdTable

3

Wireless Link Dynamics

5 4

Wireless Link Dynamics

5

0.9

1s

4

Control and Data Rate Mismatch• Can lead to poor performance

Link Layer

Control Plane Data Plane

10 pkt/s1 beacon/30s

5

Control and Data Rate Mismatch• Can lead to poor performance

Link Layer

Control Plane Data Plane

0 pkt/s1 beacon/s

5

CTP Noe

Router

ForwarderLink Estimator

Link Layer

Application

Control Plane Data Plane

6

CTP Noe

Router

ForwarderLink Estimator

Link Layer

Application

Control Plane Data Plane

6

CTP Noe’s Approach• Enable control and data plane interaction• Two mechanisms for efficient and agile topology maintenance

• datapath validation• adaptive beaconing

ControlPlane

DataPlane

7

Outline• Control plane

• datapath validation• adaptive beacons

• Data plane• queuing• transmit time• cache

• Evaluation• Conclusion

8

Data path validation

Datapath validation• Use data packets to validate the topology

• inconsistencies• loops

• Receiver checks for consistency on each hop• transmitter’s cost is in the header

• Same time-scale as data packets• validate only when necessary

10

Routing Loops• Cost does not decrease

D A

B 4.6

6.3

3.2

5.8

C

11

Routing Loops• Cost does not decrease

D A

B 4.6

6.3

3.2

5.8

X

C

11

Routing Loops• Cost does not decrease

D A

B

8.1

4.6

6.35.8

X

C

11

Routing Loops• Cost does not decrease

D A

B

8.1

4.6

6.35.8

X

C

11

• Next hop should be closer to the destination• Maintain this consistency criteria on a path

• Inconsistency due to stale state

Routing Consistency

ni ni+1 nk

12

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

6.3

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

6.3

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

6.34.6 < 6.3?

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8 13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

4.6

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

4.6

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

4.63.2 < 4.6?

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8 13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C

4.6

6.3

3.2

5.8

X

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

8.1

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

8.113

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

8.15.8 < 8.1?

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

5.813

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

5.8

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

5.84.6<5.8?

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X

4.6

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X4.6

13

Detecting Routing Loops• Datapath validation

• cost in the packet• receiver checks

• Inconsistency• larger cost than

on the packet• On Inconsistency

• don’t drop the packets• signal the control plane

D A

B

C 8.1

4.6

6.35.8

X4.6

8.1 < 4.6?

13

Routing Consistency

How Fast to Send Beacons?• Using a fixed rate beacon interval

• Can be too fast• Can be too slow• Agility-efficiency tradeoff

• Agile+Efficient possible?

15

Routing as Consistency• Routing as a consistency problem

• costs along a path must be consistent• Use consistency protocol in routing

• leverage research on consistency protocols• trickle

16

Trickle• Detecting inconsistency

• code propagation: version number mismatch• does not work for routing: use path consistency

• Control propagation rate• start with a small interval• double the interval up to some max• reset to the small interval when inconsistent

17

Control Traffic Timing• Extend Trickle to time routing beacons• Reset the interval

• ETX(receiver) >= ETX(sender) • significant decrease in gradient [found better link]• “Pull” bit - no valid route

TX

18

Adaptive Beacon Timing

Infrequent beacons in the long run

Tutornet

19

Adaptive Beacon Timing

Infrequent beacons in the long run

~ 8 min

Tutornet

19

Adaptive Beacon Timing

Infrequent beacons in the long run

~ 8 min

Tutornet

19

Adaptive vs Periodic Beacons

Time (mins)

Less overhead compared to 30s-periodic

Tutornet

20

Adaptive vs Periodic Beacons

Time (mins)

Less overhead compared to 30s-periodic

1.87beacon/s

0.65beacon/s

Tutornet

20

Node Discovery

Time (mins)

A new node introduced

Efficient and agile at the same time

Path established in < 1s

Tutornet

21

Data Plane

Data plane• Goals: efficient, robust, and reliable forwarding• Mechanisms

• per client queueing • hybrid send queue• transmit timer• transmit cache

23

Data plane mechanisms• Queueing discipline

• Per-client queueing [top-level]• each client may have one outstanding packet• achieves better fairness than a shared queue

• Hybrid send queue [lower-level]• contains both route-through and locally-generated traffic• duplicate packets are dropped [i.e., not inserted in the queue]

• Transmission Cache• for each transmitted packet insert (src, seq, THL)• determine if a packet is duplicate

24

Transmit Timer• Self-interference between packets may be a problem

25

A B C D

A B C DACK

DATA

A B C DDATA DATA

Increased likelihood of collisions

Transmit Timer• Rate control: delay the transmission of packets

• the transmission of consecutive packets is randomized between (1.5, 2.5) packet times

• Is this good enough?

26

Evaluation

Experiments• 12 testbeds• 20-310 nodes• 7 hardware

platforms• 4 radio

technologies• 6 link layers

Variations in hardware, software, RF environment, and topology

28

Evaluation Goals• Reliable?

• Packets delivered to the sink• Efficient?

• TX required per packet delivery• Robust?

• Performance with disruption

29

CTP Noe Trees

Kansei Twist

Mirage

30

Reliable, Efficient, and RobustTestbed Delivery Ratio

Wymanpark 0.9999Vinelab 0.9999

Tutornet 0.9999NetEye 0.9999Kansei 0.9998

Mirage-MicaZ 0.9998Quanto 0.9995Blaze 0.9990

Twist-Tmote 0.9929Mirage-Mica2dot 0.9895Twist-eyesIFXv2 0.9836

Motelab 0.9607

31

Reliable, Efficient, and RobustTestbed Delivery Ratio

Wymanpark 0.9999Vinelab 0.9999

Tutornet 0.9999NetEye 0.9999Kansei 0.9998

Mirage-MicaZ 0.9998Quanto 0.9995Blaze 0.9990

Twist-Tmote 0.9929Mirage-Mica2dot 0.9895Twist-eyesIFXv2 0.9836

Motelab 0.9607 Retransmit

31

Reliable, Efficient, and RobustTestbed Delivery Ratio

Wymanpark 0.9999Vinelab 0.9999

Tutornet 0.9999NetEye 0.9999Kansei 0.9998

Mirage-MicaZ 0.9998Quanto 0.9995Blaze 0.9990

Twist-Tmote 0.9929Mirage-Mica2dot 0.9895Twist-eyesIFXv2 0.9836

Motelab 0.9607 Retransmit

False ack

31

Reliable, Efficient, and RobustTestbed Delivery Ratio

Wymanpark 0.9999Vinelab 0.9999

Tutornet 0.9999NetEye 0.9999Kansei 0.9998

Mirage-MicaZ 0.9998Quanto 0.9995Blaze 0.9990

Twist-Tmote 0.9929Mirage-Mica2dot 0.9895Twist-eyesIFXv2 0.9836

Motelab 0.9607

High end-to-end delivery ratio(but not on all the testbeds!)

Retransmit

False ack

31

0.7

0.775

0.85

0.925

1

0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 132134

Del

iver

y R

atio

Time

MaxMediumMin

28

Reliable, Efficient, and Robust

Tutornet

32

0.7

0.775

0.85

0.925

1

0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 132134

Del

iver

y R

atio

Time

MaxMediumMin

28

Reliable, Efficient, and Robust

High delivery ratio across time(short experiments can be misleading!)

Tutornet

32

Reliable, Efficient, and Robust

29

Tutornet

0

1.25

2.5

3.75

5

MultiHopLQI CTP

Del

iver

y co

st p

er p

acke

tData CostControl Cost

33

Reliable, Efficient, and Robust

29Low data and control cost

Tutornet

0

1.25

2.5

3.75

5

MultiHopLQI CTP

Del

iver

y co

st p

er p

acke

tData CostControl Cost

33

Reliable, Efficient, and Robust

30

Link Layer

0.028 0.066

Motelab, 1pkt/5min

34

Reliable, Efficient, and Robust

30

Link Layer

Low duty-cycle with low-power MACs

0.028 0.066

Motelab, 1pkt/5min

34

Reliable, Efficient, and Robust

31

Time (mins)

10 out of 56 nodesremoved at t=60 mins

Tutornet

35

Reliable, Efficient, and Robust

31

Time (mins)

10 out of 56 nodesremoved at t=60 mins

No disruption in packet delivery

Tutornet

35

32

Reliable, Efficient, and Robust

Routing Beacons

Tutornet

36

32

Reliable, Efficient, and Robust

Routing Beacons

~ 5 min

Tutornet

36

32

Reliable, Efficient, and Robust

Delivery Ratio > 0.99

Routing Beacons

~ 5 min

Tutornet

36

32

Reliable, Efficient, and Robust

Delivery Ratio > 0.99

Routing Beacons

High delivery ratio despite serious network-wide disruption(most loss due to reboot while buffering packet)

~ 5 min

Tutornet

36

CTP Noe Performance Summary• Reliability

• Delivery ratio > 90% in all cases• Efficiency

• Low cost and 5% duty cycle• Robustness

• Functional despite network disruptions

37

Conclusion• “Hard” networks → good protocols

• Tutornet & Motelab• Wireless routing benefits from data and control plane interaction• Lessons applicable to distance vector routing

• Datapath validation & adaptive beaconing

• Data trace from all the testbeds available at• http://sing.stanford.edu/gnawali/ctp/

38

Prior Work

4

Link Layer

Control Plane Data Plane

ETX, MT, MultiHopLQI,

EAR, LOF, AODV, DSR, BGP, RIP,

OSPF, Babel

Flush, RMST, CODA, Fusion,

IFRC, RCRT

39