Компания ТЕЛЕПОРТ
О компании Клиенты Статьи Новости
ТЕЛЕПОРТ | Системная интеграция | Псков
ПРОДУКЦИЯ КОМПАНИИ
БРЕНДЫ
РЕШЕНИЯ
УСЛУГИ
ЛИЦЕНЗИИ И СЕРТИФИКАТЫ
ЗАКОНОДАТЕЛЬСТВО
ВОПРОСЫ ТЕОРИИ
ПУБЛИКАЦИИ
СТАТЬИ

Поиск



Главная страница  > ВОПРОСЫ ТЕОРИИ  > Базовые технологии локальных сетей > Базовые технологии локальных сетей (Стр.7)

Базовые технологии локальных сетей (Стр.7)

Стр.1  Стр.2  Стр.3  Стр.4  Стр.5  Стр.6  Стр.7  

9.3. Функции уровня MAC

Функции уровня МАС включают реализацию протокола доступа Demand Priority, подготовки линии связи и формирования кадра соответствующего формата.

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

Высокоприоритетные запросы всегда обслуживаются раньше низкоприоритетных. Требуемый уровень приоритета кадра устанавливается протоколами верхних уровней, не входящими в технологию 100VG-AnyLAN, например, Real Audio, и передается для отработки уровню МАС.

Как показано на рисунке 60, концентратор уровня 1 постоянно сканирует запросы узлов, используя алгоритм кругового опроса (round-robin). Это сканирование позволяет концентратору определить, какие узлы требуют передачи кадров через сеть и каковы их приоритеты.

Рис. 60. Функции уровней PMI и PMD

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

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

На рисунке 60 показан пример цикла кругового опроса. Сначала предположим, что все порты передали запросы нормального приоритета и что в начальный момент времени корневой концентратор начал круговой опрос. Порядок обслуживания портов будет следующим: 1-1 (уровень 1 - порт 1), 2 -1, 2-3, 2-N, 1-3, 1-N.

Теперь предположим, что узлы 1-1, 2-3 и 1-3 выставили высокоприоритетные запросы. В этом случае порядок обслуживания будет таким: 1-1, 2-3, 1-3, 2-1, 2-N, 1-N.

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

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

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

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

Уровень МАС получает кадр от уровня LLC и добавляет к нему адрес узла-источника, дополняет поле данных байтами-заполнителями до минимально допустимого размера, если это требуется, а затем вычисляет контрольную сумму и помещает ее в соответствующее поле. После этого кадр передается на физический уровень.

9.4. Функции уровня PMI

Функции, не зависящие от физической среды, представленные на рисунке 60, включают квартетную канальную шифрацию, кодирование 5B/6B, добавление к кадру преамбулы, начального и конечного ограничителей и передачу кадра на уровень PMD.

Рис. 60. Функции уровней PMI и PMD

Процесс квартетного распределения по каналам состоит в последовательном делении байтов МАС-кадра на порции данных по 5 бит (квинтеты), а также в последовательном распределении этих порций между четырьмя каналами, как это показано на рисунке 61.

Рис. 61. Распределение квинтетов по 4-м каналам

Каждый из 4-х каналов представляет собой одну витую пару: канал 0 - пару, образованную контактами 1 и 2, канал 1 - пару 3 - 6, канал 2 - пару 4 - 5, канал 3 - пару 7 - 8. Двухпарные спецификации физического уровня PMD используют затем схему мультиплексирования, преобразующую 4 канала в 2 или 1.

Шифрация данных состоит в случайном "перемешивании" квинтетов данных с целью исключения комбинаций из повторяющихся единиц или нулей. Перемешивание производится с помощью специальных устройств - скремблеров. Случайные наборы цифр уменьшают излучение радиоволн и взаимные наводки в кабеле.

Кодирование по схеме 5B/6B - это процесс отображения "перемешанных" квинтетов в заранее определенные 6-битовые коды. Этот процесс создает сбалансированные коды, содержащие равное количество единиц и нулей, что обеспечивает гарантированную синхронизацию приемника при изменениях входного сигнала.

Кодирование 5B/6B обеспечивает также контроль за ошибками при передаче, так как некорректные квинтеты, содержащие больше трех единиц или больше трех нулей, легко обнаружить.

На рисунке 62 приведен пример квинтетов данных, зашифрованных и преобразованных в символы 5B/6B. Поскольку существует только 16 сбалансированных символов, 32 комбинации, содержащиеся в квинтете, используют для своего представления два 6-ти битных символа, используемых по очереди для соблюдения баланса постоянного тока.

Рис. 62. Пример шифрации и кодирования квинтетов

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

9.5. Функции уровня PMD

Функции зависимого от физической среды уровня PMD включают: мультиплексирование каналов (только для 2-х витых пар или оптоволокна), копирование NRZ, операции передачи сигналов по среде и контроль статуса физической связи.

Технология 100VG-AnyLAN поддерживает следующие типы физической среды:

  • 4-парную неэкранированную витую пару;
  • 2-парную неэкранированную витую пару;
  • 2-парную экранированную витую пару;
  • одномодовый или многомодовый оптоволоконный кабель.

Далее будут рассмотрены детали спецификации PMD для 4-парной неэкранированной витой пары.

Рисунок 63 иллюстрирует применения NRZ кодирования, использующего для представления единиц потенциал высокого уровня, а для представления нулей - потенциал низкого уровня.

Рис. 63. NRZ кодирование

Спецификация 4UTP, использующая 4-парную неэкранированную витую пару, использует тактовый генератор с частотой 30 МГц для передачи данных со скоростью 30 Мб/с по каждому из четырех каналов, что в сумме дает 120 Мб/c кодированных данных. Приемник получает кодированные данные со скоростью 30 Мб/с по каждому каналу и преобразует их в поток исходных данных со скоростью 25 Мб/с, что в результате дает пропускную способность в 100 Мб/с.

Использованный метод представления данных в кабеле позволяет технологии 100VG-AnyLAN работать на голосовом кабеле (Voice-Grade) категории 3. Максимальная частота результирующего сигнала на кабеле не превышает 15 МГц, так как метод NRZ очень эффективен в отношении спектра сигналов. При тактовой частоте в 30 МГц частота 15 МГц генерируется только при передаче кодов 10101010, что является для спектра результирующего сигнала наихудшим случаем. При передаче других кодов частота сигнала будет ниже 15 МГц.

Операции передачи данных на 4-парном кабеле используют как полнодуплексный, так и полудуплексный режимы (рис. 64).

Рис. 64. Полнодуплексные и полудуплексные операции

Полнодуплексные операции используются для одновременной передачи в двух направлениях - от узла к концентратору и от концентратора к узлу - сигнальной информации о состоянии линии. Сигнальная информация от концентратора идет по парам 1-2 и 3-6, а сигнальная информация от узла идет по парам 4-5 и 7-8.

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

Сигнализация о статусе связи, осуществляемая в полнодуплексном режиме, использует два низкочастотных сигнала, обозначаемые как тон 1 (Tone 1) и тон 2 (Tone 2).

Тон 1 генерируется путем передачи с частотой 30 МГц по очереди кодов, состоящих из 16 единиц, и кодов, состоящих из 16 нулей. Результирующий сигнал имеет частоту примерно 0.9375 МГц.

Тон 2 генерируется путем передачи с частотой 30 МГц по очереди кодов, состоящих из 8 единиц, и кодов, состоящих из 8 нулей. Результирующий сигнал имеет частоту примерно 1.875 МГц.

Взаимодействие между концентратором и узлом происходит путем параллельной передачи по двум парам комбинации из указанных двух тонов.

В следующей таблице приведены значения возможных 4-х комбинаций тонов.

Комбинация тонов Значение при приеме узлом Значение при приеме концентратором
1 - 1 Простой (Idle) Простой (Idle)
1 - 2 Поступление кадра Запрос на передачу кадра с нормальным приоритетом
2 -1 Зарезервировано Запрос на передачу кадра с высоким приоритетом
2 - 2 Запрос на инициализацию процедуры подготовки линии Запрос на инициализацию процедуры подготовки линии

Состояние простоя означает, что концентратор или узел не имеют кадров, ожидающих передачи.

Состояние "поступление кадра" означает, что на данный порт может быть передан кадр. Узел должен прекратить передачу сигнальных тонов по каналам 2 и 3 для того, чтобы быть готовым принять кадр.

Тестирование кабелей для установки их в сетях 100VG-AnyLAN

Спецификация 4-UTP 100VG-AnyLAN использует для тестирования кабеля те же параметры, что и технологии 10Base-T и Token Ring. Кроме того, кабель должен удовлетворять дополнительным требованиям - тестовую проверку должны пройти все 4 пары на частотах до 15 МГц.

В следующей таблице приведены параметры, по которым должен проверяться кабель для работы по спецификации 4-UTP, 100VG-AnyLAN.

Частота 5 МГц 10 МГц 15 МГц
Максимальное затухание 11.5 dB 11.5 dB 13.5 dB
Импеданс от 85 до 115 Ом от 85 до 115 Ом от 85 до 115 Ом
Перекрестные наводки "пара-пара" 30.5 dB 26.0 dB 22.5 dB
Перекрестные наводки на ближнем конце пары (NEXT) 27.5 dB 23.0 dB 19.5 dB

9.6. Пример работы сети 100VG-AnyLAN при передаче кадров данных

Рассмотрим последовательность событий в сети 100VG-AnyLAN при передаче кадра данных от одной станции другой через концентратор.

Будем считать, что узел посылает в сеть один кадр данных с нормальным приоритетом. На рисунке 65 приведены 6 этапов этого процесса.

Рис. 65. Этапы передачи кадра данных через сеть 100VG-AnyLAN

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

На этапе 1 узел PC1 посылает в концентратор запрос нормального приоритета: тон 1 по каналу 2 и тон 2 по каналу 3.

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

Затем концентратор предупреждает всех потенциальных получателей - узлы PC2 - PCn сети - о том, что им может быть направлен кадр данных. Для этого он посылает им сообщение "Поступление кадра" в форме тона 1 на канале 0 и тона 2 на канале 2 (этап 2).

Узлы - потенциальные получатели кадра прекращают посылку сигнальных тонов по каналам 2 и 3, очищая линию связи для передачи по всем четырем каналам кадра данных.

Тем временем, узел-источник кадра обнаруживает, что линия свободна и передает кадр с уровня МАС на уровень PMI для подготовки его к передаче по кабелю.

Уровень PMI распределяет данные между четырьмя каналами, шифрует квинтеты данных и кодирует квинтеты в 60-битный код 5В/6B. Добавляются преамбула, стартовый и конечный ограничители по каждому каналу.

Уровень PMD начинает передавать кадр концентратору, используя NRZ кодирование (этап 3).

По мере поступления данных кадра концентратор декодирует адрес назначения (этап 4).

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

10. Протокол покрывающего дерева Spanning Tree

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

10.1. Основные определения

В сети определяется корневой мост (root bridge), от которого строится дерево.

Для каждого моста определяется корневой порт (root port) - это порт, который имеет кратчайшее из всех портов данного моста расстояние до корневого моста (точнее, до любого из портов корневого моста).

Расстояние до корня (root path cost) определяется как суммарное условное время на передачу данных от порта данного моста до порта корневого моста. Условное время сегмента (designated cost) рассчитывается как время, затрачиваемое на передачу одного бита информации в 10-наносекундных единицах между непосредственно связанными по сегменту сети портами. Так, для сегмента Ethernet это время равно 10 условным единицам, а для сегмента Token Ring 16 Мб/с - 6.25. (Алгоритм STA не связан с каким-либо определенным стандартом канального уровня, он может применяться к мостам, соединяющим сети различных технологий.)

Для каждого логического сегмента сети выбирается так называемый назначенный мост (designated bridge), один из портов которого будет принимать пакеты от сегмента и передавать их в направлении корневого моста через корневой порт данного моста, а также принимать пакеты для данного сегмента, пришедшие на корневой порт со стороны корневого моста. Такой порт называется назначенным портом (designated port). Назначенный порт сегмента имеет наименьшее расстояние до корневого моста, среди всех портов, подключенных к данному сегменту. Назначенный порт у сегмента может быть только один. У корневого моста все порты являются назначенными, а их расстояние до корня полагается равным нулю. Корневого порта у корневого моста нет.

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

Для того, чтобы мосты могли идентифицировать себя и своих ближних и дальних соседей по сети, каждой мост, поддерживающий STA, имеет уникальный идентификатор. Этот идентификатор состоит из двух частей. Младшую часть составляет MAC-адрес моста (не отдельного порта моста, а всего моста в целом, порты мостов MAC-адресов не имеют), имеющий длину 6 байтов. Старшая часть, имеющая длину 2 байта, является приоритетом данного моста, и его может изменять администратор сети по своему усмотрению (напомним, что MAC-адрес устанавливается производителем для обеспечения его всемирной уникальности).

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

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

10.2. Инициализация топологии

Для автоматического определения начальной активной конфигурации дерева все мосты сети после их инициализации начинают периодически обмениваться специальными пакетами, называемыми протокольными блоками данных моста - BPDU (Bridge Protocol Data Unit).

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

Пакет BPDU имеет следующие поля:

  • Идентификатор версии протокола STA - 2 байта. Мосты должны поддерживать одну и ту же версию протокола STA, иначе может установиться активная конфигурация с петлями.
  • Тип BPDU - 1 байт. Существует два типа BPDU - конфигурационный BPDU, то есть заявка на возможность стать корневым мостом, на основании которой происходит определение активной конфигурации, и BPDU уведомления о реконфигурации, которое посылается мостом, обнаружившим событие, требующее проведение реконфигурации - отказ линии связи, отказ порта, изменение приоритетов моста или портов.
  • Флаги - 1 байт. Один бит содержит флаг изменения конфигурации, второй бит - флаг подтверждения изменения конфигурации.
  • Идентификатор корневого моста - 8 байтов.
  • Расстояние до корня - 2 байта.
  • Идентификатор моста - 8 байтов.
  • Идентификатор порта - 2 байта.
  • Время жизни сообщения - 2 байта. Измеряется в единицах по 0.5 с, служит для выявления устаревших сообщений. Когда пакет BPDU проходит через мост, тот добавляет ко времени жизни пакета время его задержки данным мостом.
  • Максимальное время жизни сообщения - 2 байта. Если пакет BPDU имеет время жизни, превышающее максимальное, то он игнорируется мостами.
  • Интервал hello, через который посылаются пакеты BPDU.
  • Задержка смены состояний - 2 байта. Минимальное время перехода портов моста в активное состояние. Такая задержка необходима, чтобы исключить возможность временного возникновения альтернативных маршрутов при неодновременной смене состояний портов во время реконфигурации.

У пакета BPDU уведомления о реконфигурации отсутствуют все поля, кроме двух первых.

После инициализации каждый мост сначала считает себя корневым. Поэтому он начинает через интервал hello генерировать через все свои порты сообщения BPDU конфигурационного типа. (Далее под BPDU понимается везде конфигурационный BPDU, если тип BPDU точно не указан.) В них он указывает свой идентификатор в качестве идентификатора корневого моста (и в качестве данного моста также), расстояние до корня устанавливается в 0, а в качестве идентификатора порта указывается идентификатор того порта, через который передается BPDU.

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

  • RI (Root Identifier) - идентификатор корневого моста, в начальный момент работы алгоритма STA каждый мост присваивает этой переменной свой собственный идентификатор.
  • minRPCi (min Root Path Cost) - наименьшее значение расстояния до корня, встретившееся в пакетах BPDU, принятых от корневого моста по i-му порту. Для каждого порта моста имеется своя переменная minRPCi, начальное значение этой переменной равно максимально допустимому значению расстояния, определяемому форматом переменной.
  • minBi и minPi - идентификаторы моста и порта, от которого поступил пакет, на основании которого присвоено значение расстояния до корня переменной minRPCi - по две переменные на каждый порт.

Мост обрабатывает поступающие на порты сообщения BPDU следующим образом.

Сначала мост сравнивает значение идентификатора корневого моста из BPDU с текущим значением переменной RI.

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

Если оно равно текущему значению RI, то значит принят пакет от уже известного корня. Находящееся в пакете расстояние до корня сравнивается с найденным ранее минимальным расстоянием minRPCi, и если новое значение меньше, то оно переписывается в переменную minRPCi данного порта. Затем мост наращивает значение поля расстояния до корня на величину условного времени сегмента, по которому пришел пакет, помещает в поле идентификатора моста свой идентификатор и передает этот пакет на все свои порты, кроме того порта, от которого получен пакет. В переменные minBi и minPi записываются идентификаторы моста, от которого получен пакет BPDU, и его порта.

Если же значение идентификатора корневого моста у принятого BPDU меньше текущего, то это значит, что обнаружен мост, у которого больше прав претендовать на звание корневого. Его идентификатор фиксируется в переменной RI, а все значения переменных minRPCi устанавливаются в исходное значение, так как они были вычислены ранее на основании расстояний до моста, на самом деле корнем не являющегося. Затем пакет BPDU обрабатывается точно по тому же алгоритму, что и в предыдущем случае.

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

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

Мосты, знающие, что они не корневые, определяют свой корневой порт как порт, имеющий минимальное расстояние до корневого моста. Для этого для каждого порта вычисляется расстояние RPCi как сумма переменной minRPCi и условного времени сегмента, с которым связан данный порт, так как в переменной minRPCi это время учтено не было. Затем выбирается корневой порт, как порт с минимальным значением RPCi. После этого данное значение называется расстоянием до корня данного моста - RPC.

Затем мост проверяет все оставшиеся порты как претендентов на звание назначенных портов сегментов, к которым они подключены. Он сравнивает значение minRPCi данного порта со значением RPC, то есть сравнивает расстояния до корня от других мостов данного сегмента со своим собственным. Если его собственное расстояние оказывается меньше по каждому порту, то он фиксируется как назначенный. Если же оно больше, то порт переводится в заблокированное состояние, в котором он не будет ни принимать, ни передавать информационные пакеты в рабочем режиме, после установления активной конфигурации. Если же расстояния оказываются равными, то мост сравнивает сначала свой идентификатор с идентификатором minBi моста-конкурента, а если и они равны (то есть конкурируют его собственные порты), то сравниваются в конце концов идентификаторы портов.

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

10.3. Изменения топологии

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

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

Для того, чтобы мосты могли обнаружить отказ элемента сети, каждый мост имеет таймер возраста сообщения (message age timer). При получении пакета BPDU этот таймер устанавливается в исходное состояние. Если какой-либо назначенный мост, его порт или линия связи отказывают, то пакеты BPDU перестают поступать во все мосты, которые находятся в поддеревьях отказавшего элемента. Вследствие этого, в этих мостах истекает интервал таймера возраста сообщения.

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

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

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

10.4. Состояния порта

Каждый порт моста, поддерживающего алгоритм STA, может находится в одном из 5 состояний (рис. 66):

  • Отключен (disabled) - порт не участвует ни в каких операциях, и может быть выведен из этого состояния только с помощью протокола управления мостом (по сети или локально).
  • Заблокирован (blocked) - конфигурационные BPDU принимаются, обрабатываются и передаются.
  • Прослушивание (listening) - конфигурационные BPDU принимаются, обрабатываются и передаются.
  • Обучение (learning) - порт принимает конфигурационные BPDU, обрабатывает их и передает, а также принимает и обрабатывает информационные кадры канального протокола (строит адресную таблицу).
  • Трансляция (forwarding) - порт участвует во всех операциях моста - принимает конфигурационные BPDU, обрабатывает их и передает, а также принимает, обрабатывает и передает информационные кадры канального протокола.

Рис. 66. Состояние порта и возможные переходы

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

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

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

После получения команды на инициализацию от администратора, мост переводит все свои порты в состояние блокировки. Затем начинается описанный процесс установления начальной активной конфигурации. Мост в какой-то момент времени этого процесса может сделать ошибочные заключения о том, какой из его портов является корневым, а какие - назначенными, так как делает выводы на основе конфигурационных BPDU, полученных от моста, который он временно считает корневым, так как конфигурационные BPDU от действительно корневого моста еще до него не дошли. Поэтому для исключения преждевременных решений о том, что некоторые порты нужно перевести в транслирующее состояние, так как они стали либо корневыми, либо назначенными (и, следовательно, для исключения временного образования петель), порт сначала переводится в промежуточное состояние - состояние прослушивания (3). При этом взводится специальный таймер для порта - таймер трансляции. Если его период истекает, а порт все еще остается по результатам обработки поступивших конфигурационных BPDU корневым или назначенным, то он переводится в состояние обучения (5), а таймер взводится снова. Если же его интервал истекает еще раз, то тогда порт переводится в состояние трансляции (5) и начинает активную работу по передаче пользовательских кадров. Если же за период работы таймера трансляции порт перестает быть корневым или назначенным, то он непосредственно переводится в состоянии заблокированного (4).

10.5. Пример установления и изменения активной конфигурации

Рассмотрим работу алгоритма STA на примере сети, состоящей из 6 сегментов Ethernet и 6 мостов, соединенных так, как это показано на рисунке 67. Идентификаторы мостов и портов обозначены цифрой после однобуквенного имени моста (B) или порта (P). Сегменты (S) идентификаторов не имеют, и их порядковые номера приведены только для удобства пояснений работы алгоритма.

Рис. 67. Пример конфигурации сети с избыточными связями

Рассмотрим несколько случаев. А. Все мосты и порты имеют равные приоритеты, все сегменты имеют равную пропускную способность и условное время для них равно 1. B. Все параметры те же, что и в случае А, но мост В1 отказал. С. Все мосты работоспособны, но производительность сегментов S3 и S6 в три раза выше остальных, поэтому условное время остальных сегментов в три раза больше, чем у S3 и S6. D. Все сегменты имеют одинаковую производительность, но администратор установил более высокий приоритет для моста В4.

Случай А.

После того, как до всех мостов дошли конфигурационные BPDU от моста В1, только этот мост продолжает считать себя корневым, так как он имеет наименьший идентификатор - 1. Соответственно, по каждому порту у каждого моста установились значения переменных minRPC, показанные на рисунке 68. В результате для моста В2 в качестве корневого порта выбран порт P1. Хотя оба порта получали на входе конфигурационные BPDU с нулевым значением расстояния до корня (от порта P1 и от порта P3 корневого моста В1), выбран порт P1, поскольку он имеет меньшее значение идентификатора. Значение RPC моста B2 равно 1, так как условное время сегмента S1 равно 1 и оно складывается с минимальным расстоянием до корня, полученным на корневой порт.

Рис. 68. Выбор корневого моста и корневых портов

У мостов B3, B4, В5 и В6 выбор корневого порта достаточно прост, так как значения minRPC у них различные (порт P2 моста В5 не получил по входу ни одного конфигурационного BPDU, поэтому имеет начальное, максимально возможное значение minRPC, обозначенное символом бесконечности).

Выбор назначенных портов показан на рис. 69.

Рис. 69. Выбор назначенных портов

Случай В.

При отказе корневого маршрутизатора все мосты перестают получать конфигурационные BPDU, поэтому по истечению интервала hello мосты переводят все свои порты в состояние заблокированных и начинают процедуру инициализации активной конфигурации, полагая себя корневыми мостами. В результате корневым мостом будет выбран мост B2, имеющий наименьший идентификатор. Новое состояние портов и связей после установления активной конфигурации показано на рисунке 70.

Рис. 70. Реконфигурация сети после отказа моста B1

Полученные активные конфигурации для случаев С и D показаны на рисунках 71 и 72 соответственно.

Рис. 71. Активная конфигурация для скоростных сегментов S3 и S6

Рис. 72. Активная конфигурация при приоритетном мосте B5 и скоростных сегментах S3 и S6

11.1 Назначение виртуальных сетей

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

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

Говорят, что виртуальная сеть образует домен широковещательного трафика (broadcast domain), по аналогии с доменом коллизий, который образуется повторителями сетей Ethernet.

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

Рис. 73. Интерсеть, состоящая из сетей, построенных на основе повторителей

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

Поэтому для устранения необходимости физической перекоммутации узлов стали применять многосегментные повторители (рис. 74). В наиболее совершенных моделях таких повторителей приписывание отдельного порта к любому из внутренних сегментов производится программным путем, обычно с помощью удобного графического интерфейса. Примерами таких повторителей могут служить концентратор Distributed 5000 компании Bay Networks и концентратор PortSwitch компании 3Com. Программное приписывание порта сегменту часто называют статической или конфигурационной коммутацией.

Рис. 74. Многосегментный повторитель с конфигурационной коммутацией

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

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

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

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

11.2. Типы виртуальных сетей

Технология образования и работы виртуальных сетей с помощью коммутаторов долгое время была не стандартизована, хотя и была реализована в очень широком спектре моделей коммутаторов разных производителей. Такое положение должно скоро измениться, так как институт IEEE в апреле окончательно принял спецификации 802.1q/p, которые описывают стандартный способ построения виртуальных сетей.

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

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

  • Группировка портов.
  • Группировка МАС-адресов.
  • Использование меток в дополнительном поле кадра - частные протоколы и спецификации IEEE 802.1 Q/p.
  • Спецификация LANE для АТМ-комутаторов.
  • Использование сетевого уровня.

11.3. VLAN на основе группировки портов

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

Рис. 75. Виртуальные сети, построенные на одном коммутаторе с помощью группировки портов

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

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

11.4. VLAN на основе группировки МАС-адресов

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

Рис. 76. Построение виртуальных сетей на нескольких коммутаторах с группировкой портов

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

Рис. 77. Соединение виртуальных сетей, построенных на группировании портов, через маршрутизатор

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

11.5. Использование меток в дополнительном поле кадра - стандарты 802.1 Q/p и фирменные решения

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

Если используется дополнительное поле с пометкой о номере виртуальной сети, то оно используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно удаляется. При этом модифицируется протокол взаимодействия "коммутатор-коммутатор", а программное и аппаратное обеспечение конечных узлов остается неизменным. Примеров таких фирменных протоколов много, но общий недостаток у них один - они не поддерживаются другими производителями. Компания Cisco предложила использовать в качестве стандартной добавки к кадрам любых протоколов локальных сетей заголовок протокола 802.10, предназначенного для поддержки функций безопасности вычислительных сетей. Сама компания использует этот метод в тех случаях, когда коммутаторы объединяются между собой по протоколу FDDI. Однако, эта инициатива не была поддержана другими ведущими производителями коммутаторов.

Новый стандарт IEEE 802.1Q определяет изменения в структуре кадра Ethernet, позволяющие передавать информацию о VLAN по сети.

Стандарт IEEE 802.1p специфицирует метод указания приоритета кадра, основанный на использовании новых полей, определенных в стандарте IEEE 802.1Q.

К кадру Ethernet добавлены два байта. Эти 16 бит содержат информацию по принадлежности кадра Ethernet к ВЛВС и о его приоритете. Говоря точнее, тремя битами кодируется до восьми уровней приоритета, 12 бит позволяют различать трафик до 4096 ВЛВС, а один бит зарезервирован для обозначения кадров сетей других типов (Token Ring, FDDI), передаваемых по магистрали Ethernet.

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

Спецификация IEEE 802.1p, создаваемая в рамках процесса стандартизации 802.1Q, определяет метод передачи информации о приоритете сетевого трафика. Стандарт 802.1p специфицирует алгоритм изменения порядка расположения пакетов в очередях, с помощью которого обеспечивается своевременная доставка чувствительного к временным задержкам трафика.

В дополнение к определению приоритетов стандарт 802.1p вводит важный протокол GARP (Generic Attributes Registration Protocol) с двумя специальными его реализациями. Первая из них - протокол GMRP (GARP Multicast Registration Protocol), позволяющий рабочим станциям делать запрос на подключение к домену групповой рассылки сообщений. Поддерживаемую этим протоколом концепцию назвали подсоединением, инициируемым "листьями". Протокол GMRP обеспечивает передачу трафика только в те порты, из которых пришел запрос на групповой трафик, и хорошо согласуется со стандартом 802.1Q.

Второй реализацией GARP является протокол GVRP (GARP VLAN Registration Protocol), похожий на GMRP. Однако, работая по нему, рабочая станция вместо запроса на подключение к домену групповой рассылки сообщений посылает запрос на доступ к определенной VLAN.

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

Трафик входного порта (Ingress Port). Каждый кадр, достигающий коммутируемой сети и идущий либо от маршрутизатора, либо от рабочей станции, имеет определенный порт-источник. На основании его номера коммутатор должен "принять решение" о приеме (или отбрасывании) кадра и передаче его в ту или иную VLAN. Решение "судьбы" кадра, осуществляемое в единственной логической точке сети, делает возможным сосуществование самых разных видов VLAN. Приняв кадр, коммутатор "прикрепляет" к нему "ярлык" (tag) VLAN. Как только кадр с "ярлыком" VLAN оказывается в сети, он становится частью проходящего (Progress), или внутреннего трафика.

Внутренний трафик (Progress Traffic). Кадр с "ярлыком" коммутируется точно так же, как и без "ярлыка". Решения о его принадлежности к той или иной VLAN принимаются в пограничных элементах сети и остальные сетевые устройства индифферентно "относятся" к тому, как именно кадр попал в сеть. Так как максимальный размер кадра Ethernet остался неизменным, то пакеты всех VLAN смогут обрабатываться традиционными коммутаторами и маршрутизаторами внутренней части сети.

Трафик выходного порта (Egress Port). Чтобы попасть в межсетевой маршрутизатор или в оконечную рабочую станцию, кадр должен выйти за пределы коммутируемой сети. Ее выходное устройство "решает", какому порту (или портам) нужно передать пакет и есть ли необходимость удалять из него служебную информацию, предусмотренную стандартом 802.1Q. Дело в том, что традиционные рабочие станции не всегда воспринимают информацию о VLAN по стандарту 802.1Q, но сервер, обслуживающий несколько подсетей с помощью единственного интерфейса, должен ее активно использовать.

Условное деление трафика на внутренний, а также входного и выходного портов позволяет поставщикам нестандартных реализаций VLAN создавать шлюзы для их стыковки с ВЛВС, соответствующими стандарту 802.1Q.

11.6. Использование спецификации LANE

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

Спецификация LANE вводит такое понятие как эмулируемая локальная сеть - ELAN. Это понятие имеет много общего с понятием виртуальной сети:

  • ELAN строится в сети, состоящей из коммутаторов (коммутаторов АТМ);
  • связь между узлами одной и той же ELAN осуществляется на основе МАС-адресов без привлечения сетевого протокола;
  • трафик, генерируемый каким-либо узлом определенной ELAN, даже широковещательный, не выходит за пределы данной ELAN.

Кадры различных ELAN не свешиваются друг с другом внутри сети коммутаторов АТМ, так как они передаются по различным виртуальным соединениям и номер виртуального соединения VPI/VCI является тем же ярлыком, который помечает кадр определенной VLAN в стандарте 802.1Q и аналогичных фирменных решениях.

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

11.7. Использование сетевого протокола

При использовании этого подхода коммутаторы должны для образования виртуальной сети понимать какой-либо сетевой протокол. Такие коммутаторы называют коммутаторами 3-го уровня, так как они совмещают функции коммутации и маршрутизации. Каждая виртуальная сеть получает определенный сетевой адрес - как правило, IP или IPX.

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

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

Однако, использование сетевого протокола для построения виртуальных сетей ограничивает область их применения только коммутаторами 3-го уровня и узлами, поддерживающими сетевой протокол. Обычные коммутаторы не смогут поддерживать такие виртуальные сети и это является большим недостатком. За бортом также остаются сети на основе немаршрутизируемых протоколов, в первую очередь сети NetBIOS.

По этим причинам наиболее гибким подходом является комбинирование виртуальных сетей на основе стандартов 802.1 Q/p с последующим их отображением на "традиционные сети" в коммутаторах 3-го уровня или маршрутизаторах. Для этого коммутаторы третьего уровня и маршрутизаторы должны понимать метки стандарта 802.1 Q.

НАЗАД



Copyright © TELEPORT, 2004
г.Псков, Крестовское шоссе, д.1а, оф.305, 3 этаж
Официальная поддержка
продуктов производства
Nortel Networks
Официальный аккредитованный
представитель ЗАО «БЕЛТЕЛ»
на территории Псковской области
InformProject.com Создание сайта -
студия «InformProject»