Top Banner
Original slides by Omprakash Gnawal Routing: Collection Tree Protocol
79

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)

Apr 15, 2018

Download

Documents

lamxuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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)

Original slides by Omprakash Gnawal

Routing:Collection Tree Protocol

Page 2: 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)

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?

Page 3: 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)

Common Architecture

Router

ForwarderLink Estimator

Link Layer

Application

Control Plane Data Plane

FwdTable

3

Page 4: 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)

Wireless Link Dynamics

5 4

Page 5: 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)

Wireless Link Dynamics

5

0.9

1s

4

Page 6: 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)

Control and Data Rate Mismatch• Can lead to poor performance

Link Layer

Control Plane Data Plane

10 pkt/s1 beacon/30s

5

Page 7: 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)

Control and Data Rate Mismatch• Can lead to poor performance

Link Layer

Control Plane Data Plane

0 pkt/s1 beacon/s

5

Page 8: 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)

CTP Noe

Router

ForwarderLink Estimator

Link Layer

Application

Control Plane Data Plane

6

Page 9: 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)

CTP Noe

Router

ForwarderLink Estimator

Link Layer

Application

Control Plane Data Plane

6

Page 10: 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)

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

Page 11: 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)

Outline• Control plane

• datapath validation• adaptive beacons

• Data plane• queuing• transmit time• cache

• Evaluation• Conclusion

8

Page 12: 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)

Data path validation

Page 13: 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)

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

Page 14: 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)

Routing Loops• Cost does not decrease

D A

B 4.6

6.3

3.2

5.8

C

11

Page 15: 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)

Routing Loops• Cost does not decrease

D A

B 4.6

6.3

3.2

5.8

X

C

11

Page 16: 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)

Routing Loops• Cost does not decrease

D A

B

8.1

4.6

6.35.8

X

C

11

Page 17: 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)

Routing Loops• Cost does not decrease

D A

B

8.1

4.6

6.35.8

X

C

11

Page 18: 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)

• 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

Page 19: 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)

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

Page 20: 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)

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

Page 21: 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)

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

Page 22: 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)

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

Page 23: 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)

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

Page 24: 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)

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

Page 25: 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)

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

Page 26: 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)

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

Page 27: 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)

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

Page 28: 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)

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

Page 29: 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)

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

Page 30: 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)

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

Page 31: 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)

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

Page 32: 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)

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

Page 33: 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)

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

Page 34: 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)

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

Page 35: 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)

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

Page 36: 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)

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

Page 37: 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)

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

Page 38: 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)

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

Page 39: 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)

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

Page 40: 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)

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

Page 41: 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)

Routing Consistency

Page 42: 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)

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

Page 43: 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)

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

Page 44: 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)

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

Page 45: 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)

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

Page 46: 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)

Adaptive Beacon Timing

Infrequent beacons in the long run

Tutornet

19

Page 47: 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)

Adaptive Beacon Timing

Infrequent beacons in the long run

~ 8 min

Tutornet

19

Page 48: 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)

Adaptive Beacon Timing

Infrequent beacons in the long run

~ 8 min

Tutornet

19

Page 49: 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)

Adaptive vs Periodic Beacons

Time (mins)

Less overhead compared to 30s-periodic

Tutornet

20

Page 50: 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)

Adaptive vs Periodic Beacons

Time (mins)

Less overhead compared to 30s-periodic

1.87beacon/s

0.65beacon/s

Tutornet

20

Page 51: 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)

Node Discovery

Time (mins)

A new node introduced

Efficient and agile at the same time

Path established in < 1s

Tutornet

21

Page 52: 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)

Data Plane

Page 53: 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)

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

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

23

Page 54: 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)

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

Page 55: 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)

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

Page 56: 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)

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

Page 57: 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)

Evaluation

Page 58: 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)

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

platforms• 4 radio

technologies• 6 link layers

Variations in hardware, software, RF environment, and topology

28

Page 59: 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)

Evaluation Goals• Reliable?

• Packets delivered to the sink• Efficient?

• TX required per packet delivery• Robust?

• Performance with disruption

29

Page 60: 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)

CTP Noe Trees

Kansei Twist

Mirage

30

Page 61: 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)

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

Page 62: 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)

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

Page 63: 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)

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

Page 64: 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)

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

Page 65: 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)

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

Page 66: 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)

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

Page 67: 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)

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

Page 68: 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)

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

Page 69: 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)

Reliable, Efficient, and Robust

30

Link Layer

0.028 0.066

Motelab, 1pkt/5min

34

Page 70: 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)

Reliable, Efficient, and Robust

30

Link Layer

Low duty-cycle with low-power MACs

0.028 0.066

Motelab, 1pkt/5min

34

Page 71: 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)

Reliable, Efficient, and Robust

31

Time (mins)

10 out of 56 nodesremoved at t=60 mins

Tutornet

35

Page 72: 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)

Reliable, Efficient, and Robust

31

Time (mins)

10 out of 56 nodesremoved at t=60 mins

No disruption in packet delivery

Tutornet

35

Page 73: 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)

32

Reliable, Efficient, and Robust

Routing Beacons

Tutornet

36

Page 74: 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)

32

Reliable, Efficient, and Robust

Routing Beacons

~ 5 min

Tutornet

36

Page 75: 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)

32

Reliable, Efficient, and Robust

Delivery Ratio > 0.99

Routing Beacons

~ 5 min

Tutornet

36

Page 76: 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)

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

Page 77: 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)

CTP Noe Performance Summary• Reliability

• Delivery ratio > 90% in all cases• Efficiency

• Low cost and 5% duty cycle• Robustness

• Functional despite network disruptions

37

Page 78: 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)

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

Page 79: 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)

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