Vlan

VLAN ( англ. Virtual Local Area Network) — топологическая («виртуальная») локальная компьютерная сеть, представляет собой группу хостов с общим набором требований, которые взаимодействуют так, как если бы они были подключены к широковещательному домену, независимо от их физического местонахождения. VLAN имеет те же свойства, что и физическая локальная сеть, но позволяет конечным членам группироваться вместе, даже если они не находятся в одной физической сети. Такая реорганизация может быть сделана на основе программного обеспечения вместо физического перемещения устройств.

VLANs – это виртуальные сети, которые существуют на втором уровне модели OSI. То есть, VLAN можно настроить на коммутаторе второго уровня. Если смотреть на VLAN, абстрагируясь от понятия «виртуальные сети», то можно сказать, что VLAN – это просто метка в кадре, который передается по сети. Метка содержит номер VLAN (его называют VLAN ID или VID), – на который отводится 12 бит, то есть, вилан может нумероваться от 0 до 4095. Первый и последний номера зарезервированы, их использовать нельзя. Обычно, рабочие станции о VLAN ничего не знают (если не конфигурировать VLAN на карточках специально). О них думают коммутаторы. На портах коммутаторов указывается в каком VLAN они находятся. В зависимости от этого весь трафик, который выходит через порт помечается меткой, то есть VLAN. Таким образом каждый порт имеет PVID (port vlan identifier).Этот трафик может в дальнейшем проходить через другие порты коммутатора(ов), которые находятся в этом VLAN и не пройдут через все остальные порты. В итоге, создается изолированная среда (подсеть), которая без дополнительного устройства (маршрутизатора) не может взаимодействовать с другими подсетями.

Зачем нужны виланы?

  • Возможность построения сети, логическая структура которой не зависит от физической. То есть, топология сети на канальном уровне строится независимо от географического расположения составляющих компонентов сети.
  • Возможность разбиения одного широковещательного домена на несколько широковещательных доменов. То есть, широковещательный трафик одного домена не проходит в другой домен и наоборот. При этом уменьшается нагрузка на сетевые устройства.
  • Возможность обезопасить сеть от несанкционированного доступа. То есть, на канальном уровне кадры с других виланов будут отсекаться портом коммутатора независимо от того, с каким исходным IP-адресом инкапсулирован пакет в данный кадр.
  • Возможность применять политики на группу устройств, которые находятся в одном вилане.
  • Возможность использовать виртуальные интерфейсы для маршрутизации.

Предоставляемые возможности

  • логическое деление коммутатора на несколько не сообщающихся между собой сетей
  • устройство такового деления на сети с 2 или более коммутаторами без требования проведения дополнительных кабелей.
  • асимметричные VLAN. В этом случае порт (не trunk, по кабелю движутся кадры без тега 802.1Q) подключен к одной внутренней VLAN коммутатора по входящим кадрам (она называется PVID), и к более чем одной внутренней VLAN коммутатора по исходящим кадрам. При этом может отсутствовать подключение по исходящим кадрам к PVID VLAN.
  • через предыдущий пункт реализуется и более высокоуровневая абстракция — Promiscuous/Community/Isolated порты. В этом случае используется логическое вложение нескольких вторичных VLAN в одну первичную.
  • Promiscuous порт (порт на первичной VLAN) может общаться с любым Promiscuous/Community/Isolated портом как на первичной, так и на любой вложенной в нее вторичной VLAN.
  • Community порт (порт на вторичной VLAN) может общаться с любым Promiscuous портом, а также с любым Community портом в пределах своей вторичной VLAN.
  • Isolated порт (тоже порт на вторичной VLAN, но это специальная isolated VLAN, которая может быть только одна в данной первичной VLAN) может общаться только с Promiscous портами, и не может общаться даже с другими Isolated портами (функционал «все клиенты видят сервер и не видят друг друга», часто используется в «гостевых» Wi-Fi сетях).
  • двухуровневое вложение VLAN меток в кадр, а также трансляция значений меток «на лету». Данная технология называется QinQ, и поддерживается не во всех устройствах с поддержкой VLAN.

Обозначение членства в VLAN

Для этого существуют следующие решения:

  • по порту (англ. port-based, 802.1Q): порту коммутатора вручную назначается одна VLAN. В случае, если одному порту должны соответствовать несколько VLAN (например, если соединение VLAN проходит через несколько сетевых коммутаторов), то этот порт должен быть членом транка. Только одна VLAN может получать все кадры, не отнесённые ни к одной VLAN (в терминологии 3Com, Planet, D-Link, Zyxel, HP — untagged, в терминологии Cisco, Juniper — native VLAN). Сетевой коммутатор будет добавлять метки данной VLAN ко всем принятым кадрам не имеющим никаких меток. VLAN, построенные на базе портов, имеют некоторые ограничения.
  • по MAC-адресу (MAC-based): членство в VLANe основывается на MAC-адресе рабочей станции. В таком случае сетевой коммутатор имеет таблицу MAC-адресов всех устройств вместе с VLANами, к которым они принадлежат.
  • по протоколу (Protocol-based): данные 3-4 уровня в заголовке инкапсулированного в кадр пакета используются чтобы определить членство в VLANe. Например, IP-машины могут быть переведены в первую VLAN, а AppleTalk-машины во вторую. Основной недостаток этого метода в том, что он нарушает независимость уровней, поэтому, например, переход с IPv4 на IPv6 приведет к нарушению работоспособности сети.
  • методом аутентификации : устройства могут быть автоматически перемещены в VLAN основываясь на данных аутентификации пользователя или устройства при использовании протокола 802.1X.

Достоинства использования VLAN

  • Гибкое разделение устройств на группы
  • Как правило, одному VLAN соответствует одна подсеть. Компьютеры, находящиеся в разных VLAN, будут изолированы друг от друга. Также можно объединить в одну виртуальную сеть компьютеры, подключенные к разным коммутаторам.
  • Уменьшение широковещательного трафика в сети
  • Каждый VLAN представляет отдельный широковещательный домен. Широковещательный трафик не будет транслироваться между разными VLAN. Если на разных коммутаторах настроить один и тот же VLAN, то порты разных коммутаторов будут образовывать один широковещательный домен.
  • Увеличение безопасности и управляемости сети
  • В сети, разбитой на виртуальные подсети, удобно применять политики и правила безопасности для каждого VLAN. Политика будет применена к целой подсети, а не к отдельному устройству.
  • Уменьшение количества оборудования и сетевого кабеля
  • Для создания новой виртуальной локальной сети не требуется покупка коммутатора и прокладка сетевого кабеля. Однако вы должны использовать более дорогие управляемые коммутаторы с поддержкой VLAN.

Тэгированные и нетэгированные порты

Когда порт должен уметь принимать или отдавать трафик из разных VLAN, то он должен находиться в тэгированном или транковом состоянии. Понятия транкового порта и тэгированного порта одинаковые. Транковый или тэгированный порт может передавать как отдельно указанные VLAN, так и все VLAN по умолчанию, если не указано другое. Если порт нетэгирован, то он может передавать только один VLAN (родной). Если на порту не указано в каком он VLAN, то подразумевается, что он в нетэгированном состоянии в первом VLAN (VID 1).

Разное оборудование настраивается по-разному в данном случае. Для одного оборудования нужно на физическом интерфейсе указать в каком состоянии находится этот интерфейс, а на другом в определенном VLAN необходимо указать какой порт как позиционируется – с тэгом или без тэга. И если необходимо, чтобы этот порт пропускал через себя несколько VLAN, то в каждом из этих VLAN нужно прописать данный порт с тэгом. Например, в коммутаторах Enterasys Networks мы должны указать в каком VLAN находится определенный порт и добавить этот порт в egress list этого VLAN для того, чтобы трафик мог проходить через этот порт. Если мы хотим чтобы через наш порт проходил трафик еще одного VLAN, то мы добавляем этот порт в egress list еще и этого VLAN. На оборудовании HP (например, коммутаторах ProCurve)  мы в самом VLAN указываем какие порты могут пропускать трафик этого VLAN и добавляем состояние портов – тэгирован или нетегирован. Проще всего на оборудовании Cisco Systems. На таких коммутаторах мы просто указываем какие порты какими VLAN нетэгированы (находятся в режиме access) и какие порты находятся в тэгированном состоянии (находятся в режиме trunk).

Для настройки портов в режим trunk созданы специальные протоколы. Один из таких имеет стандарт IEEE 802.1Q. Это международный стандарт, который поддерживается всеми производителями и чаще всего используется для настройки виртуальных сетей. Кроме того, разные производители могут иметь свои протоколы передачи данных. Например, Cisco создала для свого оборудования протокол ISL (Inter Switch Lisk).

Межвлановская маршрутизация

Что такое межвлановская маршрутизация? Это обычная маршрутизация подсетей. Разница только в том, что каждой подсети соответствует какой-то VLAN на втором уровне. Что это значит. Допустим у нас есть два VLAN: VID = 10 и VID = 20. На втором уровне эти VLAN осуществляют разбиение одной сети на две подсети. Хосты, которые находятся в этих подсетях не видят друг друга. То есть, трафик полностью изолирован. Для того, чтобы хосты могли взаимодействовать между собой, необходимо смаршрутизировать трафик этих VLAN. Для этого нам необходимо на третьем уровне каждому из VLAN присвоить интерфейс, то есть прикрепить к ним IP-адрес. Например, для VID = 10 IP address будет 10.0.10.1/24, а для VID = 20 IP address – 10.0.20.1/24. Эти адреса будет дальше выступать в роли шлюзов для выхода в другие подсети. Таким образом, мы можем трафик хостов с одного VLAN маршрутизировать в другой VLAN. Что дает нам маршрутизация VLAN по сравнению с простой маршрутизацией посетей без использования VLAN? А вот что:

  • Возможность стать членом другой подсети на стороне клиента заблокирована. То есть, если хост находится в определенном VLAN, то даже, если он поменяет себе адресацию с другой подсети, он всеравно останется в том VLAN,  котором он был. Это значит, что он не получит доступа к другой подсети. А это в свою очередь обезопасит сеть от «плохих» клиентов.
  • Мы можем поместить в VLAN несколько физических интерфейсов коммутатора. То есть, у нас есть возможность на коммутаторе третьего уровня сразу настроить маршрутизацию, подключив к нему клиентов сети, без использования внешнего маршрутизатора. Либо мы можем использовать внешний маршрутизатор подключенный к коммутатору второго уровня, на котором настроены VLAN, и создать столько сабинтерфейсов на порте маршрутизатора, сколько всего VLAN он должен маршрутизировать.
  • Очень удобно между первым и третьим уровнями использовать второй уровень в виде VLAN. Удобно подсети помечать как VLAN с определенными интерфейсами. Удобно настроить один VLANн и поместить в него кучу портов коммутатора. И вообще, много чего удобно делать, когда есть VLAN.

Дальнейшим развитием идей VLAN стала технология VxLAN.

Обсуждение закрыто.