Page tree
Skip to end of metadata
Go to start of metadata


10.1. Общие сведения о таблице MAC-адресов

Таблица 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
  • No labels