4.20. Настройка GVRP
Назначение
GVRP (GARP VLAN Registration Protocol) - протокол канального уровня, предназначенный для автоматической передачи информации о VLAN между коммутаторами, что позволяет упростить процесс их конфигурирования.
Описание
GVRP позволяет динамически создавать (регистрировать) и удалять VLAN на коммутаторах, а также передавать (анонсировать) другим коммутаторам информацию о VLAN.
GVRP использует сообщения GVRP BPDU (GVRP Bridge Protocol Data Units), рассылаемые на мультикаст МАС-адрес 01-80-C2-00-00-21
для оповещения GVRP-устройств о различных событиях.
Режимы работы GVRP
Режимы анонсирования
Active - коммутатор рассылает информацию о настроенных на нем VLAN, даже если порт заблокирован протоколом STP.
Режим анонсирования “active” включается при помощи команды gvrp state active
.
Normal - коммутатор рассылает информацию о настроенных на нем VLAN, если порт не заблокирован протоколом STP.
Режим анонсирования “normal” включается при помощи команды gvrp state normal
.
Режимы регистрации
Normal - коммутатор обрабатывает входящие GVRP-анонсы и в соответствии с ними выполняет регистрацию или удаление VLAN. VLAN 1 является исключением и не может быть удалена. По умолчанию в данном режиме работают все порты.
Режим регистрации “normal” включается при помощи команды gvrp registration normal
.
Fixed - VLAN могут быть зарегистрированы на коммутаторе, если они уже настроены на других портах. Автоматическое удаление VLAN запрещено — даже если объявления GVRP перестают поступать, VLAN не удаляется.
Режим регистрации “fixed” включается при помощи команды gvrp registration fixed
.
Restricted - VLAN могут регистрироваться на порте только в том случае, если они уже присутствуют в локальной таблице VLAN устройства.
Режим регистрации “restricted” включается при помощи командыgvrp registration restricted
Forbidden - полный запрета регистрации VLAN через GVRP на указанном интерфейсе.
Режим регистрации “forbidden” включается при помощи командыgvrp registration forbidden
Сообщения GVRP
Join message - сообщения добавления портов в VLAN.
JoinEmpty - анонсирование коммутатором настроенных на нем VLAN.
JoinIn - ответное сообщение об успешной регистрации VLAN.
Leave message - сообщения об удалении VLAN.
LeaveEmpty - анонсирование коммутатором удаления на нем VLAN.
LeaveIn - ответное сообщение об успешном удалении VLAN.
LeaveAll message - удаление всех VLAN с порта. Данное сообщение отправляется по истечении LeaveAll Timer.
Таймеры GVRP
Join Timer - период времени, через который отправляются сообщения JoinIn или JoinEmpty.
Leave Timer - интервал времени, отчет которого начинается после получения Leave message. По его истечении коммутатор удаляет информацию об указанной в Leave message VLAN (если не будет получено сообщение JoinIn с информацией о VLAN, удаление которой предполагается).
Hold Timer - интервал задержки перед отправкой сообщения Join или Leave. В течение периода задержки GVRP инкапсулирует все GVRP-сообщения, которые необходимо отправить, и отправляет пакеты по истечении таймера. Это уменьшает количество отправляемых пакетов и экономит ресурсы полосы пропускания.
LeaveAll Timer - период времени, через который отправляется сообщение LeaveAll. Когда GVRP-подписчик получает это сообщение, он перезапускает все таймеры, включая LeaveAll Timer.
Настройка
Ниже показан пример настройки GVRP в соответствии с представленной конфигурацией сети.

Показана настройка коммутаторов “Switch1” - “Switch3”.
Коммутаторы “Switch1” и “Switch2” настроены в режим регистрации “normal registration”, что позволяет им регистрировать и удалять любые VLAN, согласно анонсам других коммутаторов.
Режим анонсирования на коммутаторах “Switch1” и “Switch2”- “normal”. В данном режиме коммутаторы не отправляют анонсы о своих VLAN.
Коммутатор “Switch3” настроен в режим регистрации “fixed registration”, и может регистрировать только VLAN, уже существующие в его базе. Автоматическое удаление VLAN в режиме “fixed registration” невозможно.
Режим анонсирования на коммутаторе “Switch3” - “active”. В данном режиме коммутаторы отправляют анонсы о своих VLAN.
Описанная выше конфигурация позволяет контролировать VLAN на коммутаторе “Switch3” и автоматически настраивать их на всех коммутаторах сети.
При отсутствии указания конкретного коммутатора, настройка выполняется на всех коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Глобальное включение GVRP
Switch(config)# gvrp
Switch(config)# gvrp dynamic-vlan-creation
Шаг 3: Настройка портов
На коммутаторе “Switch1”:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode access
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
На коммутаторе “Switch2”:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config)# interface eth-0-3
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode access
На коммутаторе “Switch3”:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode access
Шаг 4: Включение GVRP на портах
На коммутаторе “Switch1”:
Switch(config)# gvrp interface eth-0-1
Switch(config)# gvrp interface eth-0-2
На коммутаторе “Switch2”:
Switch(config)# gvrp interface eth-0-1
Switch(config)# gvrp interface eth-0-2
Switch(config)# gvrp interface eth-0-3
На коммутаторе “Switch3”:
Switch(config)# gvrp interface eth-0-1
Switch(config)# gvrp interface eth-0-2
Шаг 5: Настройка режимов работы GVRP
На коммутаторе “Switch1”:
Switch(config)# gvrp registration normal eth-0-2
Switch(config)# gvrp gvrp state normal eth-0-2
На коммутаторе “Switch2”:
Switch(config)# gvrp registration normal eth-0-1
Switch(config)# gvrp registration normal eth-0-2
Switch(config)# gvrp gvrp state normal eth-0-1
Switch(config)# gvrp gvrp state normal eth-0-2
На коммутаторе “Switch3”:
Switch(config)# gvrp registration fixed eth-0-1
Switch(config)# gvrp gvrp state active eth-0-1