Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ubiquitous Networks Mobile Ad Hoc Networks

Similar presentations


Presentation on theme: "Ubiquitous Networks Mobile Ad Hoc Networks"— Presentation transcript:

1 Ubiquitous Networks Mobile Ad Hoc Networks
Lynn Choi Korea University

2 Mobile Ad hoc Network Ad hoc network consisting of mobile nodes
No infrastructure such as base stations or access points Self-organizing networks Mobile nodes Any node can be mobile anytime Each node is assumed to be more powerful compared to sensor nodes in terms of computation power, memory, and energy source Examples – automobile networks, mobile user networks Peer-to-peer communication patterns Any node can send data packet to any other node Neither sources nor sinks Networking issues Not easy to use topology-based routing since the mobility of nodes may change the topology anytime. Node mobility may lead to frequent routing failures.

3 Routing Protocols for MANET
Two main groups of routing protocols Proactive protocols (Table driven) Destination-Sequenced Distance Vector (DSDV) Optimized Link State Protocol (OLSR) [RFC 3626] Topology Broadcast Based on Reverse-Path Forwarding (TBRPF) [RFC 3684] Reactive protocols (On-demand) Dynamic Source Routing (DSR) Ad-hoc On-demand Distance Vector (AODV) [RFC 3561] Hybrid Protocols Zone Routing Protocols (ZRP)

4 Classification of MANET Routing Protocols
Unicast-Routing Protocol for MANET (Topology-based) Table-Driven/ Proactive Hybrid On-Demand-driven/Reactive Clusterbased/ Hierarchical Distance- Vector Link- State ZRP DSR AODV TORA LANMAR CEDAR DSDV OLSR TBRPF FSR STAR MANET: Mobile Ad hoc Network (IETF working group) Source: IETF

5 Routing Protocols for Ad-hoc Networks
Proactive protocols Create and maintain routes to all hosts proactively Conventional approach to routing protocols Table-driven Distance vector and link state protocols send periodic routing advertisement (+) Lower latency – since routes are maintained at all times (-) Higher overhead – due to continuous route updates (-) Convergence problems Reactive Protocols Obtain a route only when needed Source-driven (on-demand) Eliminate periodic updates – saves power and bandwidth Potentially increased latency while routes found or repaired (+) Low overhead – routes are determined on demand Skipping periodic updates saves energy (+) Quicker response to topology changes (-) Higher latency – need route discovery Which approach achieves a better trade-off depends on the traffic and mobility patterns In general, reactive protocols are more popular in MANET

6 Distance-Vector Routing
Two classes of proactive routing algorithms Link state routing Each node maintains a global view of the network topology with a cost for each link Shortest-path computation Each node periodically broadcasts link costs to its outgoing links Distance vector routing Every node maintains the distance and the direction to each destination No global view of the topology Each node periodically sends routing table to all neighbors Each node maintains a routing table containing List of all available destinations Distance to each each destination Next hop to reach a destination The succession of next hops leads to a destination Each node periodically broadcasts its current estimate of the shortest distance to each available destination to all of its neighbors Typical representative Distributed Bellman-Ford (DBF) Computes single-source shortest paths in a weighted directed graph

7 Bellman-Ford Algorithm
Initialize Single Source (G,s) for each vertex v V[G] do d[v]  [v]  NIL d[s]  0 Bellmann-Ford (G,w,s) Initialize-Single-Source (G,s) for i  1 to |V[G]|-1 do for each edge (u,v) E[G] do Relax (u,v,w) for each edge (u,v) E[G] do if d[v] > d[u]+w(u,v) then return FALSE return TRUE Relax (u,v,w) if d[v] > d[u] + w(u,v) then d[v]  d[u] + w(u,v) [v]  u d[v]: distance [v]: next hop Check for negative weight cycles

8 Bellman-Ford Algorithm

9 Bellman-Ford Routing Advantages Routing loop problem
Computationally efficient Easy to implement Routing loop problem Can cause loops At time t0, B detects link cost changes (4 to 60) and computes its new minimum distance to A DB(A) = min { 60, 1 + DC(A)} = min{60, 1+5} = 6 Without the gloval view of the network, node B concludes that it can reach A in 6 hops! So, in order to get to A, B would route through C and C routes through B, causing a routing loop Count-to-infintiy problem At time t1, B informs C of its new distance vector At time t2, C receives B‘s new distance vector and computes its new minimum distance to A DC(A) = min { 50, 1 + DB(A)} = min{60, 1+6} = 7 At time t3, C informs B of its new distance vector At time t4, B receives C‘s new distance vector and computes its new minimum distance to A, which is 8 This continues 60 B 4 1 C A 50

10 DSDV Design goals: Approach: Keep the simplicity of Bellman-Ford
Address the routing loop and count-to-infinity problems Approach: Guarantee loop freeness New table entry for Destination Sequence Number Allow fast reaction to topology changes Make immediate route advertisement on significant changes in routing table But wait for advertising unstable routes (damping fluctuations)

11 DSDV Routing Table Sequence number Install Time Stable Data
Destination Next Metric Seq. Nr Install Time Stable Data A A-550 001000 Ptr_A B 1 B-102 001200 Ptr_B C 3 C-588 Ptr_C D 4 D-312 Ptr_D Sequence number Originated from destination. Ensures loop freeness. Install Time When entry was made (used to delete stale entries from table) Stable Data Pointer to a table holding information on how stable a route is. Used to damp fluctuations in network.

12 Route Advertisements & Updates
Advertise to each neighbor its own routing information Destination Address Metric = Number of Hops to Destination Destination Sequence Number Rules to set sequence number information On each advertisement increase own destination sequence number (use only even numbers) If a node is no more reachable (timeout) increase sequence number of this node by 1 (odd sequence number) and set metric =  Immediate versus periodic updates Immediate advertisements Information on new Routes, broken Links, metric change is immediately propagated to neighbors. Otherwise, periodic updates Full/Incremental Update: Full Update: Send all routing information from its own table. Incremental Update: Send only entries that has changed. (Make it fit into one single packet)

13 Route Selection Route selection Stale entries
Update information is compared to its own routing table Select route with higher destination sequence number. This ensure to use always newest information from destination) Select the route with better metric when sequence numbers are equal. Stale entries Defined to be entries that have not been updated the last few update periods Stale entries are deleted at the same time when routing updates are applied to the routing table Any route using that host as a next hop is deleted, including the route indicating that host as the actual destination

14 Receiving Fluctuating Routes
What might happen: MH9 broadcasts update information to MH Collections I and II MH2 transmits new routing information to MH4 MH4: new sequence number  routing table update  broadcast update MH6 transmits new routing information to MH4, same sequence number, better metric MH4: same seq.no., better metric  update routing table  broadcast update MH9 Mobile Host Collection I Mobile Host Collection II MH2 MH6 MH4

15 Damping Fluctuation Causes for Fluctuation: Solution
Many hosts with irregular updates Different propagation speed Different transmission intervals Broadcasts are asynchronous events Solution Keep a route settling time table in each node with a time to wait for a route with a better metric before advertising the update message. Settling time Calculated by maintaining a running weighted average over the most recent updates of the routes for each destination.

16 Example of DSDV in operation
MH3 MH4 MH5 MH2 MH8 MH6 MH7 MH1 Destination Next Hop Metric Seq. No MH4 S406_MH4 MH1 MH2 2 S128_MH1 1 S564_MH2 MH3 S710_MH3 MH5 MH6 S392_MH5 S076_MH6 MH7 S128_MH7 MH8 3 S050_MH8 MH4 advertised table:

17 Example of DSDV in operation
MH3 MH4 MH5 MH2 MH8 MH6 MH7 MH1 MH1 Update triggered by MH1 , broadcasted to MH7 and MH8 On detection of broken link: Immediate incremental update triggered by MH2 with odd sequence number and infinite metric Updates are propagated through the network

18 Example of DSDV in operation
MH3 MH4 MH5 MH2 MH8 MH6 MH7 MH1 Destination Next Hop Metric Seq. No MH4 S516_MH4 MH1 MH6 3 S238_MH1 MH2 1 S674_MH2 MH3 2 S820_MH3 MH5 S502_MH5 S186_MH6 MH7 S238_MH7 MH8 S160_MH8 MH4 advertised table (updated):

19 Simulation results Simulation by Broch, Maltz, Johnson, Hu, Jetcheva
DSDV fails to converge if nodes don‘t pause for at least 300 seconds Packet delivery ratio is in the range of 70%-92% at higher rate of mobility Packet loss is mainly caused by stale routing entries Routing overhead is approximately constant, regardless of movement rate or traffic load Nearly optimal path can be selected in routing procedure

20 Stability and Scalability
DSDV requires a full dump update periodically  DSDV is not efficient in route updates DSDV limits the number of nodes that can join the network Whenever topology of a network changes, DSDV is unstable until update packets propagate through the network Conclusion DSDV is effective for creating ad-hoc networks for small populations of mobile nodes DSDV is a fairly brute force approach, because connectivity information needs periodical update througout the entire network Current Status DSDV is a well-known routing algorithm for ad hoc network routing No standard specifications or commercial implementations available Many improved protocols based on DSDV have been developed Example: AODV: Ad-hoc On-Demand Distance Vector Routing

21 Optimized Link State Routing (OLSR) Protocol
[RFC 3626] The overhead of flooding link state information is reduced by requiring fewer nodes to forward the information Conventional link-state routing For each node, disseminate its links to all other nodes Use SPF algorithm to generate routing table Optimized variant of conventional link state routing A broadcast from node X is only forwarded by some of its links (multipoint relays) Modified Shortest Path First routing

22 Topology Broadcast Based on Reverse Path Forwarding
[RFC 3626] A variation of link state algorithm Idea The communication cost can be reduced if the updates are sent along spanning trees despite the additional cost for maintaining these trees. Most link state algorithms are based on flooding. Transmits only the differences between the previous network state and the current network state Reference B. Bellur, and R.G. Ogier "A Reliable, Efficient Topology Broadcast Protocol for Dynamic Networks," Proc. IEEE INFOCOMM ’99, pp. 178–186.

23 Dynamic Source Routing (DSR) - Route Discovery
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 Route Request (RREQ) RREQ contains initiator, target, and unique request ID determined by RREQ initiator RREQ also contains a record listing address of each intermediate node through which RREQ has been forwarded When a node receives RREQ, if it is the target, it sends a Route Reply (RREP) message Otherwise, if the node receiving RREQ recently saw another RREQ from the initiator having the same request ID, or if it finds that its own address is already listed in the route record, it discard the RREQ If not, the node appends its own address to the route record in the RREQ and forward it

24 Route Discovery in DSR Building of the route record during route discovery N2 N1-N2 Destination N1-N2-N5 N8 N5 N1 Source N1-N3-N4 N1-N3-N4-N7 N1 N7 N1-N3-N4 N4 N1-N3 N1 N1-N3-N4-N6 N3 N1-N3-N4 N6

25 Route Reply in DSR Propagation of the route reply with the route record N2 N1-N2-N5-N8 Destination N1-N2-N5-N8 N8 N5 N1-N2-N5-N8 Source N1 N7 N4 N3 N6

26 Dynamic Source Routing (DSR) - Data Delivery
RREP can be sent by reversing the route in RREQ Assume that links are bi-directional If unidirectional links are allowed, then RREP may need a route discovery for S from node D, unless D already knows a route to S (in its route cache) RREP includes the route from S to D The entire route is included in the packet header (hence source routing) Intermediate nodes use the source route included in the packet to determine to whom a packet should be forwarded On receiving RREP, intermediate nodes cache the route included in RREP Route Maintenance - Route Error packet A node generates Route Error packet, when the data link layer encounters a fatal transmission problem Receiving node removes The hop in error from the node’s route cache All routes containing the hop

27 Data Delivery in DSR Packet header size grows with route length N2 N8
DATA N1-N2-N5 N2 Destination DATA N1-N2-N5-N8 DATA N1-N2 N8 N5 Source N1 N7 N4 N3 N6

28 Ad Hoc On-Demand Distance Vector Routing (AODV)
<RFC3561> DSR includes source routes in packet headers Resulting large headers can sometimes degrade performance Particularly when the data content of a packet is small Also, packet header size grows with route length AODV attempts to improve on DSR by maintaining routing tables at the nodes, So that data packets do not have to contain routes When node S want to send a packet to node D, it checks its route table to determine whether it has a route to D If S has a route to D, S forwards packets to the next hop toward D If S does not have route to D, S initiates route discovery

29 AODV Route Discovery Source node S floods Route Request (RREQ), which contains Source IP address Destination IP address Source node’s current sequence number Last known sequence number from the destination Broadcast ID Hop count After sending RREQ, S sets a timer to wait for a reply When a node receives RREQ It checks whether it has already seen the RREQ by noting source address/broadcast ID pair. If so, it discard it Otherwise, it setup a reverse path pointing towards the source AODV assumes bi-directional links Sets up reverse route entry which contains source address, sequence #, # of hops to S, neighbor address from which the RREQ was received If route entry is not used within specified lifetime, the route entry is deleted to prevent stale routing Timeout should be long enough to allow RREP to come back

30 AODV - Route Discovery A node can send a RREP if
1) it has an unexpired entry for the destination in its route table, and 2)it knows a more recent path than the one previously known to sender S To determine whether the path known to an intermediate node is more recent, destination sequence number is used A node which knows a route, but with a smaller sequence number, cannot send RREP If the node cannot send RREP It increments RREQ’s hopcount and then broadcast the RREQ to its neighbors

31 Route Requests in AODV Broadcast transmission S E F B C J A G H D K I
Represents transmission of RREQ Represents links on Reverse Path

32 AODV - Forward Path Setup
When the destination receives a RREQ, It replies by sending a RREP, where it places the current sequence #, initializes hop count to 0, and places the length of time the route is valid in lifetime field When an intermediate node receives RREP, It sets up a forward path entry to destination in its route table, which contains destination address, neighbor address from which the RREP arrived, hop-count (distance) to the destination, and lifetime To obtain the distance to destination, each node increments the value in hop-count by one Lifetime in route table is set to the lifetime contained in the RREP Each time the route is used, its lifetime is updated If the route is not used within the specified lifetime, it is deleted A node may receive RREP for a given destination from more than one neighbor It forwards first RREP and forward a later RREP only if the RREP contains a larger destination sequence number or a smaller hop-count RREP travels along the reverse path setup when RREQ is forwarded S can begin data transmission as soon as the first RREP is received and later updates its routing info if it discovers a better route

33 Route Reply in AODV S E F B C J A G H D K I
RREP S E RREP F B RREP C J RREP A G H D K I Represents links on path taken by RREP

34 Data Delivery in AODV DATA DATA S E DATA F B C J DATA A G H D K I
Routing table entries used to forward data packet. Route is not included in packet header. At most one next-hop per destination maintained at each node

35 Zone Routing Protocol (ZRP)
All nodes have their own Zone, based on Zone Radius. Intra Zone : Proactive Inter Zone : Reactive L K s M C B s G D E A H F I Intra Zone Inter Zone


Download ppt "Ubiquitous Networks Mobile Ad Hoc Networks"

Similar presentations


Ads by Google