100
AD HOC NETWORKS AD HOC NETWORKS Ian F. Akyildiz Ian F. Akyildiz Broadband & Wireless Networking Laboratory Broadband & Wireless Networking Laboratory School of Electrical and Computer Engineering School of Electrical and Computer Engineering Georgia Institute of Technology Georgia Institute of Technology Tel: 404-894-5141; Fax: 404-894-7883 Tel: 404-894-5141; Fax: 404-894-7883 Email: [email protected] Email: [email protected] Web: http://www.ece.gatech.edu/research/labs/bwn Web: http://www.ece.gatech.edu/research/labs/bwn

Ad Hoc Networks

  • Upload
    fay

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Ad Hoc Networks. Infrastructure-less wireless networks dynamically formed using only mobile hosts (no routers) Network topology dynamic as all hosts are mobile ! Mobile hosts themselves double up as routers!! Multi-hop paths … Highly resource constrained Extreme case of network mobility…. - PowerPoint PPT Presentation

Citation preview

Page 1: Ad Hoc Networks

AD HOC NETWORKSAD HOC NETWORKS

Ian F. AkyildizIan F. Akyildiz

Broadband & Wireless Networking LaboratoryBroadband & Wireless Networking Laboratory

School of Electrical and Computer EngineeringSchool of Electrical and Computer Engineering

Georgia Institute of TechnologyGeorgia Institute of Technology

Tel: 404-894-5141; Fax: 404-894-7883 Tel: 404-894-5141; Fax: 404-894-7883

Email: [email protected]: [email protected]

Web: http://www.ece.gatech.edu/research/labs/bwnWeb: http://www.ece.gatech.edu/research/labs/bwn

Page 2: Ad Hoc Networks

2IFA’2004

Ad Hoc NetworksAd Hoc Networks

Infrastructure-lessInfrastructure-less wireless wireless networks dynamically formed using networks dynamically formed using only mobile hosts (no routers)only mobile hosts (no routers)

Network topology dynamic as all Network topology dynamic as all hosts are hosts are mobilemobile!!

Mobile hosts themselves double up Mobile hosts themselves double up as routers!!as routers!!

Multi-hopMulti-hop paths … paths … Highly Highly resource constrainedresource constrained Extreme case of network mobility…Extreme case of network mobility…

Page 3: Ad Hoc Networks

3IFA’2004

TopologiesTopologies-Ad Hoc Networking-Ad Hoc Networking

An ad hoc network is a peer-to-peer An ad hoc network is a peer-to-peer network (no centralized server) set up network (no centralized server) set up temporarily to meet some immediate need. temporarily to meet some immediate need.

For example, a group of employees, each For example, a group of employees, each with a laptop or palmtop computer may with a laptop or palmtop computer may convene in a conference room for a convene in a conference room for a business or classroom meeting. business or classroom meeting.

The employees link their computers in a The employees link their computers in a temporary network just for the duration of temporary network just for the duration of the meeting. the meeting.

Page 4: Ad Hoc Networks

4IFA’2004

TopologiesTopologies-Ad Hoc Networking-Ad Hoc Networking

Page 5: Ad Hoc Networks

5IFA’2004

TopologiesTopologies-Ad Hoc Networking-Ad Hoc Networking

Differences between Differences between Ad-Hoc wireless LAN and a CLASSICAL wireless LAN Ad-Hoc wireless LAN and a CLASSICAL wireless LAN

The classical wireless LAN forms a stationary The classical wireless LAN forms a stationary infrastructure consisting of one or more cells with a infrastructure consisting of one or more cells with a control module for each cell. control module for each cell.

Within a cell, there may be a number of stationary end Within a cell, there may be a number of stationary end systems. systems.

Nomadic stations can move from one cell to another. Nomadic stations can move from one cell to another. In contrast, there is no infrastructure for an ad-hoc In contrast, there is no infrastructure for an ad-hoc

network. network. Rather, a peer collection of stations within range of each Rather, a peer collection of stations within range of each

other may dynamically configure themselves into a other may dynamically configure themselves into a temporary network.temporary network.

Page 6: Ad Hoc Networks

6IFA’2004

IllustrationIllustration

A

BC

D

Page 7: Ad Hoc Networks

7IFA’2004

Wireless Ad Hoc Wireless Ad Hoc NetworksNetworks

Disaster recoveryDisaster recovery BattlefieldBattlefield Smart officeSmart office Gaps in cellular infrastructureGaps in cellular infrastructure Virtual Navigation (cities, buildings, areas, etc..)Virtual Navigation (cities, buildings, areas, etc..) Telemedicine (e.g., accident sites)Telemedicine (e.g., accident sites) Tele-Geoprocessing Applications Tele-Geoprocessing Applications Education via InternetEducation via Internet

Page 8: Ad Hoc Networks

8IFA’2004

Classes of Wireless Ad Classes of Wireless Ad Hoc NetworksHoc Networks

Three distinct classesThree distinct classes– Mobile Ad Hoc Networks (MANET)Mobile Ad Hoc Networks (MANET)

possibly highly mobile nodespossibly highly mobile nodespower constrainedpower constrained

– Wireless Ad Hoc Sensor/Device NetworksWireless Ad Hoc Sensor/Device Networksrelatively immobilerelatively immobileseverely power constrained nodesseverely power constrained nodeslarge scalelarge scale

– Wireless Ad Hoc Backbone NetworksWireless Ad Hoc Backbone Networksrapidly deployable wireless infrastructurerapidly deployable wireless infrastructurelargely immobile nodeslargely immobile nodes

Common attributes: Common attributes: – Ad hoc deployment, no infrastructureAd hoc deployment, no infrastructure– Routes between S-D nodes may contain multiple Routes between S-D nodes may contain multiple

hopshops

Page 9: Ad Hoc Networks

9IFA’2004

Multihop RoutingMultihop Routing

Traverse multiple links to reach a destinationTraverse multiple links to reach a destination

Page 10: Ad Hoc Networks

10IFA’2004

MANETMANET

Mobility causes route changesMobility causes route changes

Page 11: Ad Hoc Networks

11IFA’2004

VariationsVariations

Fully symmetric vs. asymmetries inFully symmetric vs. asymmetries in– Transmission rangesTransmission ranges– Battery lifeBattery life– Processing capabilityProcessing capability– Speed, patterns, and predictability of movementSpeed, patterns, and predictability of movement– Ability to act as multihop relayAbility to act as multihop relay– Ability to act as leaders of a cluster of nodesAbility to act as leaders of a cluster of nodes

Coexistence with an infrastructureCoexistence with an infrastructure Variations in traffic characteristicsVariations in traffic characteristics

– Bit rate, timelinessBit rate, timeliness– Unicast/multicast/geocastUnicast/multicast/geocast– Addressing (host, content, capability)Addressing (host, content, capability)

Page 12: Ad Hoc Networks

12IFA’2004

Unicast Routing in Unicast Routing in MANETMANET

Host mobilityHost mobility– link failure/repair due to mobility may have different link failure/repair due to mobility may have different

characteristics than those due to other causescharacteristics than those due to other causes Rate of link failure/repair may be high when nodes move fastRate of link failure/repair may be high when nodes move fast New performance criteria may be usedNew performance criteria may be used

– route stability despite mobilityroute stability despite mobility– energy consumptionenergy consumption

Many protocols have been proposedMany protocols have been proposed– Some have been invented specifically for MANETSome have been invented specifically for MANET– Others are adapted from older protocols for wired Others are adapted from older protocols for wired

networksnetworks No single protocol works well in all environmentsNo single protocol works well in all environments

– some attempts made to develop adaptive protocolssome attempts made to develop adaptive protocols

Page 13: Ad Hoc Networks

13IFA’2004

Types of ProtocolsTypes of Protocols

Proactive ProtocolsProactive Protocols– Determine routes independent of Determine routes independent of

traffic patterntraffic pattern– Traditional (link-state, distance-Traditional (link-state, distance-

vector) routing protocols are vector) routing protocols are proactiveproactive

Reactive ProtocolsReactive Protocols– Maintain routes only if neededMaintain routes only if needed

Hybrid ProtocolsHybrid Protocols

Page 14: Ad Hoc Networks

14IFA’2004

Traditional Routing Traditional Routing AlgorithmsAlgorithms

Distance VectorDistance Vector– periodic exchange of messages with all physical neighbors that periodic exchange of messages with all physical neighbors that

contain information about who can be reached at what distancecontain information about who can be reached at what distance– selection of the shortest path if several paths availableselection of the shortest path if several paths available

Link StateLink State– periodic notification of all routers about the current state of all periodic notification of all routers about the current state of all

physical links physical links – router gets a complete picture of the networkrouter gets a complete picture of the network

ExampleExample– ARPA packet radio network (1973), DV-RoutingARPA packet radio network (1973), DV-Routing– every 7.5s exchange of routing tables including link qualityevery 7.5s exchange of routing tables including link quality– updating of tables also by reception of packetsupdating of tables also by reception of packets– routing problems solved with limited floodingrouting problems solved with limited flooding

Page 15: Ad Hoc Networks

15IFA’2004

Problems of Traditional Problems of Traditional Routing AlgorithmsRouting Algorithms

Dynamic of the topologyDynamic of the topology– frequent changes of connections, connection quality, frequent changes of connections, connection quality,

participants participants

Limited performance of mobile systemsLimited performance of mobile systems– periodic updates of routing tables need energy without periodic updates of routing tables need energy without

contributing to the transmission of user data, sleep modes contributing to the transmission of user data, sleep modes difficult to realizedifficult to realize

– limited bandwidth of the system is reduced even more due to limited bandwidth of the system is reduced even more due to the exchange of routing informationthe exchange of routing information

– links can be asymmetric, i.e., they can have a direction links can be asymmetric, i.e., they can have a direction dependent transmission qualitydependent transmission quality

ProblemProblem– protocols have been designed for fixed networks with protocols have been designed for fixed networks with

infrequent changes and typically assume symmetric linksinfrequent changes and typically assume symmetric links

Page 16: Ad Hoc Networks

16IFA’2004

Routing Protocols for Ad Routing Protocols for Ad Hoc NetworksHoc Networks

Proactive Routing ProtocolsProactive Routing Protocols– DSDV (Destination Sequenced Distance Vector)DSDV (Destination Sequenced Distance Vector)– LSR (Link State Routing)LSR (Link State Routing)

Reactive Routing ProtocolsReactive Routing Protocols– DSR (Dynamic Source Routing)DSR (Dynamic Source Routing)– AODV (Ad-Hoc on-Demand Distance Vector) AODV (Ad-Hoc on-Demand Distance Vector)

Hybrid Routing ProtocolsHybrid Routing Protocols– ZRP (Zone Routing Protocol)ZRP (Zone Routing Protocol)– TORATORA– CEDAR (Core Extraction Distributed Ad-hoc CEDAR (Core Extraction Distributed Ad-hoc

Routing)Routing)

Page 17: Ad Hoc Networks

17IFA’2004

Proactive Routing Proactive Routing Protocols…Protocols…

Unsuitable for such a dynamic Unsuitable for such a dynamic networknetwork

For example, consider link-state For example, consider link-state routing that sends out network-wide routing that sends out network-wide floods for every link-state change …floods for every link-state change …

Even in the absence of any existing Even in the absence of any existing connections, considerable overhead connections, considerable overhead spent in maintaining “network state”spent in maintaining “network state”

Page 18: Ad Hoc Networks

18IFA’2004

Goals Goals

Low overhead route Low overhead route computationcomputation

Ability to recover from Ability to recover from frequent failures at low-costfrequent failures at low-cost

Scalable (with respect to Scalable (with respect to mobility and number of hosts)mobility and number of hosts)

RobustRobust

Page 19: Ad Hoc Networks

19IFA’2004

Reactive (On-Demand) Reactive (On-Demand) ProtocolsProtocols

Compute routes only when Compute routes only when neededneeded

Even if network state changes, Even if network state changes, any re-computation done only any re-computation done only when any existing connections when any existing connections are affectedare affected

Page 20: Ad Hoc Networks

20IFA’2004

Dynamic Source Dynamic Source Routing (DSR)Routing (DSR)

Based on source routingBased on source routing On-demandOn-demand Route computation performed on a per-Route computation performed on a per-

connection basisconnection basis Source, after route computation, Source, after route computation,

appends each packet with a source-routeappends each packet with a source-route Intermediate hosts forward packet based Intermediate hosts forward packet based

on source routeon source route TWO PHASES: ROUTE DISCOVERY &TWO PHASES: ROUTE DISCOVERY & ROUTE MAINTENANCEROUTE MAINTENANCE

Page 21: Ad Hoc Networks

21IFA’2004

Dynamic Source Routing Dynamic Source Routing (DSR) (DSR)

When node S wants to send a packet to node D, but does When node S wants to send a packet to node D, but does not know a route to D, node S initiates a not know a route to D, node S initiates a route discoveryroute discovery

Source node S floods (bradcasts) Source node S floods (bradcasts) Route Request (RREQ)Route Request (RREQ) packet.packet.

RREQ packet contains DESTINATION ADDRESS, SOURCE RREQ packet contains DESTINATION ADDRESS, SOURCE NODE ADDRESS and A UNIQUE IDENTIFICATION NUMBER.NODE ADDRESS and A UNIQUE IDENTIFICATION NUMBER.

Each node receiving the packet checks whether it knows Each node receiving the packet checks whether it knows of a route to destination. of a route to destination.

If it does not, it If it does not, it appends/adds its own identifierappends/adds its own identifier (address) (address) to the route record and forwards the RREQto the route record and forwards the RREQ

packet.packet.

Page 22: Ad Hoc Networks

22IFA’2004

Dynamic Source Routing Dynamic Source Routing (DSR) (DSR)

REMARK:REMARK:

To limit the number of route requests, a To limit the number of route requests, a node only forwards the RREQ packet if node only forwards the RREQ packet if the request has not yet been seen by the request has not yet been seen by the node and if the node’s address does the node and if the node’s address does not already appear in the route record.not already appear in the route record.

Page 23: Ad Hoc Networks

23IFA’2004

Dynamic Source Routing Dynamic Source Routing II

Split routing into discovering a path and Split routing into discovering a path and maintaining a pathmaintaining a path

Discover a pathDiscover a path– only if a path for sending packets to a certain only if a path for sending packets to a certain destination is needed and no path is currently destination is needed and no path is currently availableavailable

Maintaining a pathMaintaining a path– only while the path is in use one has to make sure only while the path is in use one has to make sure

that it can be used continuouslythat it can be used continuously No periodic updates needed!No periodic updates needed!

Page 24: Ad Hoc Networks

24IFA’2004

Dynamic Source Dynamic Source Routing IIRouting II

Path discoveryPath discovery– broadcast a packet with destination address and unique IDbroadcast a packet with destination address and unique ID– if a station receives a broadcast packetif a station receives a broadcast packet

if the station is the receiver (i.e., has the correct destination if the station is the receiver (i.e., has the correct destination address) then return the packet to the sender (path was address) then return the packet to the sender (path was collected in the packet)collected in the packet)

if the packet has already been received earlier (identified via if the packet has already been received earlier (identified via ID) then discard the packetID) then discard the packet

otherwise, append own address and broadcast packet otherwise, append own address and broadcast packet – sender receives packet with the current path (address list)sender receives packet with the current path (address list)

OptimizationsOptimizations– limit broadcasting if maximum diameter of the network is knownlimit broadcasting if maximum diameter of the network is known– caching of address lists (i.e. paths) with help of passing packetscaching of address lists (i.e. paths) with help of passing packets

stations can use the cached information for path discovery stations can use the cached information for path discovery (own paths or paths for other hosts) (own paths or paths for other hosts)

Page 25: Ad Hoc Networks

25IFA’2004

Dynamic Source Routing Dynamic Source Routing IIIIII

Maintaining pathsMaintaining paths– after sending a packetafter sending a packet

wait for a layer 2 acknowledgement (if wait for a layer 2 acknowledgement (if applicable)applicable)

listen into the medium to detect if other listen into the medium to detect if other stations forward the packet (if possible)stations forward the packet (if possible)

request an explicit acknowledgementrequest an explicit acknowledgement

– if a station encounters problems it if a station encounters problems it can inform the sender of a packet can inform the sender of a packet or look-up a new path locallyor look-up a new path locally

Page 26: Ad Hoc Networks

26IFA’2004

Route Discovery in Route Discovery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

Z

Y

Represents a node that has received RREQ for D from S

M

N

L

Page 27: Ad Hoc Networks

27IFA’2004

Route Discovery in Route Discovery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

Represents transmission of RREQ

Z

YBroadcast transmission

M

N

L

[S]

[X,Y] Represents list of identifiers appended to RREQ

Page 28: Ad Hoc Networks

28IFA’2004

Route Discovery in Route Discovery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

• Node H receives packet RREQ from two neighbors: potential for collision

Z

Y

M

N

L

[S,E]

[S,C]

Page 29: Ad Hoc Networks

29IFA’2004

Route Discovery in Route Discovery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

• Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once

Z

Y

M

N

L

[S,C,G]

[S,E,F]

Page 30: Ad Hoc Networks

30IFA’2004

Route Discovery in Route Discovery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

• Nodes J and K both broadcast RREQ to node D• Since nodes J and K are hidden from each other, their transmissions may collide

N

L

[S,C,G,K]

[S,E,F,J]

Page 31: Ad Hoc Networks

31IFA’2004

Route Discovery in Route Discovery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

Z

Y

• Node D does not forward RREQ, because node D is the intended target of the route discovery

M

N

L

[S,E,F,J,M]

Page 32: Ad Hoc Networks

32IFA’2004

Route Discovery in DSRRoute Discovery in DSR

Destination D on receiving the first Destination D on receiving the first RREQ, sends a RREQ, sends a Route Reply (RREP)Route Reply (RREP)

RREP is sent on a route obtained by RREP is sent on a route obtained by reversingreversing the route appended to the route appended to received RREQreceived RREQ

RREP RREP includes the routeincludes the route from S to D on from S to D on which RREQ was received by node Dwhich RREQ was received by node D

Page 33: Ad Hoc Networks

33IFA’2004

Route Reply in DSRRoute Reply in DSR

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

RREP [S,E,F,J,D]

Represents RREP control message

Page 34: Ad Hoc Networks

34IFA’2004

Route Reply in DSRRoute Reply in DSR

Route Reply can be sent by reversing the route in Route Reply can be sent by reversing the route in Route Request (RREQ) only if links are guaranteed to Route Request (RREQ) only if links are guaranteed to be bi-directional (SYMMETRICAL)be bi-directional (SYMMETRICAL)– To ensure this, RREQ should be forwarded only if To ensure this, RREQ should be forwarded only if

it received on a link that is known to be bi-it received on a link that is known to be bi-directionaldirectional

If unidirectional (asymmetric) links are allowed, then If unidirectional (asymmetric) links are allowed, then RREP may need a route discovery for S from node D RREP may need a route discovery for S from node D – Unless node D already knows a route to node SUnless node D already knows a route to node S– If a route discovery is initiated by D for a route to If a route discovery is initiated by D for a route to

S, then the Route Reply is piggybacked on the S, then the Route Reply is piggybacked on the Route Request from D.Route Request from D.

If IEEE 802.11 MAC is used to send data, then links If IEEE 802.11 MAC is used to send data, then links have to be bi-directional (since ACK is used)have to be bi-directional (since ACK is used)

Page 35: Ad Hoc Networks

35IFA’2004

Dynamic Source Routing Dynamic Source Routing (DSR)(DSR)

Node S on receiving RREP, caches the route Node S on receiving RREP, caches the route included in the RREPincluded in the RREP

When node S sends a data packet to D, the When node S sends a data packet to D, the entire route is included in the packet headerentire route is included in the packet header– hence the name hence the name source routingsource routing

Intermediate nodes use the Intermediate nodes use the source routesource route included in a packet to determine to whom a included in a packet to determine to whom a packet should be forwardedpacket should be forwarded

Page 36: Ad Hoc Networks

36IFA’2004

Data Delivery in Data Delivery in DSRDSR

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

DATA [S,E,F,J,D]

Packet header size grows with route length

Page 37: Ad Hoc Networks

37IFA’2004

DSR Optimization: DSR Optimization: Route Route CachingCaching

Each node caches a new route it learns by Each node caches a new route it learns by any any meansmeans

When node S finds When node S finds route [S,E,F,J,D]route [S,E,F,J,D] to node D, to node D, node S also learns route [S,E,F] to node Fnode S also learns route [S,E,F] to node F

When node K receives When node K receives Route Request [S,C,G] Route Request [S,C,G] destined for node, node K learns route [K,G,C,S] to destined for node, node K learns route [K,G,C,S] to node Snode S

When node F forwards When node F forwards Route Reply RREPRoute Reply RREP [S,E,F,J,D],[S,E,F,J,D], node F learns route [F,J,D] to node D node F learns route [F,J,D] to node D

When node E forwards When node E forwards Data [S,E,F,J,D]Data [S,E,F,J,D] it learns it learns route [E,F,J,D] to node Droute [E,F,J,D] to node D

A node may also learn a route when it overhears A node may also learn a route when it overhears Data packetsData packets

Page 38: Ad Hoc Networks

38IFA’2004

Use of Route CachingUse of Route Caching

When node S learns that a route to node D is When node S learns that a route to node D is broken, it uses another route from its local broken, it uses another route from its local cache, if such a route to D exists in its cache. cache, if such a route to D exists in its cache.

Otherwise, node S initiates route discovery by Otherwise, node S initiates route discovery by sending a route requestsending a route request

Node X on receiving a Route Request for Node X on receiving a Route Request for some node D can send a Route Reply if node some node D can send a Route Reply if node X knows a route to node DX knows a route to node D

Use of route cache Use of route cache – can speed up route discoverycan speed up route discovery– can reduce propagation of route requestscan reduce propagation of route requests

Page 39: Ad Hoc Networks

39IFA’2004

Use of Route Use of Route CachingCaching

B

A

S E

F

H

J

D

C

G

IK

[P,Q,R] Represents cached route at a node (DSR maintains the cached routes in a tree format)

M

N

L

[S,E,F,J,D][E,F,J,D]

[C,S]

[G,C,S]

[F,J,D],[F,E,S]

[J,F,E,S]

Z

Page 40: Ad Hoc Networks

40IFA’2004

Use of Route Use of Route Caching:Caching:Can Speed up Route Can Speed up Route DiscoveryDiscovery

B

A

S E

F

H

J

D

C

G

IK

Z

M

N

L

[S,E,F,J,D][E,F,J,D]

[C,S]

[G,C,S]

[F,J,D],[F,E,S]

[J,F,E,S]

RREQWhen node Z sends a route requestfor node C, node K sends back a routereply [Z,K,G,C] to node Z using a locallycached route

[K,G,C,S]RREP

Page 41: Ad Hoc Networks

41IFA’2004

Use of Route Caching:Use of Route Caching:Can Reduce Propagation of Route RequestsCan Reduce Propagation of Route Requests

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

[S,E,F,J,D][E,F,J,D]

[C,S]

[G,C,S]

[F,J,D],[F,E,S]

[J,F,E,S]

RREQ

Route Reply (RREP) from node K limits flooding of RREQ.In general, the reduction may be less dramatic.

[K,G,C,S]RREP

Page 42: Ad Hoc Networks

42IFA’2004

Route Error (RERR)Route Error (RERR)

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

RERR [J-D]

J sends a route error to S along route J-F-E-S when its attempt to forward the data packet S (with route SEFJD) on J-D fails

Nodes hearing RERR update their route cache to remove link J-D

Page 43: Ad Hoc Networks

43IFA’2004

Route Caching: Route Caching: Beware!Beware!

Stale (obsolete) caches can adversely Stale (obsolete) caches can adversely affect performanceaffect performance

With passage of time and host mobility, With passage of time and host mobility, cached routes may become invalidcached routes may become invalid

A sender host may try several stale A sender host may try several stale routes (obtained from local cache, or routes (obtained from local cache, or replied from cache by other nodes), replied from cache by other nodes), before finding a good routebefore finding a good route

Page 44: Ad Hoc Networks

44IFA’2004

Dynamic Source Dynamic Source Routing: AdvantagesRouting: Advantages

Routes maintained only between nodes who Routes maintained only between nodes who need to communicateneed to communicate– reduces overhead of route maintenancereduces overhead of route maintenance

Route caching can further reduce route Route caching can further reduce route discovery overheaddiscovery overhead

A single route discovery may yield many A single route discovery may yield many routes to the destination, due to intermediate routes to the destination, due to intermediate nodes replying from local cachesnodes replying from local caches

Page 45: Ad Hoc Networks

45IFA’2004

Dynamic Source Routing: Dynamic Source Routing: DisadvantagesDisadvantages

Packet header size grows with route length Packet header size grows with route length Flood of route requests may potentially reach all nodesFlood of route requests may potentially reach all nodes Care must be taken to avoid collisions between route Care must be taken to avoid collisions between route

requests propagated by neighboring nodesrequests propagated by neighboring nodes– insertion of random delays before forwarding RREQinsertion of random delays before forwarding RREQ

Increased contention if too many route replies come back Increased contention if too many route replies come back due to nodes replying using their local cachedue to nodes replying using their local cache– Route Reply Route Reply StormStorm problem problem– Reply Storm may be eased by preventing a node from Reply Storm may be eased by preventing a node from

sending RREP if it hears another RREP with a shorter sending RREP if it hears another RREP with a shorter routeroute

An intermediate node may send Route Reply using a stale An intermediate node may send Route Reply using a stale cached route, thus polluting other cachescached route, thus polluting other caches

This problem can be eased if some mechanism to purge This problem can be eased if some mechanism to purge (potentially) invalid cached routes is incorporated. (potentially) invalid cached routes is incorporated.

Page 46: Ad Hoc Networks

46IFA’2004

Ad Hoc On-Demand Distance Ad Hoc On-Demand Distance Vector Routing (AODV)Vector Routing (AODV)

DSR includes source routes in packet headersDSR includes source routes in packet headers Resulting large headers can sometimes Resulting large headers can sometimes

degrade performancedegrade performance– particularly when data contents of a particularly when data contents of a

packet are smallpacket are small AODV attempts to improve on DSR by AODV attempts to improve on DSR by

maintaining routing tables at the nodes, so maintaining routing tables at the nodes, so that data packets do not have to contain that data packets do not have to contain routesroutes

AODV retains the desirable feature of DSR AODV retains the desirable feature of DSR that routes are maintained only between that routes are maintained only between nodes which need to communicatenodes which need to communicate

Page 47: Ad Hoc Networks

47IFA’2004

AODVAODV

Route Requests (RREQ) are forwarded in a Route Requests (RREQ) are forwarded in a manner similar to DSRmanner similar to DSR

When a node re-broadcasts a Route When a node re-broadcasts a Route Request, it sets up a reverse path pointing Request, it sets up a reverse path pointing towards the sourcetowards the source– AODV assumes symmetric (bi-directional) AODV assumes symmetric (bi-directional)

linkslinks When the intended destination receives a When the intended destination receives a

Route Request, it replies by sending a Route Request, it replies by sending a Route ReplyRoute Reply

Route Reply travels along the reverse path Route Reply travels along the reverse path set-up when Route Request is forwardedset-up when Route Request is forwarded

Page 48: Ad Hoc Networks

48IFA’2004

AODVAODVAd Hoc On-demand Distance Ad Hoc On-demand Distance Vector RoutingVector Routing

– Hop-by-hop routing as opposed to source routing Hop-by-hop routing as opposed to source routing – On-demandOn-demand– When a source node wants to send a message to When a source node wants to send a message to

some destination node and does not already have some destination node and does not already have a valid route to that destination, it initiates a a valid route to that destination, it initiates a path path discoverydiscovery processprocess to locate the destination (as in to locate the destination (as in DSR case)DSR case)

– It broadcasts the RREQ packet to its neighborsIt broadcasts the RREQ packet to its neighbors– They then send it to their neighbors until the They then send it to their neighbors until the

destination or a node with “fresh enough cash destination or a node with “fresh enough cash information” to the destination is located.information” to the destination is located.

Page 49: Ad Hoc Networks

49IFA’2004

AODVAODVAd Hoc On-demand Distance Ad Hoc On-demand Distance Vector RoutingVector Routing

– When RREQ propagates, routing tables When RREQ propagates, routing tables are updated at intermediate nodes (for are updated at intermediate nodes (for route to source of RREQ)route to source of RREQ)

– When RREP is sent by destination, When RREP is sent by destination, routing tables updated at intermediate routing tables updated at intermediate nodes (for route to destination), and nodes (for route to destination), and propagated back to sourcepropagated back to source

Page 50: Ad Hoc Networks

50IFA’2004

AODVAODVAd Hoc On-demand Distance Ad Hoc On-demand Distance Vector RoutingVector Routing

– Each node maintains its own sequence number and Each node maintains its own sequence number and a broadcast ID.a broadcast ID.

– The broadcast ID is incremented for every RREQ the The broadcast ID is incremented for every RREQ the node initiates and together with the node’s IP node initiates and together with the node’s IP address, uniquely identifies an RREQ.address, uniquely identifies an RREQ.

– Along with its own sequence number and broadcast Along with its own sequence number and broadcast ID, the source node includes in the RREQ the most ID, the source node includes in the RREQ the most recent sequence number it has for the destination.recent sequence number it has for the destination.

– Intermediate nodes can reply to the RREQ only if Intermediate nodes can reply to the RREQ only if they have a route to the destination whose they have a route to the destination whose corresponding destination sequence number is corresponding destination sequence number is greater than or equal to that contained in the greater than or equal to that contained in the RREQ.RREQ.

Page 51: Ad Hoc Networks

51IFA’2004

AODVAODVAd Hoc On-demand Distance Ad Hoc On-demand Distance Vector RoutingVector Routing

– During the process of forwarding the RREQ, During the process of forwarding the RREQ, intermediate nodes recording their route intermediate nodes recording their route tables the address of the neighbor from tables the address of the neighbor from which the first copy of the broadcast packet which the first copy of the broadcast packet is receivedis received establishing a reverse path. establishing a reverse path.

– If more same RREQs are received later, they If more same RREQs are received later, they are discarded.are discarded.

– RREP packet is sent back to the neighbors RREP packet is sent back to the neighbors and the routing tables are accordingly and the routing tables are accordingly updated.updated.

Page 52: Ad Hoc Networks

52IFA’2004

Route Requests in AODVRoute Requests in AODV

B

A

S E

F

H

J

D

C

G

IK

Z

Y

Represents a node that has received RREQ for D from S

M

N

L

Page 53: Ad Hoc Networks

53IFA’2004

Route Requests in AODVRoute Requests in AODV

B

A

S E

F

H

J

D

C

G

IK

Represents transmission of RREQ

Z

YBroadcast transmission

M

N

L

Page 54: Ad Hoc Networks

54IFA’2004

Route Requests in AODVRoute Requests in AODV

B

A

S E

F

H

J

D

C

G

IK

Represents links on Reverse Path

Z

Y

M

N

L

Page 55: Ad Hoc Networks

55IFA’2004

Reverse Path Setup in Reverse Path Setup in AODVAODV

B

A

S E

F

H

J

D

C

G

IK

• Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once

Z

Y

M

N

L

Page 56: Ad Hoc Networks

56IFA’2004

Reverse Path Setup in AODVReverse Path Setup in AODV

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

Page 57: Ad Hoc Networks

57IFA’2004

Reverse Path Setup in Reverse Path Setup in AODVAODV

B

A

S E

F

H

J

D

C

G

IK

Z

Y

• Node D does not forward RREQ, because node D is the intended target of the RREQ

M

N

L

Page 58: Ad Hoc Networks

58IFA’2004

Route Reply in AODVRoute Reply in AODV

B

A

S E

F

H

J

D

C

G

IK

Z

Y

Represents links on path taken by RREP

M

N

L

Page 59: Ad Hoc Networks

59IFA’2004

Route Reply in Route Reply in AODVAODV

An An intermediate nodeintermediate node (not the destination) may also (not the destination) may also send a send a Route Reply (RREP)Route Reply (RREP) provided that it knows a provided that it knows a more recent pathmore recent path than the one previously known to than the one previously known to sender Ssender S

To determine whether the path known to an To determine whether the path known to an intermediate node is more recent, intermediate node is more recent, destination destination sequence numberssequence numbers are used are used

The likelihood that an intermediate node will send a The likelihood that an intermediate node will send a Route Reply when using AODV not as high as DSRRoute Reply when using AODV not as high as DSR– A new Route Request by node S for a destination A new Route Request by node S for a destination

is assigned a higher destination sequence is assigned a higher destination sequence number. An intermediate node which knows a number. An intermediate node which knows a route, but with a smaller sequence number, route, but with a smaller sequence number, cannot sendcannot send Route Reply Route Reply

Page 60: Ad Hoc Networks

60IFA’2004

Forward Path Setup in Forward Path Setup in AODVAODV

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

Forward links are setup when RREP travels alongthe reverse path

Represents a link on the forward path

Page 61: Ad Hoc Networks

61IFA’2004

Data Delivery in Data Delivery in AODVAODV

B

A

S E

F

H

J

D

C

G

IK

Z

Y

M

N

L

Routing table entries used to forward data packet.NOTE: Route is not included in packet header as in DSR.

DATA

Page 62: Ad Hoc Networks

62IFA’2004

TimeoutsTimeouts

A routing table entry maintaining a A routing table entry maintaining a reverse pathreverse path is purged after a timeout intervalis purged after a timeout interval– timeout should be long enough to allow RREP timeout should be long enough to allow RREP

to come backto come back

A routing table entry maintaining a A routing table entry maintaining a forward pathforward path is purged if is purged if not usednot used for a for a active_route_timeoutactive_route_timeout intervalinterval– if no data is being sent using a particular if no data is being sent using a particular

routing table entry, that entry will be deleted routing table entry, that entry will be deleted from the routing table (even if the route may from the routing table (even if the route may actually still be valid)actually still be valid)

Page 63: Ad Hoc Networks

63IFA’2004

Link Failure ReportingLink Failure Reporting

A neighbor of node X is considered A neighbor of node X is considered activeactive for for a routing table entry if the neighbor sent a a routing table entry if the neighbor sent a packet within packet within active_route_timeoutactive_route_timeout interval interval which was forwarded using that entrywhich was forwarded using that entry

When the next hop link in a routing table When the next hop link in a routing table entry breaks, all entry breaks, all activeactive neighbors are neighbors are informedinformed

Link failures are propagated by means of Link failures are propagated by means of Route Error messages, which also update Route Error messages, which also update destination sequence numbersdestination sequence numbers

Page 64: Ad Hoc Networks

64IFA’2004

Route ErrorRoute Error

When node X is unable to forward packet P (from node When node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR messageS to node D) on link (X,Y), it generates a RERR message

Node X increments the destination sequence number for Node X increments the destination sequence number for D cached at node XD cached at node X

The incremented sequence number The incremented sequence number NN is included in the is included in the RERRRERR

When node S receives the RERR, it initiates a new route When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at discovery for D using destination sequence number at least as large as least as large as NN

When node D receives the route request with When node D receives the route request with destination sequence number N, node D will set its destination sequence number N, node D will set its sequence number to N, unless it is already larger than Nsequence number to N, unless it is already larger than N

Page 65: Ad Hoc Networks

65IFA’2004

Link Failure Link Failure DetectionDetection

HelloHello messages: Neighboring messages: Neighboring nodes periodically exchange nodes periodically exchange hello messagehello message

Absence of hello message is used Absence of hello message is used as an indication of link failureas an indication of link failure

Alternatively, failure to receive Alternatively, failure to receive several MAC-level several MAC-level acknowledgement may be used acknowledgement may be used as an indication of link failureas an indication of link failure

Page 66: Ad Hoc Networks

66IFA’2004

Why Sequence Numbers in Why Sequence Numbers in AODVAODV

To avoid using old/broken routesTo avoid using old/broken routes– To determine which route is newerTo determine which route is newer

To prevent formation of loopsTo prevent formation of loops

– Assume that A does not know about failure of link Assume that A does not know about failure of link C-D because RERR sent by C is lostC-D because RERR sent by C is lost

– Now C performs a route discovery for D. Node A Now C performs a route discovery for D. Node A receives the RREQ (say, via path C-E-A)receives the RREQ (say, via path C-E-A)

– Node A will reply since A knows a route to D via Node A will reply since A knows a route to D via node Bnode B

– Results in a loop (for instance, C-E-A-B-C )Results in a loop (for instance, C-E-A-B-C )

A B C D

E

Page 67: Ad Hoc Networks

67IFA’2004

Optimization: Expanding Ring Optimization: Expanding Ring SearchSearch

Route Requests are initially sent Route Requests are initially sent with small Time-to-Live (TTL) field, with small Time-to-Live (TTL) field, to limit their propagationto limit their propagation– DSR also includes a similar DSR also includes a similar

optimizationoptimization

If no Route Reply is received, then If no Route Reply is received, then larger TTL triedlarger TTL tried

Page 68: Ad Hoc Networks

68IFA’2004

Summary: AODVSummary: AODV

Routes need not be included in packet headersRoutes need not be included in packet headers

Nodes maintain routing tables containing entries Nodes maintain routing tables containing entries only for routes that are in active useonly for routes that are in active use

At most one next-hop per destination maintained At most one next-hop per destination maintained at each nodeat each node– DSR may maintain several routes for a single DSR may maintain several routes for a single

destinationdestination

Unused routes expire even if topology does not Unused routes expire even if topology does not changechange

Page 69: Ad Hoc Networks

69IFA’2004

Proactive ProtocolsProactive Protocols

Most of the schemes discussed Most of the schemes discussed so far are reactiveso far are reactive

Proactive schemes based on Proactive schemes based on distance-vector and link-state distance-vector and link-state mechanisms have also been mechanisms have also been proposedproposed

Page 70: Ad Hoc Networks

70IFA’2004

Link State Routing Link State Routing

Each node periodically floods status of its Each node periodically floods status of its linkslinks

Each node re-broadcasts link state Each node re-broadcasts link state information received from its neighborinformation received from its neighbor

Each node keeps track of link state Each node keeps track of link state information received from other nodesinformation received from other nodes

Each node uses above information to Each node uses above information to determine next hop to each destinationdetermine next hop to each destination

Page 71: Ad Hoc Networks

71IFA’2004

Destination-Sequenced Destination-Sequenced Distance-Vector (DSDV)Distance-Vector (DSDV)

Each node maintains a routing table which storesEach node maintains a routing table which stores– next hop towards each destinationnext hop towards each destination– a cost metric for the path to each destinationa cost metric for the path to each destination– a destination sequence number that is created a destination sequence number that is created

by the destination itselfby the destination itself– Sequence numbers used to avoid formation of Sequence numbers used to avoid formation of

loopsloops Each node periodically forwards the routing table Each node periodically forwards the routing table

to its neighborsto its neighbors– Each node increments and appends its sequence Each node increments and appends its sequence

number when sending its local routing tablenumber when sending its local routing table– This sequence number will be attached to route This sequence number will be attached to route

entries created for this nodeentries created for this node

Page 72: Ad Hoc Networks

72IFA’2004

Destination-Sequenced Destination-Sequenced Distance-Vector (DSDV)Distance-Vector (DSDV)

Assume that node X receives routing Assume that node X receives routing information from Y about a route to information from Y about a route to node Znode Z

Let S(X) and S(Y) denote the Let S(X) and S(Y) denote the destination sequence number for node destination sequence number for node Z as stored at node X, and as sent by Z as stored at node X, and as sent by node Y with its routing table to node X, node Y with its routing table to node X, respectivelyrespectively

X Y Z

Page 73: Ad Hoc Networks

73IFA’2004

Destination-Sequenced Destination-Sequenced Distance-Vector (DSDV)Distance-Vector (DSDV)

Node X takes the following steps:Node X takes the following steps:

– If S(X) > S(Y), then X ignores the routing information If S(X) > S(Y), then X ignores the routing information received from Y received from Y

– If S(X) = S(Y), and cost of going through Y is smaller If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next than the route known to X, then X sets Y as the next hop to Zhop to Z

– If S(X) < S(Y), then X sets Y as the next hop to Z, and If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y)S(X) is updated to equal S(Y)

X Y Z

Page 74: Ad Hoc Networks

74IFA’2004

ComparisonComparison

Low maintenance overheadLow update overheadHigh access overheadDynamic networks

Local

Low maintenance overheadLow access overheadHigh update overheadStatic networks

Link state

Page 75: Ad Hoc Networks

75IFA’2004

Hybrid Protocols: Hybrid Protocols: Zone Routing Protocol Zone Routing Protocol (ZRP) (ZRP)

Zone routing protocol combinesZone routing protocol combines– Proactive protocol: which pro-actively updates Proactive protocol: which pro-actively updates

network state and maintains route regardless network state and maintains route regardless of whether any data traffic exists or notof whether any data traffic exists or not

– Reactive protocol: which only determines route Reactive protocol: which only determines route to a destination if there is some data to be to a destination if there is some data to be sent to the destinationsent to the destination

All nodes within hop distance at most All nodes within hop distance at most d d from a from a node X are said to be in the node X are said to be in the routing zonerouting zone of node of node XX

All nodes at hop distance exactly All nodes at hop distance exactly dd are said to be are said to be peripheralperipheral nodes of node X’s routing zone nodes of node X’s routing zone

Page 76: Ad Hoc Networks

76IFA’2004

ZRPZRP

Intra-zone routingIntra-zone routing: Pro-actively maintain state : Pro-actively maintain state information for links within a short distance from information for links within a short distance from any given nodeany given node– Routes to nodes within short distance are thus Routes to nodes within short distance are thus

maintained proactively (using, say, link state or maintained proactively (using, say, link state or distance vector protocol)distance vector protocol)

Inter-zone routingInter-zone routing: Use a route discovery protocol : Use a route discovery protocol for determining routes too far away nodes. Route for determining routes too far away nodes. Route discovery is similar to DSR with the exception that discovery is similar to DSR with the exception that route requests are propagated via peripheral route requests are propagated via peripheral nodes.nodes.

Page 77: Ad Hoc Networks

77IFA’2004

Temporally-Ordered Temporally-Ordered Routing Algorithm (TORA)Routing Algorithm (TORA)

On demand routing.On demand routing. Designed for a dynamic environment.Designed for a dynamic environment. Each node keeps routing information about Each node keeps routing information about

adjacent nodes.adjacent nodes. A DAG (Directed Acyclic Graph) describes A DAG (Directed Acyclic Graph) describes

all discovered paths to a node.all discovered paths to a node.– When one link fails, its neighbors reverse When one link fails, its neighbors reverse

direction in the DAG, and utilize another direction in the DAG, and utilize another path.path.

– Timing of failures is important, so TORA Timing of failures is important, so TORA requires synchronized clocks (i.e. GPS)requires synchronized clocks (i.e. GPS)

Page 78: Ad Hoc Networks

78IFA’2004

Temporally-Ordered Temporally-Ordered Routing Algorithm (TORA)Routing Algorithm (TORA)

Water flowing downhill toward to a destination Water flowing downhill toward to a destination node through a network of tubes/pipes that node through a network of tubes/pipes that models the routing state of the real network.models the routing state of the real network.

Tubes/pipes represent links between nodes in Tubes/pipes represent links between nodes in the network, junctions of tubes represent the the network, junctions of tubes represent the nodes, and the water in the tubes represents nodes, and the water in the tubes represents the packets flowing toward the destination.the packets flowing toward the destination.

Each node has a height with respect to the Each node has a height with respect to the destination that is computed by the routing destination that is computed by the routing protocolprotocol..

Page 79: Ad Hoc Networks

79IFA’2004

Temporally-Ordered Temporally-Ordered Routing Algorithm (TORA)Routing Algorithm (TORA)

If a tube between nodes A and B If a tube between nodes A and B becomes blocked such that water becomes blocked such that water can no longer flow through it, the can no longer flow through it, the height of A is set to a height height of A is set to a height greater than that of any of is greater than that of any of is remaining neighbors, such that remaining neighbors, such that water fill now flow back out of A water fill now flow back out of A (and toward the other nodes that (and toward the other nodes that had been routing packet to the had been routing packet to the destination via A). destination via A).

Page 80: Ad Hoc Networks

80IFA’2004

Temporally-Ordered Temporally-Ordered Routing Algorithm (TORA)Routing Algorithm (TORA)

TORA performs 3 basic functions:TORA performs 3 basic functions:

ROUTE CREATIONROUTE CREATION ROUTE MAINTENANCEROUTE MAINTENANCE ROUTE ERASUREROUTE ERASURE

Page 81: Ad Hoc Networks

81IFA’2004

TORA– ROUTE CREATION & TORA– ROUTE CREATION & MAINTENANCE MAINTENANCE

For each node in the network a separate directed acyclic graph For each node in the network a separate directed acyclic graph (DAG) is maintained for each destination.(DAG) is maintained for each destination.

When a node needs a route to a destination, it broadcasts a When a node needs a route to a destination, it broadcasts a QUERY packet containing the destination address.QUERY packet containing the destination address.

This packet travels through the network until it reaches either This packet travels through the network until it reaches either the destination or an intermediate node which already has a path the destination or an intermediate node which already has a path to that destination.to that destination.

The recipient of the QUERY packet then broadcasts an UPDATE The recipient of the QUERY packet then broadcasts an UPDATE packet listing its height with respect to the destination.packet listing its height with respect to the destination.

Each node receiving this UPDATE packet sets is height to a value Each node receiving this UPDATE packet sets is height to a value greater than the height of the neighbor from which the UPDATE greater than the height of the neighbor from which the UPDATE packet has been received.packet has been received.

When a node detects a network partition, it generates a CLEAR When a node detects a network partition, it generates a CLEAR packet that resets routing state and removes invalid routes from packet that resets routing state and removes invalid routes from the network.the network.

Page 82: Ad Hoc Networks

82IFA’2004

TORA– ROUTE CREATION & TORA– ROUTE CREATION & MAINTENANCE MAINTENANCE

During the route creation and maintenance During the route creation and maintenance phases, nodes use the “height” metric to establish phases, nodes use the “height” metric to establish a DAG rooted at the destination.a DAG rooted at the destination.

Links are assigned a direction (upstream or Links are assigned a direction (upstream or downstream) based on the relative height metric downstream) based on the relative height metric of neighboring nodes.of neighboring nodes.

(See Figure)(See Figure)

Page 83: Ad Hoc Networks

83IFA’2004

TORA– ROUTE CREATION & TORA– ROUTE CREATION & MAINTENANCE MAINTENANCE

For For node mobilitynode mobility when the DAG route is broken, when the DAG route is broken, and route maintenance is necessary to re-establish and route maintenance is necessary to re-establish a DAG rooted at the same destination.a DAG rooted at the same destination.

See FigureSee Figure upon failure of the last downstream upon failure of the last downstream link, a node generates a new reference level.link, a node generates a new reference level.

Links are reversed to reflect the change.Links are reversed to reflect the change.

Page 84: Ad Hoc Networks

84IFA’2004

TORATORA

Destination

Page 85: Ad Hoc Networks

85IFA’2004

TORATORA

Failure

Page 86: Ad Hoc Networks

86IFA’2004

TORATORA

Reversal

Page 87: Ad Hoc Networks

87IFA’2004

TORATORA

ReversalReversal

Page 88: Ad Hoc Networks

88IFA’2004

TORATORA

Reversal

Page 89: Ad Hoc Networks

89IFA’2004

TORATORA

TORA is partially proactive and partially TORA is partially proactive and partially reactivereactive

Reactive Reactive route creation is initiated on route creation is initiated on demand.demand.

Proactive Proactive Route maintenance is done Route maintenance is done proactively such that multiple routing proactively such that multiple routing options are available in case of link failures.options are available in case of link failures.

Page 90: Ad Hoc Networks

90IFA’2004

So far ...So far ...

All nodes had identical responsibilitiesAll nodes had identical responsibilities

Some schemes propose giving special Some schemes propose giving special responsibilities to a subset of nodesresponsibilities to a subset of nodes– Even if all nodes are physically identicalEven if all nodes are physically identical

Core-basedCore-based schemes are examples of schemes are examples of such schemessuch schemes

Page 91: Ad Hoc Networks

91IFA’2004

Core-Extraction Distributed Core-Extraction Distributed Ad Hoc Routing (CEDAR) Ad Hoc Routing (CEDAR)

A subset of nodes in the network is identified as the A subset of nodes in the network is identified as the corecore

Each node in the network must be adjacent to at least Each node in the network must be adjacent to at least one node in the coreone node in the core– Each node picks one core node as its Each node picks one core node as its dominator dominator (or (or

leader)leader) Core is determined by periodic message exchanges Core is determined by periodic message exchanges

between each node and its neighborsbetween each node and its neighbors– attempt made to keep the number of nodes in the attempt made to keep the number of nodes in the

core smallcore small Each core node determines paths to nearby core Each core node determines paths to nearby core

nodes by means of a localized broadcastnodes by means of a localized broadcast– Each core node guaranteed to have a core node at Each core node guaranteed to have a core node at

<=3 hops<=3 hops

Page 92: Ad Hoc Networks

92IFA’2004

CEDAR: Core NodesCEDAR: Core Nodes

B

A

C E

JS K

D

F

H

G

A core node

Node E is the dominator for nodes D, F and K

Page 93: Ad Hoc Networks

93IFA’2004

CEDARCEDAR

AdvantagesAdvantages– Route discovery/maintenance duties Route discovery/maintenance duties

limited to a small number of core limited to a small number of core nodesnodes

– Link state propagation a function of Link state propagation a function of link stability/qualitylink stability/quality

DisadvantagesDisadvantages– Core nodes have to handle additional Core nodes have to handle additional

traffic, associated with route discovery traffic, associated with route discovery and maintenanceand maintenance

Page 94: Ad Hoc Networks

94IFA’2004

SUMMARY:SUMMARY:Characteristics of DSDVCharacteristics of DSDV

2Number of Required Tables

FlatRouting Philosophy

O(x=N)Communication Complexity

O(d)Time ComplexityLink Addition/Failure

DSDVParameters

N = # of Nodes in Network

d = Network diameter

h = Height of Routing Tree

x = # of affected Nodes

Page 95: Ad Hoc Networks

95IFA’2004

SUMMARY:SUMMARY:Characteristics of On-Characteristics of On-Demand Routing ProtocolsDemand Routing Protocols

O(2d)

O(2d)

TORA

O(2d)or O(1)

O(2d)Time ComplexityPost Failure

O(2d)O(2d)Time ComplexityInitialization

DSRAODVParameters

N = # of Nodes in Network

d = Network diameter

x = # of affected Nodes

l = Diameter of affected segment

y = nods forming path for Reply packet

z = Diameter of path for Reply packet

Page 96: Ad Hoc Networks

96IFA’2004

SUMMARYSUMMARYCharacteristics of On-Characteristics of On-Demand Routing ProtocolsDemand Routing Protocols

O(2x)

O(2N)

TORA

O(2N)O(2N)Comm. ComplexityPost Failure

O(2N)O(2N)Comm. ComplexityInitialization

DSRAODVParameters

N = # of Nodes in Network

d = Network diameter

x = # of affected Nodes

l = Diameter of affected segment

y = nodes forming path for Reply packet

z = Diameter of path for Reply packet

Page 97: Ad Hoc Networks

97IFA’2004

SUMMARYSUMMARYCharacteristics of On-Characteristics of On-Demand Routing ProtocolsDemand Routing Protocols

YesLink Reversal; Route Repair

YesYesReconfiguration:Erase Route, Notify Source

YesYesMultiple Route Possibilities

Beaconing Requirements

YesExpiration Timers

Optional

TORA

Localized Broadcast Query

YesMulticast Capability

DSRAODVParameters

Page 98: Ad Hoc Networks

98IFA’2004

SUMMARYSUMMARYCharacteristics of On-Characteristics of On-Demand Routing ProtocolsDemand Routing Protocols

Routing Metric: Stablility

YesRouting Metric: Freshness

Routing Metric: Associativity

YesYesYesRouting Metric: Shortest Path

TORA

Routing Metric: Load and Delay

DSRAODVParameters

Page 99: Ad Hoc Networks

99IFA’2004

Implementation Implementation IssuesIssues

Several implementations apparently exist (see IETF)Several implementations apparently exist (see IETF)– only a few available publiclyonly a few available publicly

Where to implement ad hoc routing?Where to implement ad hoc routing?– Link layer, Network layer, Application layerLink layer, Network layer, Application layer

Address assignmentAddress assignment– Restrict all nodes to be on the same subnetRestrict all nodes to be on the same subnet– Nodes may be given random addressesNodes may be given random addresses– How to assign addresses? DHCP for ad hoc network?How to assign addresses? DHCP for ad hoc network?

SecuritySecurity– How can I trust you to forward my packets without How can I trust you to forward my packets without

tampering?tampering?– How do I know you are what you claim to be ?How do I know you are what you claim to be ?

PerformancePerformance– Can we make any guarantees on performance?Can we make any guarantees on performance?

Page 100: Ad Hoc Networks

100

IFA’2004

ReferencesReferences

[1] D. B. Johnson, D. A. Maltz, Y.-C. Hu, “[1] D. B. Johnson, D. A. Maltz, Y.-C. Hu, “The Dynamic The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks Source Routing Protocol for Mobile Ad Hoc Networks (DSR)(DSR)”, IETF Draft, April 2003.”, IETF Draft, April 2003.

[2] C. E. Perkins, E. M. Belding-Royer, Ian D. Chakeres, [2] C. E. Perkins, E. M. Belding-Royer, Ian D. Chakeres, ““Ad hoc On-Demand Distance Vector (AODV) RoutingAd hoc On-Demand Distance Vector (AODV) Routing”, ”, IETF Draft, January 2004.IETF Draft, January 2004.

[3] Z. J. Haas, M. R. Pearlman, P. Samar, P., “[3] Z. J. Haas, M. R. Pearlman, P. Samar, P., “The Zone The Zone Routing Protocol (ZRP) for Ad Hoc NetworksRouting Protocol (ZRP) for Ad Hoc Networks” IETF ” IETF Internet Draft, draft-ietf-manet-zone-zrp-04.txt, July Internet Draft, draft-ietf-manet-zone-zrp-04.txt, July 2002. 2002.

[4] V. Park, S. Corson,”[4] V. Park, S. Corson,”Temporally-Ordered Routing Temporally-Ordered Routing Algorithm (TORA)Algorithm (TORA)””, IETF Draft, IETF Draft, draft-ietf-manet-tora-, draft-ietf-manet-tora-spec-03.txt, spec-03.txt, work in progresswork in progress, June 2001., June 2001.

[5] P. Sinha, R. Sivakumar, and V. Bharghavan, "[5] P. Sinha, R. Sivakumar, and V. Bharghavan, "CEDAR: CEDAR: A CoreExtraction Distributed Ad HocroutingAlgorithmA CoreExtraction Distributed Ad HocroutingAlgorithm," ," Proc. IEEE INFOCOM '99, Mar. 1999. Proc. IEEE INFOCOM '99, Mar. 1999.