540 likes | 707 Views
Routing in Ad-hoc Networks. 9 th CEENet Workshop on Network Technology NATO ANW Iskra Djonova Popova (iskra.popova@mh.se). Contents:. Ad-hoc Networks Problems with Routing Destination Sequenced Distance Vector (DSDV) (Clusterhead Gateway Switch Routing (CGSR)
E N D
Routing in Ad-hoc Networks 9th CEENet Workshop on Network Technology NATO ANW Iskra Djonova Popova (iskra.popova@mh.se)
Contents: • Ad-hoc Networks • Problems with Routing • Destination Sequenced Distance Vector (DSDV) • (Clusterhead Gateway Switch Routing (CGSR) • Dynamic Source Routing (DSR) • Location Aided Routing (LAR) • Classification of the Routing Protocols • Standardization and Future Work
Ad-hoc Networks • Two types of wireless network: • Infrastructured • the mobile node can move while communicating • the base stations are fixed • as the node goes out of the range of a base station, it gets into the range of another base station • Infrastructureless or ad-hoc • the mobile node can move while communicating • there are no fixed base stations • all the nodes in the network need to act as routers • In Latin “ad-hoc” literally means “for this purpose only”. Then an ad-hoc network can be regarded as “spontaneous network”
PDA Laptop computer Laptop computer Pen computer Ad-hoc Networks • Infrastructured network Infrastructure (Wired line) Radio tower Desktop computer Radio tower
PDA PDA Laptop computer Laptop computer Pen computer Ad-hoc Networks • Infrastructurless (ad-hoc) network or MANET (Mobile Ad-hoc NETwork)
Ad-hoc Networks • Classification of ad-hoc networks • Single hop – nodes are in their reach area and can communicate directly • Multi hop – some nodes are far and cannot communicate directly. The traffic has to be forwarded by other intermediate nodes.
Ad-hoc Networks • Characteristics of an ad-hoc network • Collection of mobile nodes forming a temporary network • Network topology changes frequently and unpredictably • No centralized administration or standard support services • Each host is an independent router • Hosts use wireless RF transceivers as network interface • Number of nodes 10 to 100 or at most 1000
Ad-hoc Networks • Why we need ad-hoc networks? • Setting up of fixed access points and backbone infrastructure is not always viable • Infrastructure may not be present in a disaster area or war zone • Infrastructure may not be practical for short-range radios; Bluetooth (range ~ 10m) • Do not need backbone infrastructure support • Are easy to deploy • Useful when infrastructure is absent, destroyed or impractical
Ad-hoc Networks • Example applications of ad hoc networks: • emergency search-and-rescue operations, • meetings or conventions in which persons wish to quickly share information, • data acquisition operations in inhospitable terrain, • local area networks in the future.
Application Layer Transport Layer Network Layer Physical/Link Layer Ad-hoc Networks Mobile Ad Hoc Networking is a multi-layer problem ! - Security - Service Discovery - Location-dependent Application - TCP - Quality of Service - Routing - Addressing - Location Management - Power Control - Multiuser Detection - Channel Access
Problems with Routing • Is it possible to use standard routing protocols? • Distance-vector protocols • Slow convergence due to “Count to Infinity” Problem • Creates loops during node failure, network partition or congestion • Link state protocols • Use flooding technique and create excessive traffic and control overhead • Require a lot of processor power and therefore high power consumption
Problems with Routing • Limitations of the Wireless Network • packet loss due to transmission errors • variable capacity links • frequent disconnections/partitions • limited communication bandwidth • Broadcast nature of the communications • Limitations Imposed by Mobility • dynamically changing topologies/routes • lack of mobility awareness by system/applications • Limitations of the Mobile Computer • short battery lifetime • limited capacities
DSDV • DSDV (Destination Sequenced Distance Vector) • Each node sends and responds to routing control message the same way • No hierarchical structure • Avoids the resource costs involved in maintaining high-level structure • Scalability may become an issue in larger networks
DSDV • Basic Routing Protocol • known also as Distributed Bellman-Ford or RIP • Every node maintains a routing table • all available destinations • the next node to reach to destination • the number of hops to reach the destination • Periodically send table to all neighbors to maintain topology • Bi-directional links are required!
DSDV Traditional Distance vector tables 1 2 A B C
DSDV Distance Vector Updates B broadcasts the new routing information to his neighbors Routing table is updated (A, 1) (B, 0) (C, 1) (A, 1) (B, 0) (C, 1) 1 1 A B C
DSDV Distance Vector – New Node joins the network broadcasts to update tables of C, B, A with new entry for D (A, 1) (B, 0) (C, 1) (D, 2) (A, 2) (B, 1) (C, 0) (D, 1) (D, 0) 1 1 1 A B C D
DSDV Distance Vector – Broken link 1 1 1 D A B C
DSDV Distance Vector - Loops (D, 2) (D, 2) 1 1 1 D A B C
DSDV Distance vector - Count to Infinity (D,5) (D,4) (D,4) (D,3) (D,2) (D,2) 1 1 1 D A B C
DSDV • Traditional Distance Vector are not suited for ad-hoc networks! • Loops • Bandwidth reduction in network • Unnecessary work for loop nodes • Count to Infinity • Very slow adaptation to topology changes. • Solution -> Introduce destination sequence numbers
DSDV • DSDV keeps the simplicity of traditional Distance Vector Protocols • DSDV need to guarantee loop freeness • New Table Entry for Destination Sequence Number • DSDV need to allow fast reaction to topology changes • Make immediate route advertisement on significant changes in routing table • but wait with advertising of unstable routes(damping fluctuations)
DSDV • Features introduced in DSDV • 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.
DSDV – Route Advertisement • Advertise to each neighbor own routing information • Destination Address • Metric = Number of Hops to Destination • Destination Sequence Number • Other info (e.g. hardware addresses) • 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 = .
DSDV – Route Selection • Update information is compared to own routing table 1. Select route with higher destination sequence number (This ensure to use always newest information from destination) 2. Select the route with better metric when sequence numbers are equal.
DSDV DSDV Tables A B C
DSDV DSDV Route Advertisement B increases Seq.Nr from 100 -> 102 B broadcasts routing information to Neighbors A, C including destination sequence numbers (A, 1, A-550) (B, 0, B-102) (C, 1, C-588) (A, 1, A-550) (B, 0, B-102) (C, 1, C-588) A B C
DSDV • DSDV Respond to topology changes • Immediate advertisements • Information on new routes, broken Links, metric change is immediately propagated to neighbors. • Full/Incremental Update: • Full Update: Send all routing information from own table. • Incremental Update: Send only entries that has changed. (Make it fit into one single packet)
DSDV When new node joins the network 2. Insert entry for D with sequence number D-000.Then immediately broadcast own table. 1. D broadcast for first timeSend Sequence number D-000. (D, 0, D-000) A B C D
DSDV 3. C increases its sequence number to C-592 then broadcasts its new table. (New node (cont.) 4. B gets this new information and updates its table……. (A, 2, A-550) (B, 1, B-102) (C, 0, C-592) (D, 1, D-000) (A, 2, A-550) (B, 1, B-102) (C, 0, C-592) (D, 1, D-000) ……… ……… A B C D
DSDV No loops, no count to infinity 2. B does its broadcast-> no affect on C (C knows that B has stale information because C has higher seq. number for destination D) -> no loop -> no count to infinity 1. Node C detects broken Link:-> Increase Seq. Nr. by 1(only case where not the destination sets the sequence number -> odd number) (D, 2, D-100) (D, 2, D-100) 1 D A B C
1. Node C detects broken link:-> Increase Seq. Nr. by 1(only case where not the destination sets the sequence number -> odd number) DSDV Immediate Advertisement 3. Immediate propagation B to A:(update information has higher Seq. Nr. -> replace table entry) 2. Immediate propagationC to B:(update information has higher Seq. Nr. -> replace table entry) (D, , D-101) (D, , D-101) D A B C
DSDV Problem of Fluctuations • Entry for D in A: [D, Q, 14, D-100] • D makes broadcast with Seq. Nr. D-102 • A receives from P Update (D, 15, D-102)-> Entry for D in A: [D, P, 15, D-102] A must propagate this route immediately. • A receives from Q Update (D, 14, D-102)-> Entry for D in A: [D, Q, 14, D-102]A must propagate this route immediately. This can happen every time D or any other node does its broadcast and lead to unnecessary route advertisements in the network, so called fluctuations. A P Q 11 Hops 10 Hops (D,0,D-102) D
DSDV • Advantages • Simple (almost like Distance Vector) • Loop free through destination seq. numbers • No latency caused by route discovery • Disadvantages • No sleeping nodes • Bi-directional links required • Overhead: most routing information never used • Scalability is a major problem
CGSR • CSGR (Clusterhead Gateway Switch Routing) • Similar to DSDV • Based on concept of clusters and cluster heads • Routing is done via the cluster heads and gateways
CGSR • Problems with CGSR • More time is spend in selection of cluster heads and gateways • If the mobile node uses CDMA/TDMA then it can take some time to get permission to send packets
DSR • DSR (Dynamic Source Routing) • Similar to the source routing in traditional networks • A node maintains route cache containing the routes it knows • Includes route discovery on request and route maintenance when needed
DSR • Route discovery • The source sends a broadcast packet which contains source address, destination address, request id and path. • If the host receiving this packet, saw this packet before, discards it. • Otherwise, it looks up its route caches to look for a route to destination. If a route is not found, it appends its address into the packet and rebroadcasts it. • If the route is found, it sends a reply packet to the source node. • The route will be eventually found when the request packet reaches the destination
DSR (source, destination, path) RREQ (Route request) Route cache ... Destination 5 RREQ(1,5,{1,2,4}) Route cache 4 ... 6 RREQ(1,5,{1,2}) RREQ(1,5,{1}) RREQ(1,5,{1,2}) 2 Source 1 3 Route cache ... Route cache Route cache ... (3,5) > {3,6,5} ...
DSR • How to send a reply packet? • If the destination has a route to the source in its cache, use it • Else if symmetric links are supported, use the reverse of the route record • Else, if symmetric links are not supported, the destination initiate route discovery to source
DSR RREP (Route reply) Source, destination, source route) Route cache (5,1) > {5,4,2,1} (5,2) > {5,4,2} (5,4) > {5,4} Destination ... 5 RREP(5,1,{1,2, 4 ,5}) Route cache 4 ... 6 RREP(5,1,{1, 2 ,4,5}) RREP(5,1,{ 1 ,2,4,5}) RREP(3,1,{1, 2 ,3,6,5}) 2 Source 1 3 Route cache (2,1) > {2,1} (2,4) > {2,4} Route cache Route cache ... (3,1) > {3,2,1} (1,5) > {1,2,4,5}, (3,2) > {3,2} {1,2,3,6,5} (3,5) > {3,6,5} ... ...
DSR • Route maintenance • Whenever a node transmits a data packet, a route reply or a route error, it must verify that the next hop correctly receives the packet. • If not, the node must send a route error to the node responsible for generating this route header. • The source restarts the route discovery
DSR • Advantages • Do not exchange routing update periodically, so overhead transmission is greatly reduced • Can refer to cache for the new route when link fails. • Disadvantages • Scalability problem: High route discovery latency for large network. • High mobility problem: although the packet dropped may not be substantional, the overhead traffic will increase a lot.
LAR • LAR (Location Aided Routing) • Modified flooding algorithm • Exploits location information to limit the scope of the route request flood • Location information being obtained from a GPS unit
X r LAR • The expected zone is defined as the region that is expected to hold the current location of the destination X = last known location of node D, at time t0 r = (t1 - t0) * estimate of D’s speed
LAR • The route request is limited to the Request zone. • The request zone is the smallest rectangular region that contains the expected zone and the location of the sending node.
LAR network space X request zone r 2 1 expected zone S
LAR • Only nodes within the request zone forward route request • The request zone is explicitly specified in the route request • If route discovery using the smaller request zone fails to find a route, the source node initiates another route discovery (after a timeout ) using a larger zone
LAR • Implicit request zone • Node x forwards a route request received from y if x is deemed closer to the expected zone when compared to y. • This is an attempt to bring theroute request physically closer to the destination node after each forwarding
Classification of the Routing Protocols • Proactive (table driven) • Require each node to maintain one or more tables to store routing information • Each node responds to changes in network topology by propagating updates throughout the network in order to maintain a consistent network view • DSDV, OLSR (Optimized Link State Protocol) • Reactive protocols (source initiated) • Creates routes only when desired by the source node • Once a route has been established, it is maintained by a route maintenance procedure until either the destination becomes inaccessible along every path from the source or until the route is no longer desired • DSR, AODV (Ad-hoc On-demand Distance Vector)