Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest...

Post on 27-Dec-2015

220 views 2 download

Transcript of Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest...

• Review: routing algorithms.– Choose the appropriate paths.

– Routing algorithms

• Flooding

• Shortest path routing (example).

– Dijkstra algorithm.

– Bellman-Ford algorithm.

• Shortest path routing algorithm is perfect if we know the precise network topology.

– How to maintain the global network state information? This is also an important part of practical routing algorithms.

• Distance Vector Routing:– used at ARPANET till 1979, still used in WAN(RIP)

• Each router maintains a routing table, where each node in the network has an entry in the table.

• Each entry contains two parts, the outgoing line for the destination (node) and the distance (time, cost, whatever) to the destination.

• Each router knows the distance to its neighbors

• In a certain period of time, each router sends the table to each of its neighbors.

• When a router receives a table from each of its neighbors, it updates its routing table, determines the new minimum distance and the outgoing link for the destination.

A

B

C

DE

A B C D E

A (0, -) (8, C) (5, A) (4, E) (3, A) B (4, B) (0, - ) (3, B) (3, C) (3, D)C (2, C) (5, C) (0, - ) (2, C) (2, D)D (5, E) (3, D) (3, B) (0, - ) (1, D)E (2, E) (9, A) (8, A) (3, E) (0, - )

Routing table fornode A

Routing table fornode D.

Let dist(B, A) = 4, dist(B, D) = 1, dist (B, C) = 10, whatis B’s routing table in the next cycle?

• The count-to-infinity problem.A B C D E A B C D E

# # # # 1 2 3 4

1 # # # 3 2 3 4

1 2 # # 3 4 3 4

1 2 3 # 5 4 5 4

1 2 3 4 5 6 5 6

7 6 7 6

7 8 7 8

…... Good news propagates fast, bad news propagates slow.

Some heuristics (split horizon). But the heuristics do not solve the problem.

• link state routing (currently used in the internet,

OSPF): » The distance vector algorithm converges too slow.

• 1) discover its neighbors

• 2) measure the distance to each neighbor

• 3) construct a packet telling all that is learned

• 4) send the packet to all other nodes -- flooding

• 5) each node computes the shortest path to all other nodes -- Dijsktra algorithm.

A

B

C

DE

4

2

4

1

5

6

2

Link state packets

Node A: (A, seq, age, ((B, 4), (C, 4),(E, 2))

Node B: (B, seq, age, ((A, 4), (D, 2), (C, 1))

….

Node E: (E, seq, age, ((A, 2), (D, 5))

• If everything goes ok, every node will have the whole information of the network in the next step, algorithm converges faster than the distance vector method.

• The count to infinite problem?

• Some of current research on the link state algorithm.

– Use broadcast tree instead of flooding

– Use local update to the fix the routing table instead of running the full shortest path algorithm

– When the send the link state packet

» periodical or sudden change?