Voice VLAN используется для выделения VoIP-оборудования в отдельную VLAN. Для VoIP-фреймов могут быть назначены QoS-атрибуты для приоритезации трафика. Классификация фреймов, относящихся к фреймам VoIP-оборудования, базируется на OUI ( Organizationally Unique Identifier – первые 24 бита MAC-адреса) отправителя.
Функционал настраивается в 2 этапа:
1) Добавление Voice VLAN на стороне коммутатора
а) Динамически на основе OUI входящего фрейма:
Назначение Voice VLAN для интерфейса происходит автоматически - когда на порт поступает фрейм с OUI из таблицы Voice VLAN. Когда порт определяется, как принадлежащий Voice VLAN – данный порт добавляется во VLAN как tagged.
Voice VLAN может быть активирован на портах, работающих в режиме trunk и general.
Активировать voice vlan и добавить запись в таблицу OUI для используемого телефона
console(config)# voice vlan oui-table add 002618 console(config)# voice vlan id 10 console(config)# voice vlan state oui-enabled
console(config)# !
console(config)# interface gigabitethernet 1/0/10console(config-if)# switchport mode generalconsole(config-if)# voice vlan enableconsole(config-if)# exit
б) Статически:
console(config)# interface gigabitethernet 1/0/10console(config-if)# switchport mode generalconsole(config-if)# switchport general allowed vlan add 10 tagged
В примере VLAN 10 используется под голосовой трафик.
2) Назначение Voice VLAN на стороне оконечного оборудования
а) С помощью lldp-med политик
ID Voice VLAN будет присвоен VoIP оборудованию с помощью lldp-med фреймов. Инициатором получение Voice VLAN в данном случае является VoIP-оборудование.
Настройка lldp-med политики с указанием номера voice vlan
console(config)# no lldp med network-policy voice autoconsole(config)# lldp med network-policy 1 voice vlan 10 vlan-type tagged up 4
Привязать lldp-med политику, активировать voice vlan для интерфейса
console(config)# interface gigabitethernet 1/0/10console(config-if)# switchport mode generalconsole(config-if)# lldp med enable network-policyconsole(config-if)# lldp med network-policy add 1console(config-if)# switchport general allowed vlan add 20 untaggedconsole(config-if)# switchport general pvid 20
console(config-if)# voice vlan enableconsole(config-if)# exit
В примере VLAN 10 используется под голосовой трафик, VLAN 20 используется под DATA-трафик.
Проверить работу voice vlan можно при помощи команды show voice vlan type oui GigabitEthernet1/0/10
console# show voice vlan type oui GigabitEthernet1/0/10Aging timeout: 1440 minutesCoS: 7Remark: No
OUI table
MAC Address - Prefix Description-------------------------- --------------------------------00:26:18 PC
Interface Enabled Secure Activated COS Mode------------ ------------------ ------------- ----------------- ----------gi1/0/12 Yes No Yes src
Если требуется пропустить два Voice VLAN в рамках одного коммутатора на разных портах, то воспользуемся следующей конфигурацией:
console(config)# lldp med network-policy 1 voice vlan 10 vlan-type tagged up 4
console(config)# lldp med network-policy 2 voice vlan 11 vlan-type tagged up 4
console(config)# interface gigabitethernet1/0/1
console(config-if)# switchport mode general
console(config-if)# switchport general allowed vlan add 10 tagged
console(config-if)# lldp med enable network-policy
console(config-if)# lldp med network-policy add 1
console(config)# interface gigabitethernet1/0/2
console(config-if)# switchport mode general
console(config-if)# switchport general allowed vlan add 11 tagged
console(config-if)# lldp med enable network-policy
console(config-if)# lldp med network-policy add 2
Таким образом коммутатор по LLDP сообщает телефонам в каком VLAN отправлять трафик. Со стороны коммутатора просто разрешаем данные VLAN на портах в тегированном виде.
б) Назначение Voice VLAN по DHCP
В ответе от DHCP-сервера присутствует опция 132 (VLAN ID), с помощью которой устройство автоматически назначает себе VLAN для маркировки трафика (Voice VLAN).
Данная схема не получила широкого применения.
в) Существует ещё 1 вариант настройки Voice VLAN.
Если VoIP-оборудование и ПК подключены к одному порту коммутатора и оба устройства передают нетегированный трафик, то для настройки отдельного vlan для телефонии можно воспользоваться функцией map mac. В примере VLAN 10 используется под голосовой трафик, VLAN 20 используется под DATA-трафик.
Настраиваем map mac, где используем mac address телефона:
vlan databasevlan 10,20map mac aa:bb:cc:00:00:00 24 macs-group 1exit
Выполняем настройку порта коммутатора:
interface gigabitethernet 1/0/10switchport mode generalswitchport general allowed vlan add 10,20 untaggedswitchport general map macs-group 1 vlan 10switchport general pvid 20exit
Динамическое изучение OUI-записей
Начиная с версии 4.0.25, добавлен функционал динамического изучения OUI-записей при общении по LLDP между ТА и MES. Динамическая OUI-запись изучается на основе capabilities T в LLDP-пакете от ТА. Сам процесс изучения регулируется командой:
console(config)#voice vlan oui-table auto-learning
После включения все LLDP-пакеты от ТА будут запускать процесс изучения новых записей в OUI-table. После выключения команды через "no"-форму, все существующие динамические OUI-записи удалятся.
Для разделения между статическими и динамическими записями добавлен вариант в show-команде:
console#show voice vlan type oui dynamic
команда будет отображать только динамические oui-записи, стандартная show-команда "show voice vlan type oui" остается неизменной (отображает все записи, как статические, так и динамические).
Динамическая запись изучается вместе с description (при наличии), размер описания ограничивается до 160 символов.
Dynamic records in OUI table
MAC Address - Prefix Description
-------------------------- --------------------------------
bc:16:f5 Cisco IP Phone 7975G,V15,
term75.defaultПримечание: динамическая запись не может быть удалена через команду:
console(config)#voice vlan oui-table remove bc16f5Dynamic entry is not available for manual deletion.
Однако, все же позволяется выполнить данную процедуру, необходимо редактировать динамическую запись через команду добавления для статической или же редактирования description:console(config)#voice vlan oui-table add bc16f5
Устаревание динамической записи привязано к устареванию мак-адресов. Динамическая запись будет существовать в системе до тех пор, пока существует хотя бы один такой mac-адрес с тем же OUI-префиксом, независимо от того, продолжается общение между ТА и MES или уже давно прекращено. Если есть mac-адрес, который был связан с динамической oui, она не удалится. Отсюда следует, что удаление одной записи по времени через устаревание маков равносильно времени удаления всех маков с тем же префиксом). Изучение новых записей происходит только по LLDP между ТА и MES, которые соединены напрямую. ТА, который подключен к MES через промежуточное устройство рано или поздно обучится в mac-таблице, но запись в oui-table не добавится.
Для удаления всех динамических записей необходимо воспользоваться командой:
console#clear voice vlan oui-table dynamic
Совместные настройки voice vlan и механизма port security
Рассмотрим схему
До выпуска версии 4.0.22 для совместной настройки voice vlan и port security необходимо было разрешать обучение трех mac-адресов за портом (port security max 3), так как MAC-адрес телефонного аппарата (далее - ТА) обучался как в voice vlan, так и в data vlan. Такое поведение было связано с тем, что ТА отправляет нетегированные LLDP. Попадая на коммутатор, происходит обучение MAC-адреса ТА в Data vlan из-за настройки соответствующего pvid:
Начиная с версии 4.0.22, была реализована возможность запрета обучения MAC-адреса ТА в Data VLAN путем добавления команды voice vlan secure mac-learning (включается в режиме глобальной конфигурации). При включении данной опции MAC-адреса от всех кадров, не предназначенных для Voice vlan, и source_mac которых совпадает с записью в OUI-table, не будут обучаться за соответствующим портом:
Важно: на текущий момент совместная настройка неприменима при добавлении команды на интерфейсе port security discard-shutdown - порт заблокируется.
Итоговая конфигурация совместной настройки:
voice vlan id 103 voice vlan state oui-enabled voice vlan secure mac-learning voice vlan oui-table add c4143c
lldp med network-policy 1 voice vlan 103 vlan-type tagged up 4
interface gigabitethernet1/0/1 port security max 2 port security max 1 voice port security mode max-addressesswitchport mode general switchport general allowed vlan add 111 untagged switchport general pvid 111 lldp med enable network-policy lldp med network-policy add 1 voice vlan enable


