Adding Disruption Tolerant Networking to UnetStack Arnav Dhamija - - PowerPoint PPT Presentation

adding disruption tolerant networking to unetstack
SMART_READER_LITE
LIVE PREVIEW

Adding Disruption Tolerant Networking to UnetStack Arnav Dhamija - - PowerPoint PPT Presentation

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion Adding Disruption Tolerant Networking to UnetStack Arnav Dhamija Acoustic Research Laboratory, National University of Singapore


slide-1
SLIDE 1

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Adding Disruption Tolerant Networking to UnetStack

Arnav Dhamija

Acoustic Research Laboratory, National University of Singapore arnav.dhamija@gmail.com

April 25, 2019

slide-2
SLIDE 2

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-3
SLIDE 3

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Challenges in Underwater Networks

Underwater networks typically use acoustic waves

slide-4
SLIDE 4

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Challenges in Underwater Networks

Underwater networks typically use acoustic waves Challenges:

Noise from ships, shrimp, bubbles Surface characteristics Interference from other transmissions Link availability High energy consumption

Disruptions can be high and reliability can be low, hence an ideal place for using DTN protocols

slide-5
SLIDE 5

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Example

slide-6
SLIDE 6

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Disruption Tolerant Networks

Used where the communication network is likely to be disrupted due to:

Network Topology (Deep Space Networks / VANETs) Environmental Conditions (Underwater Networks)

slide-7
SLIDE 7

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Disruption Tolerant Networks

Used where the communication network is likely to be disrupted due to:

Network Topology (Deep Space Networks / VANETs) Environmental Conditions (Underwater Networks)

Prioritises successful message delivery

  • ver network throughput
slide-8
SLIDE 8

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Disruption Tolerant Networks

Used where the communication network is likely to be disrupted due to:

Network Topology (Deep Space Networks / VANETs) Environmental Conditions (Underwater Networks)

Prioritises successful message delivery

  • ver network throughput

Very different from typical Internet protocols!

slide-9
SLIDE 9

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Key Features

For making a network tolerant to delays and disruptions, DTNs typically have:

Store and Forward

slide-10
SLIDE 10

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Key Features

For making a network tolerant to delays and disruptions, DTNs typically have:

Store and Forward TTLs for messages

slide-11
SLIDE 11

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Key Features

For making a network tolerant to delays and disruptions, DTNs typically have:

Store and Forward TTLs for messages Dedicated routing algorithms (SNW, PRoPHET, MaxProp, etc)

slide-12
SLIDE 12

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Key Features

For making a network tolerant to delays and disruptions, DTNs typically have:

Store and Forward TTLs for messages Dedicated routing algorithms (SNW, PRoPHET, MaxProp, etc)

We are not going to focus on Routing and multi-copy Emphasis on efficiency!

slide-13
SLIDE 13

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

UnetStack

Underwater Network Simulator built on top of fj˚ age, written in Java and Groovy Agent based design Cross-layer optimisation, unlike layered network stack Any layer can talk to other layers!

slide-14
SLIDE 14

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

DtnLink

Putting it all together... DTNs can be useful in underwater networks We need a new UnetAgent to implement all this functionality A LINK agent, leveraging capabilities of existing agents

slide-15
SLIDE 15

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

DtnLink

Putting it all together... DTNs can be useful in underwater networks We need a new UnetAgent to implement all this functionality A LINK agent, leveraging capabilities of existing agents Let’s call it DtnLink

slide-16
SLIDE 16

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-17
SLIDE 17

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

What can DtnLink be used for?

Useful where the channel medium is lossy, delivery times are not a priority Some ideas:

slide-18
SLIDE 18

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

What can DtnLink be used for?

Useful where the channel medium is lossy, delivery times are not a priority Some ideas:

Data Muling

slide-19
SLIDE 19

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Data Muling

Using mobile nodes (e.g. AUVs) for relaying messages

slide-20
SLIDE 20

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

What can DtnLink be used for?

Useful where the channel medium is lossy, delivery times are not a priority Some ideas:

Data Muling Time Varying Links

slide-21
SLIDE 21

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Time Varying Links

In underwater networks, not all links may be available at all time

Acoustic links Optical links WiFi/LTE links

How do we choose the link to use?

slide-22
SLIDE 22

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Time Varying Links

In underwater networks, not all links may be available at all time

Acoustic links Optical links WiFi/LTE links

How do we choose the link to use? DtnLink can choose the link based on which it SNOOPs a message Each node periodically sends Beacons for advertisement

slide-23
SLIDE 23

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

What can DtnLink be used for?

Useful where the channel medium is lossy, delivery times are not a priority Some ideas:

Data Muling Time Varying Links NUSwan

slide-24
SLIDE 24

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

What can DtnLink be used for?

Useful where the channel medium is lossy, delivery times are not a priority Some ideas:

Data Muling Time Varying Links NUSwan

slide-25
SLIDE 25

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

What can DtnLink be used for?

Useful where the channel medium is lossy, delivery times are not a priority Some ideas:

Data Muling Time Varying Links NUSwan

...and many more

slide-26
SLIDE 26

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-27
SLIDE 27

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Features

DtnLink is a new UnetAgent

slide-28
SLIDE 28

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Features

DtnLink is a new UnetAgent Features

Fragmentation of large messages Detection of duplicate messages Stop-And-Wait sending Support for multiple links

slide-29
SLIDE 29

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Features

DtnLink is a new UnetAgent Features

Fragmentation of large messages Detection of duplicate messages Stop-And-Wait sending Support for multiple links

Configurable Options

Link Priorities Order of sending messages (ARRIVAL, EXPIRY, RANDOM) Short-circuiting (send messages to destination without DTN headers)

slide-30
SLIDE 30

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

PDU Structure

Protocol Data Unit Consists of Headers + Data Added before the first byte of the data

slide-31
SLIDE 31

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

PDU Structure

Protocol Data Unit Consists of Headers + Data Added before the first byte of the data DtnLink uses a 64 bit header PDU size must be less than the MTU1of the Link used

1MTU = Maximum Transmission Unit

slide-32
SLIDE 32

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

PDU Structure

slide-33
SLIDE 33

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Successful Delivery

slide-34
SLIDE 34

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Delivery Failure

slide-35
SLIDE 35

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

TTL Expiry

slide-36
SLIDE 36

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ACK Failure

slide-37
SLIDE 37

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Duplicate Messages

ACK Fails can lead to duplicate messages We need a way to identify duplicate messages

slide-38
SLIDE 38

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Duplicate Messages

ACK Fails can lead to duplicate messages We need a way to identify duplicate messages Idea: use a nonce for each message

slide-39
SLIDE 39

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Detecting Duplicate Messages with Hashing

Sender Sender encodes a nonce in the PDU for each message Receiver Receiver computes hashCode of message data and the nonce Stores this value in a Set If current message’s hashCode exists in the Set, discard the message Otherwise, send it up to the application

slide-40
SLIDE 40

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Short circuit

slide-41
SLIDE 41

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-42
SLIDE 42

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Multihop simulation

slide-43
SLIDE 43

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Multihop simulation

slide-44
SLIDE 44

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

DtnLink versus ReliableLink

slide-45
SLIDE 45

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Message delivery keeps improving with time!

slide-46
SLIDE 46

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

However...

DtnLink is not a panacea!

slide-47
SLIDE 47

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-48
SLIDE 48

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-49
SLIDE 49

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-50
SLIDE 50

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-51
SLIDE 51

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-52
SLIDE 52

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-53
SLIDE 53

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-54
SLIDE 54

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

ReliableLink versus DtnLink, varying pDetection

slide-55
SLIDE 55

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Data Muling Simulation

slide-56
SLIDE 56

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Data Muling Results

slide-57
SLIDE 57

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-58
SLIDE 58

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Why Unit Testing?

Simulations are great for testing but...

they take a long time to run make it hard to catch bugs

  • nly test specific scenarios
slide-59
SLIDE 59

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Why Unit Testing?

Simulations are great for testing but...

they take a long time to run make it hard to catch bugs

  • nly test specific scenarios

Unit testing can help us by automatically testing crucial functionality of DtnLink Regression testing is checking for if anything breaks between changes

slide-60
SLIDE 60

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Black Box Testing

slide-61
SLIDE 61

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

DtnLink Test Harness

slide-62
SLIDE 62

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Tests Conducted

TRIVIAL MESSAGE SUCCESSFUL DELIVERY ROUTER MESSAGE BAD MESSAGE EXPIRY PRIORITY ARRIVAL PRIORITY RANDOM PRIORITY LINK TIMEOUT MULTI LINK PAYLOAD MESSAGE REBOOT

slide-63
SLIDE 63

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-64
SLIDE 64

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Future Work

DtnLink has some limitations which can be addressed in the future:

Stop-And-Wait is slow TTL of messages doesn’t include propagation delay Multi-copy routing End-to-end acknowledgements for multihop will need transport level control - DtnTransport

slide-65
SLIDE 65

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Agenda

1

Introduction Challenges in Underwater Networks Disruption Tolerant Networks UnetStack

2

Use Cases Data Muling Time Varying Links

3

The DtnLink Agent Features PDU State Diagrams

4

Simulation & Results

5

Unit Testing

6

Future Work

7

Conclusion

slide-66
SLIDE 66

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Conclusions

Underwater networks are more disrupted, need different protocols

slide-67
SLIDE 67

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Conclusions

Underwater networks are more disrupted, need different protocols DtnLink can be useful when the channel medium is lossy and successful delivery is prioritised

Useful in data muling and switching between different links

slide-68
SLIDE 68

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Conclusions

Underwater networks are more disrupted, need different protocols DtnLink can be useful when the channel medium is lossy and successful delivery is prioritised

Useful in data muling and switching between different links

Stop-And-Wait sending reduces collisions but this can make it slower than ReliableLink in some situations

slide-69
SLIDE 69

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Conclusions

Underwater networks are more disrupted, need different protocols DtnLink can be useful when the channel medium is lossy and successful delivery is prioritised

Useful in data muling and switching between different links

Stop-And-Wait sending reduces collisions but this can make it slower than ReliableLink in some situations Simulations help us understand the use cases better

slide-70
SLIDE 70

Introduction Use Cases The DtnLink Agent Simulation & Results Unit Testing Future Work Conclusion

Thank you!