Warum befindet sich die CAM-Tabelle in einem Switch namens CAM-Tabelle und nicht in einer MAC-Tabelle, obwohl sie MAC-Adressen enthält?


15

Ich weiß, dass die CAM-Tabelle in einem Switch MAC-Adressen und die Ports enthält, die den jeweiligen MAC-Adressen zugeordnet sind. Meines Wissens nach gibt es keine CAM-Adressen. Warum heißt sie CAM-Tabelle und nicht MAC-Tabelle?


Wenn Sie in Wikipedia nach "CAM-Tabelle" suchen, wird dies im ersten Absatz erläutert.
Stig Hemmer

Bitte akzeptieren Sie eine Antwort ...

1
CAM-Tabellen sind eine Art Speicher- / Tabellengerät, das zum effizienten Speichern und Nachschlagen von Daten verwendet wird. Der Name "CAM" bezieht sich nicht auf den Namen der Daten, die es speichert, "MAC-Adresse" - es ist nur ein Zufall, dass es die gleichen drei Buchstaben sind, aber in umgekehrter Reihenfolge.
Jwbensley

Antworten:


27

CAM (Content Addressable Memory) ist ein Speicher, der nicht durch eine numerische Speicheradresse, sondern durch Inhalt adressiert werden kann. Sie können die Schnittstelle nachschlagen, indem Sie dem Speicher die MAC-Adresse zuweisen. Dies erfolgt in einem einzelnen CPU-Zyklus im Vergleich zur herkömmlichen Programmierung des Durchsuchens einer Tabelle, die viele CPU-Zyklen kostet.

Es gibt auch TCAM (Ternary Content Addressable Memory), das eine Maske verwenden kann. Dies ist besonders nützlich für die IP-Adressierung und wird unter anderem von ACLs oder Routing-Tabellen verwendet.

CAM und TCAM kosten viel mehr als Standard-DRAM, aber die von ihnen für bestimmte Anwendungen erzielte Leistungssteigerung kann die Kosten-, Leistungs- und Größenkompromisse wert sein, die Sie eingehen müssen.

Da die meisten Standard-PCs nichts Ähnliches enthalten, können Sie sehen, wie eine speziell angefertigte Hardware, z. B. ein Router oder ein Switch, einen Leistungsvorteil gegenüber einem Standard-PC für Routing- oder Switching-Zwecke haben kann.


Der TLB ist eine CAM
Joshua

3
(Sehr) grob gesagt ist CAM das Hardware-Äquivalent eines C # -Lexikons , einer C ++ - oder einer Java-Map , die alle einen schnellen Zugriff nach Wert und nicht nach Position / Index ermöglichen .
TripeHound

14

CAM - Content Addressable Memory (Inhaltsadressierbarer Speicher), bezieht sich auf den für die MAC-Adresstabelle verwendeten Speicher.

Es funktioniert sozusagen umgekehrt zum RAM, Sie adressieren es, indem Sie ihm Inhalt geben, und es gibt Ihnen die Adresse zurück, an der der Inhalt gespeichert ist - die dann verwendet wird, um den Ausgangsport für diese Adresse zu finden.


Ist dieser Speicher eine spezielle Art von elektronischer integrierter Schaltung?
yoyo_fun

2
Ich kenne die Interna nicht, aber hier ist ein Artikel: pagiamtzis.com/cam/camintro
sergeyrar

1
@ yoyo_fun im Grunde ja
user253751

@yoyo_fun Jeder (moderne flüchtige) Computerspeicher ist eine Art elektronische integrierte Schaltung (oder eine Komponente davon).
JAB

4

Tatsächlich wird es von den meisten als MAC-Tabelle bezeichnet. Der Befehl, um es in fast allen Switches / Geräten nachzuschlagen, lautet show mac-address table (oder irgendeine Form davon). Sehr selten wird es als CAM-Tabelle angegeben, es sei denn, es muss zwischen CAM und TCAM unterschieden werden, oder jemand unterrichtet das Fach.


2
Oder es ist ein Schalter mit Cisco CatOS ...
psmears

@psmears, Korrektur ... es ist ein Cisco-Switch. CatOS existiert seit über einem Jahrzehnt nicht mehr
Mike Pennington

@ Mike: Wenn nur ein Wesen Produkt EOLed bedeutet , dass es nicht mehr gegeben ist auf dem Gebiet hat Seufzer ...
psmears

1
Lassen Sie mich klar sein: Ob ein Switch CatOS oder IOS ausführt, ist irrelevant. Alle Cisco-Switches verwenden CAM, unabhängig davon, unter welchem ​​Betriebssystem sie ausgeführt werden.
Mike Pennington

2

In einer CAM-Tabelle können auch andere Formen von exakten Übereinstimmungseinträgen in einem L2 / L3-Switch gespeichert werden, für die keine Masken erforderlich sind, z. B. Hostrouten, MPLS-Labels oder sogar maskenlose exakte Übereinstimmungen, z. B. das Partitionieren einer Tabelle mit 24-Bit-Einträgen und fülle es mit / 24 Routen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.