Network Switch & Router Implementations

  • the processor has a mechanism to move data directly from an interface to its main memory without having to be directly copied by the CPU, a technique called direct memory access (DMA)
  • the upper bound on aggregate throughput is the lesser of:
    • half the main memory bandwidth
    • half the I/O bus bandwidth

Ports

  • input ports
  • fabric
  • output ports

Buffering

  • not just holding onto packets, but also including packet scheduling and discard algorithms
  • types of buffering within a switch/router:
    • input buffering - buffering at input ports
    • output buffering - buffering at output ports
    • internal buffering - buffering within the fabric

Fabrics

  • a switch fabric should be able to move packets from input ports to output ports while minimizing delay
  • types of fabric types:
    • shared bus
      • the bus bandwidth determines the throughput of switch
    • shared memory
      • packets are written into memory by an input port and read from memory by the output ports
      • memory bandwidth determines the switch throughput
    • crossbar
      • is a matrix of pathways that can be configured to connect any input port to any output port
      • main problem with crossbars is that output ports are required to accept packets from all inputs at once
    • self-routing
      • fabric relies on some information in the packet header to direct each packet to its correct output
      • usually a special “self-routing header” is appended to packet by the input port, and is removed by output port as it exits
  • self-routing fabrics are the most scalable design

Router Implementations

  • routers must be designed to handle variable-length packets
  • routers designed using a switching fabric that is cell based requires ports to problem segmentation and re-assembly(SAR)
  • line-rate - is used to characterizing performance. line-rate = packet-size x packets-per-second
  • router forwarding models:
    • centralized - single processing engine handles all traffic of all ports
    • distributed - several processing engines handling traffic
  • IP forwarding in routers more complicated than in bridges and ATM switches
    • bridges and ATM switches, forwarding simply involves looking up a fixed-length identifier (MAC address or VCI), finding the correct output port in the table, and sending the packet to that port
    • IP forwarding, forwarding a packet requires examining a variable amount of bits