У меня есть вопрос по поводу переключения. У меня есть два устройства, подключенные к коммутатору с IP-адресами 192.168.5.20 и 192.168.5.10. Оба устройства имеют одинаковый префикс / 24. Это означает, что они находятся в одной подсети.
Если я разделю эти устройства на разные VLAN (10 и 20) на коммутаторе, он не будет связываться, хотя они находятся в одной подсети. Почему это происходит?
Ответы:
Одна из вещей, которую делают VLAN, - это взять физический коммутатор и разбить его на несколько меньших «виртуальных» коммутаторов.
Значение этого физического описания одного коммутатора и двух VLAN:
Действует идентично этому логическому описанию той же топологии:
Даже если IP-адреса на втором изображении находились в одной подсети, вы заметите, что между двумя виртуальными коммутаторами (т. Е. Виртуальными локальными сетями) нет «связи», и, следовательно, никакой возможный способ связи хостов A / B с хостами C / D.
Чтобы хосты на втором изображении могли обмениваться данными друг с другом, вам понадобится какое-то устройство для облегчения связи от одного «коммутатора» к другому. Устройство, которое существует для этой цели, является Маршрутизатором - следовательно, Маршрутизатор требуется для трафика, чтобы пересечь границу VLAN:
И из-за того, как работает маршрутизатор, каждый интерфейс маршрутизатора должен иметь свою собственную уникальную IP-подсеть. Вот почему каждая VLAN традиционно требует своей собственной уникальной IP-подсети - потому что если между этими VLAN должна происходить какая-либо связь, потребуются уникальные подсети.
Изображения выше взяты из моего блога, вы можете прочитать больше о VLAN как концепции здесь и о маршрутизации между VLAN здесь .
источник
Смысл виртуальной локальной сети состоит в том, чтобы создать отдельные локальные сети уровня 2 на одном физическом устройстве.
Это похоже на строительство бронированной и звуконепроницаемой стены в комнате, чтобы создать 2 комнаты. Люди в каждой половине комнаты больше не могут общаться с людьми в другой половине прежней комнаты.
Таким образом, у вас есть два хоста в двух разных сетях L2, и ничто не позволяет им общаться.
Обратите внимание, что в большинстве случаев нет смысла использовать одну и ту же подсеть в двух разных VLAN. Стандартный случай - связать IP-сеть с VLAN.
источник
IP-подсети логически группируют хосты - хосты в одной подсети используют соединение уровня 2 для прямого общения друг с другом. Общение с хостами в другой подсети требует использования шлюза / маршрутизатора.
VLAN физически группируют хосты - хосты в одном VLAN / широковещательном домене / сегменте L2 могут напрямую общаться друг с другом. Хосты в разных VLAN не могут. (Не бейте меня - физически группа не совсем правильная, но это отмечает мою точку зрения.)
Таким образом, когда два хоста находятся в одной и той же IP-подсети, но в разных VLAN / широковещательных доменах / сетях L2, они не могут обмениваться данными: исходный хост предполагает назначение в пределах своей локальной сети L2 и, следовательно, пытается ARP адрес назначения (или ПНР разрешить для IPv6).
ARP работает, отправляя запрос в виде широковещания в локальную сеть L2, и хост с запрошенным IP-адресом отвечает своим MAC-адресом. Поскольку целевой хост находится за пределами локальной сети, он никогда не слышит ARP-запрос, и ARP дает сбой.
Даже если источник каким-то образом узнает MAC-адрес получателя и создаст кадр, адресованный этому MAC, он никогда не достигнет получателя, поскольку он все еще находится за пределами сети L2. MAC вне локальной сети L2 бессмысленны и бесполезны.
источник
Дополняет существующие ответы, которые охватывают вопрос с точки зрения дизайна и теории ...
Вместо того, чтобы спрашивать « почему они не общаются? », Давайте спросим « что происходит, когда они пытаются общаться?»
Во-первых, что значит настроить VLAN на коммутаторе? В нашем примере есть несколько сокетов, настроенных как VLAN 10, и некоторые настроенные VLAN 20. Определение VLAN состоит в том, что подключены только сокеты в одной VLAN. Это означает, что кадр, полученный на порт в данной VLAN, отправляется только на порты той же VLAN.
На этой схеме у нас шесть хостов, порты 1, 2, 5 находятся в VLAN 10, порты 3, 4, 6 находятся в VLAN 20.
Предположим, что хост A статически настроен как 192.168.5.10/24, а F статически настроен как 192.168.5.20/24, из вопроса. Предположим, что от B до E имеют другие статические адреса конфигурации (не имеет значения, какие они есть).
Если A пингует 192.168.5.20, он определяет, что он находится в том же / 24, поэтому первое, что происходит, - это запрос ARP: WHO HAS 192.168.5.20, отправленный как эфирное вещание.
Коммутатор получает широковещательную рассылку через порт 1. Это VLAN 10, поэтому он отправляет широковещательную рассылку через порты 2 и 5, остальные порты в VLAN 10. Хосты B и E получают запрос ARP и игнорируют его, поскольку это не их адрес.
Вот и все.
Там не будет никакого ответа ARP; следующее, что произойдет, - это тайм-аут на А, за которым последуют повторные ARP-запросы, пока приложение не сдастся.
Хост, подключенный к чему-либо кроме порта VLAN 10, вообще ничего не увидит, независимо от его IP-адреса. Это, очевидно, включает в себя F, который является 192.168.5.20.
источник
Я ожидаю, что у вас будет хорошее понимание маскировки подсети. Когда у вас есть отдельные VLAN, вы должны иметь уникальный диапазон IP-адресов с подсетями. Это не обязательно.
VLAN - это отдельная локальная сеть, но это виртуальная сеть. Кроме того, виртуальная локальная сеть для разделения сетей в одном коммутаторе. В вашем коммутаторе будет создан отдельный широковещательный домен. Но когда вы создаете виртуальные локальные сети с тем же ip, это бесполезно.
В дополнение к этому вам нужно настроить Intervlan Routing на вашем коммутаторе.
источник
Подумайте, что происходит, когда у вас дома есть локальная сеть и компьютер с IP 192.168.2.1. У вашего друга в будущем также есть локальная сеть в его доме и компьютер с IP 192.168.2.2. Они находятся в одной подсети, так почему они не могут общаться друг с другом?
В таком примере причина отличается от того, о чем вы спрашиваете.
Но VLAN достигает того же результата - она сегментирует сеть на втором уровне.
Я хочу сказать, что мы можем легко увидеть, что факт «IP-адреса находятся в одной подсети» недостаточен для определения того, могут ли пакеты маршрутизироваться между ними. Базовая топология также играет свою роль.
Принимая это до крайности, на самом нижнем уровне вам понадобится некоторый физический материал (ну, ладно, или воздух: D) для фактической транспортировки данных. Ваши компьютеры могут находиться в одном доме в одной подсети, но не иметь физического подключения (или иметь беспроводную связь), и тогда вы не ожидаете, что пакеты будут маршрутизироваться.
источник
Смысл VLAN состоит в том, чтобы иметь сегментацию сети. Вы также можете достичь того же (некоторые предостережения), используя подсети. Так как ваша подсеть разделена на 2 разные VLAN, ваши устройства не могут общаться в сети L2. Вы можете настроить интерфейс IRB на коммутаторе, чтобы разрешить связь между VLAN. Кроме того, вы можете маршрутизировать трафик через межсетевой экран и разрешить выборочную связь между VLAN. В идеале, вы должны спроектировать свою сеть так, чтобы она имела разные подсети для каждой из VLAN, а затем межсетевой экран передавал трафик между VLAN. Надеюсь это поможет.
источник
Когда соединение 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-подсетей было бы гораздо более элегантным, чем попытка справиться с этим на отдельных устройствах.
источник