wan technologies and routing packet switches and store and forward hierarchical addresses, routing...
TRANSCRIPT
![Page 1: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/1.jpg)
WAN technologies and routing
• Packet switches and store and forward• Hierarchical addresses, routing and routing
tables• Routing table computation• Example WAN technologies
![Page 2: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/2.jpg)
Categories of network technology
• Local Area Network (LAN)• Metropolitan Area Network (MAN)• Wide Area network (WAN)• Key distinguishing feature is scale:
– geographic distance AND– number of connected computers
![Page 3: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/3.jpg)
Packet Switches• In order to grow, WANs use many switches• Basic component is the packet switch that
can connect to local computers and to other packet switches
![Page 4: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/4.jpg)
WAN topology• Chosen to accommodate expected traffic
and to provide redundancy
![Page 5: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/5.jpg)
Store and forward
• Each switch receives packets, queues them in its memory and then sends them out when possible (i.e., when the destination is available)
• Many computers can send packets simultaneously
![Page 6: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/6.jpg)
Physical addressing in a WAN
• A WAN defines a frame format and assigns physical addresses to its computers
• Hierarchical addressing, e.g.,– first part identifies packet switch– second part identifies computer on this switch
switch 1 switch 2
A
B
C
D
[1,2]
[1,5]
[2,2]
[2,6]
address
![Page 7: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/7.jpg)
Next hop forwarding
• A packet switch determines the destination for each packet from the destination address– local computer or– another packet switch
• Only has information about how to reach the next switch - next hop
• This is held in a routing table
![Page 8: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/8.jpg)
Example routing table
A
B
C
D
E F
S1
S2
S3
Routing table for S2Destination Next Hop
[1,2] interface 1[1,5] interface 1[3,2] interface 4[3,5] interface 4[2,1] computer E[2,6] computer F
[1,2]
[1,5]
[2,1] [2,6]
[3,2]
[3,5]
![Page 9: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/9.jpg)
Source independence
• The next hop depends upon the destination address but not on the source address
![Page 10: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/10.jpg)
Hierarchical addresses and routing• Routing is the process of forwarding a
packet to its next hop• Hierarchical addresses simplify routing
– smaller routing tables– more efficient look up
![Page 11: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/11.jpg)
Routing in a WAN
• Large WANs use interior switches and exterior switches
• Their routing tables must guarantee that– Universal routing - there must be a next hop for
every possible destination– Optimal routes - the next hop must point to the
“shortest path” to the destination
![Page 12: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/12.jpg)
Default routes• A routing table may be simplified by including
(at most) one default route
Switch 1Destn next hop1 -* interface 3
Switch 2Destn next hop2 -4 interface 4* interface 3
Switch 3Destn next hop3 -• interface 2• interface 34 interface 4
![Page 13: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/13.jpg)
Routing table computation
• Manual computation is not feasible for large networks
• Static routing - program computes and installs routes when a switch boots; these routes do not change.
• Dynamic routing - program builds an initial table when the switch boots; this alters as conditions change.
![Page 14: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/14.jpg)
WANs and graphs• A Wan can be modelled as a graph• Nodes are switches: 1, 2, 3, 4• Edges are connections between switches: (1,3) (2,3) (2,4) (3,4)• Weights are ‘distance’ along a connection
![Page 15: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/15.jpg)
Computing the shortest path
• Dijkstra’s algorithm - find the distance from a source node to each other node in a graph
• Run this for each switch and create next-hop routing table as part of the process
• “Distance” represented by weights on edges
![Page 16: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/16.jpg)
Example of the shortest path
![Page 17: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/17.jpg)
Dijkstra’s algorithm• S = set of nodes, labelled with current distance
from source, but for which minimum distance is not yet known
• Initialise S to everything but the source• Iterate:
– select the node, u, from S that has smallest current distance from source
– examine each neighbour of u and if distance to the neighbour from source is less via u than is currently recorded in S then update
![Page 18: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/18.jpg)
Implementation
• Data structure to store information about the graph (nodes and edges)
• Integer labels for the nodes [1..n]• Three data structures:
– current distance to each node - array - D[1..n]– next hop destination for each node array - R[1..n]– set S of remaining nodes - linked list - S
• weight(i, j) function (infinity if no edge)
![Page 19: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/19.jpg)
Given:a graph with nonnegative weight assigned to each edge and a designated source node
Compute:the shortest distance from the source node to each other node and a next-hop routing table
Method:Initialise the set S to contain all nodes except the sourceInitialise D so that D[u] = weight(source, u)Initialise R so that R[v] = v if there is an edge from the source to v and zero otherwise
![Page 20: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/20.jpg)
while ( set S is not empty ) {choose a node u from S such that D[u] is minimumif ( D[u] is infinity ) {
error: no path exists to nodes in S; quit}delete u from set Sfor each node v such that (u, v) is an edge {
if v still in S {c = D[u] + weight (u,v);if c < D[v] {
R[v] = R[u]D[v] = c;
}}
}}
![Page 21: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/21.jpg)
Example
S = { 1, 2, 3, 4, 5, 6, 7 }
Distance D1 2 3 4 5 6 7
Next hop route R1 2 3 4 5 6 7
![Page 22: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/22.jpg)
Example
S = { 1, 2, 3, 4, 5, 6, 7 }
Distance D1 2 3 4 5 6 7
Next hop route R1 2 3 4 5 6 7
S = source = 6
∞ 8 2 ∞ ∞ - 5
0 2 3 0 0 - 7
X
5
X
13 0 3 3 3 0 - 7
![Page 23: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/23.jpg)
Distributed route computation
• Dijkstra’s algorithm requires each switch to hold a complete description of the network
• In distributed route computation computation, each switch periodically computes a new local table and sends it to its neighbours
• After a while, the switches learn shortest routes or adapt to changes in the network
![Page 24: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/24.jpg)
Given:
a local routing table, a weight for each link that connects to another switch and an incoming routing message
Compute:an updated routing table
Method:maintain a distance field in each routing table entryinitialise routing table with a single entry that has the destination equal to the local packet switch, the next hop unused and the distance set to sero
![Page 25: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/25.jpg)
Repeat forever {
wait for the next routing message to arrive over the network; let the sender be switch Nfor each entry in the message {
let V be the destination in the entry and D the distancecompute C as D plus the weight of the link over which the message arrived
examine and update the local routing table {if ( no route exists to V ) {
add an entry to the local table for V with next hop N and distance C
} else if ( a route exists with next hop N ) {replace existing distance with C
} else if (route exists with distance > C )change next hop to N and distance to C
}}
}
![Page 26: WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example](https://reader035.vdocuments.us/reader035/viewer/2022081506/56649e665503460f94b60ac2/html5/thumbnails/26.jpg)
Link state routing
• Each switch periodically broadcasts state of specific links to other switches
• Switches collect these messages and then apply Dijkstra’s algorithm to their version of the state of the network