Виртуальная локальная сеть VLAN — Объясняем на картинках

Что такое Virtual local area network (VLAN) это виртуальная локальная сеть, позволяющая делить 1 физическую сеть на некоторое количество других логических сетей, которые работают вне зависимости друг от друга. Надеюсь вы прочитали статью про модель открытых систем OSI, так как технология vlan реализуется коммутаторами и находится на канальном уровне модели. 

Для чего нужна vLan?

Зачем делить 1 сеть на несколько изолированных частей? К примеру, когда строят сеть для большой компании, известно, что каждый отдел хочет иметь свою собственную сеть, которая разделена от других. 

Конечно, можно создать отдельную физическую сеть на основе отдельных коммутаторов. Но если строить сеть огромного бизнес-центра, то мы заранее не поймем сколько будет арендаторов, сколько квадратных метров им будет нужно. Следовательно, нужно построить одну большую сеть для всего бизнес-центра, а потом логически делить ее на отдельные части в зависимости от нужды арендаторов. 

Преимущества деления и изоляции vlan

Во-первых, безопасность. Если ты арендуешь помещение в каком-либо здании, тебе необходимо, чтобы данные были недоступны для других арендаторам. 

Во-вторых, это распределение нагрузки. Например, рядом с вами в организации работает команда, которая занимается разработкой сетевых протоколов, и они активно работают. Вдруг, в их эксперименте что-то пошло не так, и вся сеть компании упала. Соответственно, вы не хотите, чтобы их действия повлияли на работу вашей сети. 

В-третьих, ограничение широковещательного трафика. Если коммутатор не может найти в каком порту находится получатель, то он отправляет этот кадр на все порты. В сети с огромным множеством компьютеров такого широковещательного трафика много и он занимает высокий % нагрузки сети. А если вы изолируете сеть, то широковещательный трафик будет распространяться в рамках этой изолированной сети и объем трафика сокращается. 

VLAN в коммутаторах

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

Связь vlan между компьютерами

Как это работает? 

В таблице коммутации, на рисунке ниже, есть поле в котором написано “идентификатор VLAN”, как правило для этих целей используют обычные числа. 

По таблице смотрим, что порт 1 и 5 входят в vlan №2, а порты 2-4 в vlan №3. Если компьютеры подключенные к порту 1 и входящие в vlan 2 попытаются переслать данные к компьютеру подключенному к порту 4 входящий в вилан 3, то даже если компьютер отправителя знает MAC-адрес компьютера получателя, коммутатор не передаст этот кадр. Потому что порты находятся в разных виртуальных сетях и передача данных между ними невозможна. 

Таблица для расчета vlan на одном коммутаторе

Хорошо, когда сеть построена на одном коммутаторе, тогда подойдет вариант с таблицей коммутации и номерами vlan. Что делать, если в сети используются 2 или более коммутаторов? При отправлении кадров от одного коммутатора к другому, нужна информация к какому вилэну принадлежит передаваемый кадр. Информацию о № vlan нужно включать в отправляемый кадр, альтернативного варианта получить эту информацию у принимающего коммутатора нет. 

Пример коммутатора

С противоположной стороны, формат кадра Ethernet задан стандартом IEEE и в нем нет места для идентификатора VLAN. Чтобы включить № вилан в Ethernet кадр, нужно было изменить формат. Это изменение было предложено в стандарте IEEE 802.1Q. Но было нельзя просто добавить отдельное поле для номера вилан, потому что нужно обеспечить согласование со всем существующим оборудованием. 

Стандарт IEEE 802.1Q

В стандарте IEEE 802.1Q в поле тип кадра, было предложено, вместо протокола верхнего уровня вставить специальное значение в шестнадцатеричном виде 8100 — это показатель того, что кадр содержит номер вилана. Далее в части, где в стандартном кадре Ethernet должны находиться данные, есть поле из 2-х байт, которое содержит номер вилана — Тег и еще одно поле из двух байт, куда записывается код протокола вышестоящего уровня. 

Чтобы передавать данные размером 1500 байт в кадрах с идентификатором вилана, max длина кадра была увеличена на четыре байта.

Тип стандартного кадра vlan

Передача данных с использованием стандарта IEEE 802.1Q

Сетевой адаптер в ноутбуке генерит Ethernet кадр, внутри которого вложен IP пакет, в поле “Тип” — код протокола уровня выше, содержится значение 0800. 

Разбор примера vlan

Коммутатор получает этот кадр, и понимает, что он был получен с ноутбука входящего в желтый вилан. Например, номер желтого вилана 2. Коммутатор добавляет служебные поля, в поле “Тип” протокола следующего уровня, значение 0800 заменяется на 08100. Потом добавляется номер вилана 2 и записывается код протокола следующего уровня 0800, для того, чтобы его, в дальнейшем можно было восстановить. 

Разбор примера vlan

Принимающий информацию коммутатор извлекает эту информацию о vlan, осознает, что кадр был отправлен вилэн с номеров 2, т.е. в желтый вилан. Затем этот коммутатор удаляет из кадра информацию о номере вилэн и восстанавливает старое значение протокола следующего уровня 0800, что соответствует IP. 

Разбор примера vlan

И вот такой кадр отправляет принимающему ноутбуку. Сейчас почти все сетевые адаптеры поддерживают стандарт 802.1Q и уже сам ноутбук может вставить нужные поля с номером вилана в кадр. 

Заключение

В итоге отметим, что технология VLAN позволяет делить 1 сеть на несколько изолированных друг от друга частей. Вилэн реализуются на коммутаторах и находится на канальном уровне открытых систем. Есть два типа технологии вилэн: Нетегированные — номер vlan  в таблице коммутации и Тегированные -номер вилэн в кадре (стандарт 802.1Q). 

Ссылка на основную публикацию