Деление сети на логические сегменты с помощью мостов и коммутаторов повышает ее производительность.

Kрупные сети, где насчитывается сотни и тысячи узлов, не могут быть построены на основе одной разделяемой среды даже с учетом возможностей такой скоростной технологии, как Gigabit Ethernet. И не только потому, что практически во всех технологиях количество узлов в разделяемой среде ограничено: все виды семейства Ethernet поддерживают 1024 узла, FDDI — 500, а Token Ring — 260. Даже сеть средних размеров из 50—100 компьютеров чаще всего будет плохо работать в одной разделяемой среде.

Основные недостатки начинают проявляться при превышении некоторого порогового количества узлов. В этом случае даже та часть пропускной способности разделяемого сегмента, которая должна в среднем приходиться на долю одного узла (т. е., например, 10/N Мбит/с для сегмента Ethernet с N компьютерами), очень часто ему не достается. Причина заключается в случайном характере метода доступа к среде, используемом во всех технологиях локальных сетей. Наиболее неприятные последствия для узлов сети при высоких нагрузках создает метод доступа CSMA/CD технологии Ethernet, но и в Token Ring или FDDI, где метод доступа носит менее случайный характер и даже часто называется детерминированным, случайный фактор доступа к среде все равно присутствует и оказывает свое негативное влияние на достающуюся отдельному узлу долю пропускной способности.

Рисунок 1. Задержки доступа к среде передачи данных для технологий Ethernet, Token Ring и FDDI.

На Рисунке 1 показана зависимость задержек доступа к среде передачи данных в сетях Ethernet, Token Ring и FDDI от коэффициента использования сети, его часто называют коэффициентом загруженности сети. Напомним, что коэффициент использования сети равен отношению передаваемого сетью трафика к ее максимальной пропускной способности. Для сети Ethernet максимальная пропускная способность равна 10 Мбит/с, а передаваемый трафик равен сумме интенсивностей трафика, генерируемого каждым узлом сети. Коэффициент использования обычно измеряют в относительных единицах или процентах.

Как видно из рисунка, для всех технологий величины задержек доступа растут экспоненциально при увеличении коэффициента использования сети; отличие заключается только в пороге, при котором наступает резкий перелом в поведении сети, когда почти прямолинейная зависимость переходит в крутую экспоненту. Для всего семейства технологий Ethernet — это 40—50 %, для Token Ring — 60 %, а FDDI — 70 %.

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

Влияние задержек и коллизий на полезную пропускную способность сети Ethernet отражает график, представленный на Рисунке 2.

Рисунок 2. Зависимость полезной пропускной способности сети Ethernet от коэффициента использования.

При загрузке сети до 50% технология Ethernet в разделяемом сегменте хорошо справляется с передачей трафика, генерируемого конечными узлами. Однако в случае повышения интенсивности такого трафика сеть все больше времени функционирует неэффективно, повторно передавая кадры, из-за которых возникла коллизия. Если интенсивность генерируемого трафика возрастает и коэффициент использования сети приближается к 1, вероятность наложения кадров настолько увеличивается, что практически любой кадр, который какая-либо станция пытается передать, вступает в конфликт с другими кадрами, вызывая коллизию. Сеть перестает передавать полезную пользовательскую информацию и работает «на себя», обрабатывая коллизии.

Этот эффект хорошо известен на практике и исследован путем имитационного моделирования, поэтому сегменты Ethernet не рекомендуется загружать так, чтобы среднее значение коэффициента использования превосходило 30%. Именно поэтому во многих системах управления сетями пороговая граница для индикатора коэффициента загрузки сети Ethernet по умолчанию равна 30%.

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

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

Ограничения можно преодолеть, разделив сеть на несколько разделяемых сред и соединив отдельные ее сегменты при помощи мостов, коммутаторов или маршрутизаторов (см. Рисунок 3).

Рисунок 3. Логическая структуризация сети.

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

Говорят, что при этом сеть разделяется на логические сегменты или подвергается логической структуризации. Логический сегмент представляет собой единую разделяемую среду. Деление сети на логические сегменты приводит к тому, что нагрузка, приходящаяся на каждый из вновь образованных сегментов, почти всегда оказывается меньше, чем нагрузка, которую испытывала исходная сеть. Следовательно, вредные эффекты от разделения среды нивелируются: время ожидания доступа снижается, а в сетях Ethernet — и интенсивность коллизий. Выше было сказано, что деление сети на логические сегменты почти всегда уменьшает нагрузку в новых сегментах. Слово «почти» учитывает не такой уж редкий случай, когда сеть разбита на сегменты так, что внутренний трафик каждого сегмента равен нулю, т. е. весь трафик является межсегментным.

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

СЕГМЕНТИРУЮЩИЕ УСТРОЙСТВА ВТОРОГО УРОВНЯ

В данной статье рассматриваются устройства для логической структуризации сетей, работающие на канальном уровне стека протоколов, а именно — мосты (bridge) и коммутаторы (switch). (Как было сказано выше, структуризация сети возможна также на основе маршрутизаторов, которые для выполнения этой задачи привлекают протоколы сетевого уровня. Каждый способ структуризации — с помощью канального или сетевого протокола — имеет свои преимущества и недостатки. В современных сетях популярен комбинированный способ — небольшие сегменты объединяются устройствами канального уровня в более крупные подсети, а те в свою очередь соединяются маршрутизаторами.)

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

Мосты и коммутаторы применяют два типа алгоритмов:

  1. алгоритм прозрачного моста (Transparent Bridge), описанного в стандарте IEEE 802.1D;
  2. алгоритм моста с маршрутизацией от источника (Source Routing Bridge) компании IBM для сетей Token Ring.

Эти стандарты разработаны задолго до появления первого коммутатора, и поэтому в них используется термин «мост». Однако даже самая первая промышленная модель коммутатора для технологии Ethernet выполняла тот же алгоритм продвижения кадров IEEE 802.1D, применение которого было отработано в течение десяти лет на мостах локальных и глобальных сетей. Точно так же поступают и все современные коммутаторы. Коммутаторы с поддержкой протокола Token Ring работают по алгоритму Source Routing, характерному для мостов IBM.

Основное отличие коммутатора от моста заключается в том, что мост обрабатывает кадры последовательно, а коммутатор — параллельно. Это обстоятельство связано с тем, что мосты появились в те времена, когда сеть делили на малое количество сегментов, а межсегментный трафик был небольшим (он подчинялся правилу 80 на 20%). Чаще всего имелось два сегмента, поэтому и термин был выбран соответствующий — «мост». Для обработки потока данных со средней интенсивностью 1 Мбит/c мосту вполне хватало производительности одного процессорного блока.

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

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

Постепенно коммутаторы вытеснили из локальных сетей классические однопроцессорные мосты. Основная причина — очень высокая производительность коммутаторов при передаче кадров между сегментами сети. Если мосты могли даже замедлять работу сети, когда их производительность оказывалась меньше интенсивности межсегментного потока кадров, то коммутаторы всегда выпускаются с процессорами портов и способны передавать кадры с той максимальной скоростью, на которую рассчитан протокол. Добавление параллельной передачи кадров между портами сделало производительность коммутаторов на несколько порядков выше, чем мостов, — коммутаторы могут передавать до нескольких миллионов кадров в секунду, в то время как мосты обычно обрабатывали 3—5 тыс. кадров в секунду. Это и предопределило судьбу мостов и коммутаторов.

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

Сегодня мосты по-прежнему работают в сетях, но только на достаточно медленных глобальных связях между двумя удаленными локальными сетями. Они называются удаленными мостами (remote bridge), и алгоритм их работы ничем не отличается от стандарта 802.1D или Source Routing.

Прозрачные мосты умеют кроме передачи кадров в рамках одной технологии транслировать протоколы локальных сетей, например Ethernet в Token Ring, FDDI в Ethernet и т. п. Это свойство прозрачных мостов описано в стандарте IEEE 802.1H.

Далее в статье мы при описании самих алгоритмов 802.1D и Source Routing в следующем разделе оставим традиционное название — мост, используемое в этих стандартах.

АЛГОРИТМ РАБОТЫ ПРОЗРАЧНОГО МОСТА

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

Процесс автоматического создания адресной таблицы моста и ее использования мы рассмотрим на примере простой сети, представленной на Рисунке 4. Мост соединяет два логических сегмента Ethernet. Сегмент 1 составляют компьютеры, подключенные с помощью одного отрезка коаксиального кабеля к порту 1 моста, а сегмент 2 — компьютеры, подключенные с помощью другого отрезка коаксиального кабеля к порту 2 моста.

Рисунок 4. Принцип работы прозрачного моста.

Каждый порт работает как конечный узел своего сегмента за одним исключением — порт моста не имеет собственного MAC-адреса. Он работает в режиме приема всех пакетов (promisquous mode), когда все поступающие пакеты помещаются в буферную память. С помощью такого режима мост следит за трафиком, передаваемым в присоединенных к нему сегментах, и использует проходящие через него пакеты для изучения состава сети. Так как в буфер записываются все пакеты, то адрес порту моста не нужен.

В исходном состоянии мост ничего не знает о том, какие MAC-адреса имеют компьютеры, подключенные к каждому из его портов. Поэтому если в такой момент на какой-либо из его интерфейсов поступает кадр, то мост просто передает его на все свои порты, за исключением того, от которого этот кадр получен. В нашем примере у моста только два порта, поэтому он передает все кадры с порта 1 на порт 2, и наоборот. Отличие работы моста в этом режиме от повторителя в том, что он передает кадр не побитно, а с буферизацией. Буферизация разрывает логику работы всех сегментов как единой разделяемой среды. Когда мост собирается передать кадр из сегмента в сегмент, например из сегмента 1 в сегмент 2, он заново пытается получить доступ к сегменту 2 как конечный узел по правилам алгоритма доступа, в данном примере — по правилам алгоритма CSMA/CD.

Рисунок 5. Структура моста/коммутатора.

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

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

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

Рисунок 6. Адресная таблица моста System 3000 Local Bridge.

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

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

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

Статические записи не имеют срока жизни, поэтому администратору позволено корректировать работу моста, если это необходимо.

Как и кадры с неизвестным адресом назначения, кадры с широковещательными MAC-адресами передаются мостом на все его порты. Такой режим распространения называется веерной рассылкой (flood). Наличие мостов в сети не препятствует распространению широковещательных кадров по всем сегментам сети, сохраняя ее прозрачность. Это становится достоинством только в том случае, когда широковещательный адрес задан корректно работающим узлом. Однако часто случается так, что в результате каких-либо программных или аппаратных сбоев протокол верхнего уровня или сам сетевой адаптер начинают работать некорректно и постоянно с высокой интенсивностью генерировать кадры с широковещательным адресом в течение длительного промежутка времени. Мост в таких условиях передает их во все сегменты, заполняя сеть ошибочным трафиком. Подобная ситуация называется широковещательным штормом (broadcast storm).

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

Типичная структура моста/коммутатора представлена на Рисунке 2. Функции доступа к среде при приеме и передаче кадров выполняют микросхемы MAC, которые идентичны микросхемам сетевого адаптера.

На Рисунке 3 показана копия экрана терминала с адресной таблицей модуля локального моста концентратора System 3000 компании SynOptics (сам концентратор уже не выпускается, но в свое время он сыграл роль пионера в становлении многосегментных концентраторов Ethernet на витой паре, причем концентратор имел модуль моста для соединения внутренних сегментов без привлечения внешнего моста). Терминал подключен к консольному порту, и информация на его экране высвечена модулем управления моста.

Из помещенной на экране адресной таблицы (Forwarding Table) видно, что сеть состоит из двух сегментов — LAN A и LAN B. В сегменте LAN A имеются по крайней мере три станции, а в сегменте LAN B — две. Четыре адреса, помеченные звездочками, являются статическими, т. е. назначенными администратором вручную. Адрес, помеченный знаком «+», — динамический адрес с истекшим сроком жизни.

Таблица содержит столбец Dispn — «Распоряжение», на основании которого определяется, какую операцию нужно проделать с кадром, обладающим данным адресом назначения. Обычно при автоматическом составлении таблицы в этом поле ставится условное обозначение порта назначения, но при ручном управлении в нем можно указать нестандартную операцию обработки кадра. Например, операция flood предписывает мосту распространять кадр в широковещательном режиме, несмотря на то что его адрес назначения не является широковещательным. Операция discard указывает, что кадр с таким адресом не нужно передавать на порт назначения.

Иными словами, операции, задаваемые в поле Dispn, — это особые условия фильтрации кадров, дополняющие стандартные условия их распространения. Обычно они называются пользовательскими фильтрами.

Наталья Олифер — обозреватель «Журнала сетевых решений/LAN». С ней можно связаться по адресу: olifer@hotbox.ru. Виктор Олифер — главный специалист «Корпорации ЮНИ». С ним можно связаться по адресу: Volifer@uniinc.ru.