Router architecture overview two key router functions s run routing algorithms/protocol(RIP, OSPF, BGP) e s forwarding datagrams from incoming to outgoing link forwarding tables computed, routing pushed to input ports processor routing, management control plane (software forwarding data plane(hardware) high-seed switchin fabric router input ports router output ports Network Layer 4-22
Network Layer 4-22 Router architecture overview two key router functions: ❖ run routing algorithms/protocol (RIP, OSPF, BGP) ❖ forwarding datagrams from incoming to outgoing link high-seed switching fabric routing processor router input ports router output ports forwarding data plane (hardware) routing, management control plane (software) forwarding tables computed, pushed to input ports
Input port functions ookup link forwarding ne layer switch termination protocol fabric receIve queueIng physical layer bit-level reception data link layer decentralized switching e.g., Ethernet s given datagram dest, lookup output see chapter 5 port using forwarding table in input port memory goal: complete input port processing at 'line speed queuing: if datagrams arrive faster than forwarding rate into switch fabric Network Layer 4-23
Network Layer 4-23 line termination link layer protocol (receive) lookup, forwarding queueing Input port functions decentralized switching: ❖ given datagram dest., lookup output port using forwarding table in input port memory ❖ goal: complete input port processing at ‘line speed’ ❖ queuing: if datagrams arrive faster than forwarding rate into switch fabric physical layer: bit-level reception data link layer: e.g., Ethernet see chapter 5 switch fabric
Switching fabrics , o transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transferred from inputs to outputs often measured as multiple of input/output line rate N inputs: switching rate n times line rate desirable ,o three types of switching fabrics memo memory bus crossbar Network Layer 4-24
Network Layer 4-24 Switching fabrics ❖ transfer packet from input buffer to appropriate output buffer ❖ switching rate: rate at which packets can be transferred from inputs to outputs ▪ often measured as multiple of input/output line rate ▪ N inputs: switching rate N times line rate desirable ❖ three types of switching fabrics memory memory bus crossbar
Switching via memory first generation routers traditional computers with switching under direct control of cPu w packet copied to systems memory e CPU extracts dest address from packet's header, looks up output port in forwarding table, copies to output port speed limited by memory bandwidth(2 bus crossings per datagram one racket at a time input output port memory port (e.g. e.g., Ethernet) Ethernet) system bus Network Layer 4-25
Network Layer 4-25 Switching via memory first generation routers: ❖ traditional computers with switching under direct control of CPU ❖ packet copied to system’s memory ❖ CPU extracts dest address from packet’s header, looks up output port in forwarding table, copies to output port ❖ speed limited by memory bandwidth (2 bus crossings per datagram) ❖ one packet at a time input port (e.g., Ethernet) memory output port (e.g., Ethernet) system bus
Switching via a bus datagram from input port memory to output port memory via a shared bus s bus contention: switching 七 speed limited by bus bandwidth EEEEEE. ,o one packet a time bus 32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers Network Layer 4-26
Network Layer 4-26 Switching via a bus ❖ datagram from input port memory to output port memory via a shared bus ❖ bus contention: switching speed limited by bus bandwidth ❖ one packet a time ❖ 32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers bus