Title: Wide Area Networks (WANs),
1Part 3.1
- Wide Area Networks (WANs),
- Routing, and Shortest Paths
Robert L. Probert, SITE, University of Ottawa
2Motivation
- Connect multiple computers
- Span large geographic distance
- Cross public right-of-way
- Streets
- Buildings
- Railroads
3Building Blocks
- Point-to-point long-distance connections
- Packet switches
4Packet Switch
- Hardware device
- Connects to
- Other packet switches
- Computers
- Forwards packets
- Uses addresses
5Illustration of a Packet Switch
- Special-purpose computer system
- CPU
- Memory
- I/O interfaces
- Firmware
6Building a WAN
- Place one or more packet switches at each site
- Interconnect switches
- LAN technology for local connections
- Leased digital circuits for long-distance
connections
7Illustration of a WAN
- Interconnections depend on
- Estimated traffic
- Reliability needed
8Store and Forward
- Basic paradigm used in packet switched network
- Packet
- Sent from source computer
- Travels switch-to-switch
- Delivered to destination
- Switch
- Stores packet in memory
- Examines packets destination address
- Forwards packet toward destination
9Addressing in a WAN
- Need
- Unique address for each computer
- Efficient forwarding
- Two-part address
- Packet switch number
- Computer on that switch
10Illustration of WAN Addressing
- Two part address encoded as integer
- Higher-order bits for switch number
- Low-order bits for computer number
11Next-Hop Forwarding
- Performed by packet switch
- Uses table of routes
- Table gives next hop
12Forwarding Table Abbreviations
- Many entries point to same next hop
- Can be condensed (default)
- Improves lookup efficiency
13Source of Routing Table Information
- Manual
- Table created by hand
- Useful in small networks
- Useful if routes never change
- Automatic routing
- Software creates/updates table
- Needed in large networks
- Changes routes when failures occur
14Relationship of Routing To Graph Theory
- Graph
- Node models switch
- Edge models connection
15Shortest Path Computation
- Algorithms from graph theory
- No central authority (distributed computation)
- A switch
- Must learn route to each destination
- Only communicates with directly attached neighbors
16Illustration of Minimum Weight Path
- Label on edge represents distance
- Possible distance metric
- Geographic distance
- Economic cost
- Inverse of capacity
- Darkened path is minimum 4 to 5
17Algorithms for Computing Shortest Paths
- Distance Vector (DV)
- Switches exchange information in their routing
tables - Link-state
- Switches exchange link status information
- Both used in practice
18Distance Vector
- Periodic, two-way exchange between neighbors
- During exchange, switch sends
- List of pairs
- Each pair gives (destination, distance)
- Receiver
- Compares each item in list to local routes
- Changes routes if better path exists
19Distance Vector Algorithm
20Distance Vector Intuition
- Let
- N be neighbor that sent the routing message
- V be destination in a pair
- D be distance in a pair
- C be D plus the cost to reach the sender
- If no local route to V or local routed has cost
greater than C, install a route with next hop N
and cost C - Else ignore pair
21Example of Distance Vector Routing
- Consider transmission of one DV message
- Node 2 send to 3, 5, and 6
- Node 6 installs cost 8 route to 2
- Later 3 sends update to 6
- 6 changes route to make 3 the next hop for
destination 2
22Proposal
Each node discovers its neighbors and tells one
specific node (the leader) what they find. The
leader runs an algorithm to solve the all-pairs
shortest path problem, computing routing tables
for each node. The leader communicates the
routing table to each node, which stores it in
non-volatile memory in each of the nodes.
Question What are the problems with this method?
23Distance Vector Routing
Global view
Info at node Distance to node Distance to node Distance to node Distance to node Distance to node Distance to node Distance to node
Info at node A B C D E F G
A 0 1 1 1 1
B 1 0 1
C 1 1 0 1
D 1 0 1
E 1 0
F 1 0 1
G 1 1 0
As view vector
Dest Cost NextHop
B 1 B
C 1 C
D -
E 1 E
F 1 F
G -
24Distance Vector Routing
Every node starts by building its own local view
of what nodes are 1 hop away. Next, every node
sends its vector to its directly connected
neighbors.
F tells A that it can reach G at cost 1. A knows
it can reach F at cost 1, so it updated its own
vector to indicate that it can reach G at cost 2.
If A were to discover another route to G at a
cost higher than 2, it would ignore it and leave
its vector as it is. After a few iterations of
these exchanges, the routing table converges to a
consistent state.
Question How would this method deal with link
failures?
25Distance Vector Routing
Periodic updates Every t seconds, send your
local info to your neighbors. This allows other
nodes to know that you are running.
Triggered updates Every time you learn new
information from a neighbor that leads you to
update your local vector, you send the recomputed
vector to all your neighbors.
Question How can you detect that a node has
failed?
26The Count-to-infinity Problem
Link (A,E) goes down. A periodic update kicks in
and A advertises that its distance to E is
infinity. At about the same time, B and C tell
each other that they can reach E in 2 hops. B
knows now that it cant communicate with E via A,
but concludes that it can send traffic to C which
says it can reach A in 2 hops. Now, B is thinking
that its distance to E is 3 hops and it lets A
know about that. Argh, now A is going to think it
can reach E in 4 hops and it will tell C of this
fact Where does this end?
The routing table doesnt converge or stabilize.
27Link-State Routing
- Overcomes instabilities in DV
- Pair of switches periodically
- Test link between them
- Broadcast link status message
- Switch
- Receives status message
- Computes new routes
- Uses Dijkstras algorithm
28Link State Routing
- Assumptions Each node can discover the state of
the link to its neighbors and the cost of each
link. - Basic principle If every node knows how to reach
its directly connected neighbors, one can spread
the local knowledge of each node to all other
nodes in the network so that every node can
construct a the network weighted graph. With this
knowledge, a node can always determine the
shortest path to any other node in the network.
29Link State Routing Mechanisms
- Reliable dissemination of link-state information
a flooding. - Calculation of routes from the sum of all the
accumulated link-state knowledge.
30Reliable Flooding
- Question If you are a node and you want to tell
your neighbors the state of the links incident to
you, what should be contained in the information
packets that you pass to them? - Underlying Problems
- A packet should reflect the state of your links
at a given point in time. - You need to ensure that old link-state
information eventually stops circulating around
the network.
31Reliable Flooding
- Question How can one guarantee that the
link-state packets sent from a node will
definitely arrive at its neighbors? - Question How does one deal with the possibility
of having multiple, contradictory copies of a
nodes link-state packets circulate the network
at the same time?
32Link-State Packet (LSP)
- CreatorID identity of the packet creator.
- NeighborsList a list of tuples like
ltNeighborId, link costgt. - SequenceNumber a counter value that places this
packet in the context of all LSPs sent out by the
creator of this packet. - TTL time to live in number of hops.
Question When should a node send out an LSP?
33Dealing with LSPs
- An LSP is sent out when
- A periodic time expires.
- A topology change is detected.
-
- Important Routing messages, that is LSPs, are
overhead in the network and they should be kept
to a minimum.
34Route Calculation(based on Dijkstras
shortest-path algorithm)
- Assumptions
- A node constructs a graph to represent the
network to the best of its knowledge (received
LSPs). - N V, number of nodes.
- l(i,j) Non-negative weight of edge (i,j).
- M nodes set of nodes incorporated so far for
some node s. - C(n) cost of the path from node s to node n.
- Algorithm for a node s
- M s
- for each n in N-s do C(n)l(s,n)
- while (N not equal M)
- MM Uw such that C(w)minfor all w in (N-M)
- for each n in (N-M) do C(n)minC(n),
C(w)l(w,n)
35Example of Link-State Information
- Assume nodes 2 and 3
- Test link between them
- Broadcast information
- Each node
- Receives information
- Recomputes routes as needed
36Dijkstras Shortest Path Algorithm
- Input
- Graph with weighted edges
- Node, n
- Output
- Set of shortest paths from n to each node
- Cost of each path
- Called Shortest Path First (SPF) algorithm
37Dijkstras Algorithm
38Algorithm Intuition
- Start with self as source node
- Move outward
- At each step
- Find node u such that it
- Has not been considered
- Is closest to source
- Compute
- Distance from u to each neighbor v
- If distance shorter, make path from u go through v
39Result of Dijkstras Algorithm
- Example routes from node 6
- To 3, next hop 3, cost 2
- To 2, next hop 3, cost 5
- To 5, next hop 3, cost 11
- To 4, next hop 7, cost 8
40Properties of Link-State Routing
- Stabilizes quickly.
- Keeps routing control traffic low.
- Responds rapidly to topology changes.
- Doesnt scale well the amoung of information
stored in each node is large.
41Early WAN Technologies
- ARPANET
- Historically important in packet switching
- Fast when invented, slow by current standards
- X.25
- Early commercial service
- Still Used
- More popular in Europe
42Recent WAN Technologies
- SMDS
- Offered by phone companies
- Not as popular as Frame Relay
- Frame Relay
- Widely used commercial service
- Offered by phone companies
- ATM
43Assessment of ATM
- In practice, failed to deliver on promise
- Switches initially too expensive for LAN
- QoS difficult to implement cost-effectively
44Summary
- Wide Area Networks (WANs)
- Span long distances
- Connect many computers
- Built from packet switches
- Use store-and-forward
- WAN addressing
- Two-part address
- Switch/computer
45Summary (continued)
- Routing
- Each switch contains routing table
- Table gives next-hop for destination
- Routing tables created
- Manually
- Automatically
- Two basic routing algorithms
- Distance vector
- Link state
46Summary (continued)
- Example WAN technologies
- ARPANET
- X.25
- SMDS
- Frame Relay
- ATM