Протокол vtpv3
Содержание:
- [править] LLDP в Linux
- Проблема с VTP-паролем – решение в VTPv3
- [править] VRRP в Mikrotik
- [править] Wireless
- Основные характеристики
- [править] RSTP
- [править] Формат пакета VRRP
- Изменения в операционной работе VTPv3
- [править] LLDP в FreeBSD
- Differences of ERPS and EAPS
- [править] MSTP
- [править] MESH
- MVRP Overview
- Lab Instruction
- Как технически реализован протокол VTP
- [править] Описание протокола
- [править] Базовые настройки
- [править] Описание протокола
[править] LLDP в Linux
Вообще, lldpd поддерживает не только LLDP,
но также и CDP, EDP, SONMP и AgentX SNMP.
Активация соответствующих протоколов выполняется ключами:
- -x — AgentX SNMP
- -s — SONMP
- -c — CDP
- -f — FDP
- -e — EDP
Установка lldpd осуществляется принятым в дистрибутиве способом:
%# apt-get install lldpd
Ключи демону в Debian передаются через /etc/default/lldpd:
DAEMON_ARGS="-x -c -s -e"
Запуск демона осуществляется командой:
%# /etc/init.d/lldpd start
Просмотреть информацию о LLDP-соседях:
$ sudo lldpctl ------------------------------------------------------------------------------- LLDP neighbors ------------------------------------------------------------------------------- Interface: eth3 ChassisID: 00:15:60:79:8e:c0 (MAC) SysName: mossy SysDescr: ProCurve J4906A Switch 3400cl-48G, revision M.10.06, ROM I.08.11 (/sw/code/build/makf(ts_08_5)) MgmtIP: 192.168.18.1 Caps: Bridge(E) Router(E) PortID: 1 (local) PortDescr: 1 -------------------------------------------------------------------------------
На коммутаторе Linux-машина при этом видна так:
# sh lldp i r LLDP Remote Devices Information LocalPort | ChassisId PortId PortDescr SysName --------- + ------------------------- ------ --------- ---------------------- 1 | 00 04 75 82 53 43 00 ... eth3 xnt1 ...
Виден её MAC-адрес, имя хоста, а также интерфейс,
которым хост подключен к коммутатору.
Среди расширенных сведений можно увидеть версию ядра и IP-адрес системы.
# sh lldp i r 1 LLDP Remote Device Information Detail Local Port : 1 ChassisType : mac-address ChassisId : 00 04 75 82 53 43 PortType : mac-address PortId : 00 04 75 82 53 43 SysName : xnt1 System Descr : Linux 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 200... PortDescr : eth3 System Capabilities Supported : bridge, wlan-access-point, router System Capabilities Enabled : bridge Remote Management Address Type : ipv4 Address : 192.168.18.3
Проблема с VTP-паролем – решение в VTPv3
Раньше в VTP была проблема – пароль хранился в открытом виде. Его можно было прочитать как командой
так и просто – скопировав наружу файл и открыв его. Задавался пароль просто:
Более того, при конфигурировании пароль выводился в явном виде – например, при выполнении вышеуказанной команды выведется что-то вида:
Это – дополнительная уязвимость; ведь получается, что пароль видит не только тот, кто обладает правами по конфигурированию, но и тот, кто например читает логи. То есть в определённом сценарии аудитор, обладающий только правами “анализ журналов событий” может увидеть среди информации об операциях конфигурирования пароль VTP-домена. Который, в свою очередь, может совпадать с другими паролями или навести на мысль о схеме формирования паролей.
Теперь ситуация поменялась. Вы можете задать пароль так, что он будет храниться уже в виде MD5-хэша. Это делается командой
Команда продолжит работать, но выводить будет хэш.
Можно и ещё безопаснее – заменив слово на слово , вводить пароль сразу в виде хэша (не забудьте, что MD5-хэш – это 128 бит. это, в свою очередь, 16 байт. а они записываются как 16 групп по 2 шестнадцатеричных разряда). В этом случае даже оператор, который конфигурирует устройство, не будет видеть пароля в оригинальном виде.
Следующий момент про безопасность – известные потенциальные приключения при добавлении в сеть нового коммутатора.
[править] VRRP в Mikrotik
Сетевой уровень
|
---|
[править] Wireless
HP ProCurve Access Point 420# reset
HP ProCurve Access Point 420# dir
HP ProCurve Access Point 420# configure HP ProCurve Access Point 420(config)# prompt Groupx
Groupx(config)# interface ethernet Groupx(if-ethernet)#no ip dhcp Groupx(if-ethernet)# ip address 10.x.20.20 255.255.255.0 10.x.20.1
Optionally, the SSID name can be set using the following CLI commands:
Groupx# configure Groupx(config)# interface wireless g Groupx(if-wireless-g)# ssid index 1 Groupx(if-wireless-g-ssid-1)# ssid-name <name>
By default, the System Name is set to “Enterprise Wireless AP 1”. As a good
practice, this value should be changed to a unique identifier for each access
point.
Optionally, the system name can be set using the following CLI commands:
Groupx(if-wireless-g-ssid-1)# end Groupx(if-wireless-g)# end Groupx(config)system name <name>
Optionally, the radio settings can be set using the following CLI commands:
Groupx(config)# interface wireless g Groupx(if-wireless-g)# radio-mode b+g Groupx(if-wireless-g)# transmit-power min Groupx(if-wireless-g)#
Основные характеристики
PPP протокол был разработан на основе HDLC и дополнен некоторыми возможностями[какими?], которые до этого встречались только в проприетарных протоколах.
Автоматическая настройка
Link Control Protocol (LCP) обеспечивает автоматическую настройку интерфейсов на каждом конце (например, установка размера пакетов) и опционально проводит аутентификацию. Протокол LCP работает поверх PPP, то есть начальная PPP связь должна быть до работы LCP.
Другим вариантом аутентификации через PPP является Extensible Authentication Protocol (EAP).
После того, как соединение было установлено, поверх него может быть настроена дополнительная сеть. Обычно используется Internet Protocol Control Protocol (IPCP), хотя Internetwork Packet Exchange Control Protocol (IPXCP) и AppleTalk Control Protocol (ATCP) были когда-то популярны. Internet Protocol Version 6 Control Protocol (IPv6CP) получит большее распространение в будущем, когда IPv6 заменит IPv4 как основной протокол сетевого уровня.
Многопротокольная поддержка
PPP позволяет работать нескольким протоколам сетевого уровня на одном канале связи. Другими словами, внутри одного PPP-соединения могут передаваться потоки данных различных сетевых протоколов (IP, Novell IPX и т. д.), а также данные протоколов канального уровня локальной сети. Для каждого сетевого протокола используется Network Control Protocol (NCP), который его конфигурирует (согласовывает некоторые параметры протокола).
PPP NCP обеспечивает процесс создания соединения через PPP, инициирует и настраивает различные протоколы сетевого уровня такие как IP, IPX или AppleTalk.
Microsoft PPP поддерживает следующие NCP:
- Internet Protocol Control Protocol (IPCP) для настройки IP.
- Internetwork Packet Exchange Control Protocol (IPXCP) для настройки IPX.
- AppleTalk Control Protocol (ATCP) для настройки AppleTalk.
- NetBIOS Frames Control Protocol (NBFCP) для настройки NetBEUI.
Обнаружение закольцованных связей
PPP обнаруживает закольцованные связи, используя особенность, включающую magic numbers. Когда узел отправляет PPP LCP сообщения, они могут включать в себя магическое число. Если линия закольцована, узел получает сообщение LCP с его собственным магическим числом вместо получения сообщения с магическим числом клиента.
[править] RSTP
Задачи:
Configure RSTP
Verify operation of RSTP
View RSTP operational status and information
Выполнение:
1. Настройка RSTP (default на 34, 26, 53)
Изменить версию STP на RSTP
sw(config)# spanning-tree protocol-version rstp
Задание приоритета коммутатора:
sw(config)# spanning-tree priority 1
Настроить switch-to-switch соединения, отключить edge-port:
sw(config)# no spanning-tree trk2 edge-port
Посмотреть, что lldp пакеты передаются несмотря на то что порт в заблокированном состоянии:
sw# show lldp info remote
Включить STP:
sw(config)# spanning-tree
Добавить избыточные линки
Посмотреть состояние портов:
sw# show spanning-tree 2
[править] Формат пакета VRRP
VRRP-пакеты передаются для того, чтобы передать всем VRRP-маршрутизаторам информацию о состоянии и приоритете Master-маршрутизатора, который ассоциирован с VRID.
VRRP-пакеты инкапсулируются в IP-пакеты и отправляются на адрес групповой рассылки, который зарезервирован для VRRP.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Type | Virtual Rtr ID| Priority | Count IP Addrs| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Auth Type | Adver Int | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Address (1) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Address (n) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Authentication Data (1) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Authentication Data (2) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поля пакета:
- Version — версия протокола. Текущая версия — 2.
- Type — тип VRRP-пакета:
- Пакеты с неизвестным типом пакета должны отбрасываться,
- Единственный тип пакета, который определён в текущей версии протокола: 1 — ADVERTISEMENT,
- Virtual Rtr ID (VRID) — идентифицирует виртуальный маршрутизатор, о статусе которого передается информация:
- Priority — указывает приоритет VRRP-маршрутизатора, который отправляет пакет. Чем выше значение поля, тем более высокий приоритет:
- Приоритет маршрутизатора, который является владельцем IP-адреса (или адресов) должен быть равен 255,
- У остальных маршрутизаторов значение приоритета должно быть в диапазоне от 1 до 254. По умолчанию используется приоритет 100,
- Значение приоритета, равное 0, имеет специальное назначение — указывает, что текущий Master перестал участвовать в работе VRRP. Это используется для того, чтобы быстрее перевести Backup-маршрутизаторы в роль Master, не дожидаясь окончания таймера,
- Count IP Addrs — количество IP-адресов, которые содержатся в данном VRRP-объявлении
- Authentication Type — используемый тип аутентификации:
- Должен быть уникальным для виртуального маршрутизатора,
- Пакет, тип аутентификации которого не совпадает с локально настроенным типом аутентификации, или у которого указан неизвестный тип аутентификации, должен быть отброшен,
- Определены такие типы аутентификации:
- 0 — No Authentication — аутентификация не используется. В поле Authentication Data передаются 0,
- 1 — Reserved — зарезервированное значение, которое используется для совместимости с RFC 2338,
- 2 — Reserved — зарезервированное значение, которое используется для совместимости с RFC 2338,
- Advertisement Interval (Adver Int) — интервал (в секундах) между отправкой VRRP-объявлений. По умолчанию равен 1 секунде;
- Checksum — контрольная сумма VRRP-пакета;
- IP Address(es) — один или более IP-адресов, которые ассоциированы с виртуальным маршрутизатором;
- Authentication Data — поле используется для совместимости с RFC 2338. Должно быть установлено равным 0 и игнорироваться при получении.
Поля IP-пакета
Так как VRRP-пакеты инкапсулируются в IP-пакеты, ниже описаны значения некоторых полей IP-пакета:
- IP-адрес отправителя — основной IP-адрес интерфейса, с которого отправляется пакет;
- IP-адрес получателя — групповой адрес 224.0.0.18. Так как это адрес из диапазона link local scope, то маршрутизаторы не передают пакет с таким адресом получателя, независимо от значения TTL;
- TTL — устанавливается равным 255. VRRP-маршрутизатор, получивший пакет с другим значением поля TTL, должен отбросить пакет;
- Протокол — протоколу VRRP присвоен номер 112.
Изменения в операционной работе VTPv3
VTPv3 так же, как и его предок, VTPv2, будет отправлять от primary server уведомление с новой версией БД VLAN’ов каждый раз при успешной записи в эту БД. К успешным записям будут относиться операции создания/удаления vlan’ов, а также переименования, изменения параметров (например, смена MTU), и некоторые другие. Плюс, каждые 300 секунд будет рассылаться Summary Advertisement, который так же как в VTPv2 будет дополнительно синхронизировать содержимое VTP на всех устройствах в VTP-домене.
К изменениям в упомянутых операциях можно отнести то, что теперь будет рассылаться информация о всём диапазоне VLAN’ов. Что это значит? Ранее для VTP диапазон допустимых в 802.1Q vlan’ов для обмена между устройствами и vtp prune’инга выглядел так:
- – рассылаем, не пруним
- – рассылаем, пруним
- – не рассылаем, не пруним
- – не рассылаем, не пруним
- – не рассылаем, не пруним
Теперь он полностью участвует в VTP-обмене.
[править] LLDP в FreeBSD
Поддержка LLDP в FreeBSD осуществляется при помощи программы openlldp, доступной в виде порта.
Демон openlldpd отправляет по указанному ему сетевому интерфейсу
информацию о системе, пользуясь протоколом LLDP.
lldpd 0.3 (c) Copyright 2002 - 2006 The OpenLLDP Group Dual licensed under the GPL and Other/Proprietary licenses. This product borrows some code from the Open1X project. (http://www.open1x.org) Usage: lldpd -c <path> : Use the config file <path> instead of the default. -i <interface> : Use <interface> for LLDP transactions -d <debug_level/flags> : Set debug verbosity. -f : Run in forground mode. -s : Remove the existing control socket if found. (Should only be used in system init scripts!) <debug_level> can be any of : A : Enable ALL debug flags. c : Enable CONFIG debug flag. s : Enable STATE debug flag. t : Enable TLV debug flag. i : Enable INT debug flag. n : Enable SNMP debug flag. x : Enable EXCESSIVE debug flag.
Differences of ERPS and EAPS
First, with the automatic discovery mechanism, ERPS does not need to configure the node type manually, whereas the role of each node in EAPS should be specified by user through configuration.
Second, different from the master node of EAPS, the RPL owner will not check the completeness of Ethernet ring positively and continuously, nor control the MAC address ageing of other nodes.
Third, ERPS has no need to distinguish control VLAN and data VLAN as the EAPS does.
Fourth, ERPS allows for the user to set the ring in a broken state for maintenance and then recover the ring manually, which overshadows the EAPS.
[править] MSTP
Задачи:
- Configure MSTP
- Verify operation of MSTP
- View operational status and details of multiple MST instances
- View operational status and details of the CST
Выполнение:
1. Настройка MSTP (default на 34, 26, 53)
Изменить версию STP на MSTP
sw(config)# spanning-tree protocol-version mstp
Задание приоритета коммутатора:
sw(config)# spanning-tree priority 1
Настроить switch-to-switch соединения, отключить edge-port:
sw(config)# no spanning-tree trk2 edge-port
Посмотреть, что lldp пакеты передаются несмотря на то что порт в заблокированном состоянии:
sw# show lldp info remote
Включить STP:
sw(config)# spanning-tree
Добавить избыточные линки
Посмотреть состояние портов:
[править] MESH
!! До начала выполнения надо перенастроить коммутаторы, так как ip routing не может быть включен одновременно с mesh. И 2626 не поддерживает mesh
2626 можно использовать для маршрутизации между VLAN
Желательно генератор трафика
Задачи:
- Перенастроить оборудование
- Настроить mesh
Выполнение:
1. Перенастроить оборудование
- Отключить ip routing
- Убрать адреса с VLAN
- Отключить stack (на 34)
- Указать default gateway коммутатор на котором маршрутизация (2626)
2. Настроить mesh
Добавить порты в mesh:
sw(config)# mesh 4-6
Проверить настройки:
sw# sh mesh sw# sh vlan port mesh sw# sh span mesh
Проверить счетчики:
sw# sh interfaces
Обнулить счетчики:
sw# clear statistics 3-6
! Счетчики хорошо смотреть через веб интерфейс или через меню
после удаления из меш
!! До начала выполнения следующих заданий надо перенастроить коммутаторы, так как ip routing не может быть включен одновременно с mesh.
! Можно вернуть конфиги с STP
2626 не поддерживает ip routing
MVRP Overview
MVRP (Multiple VLAN Registration Protocol) is the counterpart protocol of Cisco VTP and GVRP (GARP VLAN Registration Protocol). It is the last standard VLAN Registration Protocol, so it has richer properties than the other protocols. MVRP is the IEEE 801.ak standard.
MVRP reduces the VLAN tasks by managing VLAN register, unregister, renaming and other VLAN related issues. The main idea is the same with the other protocols that does the same job. The idea is, configuring VLANs on one switch and distribute it to the other switches.
MVRP is an application of MRP (Multiple Registration Protocol). This is like GVRP and GARP. GVRP is replaced with MVRP and GARP is replaced with MRP. This provide enhanced properties like improved resource usage, bandwidth control etc. MVRP has more efficient PDUs and a very good Protocol Design.
MVRP sends the 4094 VLANs’ state in one PDU. It also support triggered TCNs (Topology Change Notifications) for a specific VLAN. This feature is very important and critic for large Service Providers.
GO ON BOARD
Other GVRP, MVRP and VTP Articles…
Lab Instruction
Step 1. – Configure SW2 as a VTP Transparent switch and use VTP Version 2, verify your configuration.
To configure SW2 as a VTP transparent switch you’ll use the vtp mode transparent command in global configuration; to verify your configuration change you’ll use the show vtp status command in user or privileged mode as shown below;
SW2 con0 is now available Press RETURN to get started. SW2>enable SW2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. SW2(config)#vtp mode transparent SW2(config)#vtp version 2 Setting device to VTP TRANSPARENT mode. SW2(config)#end SW2#show vtp status SW2#show vtp status VTP Version : running VTP2 Configuration Revision : 0 Maximum VLANs supported locally : 1005 Number of existing VLANs : 8 VTP Operating Mode : Transparent VTP Domain Name : VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0x06 0x97 0x82 0xDA 0x39 0x52 0x1E 0xF2 Configuration last modified by 192.168.255.252 at 0-0-00 00:00:00 SW2#
Step 2. – Configure VTP Pruning on the VTP server verify and that the configuration was propagated to the VTP Client.
To configure VTP pruning you’ll use the vtp pruning command in global configuration on the VTP Server only. this setting gets propagated to all VTP clients in the same VTP domain as shown below;
SW1 con0 is now available Press RETURN to get started. SW1>enable SW1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. SW1(config)#vtp pruning Pruning switched on SW1(config)#end SW1#show vtp status VTP Version : 2 Configuration Revision : 2 Maximum VLANs supported locally : 36 Number of existing VLANs : 8 VTP Operating Mode : Server VTP Domain Name : CISCO VTP Pruning Mode : Enabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0x2E 0x9F 0x5E 0x57 0xE3 0x87 0x46 0xFA Configuration last modified by 10.1.5.1 at 3-1-02 00:10:56 Local updater ID is 10.1.5.1 on interface Vl5 (lowest numbered VLAN interface found) SW1#
Show below is the verification that VTP Pruning is being properly propagated to SW3 from the VTP Server (SW1);
SW3#show vtp status VTP Version : 2 Configuration Revision : 3 Maximum VLANs supported locally : 36 Number of existing VLANs : 8 VTP Operating Mode : Client VTP Domain Name : CISCO VTP Pruning Mode : Enabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0x77 0xF2 0x86 0xA4 0x3C 0x21 0x09 0xC0 Configuration last modified by 10.1.5.1 at 3-1-02 00:17:21 SW3#
Step 3. – Verify that VTP Pruning is functioning properly by viewing the pruning list on SW1.
To view this information you can use the show interface trunk command in user or privileged mode as shown below;
SW3#show interface trunk Port Mode Encapsulation Status Native vlan Fa0/13 on 802.1q trunking 1 Port Vlans allowed on trunk Fa0/13 1-4094 Port Vlans allowed and active in management domain Fa0/13 1,10,20,30 Port Vlans in spanning tree forwarding state and not pruned Fa0/13 1,10 SW3#
As shown above from the SW3 show interface trunk output you can see that on port Fa1/13 the VLAN’s that are forwarding and not pruned on that trunk link are VLAN’s 1 and 10.
When having a transparent switch in a VTP Transit path you obviously must have IP connectivity. Keep in mind for traffic to pass through the transparent switch, the transparent switch must have the VLAN configure for the traffic. For example, Traffic from SW1 VLAN 10 going to SW2 VLAN 20, SW3 must have VLAN10 configured on it or the traffic would get dropped.
You can verify this by pinging SW3’s VLAN 10 interface from SW1 as shown below;
SW1#ping 10.10.13.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.13.3, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms SW1#
The ping is successful because VLAN 10 is already configured on SW2 as per the lab prerequisites. However if you remove VLAN 10 from SW2 and try to ping SW3’s VLAN10 interface from SW1 again it will fail as shown below;
SW2#configure terminal SW2(config)#no vlan 10 SW2(config)#end SW2#
SW1#ping 10.10.13.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.13.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) SW1#
Как технически реализован протокол VTP
Технологически протокол VTP реализован как SNAP-вложение в кадры ISL или 802.1Q. Работать может на 802.3 (Ethernet) и 802.5 (Token Ring). А также поверх LANE, но, надеюсь, эта некрофилия вас не коснётся.
Нужно отметить, что служебные данные VTP вкладываются не сразу в кадр 802.3, а после транкового заголовка. Выглядит это так:
- Обычный заголовок стандартного 802.3 (Destination MAC, Source MAC, тип вложения – например, в случае 802.1Q это будет )
- Подзаголовок LLC-уровня (это “верхний” подуровень канального уровня – кто проходил CCNA, тот знает, что у уровней модели OSI бывают подуровни, подробнее есть в нашем бесплатном вебинаре про LLC и CNAP, входящем в трек Advanced CCNA), содержащий SSAP/DSAP коды , обозначающий, что далее идёт SNAP-вложение.
- Подзаголовок SNAP – Subnetwork Access Protocol, показывающий, что после будет не заголовок сетевого уровня, а дальнейшее разделение на субпротоколы канального уровня. В нашем случае SNAP несёт уже конкретную информацию, что вложен будет протокол, идентифицируемый как Cisco’вский протокол VTP (OUI = Cisco, Protocol = 0x2003).
А далее – уже данные самого протокола VTP, относящиеся к одному из типов VTP-сообщений. Это могут быть:
- Код 0x01 – Анонс-оглавление (Summary advertisement);
- Код 0x02 – Данные для анонса (Subset advertisement);
- Код 0x03 – Запрос на повторную информацию (Advertisement request);
- Код 0x04 – Данные для pruning (VTP join message);
Замечу, что про 802.1Q можно почитать в статье про 802.1Q и 802.1ad или посмотреть на нашем YouTube вебинар из серии Advanced CCNA про типы транкинга.
Так вот, далее.
Весь трафик Cisco VTP идёт на специальный “cisco’вский” мультикастовый MAC-адрес – на этот же адрес идёт и трафик протокола CDP, например, т.к. он тоже разработан фирмой Cisco. Как их разделяют?
Используется схема разделения по SNAP полю “протокол” – для CDP он будет , для VTP – . Этакое мультиплексирование канального уровня.
[править] Описание протокола
Протокол VRRP предназначен для увеличения доступности маршрутизаторов, выполняющих роль шлюза по умолчанию.
Для группы маршрутизаторов настраивается их принадлежность виртуальному маршрутизатору.
Фактически, виртуальный маршрутизатор — это группа интерфейсов маршрутизаторов, которые находятся в одной сети и разделяют Virtual Router Identifier (VRID) и виртуальный IP-адрес.
VRRP-маршрутизатор может находиться в нескольких виртуальных маршрутизаторах, каждый с уникальной комбинацией VRID/IP-адрес. Соответствия между VRID и IP-адресом должны быть одинаковыми на всех маршрутизаторах в одной сети.
В любой момент времени только один из физических маршрутизаторов выполняет маршрутизацию трафика, то есть, становится VRRP Master router, остальные маршрутизаторы в группе становятся VRRP Backup router.
Если текущий VRRP Master router становится недоступным, то его роль берет на себя один из VRRP Backup маршрутизаторов — тот, у которого наивысший приоритет.
Задание приоритета позволяет определить более приоритетные пути административно.
Backup-маршрутизатор не будет пытаться перехватить на себя роль Master-маршрутизатора, если только у него не более высокий приоритет, чем у текущего Master-маршрутизатора.
VRRP позволяет административно запретить перехват роли Master-маршрутизатора.
Единственное исключение из этого правила — VRRP-маршрутизатор всегда будет становиться Master, если он владелец IP-адреса, который присвоен виртуальному маршрутизатору.
В каждом виртуальном маршрутизаторе только Master отправляет периодические VRRP-объявления на зарезервированный групповой адрес 224.0.0.18.
На канальном уровне в качестве MAC-адреса отправителя VRRP-объявлений используется виртуальный MAC-адрес.
[править] Базовые настройки
Выбор идентификатора маршрутизатора (Router ID)
Router ID (RID) можно назначить административно выполнив команду:
switch(config)# ip router-id 10.0.1.1
Если RID не был назначен административно, то он выбирается автоматически, в зависимости от настроек коммутатора, по таким правилам:
- Настроен один loopback-интерфейс и несколько VLANов
Адрес присвоенный loopback-интерфейсу будет Router ID.
с различными адресами:
- Настроен один loopback-интерфейс с несколькими IP-адресами:
- Настроены несколько loopback-интерфейсов с несколькими IP-адресами в каждом:
- Настроены несколько VLAN’ов с одним IP-адресом в каждом VLAN:
- Настроены несколько VLAN’ов с несколькими IP-адресами в каждом VLAN:
Включение OSPF
В коммутаторах HP OSPF включается отдельной командой, не при первой заходе в режим router ospf.
Засчет этого есть возможность настраивать OSPF полностью, а затем его включить.
Аналогично, при отключении, не удаляются существующие настройки.
Включение OSPF
switch(config)# router ospf enable
Если OSPF отключен, то вывод команд связанных с OSPF, будет таким:
sw1(ospf)# sh ip ospf OSPF Configuration Information OSPF protocol : disabled
Переход в режим настройки OSPF и создание зоны 0 (backbone area):
switch(config)# router ospf switch(ospf)# area 0
Включение OSPF в VLAN 7:
switch(config)# vlan 7 ip ospf area 0
Включение OSPF на loopback-интерфейсах:
switch(config)# interface loopback 0 switch(lo-0)# ip ospf all
После включения OSPF на интерфейсе (VLAN’е) маршрутизатор:
- Начинает отправлять hello-сообщения через этот интерфейс для установления отношений соседства;
- Включает сеть интерфейса в LSA, которые он отправляет соседям.
[править] Описание протокола
Версии протокола
Существует две версии протокола HSRP 1 и 2:
- Multicast адрес:
- в версии 1 используется адрес 224.0.0.2 (как и в CGMP),
- в версии 2 используется адрес 224.0.0.102
- Количество групп:
- в версии 1 до 255 групп,
- в версии 2 до 4096.
- Виртуальный MAC-адрес (x — номер группы HSRP):
- в версии 1 0000:0C07:ACxx,
- в версии 2 0000:0C9F:Fxxx.
HSRP standby группа
HSRP standby группа — эмулирует виртуальный маршрутизатор. В одном VLAN может быть 255 групп. Группа состоит из:
- один Active маршрутизатор
- один Standby маршрутизатор
-
один виртуальный маршрутизатор - другие маршрутизаторы
IP-адрес группы — должен быть из сети в которой находятся маршрутизаторы, однако не может быть адресом, который уже присвоен маршрутизатору или хосту.
Виртуальный MAC-адрес (xx — номер группы HSRP):
- в версии 1 0000:0C07:ACxx,
- в версии 2 0000:0C9F:Fxxx.
Маршрутизатор с наивысшим приоритетом становится active. Если у двух маршрутизаторов одинаковый приоритет, то Active становится тот, у которого больше IP-адрес на участвующем в HSRP интерфейсе.
Взаимодействие между маршрутизаторами
HSRP-маршрутизаторы взаимодействуют между собой обмениваясь hello-сообщениями.
Эти сообщения отправляются на multicast адрес 224.0.0.2 или 224.0.0.102 (в зависимости от версии HSRP) на UDP порт 1985.
Адреса отправителя в hello-сообщениях:
- active-маршрутизатора:
- IP-адрес настроенный на маршрутизаторе,
- Виртуальный MAC-адрес HSRP,
- standby-маршрутизатора:
- IP-адрес настроенный на маршрутизаторе,
- MAC-адрес интерфейса.
Сообщения протокола
- Hello — с помощью этих сообщений маршрутизатор передает другим HSRP маршрутизаторам информацию о своем состоянии и приоритете.
- Coup — это сообщение отправляет standby маршрутизатор, когда он хочет взять на себя роль active маршрутизатора.
- Resign — это сообщение отправляет active маршрутизатор, когда он выключается или когда маршрутизатор с более высоким приоритетом отправил сообщение hello или coup.
Описание состояний маршрутизаторов
Маршрутизатор в HSRP standby группе может быть в одном из таких состояний:
- Initial — это начальное состояние, которое указывает на то, что HSRP не включен;
- Learn — маршрутизатор ещё не определил виртуальный IP-адрес и не получал hello-сообщение от active-маршрутизатора;
- Listen — маршрутизатор знает виртуальный IP-адрес, но не стал ни active ни standby маршрутизатором. Он получает сообщения от этих маршрутизаторов;
- Speak — маршрутизатор отправляет периодические hello-сообщения и активно участвует в выборах active и standby маршрутизаторов. Маршрутизатор не может перейти в состояние Speak, если он не получил виртуальный IP-адрес;
- Standby — маршрутизатор является кандидатом на роль active маршрутизатора и отправляет периодические hello-сообщения. Исключая переходные процессы, в группе должен быть только один маршрутизатор в состоянии Standby;
- Active — маршрутизатор, который отвечает за отправку пакетов, которые отправлены на виртуальный MAC-адрес группы. Маршрутизатор отправляет периодические hello-сообщения. Исключая переходные процессы, в группе должен быть только один маршрутизатор в состоянии Active.
HSRP Gratuitous ARP
Multiple HSRP (MHSRP)
MHSRP используется для балансировки нагрузки.
Для того чтобы балансировать нагрузку между существующими избыточными маршрутизаторами настраивается несколько групп HSRP в одном широковещательном сегменте.
Например, если есть два маршрутизатора, которые могут выполнять роль шлюза по умолчанию для сегмента, то на каждом из них необходимо настроить две группы HSRP.
В одной группе будет активным один маршрутизатор, в другой — второй.
Кроме того, для того чтобы эта схема работала, необходимо чтобы часть хостов получила в качестве адреса шлюза по умолчанию IP-адрес одного виртуального маршрутизатора, а вторая часть хостов — IP-адрес второго виртуального маршрутизатора.
Также имеет смысл настраивать MHSRP в случае, когда маршрутизаторы используют протокол динамической маршрутизации для доступа к удаленным сетям, и часть подсетей имеет меньшую метрику через первый маршрутизатор, а часть через второй. В таком случае маршрутизатор, получивший пакет, который будет передан через Standby маршрутизатор, отправит клиенту пакет ICMP Redirect, который сразу укажет на HSRP-адрес, в котором второй маршрутизатор будет активным. Таким образом, трафик сразу будет ходить оптимальным маршрутом.
При отстутствии активного адреса HSRP на втором маршрутизаторе, ICMP-Redirect по умолчанию не отправляется, и трафик ходит неоптимально.