VLANs – это виртуальные сети, которые существуют на втором уровне модели OSI. То есть, VLAN можно настроить на коммутаторе второго уровня. Если смотреть на VLAN, абстрагируясь от понятия «виртуальные сети», то можно сказать, что VLAN – это просто метка в кадре, который передается по сети. Метка содержит номер VLAN (его называют VLAN ID или VID), – на который отводится 12 бит, то есть, вилан может нумероваться от 0 до 4095. Первый и последний номера зарезервированы, их использовать нельзя. Обычно, рабочие станции о VLAN ничего не знают (если не конфигурировать VLAN на карточках специально). О них думают коммутаторы. На портах коммутаторов указывается в каком VLAN они находятся. В зависимости от этого весь трафик, который выходит через порт помечается меткой, то есть VLAN. Таким образом каждый порт имеет PVID (port vlan identifier).Этот трафик может в дальнейшем проходить через другие порты коммутатора(ов), которые находятся в этом VLAN и не пройдут через все остальные порты. В итоге, создается изолированная среда (подсеть), которая без дополнительного устройства (маршрутизатора) не может взаимодействовать с другими подсетями.
Зачем нужны виланы?
- Возможность построения сети, логическая структура которой не зависит от физической. То есть, топология сети на канальном уровне строится независимо от географического расположения составляющих компонентов сети.
- Возможность разбиения одного широковещательного домена на несколько широковещательных доменов. То есть, широковещательный трафик одного домена не проходит в другой домен и наоборот. При этом уменьшается нагрузка на сетевые устройства.
- Возможность обезопасить сеть от несанкционированного доступа. То есть, на канальном уровне кадры с других виланов будут отсекаться портом коммутатора независимо от того, с каким исходным IP-адресом инкапсулирован пакет в данный кадр.
- Возможность применять политики на группу устройств, которые находятся в одном вилане.
- Возможность использовать виртуальные интерфейсы для маршрутизации.
Примеры использования VLAN
- Объединение в единую сеть компьютеров, подключенных к разным коммутаторам. Допустим, у вас есть компьютеры, которые подключены к разным свитчам, но их нужно объединить в одну сеть. Одни компьютеры мы объединим в виртуальную локальную сеть VLAN 1, а другие — в сеть VLAN 2. Благодаря функции VLAN компьютеры в каждой виртуальной сети будут работать, словно подключены к одному и тому же свитчу. Компьютеры из разных виртуальных сетей VLAN 1 и VLAN 2 будут невидимы друг для друга.
- Разделение в разные подсети компьютеров, подключенных к одному коммутатору. На рисунке компьютеры физически подключены к одному свитчу, но разделены в разные виртуальные сети VLAN 1 и VLAN 2. Компьютеры из разных виртуальных подсетей будут невидимы друг для друга.
- Разделение гостевой Wi-Fi сети и Wi-Fi сети предприятия. На рисунке к роутеру подключена физически одна Wi-Fi точка доступа. На точке созданы две виртуальные Wi-Fi точки с названиями HotSpot и Office. К HotSpot будут подключаться по Wi-Fi гостевые ноутбуки для доступа к интернету, а к Office — ноутбуки предприятия. В целях безопасности необходимо, чтобы гостевые ноутбуки не имели доступ к сети предприятия. Для этого компьютеры предприятия и виртуальная Wi-Fi точка Office объединены в виртуальную локальную сеть VLAN 1, а гостевые ноутбуки будут находиться в виртуальной сети VLAN 2. Гостевые ноутбуки из сети VLAN 2 не будут иметь доступ к сети предприятия VLAN 1.
Достоинства использования 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.