Когда соединение Ethernet переносит более одной VLAN, все, кроме одной VLAN, должны быть помечены . Тег VLAN, совместимый со стандартом IEEE 802.1Q, размещается в кадре Ethernet в том месте, где обычно находится EtherType кадра. Первая часть тега VLAN является идентификатором протокола тега , который является постоянным значением 0x8100. В результате, устройство, которое не знает о тегах IEEE 802.1Q или настроено так, чтобы не ожидать их, увидит помеченные кадры и подумает: «Это не IPv4, ARP или IPv6; это Ethertype 0x8100, который является чем-то совершенно другим, и я не Я не думаю, что понимаю это вообще. Лучше просто игнорировать это. "
Коммутатор, поддерживающий VLAN, может фильтровать пакеты, поступающие на каждый порт по их тегам VLAN, и может при желании удалить тег VLAN из одной выбранной VLAN в исходящем трафике с этого порта (и, наоборот, добавить тег VLAN к входящему трафику на этом порту), так что любой трафик выбранной VLAN отображается как обычный трафик Ethernet до 802.1Q для устройства, подключенного к этому конкретному порту. Такая выбранная VLAN известна как собственная VLAN для этого порта.
Стандарт 802.1Q позволяет порту Ethernet поддерживать единственную собственную VLAN и любое количество помеченных VLAN одновременно, но я понимаю, что порт пропускает как помеченные, так и непомеченные кадры Ethernet одновременно, это несколько неблагоприятная конфигурация: вы ' Нужно помнить, что одна из VLAN в порте / NIC отличается от всех других и должна быть настроена по-другому. Склонен к ошибкам.
В терминологии Cisco порт коммутатора может быть настроен либо как порт доступа, либо как транковый порт . Порт доступа будет обеспечивать доступ только к одной VLAN и автоматически удаляет теги VLAN из исходящего трафика и добавляется к входящему трафику для этого порта. Магистральный порт, с другой стороны, будет передавать трафик через настраиваемый набор VLAN, но весь трафик будет помечен VLAN.
Итак, в вашем случае два устройства в двух разных VLAN на одном коммутаторе, оба используют адреса в одной IP-подсети. Что произойдет, будет зависеть от того, как настроены порты коммутатора (и сетевые интерфейсы на устройствах) для VLAN.
1.) Переключите порты как порты доступа, устройства, не поддерживающие VLAN: порт коммутатора будет отфильтровывать трафик «противоположной» VLAN, и поэтому устройства никогда не будут видеть трафик друг друга. Возникает вопрос, имеет ли смысл думать о них как о «находящихся в одном сегменте сети» вообще.
2.) Переключите порты в качестве магистральных портов, настроенных для прохождения обеих VLAN, устройств, не поддерживающих VLAN: каждое устройство будет думать: «Почему это другое устройство продолжает посылать мне эти странные вещи Ethertype 0x8100? Я не говорю об этом».
3.) Переключите порты как магистральные порты, настроенные для прохождения только одной VLAN каждый, устройства с учетом VLAN: вам также необходимо указать номера VLAN в конфигурации сети устройств, но конечный результат по существу такой же, как в случае # 1: устройства не будут видеть трафик друг друга
4.) Переключите порты в качестве магистральных портов, настроенных для прохождения обеих VLAN, устройств, поддерживающих VLAN, но настроенных на разные VLAN: теперь это уровень поддержки VLAN в самих устройствах, выполняющих фильтрацию, но практический результат такой же, как в случаях # 1 и № 3: трафик «противоположного» устройства никогда не достигнет уровня протокола IP в стеке сетевых протоколов устройства.
5.) Переключите порты как магистральные порты, настроенные для прохождения обеих VLAN, устройство настроено с поддержкой VLAN, обе VLAN настроены в устройстве. Это сверх того, что вы просили. Теперь устройство будет эффективно присутствовать в обеих VLAN.
Поскольку обе VLAN претендуют на то, чтобы различаться на уровне Ethernet, но используют одну и ту же IP-подсеть, то, что произойдет, будет зависеть от того, как реализована IP-маршрутизация устройств. Главной важной деталью будет то, предназначен ли стек IP для использования модели сильного хоста или модели слабого хоста , и как именно концепция VLAN была интегрирована в систему.
Например, Linux представит любые сконфигурированные тегированные VLAN в качестве дополнительных виртуальных сетевых адаптеров, которые отражают состояние канала базовой физической сетевой карты, но в остальном действуют как независимые, насколько это технически возможно. Таким образом, все будет так же, как если бы у вас было два сетевых адаптера, подключенных к двум отдельным сегментам физической сети со 100% перекрывающимися IP-подсетями: система могла бы получать входящий трафик очень хорошо, но будет предполагать, что любой сетевой адаптер, подключенный к целевой IP-подсети, подходит для общения с любой другой хост в этой IP-подсети и будет использовать какой-либо (виртуальный, специфичный для VLAN) сетевой адаптер, который будет первым в таблице маршрутизации ... и поэтому конфигурация может работать или не работать в зависимости от порядка, в котором различные части Конфигурация NIC и VLAN была инициализирована. Вам нужно использовать Linux
Использование одной и той же IP-подсети в двух отдельных сегментах является проблемой уровня 3, независимо от того, является ли разделение сегментов на уровне 2 физическим (= фактические отдельные сетевые адаптеры) или логическим (= созданным с помощью VLAN). Для проблемы уровня 3 потребуется решение уровня 3: использование маршрутизатора или какого-либо другого блока для симметричного преобразования NAT в одной из подсетей для устранения перекрытия IP-подсетей было бы гораздо более элегантным, чем попытка справиться с этим на отдельных устройствах.