AnatomyAnatomy of Coreof Network Network Elements Elements from 1Gbps to 10Tbps

Josef Ungerman CSE, CCIE#6167

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 1 Agenda

1. Basic Terms

2. Architectures

3. Architectures

4. Hybrid Architectures

5. Network Processors

6. Switch Fabrics

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 2 Basic Terms Chapter 1

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 3 Cisco in 80’s: Router Architecture

CPU DRAM

Flash, NVRAM, CON, AUX,... Packet

interfaces Interconnect interfaces

Store & Forward Switching – using packet buffers and QoS, handles WAN interfaces (very variable interface speeds)

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 4 Real-Time Switching

CPU DRAM

Flash, NVRAM, CON, AUX,... process level Packet

interrupt level

interfaces Interconnect interfaces

Process Switching – IOS Process handles the forwarding decision and other operations with the packet

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 5 Real-Time Packet Processing Data Plane vs. Control Plane

CPU DRAM

Flash, NVRAM, CON, AUX,... process level process region Control Packet interrupt level I/O region Data Packet

interfaces Interconnect interfaces

Data Plane – transit packets (aka. fast path) Control Plane – packets for the router (, management, exceptions) • routing/control plane = routing and vital functions (OSPF, BGP, LDP, NTP, keepalives,...) • management plane = access to the router (telnet, ssh, SNMP, ...)

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 6 Real-Time Packet Processing NP (Network ) – S/W vs. H/W router

CPU Route DRAM Flash, NVRAM, Control Packet CON, AUX,... IOS Data Packet

NP (Network u-code Packet DRAM Processor) Data Packet

interfaces Interconnect interfaces

NP (Network Processor) – NP handles the data plane, not IOS (platform-dependent) CPU – runs IOS – handles only the control plane (platform-independent)

Slow Path – IOS on the CPU can still forward some packets that NP cannot handle (eg. exceptions, non-IP protocols routing, unsupported features) Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 7 Real-Time Packet Processing NP (Network Processor) – S/W vs. H/W router

Routing & Forwarding Engine CPU Route DRAM Flash, NVRAM, Control Packet CON, AUX,... IOS Data Packet

NP (Network NPU header BQS Packet DRAM Processor) Data Packet

interfaces Interconnect interfaces

BQS (Buffering, Queuing, Scheduling) or TM (Traffic Manager) ASIC – handles the memory access and QoS (packet body)

NPU (Network Processing Unit) – handles only packet forwarding and operations (packet header) Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 8 Summary – what is inside the router? BBB – basic building blocks

• Processor • control-plane – OS processor • data-plane – network processor

• Memory • DRAM for OS memory and packet buffers • SRAM for caches • TCAM for fast lookups

• Interconnects • • serial link • switch fabric

We do not care about what is visible on the router • chassis, fans, power supplies • control ports – CON, AUX, BITS, Alarms, Disks • data ports – LAN and WAN interfaces

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 9 “It is always something

(corollary). Good, Fast, Cheap:

Pick any two (you can’t have all three).”

RFC 1925 “The Twelve Networking Truths”

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 10 Packet Processing Technology Primer Performance vs. Flexibility

CPU () • multi-purpose processors (CISC, RISC) • high s/w flexibility [weeks] • low performance stability [cca 1Mpps today] • usage example: access routers (ISR’s)

ASIC (Application Specific ) • mono-purpose hard-wired functionality • low engineering flexibility [2 years] • high performance stability [over 200 Mpps today]

• usage example: (Catalysts), core routers

Input Demux

Feedback NP (Network Processor) = “something in between”

IM IM IM IM

0 4 8 12

Mem.

Column • performance + programmability

IM IM IM IM

1 5 9 13

Mem.

Column

IM IM IM

IM • moderate s/w flexibility [months]

2 6 10 14

Mem.

Column

IM IM IM IM

3 7 11 15

7 • moderate and stable performance [4Mpps – 40 Mpps+]

Mem.

Column Mux

Output • can be expensive, power-hungry, can have low code memory • usage: fast feature-rich edge and aggregation

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 11 Memory Technology Primer Capacity vs. Access Speed

Two basic memory technologies are in use today: • Static RAM (SRAM, SSRAM) • Dynamic RAM (DRAM, EDO DRAM, SDRAM, DDR)

SRAM DRAM High Power Low Power High Speed Low Speed [10-20ns] [40-60ns] Low Density High Density [eg. 16M per chip] [eg. 1G per chip]

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 12 Interconnects Technology Primer Capacity vs. Complexity

• Bus • half-duplex, shared medium • for example PCI [800Mbps to 25Gbps+ today] • simple and cheap

• Serial Lane (Point-to-Point Link Set) • dedicated, unidirectional or full-duplex line • for example SPI4.2 [11.2Gbps+ today]

• Switching Fabric (cross-bar, exchange) • non-blocking, full-duplex, any-to-any • for example GSR, CRS [40Gbps to 9.6Tbps+ today]

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 13 Example: Lookup Problem memory vs. processing

TCAM (Ternary Content Addressable Memory)

SRAM with a comparator at each cell ROOT

1 step – very fast, but very expensive 10.0.0.0 192.0.0.0

54.0.0.0 parallel, order independent lookups 10.1.0.0 10.10.0.0 192.5.0.0 192.8.0.0 (ACL, QoS, Netflow, even FIB) 54.10.0.0 10.1.1.0 10.10.5.0 192.8.2.0

Content and Mask Address 10.1.1.1 54.10.1.0 54.10.4.0 192.8.2.0 192.8.2.128

. . . load share 192.168.100.xxx 801 punt Tree or Serial Lookup host-route 192.168.200.xxx 802 drop 192.168.300.xxx 803 8-8-8-8 used by generic IOS glean incomplete . . . 16-8-8 used by the C12000, 11-8-5-8 used by C10K memory vs. speed tradeoff! - could be 8-1-1-1-1-1-1-1-1-1-1-1... (low SRAM) 192.168.200.111 802 - could be used also for ACL, uRPF, accounting Query Result NEXTHOP Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 14 Router Anatomy Chapter 2

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 15 Fundamental Building Blocks

Simplex serial link set Module, card Duplex serial link set

I/O module (hardware module with I/O Active and backup backplane interfaces connection (serial duplex link set) Bus Switch Fabric (any-to-any full-duplex switching element)

Mux/demux, fabric interface (typically including a tiny buffer) Forwarding ASIC (a complex of hardware F elements and SRAM’s handling data plane)

Queuing ASIC (BQS – Buffering/Queuing/Scheduling, Q TM – Traffic Manager, etc.) NP, Network Processor (programmable hardware NP element handling data plane)

buff. Packet buffering, packet memory, QoS point

Control Plane element : CPU + DRAM + Flash + NVRAM and IOS control interfaces. CPU (Central Processing Unit) is a general

Anatomy © 2009 Ciscopurpose Systems, Inc. microAll rights reserved.-processor running the OS (Operating System) 16 Cisco 7200 (1990’s) Router • data plane = IOS interrupt level architecture • control plane = IOS processes

NPE-200

buff. IOS I/O controller bridge CON/AUX Flash FE

PA PCI Bus PA PA 600 Mbps PA PCI Bus PA 600 Mbps

Bus L Bus R PA 1, 4 or 6 PA slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 17 Cisco 7200 – NPE-G1/G2 upgrade architecture Software Router • no change, just faster CPU/memory

NPE-G2 I/O controller on-board PCI Bus 4x GE buff. IOS crypto 600 Mbps CON/AUX/Flash bridge

PA PCI Bus PA PA 600 Mbps PA PCI Bus PA 600 Mbps

Bus L Bus R PA 1, 4 or 6 PA slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 18 Cisco ESR10000 Hardware Router • data plane = PXF chip (u-code) architecture • control plane = CPU with IOS • DMA chip for packet memory

1.6G H/H PRE (active)

H/H IOS Q buff. NP SIP-600 (2-slot) 11G SPA

SPA PRE (standby) NP Q buff. Full IOS Height Linecard

8 full-height slots (ESR 10008)

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 19 Cisco ASR1000 Split data and control plane • RP = control-plane only architecture • ESP = data-plane (QFP chip) 20Gbps, 16Mpps, C-programmable

ASR1006 SIP SPA 11.2G ESP (active) RP (active) SPA NP IOS buff. SIP SPA

SPA ESP (standby) RP (standby)

buff. SIP NP IOS Encryption SPA Coprocessor

SPA

1-3 SIP slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 20 “It is more complicated than you think.”

RFC 1925 “The Twelve Networking Truths”

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 21 Cisco 7200: centralized single processor

architecture Single-Processor • one CPU for everything

NPE-G2 I/O controller on-board PCI Bus 4x GE buff. IOS PA 600 Mbps VSA CON/AUX/Flash bridge

PA PCI Bus PA PA 600 Mbps PA PCI Bus PA 600 Mbps

Bus L Bus R PA 1, 4 or 6 PA slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 22 Cisco 7500: distributed multi-processor

architecture Multi-Processor • distributed, parallel CPU’s

RSP (active) RSP (standby)

buff. IOS buff. IOS memd memd

VIP VIP

PA PA buff. buff. IOS IOS PA PCI Bus PA 600 Mbps VIP VIP Cy Bus Cy Bus 1Gbps 1Gbps PA PA buff. buff. IOS IOS PA Bus L Bus R PA

3, 5 or 7 VIP slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 23 Cisco 12000 – switch fabric

architectural evolution Distributed Forwarding Architecture • up to 600Gbps today

RP (active) RP (standby)

IOS IOS

Switch Fabric Cards Engine 0 arb. Engine 5 buff. CSC redundant 10G 622 Q NP SPA buff. M IOS arb. IOS Q CSC NP SPA buff.

Engine 2 Engine 6 buff. SFC buff. Q 3G 40G Q F F SFC IOS Q F Q buff. IOS buff.

8, 12 or 16 Linecard/RP slots SFC

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 24 Cisco CRS-1

architecture Distributed Forwarding Architecture • up to 1.28Tbps today • 8 multi-chassis: 10.24Tbps today

RP (active) RP (standby)

IOS IOS IOS IOS

SIP-800 MSC FP PLIM 56G49G rx Switch Fabric Cards buff. buff. 112G98G tx tx (all 8 active) NP Q Q NP SPA IOS IOS Q NP NP Q buff. buff.

SPA midplane midplane

buff. buff. NP Q Q NP SPA IOS IOS Q NP NP Q buff. buff. SPA 4, 8 or 16 Linecard slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 25 Cisco CRS-1

evolution to 100GE Distributed Forwarding Architecture • up to 3.84Tbps single node in 2010

RP (active) RP (standby)

IOS IOS IOS IOS

SIP-900 MSC FP PLIM 140G rx Switch Fabric Cards buff. buff. 200G tx (all 8 active) NP Q Q NP SPA IOS IOS 100GE Q NP NP Q buff. buff.

SPA midplane midplane

buff. buff. NP Q Q NP SPA IOS IOS Q NP NP Q buff. buff. SPA 4, 8 or 16 Linecard slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 26 Switch Anatomy Chapter 3

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 27 Switch vs. Router • Definition 1 (old): switch is L2, router is L3 UNTIL PEOPLE INVENTED L3 SWITCH... • Definition 2: • switch is optimized for LAN – FE, GE, 10GE • router is optimized for WAN – many speeds 64Kbps – 40Gbps UNTIL ETHERNET CAME TO WAN/CORE TOO... • Definition 3: • switch is optimized for speed (fixed functionality) • router is optimized for functionality (programmable, modular)

SWITCH ROUTER

Programmable NO YES Forwarding Engine

deep, hundreds of Packet Buffers shallow, max. ~16MB MB

thousands per Queues and Shapers 4-8 per port port

Hardware Modularity 1-level 3-level+

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 28 Catalyst 5000 (90’s) centralized switching architecture Sup (active)

buff. CatOS OS

F Bus buff. L2 linecard buff.

Sup (standby)

buff. Bus buff. CatOS linecard buff. OS

F L2

Bus buff. linecard buff. Cybus 1Gbps

3, 5, 7, or 13 Linecard/Sup slots Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 29 Catalyst 5500 Netflow Switching: NFFC + RSM SupIII (active)

buff. CatOS OS NFFC F F (Netflow Feature Card) Bus buff. L2 L3/4 linecard buff. IOS RSM IOS (Router/Switch Module)

SupIII (standby)

buff. Bus buff. CatOS linecard buff. OS NFFC F F (Netflow Feature Card) L2 L3/4

IOS RSM IOS Bus buff. (Router/Switch Module) linecard buff. 3x Cybus 1Gbps

3, 5, 7, or 13 Linecard/Sup slots Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 30 Catalyst 5500 Netflow Switching: NFFC + RSFC SupIII (active)

buff. CatOS IOS RSFC OS IOS (Route/Switch Feature Card) NFFC F F (Netflow Feature Card) Bus buff. L2 L3/4 linecard buff.

SupIII (standby)

buff. IOS Bus buff. CatOS RSFC linecard buff. OS IOS (Route/Switch Feature Card) NFFC F F (Netflow Feature Card) L2 L3/4

Bus buff. linecard buff. 3x Cybus 1Gbps

3, 5, 7, or 13 Linecard/Sup slots Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 31 Catalyst 6000 MLS (Multilayer Switching): PFC + MSFC Sup1A (active)

buff. CatOS IOS MSFC OS IOS (Multilayer Switching Feature Card) PFC F (Policy Feature Card) Bus buff. L2/3/4 linecard buff.

Sup1A (standby)

buff. IOS Bus buff. CatOS MSFC linecard buff. OS IOS (Multilayer Switching Feature Card) PFC F (Policy Feature Card) L2/3/4

Bus buff. linecard buff. D-Bus 16Gbsp R-Bus 4 Gbps EOBC bus 10Mbps 3, 5, 7, or 13 Linecard/Sup slots Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 32 Real-Time Packet Processing Fast-Path Forwarding (aka. Switching)

CPU CPU

Routing Table Routing Table Process Process

flow setup FIB setup

Fast Path Fast Path

Flow Switching (aka. Fast Switching) FIB Switching (aka. CEF) • the 1st packet of a flow goes to slow-path • RIB (Routing Information Base) • the flow paths sets up the fast cache entry • FIB (Forwarding Information Base) • next packets of the flow take the fast-path • RIB is mirrored to fast-path FIB first, before any packets are switched • traffic doesn’t collide with control plane

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 33 “Every old idea will be proposed again with a different name and a different presentation, regardless of whether it works.”

RFC 1925 “The Twelve Networking Truths”

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 34 Catalyst 6500 Switch fabric Sup2 (active)

buff. SP RP MSFC2 IOS IOS (Multilayer Switching Feature Card) PFC2 F (Policy Feature Card) Bus-only buff. linecard buff. SFM – active (Switch Fabric Module, 256Gbps)

Sup2 (standby)

buff. Fabric-enabled buff. SP RP MSFC2 linecard buff. IOS IOS (Multilayer Switching Feature Card) PFC2 F (Policy Feature Card)

DFC 8G SFM – backup Fabric-enabled buff. (Switch Fabric Module, 256Gbps) F linecard + DFC buff. D-Bus 16Gbsp IOS R-Bus 4 Gbps EOBC bus 10Mbps 4, 6, 9, or 13 Linecard/Sup slots Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 35 Catalyst 6500 Sup720 Sup720 (active)

buff. SP RP MSFC3 IOS IOS (Multilayer Switching Feature Card) PFC3 A,B,C F (Policy Feature Card) Bus-only buff. linecard buff. Integrated SF – 720 Gbps

Sup720 (standby) buff. buff. Fabric-enabled buff. SP RP buff. F Fabric-only linecard buff. IOS IOS buff. linecard buff. IOS F

20G buff. Fabric-enabled buff. buff. Fabric-only F linecard + DFC buff. F buff. linecard D-Bus 16Gbsp buff. IOS R-Bus 4 Gbps IOS EOBC bus 10Mbps 4, 6, 9, or 13 Linecard/Sup slots Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 36 Nexus 7000 architecture

RP (active) RP (standby) RP CM RP CM IOS arb. IOSP IOS arb. IOSP

Switch Fabric Cards

buff. buff. buff. 230 buff. G 48xGE IOS F F IOS buff. buff. buff. buff.

buff. buff. buff. buff. buff. buff. buff. buff. 32xTGE IOS F F IOS buff. buff. buff. buff. buff. buff. buff. buff. 4, 8, or 16 Linecard slots X

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 37 Switch/Router Anatomy Chapter 4

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 38 Cisco CRS-1 extremely modular architecture

RP (active) RP (standby)

IOS IOS IOS IOS

SIP-800 MSC FP40 PLIM Switch Fabric Cards buff. buff. (all 8 active) NP Q Q NP SPA IOS IOS Q NP NP Q buff. buff.

SPA midplane midplane

buff. buff. NP Q Q NP SPA IOS IOS Q NP NP Q buff. buff. SPA 4, 8 or 16 Linecard slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 39 Cisco 7600 RSP (Route/Switch Processor) extremely compact architecture • CPU + Switch-fabric • active/standby SF RSP (active) • integrated ports + PFC

buff. SP RP IOS IOS

F

buff. buff. NP buff. buff. NP buff. buff. X6708 ES+40 F F buff. NP buff. buff. buff. buff. NP RSP (standby) buff. IOS IOS buff. SP RP buff. buff. NP IOS IOS buff. ES20 F F X6704 F buff. buff. NP buff. IOS IOS

Anatomy 3, ©4, 2009 6, Cisco9 or Systems, 13 Linecard/RSP Inc. All rights reserved.slots 40 Cisco 7600 switch/router architecture RSP (active) buff. buff. buff. NP buff. SPA buff. SP RP buff. X6700 buff. SIP-600 buff. IOS IOS FWSM buff. ACE buff. F IOS SPA F

buff. buff. NP buff. buff. NP buff. buff. X6708 ES+40 F F buff. NP buff. buff. buff. buff. NP RSP (standby) buff. IOS IOS buff. SP RP buff. buff. NP IOS IOS buff. ES20 F F X6704 F buff. buff. NP buff. IOS IOS

buff. buff. SPA NP IOS SPA SIP-400 SIP-200 NP Bus (headers only) IOS SPA buff. buff. SPA

Anatomy 3, ©4, 2009 6, Cisco9 or Systems, 13 Linecard/RSP Inc. All rights reserved.slots 41 “It is always possible to agglutinate multiple separate problems into a single complex interdependent solution.

In most cases this is a bad idea.”

RFC 1925 “The Twelve Networking Truths”

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 42 Cisco 7600 with ES+ new generation – nice and clean RSP (active)

buff. SP RP IOS IOS

F 20G buff. NP NP buff.

buff. NP NP buff. ES+ F F NP ES+ buff. NP 20G buff.

buff. NP RSP (standby) NP buff. IOS IOS buff. SP RP buff. NP NP buff. IOS IOS buff. NP NP buff. ES+ F F ES+ buff. NP F NP buff.

buff. NP NP buff. IOS IOS

Anatomy 3, ©4, 2009 6, Cisco9 or Systems, 13 Linecard/RSP Inc. All rights reserved.slots 43 Cisco ASR9000 router/switch architecture

RSP (active)

Transport LC – 40G IOS IOS

buff. NP NP buff. 45+45G buff. NP NP buff. IOS IOS buff. NP NP buff.

buff. NP NP buff.

Transport LC – 80G RSP (fab. active)

buff. NP buff. NP NP buff. IOS IOS buff. NP NP buff. NP buff. IOS IOS buff. NP NP buff. NP buff. buff. NP buff. NP X NP buff. 4 or 8 Linecard slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 44 Cisco ASR9000 double 100GE evolution

RSP (active)

100G LC IOS IOS 200G LC 200+200G NP buff. buff. NP IOS HGE HGE IOS NP buff.

Existing LC – 80G RSP (fab. active) Existing LC – 40G

buff. NP buff. NP NP buff. IOS IOS buff. NP NP buff. NP buff. IOS IOS buff. NP NP buff. NP buff. buff. NP buff. NP X NP buff. 4, 8 or 12 Linecard slots

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 45 Network Processors Chapter 5

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 46 Forwarding ASIC’s and Network Processors Price vs. Performance vs. Flexibility

Pipelining L2/L3 Switch ASIC Massive SMP u-program. NP • example – Catalyst 4500 • example – Cisco CRS-1 • 250Mpps, 320Gbps • 80Mpps, 40Gbps • 185M transistors Parallel L2/L3 Switch ASIC • core/edge/eth. features • example – Catalyst 6500 • 48Mpps, 80+Gbps Massive SMP C-program. NP Pipelining ASIC with u-program. stages • example – Cisco ASR1000 • example – Cisco 12000 • 16Mpps, 20Gbps • 16Mpps, 10Gbps • 1.3B transistors • complex features – cRTP, ATM, MVPN... • fully programmable in C • >40 patents Pipelining u-program. NP • 100 engineers, 5 years • example – Cisco 10000, 7600, 7300 • sees full packet bodies! • 9Mpps, 18Gbps (, IPSec, DPI, ISG,...) • complex features – PPPoE, ISG... Pipelining SMP (symmetric ) u-program. NP • example – Cisco 7600, ASR9000 • 20Mpps, 20Gbps • very complex features – VPLS, PPPoE, ISG, Vidmon... Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 47 Non-programmable L2/L3 Switching ASIC Catalyst 45/4900 Forwarding [Mpps]: 250 Throughput [Gbps]: 320 Programmability: None Forwarding L3 fwd classify Engine police police ASIC

classify map Netflow TCAMs L2 fwd queue

TCAM map statistics SRAMs

headers only

BQS ASIC - 2K queues DRAM - SRR (1L shaping)

Linecards (8x 3Gbps fdx per LC)

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 48 “One size never fits all.”

RFC 1925 “The Twelve Networking Truths”

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 49 Pipelining Parallel Programmable ASIC GSR – Engine5 (SIP-x01) Forwarding [Mpps]: 16 Throughput [Gbps]: 10 Programmability: u-code DRAM DRAM TCAM SRAM

ACL u-code u-code L3 fwd CAM L2 fwd u-code QOS u-code NF

ACL BQS ASIC RX or TX u-code u-code L3 fwd CAM L2 fwd u-code QOS u-code - 8K queues - 2L shaping headers only NF Fetch Gather ACL u-code u-code L3 fwd CAM L2 fwd u-code QOS u-code DRAM NF

ACL u-code u-code L3 fwd CAM L2 fwd u-code QOS u-code NF

SRAM

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 50 u-Programmable SMP NPU CRS – SPP (Silicon Packet Processor) Forwarding [Mpps]: 80 Throughput [Gbps]: 40 Programmability: u-code SRAM DRAM TCAM 185M transistors Resources Interconnect & Memory

Processing Pool

188 Engines DRAM

BQS ASIC headers only - 16K queues - MDRR Distribute/Gather

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 51 C-Programmable SMP NPU Forwarding [Mpps]: 16 Throughput [Gbps]: 20 with complete packet processing Programmability: C code ASR – QFP (Quantum Flow Processor) 1.3B transistors (NPU = cca 500M) TI 90nm, 8L 0.51W per

Processing Pool memory access

160 Engines (40 PPEs x 4 threads) on-chip DRAM 7 resources SRAM TCAM DRAM 0 complete packets Resources Interconnect & Memory complete packets Distribute/Gather BQS ASIC - 200K queues - 5L shaping HQF >100 engineers >5 years of development DRAM >40 patents

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 52 Switch Fabrics Chapter 6

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 53 “Non-Blocking” woo-doo RFC1925: it is more complicated than you think! RFC1925: the fast, the GOOD, and the cheap

Ingress Egress Linecards Linecards 10G 10G Port-to-Port traffic TX RX •zero packet loss 10G TX 10G RX

10G 10G Any-to-Any traffic TX RX • Voice/Video/Data 10G • Unicast/Multicast TX 10G RX • non-zero packet loss!

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 54 Fabric Multicast Replication Egress vs. Ingress Replication

Ingress RX Linecards Good: Egress Replication TX RX • Cisco CRS-1, 12000 • Cisco ASR9K, 7600 TX RX

10Gbps of multicast RX eats 10Gbps fabric bw!

Good-enough: Binary RX RX Ingress RX Ingress Replication RX Linecards • dumb switch fabric TX RX TX RX TX RX TX RX • non-Cisco

TX RX TX RX TX RX 10Gbps of multicast TX RX eats 80Gbps fabric bw!!

RX RX RX RX

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 55 Fabric QoS Head-of-Line Blocking and Arbitration

Ingress Egress Good Fabric QoS Linecards fabric arbiter Linecards example 10G 10G TX RX • GSR, ASR9000, Nexus • per-destination queues 10G 10G TX RX • strict priority for Voice/TV • thousands of queues

Good-enough Fabric QoS linecard example arbiter • non-Cisco 10G 18.8G TX RX • traffic unaware arbiter (overspeed is needed) 10G 18.8G TX RX • only 2 queues, no priority • drops voice/video if loaded • loss at >66% load

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 56 Marketing Math 40 ≠ 40

Ingress Linecard Egress Linecard

Good: 40G 100G 40 Gbps per slot! 40G Network Processor 40G Network Processor non-blocking!!! Cisco CRS-1

16 slots: 16x16 matrix

Good-enough: 10G 18.8G 40 Gbps per slot! 10G 18.8G 10G 18.8G non-blocking!!! 10G 18.8G 10G Network Processor 10G Network Processor non-Cisco 12 slots: 48x48 matrix

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 57 Marketing Math 100 ≠ 100 Ingress Linecard Egress Linecard Switch Fabric 3.84 Tbps 100GE 140G 200G Cisco CRS-1 120G 120G Network Processor Network Processor

7+1 planes

Ingress Linecard Egress Linecard Switch Fabric 1.6 Tbps load- - Fabric slowdown! balancer 50G 70G - Head-of-Line Blocking 100GE?! - additional latency 50G 70G - packet out of sequence No 100G processor available, internal load- 50G 50G non-Cisco balancing across two old Network Processor 4:1 planes Network Processor 50G processors Ingress Linecard Egress Linecard Active SF 50G 50G 100GE??!

No independent Switching Active SF 100G Network Processor 100G Network Processor Fabric available, if one CMP is removed, only 50Gbps 50G 50G non-Cisco throughput (no redundancy) X Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 58 Ferrari = red car with horse

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 59 Conclusion

The art of engineering optimization • The Fast, the Good, and the Cheap

Router and Switch Architectures •Centralized, Distributed, Hybrid

Network Processors • Programmable? Body visibility? Tunneling?

Switch Fabrics • Is 40G really 40G? Multicast Replication? Redundancy? QoS? 100GE?

Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 60 Anatomy © 2009 Cisco Systems, Inc. All rights reserved. 61