Виртуальные локальные сети VLAN

Что такое VLAN — это виртуальные локальные сети, которые используются для сегментации сети (на 2 уровне) за счёт разделения коммутатора на несколько виртуальных коммутаторов.

Обзор сетей VLAN и их назначение

Виртуальные локальные сети применяются для разделения локальной сети LAN на несколько виртуальных локальных сетей (широковещательных доменов). Без настройки VLAN все хосты, подключенные к одной локальной сети, находятся в одном широковещательном домене. Они подключены к одному и тому же или к разным коммутаторам, которые тоже подключены к друг другу. В этом случае все хосты находятся в сети VLAN по умолчанию.

На самом деле, правильнее было бы сказать, что все порты коммутатора находятся в VLAN, поскольку сами хосты не входят во VLAN. Они лишь отправляют и получают нетегированные кадры. VLAN — это конфигурация порта коммутатора.

В очень маленькой сети такая настройка может быть приемлемой: все хосты находятся в VLAN по умолчанию. Всё, что находится за пределами сети будет использовать VLAN. Даже если сеть сегментирована на уровне 3, если VLAN не применяется для сегментации на уровне 2, широковещательные и неизвестные одноадресные кадры будут рассылаться на все хосты.

Чтобы правильно сегментировать сеть, следует сегментировать VLAN и подсети. Обычно одна VLAN соответствует одной подсети.

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

Рис. 1. Пример сети VLAN Пример сети VLAN

Расширенные VLAN

Расширенные виртуальные локальные сети — это VLAN, охватывающие несколько сегментов.

Рис. 2. Вариант расширенного VLAN Пример расширенного VLAN

На рис. 2 сети VLAN 12, 34 и 56 распределены по трём сегментам, которые соединены магистральными линиями, позволяющими использовать VLAN 12, 34 и 56. Таким образом, вся сеть представляет собой один домен уровня 2, хотя он и разделён на три VLAN.

Все хосты в каждой VLAN находятся в одной подсети независимо от сегмента. Хосты в VLAN 12 находятся в подсети 10.0.12.0/23, узлы в VLAN 34 — в 10.0.34.0/23, а узлы в VLAN 56 — в 10.0.56.0/23. Такая структура обычно не является предпочтительной в современных сетях. Обычно все стараются минимизировать размер широковещательных доменов. При таком подходе, если хост в сегменте 2 в VLAN 56 отправляет широковещательный кадр, он будет распределяться на все хосты в VLAN 56, в сегментах 1, 2 и 3.

Предпочтительным вариантом является использование локальных VLAN.

Рис. 3. Предпочтительная конструкция расширенной сети VLAN Конструкция расширенной сети VLAN

На рис. 3 коммутаторы распределения в каждом сегменте теперь являются многоуровневыми коммутаторами, а их соединения между сегментами — соединениями уровня 3, которые не затрагивают VLAN. Каждый сегмент имеет свои собственные VLAN 12, VLAN 34 и VLAN 56.

Не имеет значения, являются ли номера VLAN одинаковыми или разными для каждого сегмента. Они локально значимы для каждого из них. Для обеспечения единообразия может быть желательным использование одних и тех же номеров VLAN в каждом сегменте. Например, возможно, конечные пользователи используют VLAN 12, камеры видеонаблюдения используют VLAN 34, а серверы используют VLAN 56. Или можно применить разные номера VLAN в каждом сегменте. Это зависит от того, кто проектирует сеть.

В любом случае у каждой VLAN должна быть своя подсеть. Например, сегмент 1 может использовать адреса 10.1.12.0/24, 10.1.34.0/24 и 10.1.56.0/24. Сегмент 2 – 10.2.12.0/24, 10.2.34.0/24 и 10.2.56.0/24. Сегмент 3 – 10.3.12.0/24, 10.3.34.0/24 и 10.3.56.0/24. Этот тип конструкции обычно предпочтительнее предыдущего, в котором виртуальные локальные сети и подсети охватывают все три сегмента.

Несколько подсетей для одной VLAN

Обычно одна VLAN соответствует одной подсети. Но иногда возможно использование нескольких подсетей для одной VLAN. Если все адреса в подсети использованы, то можно добавить новую подсеть и связать её с той же VLAN.

Рис. 4. Несколько подсетей для одной VLAN Пример подсетей для VLAN

Пример на рис. 4 демонстрирует две VLAN. VLAN 10 предназначена для конечных пользователей, а VLAN 20 – для устройств безопасности (камеры, дверные замки и т. д.). Однако, что произойдёт, если компания расширилась, и закончились адреса для конечных пользователей?

Можно просто добавить ещё одну подсеть 10.0.3.0/24 в VLAN 10. Это реализуется таким образом:

  • если для маршрутизации используется интерфейс SVI, необходимо настроить дополнительный IP-адрес на SVI VLAN;
  • если для маршрутизации используется маршрутизатор на USB-носителе, необходимо настроить дополнительный IP-адрес на интерфейсе для VLAN.

На примере рисунка это продемонстрировано так: на SW1 есть SVI для VLAN 10, 10.0.1.1 и SVI для VLAN 20, 10.0.2.1. Добавляется третий SVI для новой подсети 10.0.3.0/24. Он обязательно добавляется в качестве вторичного IP-адреса.

Но как хосты 10.0.1.0/24 и 10.0.3.0/24 будут взаимодействовать друг с другом?

Это разные подсети, хотя они находятся в одной VLAN. Таким образом, чтобы узлы в каждой подсети могли обмениваться данными друг с другом, трафик должен маршрутизироваться через SW1. Передача трафика осуществляется через различные порты.

Порты доступа и магистральные порты

Порты доступа, также называемые нетегированными портами, представляют собой порты коммутатора, которые принадлежат одной VLAN, а также отправляют и принимают нетегированный трафик. Если настроена голосовая VLAN, порт принадлежит двум VLAN: немаркированной VLAN доступа и тегированной голосовой. Хотя порт передаёт трафик в несколько VLAN, он по-прежнему считается портом доступа.

Порты, подключённые к конечным хостам, обычно должны быть портами доступа. Например, серверы, на которых работают виртуальные машины, должны подключаться к магистральным портам, поскольку каждая виртуальная машина на сервере использует отдельную VLAN.

Рис. 5. Порты доступа Пример портов доступа

Пример на рис. 5 показывает, что на сервере есть три виртуальные машины: VM1, VM2, VM3. VM1 использует VLAN 21, VM2 использует VLAN 22, а VM3 использует VLAN 23. Они подключаются к виртуальному коммутатору на сервере. Последний, в свою очередь, устанавливает связь с внешним коммутатором через магистральный порт, по которому передаётся трафик в VLAN 21, 22 и 23.

Магистральные порты, также известные как тегированные порты, — это порты, которые передают трафик в несколько VLAN. Теги VLAN, использующие протокол Dot1q, применяются для указания того, какой VLAN принадлежит трафик.

Рис. 6. Поля размещения магистральных портов Пример размещения магистральных портов

По магистральным каналам тег Dot1q помещается между полями Source и EtherType кадра (рис. 6). Длина составляет 4 байта.

Рис. 7. Поля тега Пример полей тега

Поле TPID всегда имеет шестнадцатеричное значение 8100, это указывает на то, что кадр помечен dot1q. Далее поля PCP и DEI используются для QoS. И, наконец, VLAN ID, который определяет, к какой VLAN принадлежит кадр.

Маршрутизация между сетями VLAN

Фактически это просто маршрутизация между подсетями, но при использовании VLAN и тегов VLAN возникают некоторые дополнительные вопросы.

Рис. 8. Настройка маршрутизации, метод 1 Настройка маршрутизации Рис. 9. Настройка маршрутизации, метод 2 Настройка маршрутизации Рис. 10. SVI на многоуровневом коммутаторе Пример SVI на многоуровневом коммутаторе

Существует три метода настройки маршрутизации между VLAN:

  • Отдельное подключение к маршрутизатору для каждой VLAN (рис. 8). Они могут быть транками или портами доступа. Это происходит довольно редко, поскольку при наличии большого количества VLAN понадобится много интерфейсов, а у маршрутизаторов обычно их всего несколько.
  • Использование router on a stick, который представляет собой магистральное соединение между коммутатором и маршрутизатором (рис. 9).
  • Использование SVI на многоуровневом коммутаторе (рис. 10).

Обычно используются два последних метода.