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