VLAN
VLAN (аббр. от англ. Virtual Local Area Network) — виртуальная локальная компьютерная сеть. Представляет собой группу хостов с общим набором требований, которые взаимодействуют так, как если бы они были подключены к широковещательному домену независимо от их физического местонахождения. 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) может общаться только с 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, 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.
VLAN в Cisco
В устройствах 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
Поддержка VLAN в Windows предоставляется как часть Hyper-V (сами виртуальные машины создавать не обязательно) или же как часть технологии NIC Teaming (также называемой LBFO), которая аналогична interface bonding в Linux.
Поддержка VLAN в Hyper-V:
- требует использования команд PowerShell, GUI для управления отсутствует
- обязательно использует pseudo-Ethernet адаптеры со своими собственными «ненастоящими» MAC-адресами, разные VLAN могут быть выведены только на разные MAC-адреса.
Shortest Path Bridging
Shortest Path Bridging (IEEE 802.1aq) предлагает масштабируемость до 16 миллионов против лимита в 4096 у VLAN[2].
См. также
- IEEE 802.1
- Технология VXLAN, технология сетевой виртуализации, созданной для решения проблем масштабируемости в больших системах облачных вычислений
Примечания
- Cisco: configuring vlans
- 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.
Источники
- Эндрю Таненбаум, 2003, «Computer Networks», Pearson Education International, New Jersey.
Ссылки
- RFC3069 VLAN Aggregation for Efficient IP Address Allocation
- IEEE’s 802.1Q standard 1998 version Архивная копия от 16 марта 2009 на Wayback Machine (2003 version Архивная копия от 24 августа 2009 на Wayback Machine)(2005 version Архивная копия от 6 июля 2010 на Wayback Machine)
- Cisco’s Overview of Routing between Virtual LANs Архивная копия от 9 мая 2008 на Wayback Machine
- Cisco’s Bridging Between IEEE 802.1Q VLANs white paper
- University of California’s VLAN Information
- Виртуальная реальность или что такое vlan