Upload
sherman-reed
View
215
Download
0
Embed Size (px)
Citation preview
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
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…
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.
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.
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
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
9IFA’2004
Multihop RoutingMultihop Routing
Traverse multiple links to reach a destinationTraverse multiple links to reach a destination
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)
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
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
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
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
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)
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”
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
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
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
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.
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.
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!
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)
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
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
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
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]
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]
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]
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]
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
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
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)
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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.
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.
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
74IFA’2004
ComparisonComparison
Low maintenance overheadLow update overheadHigh access overheadDynamic networks
Local
Low maintenance overheadLow access overheadHigh update overheadStatic networks
Link state
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
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.
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)
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..
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).
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
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.
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)
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.
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.
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
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
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
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
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
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
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
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
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
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?
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.