Router Architectures Venkat Padmanabhan Microsoft Research 13 April 2001 Venkat Padmanabhan 1
Outline Router architecture overview 50 Gbps multi-gigabit router (Partridge et al.) Technology trends Venkat Padmanabhan 2
What s in a Router? Input Ports Router Output Ports Directs packets from input ports to output ports A single physical port may handle both directions Venkat Padmanabhan 3
What does a router do? Maintain routing tables Send and process updates Forward packets Get packet Check its header and get destination Look up destination in table to find output link Update header Send packet to output How is a router different from a switch? Venkat Padmanabhan 4
Router Architecture Input Ports Output Ports Data Link and PHY Queue Switching Fabric Queue Data Link and PHY Data Link and PHY Queue Queue Data Link and PHY Forwarding this side Network Processor Scheduling this side Venkat Padmanabhan 5
Router Components Line card Packet processor Switching fabric Routing processor Venkat Padmanabhan 6
Line Card (Input) A line card can hold multiple network interfaces why is this a good idea? heterogeneous interfaces: T1, T3, OC-12, OC-48, OC-192 Functions media-specific processing send header to forwarding engine & await response queue packets (is this necessary?) would a single FIFO queue be OK? Venkat Padmanabhan 7
Head of Line Blocking Consequence of input queuing when there is contention for output ports A packet may be blocked even though its output port is free Venkat Padmanabhan 8
Packet Processor Does per-packet processing Functions forwarding flow classification accounting Alternatives software-based algorithms on general purpose processor (e.g., MGR) custom hardware (most commercial routers) Venkat Padmanabhan 9
Forwarding engine Two functions determine output port for a packet classify packet Challenges lookup: longest prefix matching classification: multi-dimensional filter matching Issues why separate forwarding from routing? is wire-speed forwarding needed? co-locate on line card or keep separate? can we depend on a route cache? Venkat Padmanabhan 10
Routing & Forwarding Routing: control path (slow) Forwarding: data path (fast) Reasons for separating them forwarding table can be compact forwarding shielded from impact of route flaps Venkat Padmanabhan 11
Switching Fabric There s a network within a router! Considerations: throughput fairness scalability cost Switch packets or cells? Common types of fabrics: shared media (bus, memory) crossbar self-routing (banyan, Batcher banyan) Venkat Padmanabhan 12
Line card (output) Functions buffering (what causes packet drops?) scheduling Issues where should we buffer input or output? should we short-circuit switch fabric if input and output ports are on same card? Venkat Padmanabhan 13
Scheduling What order do we sent queued packets? order called a scheduling discipline enables Quality of Service (QOS) Split functionality network processor decides priorities & allocations output port does scheduling FIFO scheduling (Drop Tail routers) simple and widely used in practice WFQ = Weighted Fair Queuing more complex, supported in new routers Venkat Padmanabhan 14
Network Processor The CPU of the router Functions participates in routing protocol constructs & updates forwarding table slow path packet processing (IP options, fragmentation) Venkat Padmanabhan 15
Trends Terabit routers Packet processor based on custom hardware programmable ASIC ternary CAM Multi-protocol Label Switching (MPLS) Support for efficient multicast All-optical switches Venkat Padmanabhan 16
Next Lecture Congestion control & TCP D.M. Chiu, R. Jain, Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks, Computer Networks and ISDN systems 17, 1989 V. Jacobson, Congestion Avoidance and Control, ACM SIGCOMM 1988 (review due) Venkat Padmanabhan 17