Download Lecture 3 Slides

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

IEEE 1355 wikipedia , lookup

Airborne Networking wikipedia , lookup

Distributed operating system wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Backpressure routing wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Routing wikipedia , lookup

Everything2 wikipedia , lookup

Kademlia wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Link State Routing
• Essentially involves disseminating information with
regards to each and every link to each and every node
in the network.
• Dijkstra’s algorithm is often used for achieving link
state routing.
• However, the bandwidth in a wireless network is
scarce.
• Thus, the frequent dissemination of link state (the
frequency required would be higher if the nodes were
to move faster) is precarious to the functioning of the
network.
Source Tree Adaptive Routing
(STAR)
•Each node maintains a source routing tree.
•This tree is propagated to each of the neighbors.
• Updates may either be incremental or atomic.
• Updates to source routing trees only under certain
conditions.
Principle of STAR
•The number of route updates may be considerably
reduced if it was not a requirement that all packets
follow optimal routes.
• Thus, STAR allows packets to traverse paths that
deviate from the optimum in order to save the
“overall” bandwidth consumption.
How does STAR Work ?
• SOME BORING (??) details.
• The STAR Protocol follows what is called the least
overhead routing approach (LORA) as opposed to the
optimal routing approach (ORA).
• Remember !!! ORA is the used in DSDV and WRP!
• The source tree that each node computes (we
talked about this earlier in an earlier slide) – is not
necessarily the minimum cost tree.
• The tree contains the preferred paths that the
node takes to each destination in the network.
STAR Description (Cont).
• Each node reports its source tree to its neighbors
through an update broadcast.
• By aggregating the source trees sent by its
neighbors and the links on which these source trees
were sent, a node can form a “Partial Topology
Graph”.
• Why is this partial ?
• Can you see some similarity with WRP ?
LORA – Least Overhead Routing
• The node will use a path even if it is sub-optimal.
• Thus, a node does not send an update just to
inform its neighbors of a change in a route from one
that is “sub-optimal” to one that is optimal.
• So when do we really send an update ?
• Not that intuitive !
• A node sends a new update if :
 If a new destination is discovered or if one of
its neighbors reports the existence of a new
destination.
 At least one destination becomes unreachable
to the node or to one of its neighbors.
 Third and final condition is more complex :
 Needs one more slide !
 We will defer it for later !
• If a new destination is discovered or if one of its
neighbors reports the existence of a new
destination.
This is obvious  is it not ?
•When the node is first initialized it sends a
broadcast to each of its neighbors.
•The neighbors will then broadcast an update (called
Link State Update or LSU) to inform this node of
the existence of other nodes, and in turn to inform
other nodes about the new node.
•At least one destination becomes unreachable to
the node or to one of its neighbors.
Note that this requires all the paths to the
destination to fail.
The node would then inform its neighbors about
this.
This is in fact invoked when the failure of a link is
discovered or a neighbor reports an infinite cost for
a link leading to the head of a sub-tree (or trees)
that become unreachable.
Note: It is not required to transmit an update for
every severed node in the sub-tree since every
neighbor of A already has a copy of A’s sub-tree.
The third condition really has three parts:
 Node A would transmit a packet to its neighbors if:
The source tree of Node A has a path which
results in a loop. (How does A know ?)
Node A chooses a successor node Node B for a
given destination such that Node B has a higher
address than Node A.
The reported distance via Node B to the
destination node (say Node J) is longer than the
distance from the previous “successor” node.
HOWEVER ....
•This is not true if previously Node J was a direct
neighbor of Node A, and Node B is a neighbor to
Node J.
• In other words, no update is now transmitted for
Node J or any other node that is reached via
AB J.
 LET ME CALL THIS CONDITION A !
The source tree of Node A has a path which
results in a loop. (How does A know ?)
When Node A receives an update from Node B it
first updates Node B’s source tree (which it
maintains).
Second, it checks to see if Node B uses Node A as
a relay for any of the destinations in its preferred
paths.
Third, if the answer to a particular destination is
“yes”, then Node A checks its own source tree to
find if it uses Node B as a relay for that
destination. If the answer is yes, a routing loop is
detected.
BREAK THE LOOP AND BROADCAST LSU!
Node A chooses a successor node Node B for a
given destination such that Node B has a higher
address than Node A.
This is in fact used to provide a further robustness
to loops.
Someone or the other has to have the lowest
address.
If you force that I broadcast an update whenever I
choose a successor with a higher address, I provide
further robustness to routing.
Is it obvious why this is useful ?
Well, if the other node chose me as a successor,
he/she did not generate an LSU !
The reported distance via Node B to the
destination node (say Node J) is longer than the
distance from the previous “successor” node unless
Condition A is satisfied.
This is primarily used to handle asymmetric links –
when a link in one direction has a different cost
from a link in another direction.
Any PROJECT ideas ?
Better to explain this with an example – which we
consider next to fully make sure that we understand
STAR.
Cost of Link
from D  E is
10.
Cost of Link
from E D is
1.
You can see the
source tree at
Node C, D, and
E.
Assume nodes to
be
lexicographically
ordered.
Global Link State
Head
Node
Tail
Node
Link
Cost
Head
Node
Tail
Node
Link
Cost
A
A
B
B
C
C
C
C
D
B
C
A
C
A
B
D
E
C
1
2
1
3
2
3
4
5
4
1
1
1
1
1
1
1
1
1
D
D
E
E
E
X
X
Y
Y
E
Y
C
D
X
E
Y
D
X
6
8
5
6
7
7
9
8
9
1
1
1
10
1
1
1
1
1
• Let Link
between E 
X fail.
• This is bidirectional.
• Node E tries
to find a new
path to X and
Y.
• Uses D’s
source tree.
• Routes via
Link 6 through
D.
Should there be an update ?
Next obvious question  Are conditions satisfied ?
Obviously conditions 1, and 2 are not true.
In condition 3, the first and second part are not
satisfied –no loop – address of D is smaller than
that of E.
Now let us see what happens with part 3 of
condition 3 !
Let us assume that this condition was absent for
now !
So E does not have to generate an update at all.
•Subsequently,
let the link
from Node D
to Node Y,
i.e., D  Y
fail.
• What does D
do ?
• D has no clue
about the fact
the link
between E and
X has in fact
failed.
• Thanks to its ignorance, Node D will try to relay
packets to Nodes X and Y via Nodes C and E ! –
BUMMER I.
• Also note that C’s address is smaller than Node
D’s.
• So Node D does not broadcast any update ! –
BUMMER II.
• A loop is formed between nodes C, D, and E.
• What happens if Condition 3 was included ?
• Upon the first failure, since, the new distance
that Node E sees via Node D to Node X is in fact
larger than that earlier (3 as opposed to 1),
condition 3 is satisfied.
• Node E broadcasts an update.
• Node D knows that there is no link between Nodes
E and X.
• Upon the second failure, Node D knows that X and
Y are not reachable !
• NO LOOP !
• Let us consider the
same network (I love it)
but a different link
failure.
• Link between D  E
(remember of unit cost)
fails.
• In such a case, Node E
does not have to
generate an update –
remember condition 3.
• New path to D is via
Node C which is a
neighbor of D.
•Verify – No looping
possible.
The STAR Addendum
• In order to ensure that the three conditions do
really prevent looping, a node has to maintain the
latest source tree transmitted to its neighbors.
• If one of the conditions is satisfied, the complete
source tree is to be transmitted. (sudden thought –
what is meant by broadcast in this environment ?)
• If the neighbors remain the same as in the previous
source tree it is sufficient only to broadcast the
changes.
Complexity
• For optimality it is essential that a node transmit
an update every time its source tree changed  O(N)
updates per change in link-state.
• For sub-optimal routes the complexity could be
considerably lower.
Advantages:
• For static or slow moving nodes, (low mobility
patterns) STAR works very well.
•Eliminates frequency of updates in that case.
• Can be used to support Quality of Service.
Disadvantages
• However, for high mobility patterns, or fast moving
nodes STAR does not work very well – sorry no
BMWs.
• Scalability a question
• In some cases, using the sub-optimal route may
lead to over-consumption of resources.
• Needs reliable broadcast at Link Layer.
Reference
•http://www.cse.ucsc.edu/research/ccrg/
• J.J.Garcia-Luna-Aceves et al, IETF MANET
Working group – draft-ietf-manet-star00.txt,
October 1999.
• J.J.Garcia-Luna-Aceves and M.Spohn, “Efficient
Routing in Packet Radio Networks using Link-State
Information”, Proceedings of IEEE WCNC (Wireless
Communications and Networking Conference), New
Orleans, 1999, pp 1308-1312.
• Chapter 10 – book.
Global State Routing (GSR)
• Invented by Mario Gerla et al (UCLA).
• Link State Routing (to re-iterate) requires that an
update be sent to every node in the network upon the
change of the state of a link.
• Flooding may have to be used.
• This is very expensive in a bandwidth starved
wireless network.
• GSR is similar to the other link state routing
protocols.
GSR Principles
• Attempts to provide the benefits of link-state
routing but with the simplicity of distance vector
protocols.
• Don’t flood the network with link-state updates.
• Instead maintain a link-state table based on up to
date information received from neighboring nodes.
• Periodically exchange collected link-state
information with its neighbors.
• In some sense this is similar to STAR when optimal
routes are required.
Use of Sequence Numbers.
• GSR uses sequence numbers to ensure that the link
state table is up to date.
• Entries with older sequence numbers are replaced
with updates with later sequence numbers.
• A source rooted minimum cost tree is computed
based on the collected link-state and is used to route
packets to any destination.
Advantages:
. Can provide loop free paths that are optimal.
• Can be used to support Quality of Service.
Disadvantages
• Most inadequacies of link-state routing protocols
remain.
• Link layer reliability is still required.
• If updates are frequent  high overhead, else
stale routing info.
• Not very scalable.
Reference
• T.Chen and M.Gerla, “Global State Routing: A new
routing scheme for Ad Hoc Wireless Networks”,
Proceedings of ICC (International Conference on
Communications), pp 171-175, 1998.
• A. Iwata et al, “Scalable Routing Strategies for Ad
Hoc Wireless Networks”, IEEE Journal on Selected
Areas in Communications, August 1999.
On Demand Routing Strategies
• Why should we disseminate routing information when
we might not need it most of the time ?
• We can find the destination when the need arises.
• Reactive strategy as opposed to the proactive
strategy.
• Basic Idea: Initiate Route Request Message when the
need arises.
• Route discovery process will end in either finding the
destination, or trying all possible permutations and
concluding that the destination is unreachable.
• Once a route is established, the protocol would go
into a route maintenance procedure and maintain the
route until the session is over, or the destination node
is deemed unreachable.
• Routes may be cached and re-used based on the
dynamics of the network.
• Advantage is that route update messages that
consume overhead aren’t required.
• Disadvantages include the fact that certain latency
may be incurred in finding a route and that the optimal
route may not be the one that is found.
Until Next Time theN !