Почему таблица CAM в коммутаторе называется таблицей CAM, а не таблицей MAC, хотя она содержит MAC-адреса?

15

Я знаю, что таблица CAM в коммутаторе содержит MAC-адреса и порты, которые связаны с соответствующими MAC-адресами. Насколько мне известно, не существует такой вещи, как адреса CAM, так почему она называется таблицей CAM, а не таблицей MAC?

yoyo_fun
источник
Если вы посмотрите «CAM Table» в Википедии, это объясняется в первом абзаце.
Стиг Хеммер
Пожалуйста, примите ответ ...
1
Таблицы CAM являются своего рода устройством памяти / таблицы, используемым для эффективного хранения и поиска данных. Название «CAM» не связано с именем имени данных, в которых он хранит «MAC-адрес» - это просто совпадение, что это те же три буквы, но в обратном порядке.
Jwbensley

Ответы:

27

CAM (Content Addressable Memory) - это память, к которой можно обращаться по содержимому, а не по числовому адресу памяти. Вы можете посмотреть интерфейс, предоставив в память MAC-адрес. Это делается за один цикл ЦП по сравнению с традиционным программированием поиска по таблице, что будет стоить много циклов ЦП.

Существует также TCAM (адресная память троичного содержимого), которая может использовать маску. Это особенно полезно для IP-адресации и используется, среди прочего, списками ACL или таблицами маршрутизации.

CAM и TCAM стоят намного дороже, чем стандартные DRAM, но повышение производительности, которое они дают для конкретных приложений, может стоить компромиссов стоимости, мощности и размера, которые вы должны сделать.

Поскольку большинство стандартных ПК не содержат ничего подобного, вы можете видеть, как специализированное оборудование, например маршрутизатор или коммутатор, может иметь преимущество в производительности по сравнению со стандартным ПК для маршрутизации или коммутации.

Рон Мопин
источник
TLB - это CAM
Джошуа
3
(Очень) грубо говоря, CAM - это аппаратный эквивалент словаря C # , карты C ++ или карты Java, которые обеспечивают быстрый доступ по значению, а не по позиции / индексу .
TripeHound
14

CAM - Content Addressable Memory, ссылаясь на память, используемую для таблицы MAC-адресов.

Он работает как бы наоборот от ОЗУ, вы обращаетесь к нему, предоставляя ему контент, и он возвращает вам адрес, где хранится контент - который затем используется для поиска выходного порта для этого адреса.

sergeyrar
источник
Является ли эта память каким-то особым видом электронной интегральной схемы?
yoyo_fun
2
Я не знаком с внутренностями, но вот некоторая статья: pagiamtzis.com/cam/camintro
sergeyrar
1
@yoyo_fun в основном да
user253751
@yoyo_fun Вся (современная энергозависимая) компьютерная память - это какая-то электронная интегральная схема (или ее компонент).
JAB
4

На самом деле, он называется таблицей MAC большинством. Команда, чтобы найти его почти на всех коммутаторах / устройствах - это показать таблицу MAC-адресов (или в некоторой форме). Очень редко он указывается в виде таблицы CAM, если не требуется проводить различие между CAM и TCAM или кто-то преподает предмет.

Fixitrod
источник
2
Или это коммутатор под управлением Cisco CatOS ...
psmears
@psmears, исправление ... это коммутатор Cisco. CatOS не существует более десяти лет
Майк Пеннингтон
@Mike: Если бы только EOLed продукт означал, что он больше не существует в поле вздоха ...
psmears
1
Позвольте мне прояснить: работает ли коммутатор CatOS или IOS, не имеет значения. Все коммутаторы cisco используют CAM, независимо от того, какую операционную систему они используют.
Майк Пеннингтон
2

Таблицу CAM можно также использовать для хранения других форм записей точного совпадения в коммутаторе L2 / L3, для которых не требуются маски, например, маршруты хоста, метки MPLS или даже точные совпадения без маски, например, для разделения таблицы с 24-битными записями и заполняя его с помощью / 24 маршрутов.

Джоэл Яегли
источник