Почему и как помечаются Ethernet Vlans?

80

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

Вишванат говда к
источник
2
Проверьте этот раздел в этой статье .
Эдди

Ответы:

114

Если у вас есть более одной VLAN на порту («магистральный порт»), вам нужно каким-то образом определить, какой пакет принадлежит какой VLAN на другом конце. Для этого вы «помечаете» пакет тегом VLAN (или заголовком VLAN, если хотите). В действительности тег VLAN вставляется в кадр Ethernet следующим образом:

Заголовок VLAN

Тег 802.1Q (dot1q, VLAN) содержит VLAN-ID и другие вещи, описанные в стандарте 802.1Q . Первые 16 бит содержат «идентификатор протокола тега» (TPID), который равен 8100. Это также удваивается как EtherType 0x8100 для устройств, которые не понимают VLAN.

Таким образом, «помеченный» пакет содержит информацию о VLAN в кадре Ethernet, а «нетегированный» - нет. Типичный вариант использования может быть, если у вас есть один порт от маршрутизатора до коммутатора, к которому подключено несколько клиентов:

VLAN Trunking

В этом примере у клиента «Зеленый» есть VLAN 10, а у клиента «Синий» - VLAN 20. Порты между коммутатором и клиентами «немаркированы», что означает, что для клиента прибывающий пакет является просто обычным пакетом Ethernet.

Порт между маршрутизатором и коммутатором настроен как магистральный порт, так что и маршрутизатор, и коммутатор знают, какой пакет принадлежит какой VLAN клиента. На этом порту кадры Ethernet помечены тегом 802.1Q.

Себастьян Визингер
источник
6
должен быть лучший способ объяснить VLAN, Trunkting, Native, Default и т. д. для полных новичков, таких как я :-(
1
@CompleteNewbie В Интернете сотни объяснений - нет смысла просто повторять их здесь. Как говорит Майк, если у вас есть конкретный вопрос о VLAN или транкинге, мы будем рады помочь.
Рон Ствол
Это действительно хороший ответ. Спасибо.
Fr0ntSight
Отличное объяснение, я не думаю, что я прочитал одно как краткое и подробное, в то же время четко изложив концепцию помеченного и непомеченного.
htm11h
37

Приведенные выше ответы носят технический характер. Думайте об этом так:

На самом деле VLAN и маркировка - это не что иное, как логическое разделение сетей в отличие от физической. Теперь, что это значит?

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

Поскольку теперь вы можете иметь несколько сетей на каждом канале / порту, вы должны каким-то образом различать, какой пакет принадлежит какой сети. Вот почему они помечены. Если порт переносит более одной VLAN, он также обычно называется транком . (для n> 1 VLAN должны быть помечены как минимум n-1 VLAN, и может быть одна немаркированная VLAN, собственная VLAN)

Обычно необходимо различать пакеты при входе в порт (входящие «от кабеля») и выходные (исходящие «в кабель»):

вход

  • вход без тега: это то место, куда входит нативный vlan порта. Если на коммутаторе настроено несколько VLAN, вы должны указать коммутатору, к какой VLAN принадлежит входящий немаркированный пакет;

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

выход

  • исходящий без тегов: для каждого порта вы можете выбрать одну VLAN, исходящие пакеты на которой не помечены (например, потому что хост не поддерживает ее, или требуется только одна VLAN, например, для ПК, принтера и т. д.);

  • Выходной тег: Вы должны указать коммутатору, какие виртуальные локальные сети должны быть доступны на порту, и, если их несколько, все, кроме одного, должны быть помечены в любом случае.

Что происходит внутри коммутатора

Коммутатор имеет FDB ( F forwarding D ata B ase), который

  • в коммутаторе, который не поддерживает VLAN (иногда его называют «неуправляемым» или «немым», ...): связывает хост (MAC-адрес) с портом: FDB - это таблица, состоящая из кортежей двух элементов: (MAC, порт)

  • в коммутаторе, который поддерживает VLAN (иногда его называют «управляемым» или «интеллектуальным», ...): связывает кортежи (VLAN, MAC) с портом: FDB - это таблица, состоящая из кортежей трех элементов: (MAC, порт , VLAN).

    Единственным ограничением здесь является то, что один MAC-адрес не может появляться в одной и той же VLAN дважды, даже если на разных портах (по существу, VLAN в коммутаторах с поддержкой VLAN заменяет понятие порта в коммутаторах, не поддерживающих VLAN). Другими словами:

  • Может быть несколько VLAN на порт (именно поэтому в какой-то момент должны быть теги).
  • Может быть несколько VLAN на порт и на MAC: один и тот же MAC-адрес может появляться в разных VLAN и на одном и том же порте (хотя я бы не рекомендовал это для здравомыслия).
  • Один и тот же MAC-адрес по-прежнему не может отображаться в одной VLAN, но на разных портах (разные хосты, имеющие один и тот же MAC-адрес в одной сети уровня 2).

Надеюсь, это немного прояснит ситуацию ;-)

Marki
источник
8

Протокол инкапсуляции defacto VLAN - 802.1Q (dot1.q) . Его основная функция заключается в сохранении VLAN между коммутаторами. Поскольку VLAN локально важны для коммутатора, вы должны пометить кадр, идущий к ближайшим коммутаторам, чтобы они знали, к какой логической группе принадлежит этот кадр.

Райан Фоли
источник
2

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

Используется собственная VLAN, так что кадры без тегов могут обмениваться данными без использования маршрутизатора. Лучшей практикой безопасности является замена стандартной / собственной VLAN на другую VLAN с помощью этой команды: switchport trunk native vlan.

Коммутаторы Cisco поддерживают инкапсуляцию IEEE 802.1Q и ISL.

Крис
источник