Предположим, вы подключаете магистральный порт сетевого коммутатора с поддержкой VLAN к сетевому коммутатору потребительского уровня (без поддержки VLAN) через прямой кабель. Теперь первый коммутатор отправляет второму коммутатору Ethernet-кадр с тегом 802.1Q. Что должен сделать последний коммутатор? Отбросить кадр? Переслать кадр? Неопределенное поведение?
Если поведение не определено, что наиболее вероятно?
Редактировать:Спасибо за ответы. Подводя итог, можно сказать, что поведение коммутатора потребителя зависит от:
- Как он обрабатывает кадры
0x8100
в поле EtherType 1 - Как он обрабатывает большие кадры или кадры с полезной нагрузкой более 1500 байт
В Википедии естьхорошая диаграммасравнение нетегированного и тегированного Ethernet-кадра:
Есть сведения, что некоторые коммутаторы потребительского уровня без проблем передают кадры с тегами VLAN.
1 или точнее, где поле EtherType ожидается для немаркированных кадров
решение1
Я действительно видел это на cheapo-switch. Кто-то подключил коммутатор между портом транка, на котором было несколько vlan. Кадры были перенаправлены с нетронутой маркировкой vlan. Другие порты на этом коммутаторе могли использовать немаркированную vlan.
Коммутатору нужен только MAC-адрес источника/назначения, чтобы решить, на какие порты пересылать кадры, так что это неудивительно: у помеченного кадра MAC-адреса источника и назначения по-прежнему находятся в одном и том же месте в заголовке кадра.
Имейте в виду, что Ethernet на самом деле поддерживает множество различныхтипы рамна том же проводе. Он был разработан так, чтобы быть достаточно гибким в том, что он может делать.
решение2
Обычно слишком большие кадры Ethernet могут быть и отбрасываются. При наличии таких вещей, как кадры большого размера, большие кадры Ethernet трудно определить, так что это действительно зависит - но отбрасывание, вероятно, будет наиболее частым поведением.
edit: Для уточнения: стандартный размер кадра Ethernet IEEE 802.3 составляет 1518 байт, 802.3Q добавляет к кадру 4 байта, поэтому общий размер MTU составляет 1522 байта, что может быть слишком большим для некоторых коммутаторов.
решение3
Коммутатор потребительского класса попытается переслать кадр — MAC-адрес назначения — это все, что его волнует. Если MAC-адрес назначения отсутствует в его таблице CAM, он выведет кадр из всех своих портов, кроме того, с которого был получен пакет.
Переключатель, который используетПрорезатьМетод пересылки определенно перешлет кадр, поскольку он начинает пересылку сразу после считывания MAC-адреса назначения, даже если общий размер кадра больше MTU, поскольку он не может рассчитать размер кадра с помощью этого метода пересылки.
Переключатель на основеХранить и пересылатьтехника будетвероятно(при условии, что размер кадра <= MTU) сделайте то же самое, при условии, что FCS в порядке.
Если коммутатор, не поддерживающий 802.1Q, соединяет конечные устройства, устройства получат кадр и отбросят его, поскольку они «не знают», как обрабатывать кадры 802.1Q (тип 0x8100).
Я предполагаю, что коммутатор потребительского класса может соединять коммутаторы с поддержкой 802.1Q (ужас!), кадры будут пересылаться и обрабатываться 802.1Q — конечно, если они получены на магистральных портах.