route.ppt

advertisement
Intradomain Routing
Outline
Introduction to Routing
Distance Vector Algorithm
CS 640
1
Overview
• Forwarding vs Routing
– forwarding: to select an output port based on destination address and
routing table
– routing: process by which routing table is built
• Network as a Graph
– Assume single admin. authority
– Assume nodes are routers
– Assume links have cost
A
6
1
3
4
C
2
1
B
9
E
F
1
D
• Problem: Find lowest cost path (sum of links) between two nodes
CS 640
2
Routing Protocol Issues
• It may be simple to calculate least cost path if graph is
static but…
• Links and routers go down
• Links and routers are added
• Traffic can cause links to overload
• How are costs calculated?
• Algorithm must be distributed in order to scale
• Rich area for research due to distributed, dynamic nature
of the problem
• Different routers can have different routes at same time
CS 640
3
Distance Vector (Bellman-Ford,RIP)
• Find SP for node such that paths contain at most 1 hop, then 2…
• Each node maintains a set of triples
– (Destination, Cost, NextHop)
– Assume each node knows cost of directly connected neighbors
• Exchange updates directly connected neighbors
– periodically ( on the order of several seconds) – even if there are no changes
– whenever its table changes (called triggered update)
• Each update is a list of pairs:
– (Destination, Cost)
• Update local table if receive a “better” route
– smaller cost
– came from next-hop
• Refresh existing routes; delete if they time out
CS 640
4
Example
5
1
A
1
B
3
C
2
5
1
1
D
1
E
F
2
Destination Cost NextHop
B
1
B
C
3
D
D
1
D
E
2
D
F
4
D
G
1
G
G
CS 640
5
Routing Loops
• Example 1
–
–
–
–
–
–
E detects that link to C has failed
E sets distance to C to infinity and sends update to D
D sets distance to C to infinity since it uses D to reach E
D receives periodic update from B with 2-hop path to C
D sets distance to C to 5 and sends update to E
E decides it can reach C in 3 hops via B
• Example 2
–
–
–
–
–
–
link from A to G fails
A advertises distance of infinity to G
B and D advertise a distance of 2 to G
B decides it can reach G in 3 hops; advertises this to A
A decides it can read G in 4 hops; advertises this to D
D decides that it can reach G in 5 hops…
CS 640
6
Loop-Breaking Heuristics
• Set infinity to 16
– Assume this is maximum number of hops in network
• Split horizon
– Don’t send routes learned from a neighbor back to a
neighbor
• Split horizon with poison reverse
– Send route back to neighbor with negative information ie. Infinite
• What are the problems?
CS 640
7
Link State (Dijkstra’s algorithm,OSPF)
• Find SP from a given node by sending path data to all
nodes and developing paths in order of increasing length
• Strategy
– send to all nodes (not just neighbors) information about directly
connected links (not entire routing table)
• Link State Packet (LSP)
–
–
–
–
id of the node that created the LSP
cost of the link to each directly connected neighbor
sequence number (SEQNO)
time-to-live (TTL) for this packet
CS 640
8
Link State (cont)
• Reliable flooding
– store most recent LSP from each node
– forward LSP to all nodes but one that sent it
– generate new LSP periodically
• increment SEQNO
– start SEQNO at 0 when reboot
– decrement TTL of each stored LSP
• discard when TTL=0
– This is not easy!
CS 640
9
Download