Хорошо

CAM-table или MAC-table? Кругом голова!

Последний ответ апр 27, 2022 01:05:22 1255 9 12 0 0

В таблице САМ хранится вся информация о наших МАС-адресов. И вы могли бы сказать: ну, Vasyo, тогда почему бы нам не назвать это таблицей MAC? Почему таблица CAM? Это похоже на MAC в обратном направлении - CAM. Но хотите верьте, хотите нет, но есть веская причина, почему мы называем это CAM. CAM расшифровывается как Content Addressable Memory. И ключевое слово здесь - сontent.


Когда мы говорим об обычной памяти, такой как RAM (Random Access Memory), мы, в общем-то, говорим о предоставлении местонахождения данных. То есть мы знаем точно, где наши данные хранятся. Нам просто нужно вернуть эти данные. И в ответ на этот поиск мы возвращаем значение (value), которое представляет собой данные, запрошенные нами.


Когда же мы говорим о CAM, то буква С указывает нам на то, что мы предоставляем Content, а не адрес, не местонахождение данных. Так что, когда мы возвращаем данные, то основываемся на content,  а не на адресе. И здесь значением будет МАС-адрес. Поиск МАС-адреса происходит в двоичной системе, что значит - поиск точного совпадения. Это работает прекрасно для МАС-адресов, но не так хорошо для IP-адресов, потому что в последнем нам нужно заботиться еще и о маске сети, выполнение которой для CAM невозможно. Зато это возможно для TCAM (Ternary CAM), но он нем в следующий раз.


CAM-таблица строится на основе высокоскоростной памяти. Нам нужен высокоскоростной ответ на запрос в отношении сетевого трафика. Поиск в таблице CAM может происходить за один цикл ЦП. Мы можем просканировать всю таблица CAM за один раз.


Что именно хранится в CAM таблице таки? Мы храним в ней три вида информации: это МАС-адреса, это интерфейсы и это VLAN ID. Таблица заполняется этими данными по ходу прохождения траффика через коммутатор.


Приведем пример. Пусть у нас будет коммутатор с тремя интерфейсами: 1,2,3 и одним VLAN ID 10 на этих интерфейсах. На один из этих интерфейсов приходит Ethernet-frame:
CAM


Фрейм будет иметь адрес отправления и адрес назначения. Назовем адрес назначения МАС-адресом A. Наш коммутатор, прежде всего, запомнит на какой интерфейс пришел этот фрейм и каков адрес его отправления.
CAM


И это будет первой записью в нашей CAM-таблице.


Когда мы получим другой фрейм, скажем на интерфейс 3 и МАС-адресом B, то запись будет выглядеть таким же структурированным образом.

CAM
CAM


Представим теперь интересную вещь. На интерфейс 2 поступит фрейм с МАС-адресом А, да, с тем, который уже значится за интерфейсом 1. Как поведет себя САМ-таблица в этом случае?
CAM


Прежде всего, она добавит эту запись по тому же принципу, что и два предыдущих фрейма.
CAM


А после удалит первую запись, потому что она дублирована и потому что мы будем думать, что устройство с МАС-адресом A переместилось, может быть в силу беспроводного роуминга, или может его просто переключили в другой порт.
CAM


Теперь скажем, что поступает фрэйм с адресом назначения MAC:A
CAM


Нам нужно отправить этот фрейм точно к адресу назначения и вот тут-то мы и приходим к понимаю того, зачем мы строили и наполняли CAM таблицу. Мы сделаем вещь, которую сложно перевести на русский – content addressable lookup, запрос соответствующего адреса из таблицы САМ. И САМ нам ответит, что адрес А расположен за интерфейсом 1 в VLAN 10 и отправит этот фрейм соответствующим путем.

 

А если придет фрейм с адресом назначения, скажем, D, которого у нас нет в таблице. Что будет тогда? Тогда коммутатор отправит этот фрейм на все порты, принадлежащие VLAN 10 – широковещательная рассылка, flooding.



*Статья является переводом материалов от Jeff Kish (cbtnuggets.com)

  • x

GIAP2020
Опубликовано 2021-5-18 08:47:14
Возможность использовать Content Addressable Memory зависит от конкретного устройства и его прошивки?
Развернуть
  • x

Vasyo
Админ Опубликовано 2021-5-18 12:04:05
Опубликовано пользователем GIAP2020 в 2021-05-18 08:47 Возможность использовать Content Addressable Memory зависит от ко ...
CAM это то, что делает возможным switching кадров. Это память для хранения МАС-адресов. Не будет памяти - не будет МАС-адресов. Не будет МАС-адресов - не будет коммутации кадров). Любое сетевое устройство, работащее со вторым уровнем модели OSI должно иметь его, не зависимо от прошивки)
Развернуть
  • x

rpozniak
Опубликовано 2021-6-23 01:11:42

Применительно к коммутаторам, немножко не так. Да автор описал принцип работы ТСАМ, если он есть на карте. А вот если его нет, то тут интересно. Но вот выдержка из документации , чтобы не быть голословным.
Надеюсь я првильно понял тему.

MAC addresses of LPUs are stored using the following modes:

  • Hash bucket

    The LPU that uses the hash bucket performs hash calculation for VLAN IDs and MAC addresses in MAC address entries to be stored and obtains hash bucket indexes. The MAC addresses with the same hash bucket index are stored in the same hash bucket. If a hash bucket with the maximum storage space cannot accommodate learned MAC addresses of the hash bucket, a hash conflict occurs and MAC addresses cannot be stored. The maximum number of MAC addresses learned by an LPU through the hash bucket may be not reached.

  • TCAM chip

    The LPU that uses the TCAM mode stores all learned MAC addresses in the TCAM chip in sequence. As long as the number of learned MAC addresses does not reach the maximum value, MAC addresses can be learned. In TCAM mode, the switch must be equipped with the enhanced LPU that uses the TCAM chip.


Развернуть
  • x

user_2909167
Модератор Опубликовано 2021-6-30 18:17:49
Отличная статья
Развернуть
  • x

BDG
Опубликовано 2021-6-30 20:02:04
Больше интересно про TCAM почитать. И так ли она сейчас дорога, как было раньше
Развернуть
  • x

Vasyo
Vasyo Опубликовано 2021-6-30 20:19 (2) (0)
Так писали немножно: https://forum.huawei.com/enterprise/ru/tcam/thread/739333-100131  
BDG
BDG Ответить Vasyo  Опубликовано 2021-6-30 20:49 (1) (0)
Спасибо, увидел, но там мало очень информации. По стоимости/росту объема на текущий момент интересует. А то везде старые статьи дорого/мало/круто, хотелось чего-то свежего  
Vorona
Опубликовано 2021-6-30 21:01:58
спасибо интересно
Развернуть
  • x

Bestyyyyyyy
Админ Опубликовано 2022-4-27 01:05:22
Прочитал с удовольствием! Благодарю)
Развернуть
  • x

Комментарий

Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация
Отправить

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Пользовательское соглашение.”

My Followers

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход

Заблокировать
Вы уверены, что хотите заблокировать этого пользователя?
Пользователи из вашего черного списка не могут комментировать ваши посты, не могут упоминать вас, не могут отправлять личные сообщения.
Напоминание
Пожалуйста, привяжите свой мобильный номер чтобы получить бонус за приглашение.