Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview of Mobile Networking

Similar presentations


Presentation on theme: "Overview of Mobile Networking"— Presentation transcript:

1 Overview of Mobile Networking
Sam Nelson Some slides borrowed from Prof. Ray and Prof. Jain

2 Mobile, Wireless Devices
Goals Allow communication to and from the Internet to mobile devices Allow mobile devices in the same area to talk without going through infrastructure Mobile wireless communication devices are becoming ubiquitous Smart phones Vehicular technology Emergency response

3 Why Study Mobile Networking?
WapReview : The total number of mobile Internet users: 1.05 billion, which in 2008 for the first time surpassed the total number of PC Web users (1 billion) DigitalStats : (June 2009) In the last six months, uploads from mobile phones to YouTube jump by 1700%. DigitalStats : When posed with the question "Which do you access Social Network sites from more, mobile phone or computer?” (Sample size=321, Japanese survey) Computer 14.0% Mobile phone 70.4% Both about the same 15.0% Don’t know 0.6%

4 Academia Top conferences with interests in mobile computing:
ACM MobiCom IEEE InfoCom ACM Sigcomm NSDI IEEE SECON ICDCS

5 Challenges of Mobile Networking
Topology can change very quickly New links form and break Nodes leave and join the system Mobility occurs in the wireless domain Interference Propagation issues Spectrum regulation and use End-to-end paths may not actually exist

6 Protocol Stack Layer Mobility Challenges Application
Sensing / emergency response, social networking Transport Reliable, in-order delivery / congestion control Network Establishing routes / addressing Link Interference / Hidden terminal Physical Wireless propagation issues

7 Mobile Networking Topics: Lecture Outline
- Communicate to/from Internet - Infrastructure in 1-hop - Addressing Problems Mobile Clients on the Internet - Communicate within network - No infrastructure - Relatively high connectivity Mobile Ad-hoc Networks (MANETs) - Communicate within network - No infrastructure - Low connectivity Delay-Tolerant Networks (DTNs)

8 Mobile Clients on the Internet

9 Mobile Host on the Internet
Goal: Maintain two-way connectivity to Internet and a mobile host. For IP_A Internet Net A Net B IP_A

10 IP Addresses What do IP addresses really mean? 213.86.83.116 / 8
/ 8 Network Host IP address is for routing purposes Hence, they must change when a node changes networks IP addresses are topologically dependent and hence are bad choices for long lasting names in mobile environments

11 Mobile Host on the Internet
For IP_A Internet Net A Net B IP_A IP_B Solutions? Change IP address  Connectivity is lost… what is host’s IP? Keep IP address  Routing will fail... host not found. How can S send to the moved mobile host?

12 Mobile IP Solution Mobile host keeps it’s old IP address, and gets someone to forward messages to it It must inform this “someone” of it’s new address Agents to help – home agent and foreign agent Old IP Referred to as “home address” New IP Referred to as “care-of address”

13 Mobile IP Solution MH HN R1 R3 FN FN R2 MH CH FA HA Home Address:
MH’s permanent IP address, network ID of this address identifies the mobile’s home network. MH Home Agent: a router attached to the MH’s home network maintains current location information for the MH is responsible for forwarding packets destined for the MH when MH is away from home. HA HN Home Network: the network identified with a mobile node R1 R3 Route Optimization FN FN R2 MH CH Foreign Network: a network, other than MA’s home network, that MH is currently attached to. Mobile Host: a host or router capable of changing its point of attachment to the Internet Corresponding Host: a host or router communicationg with a mobile node. FA Foreign Agent (FA) a router in the foreign network that the MH is visiting provides routing services to the MH; may serve as default router for outgoing packet from MH

14 Route Optimization Triangular routing
Data goes from source to Home Agent to mobile device (or foreign agent) Reverse path is different – Data goes from mobile directly to source Instead of constant triangular routing, inform CH of care-of address Allows CH to directly route to mobile host

15 Mobile Ad-hoc Networks

16 Ad-hoc Networks Each mobile device (node) can act as a router
Links form and break based on mobility and environmental factors Connectivity (e.g., high probability of instantaneous end-to-end paths existing) is assumed

17 Ad-hoc Networks S D Goal: Nodes within the network can send data between themselves. Challenges: No centralized coordinator to help routing No “default route” for nodes within the network Fast topology changes Limited bandwidth – can’t have too much overhead

18 Ad-hoc Networks Nodes that want to route messages must:
Find out about the topology of the network Use that topology to do something with the message Control Plane Data Plane

19 Routing Protocol Categories
Control Plane Proactive: Nodes actively maintain and share topology information, regardless of if there is data to send Generally timer- or event-based Reactive (On-demand): “Lazy” approach: Don’t do more work then you have to Only discover topology/routes when there is data to send

20 Routing Protocol Categories
Data Plane Local next-hop forwarding: Consult forwarding table for a next hop Completely local decision Source routing: Source node places complete path in packet header Intermediate nodes don’t have to consult their forwarding tables S A B D A B D

21 Reactive Protocols Names are useful hints at understanding the protocol properties: Dynamic Source Routing (DSR) MANET Source Routing Ad-hoc On-demand Distance Vector (AODV) Reactive Next-hop Forwarding MANET Distance Vector

22 Dynamic Source Routing (DSR) From Shweta Jain’s Slides
When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery. Source node S floods the network with route request (RREQ) packets (also called query packets). Each node appends its own address in the packet header when forwarding RREQ.

23 Route Discovery in DSR [S] S RREQ broadcast E F A C G D B
represents a node that has received RREQ for D from S. [X,..,..] Represents list of addresses appended to RREQ. A node receiving a RREQ rebroadcasts it exactly once.

24 Route Discovery in DSR [S,E] S RREQ broadcast E [S,A] F A C G [S,C] D
represents a node that has received RREQ for D from S. [X,..,..] Represents list of addresses appended to RREQ. A node receiving a RREQ rebroadcasts it exactly once.

25 Route Discovery in DSR Destination D receives RREQ via G and F.
RREQ broadcast F [S,E,F] A C G D [S,A,B] B [S,C,G] Destination D receives RREQ via G and F. It does not broadcast it further.

26 Route Discovery in DSR Destination D on receiving the first RREQ, sends a Route Reply (RREP). RREP is sent on a route obtained by reversing the route appended to received RREQ. RREP includes the reverse route from S to D on which RREQ was received by node D.

27 Route Reply in DSR S RREP Unicast E F A [D,F,E,S] C G D B
Reverse route in the header of RREP

28 Route Caching in DSR Node S on receiving RREP, “caches” the route included in the RREP. When node S sends a data packet to D, the entire route is included in the packet header Hence the name source routing. Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded.

29 Source route size grows with route length.
Data Delivery in DSR DATA [S,E,F,D] Cache on S: [S,E,F,D] S E F A C DATA packet Unicast G D B Source route size grows with route length.

30 Route Error DATA [S,E,F,D] Cache on S: [S,E,F,D] S E F A C DATA packet Unicast G D B If the next hop link is broken when a data packet is being forwarded, a Route Error (RERR) is generate and propagated backwards.

31 RERR [F,E,S] [Failed link = FD]
Route Error RERR [F,E,S] [Failed link = FD] Cache on S: [S,E,F,D] S E F A C RERR is Unicast G D B If the next hop link is broken when a data packet is being forwarded, a Route Error (RERR) is generated and propagated backwards. RERR contains the failed link info.

32 RERR [F,E,S] [Failed link = FD]
Route Error RERR [F,E,S] [Failed link = FD] Cache on S: [S,E,F,D] S E F A C RERR is Unicast G D B When S receives RERR, it erases any cached route with the failed link.

33 Aggressive Route Caching
Each node caches a new route it learns by any means When node S finds route [S,E,F,D] to node D, node S also learns route [S,E,F] to node F and so on. When node G receives RREQ [S,C] destined for node D, node G learns route [G,C,S] to node S and so on. When node F forwards RREP [D,F,E,S], node F learns route [F,D] to node D and so on. Basically, when forwarding any packet, the node learns a route to all nodes in the source route contained in the packet.

34 Contents of Caches on Selected Nodes After one RREQ-RREP Cycle
[F,E,S] [F,D] [F,G,C,S] S E F A C G D [D,F,E,S] [D,G,C,S] B [P,Q,R] represents cached route at a node P. More than one route may be cached for the same destination. Compact data structures may be used to implement route caches (e.g., tree).

35 Use of Route Caching Salvaging: When node S learns that a route to node D is broken, it uses another route from its local cache, if such a route to D exists in its cache. Otherwise, node S initiates route discovery by sending a route request Reply from Cache: Node X on receiving a RREQ for some node D can send a Route Reply if node X knows a route to node D. Aggressive use of route cache can speed up route discovery. can reduce propagation of route requests.

36 Route Caching: Beware! Stale caches can adversely affect performance.
With passage of time and host mobility, cached routes may become invalid. All cached routes containing a failed link are not erased by route error (RERR). Only that route is erased that is attempted to be used A sender host may try several stale routes (obtained from local cache, or replied from cache by other nodes), before finding a valid route.

37 Dynamic Source Routing: Advantages
Source routing: no special mechanism needed to eliminate loops. On demand routing: Routes maintained only between nodes who need to communicate Reduces overhead of route maintenance. Route caching can further reduce route discovery overhead. A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches. Useful when route breaks.

38 Dynamic Source Routing: Disadvantages
Not scalable: Packet header size grows linearly with route length due to source routing. Network-wide flood: Flood of route requests may potentially reach all nodes in the network. Too much overhead. Collision: Care must be taken to avoid collisions between route requests propagated by neighboring nodes insertion of random delays before forwarding RREQ Reply storm problem: Increased contention if too many route replies come back due to nodes replying using their local cache Reply storm may be eased by preventing a node from sending RREP if it hears another RREP with a shorter route.

39 Dynamic Source Routing: Disadvantages
Stale cache problem: An intermediate node may send Route Reply using a stale cached route, thus polluting other caches. This problem can be eased if some mechanism to purge (potentially) invalid cached routes is incorporated. Current research: how to invalidate caches effectively. Example: Timer-based. Or propagate the route error widely.

40 Ad Hoc On-Demand Distance Vector Routing (AODV) From Shweta Jain’s Slides
AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate. AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes. No caches are used. Only one route per destination in the routing table. Only maintain the freshest route, if multiple possibilities.

41 AODV Route Requests (RREQ) are forwarded in a manner similar to DSR.
When a node re-broadcasts a RREQ, it sets up a reverse path pointing towards the source. This is so that the RREP can get back to the source. When the intended destination receives a RREQ, it replies by sending a RREP. RREP travels along the reverse path set up when RREQ is forwarded.

42 AODV Route Discovery S E RREQ broadcast F A C G D B Source floods route request (RREQ) in the network. Reverse paths are formed when a node hears a route request. Each node forwards the request only once (pure flooding).

43 AODV Route Discovery Source floods route request in the network.
Reverse Path F A C G D B Source floods route request in the network. Reverse paths are formed when a node hears a route request. Each node forwards the request only once (pure flooding).

44 AODV Route Discovery Uses hop-by-hop routing.
RREQ broadcast F A C Reverse Path G D B Uses hop-by-hop routing. Reverse paths are formed when a node hears a route request. Each node forwards the request only once (pure flooding).

45 AODV Route Discovery Uses hop-by-hop routing.
F A C Reverse Path G D B Uses hop-by-hop routing. Reverse paths are formed when a node hears a route request. Each node forwards the request only once (pure flooding).

46 AODV Route Discovery S E F A C Reverse Path G D B Route reply (RREP) is forwarded via the reverse path.

47 AODV Route Discovery S E Forward Path F A C Reverse Path G D B Route reply is forwarded via the reverse path … thus forming the forward path. The forward path is used to route data packets.

48 Route Expiry on Timeout
A routing table entry maintaining a reverse path is invalidated after a timeout interval Timeout should be long enough to allow RREP to come back A routing table entry maintaining a forward path is also invalidated if unused for certain interval. This means unused routes are purged. Note that the route may still be valid.

49 Route Expiry Unused reverse paths expire based on a timer. S E F A
C Forward Path G D B Unused reverse paths expire based on a timer.

50 Link Failure Detection
Hello messages: Neighboring nodes periodically exchange hello or keep-alive messages. Absence of any hello message for some time is used as an indication of link failure. Alternatively, failure to receive several link-layer ACK for a transmitted packet may be used as an indication of link failure. Note DSR needs to use one of the above as well.

51 Route Error When a node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR message back to S. How to forward the RERR to S? X may not have a route to S. RERR is broadcast. Any node having an active route to D, rebroadcasts RERR after invalidating that route.

52 Route Error Propagation
S E F A C G D B Link breakage on an active route triggers route error (RERR).

53 Route Error Propagation
S E RRER broadcast F A C G D B F invalidates the route to D, and broadcasts RERR. E notes that it has a route to D via F, and it continues the process.

54 Route Error Propagation
S E F A C G D B F invalidates the route to D, and broadcasts RERR. E notes that it has a route to D via F, and it continues the process.

55 Route Error Propagation
S E F A C G D B The entire upstream route is erased. S starts fresh route discovery if needed.

56 Possibility of Routing Loops!
Useful optimization: An intermediate node with a route to D can reply to route request. Faster operation. Quenches route request flood. Wireless reality: Routing messages can get lost. It can be shown that above can cause long-term routing loops.

57 Possibility of Routing Loops!
A B C D E Assume that A does not know about failure of link C-D because route error sent by C is lost. Now C performs a route discovery for D. Node A receives the route request (say, via path C-E-A) Node A will reply since A knows a route to D via node B Results in a loop (for instance, C-E-A-B-C )

58 Use of Sequence Numbers in AODV
Each node X maintains a sequence number and increments it at suitable intervals. Seq. no. acts like a logical clock. Each node Y with a route to X in the routing table, also maintains a destination sequence number for X, which is Y’s latest knowledge of X’s sequence number. Destination sequence no. can be used to order routing updates.

59 Use of Sequence Numbers in AODV
Has a route to D Needs a route to D RREQ carries 10 X Y D ? Dest seq no. = 10 Dest seq no. = 7 Seq. no. = 15 Y does not reply, but forwards the RREQ Loop freedom: The protocol maintains the invariant that the destination sequence number for any destination D never decreases along any valid route. No routing info is accepted by a node X from any node Y, where Y’s destination seq. no. for D is less than X’s destination seq. no. for D. Freshest route: Given a choice of multiple routes, the protocol always chooses the one with the highest sequence number.

60 How Using Sequence Numbers can Avoid Loop?
9 A B C D 9 10 7 E 5 All seq no’s are for D (called destination seq. no.) Link failure increments the destination seq. no. at C (now is 10). If C needs a route to D, RREQ carries the current dest. seq. no. (10). A does not reply as its own dest. seq. no. is less than 10.

61 Summary: AODV No source routing. Based on routing tables.
Use of sequence numbers to prevent loops. At most one route per destination maintained at each node Only the freshest one is maintained (via destination seq. no.) Stale route problem is less severe. After link break, all routes using the failed link are erased. Unused routes expire even if valid.

62 Flood Control Optimization
Use of Max Hop Count (TTL) Field Limits query propagation within a certain number of hops from the source. Expanding ring search. Can still flood a substantial part of the network if destination is far away. D S

63 Flood Control Optimization
Limits query propagation within a certain number of hops from the source. Expanding ring search. Can still flood a substantial part of the network if destination is far away. D S

64 Optimized Link-State Routing (OLSR)
Proactive Protocols Optimized Link-State Routing (OLSR) Proactive

65 Link State Routing Each node floods the network with the status of its links Flood can be periodic. Or, when a neighborhood change is detected. Each node keeps track of link state information received from other nodes Thus builds its own view of the network connectivity. Each node uses its view of network connectivity to construct a routing table for each destination. For example, each node can run a shortest-path algorithm (e.g., Dijkstra’s) on its own view of the connectivity graph. Different nodes can use different objective for routing.

66 Types of Discovery Discover your local neighbors
Hello messages Sent only 1-hop, never flooded Discover the total network topology Link state advertisement (LSA) messages Flooded throughout the network

67 Link State Algorithm Flooding: 1) Periodically distribute link-state
advertisement (LSA) to neighbors - LSA contains delays to each neighbor 2) Install received LSA in LS database 3) Re-distribute LSA to all neighbors Path Computation 1) Use Dijkstra’s shortest path algorithm to compute distances to all destinations 2) Install <destination, nexthop> pair in forwarding table

68 OLSR: Optimized Link-State Routing
Only multipoint relays (MPR) participate in flooding. Multipoint relays of node X are its neighbors such that each two-hop neighbor of X is a one-hop neighbor of at least one multipoint relay of X. Each node transmits its neighbor list in hello messages, so that all nodes know their 2-hop neighbors, in order to choose the multipoint relays. Select as few multipoint relays as possible. Only multipoint relays are used for flooding.

69 Traditional Flooding 24 retransmissions needed to flood the network

70 Multipoint Relays 11 retransmissions needed to flood the network

71 Optimized Link State Routing (OLSR)
OLSR floods link-state information only through multipoint relays. Routes used by OLSR only include multipoint relays as intermediate nodes. Each node maintains information about its MPR (multipoint relay) selector set, i.e., set of neighbors that have selected itself as MPR. Each node with non-empty MPR selector set periodically floods the network with topology control (TC) messages containing own MPR selector set. This information is used to construct the topology database used for routing calculations.

72 Delay-Tolerant Networks

73 Disruption Tolerant Networks
DTN Characteristics Intermittent connectivity Partitioning No guarantee of end-to-end paths Goals: High message delivery ratio Acceptable delay Routing Approach Store-carry-and-forward routing Replication Emergency response networks Community networks Battlefield networks

74 No Reliance on Infrastructure
Benefit of DTN communication Allows end-users to not rely on infrastructure Infrastructure may be not available Destroyed (emergency response) Never there (military / third-world development) Infrastructure may not be ideal Costly (community networks) Overloaded / Slow (community networks) Instead, mobility is used to form connections Replication is used to overcome intermittent connectivity

75 Routing Considerations
Are contacts scheduled or not? Can I extract any information from the mobility? Based on these questions: How much do I replicate? Who do I give replicas to? Which packets do I send / drop first?

76 Routing Categories Replication Scale
Hard limit on number of replicates per message No limit on number of replicas Direct Delivery Quota-based Flooding-based Epidemic Spray and Wait Spray and Focus Encounter-based Routing MaxProp Prophet RAPID

77 Epidemic Routing If nothing is known and resources are available, just send to everyone! Epidemic routing is the DTN equivalent to flooding: D D D I I I S S S

78 Synchronizing A B I have 1, 2, and 5 M1 M2 M5 M1 M4 M6 I’ll take 2, 5
M2 ACK M5 M5 ACK

79 Pros and Cons Pros: Cons: Extremely simple to implement
Optimal in terms of delivery and delay if no resource constraints Cons: Performance greatly suffers if there are resource constraints (buffer, bandwidth, contact duration)

80 MaxProp High replication is good, if we can properly manage the buffers Which messages do I send first? Which messages do I drop first? Still replicate all messages to all contacts!

81 MaxProp Maintain a priority-ordered queue
Which packets do I send first? 1. Bandwidth 2. Storage S D 3. Contact duration Maintain a priority-ordered queue Priority is estimated delivery likelihood Forward copies of all messages in this order

82 Meeting Probabilities
Each node maintains a vector of size n: i th entry indicates probability of meeting node i. Upon meeting a node, increment by 1 and normalize A D Transmission: O(n) Storage: O(n2) B B B C C C D D D E E E .25 .25 .125 .25 .125 .25 1.25 .625 .25 .125 .25 .25 Each node stores n of these vectors: Upon meeting a node, exchange vectors

83 Path Cost Calculation The cost of a path is the sum of probabilities that each connection on the path does not occur Choose the path with minimal cost B C A .5 .5 A B D C B .2 .6 .2 A C D .25 .5 .25 D Path Costs: ABD = (1 - .5) + ( ) = 1.25 ACD = (1 - .5) + (1 - .2) = 1.3 ABCD = (1 - .5) + (1 - .5) + (1 - .2) = 1.8 ACBD = (1 - .5) + (1 - .6) + ( ) = 1.65 B C .6 .4

84 Complementary Mechanisms
Acknowledgements Flooded, to clear out buffers Hash of message (128bits) Packet “head start” Give priority to low hop-count packets Buffer management Drop order Acknowledged messages Lowest delivery score Highest hop count Protocol Direct delivery Routing information Acknowledgements Low hop-count pkts Remaining pkts

85 Buffer management is too difficult, so instead just limit replication
Spray and Wait Buffer management is too difficult, so instead just limit replication Strictly limit replication Message copies contain quota Distribute quota at replication time Benefits Resource friendly Limitations Potential reduced delivery ratio May miss important contact opportunities Message 4 Quota 2 2 1 1

86 Example Spray Phase Give a replica with half my quota to my current contact Wait Phase When quota is 1 for a replica, only direct delivery is allowed S S 4 1 1 1 1 2 1 1 D D

87 Pros and Cons Pros: Cons: Very resource friendly
Doesn’t require a complex buffer management technique No routing overhead Cons: You may give valuable quota away to useless nodes Node mixing must be high and, to some extend, random

88 Encounter-Based Routing
Insight: Popularity can be used to determine forwarding usefulness Naive Approach Give entire message, or a replica of the message, to the more popular node EBR’s Approach Distribute quota in proportion to node “popularity” Easily extendable to groups by distributing quota in proportion to group popularity Little Lot Low popularity High popularity

89 Measuring Popularity Encounter value (EV)
Gauge overall popularity of a node Counting Window Count contacts (perhaps not unique) within a specified window (CWC) Update using an exponentially weighted moving average EV can be expanded to multiple dimensions Gauge popularity with different groups Each dimension represents a group Update EV in the dimension of the contact’s group(s)

90 Distributing Quota Node A meets Node B Proportional
Get Node B’s EV (extremely low overhead) Determine amount of initial quota M (if any) to keep and to give Node B, for each message in A’s buffer Transmit a copy of message with the new quota for B Proportional Quota flow from high popularity to low popularity can occur, mitigating local maximums

91 Example 4 A B EVB = 15 EVA = 5 8

92 Example A B 4 8 A sends ¾ of all quota to B
EVB = 15 EVA = 5 8 A sends ¾ of all quota to B B sends ¼ of all quota to A

93 Example A B 3 4 1 6 8 2 A sends ¾ of all quota to B
Give away Keep 3 4 A B 1 EVB = 15 EVA = 5 6 Keep 8 Give away 2 A sends ¾ of all quota to B B sends ¼ of all quota to A

94 Pros and Cons Pros: Cons: Very resource friendly
Very low routing overhead Can still achieve high results Cons: Assumes uneven popularities, and that popularity will stay the same for a node Can miss important contact opportunities due to being quota-based

95 Conclusions Mobile networking is a very interesting and active field of research! DTNs Vehicular networks Underwater networks Sensor networks Other topics, such as mobile security and privacy, have lots of activity as well.


Download ppt "Overview of Mobile Networking"

Similar presentations


Ads by Google