1 / 18

Switch controller: Routing

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.

Download Presentation

Switch controller: Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. Analogy • In the roadways transportation network, where does a driver obtain the three types of routing information: • topology information? • reachability information? • loading information?

  5. 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

  6. 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

  7. 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

  8. 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)

  9. 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

  10. 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)

  11. 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."

  12. 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

  13. Example 5 Administrator-set link weights 2 3 3 5 2 3 1 1 6 2 w56=2 1 2 4 5 1

  14. 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

  15. Resulting forwarding table Forwarding table at node 1Destination Next Hop 2 2 3 4 4 4 5 4 6 4

  16. 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

  17. 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

  18. AnswerDijkstra’s algorithm example

More Related