Presentation is loading. Please wait.

Presentation is loading. Please wait.

SEPT, 2005CSI 41181 Part 3.1 Wide Area Networks (WANs), Routing, and Shortest Paths Robert L. Probert, SITE, University of Ottawa.

Similar presentations


Presentation on theme: "SEPT, 2005CSI 41181 Part 3.1 Wide Area Networks (WANs), Routing, and Shortest Paths Robert L. Probert, SITE, University of Ottawa."— Presentation transcript:

1 SEPT, 2005CSI 41181 Part 3.1 Wide Area Networks (WANs), Routing, and Shortest Paths Robert L. Probert, SITE, University of Ottawa

2 SEPT, 2005CSI 41182 Motivation Connect multiple computers Span large geographic distance Cross public right-of-way Streets Buildings Railroads

3 SEPT, 2005CSI 41183 Building Blocks Point-to-point long-distance connections Packet switches

4 SEPT, 2005CSI 41184 Packet Switch Hardware device Connects to Other packet switches Computers Forwards packets Uses addresses

5 SEPT, 2005CSI 41185 Illustration of a Packet Switch Special-purpose computer system CPU Memory I/O interfaces Firmware

6 SEPT, 2005CSI 41186 Building 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

7 SEPT, 2005CSI 41187 Illustration of a WAN Interconnections depend on Estimated traffic Reliability needed

8 SEPT, 2005CSI 41188 Store 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 packet’s destination address “Forwards” packet toward destination

9 SEPT, 2005CSI 41189 Addressing in a WAN Need Unique address for each computer Efficient forwarding Two-part address Packet switch number Computer on that switch

10 SEPT, 2005CSI 411810 Illustration of WAN Addressing Two part address encoded as integer Higher-order bits for switch number Low-order bits for computer number

11 SEPT, 2005CSI 411811 Next-Hop Forwarding Performed by packet switch Uses table of routes Table gives next hop

12 SEPT, 2005CSI 411812 Forwarding Table Abbreviations Many entries point to same next hop Can be condensed (default) Improves lookup efficiency

13 SEPT, 2005CSI 411813 Source 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

14 SEPT, 2005CSI 411814 Relationship of Routing To Graph Theory Graph Node models switch Edge models connection

15 SEPT, 2005CSI 411815 Shortest 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

16 SEPT, 2005CSI 411816 Illustration 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

17 SEPT, 2005CSI 411817 Algorithms 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

18 SEPT, 2005CSI 411818 Distance 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

19 SEPT, 2005CSI 411819 Distance Vector Algorithm

20 SEPT, 2005CSI 411820 Distance 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

21 SEPT, 2005CSI 411821 Example 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

22 SEPT, 2005CSI 411822 Proposal 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?

23 SEPT, 2005CSI 411823 Distance Vector Routing Info at nod e Distance to node ABCDEFG A01111 B101 C1101 D101 E10 F101 G110 DestCostNextHop B1B C1C D- E1E F1F G- Global view A’s view: vector

24 SEPT, 2005CSI 411824 Distance Vector Routing Every node starts by building it’s 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?

25 SEPT, 2005CSI 411825 Distance 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?

26 SEPT, 2005CSI 411826 The 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 can’t 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 doesn’t converge or stabilize.

27 SEPT, 2005CSI 411827 Link-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 Dijkstra’s algorithm

28 SEPT, 2005CSI 411828 Link 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.

29 SEPT, 2005CSI 411829 Link State Routing Mechanisms Reliable dissemination of link-state information  flooding. Calculation of routes from the sum of all the accumulated link-state knowledge.

30 SEPT, 2005CSI 411830 Reliable 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.

31 SEPT, 2005CSI 411831 Reliable 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 node’s link-state packets circulate the network at the same time?

32 SEPT, 2005CSI 411832 Link-State Packet (LSP) CreatorID: identity of the packet creator. NeighborsList: a list of tuples like. 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?

33 SEPT, 2005CSI 411833 Dealing 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.

34 SEPT, 2005CSI 411834 Route Calculation (based on Dijkstra’s 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) M=M U{w} such that C(w)=min{for all w in (N-M)} for each n in (N-M) do: C(n)=min{C(n), C(w)+l(w,n)}

35 SEPT, 2005CSI 411835 Example of Link-State Information Assume nodes 2 and 3 Test link between them Broadcast information Each node Receives information Recomputes routes as needed

36 SEPT, 2005CSI 411836 Dijkstra’s 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

37 SEPT, 2005CSI 411837 Dijkstra’s Algorithm

38 SEPT, 2005CSI 411838 Algorithm 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

39 SEPT, 2005CSI 411839 Result of Dijkstra’s 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

40 SEPT, 2005CSI 411840 Properties of Link-State Routing Stabilizes quickly. Keeps routing control traffic low. Responds rapidly to topology changes. Doesn’t scale well: the amoung of information stored in each node is large.

41 SEPT, 2005CSI 411841 Early 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

42 SEPT, 2005CSI 411842 Recent WAN Technologies SMDS Offered by phone companies Not as popular as Frame Relay Frame Relay Widely used commercial service Offered by phone companies ATM

43 SEPT, 2005CSI 411843

44 SEPT, 2005CSI 411844

45 SEPT, 2005CSI 411845

46 SEPT, 2005CSI 411846

47 SEPT, 2005CSI 411847

48 SEPT, 2005CSI 411848

49 SEPT, 2005CSI 411849

50 SEPT, 2005CSI 411850

51 SEPT, 2005CSI 411851

52 SEPT, 2005CSI 411852

53 SEPT, 2005CSI 411853

54 SEPT, 2005CSI 411854

55 SEPT, 2005CSI 411855 Assessment of ATM In practice, failed to deliver on promise Switches initially too expensive for LAN QoS difficult to implement cost-effectively

56 SEPT, 2005CSI 411856 Summary 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

57 SEPT, 2005CSI 411857 Summary (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

58 SEPT, 2005CSI 411858 Summary (continued) Example WAN technologies ARPANET X.25 SMDS Frame Relay ATM


Download ppt "SEPT, 2005CSI 41181 Part 3.1 Wide Area Networks (WANs), Routing, and Shortest Paths Robert L. Probert, SITE, University of Ottawa."

Similar presentations


Ads by Google