Router

routing, management control plane (software) operates in millisecond time frame
forwarding data plane (hardware) operates in nanosecond timeframe
Input Port Functions

Decentralized Switching
using header field values, lookup output port using forwarding table in input port memory (“match plus action”)
goal: complete input port processing at ‘line speed’
input port queuing - if datagrams arrive faster than forwarding rate into switch fabric
destination-based forwarding: forward based only on destination IP address (traditional)
Longest Prefix Matching
When looking for forwarding table entry for given destination address, use longest address prefix that matches destination address
Often performed using ternary content addressable memories (TCAMs)
Content addressable - present address to TCAM - retrieve address in one clock cycle, regardless of table size
Cisco Catalyst - ~1M routing table entries in TCAM
Switching Fabrics
Transfer packet from input link to appropriate output link
Switching rate - rate at which packets can be transfer from inputs to outputs
Often measured as multiple of input/output line rate
N inputs - switching rate N times line rate desirable

3 major types of switching fabrics:

Input Port Queuing
If switch fabric slower than input ports combined -> queueing may occur at input queues
Queueing delay and loss due to input buffer overflow
Head-of-the-Line (HOL) blocking - queued datagram at front of queue prevents others in queue from moving forward

Output Port Queuing
Buffering required when datagrams arrive from fabric faster than link transmission rate. Drop policy: which datagrams to drop if no free buffers?
Datagrams can be lost due to congestion, lack of buffers
Scheduling discipline chooses among queued datagrams for transmission
Priority scheduling – who gets best performance, network neutrality


Buffering when arrival rate via switch exceeds output line speed
Queueing (Delay) and loss due to output port buffer overflow