Конфигурирование коммутаторов с поддержкой 802.1Q


Первая редакция статьи, опубликованная 17 мая 2000 г, вызвала неадекватную реакцию некоторых читателей, вылившуюся даже в дискуссию. Критически взглянув на текст статьи, мы решили внести в нее несколько строк. Они выделены цветом.

Современный подход к построению сетей имеет девиз "коммутаторы — по возможности, маршрутизаторы — по необходимости". При этом на коммутаторы возлагаются задачи не только уменьшения размеров доменов коллизий (сегментация), но и локализации широковещательного и группового трафика, а также ограничения распространения кадров с неизвестными адресами назначения. Интеллектуальные коммутаторы служат средством построения виртуальных локальных сетей (ВЛС). Виртуальная локальная сеть (VLAN — Virtual LAN) — это, по сути, домен широковещательных кадров. Основные цели введения виртуальных сетей в коммутируемую среду — повышение полезной пропускной способности за счет локализации широковещательного трафика, формирование виртуальных рабочих групп из некомпактно (в плане подключения) расположенных узлов, обеспечение безопасности, улучшение соотношения цены/производительности по сравнению с применением маршрутизаторов.

Когда виртуальные сети распространяются на несколько связанных между собой коммутаторов, возникает довольно сложная задача передачи информации о принадлежности передаваемых кадров к той или иной ВЛС. В ВЛС на основе номеров портов относительно простые коммутаторы должны быть соединены столькими линиями связи, сколько определено распределенных ВЛС. Это приводит к дополнительным расходам портов коммутаторов на межкоммутаторные связи, и виртуальные сети практически перестают отличаться от реальных. Сети без излишних линий связи с передачей информации о ВЛС строятся либо на основе фирменных решений (при этом объединяться могут лишь коммутаторы одной фирмы или даже одного семейства), либо на основе стандарта 802.1Q.

Задача идентификации принадлежности кадров Ethernet к конкретной виртуальной сети совместно с обеспечением приоритезации обслуживания кадров коммутаторами решается с помощью применения маркировки кадров. Недавно принятая пара связанных стандартов IEEE 802.1Q и 802.1p закладывает основу для взаимодействия оборудования различных производителей. Стандарт IEEE 802.1Q определяет структуру заголовка для маркированных кадров (tagged frames) Ethernet. Тег вставляется в обычный кадр Ethernet после адреса источника (SA). В тег входит 3-битное поле приоритета кадра Prt, 12-битное поле идентификатора ВЛС VID (VLAN ID) и бит-индикатор канонического формата заголовка CFI (Canonical Format Identifier). Поле VID позволяет определить принадлежность кадра к конкретной ВЛС (до 4096 штук) в пределах коммутируемой сети, поддерживающей маркированные кадры. Поле приоритета кадра позволяет различать 8 уровней приоритета. Маркировку кадра выполняет либо сетевой адаптер конечного узла, "понимающий" ВЛС по 802.1Q, либо интеллектуальный коммутатор, который первым принимает данный кадр (он вставляет идентификатор и приоритет по заданым правилам, например, по номеру порта). Маркированный кадр путешествует по коммутаторам сети, где его обслуживают (или не обслужиают) в соответствии с идентификатором ВЛС и полем приоритета. Маркировочное поле удаляется из кадра пограничным коммутатором (тем, к которому подключен традиционный узел назначения или его разделяемый сегмент), или же оно достигает сетевого адаптера узла назначения, поддерживающего маркированные кадры. Устройство, вставляющее тег в кадр или удаляющее тег, должно пересчитать контрольную последовательность кадра (поле FCS), по которой определяется его целостность. Поддержка маркированных кадров конечными узлами позволяет наиболее гибко формировать виртуальные сети (один узел может входить и в несколько виртуальных сетей) в коммутируемой среде.

Стандарт IEEE 802.1p определяет поведение коммутаторов при обработке маркированных кадров с использованием приоритезации. Коммутатор, поддерживающий приоритезацию, должен иметь для каждого порта несколько выходных очередей, в которые помещаются кадры в зависимости от их приоритета. Дисциплина обслуживания этих очередей определяется при конфигурировании коммутатора. Необходимость приоритезации трафика появляется с введением мультимедийных приложений, чувствительных к задержкам. Протокол IP позволяет управлять приоритетом обработки пакетов устройствами 3-го уровня (маршрутизаторами). Маркировка кадров распространяет управление приоритетом и на уровень коммутаторов технологии Ethernet, изначально не имевшей этих средств (в отличие от Token Ring и FDDI). Для того, чтобы обеспечивать гарантированное качество сервиса (регламентированную скорость и задержки), необходимо взаимодействие нескольких составляющих. Маркировка кадров обеспечивает систему сигнализации приоритета, 802.1p обеспечивает приоритезацию обработки. Необходимы еще средства распределения ресурсов сети, которые сообщают конечным узлам разрешенные параметры трафика. Кроме того, необходимы и "полицейские" средства, следящие за трафиком узлов и пресекающие попытки его генерации сверх согласованных лимитов.

Рассмотрим вариант построения виртуальных сетей на коммутаторах фирмы Nortel Networks типа BayStack-350/450, в которых имеется поддержка VLAN на основе стандарта IEEE 802.1Q. Заметим, что наличие поддержки этого стандарта имеется только в коммутаторах с относительно новой версией как аппаратной части, так и внутреннего ПО (firmware). Стандарт IEEE 802.1Q — Virtual Bridge Local Area Networks — определяет только формат используемых кадров Ethernet и минимальный набор требований к устройству, которые обязательны к реализации всеми производителями. Вместе с тем, очень большая область использования этой технологии отдается на откуп производителю оборудования. Именно поэтому все случаи использования VLAN, которые хоть немного отличаются от простейших VLAN на основе портов, сильнейшим образом зависят от конкретного используемого оборудования. Все примеры, приведенные в статье — живые. Именно на этом подходе построена сеть ЦНИИ Робототехники и технической кибернетики в СПб. Сеть прекрасно работает и с точки зрения VLAN выполняет все, что от нее требуется, и все, что декларировано Nortel Networks.

Коммутаторы для ВЛС требуют предварительного конфигурирования (поставляются они обычно в состоянии, в котором ведут себя как обычные коммутаторы). Для конфигурирования удобно использовать внеполосное (out of band) управление через консольный порт, поскольку при внутриполосном (in band) по неосторожности или неопытности можно попасть в "капкан" — в какой-то момент из-за ошибки конфигурирования консоль может потерять связь с коммутатором.

Портам коммутаторов, поддерживающих 802.1Q, и участвующим в формировании ВЛС, назначаются специфические атрибуты. Каждому порту назначается PVID (Port VLAN Identifier) — идентификатор ВЛС для всех приходящих на него немаркированных кадров, и приоритет порта (P_Prt). Коммутатор маркирует каждый приходящий к нему немаркированный кадр (вставляет номер VLAN и приоритет, пересчитывает FCS), а маркированные оставляет без изменений. В результате внутри коммутатора все кадры будут маркированными. Порты могут конфигурироваться как маркированные или немаркированные члены ВЛС. Немаркированный член ВЛС (untagged member) выходящие через него кадры выпускает без тега (удаляя его и снова пересчитывая FCS). Маркированный член ВЛС (tagged member) выпускает все кадры маркированными. Теги берутся либо исходные (когда в коммутатор кадр входил уже маркированным), либо устанавливаются в соответствии PVID и приоритетом порта, откуда этот кадр пришел в коммутатор. Для каждой ВЛС определяется список портов, являющихся ее членами. Порт может быть членом одной или более ВЛС. Маркированный кадр, пришедший на порт с "чужим" для него идентификатором ВЛС, называется незарегистрированным (unregistered) и коммутатором игнорируется. Работу коммутатора 802.1Q иллюстрирует рис. 1. При конфигурировании для каждой ВЛС каждый порт должен быть объявлен как немаркированный (U), маркированный (T) или не являющийся членом данной VLAN (-). Если используется запараллеливание портов (port trunking) или резервирование линий (LinkSafe), то с точки зрения ВЛС запараллеленные порты представляют единое целое.


Рис. 1. Прохождение кадров через коммутатор 802.1Q

На рис. 2 приведена структура сети с ВЛС, распространяющимися на несколько коммутаторов. Коммутаторы SW2 и SW3 поддерживают 802.1Q, SW1 поддерживает только ВЛС по портам, SW4 — коммутатор без поддержки ВЛС. Для того, чтобы в обе ВЛС V1 и V2 попали узлы, подключенные к коммутаторам SW1 и SW2, между этими коммутаторами приходится прокладывать отдельные линии и занимать по порту на каждую ВЛС. Порты 1 и 2 коммутатора SW2 конфигурируются как немаркированные (U), один для ВЛС V1 (PVID=1), другой для V2 (PVID=2). Порт 8 у SW2 и 1 у SW3 объявляются маркированным (T) для ВЛС V2 и V3. Порты SW2 и SW3, к которым подключаются компьютеры, объявляются немаркированными членами соответствующих ВЛС, у этих портов PVID принимает значения 1, 2 и 3 (в соответствии с номером ВЛС). Членам ВЛС V2 и V3 разрешаем доступ в Интернет через маршрутизатор, подключенный к порту 7 коммутатора SW3. Для этого порт 7 конфигурируется как немаркированный член V2 и V3, это обеспечит прохождение всех кадров от пользователей Интернет к маршрутизатору. Для того, чтобы ответные кадры могли дойти до пользоввателей, назначим порту 7 коммутатора SW3 PVID=9 — это будет дополнительная ВЛС для доступа к Интернет. Эта ВЛС должна быть "прописана" и во всех портах SW2 и SW3, к которым подключаются пользователи Интернет (порты SW2.8 и SW3.1 будут маркированными членами ВЛС 9, остальные — немаркированными). Под словом "прописана" подразумеваем указание на членство этих портов в VLAN 9, но никак не назначение им PVID=9 (специальное пояснение для участников дискуссии по первой редакции данной статьи).


Рис. 2. Сеть с распределенными ВЛС

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

Данная статья является адаптированным фрагментом из новой книги "Аппаратные средства локальных сетей. Энциклопедия", которую издательство "Питер" выпустило в мае этого года. В книге рассматриваются теоретические и практические вопросы построения сетей — от кабельных систем до коммуникационного оборудования. С содержанием книги можно ознакомиться на сайте www.neva.ru/mgook, где имеется информация по всем книгам Михаила Гука, а также электронная версия "Книги ответов" по сетям NetWare.

 




Дополнительно

Конфигурирование коммутаторов с поддержкой 802.1Q

Конфигурирование коммутаторов с поддержкой 802.1Q

Первая редакция статьи, опубликованная 17 мая 2000 г, вызвала неадекватную реакцию некоторых читателей, вылившуюся даже в дискуссию. Критически взглянув на текст статьи, мы решили внести в нее несколько строк. Они выделены цветом.

Современный подход к построению сетей имеет девиз "коммутаторы — по возможности, маршрутизаторы — по необходимости". При этом на коммутаторы возлагаются задачи не только уменьшения размеров доменов коллизий (сегментация), но и локализации широковещательного и группового трафика, а также ограничения распространения кадров с неизвестными адресами назначения. Интеллектуальные коммутаторы служат средством построения виртуальных локальных сетей (ВЛС). Виртуальная локальная сеть (VLAN — Virtual LAN) — это, по сути, домен широковещательных кадров. Основные цели введения виртуальных сетей в коммутируемую среду — повышение полезной пропускной способности за счет локализации широковещательного трафика, формирование виртуальных рабочих групп из некомпактно (в плане подключения) расположенных узлов, обеспечение безопасности, улучшение соотношения цены/производительности по сравнению с применением маршрутизаторов.

Когда виртуальные сети распространяются на несколько связанных между собой коммутаторов, возникает довольно сложная задача передачи информации о принадлежности передаваемых кадров к той или иной ВЛС. В ВЛС на основе номеров портов относительно простые коммутаторы должны быть соединены столькими линиями связи, сколько определено распределенных ВЛС. Это приводит к дополнительным расходам портов коммутаторов на межкоммутаторные связи, и виртуальные сети практически перестают отличаться от реальных. Сети без излишних линий связи с передачей информации о ВЛС строятся либо на основе фирменных решений (при этом объединяться могут лишь коммутаторы одной фирмы или даже одного семейства), либо на основе стандарта 802.1Q.

Задача идентификации принадлежности кадров Ethernet к конкретной виртуальной сети совместно с обеспечением приоритезации обслуживания кадров коммутаторами решается с помощью применения маркировки кадров. Недавно принятая пара связанных стандартов IEEE 802.1Q и 802.1p закладывает основу для взаимодействия оборудования различных производителей. Стандарт IEEE 802.1Q определяет структуру заголовка для маркированных кадров (tagged frames) Ethernet. Тег вставляется в обычный кадр Ethernet после адреса источника (SA). В тег входит 3-битное поле приоритета кадра Prt, 12-битное поле идентификатора ВЛС VID (VLAN ID) и бит-индикатор канонического формата заголовка CFI (Canonical Format Identifier). Поле VID позволяет определить принадлежность кадра к конкретной ВЛС (до 4096 штук) в пределах коммутируемой сети, поддерживающей маркированные кадры. Поле приоритета кадра позволяет различать 8 уровней приоритета. Маркировку кадра выполняет либо сетевой адаптер конечного узла, "понимающий" ВЛС по 802.1Q, либо интеллектуальный коммутатор, который первым принимает данный кадр (он вставляет идентификатор и приоритет по заданым правилам, например, по номеру порта). Маркированный кадр путешествует по коммутаторам сети, где его обслуживают (или не обслужиают) в соответствии с идентификатором ВЛС и полем приоритета. Маркировочное поле удаляется из кадра пограничным коммутатором (тем, к которому подключен традиционный узел назначения или его разделяемый сегмент), или же оно достигает сетевого адаптера узла назначения, поддерживающего маркированные кадры. Устройство, вставляющее тег в кадр или удаляющее тег, должно пересчитать контрольную последовательность кадра (поле FCS), по которой определяется его целостность. Поддержка маркированных кадров конечными узлами позволяет наиболее гибко формировать виртуальные сети (один узел может входить и в несколько виртуальных сетей) в коммутируемой среде.

Стандарт IEEE 802.1p определяет поведение коммутаторов при обработке маркированных кадров с использованием приоритезации. Коммутатор, поддерживающий приоритезацию, должен иметь для каждого порта несколько выходных очередей, в которые помещаются кадры в зависимости от их приоритета. Дисциплина обслуживания этих очередей определяется при конфигурировании коммутатора. Необходимость приоритезации трафика появляется с введением мультимедийных приложений, чувствительных к задержкам. Протокол IP позволяет управлять приоритетом обработки пакетов устройствами 3-го уровня (маршрутизаторами). Маркировка кадров распространяет управление приоритетом и на уровень коммутаторов технологии Ethernet, изначально не имевшей этих средств (в отличие от Token Ring и FDDI). Для того, чтобы обеспечивать гарантированное качество сервиса (регламентированную скорость и задержки), необходимо взаимодействие нескольких составляющих. Маркировка кадров обеспечивает систему сигнализации приоритета, 802.1p обеспечивает приоритезацию обработки. Необходимы еще средства распределения ресурсов сети, которые сообщают конечным узлам разрешенные параметры трафика. Кроме того, необходимы и "полицейские" средства, следящие за трафиком узлов и пресекающие попытки его генерации сверх согласованных лимитов.

Рассмотрим вариант построения виртуальных сетей на коммутаторах фирмы Nortel Networks типа BayStack-350/450, в которых имеется поддержка VLAN на основе стандарта IEEE 802.1Q. Заметим, что наличие поддержки этого стандарта имеется только в коммутаторах с относительно новой версией как аппаратной части, так и внутреннего ПО (firmware). Стандарт IEEE 802.1Q — Virtual Bridge Local Area Networks — определяет только формат используемых кадров Ethernet и минимальный набор требований к устройству, которые обязательны к реализации всеми производителями. Вместе с тем, очень большая область использования этой технологии отдается на откуп производителю оборудования. Именно поэтому все случаи использования VLAN, которые хоть немного отличаются от простейших VLAN на основе портов, сильнейшим образом зависят от конкретного используемого оборудования. Все примеры, приведенные в статье — живые. Именно на этом подходе построена сеть ЦНИИ Робототехники и технической кибернетики в СПб. Сеть прекрасно работает и с точки зрения VLAN выполняет все, что от нее требуется, и все, что декларировано Nortel Networks.

Коммутаторы для ВЛС требуют предварительного конфигурирования (поставляются они обычно в состоянии, в котором ведут себя как обычные коммутаторы). Для конфигурирования удобно использовать внеполосное (out of band) управление через консольный порт, поскольку при внутриполосном (in band) по неосторожности или неопытности можно попасть в "капкан" — в какой-то момент из-за ошибки конфигурирования консоль может потерять связь с коммутатором.

Портам коммутаторов, поддерживающих 802.1Q, и участвующим в формировании ВЛС, назначаются специфические атрибуты. Каждому порту назначается PVID (Port VLAN Identifier) — идентификатор ВЛС для всех приходящих на него немаркированных кадров, и приоритет порта (P_Prt). Коммутатор маркирует каждый приходящий к нему немаркированный кадр (вставляет номер VLAN и приоритет, пересчитывает FCS), а маркированные оставляет без изменений. В результате внутри коммутатора все кадры будут маркированными. Порты могут конфигурироваться как маркированные или немаркированные члены ВЛС. Немаркированный член ВЛС (untagged member) выходящие через него кадры выпускает без тега (удаляя его и снова пересчитывая FCS). Маркированный член ВЛС (tagged member) выпускает все кадры маркированными. Теги берутся либо исходные (когда в коммутатор кадр входил уже маркированным), либо устанавливаются в соответствии PVID и приоритетом порта, откуда этот кадр пришел в коммутатор. Для каждой ВЛС определяется список портов, являющихся ее членами. Порт может быть членом одной или более ВЛС. Маркированный кадр, пришедший на порт с "чужим" для него идентификатором ВЛС, называется незарегистрированным (unregistered) и коммутатором игнорируется. Работу коммутатора 802.1Q иллюстрирует рис. 1. При конфигурировании для каждой ВЛС каждый порт должен быть объявлен как немаркированный (U), маркированный (T) или не являющийся членом данной VLAN (-). Если используется запараллеливание портов (port trunking) или резервирование линий (LinkSafe), то с точки зрения ВЛС запараллеленные порты представляют единое целое.


Рис. 1. Прохождение кадров через коммутатор 802.1Q

На рис. 2 приведена структура сети с ВЛС, распространяющимися на несколько коммутаторов. Коммутаторы SW2 и SW3 поддерживают 802.1Q, SW1 поддерживает только ВЛС по портам, SW4 — коммутатор без поддержки ВЛС. Для того, чтобы в обе ВЛС V1 и V2 попали узлы, подключенные к коммутаторам SW1 и SW2, между этими коммутаторами приходится прокладывать отдельные линии и занимать по порту на каждую ВЛС. Порты 1 и 2 коммутатора SW2 конфигурируются как немаркированные (U), один для ВЛС V1 (PVID=1), другой для V2 (PVID=2). Порт 8 у SW2 и 1 у SW3 объявляются маркированным (T) для ВЛС V2 и V3. Порты SW2 и SW3, к которым подключаются компьютеры, объявляются немаркированными членами соответствующих ВЛС, у этих портов PVID принимает значения 1, 2 и 3 (в соответствии с номером ВЛС). Членам ВЛС V2 и V3 разрешаем доступ в Интернет через маршрутизатор, подключенный к порту 7 коммутатора SW3. Для этого порт 7 конфигурируется как немаркированный член V2 и V3, это обеспечит прохождение всех кадров от пользователей Интернет к маршрутизатору. Для того, чтобы ответные кадры могли дойти до пользоввателей, назначим порту 7 коммутатора SW3 PVID=9 — это будет дополнительная ВЛС для доступа к Интернет. Эта ВЛС должна быть "прописана" и во всех портах SW2 и SW3, к которым подключаются пользователи Интернет (порты SW2.8 и SW3.1 будут маркированными членами ВЛС 9, остальные — немаркированными). Под словом "прописана" подразумеваем указание на членство этих портов в VLAN 9, но никак не назначение им PVID=9 (специальное пояснение для участников дискуссии по первой редакции данной статьи).


Рис. 2. Сеть с распределенными ВЛС

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

Данная статья является адаптированным фрагментом из новой книги "Аппаратные средства локальных сетей. Энциклопедия", которую издательство "Питер" выпустило в мае этого года. В книге рассматриваются теоретические и практические вопросы построения сетей — от кабельных систем до коммуникационного оборудования. С содержанием книги можно ознакомиться на сайте www.neva.ru/mgook, где имеется информация по всем книгам Михаила Гука, а также электронная версия "Книги ответов" по сетям NetWare.