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/10
console(config-if)# switchport mode general
console(config-if)# voice vlan enable
console(config-if)# exit

б) Статически:

console(config)# interface gigabitethernet 1/0/10
console(config-if)# switchport mode general
console(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 auto
console(config)# lldp med network-policy 1 voice vlan 10 vlan-type tagged up 4

Привязать lldp-med политику, активировать voice vlan для интерфейса

console(config)# interface gigabitethernet 1/0/10
console(config-if)# switchport mode general
console(config-if)# lldp med enable network-policy
console(config-if)# lldp med network-policy add 1
console(config-if)# switchport general allowed vlan add 20 untagged
console(config-if)# switchport general pvid 20

console(config-if)# voice vlan enable
console(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/10
Aging timeout: 1440 minutes
CoS: 7
Remark: 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 database
vlan 10,20
map mac aa:bb:cc:00:00:00 24 macs-group 1
exit

Выполняем настройку порта коммутатора:

interface gigabitethernet 1/0/10
switchport mode general
switchport general allowed vlan add 10,20 untagged
switchport general map macs-group 1 vlan 10
switchport general pvid 20
exit

Динамическое изучение 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 bc16f5
Dynamic 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-addresses
switchport 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

1 Comment

  1. Anonymous

    только если 10 влан под войс в последнем примере, то надо их  поменять в последней и предпоследней строчке