Создание VLAN позволяет повысить производительность каждой из них и изолировать сети друг от друга.
Kроме своего основного назначения — повышения пропускной способности соединений в сети — коммутатор позволяет локализовать потоки информации, а также контролировать эти потоки и управлять ими с помощью механизма пользовательских фильтров. Однако пользовательский фильтр способен воспрепятствовать передаче кадров лишь по конкретным адресам, тогда как широковещательный трафик он передает всем сегментам сети. Таков принцип действия реализованного в коммутаторе алгоритма работы моста, поэтому сети, созданные на основе мостов и коммутаторов, иногда называют плоскими — из-за отсутствия барьеров на пути широковещательного трафика.
Появившаяся несколько лет тому назад, технология виртуальных локальных сетей (Virtual LAN, VLAN) позволяет преодолеть указанное ограничение. Виртуальной сетью называется группа узлов сети, трафик которой, в том числе и широковещательный, на канальном уровне полностью изолирован от других узлов (см. Рисунок 1). Это означает, что непосредственная передача кадров между разными виртуальными сетями невозможна, независимо от типа адреса — уникального, группового или широковещательного. В то же время внутри виртуальной сети кадры передаются в соответствии с технологией коммутации, т. е. только на тот порт, к которому приписан адрес назначения кадра.
Рисунок 1. Виртуальные сети. |
Виртуальные сети могут пересекаться, если один или несколько компьютеров включено в состав более чем одной виртуальной сети. На Рисунке 1 сервер электронной почты входит в состав виртуальных сетей 3 и 4, и поэтому его кадры передаются коммутаторами всем компьютерам, входящим в эти сети. Если же какой-то компьютер отнесен только к виртуальной сети 3, то его кадры до сети 4 доходить не будут, но он может взаимодействовать с компьютерами сети 4 через общий почтовый сервер. Данная схема не полностью изолирует виртуальные сети друг от друга — так, инициированный сервером электронной почты широковещательный шторм захлестнет и сеть 3, и сеть 4.
Говорят, что виртуальная сеть образует широковещательный домен трафика (broadcast domain), по аналогии с доменом коллизий, который образуется повторителями сетей Ethernet.
НАЗНАЧЕНИЕ VLAN
Технология VLAN облегчает процесс создания изолированных сетей, связь между которыми осуществляется с помощью маршрутизаторов с поддержкой протокола сетевого уровня, например IP. Такое решение создает гораздо более мощные барьеры на пути ошибочного трафика из одной сети в другую. Сегодня считается, что любая крупная сеть должна включать маршрутизаторы, иначе потоки ошибочных кадров, в частности широковещательных, через прозрачные для них коммутаторы будут периодически «затапливать» ее целиком, приводя в неработоспособное состояние.
Технология виртуальных сетей предоставляет гибкую основу для построения крупной сети, соединенной маршрутизаторами, так как коммутаторы позволяют создавать полностью изолированные сегменты программным путем, не прибегая к физической коммутации.
До появления технологии VLAN для развертывания отдельной сети использовались либо физически изолированные отрезки коаксиального кабеля, либо не связанные между собой сегменты на базе повторителей и мостов. Затем сети объединялись посредством маршрутизаторов в единую составную сеть (см. Рисунок 2).
Рисунок 2. Объединенная сеть состоит из сетей на базе повторителей. |
Изменение состава сегментов (переход пользователя в другую сеть, дробление крупных участков) при таком подходе подразумевало физическую перекоммутацию разъемов на передних панелях повторителей или в кроссовых панелях, что не очень удобно в крупных сетях — это очень трудоемкая работа, а вероятность ошибки весьма высока. Поэтому для устранения необходимости физической перекоммутации узлов стали применять многосегментные концентраторы, дабы состав разделяемого сегмента можно было перепрограммировать без физической перекоммутации.
Однако изменение состава сегментов с помощью концентраторов накладывает большие ограничения на структуру сети — количество сегментов такого повторителя обычно невелико, и выделить каждому узлу собственный, как это можно сделать с помощью коммутатора, нереально. Кроме того, при подобном подходе вся работа по передаче данных между сегментами ложится на маршрутизаторы, а коммутаторы со своей высокой производительностью остаются «не у дел». Таким образом сети на базе повторителей с конфигурационной коммутацией по-прежнему предполагают совместное использование среды передачи данных большим количеством узлов и, следовательно, обладают гораздо меньшей производительностью по сравнению с сетями на базе коммутаторов.
При использовании в коммутаторах технологии виртуальных сетей одновременно решаются две задачи:
- повышение производительности в каждой из виртуальных сетей, так как коммутатор передает кадры только узлу назначения;
- изоляция сетей друг от друга для управления правами доступа пользователей и создания защитных барьеров на пути широковещательных штормов.
Объединение виртуальных сетей в общую сеть выполняется на сетевом уровне, переход на который возможен с помощью отдельного маршрутизатора или программного обеспечения коммутатора. Последний в этом случае становится комбинированным устройством — так называемым коммутатором третьего уровня.
Технология формирования и функционирования виртуальных сетей с помощью коммутаторов долгое время не стандартизировалась, хотя и была реализована в очень широком спектре моделей коммутаторов разных производителей. Ситуация изменилась после принятия в 1998 г. стандарта IEEE 802.1Q, где определяются базовые правила построения виртуальных локальных сетей независимо от того, какой протокол канального уровня поддерживается коммутатором.
Ввиду долгого отсутствия стандарта на VLAN каждая крупная компания, выпускающая коммутаторы, разработала свою технологию виртуальных сетей, причем, как правило, несовместимую с технологиями других производителей. Поэтому, несмотря на появление стандарта, не так уж редко встречается ситуация, когда виртуальные сети, созданные на базе коммутаторов одного вендора, не распознаются и, соответственно, не поддерживаются коммутаторами другого.
СОЗДАНИЕ VLAN НА ОСНОВЕ ОДНОГО КОММУТАТОРА
При создании виртуальных сетей на основе одного коммутатора обычно используется механизм группирования в сети портов коммутатора (см. Рисунок 3). При этом каждый из них приписывается той или иной виртуальной сети. Кадр, поступивший от порта, принадлежащего, например, виртуальной сети 1, никогда не будет передан порту, который не входит в ее состав. Порт можно приписать нескольким виртуальным сетям, хотя на практике так поступают редко — пропадает эффект полной изоляции сетей.
Рисунок 3. Виртуальные сети на базе одного коммутатора. |
Группирование портов одного коммутатора — наиболее логичный способ образования VLAN, так как в данном случае виртуальных сетей не может быть больше, чем портов. Если к какому-то порту подключен повторитель, то узлы соответствующего сегмента не имеет смысла включать в разные виртуальные сети — все равно их трафик будет общим.
Такой подход не требует от администратора большого объема ручной работы — достаточно каждый порт приписать к одной из нескольких заранее поименованных виртуальных сетей. Обычно эта операция выполняется с помощью специальной программы, прилагаемой к коммутатору. Администратор создает виртуальные сети путем перетаскивания мышью графических символов портов на графические символы сетей.
Другой способ образования виртуальных сетей основан на группировании MAC-адресов. Каждый известный коммутатору MAC-адрес приписывается той или иной виртуальной сети. Если в сети имеется множество узлов, администратору придется выполнять немало операций вручную. Однако при построении виртуальных сетей на основе нескольких коммутаторов подобный способ более гибок, нежели группирование портов.
СОЗДАНИЕ VLAN НА ОСНОВЕ НЕСКОЛЬКИХ КОММУТАТОРОВ
На Рисунке 4 проиллюстрирована ситуация, возникающая при создании виртуальных сетей на основе нескольких коммутаторов посредством группирования портов. Если узлы какой-либо виртуальной сети подключены к разным коммутаторам, то для соединения коммутаторов каждой такой сети должна быть выделена отдельная пара портов. В противном случае информация о принадлежности кадра той или иной виртуальной сети при передаче из коммутатора в коммутатор будет утеряна. Таким образом, при методе группирования портов для соединения коммутаторов требуется столько портов, сколько виртуальных сетей они поддерживают, — в результате порты и кабели используются очень расточительно. Кроме того, для организации взаимодействия виртуальных сетей через маршрутизатор каждой сети необходим отдельный кабель и отдельный порт маршрутизатора, что также ведет к большим накладным расходам.
Рисунок 4. Построение виртуальных сетей на базе нескольких коммутаторов с группированием портов. |
Группирование MAC-адресов в виртуальную сеть на каждом коммутаторе избавляет от необходимости их соединения через несколько портов, поскольку в этом случае меткой виртуальной сети является MAC-адрес. Однако такой способ требует выполнения большого количества ручных операций по маркировке MAC-адресов вручную на каждом коммутаторе сети.
Два описанные подхода основаны только на добавлении информации к адресным таблицам моста и не предусматривают включение в передаваемый кадр информации о принадлежности кадра к виртуальной сети. Остальные подходы используют имеющиеся или дополнительные поля кадра для записи информации о принадлежности кадра при его перемещениях между коммутаторами сети. Кроме того, нет необходимости запоминать на каждом коммутаторе, каким виртуальным сетям принадлежат MAC-адреса объединенной сети.
Дополнительное поле с пометкой о номере виртуальной сети используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно обычно удаляется. При этом протокол взаимодействия «коммутатор-коммутатор» модифицируется, тогда как программное и аппаратное обеспечение конечных узлов остается неизменным. Примеров подобных фирменных протоколов много, но общий недостаток у них один — они не поддерживаются другими производителями. Компания Cisco предложила в качестве стандартной добавки к кадрам любых протоколов локальных сетей заголовок протокола 802.10, назначение которого — поддержка функций безопасности вычислительных сетей. Сама компания обращается к такому методу в тех случаях, когда коммутаторы объединяются между собой по протоколу FDDI. Однако эта инициатива не была поддержана другими ведущими производителями коммутаторов.
Для хранения номера виртуальной сети в стандарте IEEE 802.1Q предусмотрен дополнительный заголовок в два байта, который используется совместно с протоколом 802.1p. Помимо трех бит для хранения значения приоритета кадра, как это описывается стандартом 802.1p, в этом заголовке 12 бит служат для хранения номера виртуальной сети, которой принадлежит кадр. Эта дополнительная информация называется тегом виртуальной сети (VLAN TAG) и позволяет коммутаторам разных производителей создавать до 4096 общих виртуальных сетей. Такой кадр называют «отмеченный» (tagged). Длина отмеченного кадра Ethernet увеличивается на 4 байт, так как помимо двух байтов собственно тега добавляются еще два байта. Структура отмеченного кадра Ethernet показана на Рисунке 5. При добавлении заголовка 802.1p/Q поле данных уменьшается на два байта.
Рисунок 5. Структура отмеченного кадра Ethernet. |
Появление стандарта 802.1Q позволило преодолеть различия в фирменных реализациях VLAN и добиться совместимости при построении виртуальных локальных сетей. Технику VLAN поддерживают производители как коммутаторов, так и сетевых адаптеров. В последнем случае сетевой адаптер может генерировать и принимать отмеченные кадры Ethernet, содержащие поле VLAN TAG. Если сетевой адаптер генерирует отмеченные кадры, то тем самым он определяет их принадлежность к той или иной виртуальной локальной сети, поэтому коммутатор должен обрабатывать их соответствующим образом, т. е. передавать или не передавать на выходной порт в зависимости от принадлежности порта. Драйвер сетевого адаптера получает номер своей (или своих) виртуальной локальной сети от администратора сети (путем конфигурирования вручную) либо от некоторого приложения, работающего на данном узле. Такое приложение способно функционировать централизованно на одном из серверов сети и управлять структурой всей сети.
При поддержке VLAN сетевыми адаптерами можно обойтись без статического конфигурирования путем приписывания порта определенной виртуальной сети. Тем не менее метод статического конфигурирования VLAN остается популярным, так как позволяет создать структурированную сеть без привлечения программного обеспечения конечных узлов.
Наталья Олифер — обозреватель «Журнала сетевых решений/LAN». С ней можно связаться по адресу: olifer@hotbox.ru.