Продолжаем мучить подопытные коммутаторы Elsicom, разбирая, что они умеют и что из себя представляют. В этой части хотелось бы ознакомиться со следующими функциями:
- Агрегирование портов
- Настройка VLAN и работа с ними. Создание транковых линков между Elsicom и Cisco, и между двумя Elsicom, проверка совместимости инкапсуляции
Прежде чем начать что-либо тестировать, собираем вот такую топологию:
Коммутатор sw-3 - коммутатор для сети управления (Management). Он нам практически не понадобится, через него организуем внеполосное управление (оно же Out-Of-Band, OOB). Трафик же будем гонять через получившийся треугольник sw-4---ELS001---ELS010, который знаком всем, кто изучал курсы Cisco уровня Routing&Switching.
Приступаем к настройке!
I Агрегирование портов
Агрегирование каналов - это возможность объединения нескольких физических каналов связи для обеспечения ряда важных функций: отказоустойчивости линий связи (избыточное количество линий позволяет осуществлять непрерывную передачу в случае обрыва одного или нескольких линков в пуске), балансировку нагрузки, увеличение пропускной способности линий. Агрегирование каналов может осуществляться путем жесткого указания, что данные каналы будут единым целым, или же собираться в "пучок" с помощью протоколов агрегирования - PAgP и LACP.
Агрегирование каналов присутствует не только у сетевых устройств, но и у серверов. Причем называться может по-разному - EtherChannel (Cisco), Bonding (некоторые серверы и устройства), NIC Teaming (так агрегированные каналы называются в Windows Server). Возможно, есть другие названия, я не в курсе.
При выборе оборудования L2 большинство заказчиков, с которыми я за всю свою жизнь общался, всегда спрашивают про возможность агрегирования каналов. Это очень важная и необходимая функция настолько, что про нее даже не пишут в технических характеристиках, настолько она обычна в современном оборудовании связи.
Однако, в коммутаторах Elsicom ELS0xx в прошивке версии 4.3.4 агрегирование каналов не предусмотрено вообще. Никакое. Ни жесткое, ни автоматическое.
Возникает вопрос, зачем я накатал такое большое предисловие к этому разделу, если данной функции нет. Да еще и на схеме указал по два канала связи (а между коммутаторами Elsicom и вовсе 3!), а сам тут втираю, что функция не работает. Да просто уже собрал топологию, дотащил до лабы, все с трудом соединил и вкрутил и только потооооооооом узнал, почитав мануал (напоминаю, что мануалы обычно читаются в самый последний момент во времена проблем. Никто не любит маны просто так читать), что агрегирования нет и что линков куча и они избыточны. Было обидно, разбирать все было влом, поэтому вот и накатал такой ликбез.
Избыточные линии связи нам пригодятся потом в процессе рассмотрения STP. Пока же перейдем к следующей теме.
II Работа с VLAN
Для дальнейшей работы выполняю корректировку топологии, погасив некоторые порты и превратив в L2-топологию следующего простейшего вида:
При этом порты между коммутаторами Elsicom скорее всего заблокируются STP, поэтому заодно попробую внести корректировки в приоритеты портов для возможности работы со Spanning-Tree, если разработчики указанную функцию реализовали.
Для начала создадим кучу VLAN'ов. Буду работать с левой частью схемы, попробую собрать транк между Cisco и ELS001, при этом сравним синтаксис и удобство настройки.
!
Elsicom(config)# vlan 670 name Test_1 //создание VLAN на Elsicom осуществляется одной командой, причем сразу же задается имя VLAN'а.
Elsicom(config)# vlan 671 name Test_2
!
Elsicom(config)# vlan 671 name Test_2
!
Аналогичным образом создаем все необходимые VLAN'ы. После чего проверяем конфиг и список имеющихся VLAN:
!
Elsicom(config)# do show running-config //коллеги реализовали в том числе удобные штуки из интерфейса Cisco типа выполнение команд уровня "EXEC" через do. Почему "EXEC" в кавычках - секрет. См. следующие части.
!
Building configuration...
!
Building configuration...
!
<Часть вывода вырезана>
!
vlan 1 name "NOT_FOR_USE"
vlan 6 name "MGMT"
vlan 670 name "Test_1"
vlan 671 name "Test_2"
vlan 672 name "Test_3"
vlan 673 name "Test_4"
vlan 674 name "Test_5"
vlan 675 name "Test_6"
vlan 676 name "NATIVE"
!
Elsicom(config)# do show vlan //вывод команды один в один взят из IOS
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 NOT_FOR_USE active Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11
Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16
Gi0/1, Gi0/2
6 MGMT active Fa0/1
670 Test_1 unused
671 Test_2 unused
672 Test_3 unused
673 Test_4 unused
674 Test_5 unused
675 Test_6 unused
676 NATIVE unused
vlan 1 name "NOT_FOR_USE"
vlan 6 name "MGMT"
vlan 670 name "Test_1"
vlan 671 name "Test_2"
vlan 672 name "Test_3"
vlan 673 name "Test_4"
vlan 674 name "Test_5"
vlan 675 name "Test_6"
vlan 676 name "NATIVE"
!
Elsicom(config)# do show vlan //вывод команды один в один взят из IOS
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 NOT_FOR_USE active Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11
Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16
Gi0/1, Gi0/2
6 MGMT active Fa0/1
670 Test_1 unused
671 Test_2 unused
672 Test_3 unused
673 Test_4 unused
674 Test_5 unused
675 Test_6 unused
676 NATIVE unused
!
Включаем транк на интерфейсе Gi0/7 Elsicom ELS001:
!
interface FastEthernet 0/7
switchport trunk allowed vlan 670-675
switchport mode trunk
!
interface FastEthernet 0/7
switchport trunk allowed vlan 670-675
switchport mode trunk
!
Соответствующие настройки на интерфейсе Cisco:
!
interface GigabitEthernet0/17
description ELSICOM_001_F0/7
switchport trunk allowed vlan 670-675
switchport trunk encapsulation dot1q
switchport trunk native vlan 676
switchport mode trunk
switchport nonegotiate
!
interface GigabitEthernet0/17
description ELSICOM_001_F0/7
switchport trunk allowed vlan 670-675
switchport trunk encapsulation dot1q
switchport trunk native vlan 676
switchport mode trunk
switchport nonegotiate
!
При этом транковый интерфейс поднялся и заработал. Трафик стал ходить, все вроде бы хорошо, кроме согласования Native-интерфейса. В целом все заработало, придраться не к чему. Тем не менее о полной совместимости сказать нельзя, т.к. трафик по Native не пройдет. Из документации и интерактивных подсказок я так и не понял, как установить нативный VLAN на транковый интерфейс Elsicom, при том, что вывод команды show interface trunk говорит о том, что такая настройка имеет место быть:
!
ELS001# show interface trunk
Port Mode Encapsulation Status Native vlan
Fa0/7 trunk 802.1q trunking none
Port Vlans allowed on trunk
Fa0/7 670-675
Port Mode Encapsulation Status Native vlan
Fa0/7 trunk 802.1q trunking none
Port Vlans allowed on trunk
Fa0/7 670-675
!
Наличие Native-VLAN в настоящее время далеко не всегда нужно, хотя встречаются некоторые топологии, например, связанные с беспроводной связью и подключением точек доступа, в которых решение становится более элегантным при использовании нативного VLAN.
Зато в документации я обнаружил довольно полезную команду: switchport trunk dynamic vlan, из описания которой абсолютно непонятно, что она делает, поэтому путем несложных экспериментов я выяснил, что она позволяет добавлять созданные после ввода указанной команды VLAN в транковый интерфейс, на котором применена команда switchport trunk allowed vlan all. Т.е. в случае наличия магистральных линков, через которые должны передаваться все VLAN, созданные на коммутаторе, данная команда позволит забыть о ручном добавлении новых VLAN'ов к уже разрешенным. Весьма и весьма полезно!
Далее я решил проверить работу транка между элсикомами. Для этого выбрал интерфейс Gi0/1 с обеих сторон, включил со стороны ELS001 транк и добавил все имеющиеся VLAN:
!
interface GigabitEthernet 0/1
switchport trunk allowed vlan all
switchport mode trunk
switchport trunk allowed vlan all
switchport mode trunk
!
Команда динамического добавления Vlan была включена. Здесь произошло нечто странное. периодически в консоль стали сыпаться сообщения следующего содержания:
3w25d 09:24 local7.info CPD: %DYNAMIC_VLAN_SUBSYSTEM: Dynamic creating VLAN 1 requested by interface GigabitEthernet 0/1
3w25d 09:24 local7.info CPD: %DYNAMIC_VLAN_SUBSYSTEM: Dynamic creating VLAN 1 requested by interface GigabitEthernet 0/1
3w25d 09:24 local7.info CPD: %DYNAMIC_VLAN_SUBSYSTEM: Dynamic creating VLAN 1 requested by interface GigabitEthernet 0/1
3w25d 09:24 local7.info CPD: %DYNAMIC_VLAN_SUBSYSTEM: Dynamic creating VLAN 1 requested by interface GigabitEthernet 0/1
3w25d 09:24 local7.info CPD: %DYNAMIC_VLAN_SUBSYSTEM: Dynamic creating VLAN 1 requested by interface GigabitEthernet 0/1
Система ушла в бесконечное динамическое создание Vlan 1. Сообщения не прекращались, пока я не отключил команду: no switchport trunk dynamic vlan. Похоже, придется писать в техподдержку.
В остальном транк между Elsicom ELS001 и ELS010 поднялся на ура.
UPD1: Техподдержка Elsicom сообщила мне, что я не совсем прав относительно native-vlan. Оказалось, что он все-таки задается, но делается это немного непривычным способом, а именно: если я хочу, чтобы на транковом интерфейсе какой-то VLAN был назначен для передачи нетегированного трафика, то не следует делать настройку режима порта (водить команду switchport mode trunk), вместо этого требуется вот такая конструкция:
!
interface FastEthernet 0/7
switchport access vlan 33
switchport trunk allowed vlan 670-675
!
UPD1: Техподдержка Elsicom сообщила мне, что я не совсем прав относительно native-vlan. Оказалось, что он все-таки задается, но делается это немного непривычным способом, а именно: если я хочу, чтобы на транковом интерфейсе какой-то VLAN был назначен для передачи нетегированного трафика, то не следует делать настройку режима порта (водить команду switchport mode trunk), вместо этого требуется вот такая конструкция:
!
interface FastEthernet 0/7
switchport access vlan 33
switchport trunk allowed vlan 670-675
!
В документации на этот счет сказано следующее:
"Режим access запрещает принятие интерфейсом пакетов с 802.1Q тегом, режим trunk запрещает принятие пакетов, которые такого тега не имеют . Если режим не задан, то такой интерфейс принимает не тегированный трафик в VLAN, назначенный на порт командой switchport access vlan, и тегированный трафик VLAN, заданных командой switchport trunk allowed vlan . По умолчанию режим работы порта не задан."
Скорее всего я не обратил детального внимания на это описание из-за отсутствия в нем ключевого слова - Native! Ведь даже в выводе команды show interface trunk присутствует колонка с названием Native.
III Бонусная функция: тестирование медных линий
Пока я разбирался с транками и вланами на глаза попалась функция тестирования целостности медных линий:
!
ELS010# test cable-diagnostics interface GigabitEthernet 0/1
3w25d 08:01 local7.info CPD: %INTERFACE_MANAGMENT_SUBSYSTEM: Port Gi0/1, changed link state to Down
MDI PAIR 0:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
MDI PAIR 1:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
MDI PAIR 2:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
MDI PAIR 3:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
ELS010#
3w25d 08:01 local7.info CPD: %INTERFACE_MANAGMENT_SUBSYSTEM: Port Gi0/1, changed link state to Down
MDI PAIR 0:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
MDI PAIR 1:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
MDI PAIR 2:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
MDI PAIR 3:
Cable Test Passed. No problem found.
Cable Length is less than 50M.
ELS010#
!
Интересная и востребованная функция. Жаль, что нет ничего аналогичного для тестирования SFP-модулей и оптической среды передачи данных.
Остальные части:
1 - Общие сведения о компании. Внешний вид устройств
2.1 - Интерфейсы управления. Базовая настройка
2.3 - STP. Совместимость с Cisco
Остальные части:
1 - Общие сведения о компании. Внешний вид устройств
2.1 - Интерфейсы управления. Базовая настройка
2.3 - STP. Совместимость с Cisco
Комментариев нет:
Отправить комментарий