Workstation-Based • Aggregate bandwidth – 1/2 of the I/O bus bandwidth Router Construction – capacity shared among all hosts connected to switch – example: 1Gbps bus can support 5 x 100Mbps ports (in theory) • Packets-per-second I/O bus Outline – must be able to switch CPU Interface 1 small packets Switched Fabrics – 1M packets-per-second IP Routers is achievable Interface 2 – e.g., 64-byte packets Tag Switching implies 622Mbps Interface 3 Main memory Spring 2005 CS 461 1 Spring 2005 CS 461 2 Switching Hardware Buffering • Design Goals • Wherever contention is possible – throughput (depends on traffic model) – input port (contend for fabric) – scalability (a function of n ) – internal (contend for output port) Input Output port port – output port (contend for link) Input Output port port • Head-of-Line Blocking Fabric Input Output port port – input buffering Input Output • Ports port port – circuit management (e.g., map VCIs, route datagrams) 2 Port 1 – buffering (input and/or output) Switch • Fabric 1 2 Port 2 – as simple as possible – sometimes do buffering (internal) Spring 2005 CS 461 3 Spring 2005 CS 461 4
Knockout Switch Crossbar Switches Inputs • Example crossbar • Concentrator – select l of n packets • Complexity: n 2 1 2 3 4 Outputs Spring 2005 CS 461 5 Spring 2005 CS 461 6 Self-Routing Fabrics Knockout Switch (cont) • Banyan Network • Output Buffer – constructed from simple 2 x 2 switching elements Shifter – self-routing header attached to each packet (a) – elements arranged to route based on this header Buffers – no collisions if input packets sorted into ascending order – complexity: n log 2 n 001 Shifter 011 001 (b) 110 Buffers 011 111 Shifter (c) Buffers 110 111 Spring 2005 CS 461 7 Spring 2005 CS 461 8
Self-Routing Fabrics (cont) High-Speed IP Router • Batcher Network – switching elements sort two numbers • Switch (possibly ATM) • some elements sort into ascending (clear) • Line Cards • some elements sort into descending (shaded) – elements arranged to implement merge sort – link interface (input, output) Routing software Routing software – complexity: n log 2 2 n (forwarding w/ router OS w/ router OS Line card buffering) – router lookup (input) Routing Buffer – common IP path (input) memory CPU – packet queue (output) Line card Line card • Control Processor (forwarding (forwarding buffering) buffering) – routing protocol(s) (forwarding – exceptional cases buffering) Line card • Common Design: Batcher-Banyan Switch Spring 2005 CS 461 9 Spring 2005 CS 461 10 IP Forwarding is Slow ATM Forwarding • Problem: classless IP addresses (CIDR) • Primary goal: fast, cheap forwarding • Route by variable-length Forwarding Equivalence • 1Gb/s IP router: $187,000 Classes (FEC) • 5Gb/s ATM switch: $41,000 – FEC = IP address plus prefix of 1-32 bits; e.g., • Create Virtual Circuit at Flow Setup 172.200.0.0/16 – <in VCI> <port, out VCI> • IP Router • Cell Forwarding – forwarding tbl: <FEC> <next hop, port> – index, swap, switch – match IP address to FEC w/ longest prefix Spring 2005 CS 461 11 Spring 2005 CS 461 12
Tag Switching (MPLS) Forwarding • Add a VCI-like tag to packets • Shim before IP header – <in tag> <next hop, port, out tag> Tag (20 bits) CoS S TTL (8 bits) • Use ATM switch hardware • IP routing protocols (OSPF, RIP, BGP) • Tag Forwarding Information Base (TFIB) – build forwarding table from routing table – <in tag> <next hop, port, out tag> • Goal: IP router functionality at ATM switch • Just like ATM speeds/costs – index, swap, switch Spring 2005 CS 461 13 Spring 2005 CS 461 14 Tag Binding Tag Distribution Protocol • New FEC from IP routing protocols • Send TDP messages to peers – Select local tag (index in TFIB) – <FEC, my tag> – <in tag> <next hop, port, ???> • Upon receiving TDP message, check if sender is • Need <out tag> for next hop next hop for FEC – yes, save tag in TFIB • Other routers need my <in tag> – no, can discard or save for future use • Solution: distribute tags like other routing info • ‘Control-driven’ label assignment Spring 2005 CS 461 15 Spring 2005 CS 461 16
The First Tag Robustness Issues • Two kinds of routers: edge vs. interior • What if tag fault? – try to forward (default route) – discard packet E I I E • Forwarding Loops • Edge: add shim based on IP lookup, strip at exit – topology changes cause temporary loops • Interior: forward by tag only – TTL field in tag, same as IP Spring 2005 CS 461 17 Spring 2005 CS 461 18 Ipsilon: IP Switching Alternative: IP Switch • Run on ATM switch over ATM network • Assume default ATM virtual circuits between routers – ATM hardware + IP switching software • Idea: Exploit temporal locality of traffic to cache • Router runs IP routing protocol, can forward IP packets on default VCs routing decisions • Associate labels (VCI) with flows • Identify flows, assign flow-specific VC – forward packets as usual – flow = port pair or host pair – main difference is in how labels are created, distributed • ‘Data-driven’ label assignment to other routers Spring 2005 CS 461 19 Spring 2005 CS 461 20
Recommend
More recommend