Объединение портов и создание высокоскоростных сетевых магистралей

Классификация Виртуальных Локальных Сетей

 

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

1. Членство в VLAN может назначаться исходя из номера порта, к которому подсоединена станция. Другие порты, с которыми эта станция должна общаться, также включены в эту VLAN.

2. Номер VLAN может быть назначен руководствуясь МАС адресами устройств. В этом случае необходимо где-то держать таблицы принадлежности определённых МАС адресов к определённым VLAN.

3. Аналогично предыдущему примеру, можно относить к VLAN различные устройства по их IP адресам, но опять-таки будет необходимо держать базу данных.

4. Одним из более редких, но существующих типов VLAN, являются сети, в которых зачисление в VLAN производится по типу трафика, который передаёт устройство.

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

Помимо классификации по признакам зачисления, VLAN делятся на динамические и статические.

Статические VLAN – это Виртуальные Локальные Сети, в которых зачисление в ту или иную VLAN жёстко привязано настройками коммутаторов и не может изменяться в зависимости от поведения сети. Пример статической VLAN на основе портов:

 

В этом случае, станции, которые будут подключены к портам одного цвета, смогут общаться между собой, но не смогут общаться со станциями, которые подключены к портам другого цвета. Если станция, которая подключена к одному VLAN будет переподключена в порт, который принадлежит другой VLAN, станция автоматически станет членом другой VLAN. Пример статической VLAN с МАС адресами:

 

В таком решении, VLAN будет работать только в пределах одного коммутатора и базу данных МАС адресов придётся прописывать вручную в настройках коммутатора.

Подытожим, статические VLAN имеют следующие преимущества:

1. Очень быстрое и простое конфигурирование, которое ограничивается записью таблицы МАС адресов или просто указанием вхождения нужных портов в конкретные VLAN.

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

3. Лёгкое конфигурирование и достаточно простые алгоритмы работы, в свою очередь, обеспечивают лёгкость мониторинга.

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

Динамические VLAN имеют способность перестраиваться при изменении топологии автоматически без переконфигурации устройств.

Для поддержания динамических VLAN обычно используются серверы баз данных, в которых находится информация о всех устройствах или пользователях в сети и при появлении пользователя согласно этим базам он автоматически попадает в VLAN, к которой он должен принадлежать. При использовании серверов очень сильно увеличивается свобода выбора характеристик зачисления в определённый VLAN, так как руководит процессом аутентификации и авторизации в определённом VLAN не коммутатор, а программное обеспечение сервера, которое может дополняться и изменяться. Таким образом, приметами отношения к определённой VLAN могут быть не только МАС, IP адреса или тип протокола, но и, например, имя пользователя, смарт-карты, токены, серийные номера компонентов компьютера или отпечатки пальцев пользователей. Для приёма в определённый VLAN может использоваться несколько характеристик, что усилит степень безопасности сети компании.

 

В коммутаторах могут использоваться три типа VLAN и широковещательных доменов:

1. VLAN на базе портов

2. Широковещательные домены на базе MAC-адресов.

3. VLAN на основе меток в дополнительном поле кадра – стандарт IEEE 802.1Q

а)VLAN на базе портов.

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

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

2. Простота настройки. Создание виртуальных сетей на основе группирования портов не требует от администратора большого объема ручной работы - достаточно каждому порту, находящемуся в одной VLAN, присвоить один и тот же идентификатор VLAN (VLAN ID) .

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

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

Недостатком такого решения является то, что один порт каждого VLAN’а необходимо подключать к маршрутизатору, при этом порты и кабели используются очень расточительно, плюс затраты на маршрутизатор. Решить данную проблему можно двумя способами: во-первых, использовать коммутаторы, которые на основе фирменного решения позволяют включать порт в несколько VLAN. Второе решение заключается в использовании коммутаторов 3-го уровня.

б) VLAN на базе MAC-адресов.

Второй способ, который используется для образования виртуальных сетей, основан на группировании МАС-адресов. При существовании в сети большого количества узлов этот способ требует выполнения большого количества ручных операций от администратора. Однако он оказывается более гибким при построении виртуальных сетей на основе нескольких коммутаторов, чем способ группирования портов. Группирование МАС-адресов в сеть на каждом коммутаторе избавляет от необходимости их связи несколькими портами, однако, требует выполнения большого количества ручных операций по маркировке МАС-адресов на каждом коммутаторе сети.

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

Настройка виртуальной сети на основе MAC-адресов может отнять много времени - представьте себе, что вам потребуется связать с VLAN адреса 1000 устройств. Кроме того, MAC-адреса "наглухо зашиты" в оборудование и может потребоваться много времени на выяснение адресов устройств в большой, территориально распределенной сети.

в) VLAN на базе меток – стандарт 802.1Q.

Можно сказать, что работа комитета 802.1q – это настоящий прорыв в технологиях коммутации, подавляющее число компаний с развитой сетевой структурой используют этот вариант VLAN. Эта технология является базисной и критичной для многих сетей, она основана на тегировании фреймов – дополнение фреймов служебной информацией для принятия решений о коммутации. Для дальнейшего разбора технологии необходимо ввести несколько новых понятий:

• Tagging – «тегирование» - процедура внедрения во фрейм информации о причастности к VLAN по стандарту 802.1q

• Untagging – «растегирование» - процедура удаления из фрейма информации о причастности к VLAN по стандарту 802.1q

• Ingress port – порт входа, порт на который приходят фреймы и, в последствии, проходят проверку на наличие тегов и причастности к VLAN, и решения о тегировании

• Egress port - порт выхода, порт из которого выходят фреймы прошедшие проверку на наличие тегов после принятия решения о тегировании или растегировании

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

Посмотрим что такое «тег» и где он находится. Сначала указана структура обычного «нетегированного» фрейма:

А теперь нарисована схема фрейма с тегом:

 

Тег располагается сразу после полей адресации канального уровня фрейма и имеет следующий вид:

 

Рассмотрим тег по каждому полю:

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

Canonical Format Identifier – поле, которое позволяет помечать фреймы, которые имеют структуру отличную от Ethernet, например Token Ring, для проведения их через сети Ethernet.

VLAN ID – поле, которое указывает на принадлежность фрейма к одному из возможных значений VLAN. Иходя из того, что поле имеет длину в 12 бит, можно подсчитать количество доступных значений для присвоения. 212 = 4096 – это и есть максимальное количество поддерживающихся технологией VLAN по стандарту dot1q.

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

Нюанс, который связан с добавлениями тегов: стандартами Ethernet оговорен максимальный приемлемый размер фрейма – 1516 байт вместе со служебной информацией, но при добавлении во фрейм тега добавляется дополнительные 2 байта. Сетевые карты, которые «не понимают» технологию VLAN, не знают и о строении фрейма с тегом, а значит, воспринимают тегированные фреймы, как неправильные и соответственно их отбрасывают. Сейчас, достаточно производителей сетевого оборудования выпускают сетевые карты для компьютеров, которые не поддерживают технологию VLAN. В случае, если необходимо работать с 802.1q можно приобрести специальные адаптеры, которые будут поддерживать эту технологию. (некоторые производители, например Intel, выпускают все сетевые адаптеры с поддержкой 802.1q)

Есть ещё два термина, с которыми надо ознакомиться, прежде чем описывать алгоритмы работы стандарта.

Port VLAN Identifier (PVID) – идентификатор, который присваивается каждому порту, именно это значение определяет, какой номер будет поставлен в поле тега перед коммутацией фрейма.

VLAN Identifier – идентификатор, который указан в фрейме и оговаривает его принадлежность к какому-то из VLAN

На одном порту коммутатора может быть только один PVID, хотя порт может принадлежать многим VLAN (Такие ситуации будут рассмотрены далее)

Если порт принадлежит только одной VLAN, то его PVID примет значение VID автоматически

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

Главное отличие :

PVID – хранится в настройках порта и влияет на присваиванье тегов

VID – хранится в тегах фреймов и указывает на причастность к VLAN

 

В настоящее время для повышения надежности и производительности каналов связи в распоряжении интеграторов и сетевых администраторов имеется целый набор функций. Наиболее распространенным является создание резервных связей между коммутаторами на основе двух технологий:

1. Режим резервирования, когда одно из них функционирует, а остальные находятся в "горячем" резерве для замены отказавшего соединения – это протокол Spanning Tree.

2. Режим баланса нагрузки; при этом данные передаются параллельно по всем альтернативным соединениям

Рассмотрим подробно каждый способ.

Транкинг портов (Port Trunking) - это объединение нескольких физических каналов (Link Aggregation) в одну логическую магистраль. Используется для объединения нескольких портов вместе для образования высокоскоростного канала передачи данных и позволяет активно задействовать избыточные альтернативные связи в локальных сетях.

В отличие от протокола STP (Spanning Tree – протокол покрывающего дерева), при агрегировании физических каналов все избыточные связи остаются в рабочем состоянии, а имеющийся трафик распределяется между ними для достижения баланса загрузки. При отказе одной из линий, входящих в такой логический канал, трафик распределяется между оставшимися линиями.

Включенные в транк порты называются членами группы. Один из портов в группе выступает в качестве “связывающего”. Поскольку все члены группы в транке должны быть настроены для работы в одинаковом режиме, все изменения настроек, произведенные по отношению к “связывающему” порту, относятся ко всем членам транковой группы. Таким образом, для настройки портов в группе необходимо только настроить “связывающий” порт.

Важным моментом при реализации объединения портов в транк является распределение трафика по каналам, входящим в транк. Если пакеты одного сеанса будут передаваться по разным портам транка, то может возникнуть проблема на более высоком уровне протокола OSI. Например, если два или более смежных кадра одного сеанса станут передаваться через разные порты транка, то из-за неодинаковой длины очередей в их буферах может возникнуть ситуация, когда из-за неравномерной задержки передачи кадра более поздний кадр обгонит своего предшественника. Поэтому такие протоколы как стек IPX или DECnet резко теряют полезную производительность, считая такие события потерей пакета и запрашивая его повторную передачу. Поэтому в большинстве реализаций механизмов агрегирования используются методы статического, а не динамического распределения кадров по портам, т.е. закрепление за определенным портом транка потока кадров определенного сеанса между двумя узлами. В этом случае все кадры будут проходить через одну и ту же очередь и последовательность их не изменится. Обычно при статическом распределении выбор порта для конкретного сеанса выполняется на основании некоторых признаков поступающих пакетов (на основе выбранного алгоритма агрегирования портов). Как правило, это МАС-адреса источника или назначения, либо оба вместе.

Транковое соединение можно организовать с любым другим коммутатором, поддерживающим потоки данных точка-точка по одному транковому порту.

Объединение каналов следует рассматривать как вариант настройки сети, используемый преимущественно для соединений «коммутатор-коммутатор» или «коммутатор – файл-сервер», требующих более высоких скорости передачи, чем может обеспечить одиночная линия связи. Также эту функцию можно применять для повышения надежности важных линий. В случае повреждения линии связи объединенный канал быстро перенастраивается (не более, чем за 1 с), а риск дублирования и изменения порядка кадров незначителен.