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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


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