Рисунок 16.10 иллюстрирует проблему, возникающую при создании виртуальных сетей на основе нескольких коммутаторов, поддерживающих технику группирования портов.
Если узлы какой-либо виртуальной сети подключены к разным коммутаторам, то для подключения каждой такой сети на коммутаторах должна быть выделена специальная пара портов. В противном случае, если коммутаторы будут связаны только одной парой портов, информация о принадлежности кадра той или иной виртуальной сети при передаче из коммутатора в коммутатор будет утеряна. Таким образом, коммутаторы с группированием портов требуют для своего соединения столько портов, сколько виртуальных сетей они поддерживают. Порты и кабели используются при таком способе очень расточительно. Кроме того, при
Рис. 16.10. Построение виртуальных сетей на нескольких коммутаторах с группированием портов
|
Группирование МАС-адресов в виртуальную сеть на каждом коммутаторе избавляет от необходимости связывать их по нескольким портам, поскольку в этом случае МАС-адрес является меткой виртуальной сети. Однако этот способ требует выполнения большого количества ручных операций по маркировке МАС- адресов на каждом коммутаторе сети.
Описанные два подхода основаны только на добавлении дополнительной информации к адресным таблицам коммутатора, и в них отсутствует возможность встраивания в передаваемый кадр информации о принадлежности кадра виртуальной сети. В остальных подходах используются имеющиеся или дополнительные поля кадра для сохранения информации о принадлежности кадра той или иной виртуальной локальной сети при его перемещениях между коммутаторами сети. При этом нет необходимости запоминать в каждом коммутаторе принадлежность всех МАС-адресов составной сети виртуальным сетям.
Дополнительное поле с пометкой о номере виртуальной сети используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно обычно удаляется. При этом модифицируется протокол взаимодействия «коммутатор-коммутатор», а программное и аппаратное обеспечение конечных узлов остается неизменным. До принятия стандарта IEEE 802.1Q существовало много фирменных протоколов этого типа, но все они имели один недостаток — оборудование различных производителей оказывалось несовместимым при образовании VLAN.
соединении виртуальных сетей через маршрутизатор для каждой виртуальной сети выделяется отдельный кабель и отдельный порт маршрутизатора, что также приводит к большим накладным расходам.
|
В стандарте IEEE 802.1Q для хранения номера виртуальной сети предусмотрен дополнительный заголовок в 2 байта, который этот протокол делит с протоколом 802.1р (он рассматривается в следующем разделе этой главы). Помимо 3 бит для хранения приоритета кадра, описанных стандартом 802.1р, в этом заголовке 12 бит используются для хранения номера виртуальной сети, к которой принадлежит кадр. Эта дополнительная информация, которая называется тегом виртуальной сети, позволяет коммутаторам разных производителей создавать до 4096 общих виртуальных сетей. Кадр с такой информацией называют «помеченным». Длина помеченного кадра Ethernet увеличивается на 4 байта, так как помимо 2 байт собственно тега добавляются еще 2 байта. Структура помеченного
кадра Ethernet показана на рис. 16.11. При добавлении заголовка 802.1p/Q поле данных уменьшается на 2 байта.
|
|
|
|
| 42-1496
|
|
DA
| SA
| TPID
| TCI
| Длина/Тип
| Данные
| FCS
|
3 бита
| 1 бит
| 12 бит
|
Приоритет
| CFI
| VLAN ID
|
Рис. 16.11. Структура помеченного кадра Ethernet
|
Введение стандарта 802.1Q позволило производителям оборудования преодолеть различия в фирменных реализациях VLAN и добиться совместимости при построении виртуальных локальных сетей. Поддерживают технику VLAN как производители коммутаторов, так и сетевых адаптеров. В последнем случае сетевой адаптер может генерировать и принимать помеченные кадры Ethernet, содержащие поле тега виртуальной сети. Если сетевой адаптер генерирует помеченные кадры, то тем самым он определяет их принадлежность к той или иной виртуальной локальной сети, поэтому коммутатор должен обрабатывать их соответствующим образом, то есть передавать или не передавать на выходной порт в зависимости от принадлежности порта. Драйвер сетевого адаптера может получить номер своей (или своих) виртуальной локальной сети путем ручного конфигурирования либо от некоторого приложения, работающего на данном узле или на одном из серверов сети.
VLAN 1
VLAN 1
Рис. 16.12. Сети с VLAN и избыточные связи
|
Связи, общие для обеих сетей
Существование виртуальных локальных сетей в сети влияет на выбор активной топологии покрывающего дерева. Рассмотрим пример на рис. 16.12.
В этой сети образовано две виртуальные локальные сети: VLAN 1 и VLAN 2. Эти виртуальные сети построены на основе техники группирования портов. На рисунке связи между портами, принадлежащими VLAN 1, показаны тонкими сплошными линиями, а связи между портами VLAN 2 — пунктирными.
Рис. 16.13. Покрывающее дерево, построенное без учета существования виртуальных локальных сетей
|
VLAN 1
VLAN 1
Связи, общие для обеих сетей
|
Другое решение состоит в том, чтобы активная топология строилась для каждой виртуальной сети отдельно. В рассматриваемом примере такой подход приводит к двум деревьям с корневым коммутатором Swl для VLAN 1 и корневым коммутатором Sw2 для VLAN 2 (рис. 16.14).
|
Если при построении активной топологии STA мы не будем принимать во внимание наличие в сети виртуальных сетей, то получим покрывающее дерево, показанное на рис. 16.13 (в качестве корневого коммутатора выбран коммутатор Swl). Очевидно, что эта топология не эффективна для VLAN 2, так как, например, путь от компьютера W1 до сервера S3 проходит через четыре коммутатора. Для сравнения, путь от компьютеров сети VLAN 1 до сервера S1 проходит через два коммутатора. Если бы в качестве корневого коммутатора был выбран коммутатор Sw2, то такая топология оказалась бы не эффективной для сети VLAN 1.
— заблокированный порт для VLAN 1 Чл' — заблокированный порт для VLAN 2
/ ч
Рис. 16.14. Покрывающие деревья, построенные с учетом существования локальных сетей
|