Таблица mac адресов на роутере

Сегодня поговорим о том, как Bridge запоминает MAC адреса.

Заходим в раздел Bridge/Hosts и посмотрим на MAC-адреса, указанные на тех или иных интерфейсах.

Рис. 45.1 Список MAK-адресов.

Давайте рассмотрим схему, как это происходит.

У нас есть Bridge с несколькими интерфейсами.

Рис.45.2 Bridge.

В три из них подключены устройства с MAC-адресами A, B и C.

Рис. 45.3 Подключенные устройства.

Что будет происходить, если устройство с MAC-адресом A захочет пообщаться с устройством с MAC-адресом C?

У нас происходит отсылка кадров от устройства A к устройству C. А так как Bridge не знает, где находится устройство C на первом шаге, то он отсылает кадры во все активные интерфейсы.
Соответственно в неактивные интерфейсы Bridge ничего не отправляет, так как в этом нет смысла.

Рис. 45.4 Отправленные пакеты.

Также на этом шаге происходит запоминание на порту 1.
То есть у Bridge есть табличка, где указаны порты и на порту 1 он записывает src MAC-адрес кадра, который был отправлен с первого интерфейса.

Рис. 45.5 MAC-адрес А был записан на первый интерфейс.

Дальше после того, как кадр был достигнут устройства C, устройство C будет отправлять ответ устройству A. И так как Bridge уже записал в табличку MAC-адрес устройства A, отправка данных будет происходить только на первый порт.

Следующие кадры, которые будут идти от устройства A до устройства C, будут идти так же только между 1 и 5 портом потому, что на 5 порту был записан MAC-адрес устройства C, как src Mac.

Отсюда следует – когда мы отсылаем первый кадр, наш Bridge ничего не знает о том, где кто находится, поэтому он начинает рассылать все кадры по всем интерфейсам.

После первой отправки у нас записывается src MAC-адрес в таблицу коммутации, в которой указаны номера интерфейсов (eth1, eth2… и т. д.) и MAC-адреса.

Рис. 45.6 Порты и таблица коммутации.

Размер таблицы коммутации является ограниченным и может быть переполнен.

После полного заполнения таблицы, Bridge будет рассылать данные по всем интерфейсам, что не является безопасным и некоторые злоумышленники пытаются добиться этого поведения.

На этом обзор таблицы коммутации можем закончить.

Время на прочтение
8 мин

Количество просмотров 150K

Привет, Хабр!
Случается так, что иногда хочется отойти от скупой теории и перейти к практике. Сейчас как раз такой случай. Желание возникло на фоне воспоминаний того, как мы делали коммутатор. Он — вещь довольно простая, делов-то — пересылай пакеты с порта на порт, да статистику веди. Все оказалось немного сложнее.

Вы когда нибудь задумывались над тем, как происходит коммутация? На курсах говорят, что пакет из порта (А) анализируется и пересылается согласно таблице соответствия в порт (Б) назначения, или во все порты, кроме (А) источника, если запись не найдена. Остановимся на таблице и разберем как происходит ее заполнение.
Самый простой способ — записывать адреса в один столбец, а соответствующие порты в другой, т.е. используется линейный алгоритм поиска, асимптотическая сложность которого O(n). Худший случай для алгоритма — отсутствие искомого ключа, поскольку требуется просмотреть все ключи, и в коммутации встречается очень часто: включение нового клиента, включение или перезагрузка устройства. На самом деле, всевозможные оптимизации и хитрые алгоритмы, применяемые в чипах сетевых устройств, заточены либо для экономии памяти чипа, либо для удовлетворения требований по скорости обработки.
Используемый же большинством производителей способ — хеш-таблица. Смысл в том, что при вычислении хеш-функции от MAC-адреса на выходе имеем сразу адрес в памяти (индекс), обратившись по которому вычитываем номер порта. Если ничего не вычитали, то пишем по этому адресу текущий порт. Сложность алгоритма поиска O(1). Правда существует проблема коллизий, но при правильно подобранной хеш-функции она минимизируется. Остается лишь проверить коллизионную стойкость устройства. Наглядный пример такой таблицы и частичной коллизии:
У большинства записей хеш-индексы не совпадают, что в результате дает мгновенное чтение по индексу, но у Jack и Andrew случилось так, что хеш совпал и проявилась коллизия. В этом случае для разрешения коллизии производится линейный поиск по вложенному списку, что увеличивает задержку, но происходит это в единичных случаях.
Проверку можно провести, пополняя хеш-таблицу новыми записями. Записи могут быть последовательными или случайным, а так же принадлежать специальным типам.
Специальные типы MAC-адресов:

  • broadcast (FF:FF:FF:FF:FF:FF)
  • multicast (младший бит первого октета равен 1)


Не все адреса должны записываться в таблицу. Например туда не попадают широковещательный и мультикаст адреса. В результате я написал небольшой генератор raw-пакетов, которому передаются параметры:

send_pkt -i <iface> -n <mac_num>
-i <iface>  interface for packet sending
-n <mac_num>    number of MAC's
-s work in slow mode
-r generate random Src MAC for each new packet
-a set random for all octets 

В обычном режиме генерируются пакеты с последовательными MAC-адресами, изменяются последние два октета, что дает 65536 комбинаций и для большинства коммутаторов более чем достаточно (всегда можно увеличить). Первый октет выставлен в 0x00, т.е. адреса юникастовые. Случайные адреса генерируются в двух режимах:

  • первый октет 0x00, остальные случайны
  • все октеты случайны

Предусмотрен запуск в медленном режиме, например для тестирования aging-time.
Интересно как на флуд отреагирует оборудование: проверим в двух режимах (последовательном и случайном) сколько адресов попадут в таблицу. У меня в тестовой стойке 5 коммутаторов:

  • cisco 3750G-16TD-S (12288 MAC)
  • zyxel gs-3012f (16384 MAC)
  • d-link dgs-3426 (8192 MAC)
  • metrotek x10-24 (16368 MAC)

Специально никто их не отбирал — просто используются для различных целей, вроде проверки на совместимость STP (про это вообще можно отдельную статью написать). Пойдем по порядку.

cisco 3750G-16TD-S

Информация о платформе:

cisco-01-TEST#sh ver
Cisco IOS Software, C3750 Software (C3750-ADVIPSERVICESK9-M), Version 12.2(46)SE, RELEASE SOFTWARE (fc2)
Copyright 1986-2008 by Cisco Systems, Inc.
Compiled Thu 21-Aug-08 15:43 by nachen
Image text-base: 0x00003000, data-base: 0x01940000

ROM: Bootstrap program is C3750 boot loader
BOOTLDR: C3750 Boot Loader (C3750-HBOOT-M) Version 12.2(18)SE1, RELEASE SOFTWARE (fc2)

cisco-01-TEST uptime is 4 weeks, 5 days, 1 hour, 11 minutes
System returned to ROM by power-on
System image file is «flash:c3750-advipservicesk9-mz.122-46.SE»

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

cisco WS-C3750G-16TD (PowerPC405) processor (revision F0) with 118784K/12280K bytes of memory.
Processor board ID CSG0921P0EB
Last reset from power-on
1 Virtual Ethernet interface
16 Gigabit Ethernet interfaces
1 Ten Gigabit Ethernet interface
The password-recovery mechanism is enabled.

512K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address: 00:14:1C:D7:33:80
Motherboard assembly number: 73-9143-08
Power supply part number: 341-0045-01
Motherboard serial number: CAT091916AM
Power supply serial number: LIT09130942
Model revision number: F0
Motherboard revision number: A0
Model number: WS-C3750G-16TD-S
System serial number: CSG0921P0EB
Top Assembly Part Number: 800-24591-04
Top Assembly Revision Number: A0
CLEI Code Number: COM1D10ARB
Hardware Board Revision Number: 0x01

Switch Ports Model SW Version SW Image
— — — — —
* 1 17 WS-C3750G-16TD 12.2(46)SE C3750-ADVIPSERVICESK9-M

Configuration register is 0xF

Странно, но пишет, что у нее памяти всего на 5507 адресов:

cisco-01-TEST#show mac address-table count

Total Mac Address Space Available: 5507

Настройки тестового порта:

interface GigabitEthernet1/0/1
switchport access vlan 20
switchport mode access
end

Пустая таблица адресов для тестового vlan:

cisco-01-TEST#sh mac- vl 20
Mac Address Table
— Vlan Mac Address Type Ports
— — — ——

После пробного теста (./send_pkt -i eth0 -n 10) наблюдаем следующее:

cisco-01-TEST#show mac address-table count

Mac Entries for Vlan 20:
— Dynamic Address Count: 11
Static Address Count: 0
Total Mac Addresses: 11

Total Mac Address Space Available: 5496

cisco-01-TEST#sh mac- vl 20
Mac Address Table
— Vlan Mac Address Type Ports
— — — — 20 0001.0203.0001 DYNAMIC Gi1/0/1
20 0001.0203.0002 DYNAMIC Gi1/0/1
20 0001.0203.0003 DYNAMIC Gi1/0/1
20 0001.0203.0004 DYNAMIC Gi1/0/1
20 0001.0203.0005 DYNAMIC Gi1/0/1
20 0001.0203.0006 DYNAMIC Gi1/0/1
20 0001.0203.0007 DYNAMIC Gi1/0/1
20 0001.0203.0008 DYNAMIC Gi1/0/1
20 0001.0203.0009 DYNAMIC Gi1/0/1
20 0001.0203.000a DYNAMIC Gi1/0/1
20 50af.7312.8435 DYNAMIC Gi1/0/1

Одиннадцатый адрес — это адрес нетбука, с которого запускался тест. Доступное место для адресов уменьшился.
Сгенерируем заведомо большее, чем заявлено, количество адресов (12288), я указал 13000:

cisco-01-TEST#show mac address-table count

Mac Entries for Vlan 20:
— Dynamic Address Count: 4281
Static Address Count: 0
Total Mac Addresses: 4281

Total Mac Address Space Available: 1219

Как видно, заполнить всю таблицу удалось не сразу и попали далеко не все адреса, вот вам и колизионность. Пробую еще раз:

cisco-01-TEST#show mac address-table count

Mac Entries for Vlan 20:
— Dynamic Address Count: 5724
Static Address Count: 0
Total Mac Addresses: 5724

Total Mac Address Space Available: 192

И медленный режим (максимум, что удалось вместить):

Mac Entries for Vlan 20:
— Dynamic Address Count: 5945
Static Address Count: 0
Total Mac Addresses: 5945

Total Mac Address Space Available: 3

cisco-01-TEST#show mac address-table count

Рандомный тест:
cisco-01-TEST#sh mac address-table count

Mac Entries for Vlan 20:
— Dynamic Address Count: 4417
Static Address Count: 0
Total Mac Addresses: 4417

Total Mac Address Space Available: 1499

Рандомный медленный тест:

cisco-01-TEST#sh mac address-table count

Mac Entries for Vlan 20:
— Dynamic Address Count: 5947
Static Address Count: 0
Total Mac Addresses: 5947

Total Mac Address Space Available: 1

Итог
Получается, что заявленная производителем характеристика не соответствует действительности (если я не прав, например влияет IOS и для него есть особые заметки, дайте знать с пруфом). Разница почти в два раза. Даже если опираться на сведения, выводимые самой системой (5507), то им тоже не стоит верить: в быстром режиме таблица недозаполнилась на 1219 адресов, а в медленном постоянно перестраивалась и показания суммарного счетчика менялись, от режима генерации (последовательно/случайно) не зависит.

ZyXEL GS-3012F

Информация о платформе:

zyxel-01-T# show version
Current ZyNOS version: V3.80(LR.2) | 03/04/2008

zyxel-01-T# show system-information
System Name: zyxel-01-TEST
System Contact:
System Location:
Ethernet Address: 00:19:cb:2d:d8:49
ZyNOS F/W Version: V3.80(LR.2) | 03/04/2008
RomRasSize: 3234952
System up Time: 837:37:39 (11f939d5 ticks)
Bootbase Version: V3.00 | 01/14/2005
ZyNOS CODE: RAS Mar 4 2008 11:51:18
Product Model: GS-3012F

Генерируем с превышением 17000 (поддерживается 16384):

zyxel-01-T# show mac-count
No: 16312

Медленный режим не использовался, т.к. даже в быстром таблица заполнена практически полностью.
Рандомный тест:

zyxel-01-T# show mac-count
No: 14331

Итог
В целом, хорошие результаты. Коммутатор не “теряет” адреса, генерируемые на скорости порта. Размер таблицы и ее заполнение соответствует заявленному.

D-Link DGS-3426

Информация о платформе:

DGS-3426:admin#show tech_support
Command: show tech_support

#——————————————————————————-
# DGS-3426 Gigabit Ethernet Switch
# Technical Support Information
#
# Firmware: Build 2.70.B56
# Copyright 2010 D-Link Corporation. All rights reserved.
#——————————————————————————-

******************** Basic System Information ********************

[SYS 2000-1-1 00:07:51]

Boot Time: 31 Dec 1999 23:59:59
RTC Time: 2000/01/01 00:07:51
Boot PROM Version: Build 1.00-B13
Firmware Version: Build 2.70.B56
Hardware Version: 2A1
MAC Address: 00-17-9A-10-CD-AA
[STACKING 2000-1-1 00:07:51]

Генерируем с превышением 9000 (поддерживается 8192):

DGS-3426:admin#show fdb vlan TEST
Command: show fdb vlan TEST

VID VLAN Name MAC Address Port Type
— — — — — 20 TEST 00-01-02-03-00-01 1 Dynamic
20 TEST 00-01-02-03-00-02 1 Dynamic
20 TEST 00-01-02-03-00-03 1 Dynamic
20 TEST 00-01-02-03-00-04 1 Dynamic
20 TEST 00-01-02-03-00-05 1 Dynamic
20 TEST 00-01-02-03-00-06 1 Dynamic
20 TEST 00-01-02-03-00-07 1 Dynamic
20 TEST 00-01-02-03-00-08 1 Dynamic
20 TEST 00-01-02-03-00-09 1 Dynamic
20 TEST 00-01-02-03-00-0A 1 Dynamic
20 TEST 00-01-02-03-00-0B 1 Dynamic
20 TEST 00-01-02-03-00-0C 1 Dynamic
20 TEST 00-01-02-03-00-0D 1 Dynamic

Total Entries: 8147

Медленный режим, как и в предыдущем тесте не использовался, поскольку таблица заполнена почти полностью.
Рандомный тест:

DGS-3426:admin#show fdb vlan TEST
Command: show fdb vlan TEST

VID VLAN Name MAC Address Port Type
— — — — — 20 TEST 00-00-01-33-82-27 1 Dynamic
20 TEST 00-00-03-43-5A-66 1 Dynamic
20 TEST 00-00-03-66-C4-5D 1 Dynamic
20 TEST 00-00-05-32-86-B1 1 Dynamic
20 TEST 00-00-07-6D-3A-40 1 Dynamic
20 TEST 00-00-0A-0F-E0-AE 1 Dynamic
20 TEST 00-00-22-3A-81-2B 1 Dynamic
20 TEST 00-00-24-68-E9-70 1 Dynamic
20 TEST 00-00-35-00-B0-93 1 Dynamic
20 TEST 00-00-3F-04-BE-95 1 Dynamic
20 TEST 00-00-43-01-A4-A4 1 Dynamic
20 TEST 00-00-71-27-41-8A 1 Dynamic
20 TEST 00-00-92-3C-2A-5A 1 Dynamic
20 TEST 00-00-92-5B-94-62 1 Dynamic
20 TEST 00-00-95-26-49-3D 1 Dynamic
20 TEST 00-00-9F-2E-45-DF 1 Dynamic
20 TEST 00-00-9F-6D-BE-1E 1 Dynamic
20 TEST 00-00-A7-75-72-4F 1 Dynamic
20 TEST 00-00-A9-17-38-DD 1 Dynamic
20 TEST 00-00-AF-5A-8C-54 1 Dynamic

Total Entries: 7327

Итог
У этого коммутатора тоже все в порядке. Таблица заполняется как заявлено, на случайных данных показатели незначительно хуже. А в качестве “фишки” таблица маков при просмотре сортируется (возможно потому, что никакого строкового процессора нет, например как у cisco).

Metrotek X10-24

Этот коммутатор, точнее его разработка — причина статьи. В нем используется ASIC матрица от японской компании Fujitsu. Изучая документацию, можно сделать вывод, что экономили ресурсы очень серьезно, поэтому и были выполнены независимые тесты.
Информация о платформе:

x10-00002# show version report
Origin: Metrotek
Label: Metrotek
Codename: oxygen
Version: 1.0.1
Date: Wed, 4 Mar 2015 11:04:37 UTC
Architectures: armel i386
Components: contrib non-free
Description: Metrotek X10-24 Gigabit Ethernet Switch

Генерируем с превышением 17000 (поддерживается 16368):

root@x10-00002:~# show-mac-table -v 20 | wc -l
16368

Медленный режим не использовался
Рандомный тест:

root@x10-00002:~# show-mac-table -v 20 | wc -l
14429

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

Вывод

Если ваша сеть построена таким образом, что домен L2 включает множество устройств, то можно ждать беды. Странным оказалось то, что самый весомый вендор показал худшие результаты. Отсюда мораль — доверяй только собственным глазам и тесту, а не маркетинговым заявлениям с мелким шрифтом в сноске.
Я был так удивлен положением вещей, что решил об этом написать. Если есть возможность провести такой же тест, то прошу опубликовать результаты в комментариях.

Спасибо за внимание.

The MAC (Media Access Control) address is a 48-bit physical identity of a device used to uniquely identify a device in layer 2 of the OSI model. It is represented in hexadecimal. The 3 bytes of the address represent the OUI, and the last 3 bytes are unique to the device itself. The switch keeps track of the other Ethernet interfaces on the network to which it is linked in the MAC address table. Instead of broadcasting the data over all ports, the table allows the switch to send outgoing data (Ethernet frames) on the exact port needed to reach its destination (flooding). Two different types of entries are possible in the MAC address table:

  • Static: The switch administrator must manually add static items to the table. Dynamic entries are less important than static entries. Static entries are active until the switch administrator deletes them.
  • Dynamic: Through a process known as MAC learning, in which the switch retrieves the source MAC address (and VLAN ID, if present) of each Ethernet packet received on a port, dynamic entries are automatically added to the table. If the table does not already include the obtained address, it is added. Dynamic entries are automatically erased after being present in the table for a certain period of time (specified by the command mac-address-table age-time).

The switch stores the MAC information in a table called the CAM table or the MAC table. CAM Table Stores:

  1. MAC address
  2. The interface
  3. VLAN MAC address belongs to
  4. How the MAC address is learned is statically or dynamically.

MAC address table for Cisco switches:

Consider a topology given below: Take 3 PC and connected them with a Cisco Switch and then connect the Switch to a router at the end such as given below:

Router0 configuration: Go to Router0 and do the following configuration.

interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
no shutdown

PC0 configuration: Go to PC0 and do the following configuration.

PC1 configuration: Go to PC1 and do the following configuration.

PC2 configuration: Go to PC2 and do the following configuration.

PC3 configuration: Go to PC3 and do the following configuration.

Now, let’s make sure that the Switch has learned all the mac addresses by pinging devices with each other.

Check the Switches MAC table:

show mac address-table

VLAN Column represents the VLAN Mac address belongs to, MAC Address is the MAC address type is how the MAC address is learned and last sports represents the port MAC address is learned on.

Last Updated :
07 Jan, 2023

Like Article

Save Article

Таблица MAC — это таблица соответствий между MAC-адресами устройств назначения и портами коммутатора. MAC-адреса могут быть статические и динамические. Статические MAC-адреса настраиваются пользователем вручную, имеют наивысший приоритет, хранятся постоянно и не могут быть перезаписаны динамическими MAC-адресами. MAC-адреса — это записи, полученные коммутатором в пересылке кадров данных, и хранятся в течение ограниченного периода времени. Когда коммутатор получает кадр данных для дальнейшей передачи, он сохраняет MAC-адрес кадра данных вместе с соответствующим ему портом назначения. Когда MAC-таблица опрашивается для поиска MAC-адреса назначения, при нахождении нужного адреса кадр данных отправляется на соответствующий порт, иначе коммутатор отправляет кадр на широковещательный домен. Если динамический MAC-адрес не встречается в принятых кадрах данных длительное время, запись о нем будет удалена из MAC-таблицы коммутатора.

Возможны 2 операции с таблицей MAC-адресов:

1. Поиск MAC-адреса;
2. Пересылка или фильтрация кадра данных в соответствии с таблицей.

10.1.1. Получение таблицы MAC-адресов

Таблица MAC-адресов может быть создана динамически или статически. Статическая конфигурация заключается в ручной настройке соответствия между MAC-адресами и портами. Динамическое обучение — это процесс, в котором коммутатор изучает соответствие между MAC-адресами и портами и регулярно обновляет таблицу MAC. В этом разделе мы рассмотрим процесс динамического обучения MAC-таблицы.

Рисунок 28.1 — Динамическое обучение MAC-таблицы.

Топология на Рисунке 28.1: 4 ПК подключены к коммутатору. ПК1 и ПК2 подключены из одного физического сегмента (домена коллизий) подключены к порту коммутатора Ethernet 1/0/5, а ПК3 и ПК4, также из одного физического сегмента, подключены к порту Ethernet 1/0/12.

Начальная таблица MAC-адресов не содержит записей. Рассмотрим пример обмена кадрами между ПК1 и ПК3 и процесс обучения MAC-адресов:

  1. Когда ПК1 отправляет кадр к ПК3, MAC-адрес источника 00-01-11-11-11-11 из этого сообщения, а также порт коммутатора Ethernet 1/0/5 заносятся в MAC-таблицу;

  2. В это же время коммутатор определяет, что сообщение предназначено для 00-01-33-33-33-33, а поскольку MAC-таблица содержит только запись соответствия MAC-адреса 00-01-11-11-11-11 и порта Ethernet 1/0/5, коммутатор передает это сообщение всем портам коммутатора (при условии, что все порты принадлежат VLAN 1 по-умолчанию);

  3. ПК3 и ПК4, подключенные к порту Ethernet 1/0/12, получают кадр, отправленный ПК1, но так как MAC-адрес назначения 00-01-33-33-33-33, ПК4 не отвечает, только ПК3 отвечает ПК1. Когда порт Ethernet 1/0/12 принимает кадр от ПК3, в таблице MAC-адресов создается запись соответствия адреса 00-01-33-33-33-33 порту Ethernet 1/0/12.

  4. Теперь таблица MAC-адресов имеет 2 записи: адрес 00-01-11-11-11-11 — порт Ethernet 1/0/5 и адрес 00-01-33-33-33-33 — порт Ethernet 1/0/12.

  5. После обмена кадрами между ПК1 и ПК3, коммутатор больше не получает кадры от ПК1 и ПК3. Поэтому записи соответствия MAC-адресов в MAC-таблице удаляются через 300 или 600 секунд (простое или двойне время жизни). По-умолчанию выбрано время жизни в 300 секунд, но оно может быть изменено на коммутаторе.

10.1.2. Пересылка или фильтрация

Коммутатор может переслать или отфильтровать принятые кадры данных в соответствии с таблицей MAC-адресов. Рассмотрим пример на рисунке 28.1: допустим, что коммутатор изучил MAC-адреса ПК1 и ПК3, а пользователь вручную добавил соответствия для MAC-адресов ПК2 и ПК4. Таблица MAC-адресов будет выглядеть следующим образом:

MAC-адрес

Номер порта

Способ добавления

00-01-11-11-11-11

1/0/5

Динамическое обучение

00-01-22-22-22-22

1/0/5

Статическое добавление

00-01-33-33-33-33

1/0/12

Динамическое обучение

00-01-44-44-44-44

1/0/12

Статическое добавление

  1. Пересылка данных в соответствии с таблицей MAC-адресов:
    Если ПК 1 отправит кадр к ПК 3, коммутатор пересылает принятый кадр данных с порта 1/0/5 в порт 1/0/12.

2. Фильтрация в соответствии с таблицей MAC-адресов: Если ПК 1 отправит кадр к ПК 2, коммутатор, проверив таблицу MAC-адресов, находит ПК 2 в том же физическом сегменте, что и ПК 1 — коммутатор отбрасывает этот кадр.

Коммутатором могут пересылаться 3 типа кадров:

  1. Широковещательные. Коммутатор может определять коллизии в домене, но не в широковещательном. Если VLAN не определена, все устройства, подключенные к коммутатору, находятся в одном широковещательном домене. Когда коммутатор получает широковещательный кадр, он передает кадр во все порты. Если на коммутаторе настроены VLAN, таблица MAC-адресов соответствующим образом адаптирована для добавления информации о VLAN и широковещательные кадры будут пересылаться только в те порты, в которых настроена данная VLAN.

  2. Многоадресные. Если многоадресный домен неизвестен, коммутатор пересылает многоадресный кадр как широковещательный. Если на коммутаторе включен IGMP-snooping и сконфигурирована многоадресная группа, коммутатор будет пересылать многоадресный кадр только портам этой группы.

  3. Одноадресные. Если на коммутаторе не настроена VLAN, коммутатор ищет MAC-адрес назначения в таблице MAC-адресов и отправляет кадр на соответствующий порт. Если соответствие MAC-адреса и порта не найдено в таблице MAC-адресов, коммутатор пересылает одноадресный кадр как широковещательный. Если на коммутаторе настроен VLAN, коммутатор пересылает кадр только в этом VLAN. Если в таблице MAС-адресов найдено соответствие для VLAN, отличного от того, в котором был принят кадр, коммутатор пересылает кадр широковещательно в том VLAN, в котором кадр был принят.

10.2. Конфигурация таблицы MAC-адресов.

  1. Настройка времени жизни MAC-адреса

  2. Настройка статической пересылки и фильтрации

  3. Очистка таблицы MAС-адресов

  4. Обучение таблицы MAС-адресов через CPU

  1. Настройка времени жизни MAC-адреса

Команда

Описание

mac-address-table aging-time <0|aging-time>

no mac-address-table aging-time

!  В режиме глобальной конфигурации

Настройка времени жизни MAC-адреса

Применение настроек по-умолчанию

2. Настройка статической пересылки и фильтрации

Команда

Описание

mac-address-table {static | blackhole} address <mac-addr> vlan <vlan-id > [interface ethernet <interface-name>] | [source|destination|both]

no mac-address-table {static | blackhole | dynamic} [address <mac-addr>] [vlan <vlan-id>][interface ethernet <interface-name>]

!  В режиме глобальной конфигурации

Настройка статических записей и фильтрации

Удаление статических записей и фильтрации

l2-address-table static-multicast address {<ip-addr> |<mac-addr>} vlan <vlan-id> {interface [ethernet <interface-name>] | port-channel <port-channel-id>}

no l2-address-table static-multicast address {<ip-addr> |<mac-addr>} vlan <vlan-id> {interface [ethernet <interface-name>] | port-channel <port-channel-id>}

!  В режиме глобальной конфигурации

Настройка статической записи Многоадресного MAC-адреса

Удаление статической записи Многоадресного MAC-адреса

3. Очистка таблицы MAС-адресов

Команда

Описание

clear mac-address-table dynamic [address <mac-addr>] [vlan <vlan-id>] [interface [ethernet | portchannel] <interface-name>]

!  В режиме глобальной конфигурации

Очистка динамических записей в таблице MAC-адресов.

4. Обучение таблицы MAС-адресов через CPU

Команда

Описание

mac-address-learning cpu-control

no mac-address-learning cpu-control

!  В режиме глобальной конфигурации

Включение функции обучения MAC-адресов через CPU.

Отключение функции обучения MAC-адресов через CPU.

show collision-mac-address-table

!  В привилегированном режиме

Отображение коллизий в таблице MAC-адресов

clear collision-mac-address-table

!  В режиме глобальной конфигурации

Очистка коллизий в таблице MAC-адресов

10.3. Пример конфигурации таблицы MAC-адресов

Рисунок 28.2 — Пример конфигурации таблицы MAC-адресов

Как показано на рисунке 28-2, ПК1 — 4 подключены к портам коммутатора 1/0/5, 1/0/7, 1/0/9, 1/0/11, все ПК помещены во VLAN 1 по-умолчанию. ПК 1 хранит конфиденциальные данные и недоступен для ПК из других физических сегментов. ПК 1 и ПК 2 статически приписаны к портам 7 и 9 соответственно.

Этапы конфигурации:

1. Настроить MAC-адрес как фильтруемый:

switch(config)#mac-address-table static 00-01-11-11-11-11 discard vlan 1

2. Настроить статические соответствия ПК 2 и ПК 3 портам 1/0/7 и 1/0/9

switch(config)#mac-address-table static address 00-01-22-22-22-22 vlan 1 interface ethernet 1/0/7
switch(config)#mac-address-table static address 00-01-33-33-33-33 vlan 1 interface ethernet 1/0/9

10.4. Решение проблем при конфигурации таблицы MAC-адресов

Если с помощью команды ‘show mac-address-table’ обнаруживается, что коммутатор не смог создать динамическое соответствие между MAC-адресом и портом, возможные причины:

  • Подключенный кабель поврежден;

  • На порту включен Spanning Tree и порт находится в состоянии “discarding” или устройство только что подключено к порту, а Spanning Tree находится в состоянии вычисления дерева;

  • В остальных случаях проверьте порт коммутатора и обратитесь в техническую поддержку для решения проблемы

10.5. Уведомления об изменениях в MAC-таблице

Данная функция позволяет уведомлять администратора об изменениях в таблице MAC-адресов с помощью SNMP trap.

10.5.1. Настройка уведомлений об изменениях в MAC-таблице

  1. Включение SNMP-функции уведомления об изменениях в MAC-таблице глобально

  2. Включение уведомления об изменениях в MAC-таблице глобально

  3. Настройка интервала отправки уведомления об изменениях в MAC-таблице

  4. Настройка размера истории таблицы

  5. Настройка типа события для отправки SNMP-trap

  6. Просмотр конфигурации и данных

  7. Очистка статистики

  1. Включение SNMP-функции уведомления об изменениях в MAC-таблице глобально

Команда

Описание

snmp-server enable traps mac-notification

no snmp-server enable traps mac-notification

!  В режиме глобальной конфигурации

Включение SNMP-функции уведомления об изменениях в MAC-таблице

Выключение SNMP-функции уведомления об изменениях в MAC-таблице

2. Включение уведомления об изменениях в MAC-таблице глобально

Команда

Описание

mac-address-table notification

no mac-address-table notification

!  В режиме глобальной конфигурации

Включение уведомления об изменениях в MAC-таблице

Выключение уведомления об изменениях в MAC-таблице

3. Настройка интервала отправки уведомления об изменениях в MAC-таблице

Команда

Описание

mac-address-table notification interval <0-86400>

no mac-address-table notification interval

!  В режиме глобальной конфигурации

Настройка интервала отправки уведомления об изменениях в MAC-таблице

Возврат значений по-умолчанию (30 секунд)

4. Настройка размера истории таблицы

Команда

Описание

mac-address-table notification history-size <0-500>

no mac-address-table notification history-size

!  В режиме глобальной конфигурации

Настройка размера истории таблицы

Возврат значений по-умолчанию (10 записей)

5. Настройка типа события для отправки SNMP-trap

Команда

Описание

mac-notification {added | both | removed}

no mac-notification

!  В режиме конфигурации порта

Выбор типа события для отправки SNMP-trap

Выключение отправки по событию с данного интерфейса

6. Просмотр конфигурации и данных

Команда

Описание

show mac-notification summary

!  В привилегированном режиме

Просмотр конфигурации и данных

7. Очистка статистики

Команда

Описание

clear mac-notification statistics

!  В привилегированном режиме

Очистка статистики

10.5.2. Пример настройки уведомлений об изменениях в MAC-таблице

Предположим, система управления сетью (NMS — Network Management Station) настроена на прием сообщений SNMP-trap от коммутатора. Для того, чтобы коммутатор отправлял сообщения NMS при изменениях в таблице MAC-адресов, можно настроить функционал следующим образом:

Switch(config)#snmp-server enable
Switch(config)#snmp-server enable traps mac-notification
Switch(config)# mac-address-table notification
Switch(config)# mac-address-table notification interval 5
Switch(config)# mac-address-table notification history-size 100
Switch(Config-If-Ethernet1/0/4)# mac-notification both

Перейти к содержимому

Приведу пример поиска ARP записи по mac адресу:

show arp | include 10fe.ed58.0555

Просмотр ARP по IP, MAC, VLAN:

sh ip arp 192.168.1.22
sh ip arp 01ac:bc11:1100
sh ip arp vlan 100

Просмотр таблицы mac адресов находящихся в указанном VLAN:

show mac address-table vlan 100

Поиск mac адреса в таблице:

show mac-address-table address 20cf.30bd.d1fe

Просмотр дубликатов mac-адресов:

sh mac-address-table duplicate only

Посмотреть диапазон mac адресов самих модулей в устройстве:

Если понадобится удалить MAC или IP из таблиц, то:

clear ip arp 192.168.1.5
clear mac-address-table dynamic address 6872.5104.aaaa
clear arp-cache

Другие наши интересноые статьи:

  • Стоимость установки роутера wifi дома
  • Тариф 200 мбит с какой роутер
  • Стоимость роутера ростелеком в месяц
  • Супер админ для роутера ростелеком
  • Таблица arp роутер что это

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии