TCAM-Beziehungen in der Hardware-Switching-Architektur

10

Ich bin mit der Funktionsweise von Ternary Content Addressable Memory vertraut (auf hohem Niveau), bin jedoch weiterhin verwirrt darüber, wie sich TCAM auf ASICs bezieht und wann diese Komponenten möglicherweise auch mit der CPU kombiniert werden, um eine höhere Switching-Leistung zu erzielen ... (insbesondere, wenn Anbieter die Verwendung häufig vermarkten von Händler / benutzerdefiniertem Silizium oder benutzerdefinierten ASICs für neue Produkte und Funktionen, dann erscheint es verwirrend) .

Ich bin mit Cisco IOS beispielsweise mit der Möglichkeit vertraut, mehr Speicherplatz für die TCAM-Leistung für Funktionen wie qos, acl und Routensuche zu partitionieren. Ich verstehe auch, dass Funktionen wie NAT immer noch von der CPU-Verarbeitung abhängen, aber ich habe speziell Probleme damit;

  1. Ist TCAM Teil derselben Hardwarearchitektur, dh intern oder extern zum ASIC selbst?
  2. Sind TCAMs skalierbar (können Hersteller beispielsweise immer wieder TCAMs zu einer Plattform hinzufügen, um mehr Leistung und benutzerdefinierte Funktionen zu erzielen) oder gibt es eine Begrenzung, die auf Dingen wie dem Stromverbrauch basiert?
  3. Arbeiten TCAM-Zyklen und ASICs für Funktionen wie NAT überhaupt parallel zur CPU oder sollte ich sie nur als unabhängige Dinge betrachten?
MattE
quelle

Antworten:

14

TCAM ist ein Speichertyp, der 10-12 Transistoren benötigt, um ein einzelnes Bit zu speichern. Zum Vergleich: Der statische RAM ( SRAM ) benötigt nur 6 Transistoren, um ein einzelnes Bit zu speichern, und der dynamische RAM ( DRAM ) benötigt einen Transistor und einen Kondensator. Alle diese verschiedenen Arten von Speichern können entweder intern oder extern zu einem ASIC sein. Ein Grund, alle Speicher auf einen Chip zu legen, besteht darin, dass sie mit höheren Taktraten betrieben werden können als außerhalb eines Chips. Warum einen Speichertyp einem anderen vorziehen? Dies hat mit den Eigenschaften des Speichers zu tun. Auf den SRAM kann bei jedem Takt zugegriffen werden, auf den DRAM muss regelmäßig aktualisiert werden, daher kann nicht auf jeden Takt zugegriffen werden, und der TCAM bietet Ihnen ternäre Funktionen .

TCAMs sind so skalierbar, wie Sie Platz auf einem Chip haben, um sie zu instanziieren, oder Pins auf dem Paket, um sie mit externen zu verbinden. Das Problem mit TCAM ist, dass sie 2x SRAM- Speicherplatz und 12x DRAM- Speicherplatz belegen . Es ist nicht immer sinnvoll, TCAM für dieselben Operationen zu verwenden, die Sie algorithmisch (Hashes, * Versuche) mit anderen Speichertypen ausführen können. Es kommt auf einen Kompromiss zwischen der Nutzungseffektivität des Algorithmus und dem Platz auf dem Chip an, auf dem man wählen kann. Der Stromverbrauch von TCAM wächst linear proportional zur Größe. Die Mehrheit der großen TCAMs (mehr als 2 Millionen Einträge) verwendet jetzt algorithmische Techniken, um Energieeinsparungen zu erzielen.

NAT / PAT ist eine komplexe Funktion, für deren Korrekturen im Allgemeinen eine CPU oder ein Netzwerkprozessor (NPU) erforderlich ist. Der allgemeine Paketfluss für NAT ist, dass das erste Paket an die CPU / NPU gesendet wird und ein Flusseintrag in der Flusstabelle oder ACL-Tabelle mit den Informationen zum Übersetzen nachfolgender Pakete im Fluss installiert wird. Es gibt mehrere verschiedene Formen von NAT / PAT und ebenso viele Möglichkeiten, jede in einem Chip zu optimieren. Das einfachste NAT ist das Umschreiben der IPs, und keine Sorge, wenn Sie die in die Nutzdaten eingebetteten Adressen beschädigen, keine Korrekturen.

Es gibt eine andere Version von BRKARC-3466, die auf der CiscoLive 2013 in Melbourne vorgestellt wurde und einige der wichtigsten Ideen für Lookups behandelt, die in der Orlando-Version 2013 fehlen. Ein gutes Nachschlagewerk auf diesem Gebiet ist Network Algorithmics: Ein interdisziplinärer Ansatz zum Entwerfen schneller vernetzter Geräte von George Varghese.

user3697
quelle
4

ASIC kann als eine Art Chip betrachtet werden. Es wird normalerweise gebaut, um etwas in der Hardware zu tun, was sonst getan würde, ist Software. So kann Cisco einen ASIC für alles erstellen, was es will. Je nach Modell des Switches gibt es 1 oder viele ASICs. TCAM ist ein Speicherdesign, da es normalerweise auf den Chassis-Systemen zu finden ist und als eines von vielen Asics implementiert ist. TCAM wird für bestimmte Suchfunktionen wie Routing (CEF) oder ACLS verwendet. Wenn ein ASIC diese Art der Suche nicht durchführen muss, funktioniert er getrennt von TCAM. Auf der anderen Seite arbeiten ASICs, die die QoS-Markierung verarbeiten, Hand in Hand mit TCAM. In der folgenden Präsentation auf Cisco Live werden einige der Design-Kompromisse erläutert und ein guter Ort, um zu verstehen, was in das Switch-Design einfließt

BRKARC-3466 - Erkundung der Technik hinter der Herstellung eines Schalters (2013 Orlando) Es enthält Listen der Asics und viele allgemeine Informationen zum Schalterdesign

Fredpbaker
quelle