link state routing essentially involves disseminating information with regards to each and every...

34
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.

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

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 AB 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.

Head Node

Tail Node

Link Cost

A B 1 1

A C 2 1

B A 1 1

B C 3 1

C A 2 1

C B 3 1

C D 4 1

C E 5 1

D C 4 1

Head Node

Tail Node

Link Cost

D E 6 1

D Y 8 1

E C 5 1

E D 6 10

E X 7 1

X E 7 1

X Y 9 1

Y D 8 1

Y X 9 1

Global Link State

• Let Link between E X fail.

• This is bi-directional.

• 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 !