Professional Documents
Culture Documents
Networking: Imperatives
and Challenges
An Ad-hoc network is a collection of wireless mobile nodes which
dynamically forming a temporary mobile nodes which dynamically
forming a temporary network without the aid of any established
infrastructure or centralized administration..
Inside the ad hoc networking field, wireless sensor networks take a special
role. A sensor network is composed of a large number of small sensor
nodes, which are typically densely (and randomly) deployed inside the
area in which a phenomenon is being monitored.
AD HOC NETWORKING AND 4G
The IEEE 802.11 standard defines two operational modes for WLANs:
infrastructure-based and infrastructure-less or ad hoc. Network interface
cards can be set to work in either of these modes but not in both
simultaneously.
It is the mode commonly used to construct the so-called Wi-Fi hotspots,
i.e., to provide wireless access to the Internet. In the ad hoc mode, any
station that is within the transmission range of any other, after a
synchronization phase,can start communicating.
MAC PROTOCOL
Introduction
Distance-Vector
DSDV Protocol
Summary
Introduction
Routing Protocol:
Table-driven (proactive)
Source-initiated on-demand (reactive)
Hybrid
Routing Algorithm
Link-State algorithm:
Each node maintains a view of the network topology
Distance-Vector algorithm:
Every node maintains the distance of each destination
Link-State
link costs
F
H
B
C
G
D
Distance-Vector
1 2
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3
B B 1 B B 0 B B 2
C B 3 C C 2 C C 0
Distance Vector (Update)
Routing table
is updated (A, 1) (A, 1)
(B, 0) (B, 0)
(C, 1) (C, 1)
1 1
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3 2
B B 1 B B 0 B B 1
C B 3 2 C C 1 C C 0
Distance Vector (New Node)
broadcasts to
update
tables of C, B, A
with new entry for D
(A, 1) (A, 2)
(B, 0) (B, 1)
(C, 1) (C, 0)
(D, 2) (D, 1) (D, 0)
1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 2
B B 1 B B 0 B B 1
C B 2 C C 1 C C 0
D B 3 D C 2 D D 1
Distance Vector (Broken Link)
1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B
D 1
Distance Vector (Loops)
(D, 2) (D, 2)
1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B 3
Distance Vector (Count to Infinity)
(D,5)
(D,4) (D,4)
(D,3)
(D,2) (D,2)
1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3, 5, … D C 2, 4, 6… D B 3, 5, …
Distance Vector
A 1 B 2 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 1 A-550
B B 1 B-100 B B 0 B-100 B B 2 B-100
C B 3 C-586 C C 2 C-588 C C 0 C-588
DSDV (Route Advertisement)
B increases Seq.Nr from 100 -> 102
B broadcasts routing information
to Neighbors A, C including
destination sequence numbers
A 1 B 1 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-102 B B 0 B-102 B B 1 B-102
C B 2 C-588 C C 1 C-588 C C 0 C-588
DSDV (Respond to Topology Changes)
Immediate advertisements
Information on new Routes, broken Links, metric
change is immediately propagated to neighbors.
Full/Incremental Update:
Full Update: Send all routing information from own
table.
Incremental Update: Send only entries that has
changed. (Make it fit into one single packet)
DSDV (New Node)
(D, 0, D-000)
A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-104 B B 1 B-104
C B 2 C-590 C C 1 C-590 C C 0 C-590
D D 1 D-000
DSDV (New Node cont.)
3. C increases its sequence
number to C-592 then
4. B gets this new information broadcasts its new table.
and updates its table…….
A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-102 B B 1 B-102
C B 2 C-590 C C 1 C-592 C C 0 C-592
D C 2 D-000 D D 1 D-000
DSDV (no loops, no count to infinity)
2. B does its broadcast
-> no affect on C (C knows that
B has stale information because C
has higher seq. number for
destination D) 1. Node C detects broken
-> no loop -> no count to Link:
infinity -> Increase Seq. Nr. by 1
(only case where not the
destination sets the sequence
(D, 2, D-100) (D, 2, D-100) number -> odd number)
A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … … … … … … …
D B 3 D-100 D C 2 D-100 D D D-101
DSDV (Immediate Advertisement)
3. Immediate 2. Immediate
propagation propagation
B to A: C to B:
(update information has (update information has
higher Seq. Nr. -> replace higher Seq. Nr. -> replace 1. Node C detects broken
table entry) table entry) Link:
-> Increase Seq. Nr. by 1
(only case where not the
destination sets the sequence
(D, , D-101) (D, , D-101) number -> odd number)
A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … ... … … … ... … … …
D B 4
3 D-100 D C 3
2 D-100 D B
D 1 D-100
D B D-101 D C D-101 D D D-101
DSDV (Problem of Fluctuations)
A What are Fluctuations
P Q
Entry for D in A: [D, Q, 14, D-100]
(D,0,D-102)
This can happen every time D or any other node does
D its broadcast and lead to unnecessary route
advertisements in the network, so called fluctuations.
DSDV (Damping Fluctuations)
A How to damp fluctuations
P Q
Record last and avg. Settling Time of every Route
in a separate table. (Stable Data)
Settling Time = Time between arrival of first route
and the best route with a given seq. nr.
11 Hops 10 Hops
A still must update his routing table on the first
arrival of a route with a newer seq. nr., but he can
wait to advertising it. Time to wait is proposed to
be 2*(avg. Settling Time).
Advantages
Simple (almost like Distance Vector)
Loop free through destination seq. numbers
No latency caused by route discovery
Disadvantages
No sleeping nodes
Overhead: most routing information never used
Ad hoc On-demand
Distance Vector (AODV)
Routing Protocol
AODV Overview
Destination IP address
Destination Sequence Number
Valid Destination Sequence Number Flag
Other state and routing flags
Network Interface
Hop Count (needed to reach destination)
Next Hop
Precursor List
Lifetime (route expiration or deletion time)
Overview (continued)
RREQ Messages
While communication routes between nodes are valid,
AODV does not play any role.
A RREQ message is broadcasted when a node needs to
discover a route to a destination.
As a RREQ propagates through the network, intermediate
nodes use it to update their routing tables (in the direction
of the source node).
The RREQ also contains the most recent sequence
number for the destination.
A valid destination route must have a sequence number
at least as great as that contained in the RREQ.
RREQAMessage
B?
B?
B?
B?
B?
B? B?
B
AODV Operation – Message Types
RREP Messages
When a RREQ reaches a destination node, the destination
route is made available by unicasting a RREP back to the
source route.
A node generates a RREP if:
It is itself the destination.
It has an active route to the destination. Ex: an intermediate
node may also respond with an RREP if it has a “fresh enough”
route to the destination.
As the RREP propagates back to the source node,
intermediate nodes update their routing tables (in the
direction of the destination node).
RREPAMessage
A
B
AODV Operation – Message Types
RERR Messages
This message is broadcast for broken links
Hello Messages
Hello Message = RREP with TTL = 1
This message is used for broadcasting connectivity
information.
Ex: If a neighbor node does not receive any packets (Hello
messages or otherwise) for more than ALLOWED_HELLO_LOSS *
HELLO_INTERVAL mseconds, the node will assume that the link to
this neighbor is currently lost.
A node should use Hello messages only if it is part of an
active route.
Message routing
Source
G
A RREQ RREQ
RREQ
RREP RREQ
B D RREQ
RREP
RREQ
RREQ RREP
F Destination
C RREQ
RREQ
E
Congestion Handling
Destination IP Address
Destination Sequence Number
Valid Destination Sequence Number flag
Other state and routing flags (e.g., valid, invalid, repairable, being repaired)
Network Interface
Hop Count (number of hops needed to reach destination)
Next Hop
List of Precursors
Lifetime (expiration or deletion time of the route)
@Originator
If a route to the destination is available, start sending data.
Else generate a RREQ packet. Increment the RREQID by 1.Increment the
sequence number by 1.Destination IP address ,currently available sequence
number included.
@Intermediate Node
Generate route reply, if a 'fresh enough' route is a valid route entry for the
destination whose associated sequence number is at least as great as that
contained in the RREQ. Change the sequence number of the destination
node if stale, increment the hop count by 1 and forward.
Update information
Destination Sequence #
- Update sequence # for case i and ii
- Copy sequence # for case iii
Unicast
- Send RERR to single recipient
Unicast iteritive
- Send RERR to a number of recipients individually
Broadcast
- Notify multiple recipients simultaniously
- Broadcast via 255.255.255.255 TTL = 1
RERR message transmission
Unicast
A node detects that a link with adjacent neighbor is broken (destination no longer
reachable).
If it gets a data packet destined to a node for which it does not have an active route
and is not repairing.
If it receives a RERR from a neighbor for one or more active routes.
Unicast iteritive
Broadcast
How Broken Links are Handled
All nodes directly using the broken link get a RERR packet.
Then those nodes sends the RERR packet to their predecessor nodes.
This is continued all the way to the source nodes.
How Broken Links are Handled
(Cont)
Upon completion of sending the RERR packet through the source node will
no longer use the link.
AODV uses loop free-routes.
There are only a finite number of nodes in a ad-hoc network.
How Broken Links are Handled
(Cont)
The source node can restart the discovery process if a path is still needed.
The source node or any node on the path can rebuild the route by
sending out a RREQ.
Dynamic Source Routing
(DSR) Protocol in Wireless
Networks
Dynamic Source Routing -
DSR
DSR IN AD HOC WIRELESS NETWORKS
Simple, efficient routing
Self Organizing
It determines how best to move packets around
Self Configuring
It determines the routes available
w/o existing network structure
w/o administration
Network Connectivity
Disconnected
Uni-Directional
Bi-Directional
Source
Mixed-Directional
On Path
Destination
Disconnect
Advantages of DSR
Some what alluded to above: Packet retries, route error RERR responses
Send buffer is full causes use of other cached routes, if routes don’t work
they are pruned
If no cached routes found Route Discovery performed
Error recovery
C D C D
A B Z A B Z
J J
L N L N
M M
? ?
More Relay node notes
Fix-up of discovery process –
Must not contain duplicates (the rule)
If fails, then may not allow RERR message to get back to node
attempting fix up, tables become stale
K
A B D Z
J
C
M
?
RREP Storm (BW)
HC=3
HC=4
C,B,G
D,C,B,
C
G D
A HC=2
E B G HC=1
E,F,B,G B,G G
HC=4 F
F,B,G
HC=3
Limitations