Source Tree Adaptive Routing (STAR) Protocol for Link State Routing, Study notes of Computer Networks

The source tree adaptive routing (star) protocol, a link state routing algorithm that reduces the number of route updates by allowing packets to traverse paths that deviate from the optimum. Each node maintains a source routing tree and updates it only under certain conditions. The star protocol follows the least overhead routing approach and forms a 'partial topology graph' by aggregating the source trees sent by its neighbors.

Typology: Study notes

2014/2015

Uploaded on 09/01/2015

gaurav.khanna
gaurav.khanna 🇮🇳

1 document

1 / 34

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Partial preview of the text

Download Source Tree Adaptive Routing (STAR) Protocol for Link State Routing and more Study notes Computer Networks in PDF only on Docsity!

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.

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

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?

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.

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!

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

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.

Hea

d

Nod

e

Tail

Nod

e

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

Hea

d

Nod

e

Tail

Nod

e

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.

Subsequent

ly, 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?