Часть 2. Глава 6 | «« Назад |  Оглавление |  Вперед »»

"Локальные" виртуальные соединения.

Рассмотрим подробнее "локальный" метод. По сути, он сводится к организации виртуальных сетей (иначе говоря, Virtual LAN, VLAN) "поверх" общего Ethernet'а при помощи специального активного оборудования ЛВС (коммутаторов).

Существует несколько способов построения виртуальных сетей. Ниже приведены три наиболее распространенных:

  • Группировка портов. Трафик каждого порта можно отнести к той, или иной виртуальной сети. Так же можно назначить на один порт несколько виртуальных сетей. При этом информация о таком VLAN содержится только непосредственно на коммутаторе, и по сети не передается.
  • Группировка МАС-адресов. В этом случае кадр относится к какой-либо Vlan на основании МАС-адреса (по специальной таблице, заполняемой администратором сети). Этот подход считается излишне трудоемким, устаревшим, и рассматривать его подробно не имеет особого смысла.
  • Использование дополнительных меток (тегов) в поле данных кадра Ethernet. Способ принят в качестве стандарта ieee 802.1q. При этом к кадру Ethernet добавляются два байта, которые содержат информацию по его принадлежности к Vlan, и о его приоритете (тремя битами кодируется до восьми уровней приоритета, 12 бит позволяют различать до 4096 Vlan, а один бит зарезервирован для обозначения кадров сетей других типов).

При одинаковом названии и области применения способы создания виртуальных сетей отличаются друг от друга кардинально, и требует рассмотрения в отдельных параграфах.

Организация VLAN с помощью тэгов.

Наиболее очевидным (но далеко не самым простым технически) способом разделения сетей будет присваивать каждому кадру Ethernet специальной метки (тэги), в соответствии с которым свитчи будут коммутировать их путь по сети. Для этого было придумано не мало корпоративных решений (ISL Cisco, VLT 3com), но в конце концов появился единый стандарт IEEE 802.1q, который в настоящее время можно считать общепринятым.

Тегированные кадры позволяют построить виртуальную сеть для каждого пользователя (или их группы). Связь между различными виртуальными сетями должна осуществляться на сервере (или коммутаторе 3-го уровня) посредством IP маршрутизации на 3-ем (сетевом) уровне модели OSI,

При этом создается полное ощущение, что каждый пользователь имеет свой свою выделенную линию (с негарантированной скоростью) до центрального узла, и подключен к отдельному сетевому адаптеру маршрутизатора.

Технически подобная схема выглядит следующим образом:

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

Можно выделить три типа порта. Входной, на котором тэги устанавливаются, выходной, на котором они убираются, и транковый, через который они передаются между активными устройствами (в одном физическом канале несколько виртуальных сетей). Таким образом может быть построена защищенная сеть очень больших размеров.

Нужно специально отметить, что имеется в виду именно транк (объединение) на уровне протокола. Дело в том, что такой термин может означать нечто совсем иное - а именно объединение портов в группу, для увеличения скорости передачи данных между двумя коммутаторами (или коммутатором и многопортовой сетевой картой). Такая линия с точки зрения пользователя выглядит как один более скоростной порт. Получается передача со скоростью 200, 300, 400... до 800 Мбит, соответственно, при объединении 2,3,4...8 портов.

Самое неудобное, что оба термина могут присутствовать одновременно не только в технической документации. На сгруппированных в транк портах может быть сконфигурирован транк нескольких VLAN. Поэтому нужно очень аккуратно использовать этот термин.

Виртуальные сети на основе тэгов

Рис. 6.1. Виртуальные сети на основе тэгов

Что нужно для работы по такой привлекательной схеме? Всего-то поддержку устройствами стандарта IEEE 802.1q, или собственного корпоративного аналога. При этом двух байт, добавленных в кадр Ethernet, вполне хватает для распознавания "своих" данных (и не только для этого).

Следует отметить, что VLAN может быть настроен как вручную, так и фирменными средствами производителя оборудования. Например, Cisco использует протокол VTP, который служит для распространения информацией о виртуальных сетях. Он позволяет вести их базу централизовано, и распространять ее по технологии клиент-сервер (несколько похоже на механизм DHCP).

Подобная система образования виртуальных сетей достаточно удобна. Но ее широкому распространению в области недорогих сетей мешает не только достаточно высокая стоимость подобного оборудования (на сегодня не менее $600 за устройство). Построение (и эксплуатация) подобных сетей требует высокой квалификации как инсталляторов решения, так и обслуживающего персонала.

Системному администратору необходимо хорошо понимать не только работу программного обеспечения, но логику использования Vlan. Наиболее простой пример - входной порт не может принадлежать сразу нескольким виртуальным сетям, так как коммутатор не в состоянии определить, какой тег присвоить пришедшему кадру (однако, это может быть реализовано на устройствах высшего уровня).

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

VLAN'ы, использующие группировку портов.

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

Таким компромиссом (вполне удачным для офисного применения) стали свитчи, которые позволяют манипулировать с виртуальными сетями на уровне портов. Соответственно, технологию 802.1q они не поддерживают, и работать по описанной выше "идеальной" схеме не могут. Соседние устройства о создании подобных vlan информации не имеют.

Пока вся сеть состоит только из одного такого устройства, механизм прекрасно работает. Имеет смысл даже представить большой коммутатор в виде нескольких более маленьких. А если нужно маршрутизировать разные сети через сервер - в него можно установить несколько реальных (физических) сетевых карт, соединить их реальными кабелями с реальными портами, прописать нужные Vlan. Только таким способом можно получить полностью изолированные "виртуальные" сети.

Vlan, использующий группировку портов устройства

Рис. 6.2. Vlan, использующий группировку портов устройства.

Такое "экстравагантное" решение имеет вполне осмысленное экономическое обоснование - мощное управляемое устройство намного удобнее, и обычно дешевле, чем несколько более слабых. Да и пользователей в группы можно помещать удаленно, не производя физических переключений. Так что для небольшой офисной ЛВС такой инструмент может оказаться даже более удобным, чем Vlan на основе протоколов (типа 802.1q). Просто, надежно, достаточно безопасно и не дорого.

Однако для сети передачи данных (или даже крупной ЛВС), обеспечить работу пользователей в отдельных виртуальных сетях не удастся полностью. Но разумный компромисс возможен, особенно для сетей, имеющих явно выраженную "древовидную" структуру доступа к данным.

Реальное применение - сплошь и рядом. Представим, что к единственному коммутатору подключен шлюз в интернет. АДСЛ, оптоволоконный конвертер, просто магистральный маршрутизатор сети провайдера. Или, нескольким рабочим группам нужно работать с базой данных, расположенной на центральном сервере.

В этом случае можно поступиться защитой, надежностью, и сделать один порт общим для всех vlan. Для него даже придумано специальное название - серверный.

Подключение пользователей через серверный порт

Рис. 6.3. Подключение пользователей через серверный порт.

Логика работы (но не алгоритм) при этом относительно запутанная, и часто зависит от производителя. В большинстве случаев все исходящие кадры (2-го сетевого уровня по модели OSI) пересылаются на единственный серверный порт, и оттуда уходят в сеть передачи данных.

Но надо заметить, что есть варианты устройств, которые пересылают кадры с неизвестным адресом назначения (destination address, DA) на все порты. В случае, если устройство с таким адресом подключено к одному из портов, оно ответит на кадр. Но ответ в этом случае не будет передан "напрямую" через коммутатор, так как он пойдет с адресом назначения, уже известном таблице соответствия коммутатора.

В обратном направлении кадры от пограничного маршрутизатора (или сервера) поступают на серверный порт, который распоряжается ими как обычный неуправляемый коммутатор. Широковещательные отправляет на все порты, кадры с известным адресом назначения (DA) - только адресату.

Очевидно, что полной защиты пользователей друг от друга такая сеть не имеет. Тем не менее, с некоторыми допущениями можно сказать, что с помощью VLAN на основе группировки портов можно построить сеть, в которой абоненты не смогут обмениваться трафиком иначе, чем через сервер (шлюз).

При этом важным становится правильный дизайн сети. Если она сделана как "дерево" из коммутаторов, поддерживающих VLAN на основе группировки портов, то разделение на виртуальные сети хоть и с оговорками, но будет работать. Но если "серверные" порты коммутаторов будут связаны через обычный неуправляемый коммутатор, или хаб - система рушится. То же самое произойдет при неправильной настройке сервера (шлюза).

Пользователи начинают работать друг с другом напрямую, как это бывает, если они находятся в одной сети Ethernet, и о виртуальных сетях не может быть и речи.

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

Часто простота идет в ущерб надежности - как классический пример можно привести образование VLAN с помощью ограничения ARP-запросов (некоторые модели Surecom, Compex). Понятно, что в этом случае пользователь может "прописать" ARP-таблицу вручную, и работать не обращая внимания на VLAN.

Часть 2. Глава 6 | «« Назад |  Оглавление |  Вперед »»