Главная » Компьютерные сети » Принцип работы VLAN на нескольких коммутаторах

Принцип работы VLAN на нескольких коммутаторах

Настройка VLAN на одном коммутаторе не должно вызывать трудностей: просто необходимо настроить определенный порт, указав ему конкретный номер VLAN, к которому он принадлежит. При использовании же нескольких коммутаторов в одной коммуникационной системе, необходимо дополнительно рассмотреть принцип перенаправления трафика между этими устройствами.

При использовании VLAN’ов в сетях, которые имеют несколько взаимосвязанных коммутаторов, устройства должны использовать транкинг (trunking) VLAN на соединениях между коммутаторами. Режим транкинг VLAN вынуждает коммутаторы использовать процесс, называемый тегированием VLAN, с помощью которого коммутатор-отправитель добавляет определенный заголовок к кадру перед отправкой его по магистрали. Этот дополнительный заголовок транкинга включает идентификатор VLAN (VLAN ID), так что отправляющий коммутатор связывает кадр с определенным VLAN’ом, и принимающий коммутатор будет знать, к какому VLAN принадлежит кадр.

На рисунке 1 показан пример, демонстрирующий работу VLAN, настроенный на нескольких коммутаторах, но не использующие режим транкинга. Во-первых, в схеме используются два VLAN’а: VLAN 10 и VLAN 20. Каждый коммутатор имеет два порта, назначенных каждому VLAN’у, поэтому каждый VLAN существует в обоих коммутаторах. Для переадресации трафика в VLAN 10 между двумя коммутаторами имеется физическое соединение между коммутаторами, причем это соединение только для трафика внутри VLAN 10. Аналогично, для поддержки трафика VLAN 20 между коммутаторами, используется второе физическое соединение, предназначенное для передачи кадров внутри VLAN 20.

На рисунке 1 изображены два коммутатора SW1 и SW2, которые имеют два соединения VLAN’ов. Каждый коммутатор имеет 4 интерфейса. Компьютеры 11 и 12 подключены к SW1 в домен VLAN 10, а два ПК 13 и 14- подключены в домен VLAN 10 на SW2. Аналогично, два ПК 21 и 22 во VLAN 20 подключены к SW1, а два ПК 23 и 24 во VLAN 20 подключены к SW2. Коммутаторы имеют отдельные физические соединения для каждого домена.

Схема, изображенная на рисунке, функционирует идеально. Например, ПК 11 (в VLAN 10) отправляет кадр на ПК 14. Кадр пересылается из SW1, через верхнюю линию связи (ту, что находится во VLAN 10) на SW2. Да, данная схема, показанная на рисунке, работает, но она плохо масштабируется. Для работы каждого VLAN требуется одно физическое соединение между коммутаторами. Если в проекте сети требуется 10 или 20 VLAN’ов, потребуется 10 или 20 физических соединений между коммутаторами, и соответственно потребуется задействовать 10 или 20 портов коммутатора (на каждом коммутаторе) для этих соединений.

Принципы тегирования VLAN

Транкинг VLAN использует одно физическое соединение между коммутаторами, которое поддерживает столько VLAN, сколько вам нужно. В качестве магистрали VLAN коммутаторы рассматривают канал, как единый для всех VLAN. В то же время магистраль передает трафик каждого VLAN отдельно, поэтому кадры в VLAN 10 не будут идти к устройствам в VLAN 20, и наоборот, потому что каждый кадр имеет идентификатор VLAN, когда он пересылается по магистрали. На рисунке 2 показана идея с единственной физической связью между двумя коммутаторами.

Использование транкинга позволяет коммутаторам пересылать кадры из нескольких VLAN по одному физическому соединению, добавляя специальный заголовок к кадру Ethernet. Например, на рисунке 3 показано, как ПК11 на первом этапе передает широковещательный кадр на интерфейсе Fa0/1. Чтобы передать кадр (информационные данные), коммутатор SW1 должен перенаправить широковещательный кадр с идентификатором VLAN 10 на коммутатор SW2.  Это делается для того, что бы убедиться, что коммутатор SW2 является частью сети VLAN 10. Таким образом, после получения широковещательного кадра, и подтверждения, что SW2 входит во VLAN 10, коммутатор SW2 будет пересылать пакеты только во VLAN 10, а не во VLAN 20. На втором этапе, перед отправкой кадра SW1 добавляет заголовок VLAN’а к исходному кадру Ethernet (в нашем случае – это идентификатор VLAN 10).

На рисунке показан принцип работы trunking VLAN’а между двумя коммутаторами.

Два коммутатора SW1 и SW2 соединены через trunking VLAN. Первый коммутатор имеет 3 интерфейса, в то время как второй коммутатор имеет 4 интерфейса. Используются два VLAN — 10 и 20. Физическое соединение между коммутаторами осуществляется по стандарту Ethernet через интерфейс G0/1 на SW1 и интерфейс G0/2 на SW2. В первой подсети у коммутатора SW1, один порт f0/1, принадлежит к VLAN 10 (подключен ПК 11), а два других порта (f0/2, f0/3) принадлежат к VLAN 20 (подключены ПК21 и ПК22). Аналогично, во второй подсети у коммутатора SW2, два порта, а именно к f0/1 и f0/2 принадлежат к VLAN 10 (подключены ПК13 и ПК14 соответственно), и порты f0/3 и f0/4 принадлежат VLAN 20 (подключены ПК23 и ПK24).

Когда SW2 получает кадр, он понимает, что данный кадр находится во VLAN 10. SW2 затем удаляет заголовок VLAN, перенаправляя исходный кадр на один из интерфейсов, находящихся во VLAN 10 (этап 3).

Пример 2.  Рассмотрим случай, когда ПК21 (во VLAN 20) делает широковещательную рассылку. SW1 пересылает широковещательный кадр на порт Fa0/4 (потому что этот порт находится во VLAN 20) и Gi0/1 (потому что магистраль поддерживает несколько различных VLAN). SW1 добавляет заголовок транкинга (идентификатор VLAN 20) к кадру. SW2 удаляет заголовок транкинга после определения того, что кадр является частью VLAN 20. Далее SW2 уже знает, что пересылать кадр можно только через порты Fa0/3 и Fa0/4, так как они находятся во VLAN 20, а не через порты Fa0/1 и Fa0/2, потому что они находятся в VLAN 10.

Протоколы 802.1 Q и ISL VLAN

Cisco очень долго поддерживала два транкинг протокола: Inter-Switch Link (ISL) и IEEE 802.1Q. Протокол ISL появился намного раньше протокола 802.1Q и был единственным транкинговым протоколом. На сегодняшний момент 802.1 Q наиболее популярный транкинговый протокол, причем Cisco, прекратила поддержку протокола ISL в большинстве своих новых моделях сетевых устройств.

Хотя протоколы ISL и 802.1Q идентифицируют каждый кадр соответствующим VLAN’ом, принцип работы у них отличается. Протокол 802.1Q вставляет дополнительный 4-байтовый заголовок 802.1Q VLAN в заголовок Ethernet исходного кадра, как показано в верхней части рисунка 4.

Коммутаторы Cisco используют два диапазона VLAN (1-4094): нормальный диапазон (normal range) и расширенный диапазон (extended range). На всех коммутаторах используется VLAN normal range со значениями от 1 до 1005. Только некоторые коммутаторы могут использовать VLAN расширенного диапазона с идентификаторами VLAN от 1006 до 4094. Правила, для которых коммутаторы могут использовать VLAN расширенного диапазона, зависят от конфигурации протокола транкинга VLAN (VTP).

Протокол 802.1Q также определяет один специальный идентификатор VLAN на каждой магистрали как собственный VLAN (по умолчанию используется VLAN 1). По умолчанию, протокол 802.1Q не добавляет заголовок 802.1Q к кадрам в родного VLAN. Когда коммутатор на другой стороне магистрали получает кадр, который не имеет заголовка 802.1Q, принимающий коммутатор знает, что кадр является частью собственного VLAN. Обратите внимание, что предварительно оба коммутатора должны согласовать, какой VLAN является для них родным.

802.1Q native VLAN использует специальные функции, главным образом для поддержки соединений с устройствами, которые не понимают транкинга. Например, коммутатор Cisco может быть подключен к коммутатору, который не понимает транкинга 802.1Q. Коммутатор Cisco передает кадры в родной VLAN — это означает, что у кадра нет заголовка транкинга- так, чтобы другой коммутатор понял кадр. Концепция собственной VLAN дает коммутаторам возможность по крайней мере передавать трафик в одной VLAN (родной VLAN), что может позволить подключаться по telnet к коммутатору.

Пересылка данных между Vlan. Необходимость маршрутизации между VLAN

Коммутаторы локальной сети, которые передают данные на основе логики второго уровня, называются коммутаторами второго уровня. Коммутаторы локальной сети получают кадры Ethernet (концепция уровня 2), смотрят на MAC-адрес Ethernet назначения (адрес уровня 2) и передают кадр Ethernet на соответствующий интерфейс. Все эти понятия определяются протоколами уровня 2, отсюда и название коммутатора уровня 2.

Коммутатор второго уровня помогает понять логику работы VLAN. Например, на рисунке ниже два компьютера слева находятся во VLAN 10, в подсети 10. Два компьютера справа находятся в другом VLAN (20), в другой подсети (20).

Как видно из рисунка 5 имеется два широковещательных домена: первый домен – VLAN 10 (подсеть 10), в которую входят два ПК1 и ПК2, подключенных к коммутатору SW1. Второй домен- VLAN 20 (подсеть 20), в который входят два компьютера (ПК3 и ПК4), подключенных к коммутатору SW1.

Рисунок демонстрирует нам принцип работы коммутатора второго уровня со VLAN. Показано, что на коммутаторе настроены некоторые порты во VLAN 10, а другие во VLAN 20. Коммутатор функционирует так, как будто это два отдельных коммутатора, в которых происходит перенаправление трафика. Одна из целей сетей VLAN – это разделения трафика VLAN’ов, то есть предотвращение пересылки кадров одного VLAN в другие виртуальные сети. Например, при пересылке кадра Ethernet с ПК1 (в VLAN 10) через коммутатор второго уровня SW1, этот кадр будет переправлен именно во VLAN 10, а не во VLAN 20.

Маршрутизация пакетов между VLAN с помощью маршрутизатора

Иногда, при проектировании локальной сети, необходимо что бы компьютеры из разных VLAN могли обмениваться пакетами.

Для пересылки пакетов между разными VLAN необходимо использовать устройство, выполняющее роль маршрутизатора. Можно использовать настоящий маршрутизатор, а также другие коммутаторы, которые могут выполнять функции маршрутизатора. Эти коммутаторы, выполняющие функции маршрутизации уровня 3, называются multiswitch или коммутатором третьего уровня. Далее рассматривается процесс пересылки данных между VLAN’ами при использовании коммутаторов второго уровня и маршрутизатора. Заканчивается изучение пересылки пакетов между VLAN’ами с использованием коммутаторов третьего уровня.

Например, на рисунке 6 показан маршрутизатор, который может маршрутизировать пакеты между подсетями 10 и 20. На рисунке показан тот же коммутатор уровня 2, что и на рисунке 5, с тем же разделением коммутатора на части с двумя различными VLAN и с теми же ПК в тех же VLAN и подсетях. Маршрутизатора R1 имеет один физический интерфейс локальной сети, подключенный к коммутатору и назначенный во VLAN 10, и второй физический интерфейс, подключенный к коммутатору и назначенный во VLAN 20. С интерфейсом, подключенным к каждой подсети, коммутатор уровня 2 может продолжать выполнять свою работу—пересылать кадры внутри VLAN, в то время как маршрутизатор может выполнять свою работу—маршрутизировать IP-пакеты между подсетями.

На рисунке 6 показан принцип работы маршрутизации между двумя VLAN на двух физических интерфейсах. Две пары компьютеров, подключенны по разные стороны коммутатора второго уровня. Коммутатор разделен на 2 части двумя различными VLAN. Слева два компьютера, а именно ПК1 и ПК2 из подсети 10 (VLAN 10), в то время как справа – два других компьютера, а именно ПК3 и Пк4 из подсети 20 (VLAN 20). Маршрутизатор служит шлюзом между двумя разделенными частями коммутатора второго уровня. IP-пакет отправляется от ПК2 из VLAN 10 к маршрутизатору R1, который получает пакет и, в свою очередь, отправляет его к ПК4 из VLAN 20.

На рисунке показан IP-пакет, направляемый от ПК2 к ПК 4, находящиеся в разных VLAN/подсетях. Коммутатор второго уровня передает одновременно два различных кадра Ethernet уровня 2: один во VLAN 10, от ПК2 к интерфейсу F0/0 маршрутизатора R1, а другой во VLAN 20, от интерфейса F0/1 маршрутизатора R1 к ПК4. С точки зрения уровня 3 ПК2 отправляет IP-пакет на шлюз по умолчанию (R1), а маршрутизатор R1 пересылает пакет с интерфейса (F0/1) в другую подсеть, где находится ПК4.

Данная схема (рисунок выше) рабочая, но есть и другие решения маршрутизации пакетов между VLAN. Выше мы рассмотрели возможность использования отдельного физического маршрутизатора с отдельным соединением для каждого VLAN, поскольку это является самым простым вариантов для понимания и визуализации.