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