Скачиваний:
109
Добавлен:
16.03.2015
Размер:
2.42 Mб
Скачать

Глава 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 секунд.

Три этапа построения дерева

На рис. 6.2 приведен пример сети, которую мы будем использовать для иллюст­рации процедуры построения покрывающего дерева.

Алгоритм 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: классификацию и профилирование трафика, приоритетные и взвешенные очереди, резервирование пропускной способности.

Вопросы и задания

  1. Для какой цели используется алгоритм покрывающего дерева?

  2. Дайте определение покрывающего дерева.

  3. Какой порт коммутатора называется корневым?

  4. Какой порт называется назначенным?

  1. Каким образом измеряется расстояние между коммутаторами в STA?

  1. Назовите три этапа построения активной топологии покрывающего дерева.

  2. Каким образом выбирается корневой порт из нескольких претендентов, если расстояния до корневого коммутатора у них равны?

  3. Может ли администратор влиять на выбор корневого коммутатора?

  4. Каким образом коммутаторы решают, что выбор активной топологии завер­шен?

  1. Что побуждает коммутатор начать процедуру поиска новой активной тополо­гии?

  1. В чем основной недостаток STA?

  2. Чего позволяет добиться агрегирование каналов?

  3. Как взаимодействуют алгоритм покрывающего дерева и агрегирование кана­лов?

  4. В чем ограничения агрегирования каналов?

  5. В чем отличие между односторонним и двусторонним транком?

  6. По каким соображениям выбирает порт транка при передаче кадра?

  7. Зачем учитывать принадлежность кадров к одному сеансу при использова­нии агрегированного канала?

  8. Почему VLAN можно назвать доменом широковещательного трафика?

  9. Каким образом можно объединить несколько виртуальных локальных сетей?

  10. Назовите основные способы образования VLAN.

  11. Почему группирование портов плохо работает в сети, построенной на не­скольких коммутаторах?

  12. Можно ли одновременно использовать группирование портов и стандарт IEEE 802.1Q?

  13. Какие механизмы обеспечения показателей QoS поддерживают коммутаторы локальных сетей?

  14. На сколько классов рекомендует разделять трафик стандарт IEEE 802.1D-1998?

  15. Перечислите ограничения сетей, построенных на основе коммутаторов.

  16. В каких случаях целесообразнее выполнить агрегирование каналов, чем вы­брать более скоростную версию технологии Ethernet?

  17. Каким образом стандарт IEEE 802.1Q решает проблему построения VLAN на нескольких коммутаторах?

  18. Должен ли алгоритм покрывающего дерева учитывать наличие в сети VLAN?

  19. Что делать, если коммутаторы сети поддерживают меньшее количество оче­редей, чем существует классов трафика?