Поддерживает ли сетевая карта vlan

Обновлено: 03.07.2024

Дополнительную информацию о виртуальных адаптерах Microsoft Hyper-V в объединениях и VLAN можно найти в разделе «Функции устройств» в руководстве пользователя сетевых адаптеров Intel® Ethernet.

ОС Windows Server 2016* и более поздних версий имеет встроенные параметры для виртуальной локальной сети (VLAN). Этот процесс также работает в ОС Windows Server 2012 R2*.

См. информацию о VLAN для следующих операционных систем:

VLAN или виртуальная локальная сеть представляет собой логическое группирование хостов. Группирование позволяет хостам взаимодействовать так же, как если бы они находились в одной локальной сети независимо от ее физической топологии.

VLAN могут использоваться для группирования компьютеров в логические рабочие группы. Подключение клиентов к географически рассредоточенным серверам упрощает управление сетью.

Обычно VLAN предназначаются для сотрудников одного подразделения, находящихся в разных местоположениях. Они также могут состоять из групп, имеющих перекрестные функции для работы над совместным проектом.

Загрузка ПО

Преимущества VLAN

  • Улучшенная производительность сети
  • Ограничение неконтролируемых широковещательных рассылок
  • Улучшение обновлений конфигурации локальных сетей (добавление, перемещение и изменение)
  • Сокращение проблем безопасности
  • Упрощение задач управления

Два основных типа VLAN

  • VLAN с пометкой — используют спецификацию IEEE 802.1. Каждый передаваемый пакет имеет 4-байтовый тег, добавленный в заголовок пакета. Коммутатор должен поддерживать пометку IEEE 802.1Q, и вы также должны подготовить надлежащую конфигурацию. См. документацию коммутатора для подготовки корректной конфигурации коммутатора.
  • VLAN без пометки или на основе портов — используют статическую конфигурацию коммутатора. Они доступны для подключенных устройств.

Аспекты использования:

  • Программное обеспечение Intel® поддерживает до 64 VLAN на сетевой порт или объединение.
  • Для настройки членства IEEE VLAN (несколько виртуальных локальных сетей) вы должны подключить адаптер к коммутатору с поддержкой IEEE 802.1Q VLAN.
  • VLAN могут сосуществовать с объединением (если адаптер поддерживает оба варианта). Сначала нужно создать объединение, а затем настроить VLAN.
  • Вы можете настроить только одну VLAN без пометки для каждого порта или объединения. Вы должны иметь не менее одной готовой VLAN с пометкой перед настройкой виртуальной сети без пометки.
  • После создания VLAN связанный с ней адаптер может испытать немедленную потерю подключения.
  • Вы не сможете удалить VLAN, если она связана с виртуальным сетевым адаптером.
  • Во время назначения VLAN для адаптера будет активирован параметр Priority & VLANs на вкладке расширенных свойств. Вы не сможете отключить его, пока не удалите из адаптера все VLAN.
  • Если вы измените настройку для одной VLAN на вкладке расширенных настроек, будет изменена конфигурация всех использующих данный порт VLAN.
  • Адаптеры и объединения с активной функцией VMQ не поддерживают VLAN на основе Intel® ANS (Intel® Advanced Network Services).
  • Интерфейс VLAN на основе Microsoft Hyper-V* поддерживает фильтрацию VLAN с VMQ. См. описание использования виртуальных адаптеров Microsoft Hyper-V в объединениях и VLAN в руководстве пользователя сетевых адаптеров.
  • Вы можете использовать различные теги VLAN для дочернего и родительского разделов. Они используют отдельные настройки и могут отличаться или быть подобными. Теги VLAN для родительского и дочернего разделов должны быть одинаковыми, если вам необходимо взаимодействие этих разделов через данную VLAN. Для получения дополнительной информации см. описание использования виртуальных адаптеров Microsoft Hyper-V в объединениях и VLAN в руководстве пользователя сетевых адаптеров.

Объединение сетевых адаптеров в ОС Windows Server 2012*

В ОС Windows Server 2012* добавлена поддержка объединения сетевых адаптеров, которая также известна как балансировка нагрузки и отказоустойчивость. Объединение Intel® ANS и VLAN несовместимо с объединениями Microsoft LBFO. Приложение Intel® PROSet блокирует добавление участников объединения LBFO в Intel ANS или VLAN. Не следует добавлять порт, который уже является частью объединения Intel® ANS или VLAN, в объединение LBFO. Кроме того, добавление порта может привести к нестабильности работы системы.

Поддерживаемые адаптеры

Сетевые адаптеры Intel® могут использоваться для конфигурации VLAN в любой версии Windows, где данные адаптеры имеют полную программную поддержку.

Сетевые адаптеры Intel® PRO/100 и PRO/1000, устанавливаемые в разъемы PCI* или PCI-X*, не поддерживают VLAN Intel® ANS ни в одной версии ОС Windows* после Windows Vista* и Windows Server 2008*. После этих версий для этого доступен только встроенный драйвер Windows от корпорации Microsoft.

Установка поддержки Intel ANS для конфигурации VLAN в ОС Windows*

Вы должны установить Intel® PROSet и Intel® ANS для использования конфигурации VLAN с сетевыми адаптерами Intel®. Вы не можете сконфигурировать VLAN лишь с использованием установленных базовых драйверов. Установка ПО Intel PROSet и Intel ANS выполняется по умолчанию во время установки программного обеспечения для сетевых адаптеров Intel®.

В программе установки на экране вариантов установки выберите Intel® PROSet для Диспетчера устройств Windows* и Advanced Network Services.

Настройка VLAN с помощью PowerShell

Настройка VLAN с помощью Intel® PROSet для Диспетчера устройств Windows*

date

17.03.2020

directory

Windows 10, Windows Server 2016

comments

комментариев 11

В этой статье мы покажем, как настроить тегированный интерфейс VLAN в Windows 10 и Windows Server 2016 (2019/2012R2). Стандарт VLAN (Virtual LAN) описан в 802.1Q и предполагает маркировку трафика с помощью тегов (vlanid), необходимую для отнесения пакета к той или иной виртуальной сети. VLAN используются для разделения и сегментирования сетей, ограничения широковещательных доменов и изоляции сегментов сети для повышения безопасности. В Windows вы можете настроить несколько различных логических сетевых интерфейсов с разными VLAN на одном физическом интерфейсе с помощью различных средств.

Для использования VLAN необходимо соответствующим образом перенастроить порт коммутатора, куда подключен ваш компьютер/сервер. Порт должен быть переведен из режима access в режим транк. По умолчанию на транк порту разрешены все VLAN, но вы можете указать список номеров разрешенных VLAN(от 1до 4094), которые доступны на данном порту коммутатора Ethernet.

Настройка VLAN интерфейсов в Windows 10

В десктопных версиях Windows нет встроенный поддержки VLAN. Только в самых последних версиях Windows 10 можно установить один тег VLAN для сетевого интерфейса. Для этого используется командлет PowerShell для управления сетевыми настройками. Например:

Set-NetAdapter –Name "Ethernet1" -VlanID 50

Однако есть два способа создать отдельный виртуальный сетевой интерфейс с определенным VLAN ID в Windows 10: с помощью специального драйвера и утилиты от производителя вашей сетевой карты и с помощью Hyper-V.

Настройка VLAN в Windows 10 на сетевой карте Realtek

Скачайте и установите последнюю версию сетевого драйвера для вашего адаптера Realtek и запустите утилиту Ethernet Diagnostic Utility.

Перейдите в раздел VLAN, нажмите кнопку Add и добавьте нужный VLAN ID. После этого в Windows появится новое сетевое подключение.

Realtek Ethernet Diagnostic Utility настройка vlan

После создания сетевых интерфейсов для ваших VLAN вы можете задать на них нужный IP из соответствующей подсети.

Настройка VLAN на сетевом адаптере Intel Ethernet

У Intel для настройки VLAN есть собственная утилита Intel Advanced Network (Intel® ANS) VLAN. Ваша модель сетевого адаптера, естественно, должна поддерживать технологию VLAN (например, VLAN не поддерживаются для карт Intel PRO/100 и PRO/1000). При установке драйвера выбейте опции Intel PROSet for Windows Device Manager и Advanced Network Services.

После этого в свойствах физического сетевого адаптера Intel появляется отдельная вкладка VLANs, где можно создать несколько VLAN интерфейсов.

Однако этот способ работает во всех предыдущих версиях Windows (до Windows 10 1809). В последних версиях Windows 10 на вкладке присутствует надпись:

Intel(R) Advanced Network (Intel(R) ANS) Teams and VLANs are not supported on Microsoft Windows 10

Для последних версий Windows 10 недавно Intel выпустила обновленный драйвера сетевых адаптеров и утилиту Intel PROSet Adapter Configuration Utility. Скачайте и установите последнюю версию драйвера Intel и эту утилиту.

Запустите ее, перейдите на вкладку Teaming/VLANs, нажмите кнопку New и укажите имя сетевого интерфейса и его VLANID.

Intel PROSet Adapter Configuration Utility

Кроме того, вы можете добавить/удалить/просмотреть список VLAN с помощью специальных PowerShell командлетов из модуля IntelNetCmdlets:

командлеты Get-IntelNetVLAN, Add-IntelNetVLAN

Несколько VLAN в Windows 10 с помощью Hyper-V

Есть еще один способ создать несколько VLAN в Windows 10 с помощью Hyper-V (доступен только в Pro и Enterprise). Для этого нужно установить компоненты Hyper-V:

Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All

Создайте новый виртуальный коммутатор через Hyper-V Manager или с помощью команд PowerShell (см. пример в статье о настройке Hyper-V Server).

Затем для каждого VLAN, который нужно создать, выполнить команды:

Add-VMNetworkAdapter -ManagementOS -Name VLAN50 -StaticMacAddress “11-22-33-44-55-AA” -SwitchName vSwitch2
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName VLAN50 -Access -VlanId 50

В результате у вас в системе появится сетевой адаптер с нужным VLAN.

Настройка нескольких VLAN в Windows Server 2016

В Windows Server 2016 можно настроить VLAN с помощью встроенных средств, устанавливать специализированные драйвера или утилиты не нужно. Попробуем настроить несколько разных VLAN на одной физической сетевой карте в Windows Server 2016 с помощью NIC Teaming.

настройка vlanid в свойствах драйвера

Обязательно убедитесь, что в настройках параметров дополнительных свойств сетевого адаптера не задана VLAN (значение VLAN

Это будет, наверное, заключительная статья из серии, посвященной архитектуре Hyper-V. На одном форуме мне посоветовали написать продолжение – «Hyper-V и невидимая виртуалка», «Hyper-V и Орден Линукса», я обязательно об этом подумаю, и возможно даже – напишу.


Итак, в этой статье речь пойдет о том, как виртуальные машины в среде Hyper-V работают с сетевыми интерфейсами. Как я уже говорил в предыдущих статьях – сетевые интерфейсы – это единственный способ взаимодействия виртуальных машин как между собой, так и со «внешним миром». Поэтому понимать особенности сетевого взаимодействия в среде Hyper-V необходимо.

Сетевые адаптеры

  • Когда гостевая ОС не поддерживает установку компонент интеграции;
  • Когда необходим доступ к сети до загрузки ОС, к примеру – загрузка по PXE для установки ОС с сервера WDS.

Виртуальные сети


Разумеется, если есть сетевые адаптеры – они должны куда-то подключаться. И для этого в Hyper-V существуют виртуальные сети (Virtual Networks), которые по сути представляют собой самые обычные виртуальные коммутаторы. К каждому виртуальному коммутатору могут присоединяться как сетевые интерфейсы виртуальных машин, так и физические сетевые интерфейсы сервера. Виртуальные сети бывают трех типов, и чтобы проще было их понять – взглянем на схему.

У нашего сервера имеется два сетевых интерфейса. Когда хостовая ОС только что была установлена, и интерфейсы сконфигурированы – к каждому из них привзяывается протокол TCP/IP, некоторые другие протоколы и соответственно – назначаются сетевые настройки (IP-адрес, маска подсети, адреса шлюзов и DNS) – статически или динамически, в данном случае – не суть важно.

Виртуальные сети (то есть виртуальные коммутаторы) бывают трех типов: External, Internal и Private. External – виртуальная сеть, имеющая выход «во внешний мир». При создании сети типа External необходимо указать сетевой интерфейс, через который будет осуществляться выход наружу (Физический адаптер 2). При этом физический интерфейс теряет все сетевые настройки, и создается виртуальный адаптер в хостовой ОС (Виртуальный адаптер 1), к которому привязываются все необходимые протоколы и настройки. Физический же интерфейс остается всего с одним протоколом: Virtual Network Switching Protocol. Кроме этого, в Windows Server 2008 R2 появилась возможность создавать сети типа External, но при этом все равно изолировать их от хостовой ОС. Делается это снятием галочки «Allow management operating system to share this network adapter»:

ATTENTION: При создании виртуальной сети типа External происходит кратковременный разрыв сетевого соединения, и все настройки переносятся на новый, виртуальный адаптер. Об этом необходимо помнить во-первых, если настройка осуществляется удаленно – соединение может прерваться, и во-вторых – возможно придется заново настраивать Windows Firewall, чтобы привязать правила к новому виртуальному интерфейсу.
Internal – внутренняя виртуальная сеть, к которой могут подключаться только виртуальные интерфейсы – виртуальных машин и хостовой ОС. К физическому интерфейсу сеть типа Internal не привязывается, и, соответственно, выхода «вовне» не имеет.
Private – то же самое, что и Internal, за исключением того, что к такой сети могут подключаться только виртуальные машины. Сеть типа Private не имеет доступа ни ко «внешнему миру», ни к хостовой ОС.
Для лучшего понимания – нарисую таблицу, в которой будет указано, какие интерфейсы будут подключены к виртуальному коммутатору, а какие – нет при разных настройках:

Работа с VLAN


Hyper-V поддерживает работу с VLAN (IEEE 802.1Q). Для этого в свойствах виртуальных сетевых интерфейсов имеется галочка «Enable VLAN Identification», после активации которой можно ввести VLAN ID. Предварительно, разумеется, необходимо настроить коммутаторы, чтобы трафик тегировался соответствующими ID, и, разумеется, установить в хостовой ОС драйверы сетевого адаптера с поддержкой необходимых функций.

Более подробно о настройке виртуальных машин для работы с VLAN можно почитать в статье Дмитрия Макарова.

Не могу закончить статью, не упомянув о новой фиче, появившейся в Windows Server 2008 R2 – поддержке виртуальных очередей, VMQ.
Поддержка VMQ позволяет перенести большую часть затрат на обработку сетевых пакетов, адресованных виртуальным машинам с хостовой ОС на плечи процессора сетевого адаптера. Разумеется, при условии, что сетевой адаптер это поддерживает, и в гостевых ОС установлены компоненты интеграции.
Если не используется VMQ, то обработка сетевых пакетов происходит следующим образом:

Распределением трафика по виртуальным машинам и фильтрацией по тегам VLAN при этом занимается виртуальный коммутатор, действующий в пространстве родительской ОС. При большом количестве виртуальных машин и при больших объемах трафика это может привести к некоторому снижению производительности, так как у процессора сервера есть и другие задачи, помимо обработки сетевых пакетов. Использование VMQ позволяет переложить обработку пакетов на плечи процессора сетевого адаптера:

Сетевой адаптер, поддерживающий VMQ, способен самостоятельно осуществлять необходимую обработку сетевых пакетов, а затем записать данные непосредственно в область памяти соответствующей виртуальной машины.
Передача же данных, что с VMQ, что без оной – идет как и обычно: Виртуальный сетевой адаптер – VMBus – Виртуальный коммутатор – Физический сетевой адаптер.

Вместо заключения


На этом хотелось бы закончить статью, и заодно – рассказ об архитектуре Hyper-V. В заключение – хотелось бы спросить: у меня есть желание написать статью о Live Migration. Будет ли это интересно аудитории, или же все об этом слышали и все об этом знают?

нужно принять с транкового порта Catalyst2950 несколько(20 шт.) VLAN 802.1q на компьютер(который будет выполнять работу маршрутизатора)

подскажите, пожалуйста, модель сетевой карты с поддержкой VLAN 802.1q?
Существуют ли в природе решения на Windows, для разборки трафика этих VLAN и построения маршрутизации между сетками(VLANами)?
Заранее благодарю.

>подскажите, пожалуйста, модель сетевой карты с поддержкой VLAN 802.1q?

Под Linux/FreeBSD практически любая сетевуха подойдет.

>Существуют ли в природе решения на Windows, для разборки трафика этих VLAN
>и построения маршрутизации между сетками(VLANами)?

Эмм.. Месье ценитель тонких извращений.

Я не любитель споров Windows vs Unix но Win для InterVLAN routing прямо скажем неподходящий выбор.

>нужно принять с транкового порта Catalyst2950 несколько(20 шт.) VLAN 802.1q на компьютер(который
>будет выполнять работу маршрутизатора)
>
>подскажите, пожалуйста, модель сетевой карты с поддержкой VLAN 802.1q?
>Существуют ли в природе решения на Windows, для разборки трафика этих VLAN
>и построения маршрутизации между сетками(VLANами)?
>Заранее благодарю.
>

Под винду есть софтина от Intel которая позволяет рулить VLAN ами для НЕКОТОРЫХ интеловских сетевушек.

Иду искать прогу от Интела, ссылочку бы или название.
>нужно принять с транкового порта Catalyst2950 несколько(20 шт.) VLAN 802.1q на компьютер(который
>будет выполнять работу маршрутизатора)
>
>подскажите, пожалуйста, модель сетевой карты с поддержкой VLAN 802.1q?
>Существуют ли в природе решения на Windows, для разборки трафика этих VLAN
>и построения маршрутизации между сетками(VLANами)?
>Заранее благодарю.
>

Например IntelPRO/1000 CT или D-link DGS-530T

>Например IntelPRO/1000 CT или D-link DGS-530T

На днях ставил IntelPro 1000MT Dualport Server Adapter - отличный VLAN для винды, судя по всему все карточки от интела с поддержкой 802.1Q должны поддерживаться одинаково (стандарный ProSet идет единый на все адаптеры). В итоге при назначении VLAN-ID создается виртуальный (читай полноценный для винды) адаптер с указанным VLAN-ID, а основной адаптер переходит в пассивное состояние с поднятым протоколом "расширенный сервис Intel". Таких адаптеров можно насоздавать целое множество. Вобщем имхо надо Intel брать, а D-Link - обжигаться только (на поверку там почти везде Marvell, дров не обновляют, 802.1q зачастую просто подразумевает указание одного vlan-id'а и все). А, да, Desktop Adapter от интела не бери ни в коем случае - у них разъемы расшатываются и линк начинает глючить.

Хочу и остановиться на intel
>На днях ставил IntelPro 1000MT Dualport Server Adapter - отличный VLAN для
>винды
в поставке с оборудованием идет или отдельно надо искать?
>В итоге при назначении VLAN-ID создается виртуальный (читай полноценный для винды) >адаптерс указанным VLAN-ID, а основной адаптер переходит в пассивное состояние с
>поднятым протоколом "расширенный сервис Intel". Таких адаптеров можно насоздавать целое >множество.
после установки Dualport Server Adapter, создаем новое подключение в "сетевые соединения"? в мастере появляется что-то новое? или как выбирать из стандартных альтернатив мастера, скажи, пожалуйста. ICQ 241861183


попробую найти m0n0wall. плата нашлась - IntelPro/1000 MT dual server Adapter.
все знаю, кроме UNIX/FreeBSD. :) m0n0wall оказался юниксовым файрволом с поддержкой VLAN опционально.

Теперь у меня VLANы работают на стандартных средствах винды. Все очень просто, если знать где подводные камни лежат:
- плата должна быть серверная, больше всего хвалят Intel PRO - серию
- Виндовый драйвер сразу надо выбросить и не пытаться искать Intel ProSet в чистом виде, хотя они существуют и всяких много
- а сразу надо идти на интел и скачать комплект драйверов с PROSet вместе
- после установки родных дров, в свойствах устройства "сетевая плата" появятся дополнительные вкладки VLANs, Team . хошь дели на вланы, хошь объединяй в тим
- RRAS стандартный от windowsServer легко разруливаем маршруты
Большое спасибо всем, кто помогал!

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

Прежде чем продолжить сделаем краткое отступление о работе локальных сетей. В данном контексте мы будем говорить об Ethernet-сетях описанных стандартом IEEE 802.3, куда входят всем привычные проводные сети на основе витой пары. Основой такой сети является коммутатор (свич, switch), который работает на втором уровне сетевой модели OSI (L2).

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

Коммутатор анализирует заголовки каждого входящего кадра и заносит соответствие MAC-адреса источника в специальную MAC-таблицу, после чего кадр, адресованный этому узлу, будет направляться сразу на определенный порт, если МАС-адрес получателя неизвестен, то кадр отправляется на все порты устройства. После получения ответа коммутатор привяжет MAC-адрес к порту и будет отправлять кадры только через него.

Этим достигается возможность одновременной передачи данных по нескольким портам одновременно и увеличивается безопасность сети, так как данные будут передаваться только на требуемый порт. Одновременно передавать данные через порт коммутатора может только один узел сети. Попытка одновременно передавать несколько кадров в одном сегменте сети называется коллизией, а такой сегмент - доменом коллизий. Чем больше устройств в домене коллизий, тем медленнее работает сеть.

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

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

Как мы уже говорили выше, к широковещанию прибегает сам коммутатор, когда получает кадр MAC-адрес которого отсутствует в MAC-таблице, а также узлы сети, отправляя кадры на адрес FF:FF:FF:FF:FF:FF, такие кадры будут доставлены всем узлам сети в широковещательном сегменте.

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

Чем больше в сети узлов, тем острее стоит проблема широковещания, поэтому широковещательные домены крупных сетей принято разделять. Это уменьшает количество паразитного трафика и увеличивает производительность, а также повышает безопасность, так как ограничивает передачу кадров только своим широковещательным доменом.

Как это можно сделать наиболее простым образом? Установить вместо одно коммутатора два и подключить каждый сегмент к своему коммутатору. Но это требует покупки нового оборудования и, возможно, прокладки новых кабельных сетей, поэтому нам на помощь приходит технология VLAN.

Данная технология описана стандартом 802.1Q и предусматривает добавление к заголовкам кадра дополнительного поля, которое содержит в том числе определенную метку (тег) с номером виртуальной сети - VLAN ID, всего можно создать 4094 сети, для большинства применений этого достаточно.

vlan-beginners-001.jpg

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

Как мы уже говорили выше, каждый кадр 802.1Q содержит дополнительное поле, в котором содержится тег - номер виртуальной сети. При входе Ethernet-кадра в коммутатор с поддержкой VLAN (такой трафик называется входящим - ingres) в его состав добавляется поле с тегом. При выходе из коммутатора (исходящий трафик - egress), данное поле из кадра удаляется, т.е. тег снимается. Все кадры внутри маршрутизатора являются тегированными. Если трафик пришел на порт, не принадлежащий ни одному VLAN, он получает тег с номером Native VLAN.

vlan-beginners-002.jpg

В порт, принадлежащий определенному VLAN, могут быть отправлены только пакеты с тегом, принадлежащим этому VLAN, остальные будут отброшены. Фактически мы только что разделили единый широковещательный домен на несколько меньших и трафик из одного VLAN никогда не попадет в другой, даже если эти подсети будут использовать один диапазон IP. Для конечных узлов сети такой коммутатор нечем ни отличается от обычного. Вся обработка виртуальных сетей происходит внутри.

Такие порты коммутатора называются портами доступа или нетегированными портами (access port, untagged). Обычно они используются для подключения конечных узлов сети, которые не должны ничего знать об иных VLAN и работать в собственном сегменте.

А теперь рассмотрим другую картину, у нас есть два коммутатора, каждый из которых должен работать с обоими VLAN, при этом соединены они единственным кабелем и проложить дополнительный кабель невозможно. В этом случае мы можем настроить один или несколько портов на передачу тегированного трафика, при этом можно передавать как трафик любых VLAN, так и только определенных. Такой порт называется магистральным (тегированным) или транком (trunk port, tagged).

vlan-beginners-003.jpg

Магистральные порты используются для соединения сетевого оборудования между собой, к конечным узлам сети тегированный трафик обычно не доставляется. Но это не является догмой, в ряде случаев тегированный трафик удобнее доставить именно конечному узлу, скажем, гипервизору, если он содержит виртуальные машины, принадлежащие разным узлам сети.

Так как кадр 802.1Q отличается от обычного Ehternet-кадра, то работать с ним могут только устройства с поддержкой данного протокола. Если на пути тегированного трафика попадется обычный коммутатор, то такие кадры будут им отброшены. В случае доставки 802.1Q кадров конечному узлу сети такая поддержка потребуется от сетевой карты устройства. Если на магистральный порт приходит нетегированный трафик, то ему обычно назначается Native VLAN.

Кроме указанных двух портов доступа существует еще одна разновидность - гибридный порт (hybrid port), его реализация и наименование у разных производителей сетевого оборудования может быть разным, но суть от этого не меняется. Такой порт передает как тегированный, так и нетегированный трафик. Для этого в его настройках указывается Default VLAN ID и для всех кадров этого VLAN данный порт работает как порт доступа, т.е для исходящего трафика указанного VLAN тег снимается, а входящему кадру без тега, наоборот, присваивается. Трафик остальных VLAN передается с тегами.

Для чего это нужно? Наиболее частое применение - это IP-телефоны со встроенным коммутатором, которые умеют работать с тегированным трафиком, но не умеют передавать его дальше. В этом случае в качестве VLAN ID по умолчанию устанавливается номер VLAN в котором расположены пользовательские ПК, а для телефона на этот же порт добавляется тегированный трафик VLAN для телефонии.

vlan-beginners-004.jpg

Все это время мы говорили только о VLAN, не поднимая вопроса: как попасть из одного VLAN в другой. Если продолжать рассматривать канальный уровень - то никак. Каждый VLAN мы можем рассматривать как отдельный физический коммутатор, а магистральный канал - как жгут кабелей между ними. Только все это сделано виртуально, на более высоком уровне абстракции, чем L1 - физический уровень, который как раз представлен кабелями и физическим оборудованием.

Если мы соединим два физических коммутатора кабелем - то получим расширение широковещательного домена на все порты этих устройств, а это совсем не то, что нам нужно. В тоже время сетевые устройства работают на более высоких уровнях модели ОSI, начиная с сетевого - L3. Здесь уже появляется понятие IP-адреса и IP-сетей. Если смотреть на VLAN с этого уровня, то они ничем не отличаются от физических сегментов сетей. А что мы делаем, когда нам нужно попасть из одной сети в другую? Ставим маршрутизатор.

Маршрутизатор или роутер - устройство, работающее на третьем уровне модели OSI и умеющее выполнять маршрутизацию трафика, т.е. поиск оптимального пути для доставки его получателю. И здесь мы говорим уже не о Ethernet-кадрах, а об IP-пакетах. Маршрутизация между VLAN называется межвлановой (межвланной) маршрутизацией (InterVLAN Routing), но, по сути, она ничем не отличается от обычной маршрутизации между IP-подсетями.

Для обеспечения связи между сетями в нашей схеме появляется новая сущность - маршрутизатор, как правило к нему от одного из коммутаторов идет магистральный канал (транк), содержащий все необходимые VLAN, эта схема называется роутер на палочке (леденец, Router-on-a-Stick).

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

Совсем иное дело, если узел одного из VLAN хочет получить доступ к узлу другого VLAN. В нашем случае узел из красной сети (VLAN ID 30) хочет получить доступ к узлу синей сети (VLAN ID 40). Узел источник знает IP-адрес адресата и также знает, что этот адрес не принадлежит его сети. Поэтому он формирует IP-пакет на адрес основного шлюза сети (роутера), помещает его в Ethernet-кадр и отправляет на порт коммутатора. Коммутатор добавляет к кадру тег с VLAN ID 30 и доставляет его роутеру.

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

Говоря о межвлановой маршрутизации нельзя обойти вниманием такие устройства как L3 коммутаторы. Это устройства уровня L2 c некоторыми функциями L3, но, в отличие от маршрутизаторов, данные функции существенно ограничены и реализованы аппаратно. Этим достигается более высокое быстродействие, но пропадает гибкость применения. Как правило L3 коммутаторы предлагают только функции маршрутизации и не поддерживают технологии для выхода во внешнюю сеть (NAT) и не имеют брандмауэра. Но они позволяют быстро и эффективно осуществлять маршрутизацию между внутренними сегментами сети, в том числе и между VLAN.

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

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

Читайте также: