BOND: Unifying Mobile Networks with Named Data Michael Meisel - - PowerPoint PPT Presentation

bond unifying mobile networks with named data
SMART_READER_LITE
LIVE PREVIEW

BOND: Unifying Mobile Networks with Named Data Michael Meisel - - PowerPoint PPT Presentation

BOND: Unifying Mobile Networks with Named Data Michael Meisel Ph.D. Dissertation Defense March 16, 2011 Freeform Wireless Networks Multi-hop Unpredictable mobility Can be connected or disconnected Examples: MANETs, VANETs,


slide-1
SLIDE 1

BOND: Unifying Mobile Networks with Named Data

Michael Meisel

Ph.D. Dissertation Defense March 16, 2011

slide-2
SLIDE 2

Freeform Wireless Networks

  • Multi-hop
  • Unpredictable mobility
  • Can be connected or disconnected
  • Examples: MANETs, VANETs, disruption-tolerant networks,

combinations thereof

2

slide-3
SLIDE 3

Goals

  • Follow the Named Data Networking (NDN) philosophy
  • Delivery based on “what”, not “where”
  • Get rid of holdovers from the wired domain
  • One architecture that will work on any freeform network
  • Stop treating connected and disconnected networks separately

3

slide-4
SLIDE 4

4

Connected or Disconnected?

slide-5
SLIDE 5

Current Approaches to Freeform Networks

5

slide-6
SLIDE 6

The Wired Approach

  • 1. Each node is assigned an IP address
  • 2. Applications communicate using destination IPs
  • 3. The routing protocol finds a single best path from source to

destination

  • 4. At each hop along the path, the sender determines which single

node (based on step 3) is allowed to forward the data Designed > 30 years ago for stationary networks

6

slide-7
SLIDE 7

Issues with The Wired Approach

  • Applications care about data, not location
  • In freeform networks:
  • IP addresses lose topological meaning, aggregatability
  • Finding, maintaining hop-by-hop paths is expensive
  • Pre-determined paths don’t take advantage of the broadcast

nature of wireless

7

slide-8
SLIDE 8

Alternative: Opportunistic Routing

  • Goal: improve throughput in stationary mesh networks with lossy

links

  • Basic approach:
  • Track the quality of every link in the network
  • Senders broadcast, receivers make forwarding decisions based
  • n the quality of their path to the source
  • Examples: ExOR [1], MORE [2]

8

[1] S. Biswas and R. Morris. ExOR: opportunistic multi-hop routing for wireless networks. ACM SIGCOMM Computer Communication Review, 35(4):144, 2005. [2] S. Chachulski, M. Jennings, S. Katti, and D. Katabi. Trading structure for randomness in wireless

  • pportunistic routing. In SIGCOMM ʼ07, pages 169–180. ACM, 2007.
slide-9
SLIDE 9

Alternative: Opportunistic Routing

  • Improvements:
  • Takes advantage of the broadcast nature of wireless
  • Shortcomings:
  • Cannot handle mobility
  • Still dependent on IP addressing, location-based delivery

9

slide-10
SLIDE 10

Disconnected Network Routing

  • Goal: in a disconnected network with unpredictable mobility,

increase the probability that data reaches its destination

  • Basic approach:
  • Replicate each data packet across many nodes
  • Do not try to figure out where the destination node is
  • Examples: Epidemic routing [3], Spray and Wait [4]

10

[3] A. Vahdat and D. Becker. Epidemic routing for partially-connected ad hoc networks. Technical Report CS-2000-06, Duke University, 2000. [4] T. Spyropoulos, K. Psounis, and C. S. Raghavendra. Spray and wait: an efficient routing scheme for intermittently connected mobile networks. In WDTN: SIGCOMM Workshop on Delay-Tolerant Networking, 2005.

slide-11
SLIDE 11

Disconnected Network Routing

  • Improvements:
  • No pre-determined paths
  • Shortcomings:
  • Inefficient for connected networks (or network portions)
  • Still dependent on location-based delivery

11

slide-12
SLIDE 12

Named Data Networking (NDN)

12

slide-13
SLIDE 13

NDN Architecture

13

  • Routing/forwarding is based on data names instead of node addresses
slide-14
SLIDE 14

NDN Names

  • Data names in NDN are hierarchical
  • NDN routing/forwarding can use name prefixes like IP routing

uses IP address prefixes

14

ucla ucla/home ucla/cs ucla/math ucla/cs/home ucla/math/home

slide-15
SLIDE 15

NDN Communication

  • (Optional Step 0: Use a routing protocol to announce names or

name prefixes)

  • Step 1: An application sends an Interest packet containing a

request for data by name. It can be flooded or routed.

  • Step 2: Any node that has the data can send a Data packet back

towards the source of the Interest. Intermediate nodes cache the data.

  • Future Interests for the same name can be serviced by caches

15

slide-16
SLIDE 16

16 22

Interest ucla/cs/home Requester ucla/cs/home

Assume we flood Interests.

slide-17
SLIDE 17

17

Requester Responder

22

By forwarding the Interests, the intermediate nodes have established a path from any potential responder to the requester.

slide-18
SLIDE 18

18

Requester Responder

22

Data

The nodes that forward the data also cache it.

ucla/cs/home

slide-19
SLIDE 19

19 22

Interest ucla/cs/home Requester ucla/cs/home

Suppose another node requests the same data name.

slide-20
SLIDE 20

20 22

Data ucla/cs/home Requester ucla/cs/home Responder Responder

Its immediate neighbors have cached the appropriate data, so they can respond.

slide-21
SLIDE 21

NDN’s Potential for Freeform Networks

21

  • Applications could communicate based on data names only,

retrieving the closest available copy of any data

  • Unlike IP addresses, data names don’t lose any meaning in the

face of mobility

  • All nodes could cache data they receive, respond to requests for

that data

slide-22
SLIDE 22

The BOND Protocol

22

slide-23
SLIDE 23

BOND: Broadcast-Only Named Data

23

  • Applies NDN concepts to freeform networks
  • Completely does away with the IP approach:
  • Name-based forwarding in place of IP addresses
  • No control packets or pre-determined paths
  • Broadcast-only transmission at the MAC layer --

forwarding decisions made by the receiver

  • Supports both connected and disconnected networks efficiently
slide-24
SLIDE 24

Overview

  • BOND in connected networks
  • BOND in disconnected networks
  • Unifying connected and disconnected networks

24

slide-25
SLIDE 25

BOND Names

  • BOND exclusively uses names for forwarding
  • Two types of names:
  • data name: hierarchical data name for a single piece of data
  • node name: names a particular node, used in getting data

back to the requester

  • Data names can be prefix-matched

25

slide-26
SLIDE 26

BOND Communication: Requests

  • Request packets are sent by a node to solicit a response packet

from the network, which will contain the requested data

  • At first, requests are flooded (like flooded NDN Interests)
  • All nodes learn the location of the requester’s node name
  • Requests contain the desired data name
  • Any number of responders may respond with a data packet

26

slide-27
SLIDE 27

BOND Communication: Responses

  • Responses take the best available path to the requester on the fly
  • Responders can advertise a name prefix in the response
  • Nodes overhearing the response:
  • Cache the data
  • Learn a location of the data name and name prefix
  • Future requests for data in the same prefix aren’t flooded -- they

take the best available path to a responder

27

slide-28
SLIDE 28

Broadcast-Only Forwarding

  • Forwarding decisions must be made by the receiver
  • Step 1: Determine if I can make forward progress. If so:
  • Step 2: Listen for some time to see if another node closer to the

intended destination forwards the packet. If not:

  • Step 3: Forward the packet

28

slide-29
SLIDE 29

Follow-up Questions

  • How does a receiver know how close it is to the destination

name?

  • How long should a receiver listen, waiting for someone else to

forward?

29

slide-30
SLIDE 30

Distances

  • The network shares a single distance metric
  • (Could be: hop count, receive power, geo distance...)
  • In every packet, senders broadcast their distance to the source

and destination names

  • Nodes remember their distance to active names for some time
  • Only nodes with a smaller distance to the destination name

are eligible forwarders

30

slide-31
SLIDE 31

Listening Periods

  • Eligible forwarders choose their listening period based on the

network’s delay metric

  • Tells the node how long to wait before forwarding
  • Only forward if another node does not forward before the listening

period is over

31

slide-32
SLIDE 32

32

C B S A E F D R

Suppose S has all the data in the prefix foo. No other node has this data.

slide-33
SLIDE 33

33

C B S A E F D R

R broadcasts a request for

foo/0, all nodes forward,

record their distance from R

d(F,R) = 3 d(E,R) = 3 d(B,R) = 8 d(A,R) = 11 d(C,R) = 10 d(S,R) = 14 d(D,R) = 16

slide-34
SLIDE 34

34

S R

S has foo/0, broadcasts a response specifying foo as the name prefix. A, B, C and D cache foo/0 and learn their distance to foo.

C B A E F D

slide-35
SLIDE 35

35

S R

D will never forward. A, B, or C may forward... after some delay.

d(S,R) = 14 C B A E F D d(B,R) = 8 d(A,R) = 11 d(C,R) = 10 d(D,R) = 16 16 > 14 ineligible

slide-36
SLIDE 36

36

R

The delay depends on the network’s delay metric.

d(S,R) = 14 C B A E F D d(B,R) = 8 d(A,R) = 11 d(C,R) = 10 wait = ? wait = ? wait = ? S

slide-37
SLIDE 37

37

R

Simplest delay metric: random.

E F D C B A wait = random() wait = random() wait = random() S

slide-38
SLIDE 38

38

R

But the receivers have some useful information: their own distance to R and S’s distance to R.

d(S,R) = 14 E F D C B A d(B,R) = 8 d(A,R) = 11 d(C,R) = 10 S

slide-39
SLIDE 39

39

R distance traversed from S = 5 d(C,R) = 10 d(S,C,R) = 5+10 = 15 wait ! 15-14 d(S,R) = 14 C B A E F D

C can calculate its listening period by comparing S’s claimed distance to R with its own prediction, assuming the packet were to travel through C. Its listening period will be proportional to the difference.

5 S

slide-40
SLIDE 40

40

R

Suppose all neighbors received the packet. B will forward immediately.

C B A E F D distance traversed from S = 6 d(B,R) = 8 d(S,R) = 6+8 = 14 wait ! 14-14 wait ! 2 wait ! 1 S 6 d(S,R) = 14

slide-41
SLIDE 41

41

R

A and C hear B before their listening period ends, so they do not forward.

C B A E F D S

slide-42
SLIDE 42

42

R

But suppose B moved away.

C B A E F D B S

slide-43
SLIDE 43

E

43

R

C will forward the packet instead, once its listening period is over.

C F D B wait ! 2 wait ! 1 A S

slide-44
SLIDE 44

E

44

R

A will hear C before its listening period ends, so A will not forward.

F D B A S C

slide-45
SLIDE 45

E

45

R F D B A S C

Similarly, one of E or F will forward the

  • packet. Suppose it’s F.

B, C, E, and R will overhear. All nodes cache foo/0 and learn their distance to foo.

slide-46
SLIDE 46

E

46

R

The response has reached R.

F D B A S C

slide-47
SLIDE 47

E

47

R F D B A S C

When R requests foo/1, the same forwarding procedure can be used, the request is not

  • flooded. Any node that overheard S’s

response knows its distance to foo and can potentially help in forwarding.

slide-48
SLIDE 48

48

On Reliability

  • BOND provides no guarantees
  • The requester should re-request any missing data
  • Re-requests may not need to travel very far, the data could be

cached nearby as a result of the previous request

slide-49
SLIDE 49

49

Disconnected Networks

  • Caching ferries data between disconnected portions of the

network

  • But requests need to be ferried, too
  • Request replay: intermediate nodes retransmit request at regular

intervals until either:

  • They hear a response to the request, or
  • They reach a fixed maximum number of replays
slide-50
SLIDE 50

50

R

Suppose Q is the only node that has data/0.

B A Q C

slide-51
SLIDE 51

51

R

R broadcasts a request for

data/0, A and B receive it.

B A Q C

slide-52
SLIDE 52

52

R

A and B flood R’s request, but Q is not close enough to hear.

B A Q C

slide-53
SLIDE 53

53

R

Suppose A moves towards Q.

B A Q A C

slide-54
SLIDE 54

54

R B A Q

With request replay, A, B, and R will all retransmit R’s request at regular intervals.

C

slide-55
SLIDE 55

55

R B A Q

When A replays R’s request, Q will receive it.

C

slide-56
SLIDE 56

56

R B A Q

Q will send a response, A and C will receive it. Neither A nor C can reach R, but they will still cache the data.

C

slide-57
SLIDE 57

A C

57

R

Suppose C moves near R.

B C Q

slide-58
SLIDE 58

58

R B Q

R replays its own request, C receives it.

C A

slide-59
SLIDE 59

59

R B Q

C responds with its cached copy of data/0, B and R receive it. B heard a response, so it stops replaying R’s request.

C A

slide-60
SLIDE 60

Unifying Connected and Disconnected Networks

60

slide-61
SLIDE 61

61

Disconnected, but Locally Connected

slide-62
SLIDE 62

62

Limiting Replays

  • Request replays are needed to support disconnected networks,

but:

  • Request replays are an unnecessary expense within locally

connected areas

  • Solution: Replays should only be used when they are needed by

a particular requester

slide-63
SLIDE 63

63

Determining When Replays Are Needed

  • In the locally connected network, all responders should hear

flooded requests

  • No response to repeated flooded requests?
  • The data is not available locally
  • The requester should enable replays for its next request
slide-64
SLIDE 64

Avoiding False Positives

  • Problem: lack of response could also be due to heavy congestion
  • Request replay means even more traffic -- bad idea!
  • Solution: check the portion of the time that the channel is busy

(busy ratio)

  • High busy ratio: loss could be due to congestion, don’t replay
  • Low busy ratio: loss not due to congestion, replay if no

response

64

slide-65
SLIDE 65

65

BOND Evaluation

slide-66
SLIDE 66

General Simulation Setup

66

  • QualNet simulator
  • Random waypoint model uses steady-state initialization [5]
  • To compare traditional routing to BOND’s name-based system:
  • Client-server pairs for other protocols, client sends requests at

regular intervals, server responds to requests

  • Imitate the above in BOND by never requesting the same data

name twice; only one potential responder for each requester

[5] W. Navidi and T. Camp. Stationary distributions for the random waypoint mobility model. Mobile Computing, IEEE Transactions on, 3(1):99 – 108, Jan 2004.

slide-67
SLIDE 67

Evaluation Metrics

  • Roundtrip time: Time from request sent to response received
  • Response ratio: Non-duplicate responses received over requests

sent

  • Overhead: Total bytes transmitted by all nodes over non-

duplicate response bytes received

  • Path length: Average length of a roundtrip for delivered data

(request + response)

67

slide-68
SLIDE 68

BOND Evaluation: Connected Networks

68

slide-69
SLIDE 69

Percent of Nodes Mobile (Setup)

69

  • 100 nodes, 1500 by 1500 meter area, 20 minute duration
  • Mobile nodes: Random waypoint mobility, 30 meters per second,

no pause time

  • Other nodes: stationary
  • 8 requester-responder pairs (no overlapping names)
  • Requesters send a request every 100 ms
  • What happens as the number of mobile nodes increases?
slide-70
SLIDE 70

70

Percent of Nodes Mobile (Latency)

slide-71
SLIDE 71

71

Percent of Nodes Mobile (Response %)

slide-72
SLIDE 72

Percent of Nodes Mobile (Overhead)

72

slide-73
SLIDE 73

Caching Named Data (Setup)

73

  • 100 nodes, 1500 by 1500 meter area, 20 minute duration
  • All nodes travel between 10 and 30 meters per second, random

waypoint mobility, no pause time

  • 8 requesters, 8 potential responders
  • What if the requesters all request the same vs. a different

sequence of data names?

slide-74
SLIDE 74

Caching Named Data

74

slide-75
SLIDE 75

BOND Evaluation: Disconnected Networks

75

slide-76
SLIDE 76

Bridge (Setup)

76

  • Nodes do not change areas, random waypoint within each area
  • Comparison protocols: Epidemic Routing, Spray and Wait

10 nodes, 20-40 m/s 45 nodes each, 5-15 m/s 2 requesters 2 responders

slide-77
SLIDE 77

Bridge (Results)

77

slide-78
SLIDE 78

Manhattan (Setup)

78

  • Manhattan mobility model
  • 100 nodes, 3000 by 3000 meter area, 20 blocks wide
  • 30 min duration
  • Nodes travel 10-20 meters per second
slide-79
SLIDE 79

Manhattan (Results)

79

slide-80
SLIDE 80

Suggestions for Future Work

  • Reducing overhead when request replays are used
  • Security
  • Data name assignment

80

slide-81
SLIDE 81

Concluding Thoughts

81

  • With the growing number of portable wireless devices, freeform

networks could ease strain on infrastructure, but the industry has not made use of them

  • BOND removes many of the barriers to deploying multi-hop

wireless networks in practice:

  • Devices do not need to be assigned IP addresses
  • The network can be connected or disconnected
slide-82
SLIDE 82

Publications and Talks

Dan Jen and Michael Meisel. “APT: A Practical Transit-Mapping Service: Overview and Comparisons.” At 70th Internet Engineering Task Force Meeting, Routing Research Group. Vancouver, British Columbia, Canada: December 7, 2007. Dan Jen, Michael Meisel, He Yan, Dan Massey, Lan Wang, Beichuan Zhang, and Lixia Zhang. “Towards a New Internet Routing Architecture: Arguments for Separating Edges from Transit Core.” In Proceedings of the Seventh ACM Workshop on Hot Topics in Networks (HotNets-VII). October 2008. Dan Jen and Michael Meisel. “APT: An Architecture for Practical Transit Core Separation.” At Internet Multi-Resolution Analysis Workshop III: Beyond Internet MRA: Network of Networks. Institute for Pure & Applied Mathematics, Los Angeles, California: November 7, 2008. Michael Meisel, Vasileios Pappas, and Lixia Zhang. “A Taxonomy of Biologically Inspired Research in Computer Networking.” Computer Networks, 54(6): 901 -- 916. April 2010. Michael Meisel, Vasileios Pappas, and Lixia Zhang. “Ad Hoc Networking via Named Data.” In Proceedings of the Fifth ACM Workshop on Mobility in the Evolving Internet Architecture (MobiArch). September 2010.

82