
Глава 6 Интеллектуальные функции коммутаторов
Коммутаторы позволяют значительно увеличивать размеры сетей за счет разбиения разделяемой среды на части или полного отказа от принципа разделения среды в пользу коммутируемых локальных сетей Однако при росте сетей возникают новые проблемы, с которыми не в состоянии справиться коммутатор, работа которого строится лишь на основе алгоритма прозрачного моста. Прежде всего, остается нерешенной проблема надежности сети, так как древовидная топология коммутируемых локальных сетей очень уязвима — отказ любой линии связи или коммутатора приводит к потере связности сети, сеть фактически распадается на два или более сегмента.
Ограничения древовидной топологии преодолеваются благодаря интеллектуальным функциям коммутаторов, которые наделяют локальные сети дополнительными возможностями. Так, в коммутируемых локальных сетях широко применяется алгоритм покрывающего дерева (STA), который позволяет автоматически находить новый вариант древовидной топологии при отказах коммутаторов или линий связи и тем самым обеспечить отказоустойчивость сети. Алгоритм покрывающего дерева был разработан одновременно с алгоритмом прозрачного моста (то есть в начале 80-х) и с тех пор успешно применяется в локальных сетях.
Сравнительно недавно, с началом широкого применения коммутируемых локальных сетей был разработан механизм агрегирования линий связи. Поддержка коммутаторами агрегирования позволяет объединять несколько линий связи (физических каналов) в один логический канал. Это повышает как производительность, так и надежность сети.
Новые развитые возможности коммутаторов локальных сетей обеспечивают поддержку методов QoS для различных типов трафика, включая приоритетные и взвешенные очереди, обратную связь, резервирование ресурсов.
Несмотря на прогресс, обеспечиваемый алгоритмом покрывающего дерева и механизмом агрегирования линий связи, в локальных сетях, построенных только на коммутаторах и не использующих маршрутизаторы, остается немало проблем. Часть из этих проблем позволяет снять техника виртуальных локальных сетей (VLAN). Функция VLAN дает возможность за счет конфигурирования коммутаторов (то есть программным, а не физическим способом, соединяя и разъединяя разъемы кабелей) разделить локальную сеть на несколько обособленных логических сегментов. Такие обособленные сегменты затем могут быть соединены в составную сеть уже с помощью протокола сетевого уровня, при этом благодаря программному делению сети на сегменты можно очень удобно и быстро менять структуру сети.
Алгоритм покрывающего дерева
Список ключевых слов: алгоритм покрывающего дерева, протокол
покрывающего дерева, сегмент сети, корневой коммутатор, метрика, идентификатор коммутатора, корневой порт, идентификатор порта, назначенный порт, назначенный коммутатор, протокольная единица данных моста.
В тех локальных сетях, где технологии и оборудование реализуют функции только первого и второго уровней модели ISO/OSI, проблема использования альтернативных путей имеет свою специфику: базовые протоколы поддерживают только древовидные, то есть не содержащие замкнутых контуров, топологии связей.
Для автоматического перевода в резервное состояние всех альтернативных связей, не вписывающихся в топологию дерева, в локальных сетях используются алгоритм покрывающего дерева (Spanning Tree Algorithm, STA) и реализующий его протокол покрывающего дерева (Spanning Tree Protocol, STP).
Алгоритм покрывающего дерева, разработанный достаточно давно, в 1983 году, был признан IEEE удачным и включен в ту же спецификацию 802.1D, в которой описывается и сам алгоритм работы прозрачного моста. Хотя мосты, для которых был разработан алгоритм, сегодня уже относятся к практически «вымершему» виду коммуникационных устройств, STA широко применяется в наиболее массовых устройствах современных локальных сетей — коммутаторах. Алгоритм STA позволил без применения маршрутизаторов только на основе коммутаторов строить крупные локальные сети, за счет избыточных связей обладающие высокой надежностью.
Производители оборудования, как правило, реализуют алгоритм STA в коммутаторах, предлагаемых для тех участков сети, к которым предъявляются повышенные требования к надежности, — в магистральных коммутаторах, а также в коммутаторах отделов и крупных рабочих групп.
Необходимые определения
Алгоритм STA формализует сеть (рис. 6.1, бг) в виде графа (рис. 6.1, б), вершинами которого являются коммутаторы и сегменты сети.
Сегмент — связная часть сети, не содержащая коммутаторов (и маршрутизаторов). Сегмент может быть разделяемым (во время создания алгоритма STA это был единственный тип сегмента) и включать устройства физического уровня: повторители/концентраторы, существование которых коммутатор, будучи устройством канального уровня, «не замечает». Сегодня сегмент часто представляет собой дуплексный двухточечный канал между смежными портами двух коммутаторов.
Алгоритм
покрывающего дерева обеспечивает
построение древовидной топологии
связей с единственным путем минимальной
длины от каждого коммутатора и от каждого
сегмента до некоторого выделенного
корневого
коммутатора — корня
дерева. Единственность
пути
гарантирует отсутствие петель, а
мипимальность
расстояния — рациональность маршрутов
следования трафика от периферии сети
к ее магистрали, роль которой исполняет
корневой коммутатор.
В качестве расстояния в STA используется метрика, традиционная для протоколов маршрутизации, — величина, обратно пропорциональная пропускной способности сегмента. В STA метрика также определяется как условное время передачи бита сегментом. Это время измеряется в 10-наносекундных единицах. Так, для сегмента Ethernet 10 Мбит/с метрика равна 10 условных единиц, для сегмента Ethernet 100 Мбит/с — 1, а для сегмента Token Ring 16 Мбит/с — 6,25. Учитывая, что сети становятся все более и более скоростными, существует так называемая пересмотренная версия шкалы условных единиц: 10 Мбит/с — 100, 100 Мбит/с - 19, 1 Гбит/с - 4, 10 Гбит/с - 2.
Идентификатор коммутатора — это 8-байтовое число, шесть младших байтов которого составляет МАС-адрес его блока управления, отрабатывающего алгоритм STA (напомним, что портам коммутаторов и мостов для выполнения своей основной функции МАС-адреса не требуются), а два старших байта конфигурируются вручную, что, как мы дальше увидим, позволяет администратору сети влиять на процесс выбора корневого коммутатора.
Корневой порт коммутатора — порт, который имеет кратчайшее расстояние до корневого коммутатора (точнее, до любого из портов корневого коммутатора).
Идентификатором порта служит 2-байтовое число. Младший байт содержит порядковый номер данного порта в коммутаторе, а значение старшего байта задается администратором.
Назначенный порт — порт, который среди всех портов всех коммутаторов данного сегмента сети имеет минимальное расстояние до корневого коммутатора.
Назначенным коммутатором сегмента объявляется коммутатор, которому принадлежит назначенный порт данного сегмента.
Протокольными единицами данных моста (Bridge Protocol Data Unit, BPDU) называются специальные пакеты, которыми периодически обмениваются коммутаторы для автоматического определения конфигурации дерева. Пакеты BPDU переносят данные об идентификаторах коммутаторов и портов, а также о расстоянии до корневого коммутатора. Интервал генерации пакетов BPDU, называемый в алгоритме интервалом hello, настраивается администратором и обычно составляет от 1 до 4 секунд.
Три этапа построения дерева
Алгоритм STA определяет активную конфигурацию сети за три этапа.
Первый этап — определение корневого коммутатора, от которого строится дерево.
В соответствии с алгоритмом STA в качестве корневого коммутатора выбирается коммутатор с наименьшим значением идентификатора. Если администратор не вмешается в этот процесс, корневой коммутатор будет выбран достаточно случайным образом — им станет устройство с минимальным МАС-адресом блока управления. Очевидно, что такой выбор может оказаться далеко не рациональным. Например, при выборе коммутатора 5 в качестве корневого значительная часть трафика проходила бы через большое количество транзитных сегментов и коммутаторов. Поэтому не стоит администратору пускать данный процесс «на самотек» — лучше в него вмешаться и назначить корневой коммутатор осознанно (за счет соответствующего конфигурирования старших байтов идентификаторов коммутатора), чтобы выбранный коммутатор действительно занимал центральное место в соединениях сегментов. Предположим, что идентификаторы коммутаторов совпадают с их номерами, приведенными на рисунке. Тогда корневым коммутатором является коммутатор 1.
Второй этап — выбор корневого порта для каждого коммутатора.
Расстояние определяется по пакетам BPDU, поступающим от корневого коммутатора. На основании этих пакетов каждый коммутатор может определить минимальные расстояния от всех своих портов до корневого коммутатора. Каждый коммутатор анализирует и ретранслирует BPDU, увеличивая расстояние до корня, указанное в полученном пакете BPDU, на условное время того сегмента, из которого принят данный пакет. Тем самым в пакете BPDU по мере прохождения через коммутаторы наращивается расстояние до корневого коммутатора. Например, если считать, что все сегменты в рассматриваемом примере являются сегментами Ethernet 10 Мбит/с, то коммутатор 2, приняв из сегмента 1 пакет BPDU с расстоянием, равным 0, увеличивает его на 10 условных единиц (измерения метрики).
Ретранслируя пакеты, каждый коммутатор для каждого своего порта запоминает минимальное расстояние до корня, встретившееся во всех принятых этим портом пакетах BPDU. По завершении процедуры определения конфигурации покрывающего дерева каждый коммутатор находит свой корневой порт (с минимальным расстоянием до корня).
При равных метриках для разрешения неоднозначности к процедуре выбора минимального расстояния привлекаются значения идентификаторов коммутаторов и портов. Предпочтение отдается портам и коммутаторам с наименьшими идентификаторами. Например, для сегмента 3 существует два равноценных в отношении метрики пути к корневому коммутатору 1 — через коммутатор 3 и через коммутатор 4. Выбранный путь проходит через коммутатор, с меньшим значением идентификатора, а именно 3 (номера портов внутри коммутатора в данном случае совпадают, но при сравнении сначала принимается во внимание идентификатор коммутатора, а потом уже номер порта).
В нашем примере коммутатор 3 выбирает порт 1 в качестве корневого, так как для него минимальное расстояние до корня равно 10 условных единиц (пакет BPDU с таким расстоянием принят от корневого коммутатора через сегмент 1). Порт 2 коммутатора 3 устанавливает на основании принятых пакетов, что минимальное расстояние равно 20 условных единиц — это соответствует прохождению пакета от порта 2 корневого коммутатора через сегмент 2, затем через коммутатор 4 и сегмент 3. Коммутатор 2 при выборе корневого порта «сталкивается» с ситуацией, когда у его портов 1 и 2 равное расстояние до корня — по 10 условных единиц (порт 1 принимает пакеты от порта 1 корневого коммутатора через один промежуточный сегмент — сегмент 1, так же как порт 2 получает пакеты от порта 2 корневого коммутатора через сегмент 2). Поскольку числовое значение идентификатора порта 1 меньше, чем порта 2, то корневым и выбирается порт 1.
Третий этап — выбор назначенных порта и коммутатора.
Из всех портов всех коммутаторов в пределах каждого сегмента сети выбирается назначенный порт и соответствующий данному порту назначенный коммутатор сегмента. Аналогично выбору корневого порта здесь используется распределенная процедура. Каждый коммутатор сегмента прежде всего исключает из рассмотрения свой корневой порт (для сегмента, к которому он подключен, всегда существует другой коммутатор, который расположен ближе к корню). Для каждого из оставшихся портов выполняется сравнение принятых по ним минимальных расстояний до корня (еще до наращивания на условное время сегмента) с расстоянием до корня корневого порта данного коммутатора. Если все принятые на этом порту расстояния оказываются больше, чем расстояние от собственного корневого порта, значит, для сегмента, к которому подключен порт, кратчайший путь к корневому коммутатору проходит через него, и он становится назначенным. Коммутатор делает все свои порты, для которых такое условие выполняется, назначенными. Когда имеется несколько портов с одинаковым кратчайшим расстоянием до корневого коммутатора, выбирается порт с наименьшим идентификатором.
В рассматриваемом примере коммутатор 2 при проверке порта 2 обнаруживает, что через этот порт принимаются пакеты с минимальным расстоянием 0 (это пакеты от порта 2 корневого коммутатора 1). Так как собственный корневой порт у коммутатора 2 имеет расстояние до корня 10, то порт 2 этого коммутатора не является назначенным для сегмента 2.
На выполнение всех трех этапов коммутаторам сети отводится по умолчанию 15 секунд. Предполагается, что за это время каждый коммутатор получит столько пакетов BPDU, сколько будет достаточно для определения состояния своих портов.
Все остальные порты, кроме корневых и назначенных, блокируются (на рисунке они перечеркнуты), и в результате завершается построение покрывающего дерева. Математически доказано, что при таком выборе активных портов в сети исключаются петли, и оставшиеся связи образуют покрывающее дерево (если оно вообще может быть построено при существующих связях в сети).
После построения покрывающего дерева коммутатор начинает принимать (но не продвигать) пакеты данных и на основе их адресов источника строить таблицу продвижения. Это обычный режим обучения прозрачного моста, который ранее нельзя было активизировать, так как порт не был уверен в том, что он останется корневым или назначенным и будет передавать пакеты данных. Состояние обучения по умолчанию также выдерживается в течение интервала 15 с. При этом порт продолжает участвовать в работе алгоритма STA, так что поступление пакетов BPDU с лучшими параметрами переводит его в заблокированное состояние.
ПРИМЕЧАНИЕ
Отметим, что выбранная по алгоритму STA древовидная топология в общем случае не оптимальна для всех путей передачи трафика. Так, в описываемом примере при передаче пакетов из сегмента 3 в сегмент 2 трафик проходит путь: коммутатор 3 — сегмент 1 -коммутатор 1 — сегмент 2. Метрика этого пути — 30. Если бы порт 2 коммутатора 4 не был заблокирован, то путь мог бы быть короче — через коммутатор 4. При этом метрика пути была бы равна 20 — лучше, чем в предыдущем случае. Такой вариант возможен при выборе кратчайшего пути к корневому коммутатору для сегмента 4 через коммутатор 4, а не 3, например, за счет соответствующего назначения старших частей идентификаторов коммутаторов. Однако при таком варианте путь из сегмента 4 в сегмент 1 уже не окажется оптимальным.
И только после двукратной выдержки по таймеру порт переходит в состояние продвижения и обрабатывает пакеты данных в соответствии с построенной таблицей (которая продолжает модифицироваться, отражая изменения в структуре сети).
В процессе нормальной работы корневой коммутатор продолжает генерировать конфигурационные пакеты BPDU с интервалом hello, а остальные коммутаторы получают их через свои корневые порты и ретранслируют через назначенные порты. У коммутатора могут отсутствовать назначенные порты, как у коммутаторов 2 и 4, но он все равно участвует в работе протокола STA, так как корневой порт принимает служебные пакеты BPDU.
Если по истечении максимального времени жизни сообщения (по умолчанию — 20 с) корневой порт любого коммутатора сети не получает служебный пакет BPDU, то он инициализирует новую процедуру постррения покрывающего дерева. При этом на все порты генерируется и передается пакет BPDU, в котором коммутop указывает себя в качестве корневого. Аналогичным образом ведут себя и другие коммутаторы сети, у которых истек таймер максимального времени жизни сообщения, в результате чего выбирается новая активная конфигурация.
Недостатки и достоинства STA
Одним из основных достоинств алгоритма покрывающего дерева является то, что, в отличие от многих упрощенных алгоритмов, где переход в резервное соединение осуществляется исключительно при отказе соседнего устройства, он принимает решение о реконфигурировании с учетом не только связей с соседями, но и связей в отдаленных сегментах сети.
К недостаткам алгоритма можно отнести то, что в сетях с большим количеством коммутаторов время определения новой активной конфигурации может оказаться слишком большим. Если в сети используются заданные по умолчанию значения тайм-аутов, переход на новую конфигурацию может занять свыше 50 секунд: 20 секунд понадобится на констатацию факта потери связи с корневым коммутатором (истечение таймера — единственный способ узнать об этом событии в стандартном варианте STA) и еще 2x15 секунд потребуется для перехода портов в состояние продвижения.
Имеющиеся многочисленные нестандартные версии STA позволяют сократить время реконфигурирования за счет усложнения алгоритма, например добавления новых типов служебных сообщений. В 2001 году разработана стандартная ускоренная версия STA (спецификация IEEE 802.lw).
Агрегирование линий связи в локальных сетях
Список ключевых слов: агрегирование линий связи, транк, динамический способ распределения кадров, статический способ распределения кадров, протокол управления агрегированием линий связи.
Транки и логические каналы
Агрегирование линий связи (физических каналов) между двумя коммуникационными устройствами в один логический канал является еще одной формой использования избыточных альтернативных связей в локальных сетях.
При отказе одной из составляющих агрегированного логического канала, который часто называют транком, трафик распределяется между оставшимися линиями (рис. 6.3). На рисунке примером такой ситуации является транк 2, в котором один из физических каналов (центральный) отказал, так что все кадры передаются по оставшимся двум каналам. Этот пример демонстрирует повышение надежности при агрегировании.
Покажем теперь, как агрегирование линий связи повышает производительность сети. Так, на рисунке коммутаторы 1 и 3 соединены тремя параллельными линиями связи, что в три раза повышает производительность этого участка сети по сравнению со стандартным вариантом топологии дерева, которая не допускает таких параллельных связей. Повышение производительности связи между коммутаторами путем агрегирования линий связи в некоторых случаях является более эффективным, чем замена единственной линии связи более скоростной.
Например,
несмотря на то что семейство Ethernet
предлагает широкий выбор скоростей
физического канала, от 10 Мбит/с до 10
Гбит/с, десятикратное повышение
скорости при переходе от одного стандарта
Ethernet
к другому не всегда нужно и экономически
оправдано. Например, если в установленных
в сети коммутаторах отсутствует
возможность добавления модуля с портом
Gigabit
Ethernet,
то повышение скорости на некоторых
каналах до 1000 Мбит/с потребует полной
замены коммутаторов. В то же время вполне
возможно, что у таких коммутаторов
имеются свободные порты Fast
Ethernet,
поэтому скорость передачи данных можно
было бы повысить, например, до 600 Мбит/с,
объединив в агрегированный канал
шесть портов Fast
Ethernet.
Агрегирование линий связи является обобщением одного из способов применения альтернативных маршрутов (см. раздел «Альтернативные маршруты» в главе 6): «Сеть заранее находит два маршрута, однако использует только один». При агрегировании отыскивается N маршрутов (где N > 2), каждый из которых используется для одного потока, а при отказе какого-либо маршрута «пострадавший» поток переводится на любой из оставшихся (N - 1) работающих маршрутов.
Агрегирование линий связи используется как для связей между портами коммутаторов локальной сети, так и для связей между компьютером и коммутатором. Чаще всего этот вариант выбирают для высокоскоростных и ответственных серверов. В этом случае все сетевые адаптеры, входящие в транк, принадлежат одному компьютеру и разделяют один и тот же сетевой адрес. Поэтому для протокола IP или другого протокола сетевого уровня порты транка неразличимы, что соответствует концепции единого логического канала, лежащей в основе агрегирования.
Почти все методы агрегирования, применяемые в настоящее время, обладают существенным ограничением — в них учитываются только связи между двумя соседними коммутаторами сети и полностью игнорируется все, что происходит вне этого участка сети. Например, работа транка 1 никак не координируется с работой транка 2, и наличие обычной связи между коммутаторами 2 и 3, которая создает вместе с транками 1 и 2 петлю, не учитывается. Поэтому технику агрегирования линий связи необходимо применять одновременно с алгоритмом покрывающего дерева — если администратор сети хочет использовать все топологические возможности объединения узлов сети. Для STA транк должен выглядеть как одна линия связи, тогда логика работы алгоритма останется в силе.
Существует большое количество фирменных реализаций механизма агрегирования линий связи. Наиболее популярные принадлежат, естественно, лидерам в секторе оборудования для локальных сетей. Это такие реализации, как Fast Ether-Channel и Gigabit EtherChannel компании Cisco, MultiLink Trunking компании Nortel, Adaptive Load Balancing компании Intel и ряд других. Стандарт IEEE 802.3ad Link Aggregation обобщает эти подходы.
Борьба с «размножением» пакетов
Рассмотрим теперь подробней, в чем состоят особенности работы коммутатора в случае, когда его порты образуют транк. Во фрагменте сети, приведенном на рис. 6.4, два коммутатора — 1 и 2 — связаны четырьмя физическими каналами.
Необходимо отметить, что транк может быть односторонним или двусторонним. Каждый коммутатор контролирует только отправку кадра, принимая решение, на какой из выходных портов его нужно передать. Поэтому если оба коммутатора считают связывающие их каналы транком, то он будет двусторонним, в противном случае — односторонним.
Рисунок иллюстрирует поведение коммутатора 1 по отношению к параллельным каналам. В том случае, когда они не рассматриваются данным коммутатором как агрегированный канал, возникают проблемы с кадрами двух типов:
кадрами с еще не изученными коммутатором уникальными адресами;
кадрами, в которых указан широковещательный или групповой адрес.
Алгоритм прозрачного моста требует от коммутатора передавать кадр с неизученным (отсутствующим в таблице продвижения) адресом на все порты, кроме того, с которого кадр был принят. При наличии параллельных каналов такой кадр будет «размножен» в количестве, равном количеству каналов, — в приведенном примере коммутатор 2 примет четыре копии оригинального кадра.
При этом происходит также зацикливание кадров — они будут постоянно циркулировать между двумя коммутаторами, причем удалить их из сети окажется невозможно, так как в кадрах канального уровня отсутствует поле срока жизни, часто используемое в протоколах верхних уровней, например в IP и IPX.
В любом случае кадр с неизученным адресом повысит нагрузку на сеть за счет увеличения числа кадров, что чревато возникновением заторов, задержек и потерь данных. Помимо роста нагрузки дублирование кадров может привести также к неэффективной работе многих протоколов верхнего уровня. Примером может служить узел, работающий по протоколу TCP, для которого дублирование положительных квитанций, подтверждающих факт доставки данных адресату, служит косвенным признаком перегрузки сети.
Еще больше проблем создают кадры с широковещательным адресом — они всегда должны передаваться на все порты, кроме исходного, так что в любом случае «засорение» сети посторонним трафиком окажется значительным, и кадры будут зацикливаться.
С кадрами, у которых адрес назначения изучен, проблем у коммутаторов, связанных параллельными каналами, не возникает — коммутатор передает такой кадр на тот единственный порт, по которому этот кадр впервые пришел от источника.
Разработчики механизмов агрегирования учли проблемы, возникающие при обработке кадров с неизученными, широковещательными и групповыми адресами. Решение достаточно простое — все порты, связанные с параллельными каналами, считаются одним логическим портом, который и фигурирует в таблице продвижения вместо нескольких физических портов.
В примере, представленном на рис. 16.4, в таблице продвижения вместо портов Р17, Р18, Р19 и Р10 фигурирует логический порт ALU. С этим портом связаны адреса всех узлов, путь к которым лежит через коммутатор 2. При этом изучение нового адреса по кадру, поступившему от любого из физических портов, входящих в транк, приводит к появлению в таблице продвижения коммутатора новой записи с идентификатором логического порта. Поступающий в коммутатор кадр, адрес назначения которого изучен и связан с идентификатором логического порта, передается на один (и только один!) выходной физический порт, входящий в состав транка. Точно так же коммутатор поступает с неизученными, широковещательными и групповыми адресами — для передачи кадра используется только одна из связей. На порты коммутатора, не входящие в транк, это изменение в логике обработки кадров не распространяется. Так, коммутатор 1 всегда передает кадр с неизученным или широковещательным адресом на порты Р11-Р16. Благодаря такому решению кадры не дублируются и описанные проблемы не возникают.
ВНИМАНИЕ
Вышесказанное справедливо только тогда, когда агрегированная линия связи сконфигурирована в качестве транка с обеих сторон.
Выбор порта
Остается открытым вопрос — какой из портов коммутатора нужно использовать для продвижения кадра через транк?
Можно предложить несколько вариантов ответов. Учитывая, что одной из целей агрегирования линий связи является повышение суммарной производительности участка сети между двумя коммутаторами (или коммутатором и сервером), следует распределять кадры по портам транка динамически, учитывая текущую загрузку каждого порта и направляя кадры в наименее загруженные (с меньшей длиной очереди) порты. Динамический способ распределения кадров, учитывающий текущую загрузку портов и обеспечивающий баланс нагрузки между всеми связями транка, должен приводить, казалось бы, к максимальной пропускной способности транка.
Однако такое утверждение справедливо не всегда, так как в нем не учитывается поведение протоколов верхнего уровня. Существует ряд таких протоколов, производительность которых может существенно снизиться, если пакеты сеанса связи между двумя конечными узлами будут приходить не в том порядке, в котором они отправлялись узлом-источником. А такая ситуация может возникнуть, если два или более последовательных кадра одного сеанса будут передаваться через разные порты транка — по причине того, что очереди в буферах этих портов имеют разную длину. Следовательно, и задержка передачи кадра может быть разной, так что более поздний кадр обгонит более ранний.
Поэтому в большинстве реализаций механизмов агрегирования используются методы статического, а не динамического распределения кадров по портам. Статический способ распределения кадров подразумевает закрепление за определенным портом транка потока кадров определенного сеанса между двумя узлами, так что все кадры будут проходить через одну и ту же очередь и их упорядоченность не изменится.
Обычно при статическом распределении выбор порта для некоторого сеанса выполняется на основании определенных признаков, имеющихся в поступающих пакетах. Чаще всего такими признаками являются МАС-адреса источника или приемника, или оба вместе. В популярной реализации механизма Fast EtherChannel компании Cisco для коммутаторов семейства Catalyst 5000/6000 при выборе номера порта транка используется операция исключающего ИЛИ (XOR) над двумя последними битами МАС-адресов источника и приемника. Результат этой операции имеет четыре значения: 00, 01, 10 и 11, которые и являются условными номерами портов транка.
На рис. 6.5 приведен пример сети, в которой работает механизм Fast Ether-Channel. Распределение потоков для сеансов между конечными узлами получается при этом достаточно случайным. Так как распределение не учитывает реальной нагрузки, которую создает каждый сеанс, общая пропускная способность транка может использоваться нерационально, особенно если интенсивности сеансов намного отличаются друг от друга. Кроме того, алгоритм распределения не гарантирует даже равномерного в количественном отношении распределения сеансов по портам. Случайный набор МАС-адресов в сети может привести к тому, что через один порт будут проходить несколько десятков сеансов, а через другой — только два-три. Выравнивание нагрузки портов можно при данном алгоритме достигнуть только при большом количестве компьютеров и сеансов связи между ними.
Рис. 6.5. Пример сети с механизмом Fast EtherChannel
Можно предложить и другие способы распределения сеансов по портам. Например, в соответствии с IP-адресами пакетов, которые инкапсулированы в кадры канального уровня, типами прикладных протоколов (почта по одному порту, веб-трафик по другому и т. д.). Полезным оказывается назначение порту сеансов с МАС-адресами, которые были изучены именно через этот порт — чтобы трафик сеанса проходил через один и тот же порт в обоих направлениях.
Стандартный
способ создания агрегированных каналов,
описанный в спецификации 802.3ad,
предполагает возможность создания
логического порта путем объединения
нескольких физических портов, принадлежащих
разным коммутаторам. Для того чтобы
коммутаторы могли автоматически
обеспечиваться информацией о принадлежности
какого-либо физического порта определенному
логическому порту, в спецификации
предложен служебный протокол
управления агрегированием линий
связи (Link
Control
Aggregation
Protocol,
LCAP).
Поэтому возможны такие конфигурации
агрегированных каналов, которые
увеличивают отказоустойчивость сети
не только на участках между двумя
коммутаторами, но и в более сложных
топологиях (рис. 6.6).
При отказе какого-либо канала транка все пакеты сеансов, назначенные для соответствующего порта, будут направляться на один из оставшихся портов. Обычно восстановление связности при таком отказе занимает от единиц до десятков миллисекунд. Это объясняется тем, что во многих реализациях транка после отказа физического канала все МАС-адреса, которые были с ним связаны, принудительно помечаются как неизученные. Затем коммутатор повторяет процедуру изучения этих адресов. После этого процедура назначения сеанса портам выполняется заново, естественно, учитываются только работающие порты. Так как тайм-ауты в сеансах протоколов локальных сетей обычно небольшие, коротким оказывается и время восстановления соединения.
Виртуальные локальные сети
Список ключевых слов: виртуальная локальная сеть, коммутатор 3-го уровня, стандарт IEEE 802.1Q тег виртуальной сети.
Важным свойством коммутатора локальной сети является способность контролировать передачу кадров между сегментами сети. По различным причинам (соблюдение прав доступа, политика безопасности и т. д.) некоторые кадры не следует передавать по адресу назначения.
Как мы видели в главе 15, такого типа ограничения можно реализовать с помощью пользовательских фильтров. Однако пользовательский фильтр может запретить коммутатору передачу кадров только по конкретным адресам, а широковещательный трафик он обязан передать всем сегментам сети. Так требует алгоритм его работы. Поэтому сети, созданные на основе коммутаторов, иногда называют плоскими — из-за отсутствия барьеров на пути широковещательного трафика. Технология виртуальных локальных сетей позволяет преодолеть указанное ограничение.
Это означает, что передача кадров между разными виртуальными сетями на основании адреса канального уровня невозможна независимо от типа адреса — уникального, группового или широковещательного. В то же время внутри виртуальной сети кадры передаются по технологии коммутации, то есть только на тот порт, который связан с адресом назначения кадра.
Виртуальные локальные сети могут перекрываться, если один или несколько компьютеров входят в состав более чем одной виртуальной сети. На рис. 16.7 сервер электронной почты входит в состав виртуальных сетей 3 и 4. Это означает, что его кадры передаются коммутаторами всем компьютерам, входящим в эти сети. Если же какой-то компьютер входит в состав только виртуальной сети 3, то его кадры до сети 4 доходить не будут, но он может взаимодействовать с компьютерами сети 4 через общий почтовый сервер. Такая схема не полностью защищает виртуальные сети друг от друга — так, широковещательный шторм, возникший на сервере электронной почты, затопит и сеть 3, и сеть 4.
Говорят, что виртуальная сеть образует домен широковещательного трафика, по аналогии с доменом коллизий, который образуется повторителями сетей Ethernet.
Назначение виртуальных сетей
Основное назначение технологии VLAN состоит в облегчении процесса создания изолированных сетей, которые затем обычно связываются между собой с помощью маршрутизаторов. Такое построение сети создает мощные барьеры на пути нежелательного трафика из одной сети в другую. Сегодня считается очевидным, что любая крупная сеть должна включать маршрутизаторы, иначе потоки ошибочных кадров, например широковещательных, будут периодически «затапливать» всю сеть через прозрачные для них коммутаторы, приводя ее в неработоспособное состояние.
До появления технологии VLAN для создания отдельной сети использовались либо физически изолированные сегменты коаксиального кабеля, либо несвязанные между собой сегменты, построенные на повторителях и мостах. Затем эти сети связывались маршрутизаторами в единую составную сеть (рис. 6.8).
Изменение состава сегментов (переход пользователя в другую сеть, дробление крупных сегментов) при таком подходе подразумевает физическую перекоммутацию разъемов на передних панелях повторителей или в кроссовых панелях, что не очень удобно в больших сетях — много физической работы, к тому же высока вероятность ошибки.
Частично эта проблема была решена с помощью многосегментных концентраторов, которые дали возможность программировать состав разделяемого сегмента без физической перекоммутации. Однако решение действительно является только «частичным», так как накладывает большие ограничения на структуру сети. Во-первых, количество сегментов такого концентратора обычно невелико, поэтому выделить каждому узлу свой сегмент, как это можно сделать с помощью коммутатора, нереально. Во-вторых, при таком подходе вся работа по передаче данных между сегментами ложится на маршрутизаторы, а коммутаторы со своей высокой производительностью остаются «не у дел». Поэтому сети, построенные на основе концентраторов с конфигурационной коммутацией, по-прежнему основаны на разделении среды передачи данных между большим количеством узлов и, следовательно, обладают гораздо меньшей производительностью по сравнению с сетями, построенными на основе коммутаторов.
Для связи виртуальных сетей в общую сеть требуется привлечение сетевого уровня. Он может быть реализован в отдельном маршрутизаторе, а может работать и в составе программного обеспечения коммутатора, который тогда становится комбинированным устройством — так называемым коммутатором 3-го уровня. Коммутаторы 3-го уровня рассматриваются далее.
Технология виртуальных сетей долгое время не стандартизировалась, хотя и была реализована в очень широком спектре моделей коммутаторов разных производителей. Положение изменилось после принятия в 1998 году стандарта IEEE 802.1Q, который определяет базовые правила построения виртуальных локальных сетей, не зависящие от протокола канального уровня, поддерживаемого коммутатором.
Создание виртуальных сетей на базе одного коммутатора
При создании виртуальных сетей на основе одного коммутатора обычно используется механизм группирования портов коммутатора (рис. 6.9). При этом каждый порт приписывается той или иной виртуальной сети. Кадр, пришедший от порта, принадлежащего, например, виртуальной сети 1, никогда не будет передан порту, который не принадлежит этой виртуальной сети. Порт можно приписать нескольким виртуальным сетям, хотя на практике так делают редко — пропадает эффект полной изоляции сетей.
ПРИМЕЧАНИЕ
Если к порту коммутатора подключен сегмент, построенный на основе повторителя, то узлы такого сегмента не имеет смысла включать в разные виртуальные сети — все равно трафик этих узлов будет общим.
Создание
виртуальных сетей путем группирования
портов не требует от администратора
большого объема ручной работы —
достаточно каждый порт приписать к
одной из нескольких заранее поименованных
виртуальных сетей. Обычно такая операция
выполняется с помощью специальной
программы, прилагаемой к коммутатору.
Второй способ образования виртуальных сетей основан на группировании МАС-адресов. Каждый МАС-адрес, который изучен коммутатором, приписывается той или иной виртуальной сети. При существовании в сети множества узлов этот способ требует от администратора выполнения большого количества ручных операций. Однако при построении виртуальных сетей на основе нескольких коммутаторов он оказывается более гибким, чем группирование портов.
Создание виртуальных сетей на базе нескольких коммутаторов
Рисунок 6.10 иллюстрирует проблему, возникающую при создании виртуальных сетей на основе нескольких коммутаторов, поддерживающих технику группирования портов.
Если узлы какой-либо виртуальной сети подключены к разным коммутаторам, то для подключения каждой такой сети на коммутаторах должна быть выделена специальная пара портов. В противном случае, если коммутаторы будут связаны только одной парой портов, информация о принадлежности кадра той или иной виртуальной сети при передаче из коммутатора в коммутатор будет утеряна. Таким образом, коммутаторы с группированием портов требуют для своего соединения столько портов, сколько виртуальных сетей они поддерживают. Порты и кабели используются при таком способе очень расточительно. Кроме того, при соединении виртуальных сетей через маршрутизатор для каждой виртуальной сети выделяется отдельный кабель и отдельный порт маршрутизатора, что также приводит к большим накладным расходам.
Группирование
МАС-адресов в
виртуальную сеть на каждом коммутаторе
избавляет от необходимости связывать
их по нескольким портам, поскольку в
этом случае МАС-адрес является меткой
виртуальной сети. Однако этот способ
требует выполнения большого количества
ручных операций по маркировке МАС-адресов
на каждом коммутаторе сети.
Описанные два подхода основаны только на добавлении дополнительной информации к адресным таблицам коммутатора, и в них отсутствует возможность встраивания в передаваемый кадр информации о принадлежности кадра виртуальной сети. В остальных подходах используются имеющиеся или дополнительные поля кадра для сохранения информации о принадлежности кадра той или иной виртуальной локальной сети при его перемещениях между коммутаторами сети. При этом нет необходимости запоминать в каждом коммутаторе принадлежность всех МАС-адресов составной сети виртуальным сетям.
Дополнительное поле с пометкой о номере виртуальной сети используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно обычно удаляется. При этом модифицируется протокол взаимодействия «коммутатор-коммутатор», а программное и аппаратное обеспечение конечных узлов остается неизменным. До принятия стандарта IEEE 802.1Q существовало много фирменных протоколов этого типа, но все они имели один недостаток — оборудование различных производителей оказывалось несовместимым при образовании VLAN.
В стандарте IEEE 802.1Q для хранения номера виртуальной сети предусмотрен дополнительный заголовок в 2 байта, который этот протокол делит с протоколом 802.1р (он рассматривается в следующем разделе этой главы). Помимо 3 бит для хранения приоритета кадра, описанных стандартом 802.1р, в этом заголовке 12 бит используются для хранения номера виртуальной сети, к которой принадлежит кадр. Эта дополнительная информация, которая называется тегом виртуальной сети, позволяет коммутаторам разных производителей создавать до 4096 общих виртуальных сетей. Кадр с такой информацией называют «помеченным». Длина помеченного кадра Ethernet увеличивается на 4 байта, так как помимо 2 байт собственно тега добавляются еще 2 байта. Структура помеченного кадра Ethernet показана на рис. 6.11. При добавлении заголовка 802.1p/Q поле данных уменьшается на 2 байта.
Введение
стандарта 802.1Q
позволило производителям оборудования
преодолеть различия в фирменных
реализациях VLAN
и добиться совместимости при построении
виртуальных локальных сетей. Поддерживают
технику VLAN
как производители коммутаторов, так и
сетевых адаптеров. В последнем случае
сетевой адаптер может генерировать
и принимать помеченные кадры Ethernet,
содержащие поле тега виртуальной
сети. Если сетевой адаптер генерирует
помеченные кадры, то тем самым он
определяет их принадлежность к той или
иной виртуальной локальной сети, поэтому
коммутатор должен обрабатывать их
соответствующим образом, то есть
передавать или не передавать на выходной
порт в зависимости от принадлежности
порта. Драйвер сетевого адаптера может
получить номер своей (или своих)
виртуальной локальной сети путем ручного
конфигурирования либо от некоторого
приложения, работающего на данном узле
или на одном из серверов сети.
Существование виртуальных локальных сетей в сети влияет на выбор активной топологии покрывающего дерева. Рассмотрим пример на рис. 6.12.
В этой сети образовано две виртуальные локальные сети: VLAN 1 и VLAN 2. Эти виртуальные сети построены на основе техники группирования портов. На рисунке связи между портами, принадлежащими VLAN 1, показаны тонкими сплошными линиями, а связи между портами VLAN 2 — пунктирными.
Если
при построении активной топологии STA
мы не будем принимать во внимание
наличие в сети виртуальных сетей, то
получим покрывающее дерево, показанное
на рис. 16.13 (в качестве корневого
коммутатора выбран коммутатор Swl).
Очевидно, что эта топология не эффективна
для VLAN
2, так как, например, путь от компьютера
W1
до сервера S3 проходит через четыре
коммутатора. Для сравнения, путь от
компьютеров сети VLAN
1 до сервера S1
проходит через два коммутатора. Если
бы в качестве корневого коммутатора
был выбран коммутатор Sw2,
то такая топология оказалась бы не
эффективной для сети VLAN
1.
Другое решение состоит в том, чтобы активная топология строилась для каждой виртуальной сети отдельно. В рассматриваемом примере такой подход приводит к двум деревьям с корневым коммутатором Swl для VLAN 1 и корневым коммутатором Sw2 для VLAN 2 (рис. 6.14).
Качество
обслуживания в виртуальных сетях
Коммутаторы локальных сетей поддерживают практически все механизмы QoS, которые мы обсуждали в главе 7. Это утверждение относится к коммутаторам локальных сетей как к классу коммуникационных устройств, каждая же конкретная модель коммутатора может быть наделена только определенным набором механизмов поддержания параметров QoS или же не иметь их вовсе. Как правило, коммутаторы рабочих групп средств QoS не поддерживают, в то время как для магистральных коммутаторов эта поддержка является обязательной.
Классификация трафика. Коммутаторы локальных сетей являются устройствами второго уровня, которые анализируют заголовки только протоколов канального уровня. Поэтому коммутаторы обычно используют для классификации трафика только МАС-адреса источника и приемника, а также номер порта, через который поступил кадр. Возможно также использование для классификации значения произвольного подполя внутри поля данных, заданного путем указания смещения в байтах. Эти способы не очень удобны для администратора, которому необходимо, например, отделить голосовой трафик от трафика передачи файлов. Поэтому некоторые коммутаторы, не поддерживая протоколы верхних уровней в полном объеме (например, не применяя протокол IP для продвижения пакетов), выполняют классификацию на основе признаков, содержащихся в заголовках пакетов этих протоколов — IP-адресах и портах TCP/UDP.
Маркирование трафика обычно выполняется на границе сети, а затем его результаты используются во всех промежуточных устройствах сети. В кадре Ethernet 802.3 отсутствует поле, в которое можно было бы поместить результат маркировки трафика. Однако этот недостаток исправляет спецификация 802.1р, в которой имеются три бита дополнительного заголовка 802.1Q/p для хранения приоритета кадра.
Фактически эти три бита используются для хранения признака одного из восьми классов трафика. Именно так трактует это поле стандарт 802.1D-1998, куда вошла спецификация 802.1р. В приложении Н стандарта 802.1D-1998 даются рекомендации по разделение всего трафика локальных сетей на семь классов, которые представлены в табл. 6.1.
Фоновый трафик — это наименее чувствительный к задержкам трафик, например трафик резервного копирования, источник которого может передавать большие объемы данных, поэтому его целесообразно выделить в особый класс, чтобы он не замедлял обработку других типов трафика.
Классы трафика BE (Best Effort), ЕЕ (Excellent Effort) и СЕ (Controlled Effort) не являются классами реального времени, то есть не предъявляют жестких требований к предельным уровням задержек. Однако для этих классов желательно обеспечение некоторого минимального уровня пропускной способности. Обслуживание этих классов целесообразно проводить с помощью механизма взвешенных очередей.
Трафики видео, голоса и управления сетью чувствительны к задержкам, в таблице приведены рекомендуемые значения пороговых величин задержек. Их обслуживание целесообразно проводить с помощью приоритетных очередей. Трафику управления сетью дается высший приоритет при обслуживании, так как от своевременного принятия решения и доставки управляющей информации сетевым устройствам зависят любые характеристики сети.
Управление очередями. Коммутатор, поддерживающий параметры QoS, позволяет использовать несколько очередей для дифференцированной обработки классов трафика. Очереди могут обслуживаться в соответствии с алгоритмом приоритетной обработки, взвешенного обслуживания или на основе комбинации этих алгоритмов.
Коммутатор
обычно поддерживает некоторое максимальное
количество очередей, которое может
оказаться меньше, чем требуемое число
классов трафика. В этой ситуации несколько
классов будут обслуживаться одной
очередью, то есть фактически сольются
в один класс. Стандарт 802.1D-1998
дает рекомендации в отношении того,
какие классы трафика нужно реализовывать
в сети в условиях ограниченного
количества очередей в коммутаторах
(табл. 6.2).
При существовании только одной очереди в сети существует только один класс трафика — BE (Best Effort). Качество его обслуживания невозможно улучшить за счет управления очередями, хотя остаются такие возможности, как обратная связь и резервирование полосы пропускания.
Две очереди дают возможность разделить трафик на два класса — BE и VO (Voice). При таком делении к классу VO следует относить любой чувствительный к задержкам трафик, то есть не только голос, но и видео, а также трафик управления сетью.
Дальнейшее увеличение количества очередей позволяет более дифференцированно обслуживать трафик, вплоть до рекомендуемых семи классов. Предложенная схема является только рекомендацией, администратор сети может делить трафик на классы по своему усмотрению.
Кроме того, допускается обслуживание индивидуальных потоков трафика, но при этом каждый коммутатор должен самостоятельно выделять поток из общего трафика, так как в кадре Ethernet нет поля для переноса через сеть метки потока.
В качестве признака класса трафика можно использовать номер виртуальной сети. Этот признак можно также комбинировать со значениями поля приоритета кадра, получая большое число различных классов.
Резервирование и профилирование. Коммутаторы локальных сетей поддерживают методы резервирования пропускной способности интерфейсов для классов трафика или индивидуальных потоков. Обычно коммутатор разрешает назначить классу или потоку минимальную скорость передачи данных, которая гарантируется в периоды перегрузок, а также максимальную скорость передачи данных, которая контролируется механизмом профилирования.
Для коммутаторов локальных сетей не существует стандартного протокола резервирования ресурсов. Поэтому для выполнения резервирования администратор сети должен сконфигурировать каждый коммутатор сети отдельно.
Ограничения мостов и коммутаторов
Список ключевых слов: отсутствие петель, широковещательный шторм, фильтрация трафика, МАС-адрес, трансляция протоколов, коммутируемая сеть, виртуальные локальные сети, транки.
Применение коммутаторов позволяет преодолеть ограничения, свойственные сетям с разделяемой средой. Коммутируемые локальные сети могут покрывать значительные территории, плавно переходя в сети мегаполисов; они могут состоять из сегментов различной пропускной способности, образуя сети с очень высокой производительностью; они могут использовать альтернативные маршруты для повышения надежности и производительности. Однако построение сложных сетей только на основе повторителей, мостов и коммутаторов, то есть без применения устройств сетевого уровня, имеет существенные ограничения.
Серьезные ограничения по-прежнему накладываются на топологию коммутируемой локальной сети. Требование отсутствия петель преодолевается с помощью техники STA и агрегирования каналов только частично. Действительно, STA не позволяет использовать все альтернативные маршруты для передачи пользовательского трафика, а агрегирование каналов разрешает так делать только на участке сети между двумя соседними коммутаторами. Подобные ограничения не позволяют применять многие эффективные топологии, которые могли бы использоваться для передачи трафика.
Логические сегменты сети, расположенные между коммутаторами, слабо изолированы друг от друга, а именно не защищены от так называемых широковещательных штормов. Использование же механизма виртуальных сетей, реализованного во многих коммутаторах, хотя и позволяет достаточно гибко создавать изолированные по трафику группы станций, но при этом изолирует их полностью, то есть так, что узлы одной виртуальной сети не могут взаимодействовать с узлами другой виртуальной сети.
В сетях, построенных на основе мостов и коммутаторов, достаточно сложно решается задача фильтрации трафика на основе данных, содержащихся в пакете.
В таких сетях фильтрации выполняется только с помощью пользовательских фильтров, для создания которых администратору приходится иметь дело с двоичным представлением содержимого пакетов.
Реализация транспортной подсистемы только средствами физического и канального уровней приводит к недостаточно гибкой, одноуровневой системе адресации: в качестве адреса назначения используется МАС-адрес, жестко связанный с сетевым адаптером.
У коммутаторов ограничены возможности по трансляции протоколов при создании гетерогенной сети. Они не могут транслировать WAN-протоколы в LAN-протоколы из-за различий в системе адресации этих сетей, а также различных значений максимального размера поля данных.
Наличие серьезных ограничений у протоколов канального уровня показывает, что построение на основе средств этого уровня больших неоднородных сетей является весьма проблематичным. Естественное решение в этих случаях — привлечение средств более высокого, сетевого уровня.
Коммутируемая сеть завода «Трансмаш»
Ранее мы рассмотрели структуру локальной сети завода «Трансмаш», построенной на повторителях Ethernet 10 Мбит/с. Тот пример соответствовал типичной для начала 90-х годов ситуации, когда единая разделяемая среда с пропускной способностью 10 Мбит/с полностью удовлетворяла потребности предприятия в обмене трафиком между немногочисленными компьютерами подразделений. Здесь мы опишем модернизированный вариант локальной сети этого завода, который стал характерен для многих крупных локальных сетей второй половины 90-х годов.
Основной особенностью этой локальной сети является то, что она полностью построена на коммутаторах (рис. 6.15). Переход на коммутируемую сеть был продиктован резко возросшими в середине 90-х годов требованиями, предъявляемыми к производительности и надежности локальной сети. К этому времени компьютеризованная обработка данных на заводе «Трансмаш» стала одним из основных средств производства, при этом увеличилось как число компьютеров, так и качественно изменились приложения, которые стали передавать мультимедийную информацию больших объемов.
Основу локальной сети каждого из пяти зданий завода составляет мощный центральный коммутатор на основе шасси, оснащенный портами Fast Ethernet и Gigabit Ethernet (коммутаторы BS1-BS5). Коммутатор здания объединяет коммутаторы этажей, которые подключены к нему транками, состоящими из двух-трех портов Fast Ethernet. Каждый коммутатор этажа применяется для подключения пользовательского оборудования двух типов: персональных компьютеров и технологического оборудования (более детально эти соединения показаны на примере сети здания 2). Пользователи персональных компьютеров работают с приложениями автоматизированной системы управления предприятием (АСУП), а технологическое оборудование образует автоматизированную систему управления технологическими процессами (АСУТП).
Центральные коммутаторы зданий 2, 3 и 4 образуют магистраль локальной сети завода. Они объединены двухпортовыми транками Gigabit Ethernet, что обеспечивает большой запас магистрали по производительности. Здания 5 и 4 подключены к магистрали с помощью обычных (без транков) соединений Gigabit Ethernet. Для связи коммутаторов этих зданий задействуется многомодовое оптическое волокно, которое было проложено еще для локальной сети на повторителях и качества которого оказалось достаточно для устойчивой работы портов 1000Base-SX.
В сети «Трансмаш» передается трафик приложений двух типов: АСУП и АСУТП. Эти классы трафика отличаются требованиями к качеству обслуживания, например, трафик АСУТП является трафиком реального времени, а АСУП — нет. Поэтому в сети «Трансмаш» организованы две виртуальные локальные сети — VLAN 1 для трафика АСУП и VLAN 2 для трафика АСУТП. Это позволяет надежно изолировать каждый тип трафика и, кроме того, упрощает поддержку параметров QoS коммутаторами, так как признаком необходимости обработки трафика в приоритетной очереди является номер VLAN, в данном случае — номер 2.
Так как магистраль локальной сети обладает избыточными связями, то коммутаторы используют алгоритм STA, причем отдельно для каждой виртуальной локальной сети. Для VLAN 1 резервной является связь между коммутаторами BS4 и BS2, а для VLAN 2 — между коммутаторами BS4 и BS3. Обмен данными между АСУП и АСУТП происходит за счет того, что несколько серверов являются членами обеих сетей.
Выводы
Для автоматического поддержания в сложных сетях резервных связей в коммутаторах реализуется алгоритм покрывающего дерева. Этот алгоритм описан в документе IEEE 802.1D и основан на периодическом обмене коммутаторов специальными кадрами, с помощью которых выявляются и блокируются петлевидные связи в сети.
Протокол STA находит конфигурацию покрывающего дерева за три этапа. На первом этапе определяется корневой коммутатор, на втором — корневые порты, на третьем — назначенные порты сегментов.
Недостатком протокола STA 802.1D является сравнительно большое время установления новой активной конфигурации — около 50 с. Новый стандарт 802.1w устраняет этот недостаток.
Агрегирование нескольких физических каналов в один логический является одной из форм использования нескольких активных альтернативных маршрутов в локальных сетях на коммутаторах. Агрегирование каналов повышает как производительность, так и надежность сети.
Агрегированный канал может быть образован не только между двумя соседними коммутаторами, но и распределяться между портами нескольких коммутаторов. Для автоматического уведомления о принадлежности физического порта определенному агрегированному порту разработан протокол LCAP.
Технология виртуальных локальных сетей (VLAN) позволяет в сети, построенной на коммутаторах, программным путем создать изолированные группы конечных узлов, между которыми отсутствует любой трафик, в том числе широковещательный.
Конфигурирование VLAN обычно ведется путем группирования портов или МАС-адресов.
Для построение виртуальной локальной сети на основе нескольких коммутаторов желательно помечать передаваемые кадры специальной меткой — тегом, идентифицирующем номер сети, которой принадлежит отправитель кадра. Стандартный формат тега VLAN определен в спецификации 802.1Q.
Коммутаторы LAN поддерживают многие механизмы QoS: классификацию и профилирование трафика, приоритетные и взвешенные очереди, резервирование пропускной способности.
Вопросы и задания
Для какой цели используется алгоритм покрывающего дерева?
Дайте определение покрывающего дерева.
Какой порт коммутатора называется корневым?
Какой порт называется назначенным?
Каким образом измеряется расстояние между коммутаторами в STA?
Назовите три этапа построения активной топологии покрывающего дерева.
Каким образом выбирается корневой порт из нескольких претендентов, если расстояния до корневого коммутатора у них равны?
Может ли администратор влиять на выбор корневого коммутатора?
Каким образом коммутаторы решают, что выбор активной топологии завершен?
Что побуждает коммутатор начать процедуру поиска новой активной топологии?
В чем основной недостаток STA?
Чего позволяет добиться агрегирование каналов?
Как взаимодействуют алгоритм покрывающего дерева и агрегирование каналов?
В чем ограничения агрегирования каналов?
В чем отличие между односторонним и двусторонним транком?
По каким соображениям выбирает порт транка при передаче кадра?
Зачем учитывать принадлежность кадров к одному сеансу при использовании агрегированного канала?
Почему VLAN можно назвать доменом широковещательного трафика?
Каким образом можно объединить несколько виртуальных локальных сетей?
Назовите основные способы образования VLAN.
Почему группирование портов плохо работает в сети, построенной на нескольких коммутаторах?
Можно ли одновременно использовать группирование портов и стандарт IEEE 802.1Q?
Какие механизмы обеспечения показателей QoS поддерживают коммутаторы локальных сетей?
На сколько классов рекомендует разделять трафик стандарт IEEE 802.1D-1998?
Перечислите ограничения сетей, построенных на основе коммутаторов.
В каких случаях целесообразнее выполнить агрегирование каналов, чем выбрать более скоростную версию технологии Ethernet?
Каким образом стандарт IEEE 802.1Q решает проблему построения VLAN на нескольких коммутаторах?
Должен ли алгоритм покрывающего дерева учитывать наличие в сети VLAN?
Что делать, если коммутаторы сети поддерживают меньшее количество очередей, чем существует классов трафика?