AD HOC NETWORKS - PowerPoint PPT Presentation

1 / 100
About This Presentation
Title:

AD HOC NETWORKS

Description:

AD HOC NETWORKS. Ian F. Akyildiz. Broadband & Wireless Networking Laboratory ... Ad Hoc Networks ... In contrast, there is no infrastructure for an ad-hoc network. ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 101
Provided by: ianfak
Category:
Tags: hoc | networks | ad | hoc

less

Transcript and Presenter's Notes

Title: AD HOC NETWORKS


1
(No Transcript)
2
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

3
Topologies-Ad Hoc Networking
  • An ad hoc network is a peer-to-peer network (no
    centralized server) set up temporarily to meet
    some immediate need.
  • For example, a group of employees, each with a
    laptop or palmtop computer may convene in a
    conference room for a business or classroom
    meeting.
  • The employees link their computers in a temporary
    network just for the duration of the meeting.

4
Topologies-Ad Hoc Networking
5
Topologies-Ad Hoc Networking
  • Differences between
  • Ad-Hoc wireless LAN and a CLASSICAL wireless LAN
  • The classical wireless LAN forms a stationary
    infrastructure consisting of one or more cells
    with a control module for each cell.
  • Within a cell, there may be a number of
    stationary end systems.
  • Nomadic stations can move from one cell to
    another.
  • In contrast, there is no infrastructure for an
    ad-hoc network.
  • Rather, a peer collection of stations within
    range of each other may dynamically configure
    themselves into a temporary network.

6
Illustration
A
B
C
D
7
Wireless Ad Hoc Networks
  • Disaster recovery
  • Battlefield
  • Smart office
  • Gaps in cellular infrastructure
  • Virtual Navigation (cities, buildings, areas,
    etc..)
  • Telemedicine (e.g., accident sites)
  • Tele-Geoprocessing Applications
  • Education via Internet

8
Classes of Wireless Ad Hoc Networks
  • Three distinct classes
  • Mobile Ad Hoc Networks (MANET)
  • possibly highly mobile nodes
  • power constrained
  • Wireless Ad Hoc Sensor/Device Networks
  • relatively immobile
  • severely power constrained nodes
  • large scale
  • Wireless Ad Hoc Backbone Networks
  • rapidly deployable wireless infrastructure
  • largely immobile nodes
  • Common attributes
  • Ad hoc deployment, no infrastructure
  • Routes between S-D nodes may contain multiple hops

9
Multihop Routing
  • Traverse multiple links to reach a destination

10
MANET
  • Mobility causes route changes

11
Variations
  • Fully symmetric vs. asymmetries in
  • Transmission ranges
  • Battery life
  • Processing capability
  • Speed, patterns, and predictability of movement
  • Ability to act as multihop relay
  • Ability to act as leaders of a cluster of nodes
  • Coexistence with an infrastructure
  • Variations in traffic characteristics
  • Bit rate, timeliness
  • Unicast/multicast/geocast
  • Addressing (host, content, capability)

12
Unicast Routing in MANET
  • Host mobility
  • link failure/repair due to mobility may have
    different characteristics than those due to other
    causes
  • Rate of link failure/repair may be high when
    nodes move fast
  • New performance criteria may be used
  • route stability despite mobility
  • energy consumption
  • Many protocols have been proposed
  • Some have been invented specifically for MANET
  • Others are adapted from older protocols for wired
    networks
  • No single protocol works well in all environments
  • some attempts made to develop adaptive protocols

13
Types of Protocols
  • Proactive Protocols
  • Determine routes independent of traffic pattern
  • Traditional (link-state, distance-vector) routing
    protocols are proactive
  • Reactive Protocols
  • Maintain routes only if needed
  • Hybrid Protocols

14
Traditional Routing Algorithms
  • Distance Vector
  • periodic exchange of messages with all physical
    neighbors that contain information about who can
    be reached at what distance
  • selection of the shortest path if several paths
    available
  • Link State
  • periodic notification of all routers about the
    current state of all physical links
  • router gets a complete picture of the network
  • Example
  • ARPA packet radio network (1973), DV-Routing
  • every 7.5s exchange of routing tables including
    link quality
  • updating of tables also by reception of packets
  • routing problems solved with limited flooding

15
Problems of Traditional Routing Algorithms
  • Dynamic of the topology
  • frequent changes of connections, connection
    quality, participants
  • Limited performance of mobile systems
  • periodic updates of routing tables need energy
    without contributing to the transmission of user
    data, sleep modes difficult to realize
  • limited bandwidth of the system is reduced even
    more due to the exchange of routing information
  • links can be asymmetric, i.e., they can have a
    direction dependent transmission quality
  • Problem
  • protocols have been designed for fixed networks
    with infrequent changes and typically assume
    symmetric links

16
Routing Protocols for Ad Hoc Networks
  • Proactive Routing Protocols
  • DSDV (Destination Sequenced Distance Vector)
  • LSR (Link State Routing)
  • Reactive Routing Protocols
  • DSR (Dynamic Source Routing)
  • AODV (Ad-Hoc on-Demand Distance Vector)
  • Hybrid Routing Protocols
  • ZRP (Zone Routing Protocol)
  • TORA
  • CEDAR (Core Extraction Distributed Ad-hoc Routing)

17
Proactive Routing Protocols
  • Unsuitable for such a dynamic network
  • For example, consider link-state routing that
    sends out network-wide floods for every
    link-state change
  • Even in the absence of any existing connections,
    considerable overhead spent in maintaining
    network state

18
Goals
  • Low overhead route computation
  • Ability to recover from frequent failures at
    low-cost
  • Scalable (with respect to mobility and number of
    hosts)
  • Robust

19
Reactive (On-Demand) Protocols
  • Compute routes only when needed
  • Even if network state changes, any re-computation
    done only when any existing connections are
    affected

20
Dynamic Source Routing (DSR)
  • Based on source routing
  • On-demand
  • Route computation performed on a per-connection
    basis
  • Source, after route computation, appends each
    packet with a source-route
  • Intermediate hosts forward packet based on source
    route
  • TWO PHASES ROUTE DISCOVERY
  • ROUTE MAINTENANCE

21
Dynamic Source Routing (DSR)
  • When node S wants to send a packet to node D, but
    does not know a route to D, node S initiates a
    route discovery
  • Source node S floods (bradcasts) Route Request
    (RREQ) packet.
  • RREQ packet contains DESTINATION ADDRESS, SOURCE
    NODE ADDRESS and A UNIQUE IDENTIFICATION NUMBER.
  • Each node receiving the packet checks whether it
    knows of a route to destination.
  • If it does not, it appends/adds its own
    identifier (address) to the route record and
    forwards the RREQ
  • packet.

22
Dynamic Source Routing (DSR)
  • REMARK
  • To limit the number of route requests, a node
    only forwards the RREQ packet if the request has
    not yet been seen by the node and if the nodes
    address does not already appear in the route
    record.

23
Dynamic Source Routing I
  • Split routing into discovering a path and
  • maintaining a path
  • Discover a path
  • only if a path for sending packets to a certain
  • destination is needed and no path is currently
  • available
  • Maintaining a path
  • only while the path is in use one has to make
    sure
  • that it can be used continuously
  • No periodic updates needed!

24
Dynamic Source Routing II
  • Path discovery
  • broadcast a packet with destination address and
    unique ID
  • if a station receives a broadcast packet
  • if the station is the receiver (i.e., has the
    correct destination address) then return the
    packet to the sender (path was collected in the
    packet)
  • if the packet has already been received earlier
    (identified via ID) then discard the packet
  • otherwise, append own address and broadcast
    packet
  • sender receives packet with the current path
    (address list)
  • Optimizations
  • limit broadcasting if maximum diameter of the
    network is known
  • caching of address lists (i.e. paths) with help
    of passing packets
  • stations can use the cached information for path
    discovery (own paths or paths for other hosts)

25
Dynamic Source Routing III
  • Maintaining paths
  • after sending a packet
  • wait for a layer 2 acknowledgement (if
    applicable)
  • listen into the medium to detect if other
    stations forward the packet (if possible)
  • request an explicit acknowledgement
  • if a station encounters problems it can inform
    the sender of a packet or look-up a new path
    locally

26
Route Discovery in DSR
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents a node that has received RREQ for D
from S
27
Route Discovery in DSR
Y
Broadcast transmission
Z
S
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents transmission of RREQ
X,Y Represents list of identifiers appended
to RREQ
28
Route Discovery in DSR
Y
Z
S
S,E
E
F
B
M
L
C
J
A
G
S,C
H
D
K
I
N
  • Node H receives packet RREQ from two neighbors
  • potential for collision

29
Route Discovery in DSR
Y
Z
S
E
F
S,E,F
B
C
M
L
J
A
G
H
D
K
S,C,G
I
N
  • Node C receives RREQ from G and H, but does not
    forward
  • it again, because node C has already forwarded
    RREQ once

30
Route Discovery in DSR
Y
Z
S
E
F
S,E,F,J
B
C
M
L
J
A
G
H
D
K
I
N
S,C,G,K
  • Nodes J and K both broadcast RREQ to node D
  • Since nodes J and K are hidden from each other,
    their
  • transmissions may collide

31
Route Discovery in DSR
Y
Z
S
E
S,E,F,J,M
F
B
C
M
L
J
A
G
H
D
K
I
N
  • Node D does not forward RREQ, because node D
  • is the intended target of the route discovery

32
Route Discovery in DSR
  • Destination D on receiving the first RREQ, sends
    a Route Reply (RREP)
  • RREP is sent on a route obtained by reversing the
    route appended to received RREQ
  • RREP includes the route from S to D on which RREQ
    was received by node D

33
Route Reply in DSR
Y
Z
S
RREP S,E,F,J,D
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents RREP control message
34
Route Reply in DSR
  • Route Reply can be sent by reversing the route in
    Route Request (RREQ) only if links are guaranteed
    to be bi-directional (SYMMETRICAL)
  • To ensure this, RREQ should be forwarded only if
    it received on a link that is known to be
    bi-directional
  • If unidirectional (asymmetric) links are allowed,
    then RREP may need a route discovery for S from
    node D
  • Unless node D already knows a route to node S
  • If a route discovery is initiated by D for a
    route to S, then the Route Reply is piggybacked
    on the Route Request from D.
  • If IEEE 802.11 MAC is used to send data, then
    links have to be bi-directional (since ACK is
    used)

35
Dynamic Source Routing (DSR)
  • Node S on receiving RREP, caches the route
    included in the RREP
  • When node S sends a data packet to D, the entire
    route is included in the packet header
  • hence the name source routing
  • Intermediate nodes use the source route included
    in a packet to determine to whom a packet should
    be forwarded

36
Data Delivery in DSR
Y
Z
DATA S,E,F,J,D
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Packet header size grows with route length
37
DSR Optimization Route Caching
  • Each node caches a new route it learns by any
    means
  • When node S finds route S,E,F,J,D to node D,
    node S also learns route S,E,F to node F
  • When node K receives Route Request S,C,G
    destined for node, node K learns route K,G,C,S
    to node S
  • When node F forwards Route Reply RREP
    S,E,F,J,D, node F learns route F,J,D to node
    D
  • When node E forwards Data S,E,F,J,D it learns
    route E,F,J,D to node D
  • A node may also learn a route when it overhears
    Data packets

38
Use of Route Caching
  • When node S learns that a route to node D is
    broken, it uses another route from its local
    cache, if such a route to D exists in its cache.
  • Otherwise, node S initiates route discovery by
    sending a route request
  • Node X on receiving a Route Request for some node
    D can send a Route Reply if node X knows a route
    to node D
  • Use of route cache
  • can speed up route discovery
  • can reduce propagation of route requests

39
Use of Route Caching
S,E,F,J,D
E,F,J,D
S
E
F,J,D,F,E,S
F
B
J,F,E,S
C
M
L
J
A
G
C,S
H
D
K
G,C,S
I
N
Z
P,Q,R Represents cached route at a node
(DSR maintains the cached routes in a
tree format)
40
Use of Route CachingCan Speed up Route Discovery
S,E,F,J,D
E,F,J,D
S
E
F,J,D,F,E,S
F
B
J,F,E,S
C
M
L
J
G,C,S
A
G
C,S
H
D
K
K,G,C,S
I
N
RREP
RREQ
Z
When node Z sends a route request for node C,
node K sends back a route reply Z,K,G,C to node
Z using a locally cached route
41
Use of Route CachingCan Reduce Propagation of
Route Requests
Y
S,E,F,J,D
E,F,J,D
S
E
F,J,D,F,E,S
F
B
J,F,E,S
C
M
L
J
G,C,S
A
G
C,S
H
D
K
K,G,C,S
I
N
RREP
RREQ
Z
Route Reply (RREP) from node K limits flooding
of RREQ. In general, the reduction may be less
dramatic.
42
Route Error (RERR)
Y
Z
RERR J-D
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
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
43
Route Caching Beware!
  • Stale (obsolete) caches can adversely affect
    performance
  • With passage of time and host mobility, cached
    routes may become invalid
  • A sender host may try several stale routes
    (obtained from local cache, or replied from cache
    by other nodes), before finding a good route

44
Dynamic Source Routing Advantages
  • Routes maintained only between nodes who need to
    communicate
  • reduces overhead of route maintenance
  • Route caching can further reduce route discovery
    overhead
  • A single route discovery may yield many routes to
    the destination, due to intermediate nodes
    replying from local caches

45
Dynamic Source Routing Disadvantages
  • Packet header size grows with route length
  • Flood of route requests may potentially reach all
    nodes
  • Care must be taken to avoid collisions between
    route requests propagated by neighboring nodes
  • insertion of random delays before forwarding RREQ
  • Increased contention if too many route replies
    come back due to nodes replying using their local
    cache
  • Route Reply Storm problem
  • Reply Storm may be eased by preventing a node
    from sending RREP if it hears another RREP with a
    shorter route
  • An intermediate node may send Route Reply using a
    stale cached route, thus polluting other caches
  • This problem can be eased if some mechanism to
    purge (potentially) invalid cached routes is
    incorporated.

46
Ad Hoc On-Demand Distance Vector Routing (AODV)
  • DSR includes source routes in packet headers
  • Resulting large headers can sometimes degrade
    performance
  • particularly when data contents of a packet are
    small
  • AODV attempts to improve on DSR by maintaining
    routing tables at the nodes, so that data packets
    do not have to contain routes
  • AODV retains the desirable feature of DSR that
    routes are maintained only between nodes which
    need to communicate

47
AODV
  • Route Requests (RREQ) are forwarded in a manner
    similar to DSR
  • When a node re-broadcasts a Route Request, it
    sets up a reverse path pointing towards the
    source
  • AODV assumes symmetric (bi-directional) links
  • When the intended destination receives a Route
    Request, it replies by sending a Route Reply
  • Route Reply travels along the reverse path set-up
    when Route Request is forwarded

48
AODVAd Hoc On-demand Distance Vector Routing
  • Hop-by-hop routing as opposed to source routing
  • On-demand
  • When a source node wants to send a message to
    some destination node and does not already have a
    valid route to that destination, it initiates a
    path discovery process to locate the destination
    (as in DSR case)
  • It broadcasts the RREQ packet to its neighbors
  • They then send it to their neighbors until the
    destination or a node with fresh enough cash
    information to the destination is located.

49
AODVAd Hoc On-demand Distance Vector Routing
  • When RREQ propagates, routing tables are updated
    at intermediate nodes (for route to source of
    RREQ)
  • When RREP is sent by destination, routing tables
    updated at intermediate nodes (for route to
    destination), and propagated back to source

50
AODVAd Hoc On-demand Distance Vector Routing
  • Each node maintains its own sequence number and a
    broadcast ID.
  • The broadcast ID is incremented for every RREQ
    the node initiates and together with the nodes
    IP address, uniquely identifies an RREQ.
  • Along with its own sequence number and broadcast
    ID, the source node includes in the RREQ the most
    recent sequence number it has for the
    destination.
  • Intermediate nodes can reply to the RREQ only if
    they have a route to the destination whose
    corresponding destination sequence number is
    greater than or equal to that contained in the
    RREQ.

51
AODVAd Hoc On-demand Distance Vector Routing
  • During the process of forwarding the RREQ,
    intermediate nodes recording their route tables
    the address of the neighbor from which the first
    copy of the broadcast packet is received?
    establishing a reverse path.
  • If more same RREQs are received later, they are
    discarded.
  • RREP packet is sent back to the neighbors and the
    routing tables are accordingly updated.

52
Route Requests in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents a node that has received RREQ for D
from S
53
Route Requests in AODV
Y
Broadcast transmission
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents transmission of RREQ
54
Route Requests in AODV
Y
Z
S
E
F
B
M
L
C
J
A
G
H
D
K
I
N
Represents links on Reverse Path
55
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
  • Node C receives RREQ from G and H, but does not
    forward
  • it again, because node C has already forwarded
    RREQ once

56
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
57
Reverse Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
  • Node D does not forward RREQ, because node D
  • is the intended target of the RREQ

58
Route Reply in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Represents links on path taken by RREP
59
Route Reply in AODV
  • An intermediate node (not the destination) may
    also send a Route Reply (RREP) provided that it
    knows a more recent path than the one previously
    known to sender S
  • To determine whether the path known to an
    intermediate node is more recent, destination
    sequence numbers are used
  • The likelihood that an intermediate node will
    send a Route Reply when using AODV not as high as
    DSR
  • A new Route Request by node S for a destination
    is assigned a higher destination sequence number.
    An intermediate node which knows a route, but
    with a smaller sequence number, cannot send Route
    Reply

60
Forward Path Setup in AODV
Y
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Forward links are setup when RREP travels
along the reverse path Represents a link on the
forward path
61
Data Delivery in AODV
Y
DATA
Z
S
E
F
B
C
M
L
J
A
G
H
D
K
I
N
Routing table entries used to forward data
packet. NOTE Route is not included in packet
header as in DSR.
62
Timeouts
  • A routing table entry maintaining a reverse path
    is purged after a timeout interval
  • timeout should be long enough to allow RREP to
    come back
  • A routing table entry maintaining a forward path
    is purged if not used for a active_route_timeout
    interval
  • if no data is being sent using a particular
    routing table entry, that entry will be deleted
    from the routing table (even if the route may
    actually still be valid)

63
Link Failure Reporting
  • A neighbor of node X is considered active for a
    routing table entry if the neighbor sent a packet
    within active_route_timeout interval which was
    forwarded using that entry
  • When the next hop link in a routing table entry
    breaks, all active neighbors are informed
  • Link failures are propagated by means of Route
    Error messages, which also update destination
    sequence numbers

64
Route Error
  • When node X is unable to forward packet P (from
    node S to node D) on link (X,Y), it generates a
    RERR message
  • Node X increments the destination sequence number
    for D cached at node X
  • The incremented sequence number N is included in
    the RERR
  • When node S receives the RERR, it initiates a new
    route discovery for D using destination sequence
    number at least as large as N
  • When node D receives the route request with
    destination sequence number N, node D will set
    its sequence number to N, unless it is already
    larger than N

65
Link Failure Detection
  • Hello messages Neighboring nodes periodically
    exchange hello message
  • Absence of hello message is used as an indication
    of link failure
  • Alternatively, failure to receive several
    MAC-level acknowledgement may be used as an
    indication of link failure

66
Why Sequence Numbers in AODV
  • To avoid using old/broken routes
  • To determine which route is newer
  • To prevent formation of loops
  • Assume that A does not know about failure of link
    C-D because RERR sent by C is lost
  • Now C performs a route discovery for D. Node A
    receives the RREQ (say, via path C-E-A)
  • Node A will reply since A knows a route to D via
    node B
  • Results in a loop (for instance, C-E-A-B-C )

A
B
C
D
E
67
Optimization Expanding Ring Search
  • Route Requests are initially sent with small
    Time-to-Live (TTL) field, to limit their
    propagation
  • DSR also includes a similar optimization
  • If no Route Reply is received, then larger TTL
    tried

68
Summary AODV
  • Routes need not be included in packet headers
  • Nodes maintain routing tables containing entries
    only for routes that are in active use
  • At most one next-hop per destination maintained
    at each node
  • DSR may maintain several routes for a single
    destination
  • Unused routes expire even if topology does not
    change

69
Proactive Protocols
  • Most of the schemes discussed so far are reactive
  • Proactive schemes based on distance-vector and
    link-state mechanisms have also been proposed

70
Link State Routing
  • Each node periodically floods status of its links
  • Each node re-broadcasts link state information
    received from its neighbor
  • Each node keeps track of link state information
    received from other nodes
  • Each node uses above information to determine
    next hop to each destination

71
Destination-Sequenced Distance-Vector (DSDV)
  • Each node maintains a routing table which stores
  • next hop towards each destination
  • a cost metric for the path to each destination
  • a destination sequence number that is created by
    the destination itself
  • Sequence numbers used to avoid formation of loops
  • Each node periodically forwards the routing table
    to its neighbors
  • Each node increments and appends its sequence
    number when sending its local routing table
  • This sequence number will be attached to route
    entries created for this node

72
Destination-Sequenced Distance-Vector (DSDV)
  • Assume that node X receives routing information
    from Y about a route to node Z
  • Let S(X) and S(Y) denote the destination sequence
    number for node Z as stored at node X, and as
    sent by node Y with its routing table to node X,
    respectively

Z
X
Y
73
Destination-Sequenced Distance-Vector (DSDV)
  • Node X takes the following steps
  • If S(X) gt S(Y), then X ignores the routing
    information received from Y
  • 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 hop to Z
  • If S(X) lt S(Y), then X sets Y as the next hop to
    Z, and S(X) is updated to equal S(Y)

Z
X
Y
74
Comparison
75
Hybrid Protocols Zone Routing Protocol (ZRP)
  • Zone routing protocol combines
  • Proactive protocol which pro-actively updates
    network state and maintains route regardless of
    whether any data traffic exists or not
  • Reactive protocol which only determines route to
    a destination if there is some data to be sent to
    the destination
  • All nodes within hop distance at most d from a
    node X are said to be in the routing zone of node
    X
  • All nodes at hop distance exactly d are said to
    be peripheral nodes of node Xs routing zone

76
ZRP
  • Intra-zone routing Pro-actively maintain state
    information for links within a short distance
    from any given node
  • Routes to nodes within short distance are thus
    maintained proactively (using, say, link state or
    distance vector protocol)
  • Inter-zone routing Use a route discovery
    protocol for determining routes too far away
    nodes. Route discovery is similar to DSR with the
    exception that route requests are propagated via
    peripheral nodes.

77
Temporally-Ordered Routing Algorithm (TORA)
  • On demand routing.
  • Designed for a dynamic environment.
  • Each node keeps routing information about
    adjacent nodes.
  • A DAG (Directed Acyclic Graph) describes all
    discovered paths to a node.
  • When one link fails, its neighbors reverse
    direction in the DAG, and utilize another path.
  • Timing of failures is important, so TORA requires
    synchronized clocks (i.e. GPS)

78
Temporally-Ordered Routing Algorithm (TORA)
  • Water flowing downhill toward to a destination
    node through a network of tubes/pipes that models
    the routing state of the real network.
  • Tubes/pipes represent links between nodes in the
    network, junctions of tubes represent the nodes,
    and the water in the tubes represents the packets
    flowing toward the destination.
  • Each node has a height with respect to the
    destination that is computed by the routing
    protocol.

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

80
Temporally-Ordered Routing Algorithm (TORA)
  • TORA performs 3 basic functions
  • ROUTE CREATION
  • ROUTE MAINTENANCE
  • ROUTE ERASURE

81
TORA ROUTE CREATION MAINTENANCE
  • For each node in the network a separate directed
    acyclic graph (DAG) is maintained for each
    destination.
  • When a node needs a route to a destination, it
    broadcasts a QUERY packet containing the
    destination address.
  • This packet travels through the network until it
    reaches either the destination or an intermediate
    node which already has a path to that
    destination.
  • The recipient of the QUERY packet then broadcasts
    an UPDATE packet listing its height with respect
    to the destination.
  • Each node receiving this UPDATE packet sets is
    height to a value greater than the height of the
    neighbor from which the UPDATE packet has been
    received.
  • When a node detects a network partition, it
    generates a CLEAR packet that resets routing
    state and removes invalid routes from the
    network.

82
TORA ROUTE CREATION MAINTENANCE
  • During the route creation and maintenance phases,
    nodes use the height metric to establish a DAG
    rooted at the destination.
  • Links are assigned a direction (upstream or
    downstream) based on the relative height metric
    of neighboring nodes.
  • (See Figure)

83
TORA ROUTE CREATION MAINTENANCE
  • For node mobility when the DAG route is broken,
    and route maintenance is necessary to
    re-establish a DAG rooted at the same
    destination.
  • See Figure? upon failure of the last downstream
    link, a node generates a new reference level.
  • Links are reversed to reflect the change.

84
TORA
85
TORA
86
TORA
87
TORA
88
TORA
89
TORA
  • TORA is partially proactive and partially
    reactive
  • Reactive ? route creation is initiated on
    demand.
  • Proactive ? Route maintenance is done proactively
    such that multiple routing options are available
    in case of link failures.

90
So far ...
  • All nodes had identical responsibilities
  • Some schemes propose giving special
    responsibilities to a subset of nodes
  • Even if all nodes are physically identical
  • Core-based schemes are examples of such schemes

91
Core-Extraction Distributed Ad Hoc Routing
(CEDAR)
  • A subset of nodes in the network is identified as
    the core
  • Each node in the network must be adjacent to at
    least one node in the core
  • Each node picks one core node as its dominator
    (or leader)
  • Core is determined by periodic message exchanges
    between each node and its neighbors
  • attempt made to keep the number of nodes in the
    core small
  • Each core node determines paths to nearby core
    nodes by means of a localized broadcast
  • Each core node guaranteed to have a core node at
    lt3 hops

92
CEDAR Core Nodes
A
G
D
B
C
E
H
F
J
S
K
Node E is the dominator for nodes D, F and K
A core node
93
CEDAR
  • Advantages
  • Route discovery/maintenance duties limited to a
    small number of core nodes
  • Link state propagation a function of link
    stability/quality
  • Disadvantages
  • Core nodes have to handle additional traffic,
    associated with route discovery and maintenance

94
SUMMARYCharacteristics of DSDV
95
SUMMARYCharacteristics of On-Demand Routing
Protocols
96
SUMMARYCharacteristics of On-Demand Routing
Protocols
97
SUMMARYCharacteristics of On-Demand Routing
Protocols
98
SUMMARYCharacteristics of On-Demand Routing
Protocols
99
Implementation Issues
  • Several implementations apparently exist (see
    IETF)
  • only a few available publicly
  • Where to implement ad hoc routing?
  • Link layer, Network layer, Application layer
  • Address assignment
  • Restrict all nodes to be on the same subnet
  • Nodes may be given random addresses
  • How to assign addresses? DHCP for ad hoc network?
  • Security
  • How can I trust you to forward my packets without
    tampering?
  • How do I know you are what you claim to be ?
  • Performance
  • Can we make any guarantees on performance?

100
References
  • 1 D. B. Johnson, D. A. Maltz, Y.-C. Hu, The
    Dynamic Source Routing Protocol for Mobile Ad Hoc
    Networks (DSR), IETF Draft, April 2003.
  • 2 C. E. Perkins, E. M. Belding-Royer, Ian D.
    Chakeres, Ad hoc On-Demand Distance Vector
    (AODV) Routing, IETF Draft, January 2004.
  • 3 Z. J. Haas, M. R. Pearlman, P. Samar, P.,
    The Zone Routing Protocol (ZRP) for Ad Hoc
    Networks IETF Internet Draft, draft-ietf-manet-zo
    ne-zrp-04.txt, July 2002.
  • 4 V. Park, S. Corson,Temporally-Ordered
    Routing Algorithm (TORA), IETF Draft,
    draft-ietf-manet-tora-spec-03.txt, work in
    progress, June 2001.
  • 5 P. Sinha, R. Sivakumar, and V. Bharghavan,
    "CEDAR A CoreExtraction Distributed Ad
    HocroutingAlgorithm," Proc. IEEE INFOCOM '99,
    Mar. 1999.
Write a Comment
User Comments (0)
About PowerShow.com