22
A Brief History of Router Architecture Tony Li

A Brief History of Router Architecture

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Brief History of Router Architecture

A Brief History of Router Architecture

Tony Li

Page 2: A Brief History of Router Architecture

Disclaimer

The goal of this talk is education and perspective — not dumping on anyone, innocent or guilty. This is all based on non-ECC protected neurons,

and details are blithely ignored. Omissions and errors are all mine.

Page 3: A Brief History of Router Architecture

In the beginning, there was a bus …

NIC NIC NIC MemoryCPU

Page 4: A Brief History of Router Architecture

… and it sucked

Bus and CPU are centralized resources that scale linearly

Cost of the bus interface is proportional to the bus speed and the bus speed is the aggregate for the entire system

Bigger box? More expensive NICs!

We need a scalable architecture

Page 5: A Brief History of Router Architecture

If one bus is good…

MemoryCPUMemory ALU NIC

NIC NIC NIC

Page 6: A Brief History of Router Architecture

… two should suck a little less

A second, faster bus gives more bandwidth An ALU (DSP) gives a few more cycles per packet But it still doesn’t scale

Page 7: A Brief History of Router Architecture

What if we add hardware acceleration?

MemoryCPUMemory ALU NIC

NIC NIC NIC

FPGA

Page 8: A Brief History of Router Architecture

Better, but it still sucksProof-of-concept that you can do packet forwarding in hardware. (So we abandoned that direction.) But the IP address lookup is NOT the only bottleneck, so adding lookup hardware only helps a little. The real issue is centralized bandwidth. We need distributed bandwidth and processing.

Page 9: A Brief History of Router Architecture

And then, the web…

Carriers buy up NSFnet regionals Real Money starts to flow — time to get serious Everyone and their brother wants to build a router ASICs become credible Creativity blossoms

Page 10: A Brief History of Router Architecture

The scheduled crossbarOutput 1

Output 2

Output 3

Output 4

Input 1 Input 2 Input 3 Input 4

Page 11: A Brief History of Router Architecture

Distributed bandwidth, but it still sucks

Scheduling is hard. Contention for outputs means that the switch lanes have to be much faster than the outputs. Worse, because you can’t always drain the inputs, you end up with Head-Of-Line-Blocking (HOLB). Throughput suffers. Inputs need a queue per output. And it doesn’t scale.

Page 12: A Brief History of Router Architecture

What about a torus?

Page 13: A Brief History of Router Architecture

Donuts make lousy routers

Non-uniform bandwidth means that the fabric can congest depending on the traffic pattern. Card removal causes more bandwidth issues.

Bandwidth needs to be distributed and uniform

Page 14: A Brief History of Router Architecture

Distributed cell memory and a full mesh?NIC

NIC

NIC

NIC NIC

NIC

Page 15: A Brief History of Router Architecture

That still sucks…

When a card is hotswapped, all packets are lost. Bandwidth of system is a fixed multiple of the bandwidth of the card. That’s still not scalable.

Page 16: A Brief History of Router Architecture

Centralized shared memory?NIC

NIC

NIC

NIC NIC

NIC

Memory

Page 17: A Brief History of Router Architecture

Better, but still sucks

Lots of nice properties, but It can’t be just one memory, need many banks Need multiple memory controllers Limited by controller bandwidth

It still doesn’t scale

Page 18: A Brief History of Router Architecture

Cell based Clos networks

Output 1

Output 2

Output 3

Output 4

Input 1

Input 2

Input 3

Input 4

Cell Switch

Cell Switch

Cell Switch

Cell Switch

Cell Switch

Cell Switch

Page 19: A Brief History of Router Architecture

Folded Clos networks

NIC 1

NIC 2

NIC 3

NIC 4

Cell Switch

Cell Switch

Cell Switch

Cell Switch

Page 20: A Brief History of Router Architecture

That sucks less

Bandwidth is distributed, uniform, and redundant But scalability is still limited:

Inputs need a queue per output Cell addressing is finite: fabric can only be so big Cell fabric is proprietary and fixed Technology upgrades are difficult to roll-in

Vendor lock-in or chipset lock-in are issues

Page 21: A Brief History of Router Architecture

Supernode architectureSame Clos topology

Industry standard links (Ethernet) and switches

Easy incremental upgrades

True vendor independence

Packet, not cell based, so needs a bit more internal bandwidth

Fabric scales with more stages or more width

Router 1

Router 2

Router 3

Router 4

Packet Switch

Packet Switch

Packet Switch

Packet Switch

Page 22: A Brief History of Router Architecture

Supernode software issues

Needs to look like a single router on Control & Management planes Work in progress:

IGP abstraction - Supernodes looks like a single IGP node Management plane abstraction - Supernode

looks like a single node to top level management