560 likes | 676 Views
Ad Hoc Networks. Cholatip Yawut Faculty of Information Technology King Mongkut's University of Technology North Bangkok. IEFT MANET Working Group. Goals standardize an interdomain unicast (IP) routing protocol define modes of efficient operation support both static and dynamic topologies
E N D
Ad Hoc Networks Cholatip Yawut Faculty of Information Technology King Mongkut's University of Technology North Bangkok
IEFT MANET Working Group • Goals • standardize an interdomain unicast (IP) routing protocol • define modes of efficient operation • support both static and dynamic topologies • A dozen candidate routing protocols have been proposed
Routing ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ants Searching for Food ? from Prof. Yu-Chee Tseng’s slides
Three Main Issues in Ants’ Life • Route Discovery: • searching for the places with food • Packet Forwarding: • delivering foods back home • Route Maintenance: • when foods move to new place
Routing Protocol for MANET 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) Introduction Ref: Optimized Link State Routing Protocol for Ad Hoc Networks Jacquet, p and park gi won
Reactive versus Proactive routing approach • Proactive Routing Protocols • Periodic exchange of control messages • + immediately provide the required routes when needed • - Larger signalling traffic and power consumption. • Reactive Routing Protocols • Attempts to discover routes only on-demand by flooding • + Smaller signalling traffic and power consumption. • - A long delay for application when no route to the destination available
Routing Protocols • Proactive (Global/Table Driven) • route determination at startup • maintain using periodic update • Reactive (On-demand) • route determination as needed • route discovery process • Hybrid • combination of proactive and reactive
Proactive • Destination-sequenced distance vector (DSDV) • Wireless routing protocol (WRP) • Global state routing (GSR) • Fisheye state routing (FSR) • Source-tree adaptive routing (STAR) • Distance routing algorithm for mobility (DREAM) • Cluster-head gateway switch routing (CGSR) • OLSR (Optimized Link State Routing)
Reactive • Associativity-base routing (ABR) • Dynamic source routing (DSR) • Ad hoc on-demand distance vector (AODV) • Temporally ordered routing algorithm (TORA) • Routing on-demand acyclic multi-path (ROAM) • Light-weight mobile routing (LMR) • Signal stability adaptive (SSA) • Cluster-based routing protocol (CBRP)
Hybrid • Zone routing protocol (ZRP) • Zone-based hierarchical link state (ZHLS) • Distributed spanning trees (DST) • Distributed dynamic routing (DDR) • Scalable location update routing pro. (SLURP)
Flooding • Simplest of all routing protocols • Send all info to everybody • If data not for you, send to all neighbors • Robust • destination is guaranteed to receive data • Resource Intensive • unnecessary traffic • load increases, network performance drops quickly
Routing Examples • Destination Sequenced Distance Vector (DSDV) • Cluster Gateway Switch Routing (CGSR) • Ad hoc On-demand Distance Vector (AODV) • Dynamic Source Routing (DSR) • Zone Routing Protocol (ZRP) • Location-Aided Routing (LAR) • Distance Routing effect Algorithm for mobility (DREAM) • Power-Aware Routing (PAR)
Destination Sequenced Distance Vector (DSDV) • Table-driven • Based on the distributed Bellman-Ford routing algorithm • Each node maintains a routing table • Routing hops to each destination • Sequence number
DSDV • Problem • a lot of control traffic in the network • Solution: two types of route update packets • full dump (All available routing info) • incremental (Only changed info)
C2 C1 C3 Cluster Gateway Switch Routing (CGSR) • Table-driven for inter-cluster routing • Uses DSDV for intra-cluster routing M2
Ad hoc On-demand Distance Vector (AODV) • On-demand driven • Nodes that are not on the selected path do not maintain routing information • Route discovery • source broadcasts a route request packet (RREQ) • destination (or intermediate node with “fresh enough” route to destination) replies a route reply packet (RREP)
Destination N2 N8 Destination N5 N2 N8 N5 Source N1 N7 N4 Source N1 N7 N4 N3 N6 N3 N6 AODV RREQ RREP
AODV • Problem • a node along the route moves • Solution • upstream neighbor notices the move • propagates a link failure notification message to each of its active upstream neighbors • source receives the message and re-initiate route discovery
Dynamic Source Routing (DSR) • On-demand driven • Based on the concept of source routing • Required to maintain route caches • Two major phases • Route discovery (flooding) • Route maintenance • A route error packet
N1-N2 N1-N2-N5 N8 N2 N5 N1 N1-N3-N4 N1-N3-N4-N7 N1-N2-N5-N8 N1-N2-N5-N8 N2 N8 N1 N7 N5 N4 N1-N2-N5-N8 N1-N3-N4 N1 N1-N3 N1 N7 N1-N3-N4-N6 N4 N3 N1-N3-N4 N6 N3 N6 DSR Route Discovery Route Reply
Modified DSR • Route information determined by the current network conditions • number of hops • congestion • node energy • Other considerations • fairness • number of route requests
Zone Routing Protocol (ZRP) • Hybrid protocol • On-demand • Proactive • ZRP has three sub-protocols • Intrazone Routing Protocol (IARP) • Interzone Routing Protocol (IERP) • Bordercast Resolution Protocol (BRP)
Zone Routing Protocol (ZRP) Zone of Node Y Border Node Zone Radius = r Hops Border Node Node X Zone of Node Z Node Z Zone of Node X Bordercasting
Location-Aided Routing (LAR) • Location information via GPS • Shortcoming (maybe not anymore 2005) • GPS availability is not yet worldwide • Position information come with deviation
Location-Aided Routing (LAR) • Each node knows its location in every moment • Using location information for route discovery • Routing is done using the last known location + an assumption • Route discovery is initiated when: • S doesn’t know a route to D • Previous route from S to D is broken
LAR - Definitions • Expected Zone • S knows the location L of D in t0 • Current time t1 • The location of D in t1 is the expected zone • Request Zone • Flood with a modification • Node S defines a request zone for the route request
Expected Zone (Xd+R, Yd+R) Request Zone LAR Destination (Xd,Yd) R source(Xs,Ys)
Distance Routing effect Algorithm for mobility (DREAM) • Position-based • Each node • maintains a position database • regularly floods packets to update the position • Temporal resolution • Spatial resolution
Restricted Directional Flooding • Distance Routing effect Algorithm for mobility (DREAM) • Sender will forward the packet to all one-hop neighbors that lie in the direction of destination • Expected region is a circle around the position of destination as it is known to source • The radius r of the expected region is set to (t1-t0)*Vmax, where t1 is the current time, t0 is the timestamp of the position information source has about destination, and Vmax is the maximum speed that a node may travel in the ad hoc network • The direction toward destination is defined by the line between source and destination and the angle From ECE 5970 Class
N2 N1 SRC DEST + – + – + – + – + – + – N3 N4 Power-Aware Routing (PAR)
OLSR - Overview • OLSR • Inherits Stability of Link-state protocol • Selective Flooding • only MPRretransmit control messages: • Minimize flooding • Suitable for large and dense networks
OLSR – Multipoint relays (MPRs) • MPRs = Set of selected neighbor nodes • Minimize the flooding of broadcast packets • Each node selects its MPRs among its on hop neighbors • The set covers all the nodes that are two hops away • MPR Selector = a node which has selected node as MPR • The information required to calculate the multipoint relays : • The set of one-hop neighbors and the two-hop neighbors • Set of MPRs is able to transmit to all two-hop neighbors • Link between node and it’s MPR is bidirectional.
OLSR – Multipoint relays (cont.) • To obtain the information about one-hop neighbors : • Use HELLO message (received by all one-hop neighbors) • To obtain the information about two-hop neighbors : • Each node attaches the list of its own neighbors • Once a node has its one and two-hop neighbor sets : • Can select a MPRs which covers all its two-hop neighbors
MPR(Retransmission node) OLSR – Multipoint relays (cont.) 4 retransmission to diffuse a message up to 2 hops Figure 1. Diffusion of a broadcast message using multipoint relays
Node1 Hop Neighbors2 Hop NeighborsMPR(s) BA,C,F,GD,E C OLSR – Multipoint relays (cont.) E D F A C G B Figure 2. Network example for MPR selection
E F H MS(A) = {B,H,I} A C B D I MS(C) = {B,D,E} MPR(B) = {A,C} G Figure 3. MPR과 MPR Selector Set OLSR – Multipoint relays (cont.)
Protocol functioning – Neighbor sensing • Each node periodically broadcasts its HELLO messages: • Containing the information about its neighbors and their link status • Hello messages are received by all one-hop neighbors • HELLO message contains: • List of addresses of the neighbors to which there exists a valid bi-directional link • List of addresses of the neighbors which are heard by node( a HELLO has been received ) • But link is not yet validated as bi-directional
Protocol functioning – Neighbor sensing (cont.) Table 1. Hello Message Format in OLSR
Protocol functioning – Neighbor sensing (cont.) • HELLO messages : • Serves Link sensing • Permit each node to learn the knowledge of its neighbors up to two-hops (neighbor detection) • On the basis of this information, each node performs the selection of its multipoint relays (MPR selection signaling) • Indicate selected multipoint relays • On the reception of HELLO message: • Each node constructs its MPR Selector table
Protocol functioning – Neighbor sensing ( cont.) • In the neighbor table: • Each node records the information about its on hop neighbor and a list of two hop neighbors • Entry in the neighbor table has an holding time • Upon expiry of holding time, removed • Contains a sequence number value which specifies the most recent MPR set • Every time updates its MPR set, this sequence number is incremented
Protocol functioning – Neighbor sensing • Example of neighbor table One-hop neighbors Two-hop neighbors Neighbor’s id State of Link Neighbor’s id Access though B Bidirectional E C G Unidirectional D C C MPR … … … … Table 2. Example of neighbor table
Protocol functioning – Multipoint relay selection • Each node selects own set of multipoint relays • Multipoint relays are declared in the transmitted HELLO messages • Multipoint relay set is re-calculated when: • A change in the neighborhood( neighbor is failed or add new neighbor ) • A change in the two-hop neighbor set • Each node also construct its MPR Selector table with information obtained from the HELLO message • A node updates its MPR Selector set with information in the received HELLO messages
Protocol functioning – MPR information declaration • TC – Topology control message: • In order to build intra-forwarding database • Only MPR nodes forward periodically to declare its MPR Selector set • Message might not be sent if there are no updates • Contains: • MPR Selector • Sequence number • Each node maintains a Topology Table based on TC messages • Routing Tables are calculated based on Topology tables
Protocol functioning – MPR information declaration (cont.) Last-hop node to the destination. Originator of TC message MPR Selector in the received TC message Table 3. Topology table
E F C B Send TC message D {B,D,E} build the topology table MS(C) = {B,D,E} MPR(B) = {A,C} G Protocol functioning – MPR information declaration (cont.) Figure 4. TC message and Topology table
Protocol functioning – MPR information declaration (cont.) • Upon receipt of TC message: • If there exist some entry to the same destination with higher Sequence Number, the TC message is ignored • If there exist some entry to the same destination with lower Sequence Number, the topology entry is removed and the new one is recorded • If the entry is the same as in TC message, the holding time of this entry is refreshed • If there are no corresponding entry – the new entry is recorded
S P M Z X Y R B A Send TC message D Protocol functioning – MPR information declaration (cont.) S’ Topology table Figure 5. Topology table update TC message ( M send to S)
Protocol functioning – Routing table calculation • Each node maintains a routing table to all known destinations in the network • After each node TC message receives, store connected pairs of form ( last-hop, node) • Routing table is based on the information contained in the neighbor table and the topology table • Routing table: • Destination address • Next Hop address • Distance • Routing Table is recalculated after every change in neighbor table or in topology table