180 likes | 223 Views
Understand the process of routing in a network of connectionless packet switches. Learn about control paths involving routing and data paths for packet forwarding. Dive into examples and algorithms like Dijkstra's for path computation. Discover the importance of summarized addresses and the operation of switch controllers in exchanging routing information.
E N D
Switch controller: Routing Malathi Veeraraghavan University of Virginia • Connectionless packet switch • Routing • Forwarding • Summarized (aggregated) addresses • Control path and data path • Path computation: Dijkstra’s algorithm • Examples used in practice
A network of connectionless packet switches • Control path: Routing (determine paths) • Switch controllers exchange routing information • Precompute forwarding tables • Data path: Forwarding (send packets) • Packets are switched from link to link across each switch
Goal of routing algorithms • Find "shortest" path on which to route packets or circuits, where the shortest path is determined by some metric, e.g.: • minimum-weight path (add link weights) • minimum end-to-end delay • path with the most available bandwidth • The algorithm should adapt to changes in • topology (includes administrator-set link weights) • reachability • identify the switch through which a destination address can be reached • destination could be several hops away • loading conditions
Analogy • In the roadways transportation network, where does a driver obtain the three types of routing information: • topology information? • reachability information? • loading information?
Difference between topology and reachability information • Relative to Switch IV: • Topology information: Switch IV has links to hosts IV-A & IV-B (in addition to links to other switches) • Reachability information: Switch IV can reach hosts III-B and III-C, host I-A • addresses that are more than one hop away • implicit: reachability to directly connected hosts (part of topology information) Switch II Host III-B Host I-A Switch III Switch I Host III-C Switch IV Host IV-A Host IV-B
One approach:Routing protocol exchanges + Forwarding table precomputation • Link-state routing protocols • Routing protocol exchanges • Switch controllers send/receive routing protocol messages to exchange information about topology, reachability and loading conditions with each other • Each switch controller thus acquires a picture of the whole network • Forwarding table pre-computation • Each switch controller then executes a shortest-path algorithm, such as Dijkstra's algorithm, to compute the shortest paths from its switch to all other switches • Each switch controller then updates a forwarding table, which shows the next-hop and/or output port for each destination address
Summarized addresses • What are summarized addresses? • An address that represents a group of endpoint addresses • e.g., all 434 numbers, 128.143 IP addresses • Why summarize addresses? • To reduce forwarding table sizes – hold one entry for a summarized address instead of a large number of individual addresses • To reduce routing message lengths that convey reachability information
Dest. Next hop III-B III-B III-C III-C Dest. Next hop III-* III Control path: Routing protocol exchanges + forwarding table pre-computation • I, II, III, IV: switches • Link weights are shown next to links • Host interface addresses are derived from switch addresses (e.g. I-A is connected to switch I) • A few example forwarding table entries shown at switches I, III, IV • III-*: summarized address for all hosts connected to switch III II 4 5 1 Host I-A Host III-B I III 1 1 IV Host III-C Dest. Next hop III-* IV Forwarding table (will have other entries)
Dest. Next hop III-B III-B III-C III-C Dest. Next hop III-* III Data path: User-data transfer(e.g., packet destined to Host III-B) Packet header Packet payload III-B II III-B Host I-A III-B I III-B III Host III-B IV Dest. Next hop III-* IV Host III-C • Packet header carries destination host interface address (unchanged as it passes hop by hop) • Each packet switch does a forwarding table lookup to determine the outgoing next hop switch
Next-hop and/or output ports in forwarding table 4 Switch II 5 Host III-B Host I-A b a Switch III 1 Switch I b c 1 a Host III-C c 1 Switch IV d e Host IV-A Host IV-B link weight Forwarding table (will have other entries) Dest. Next hop Output port Output port Dest. Next hop IV-A IV-B IV-A III ? ? ? ? III-* c III-* IV Forwarding table (will have other entries)
Forwarding table precomputation: Dijkstra’s algorithm • Find shortest paths from source node s to all other nodes. • At each iteration, determine the “next closest node ” from the source s. • For each node that is still not in set M (the set containing nodes to which shortest paths from the source have already been computed), determine if its current distance from s is shorter than the path routed via the selected “next closest node. ” • Find the “next closest node” after finding all the distances. • Move “next closest node ” into set M. • When the set M has all the nodes, stop. "Node" in this application of Dijkstra's algorithm represents a network "Switch."
Dijkstra's algorithm s: source node. wsn:administrator-set link weight for the link from node s to node n M = {s}; for each n M Dn = wsn; while (M all nodes) do Find i M for which Di = min{Dj ; j M}; Add i to M; for each n M Dn = mini [ Dn, Di + win ]; Update route; enddo
Example 5 Administrator-set link weights 2 3 3 5 2 3 1 1 6 2 w56=2 1 2 4 5 1
List path weight and route Simple shortest path: Only static administrator-set link weights considered Loading information not considered in this computation of shortest paths
Resulting forwarding table Forwarding table at node 1Destination Next Hop 2 2 3 4 4 4 5 4 6 4
Examples used in practice • Addressing • IP-routed networks (e.g., Internet) • 4-byte IP addresses • Hierarchical addresses • Address summarization done • Ethernet switched network • 6-byte MAC address • Flat addresses • No address summarization
Examples used in practice • IP-routed networks (e.g., Internet) • Routing protocols • Open Path Shortest First (OSPF) • Border Gateway Protocol (BGP) • Ethernet switched networks • Forwarding table is built up as Ethernet frames are forwarded