Overview of Mobile Networking ECE 544 2015 Prof. D. Raychaudhuri Slides courtesy of Dr. Sam Nelson 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 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% 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 Protocol Stack Layer Application Mobility Challenges Sensing / emergency response, social networking Transport Reliable, in-order delivery / congestion control Network Establishing routes / addressing Link Interference / Hidden terminal Physical Wireless propagation issues Mobile Networking Topics: Lecture Outline Mobile Clients on the Internet - Communicate to/from Internet - Infrastructure in 1-hop - Addressing Problems Mobile Ad-hoc Networks (MANETs) - Communicate within network - No infrastructure - Relatively high connectivity Delay-Tolerant Networks (DTNs) - Communicate within network - No infrastructure - Low connectivity Mobile Clients on the Internet (also see supplementary Mobile IP tutorial slides from Eurescom) Mobile Host on the Internet • Goal: Maintain two-way connectivity to Internet and a mobile host. For IP_A Internet Net A IP_A Net B IP Addresses • What do IP addresses really mean? 213.86.83.116 / 8 Network IP address is for routing purposes Host 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 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? 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” Mobile IP Solution Home Address: MH MH’s permanent IP address, network ID of this address identifies the mobile’s home network. HA HN R1 Home Network: the network identified with a mobile node 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. R3 Route Optimization FN CH R2 FN MH Foreign Network: Mobile Host: a network, other than MA’s home a host or router capable Corresponding Host: network, that MH is currently attached of changing its point of FA a host or router communicationg to. attachment to the Internet with a mobile node. 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 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 Mobile Ad-hoc Networks 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 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 Ad-hoc Networks S D • 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 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 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 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 MANET Next-hop Forwarding Distance Vector 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. 21 Route Discovery in DSR [S] S RREQ broadcast E F A C G B 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. 22 Route Discovery in DSR [S,E] S [S,A] RREQ broadcast E F A C [S,C] G B 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. 23 Route Discovery in DSR S F A [S,A,B] RREQ broadcast E [S,E,F] C G B D [S,C,G] Destination D receives RREQ via G and F. It does not broadcast it further. 24 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. 25 Route Reply in DSR S RREP Unicast E F A C G B [D,F,E,S] D Reverse route in the header of RREP 26 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. 27 Data Delivery in DSR DATA [S,E,F,D] Cache on S: [S,E,F,D] S E F A DATA packet Unicast C G B D Source route size grows with route length. 28 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. 29 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. 30 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. 31 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. 32 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. 33 AODV Route Discovery S RREQ broadcast E F A C G B D • 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). 34 AODV Route Discovery S Reverse Path E F A C G B D • 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). 35 AODV Route Discovery S RREQ broadcast E F A Reverse Path C G B D • 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). 36 AODV Route Discovery S E F A Reverse Path C G B D • 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). 37 AODV Route Discovery S E F A Reverse Path C G B D • Route reply (RREP) is forwarded via the reverse path. 38 AODV Route Discovery S Forward Path E F A Reverse Path C G B D • Route reply is forwarded via the reverse path … thus forming the forward path. • The forward path is used to route data packets. 39 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. 40 Route Expiry S E F A Forward Path C G B D • Unused reverse paths expire based on a timer. 41 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 longterm routing loops. 42 Possibility of Routing Loops! A B C D E • Assume that A does not know about failure of link CD 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 ) 43 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. 44 Use of Sequence Numbers in AODV Needs a route to D X Has a route to D RREQ carries 10 Dest seq no. = 10 Y ? Dest seq no. = 7 Y does not reply, but forwards the RREQ D Seq. no. = 15 • 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. 45 How Using Sequence Numbers can Avoid Loop? 9 A B C D 9 7 E 5 10 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. 46 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. 47 Proactive Protocols Optimized Link-State Routing (OLSR) Proactive 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. 49 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 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 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. 52 Traditional Flooding 24 retransmissions needed to flood the network 53 Multipoint Relays 11 retransmissions needed to flood the network 54 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. 55 Delay-Tolerant Networks Disruption Tolerant Networks • DTN Characteristics – Intermittent connectivity – Partitioning – No guarantee of end-to-end paths • Goals: – High message delivery ratio – Acceptable delay • Routing Approach Emergency response networks Community networks Battlefield networks – Store-carry-and-forward routing – Replication 57 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 / thirdworld 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 58 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? Routing Categories Replication Scale Hard limit on number of replicates per message Direct Delivery Quota-based Spray and Wait Spray and Focus Encounter-based Routing No limit on number of replicas Flooding-based MaxProp Prophet RAPID Epidemic 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 Synchronizing A M1 M2 M5 B I have 1, 2, and 5 I’ll take 2, 5 M2 M2 ACK M5 M5 ACK M1 M4 M6 Pros and Cons • Pros: – 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) 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! MaxProp Which packets do I send first? 1. Bandwidth 3. Contact duration S D 2. Storage • Maintain a priority-ordered queue – Priority is estimated delivery likelihood – Forward copies of all messages in this order 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 B D C D E Transmission: O(n) 2 Storage: .125 .25 .125 .25 .625 1.25 .25 .125 .25 O(n ) • Each node stores n of these vectors: o Upon meeting a node, exchange vectors 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 B A C C A B .2 .6 .2 D .25 .5 .25 Path Costs: ABD = (1 - .5) + (1 - .25) = 1.25 ACD = (1 - .5) + (1 - .2) = 1.3 ABCD = (1 - .5) + (1 - .5) + (1 - .2) = 1.8 ACBD = (1 - .5) + (1 - .6) + (1 - .25) = 1.65 D D B C .6 .4 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 1. 2. 3. 4. 5. Protocol Direct delivery Routing information Acknowledgements Low hop-count pkts Remaining pkts Spray and Wait Buffer management is too difficult, so instead just limit replication • Strictly limit replication Message – Message copies contain quota – Distribute quota at replication time 4 Quota • Benefits – Resource friendly • Limitations – Potential reduced delivery ratio – May miss important contact opportunities 2 2 1 1 69 Example Spray Phase Give a replica with half my quota to my current contact S 1 D Wait Phase When quota is 1 for a replica, only direct delivery is allowed S 4 2 1 1 D 1 1 1 Pros and Cons • Pros: – 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 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 72 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 CWC (1 ) EV • 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) 73 Distributing Quota • Node A meets Node B – 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 EVB Give M EV EV A B – 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 74 Example 4 EVA = 5 A B EVB = 15 8 75 Example 4 EVA = 5 A B EVB = 15 8 EVB 15 3 EVA EVB 5 15 4 A sends ¾ of all quota to B EVA 5 1 EVA EVB 5 15 4 B sends ¼ of all quota to A 76 Example Give away EVA = 5 3 Keep 4 A B 1 6 EVB = 15 Keep 2 EVB 15 3 EVA EVB 5 15 4 A sends ¾ of all quota to B Give away 8 EVA 5 1 EVA EVB 5 15 4 B sends ¼ of all quota to A 77 Pros and Cons • Pros: – 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 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.