VLAN (аббр. от англ. Virtual Local Area Network) — виртуальная локальная компьютерная сеть. Представляет собой группу хостов с общим набором требований[источник не указан 1318 дней], которые взаимодействуют так, как если бы они были подключены к широковещательному домену независимо от их физического местонахождения. VLAN имеет те же свойства, что и физическая локальная сеть, но позволяет конечным членам группироваться вместе, даже если они не находятся в одной физической сети. Такая реорганизация может быть сделана на основе программного обеспечения вместо физического перемещения устройств.
- логическое деление коммутатора на несколько не сообщающихся между собой сетей
- устройство такового деления на сети с 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) может общаться только с Promiscuous портами, и не может общаться даже с другими Isolated портами (функционал «все клиенты видят сервер и не видят друг друга», часто используется в «гостевых» Wi-Fi сетях).
- двухуровневое вложение VLAN меток в кадр, а также трансляция значений меток «на лету». Данная технология называется QinQ, и поддерживается не во всех устройствах с поддержкой VLAN[источник не указан 1318 дней].
Для этого существуют следующие решения:
- по порту (англ. port-based, 802.1Q): порту коммутатора вручную назначается одна VLAN. В случае, если одному порту должны соответствовать несколько VLAN (например, если соединение VLAN проходит через несколько сетевых коммутаторов), то этот порт должен быть членом транка. Только одна VLAN может получать все кадры, не отнесённые ни к одной VLAN (в терминологии 3Com, Planet, D-Link, Zyxel, HP — untagged, в терминологии Cisco, Juniper, Eltex — native VLAN). Сетевой коммутатор будет добавлять метки данной VLAN ко всем принятым кадрам не имеющим никаких меток. VLAN, построенные на базе портов, имеют некоторые ограничения.
- по MAC-адресу (MAC-based): членство в VLANe основывается на MAC-адресе рабочей станции. В таком случае сетевой коммутатор имеет таблицу MAC-адресов всех устройств вместе с VLANами, к которым они принадлежат.
- по протоколу (Protocol-based): данные 3-4 уровня в заголовке инкапсулированного в кадр пакета используются чтобы определить членство в VLANe. Например, IP-машины могут быть переведены в первую VLAN, а AppleTalk-машины во вторую. Основной недостаток этого метода в том, что он нарушает независимость уровней, поэтому, например, переход с IPv4 на IPv6 приведет к нарушению работоспособности сети.
- методом аутентификации (англ. authentication based): устройства могут быть автоматически перемещены в VLAN основываясь на данных аутентификации пользователя или устройства при использовании протокола 802.1X.
В устройствах Cisco, протокол VTP (англ. VLAN Trunking Protocol) предусматривает VLAN-домены для упрощения администрирования. VTP также выполняет «чистку» трафика, направляя VLAN трафик только на те коммутаторы, которые имеют целевые VLAN-порты (функция VTP pruning). Коммутаторы Cisco в основном используют протокол 802.1Q Trunk вместо устаревшего проприетарного ISL (англ. Inter-Switch Link) для обеспечения совместимости информации.
По умолчанию на каждом порту коммутатора имеется сеть VLAN1 или VLAN управления. Сеть управления не может быть удалена, однако могут быть созданы дополнительные сети VLAN и этим альтернативным VLAN могут быть дополнительно назначены порты.
Native VLAN — это параметр каждого порта, который определяет номер VLAN, который получают все непомеченные (untagged) пакеты.
В Cisco используется следующая терминология портов:
- access port — порт принадлежащий одному VLAN’у и передающий нетегированный трафик. По спецификации cisco, access порт может принадлежать только одному VLAN’у, по умолчанию это первый (нетегированный) VLAN. Любой кадр, который проходит через access порт, помечается номером, принадлежащим этому VLAN’у.
- trunk port — порт передающий тегированный трафик одного или нескольких VLAN’ов. Этот порт, наоборот, не изменяет тег, а лишь пропускает кадры с тегами, которые разрешены на этом порту.
Для того чтобы передать через порт трафик нескольких VLAN, порт переводится в режим транка.
Режимы интерфейса (режим по умолчанию зависит от модели коммутатора):
- auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. То есть если порты на обоих концах находятся в режиме «auto», то trunk применяться не будет.
- desirable — Порт находится в режиме «готов перейти в состояние trunk»; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).
- trunk — Порт постоянно находится в состоянии trunk, даже если порт на другом конце не поддерживает этот режим.
- nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.
По умолчанию в транке разрешены все VLAN. Для того чтобы через соответствующий VLAN в транке передавались данные, как минимум, необходимо чтобы VLAN был активным.
Активным VLAN становится тогда, когда он создан на коммутаторе и в нём есть хотя бы один порт в состоянии up/up.[1]
Поддержка VLAN в Windows предоставляется как часть Hyper-V (сами виртуальные машины создавать не обязательно) или же как часть технологии NIC Teaming (также называемой LBFO), которая аналогична interface bonding в Linux.
Поддержка VLAN в Hyper-V:
- требует использования команд PowerShell, GUI для управления отсутствует
- обязательно использует pseudo-Ethernet адаптеры со своими собственными «ненастоящими» MAC-адресами, разные VLAN могут быть выведены только на разные MAC-адреса[источник не указан 1318 дней].
Shortest Path Bridging (IEEE 802.1aq) предлагает масштабируемость до 16 миллионов против лимита в 4096 у VLAN[2].
- IEEE 802.1
- Технология VXLAN, технология сетевой виртуализации, созданной для решения проблем масштабируемости в больших системах облачных вычислений
Shuang Yu. IEEE Standards Association: IEEE approves new IEEE 802.1aq Shortest path bridging (неопр.). — «Using the IEEE’s next-generation VLAN, called a Service Interface Identifier (I-SID), it is capable of supporting 16 million unique services compared to the VLAN limit of four thousand.» Дата обращения: 19 июня 2012. Архивировано 14 мая 2013 года.
- Эндрю Таненбаум, 2003, «Computer Networks», Pearson Education International, New Jersey.