Локальные сети на основе коммутаторов
Содержание
Введение. Тенденция вытеснения концентраторов и маршрутизаторов коммутаторами
Технологии коммутации кадров (frame switching) в локальных сетях
Ограничения традиционных технологий (Ethernet, Token Ring), основанных на разделяемых средах передачи данных
Локальные мосты - предшественники коммутаторов
Принципы коммутации сегментов и узлов локальных сетей, использующих традиционные технологии
Полнодуплексные (full-duplex) протоколы локальных сетей - ориентация исключительно на коммутацию кадров
ATM-коммутация
Особенности коммутаторов локальных сетей
Техническая реализация коммутаторов
Коммутаторы на основе коммутационной матрицы
Коммутаторы с общей шиной
Коммутаторы с разделяемой памятью
Комбинированные коммутаторы
Модульные и стековые коммутаторы
Характеристики производительности коммутаторов
Скорость фильтрации и скорость продвижения
Оценка необходимой общей производительности коммутатора
Размер адресной таблицы
Объем буфера
Дополнительные возможности коммутаторов
Трансляция протоколов канального уровня
Поддержка алгоритма Spanning Tree
Способы управления потоком кадров
Возможности коммутаторов по фильтрации трафика
Коммутация "на лету" или с буферизацией
Использование различных классов сервиса (class-of-service)
Поддержка виртуальных сетей
Управление коммутируемыми сетями
Типовые схемы применения коммутаторов в локальных сетях
Коммутатор или концентратор?
Коммутатор или маршрутизатор?
Стянутая в точку магистраль на коммутаторе
Распределенная магистраль на коммутаторах
Обзор моделей коммутаторов
Коммутаторы Catalyst компании Cisco Systems
Коммутатор EliteSwitch ES/1 компании SMC
Коммутаторы локальных сетей компании 3Com
Примеры АТМ-коммутаторов для локальных сетей
Введение. Тенденция вытеснения концентраторов и маршрутизаторов коммутаторамиТранспортная система локальных сетей масштаба здания или кампуса уже достаточно давно стала включать разнообразные типы активного коммуникационного оборудования - повторители, концентраторы, коммутаторы и маршрутизаторы, соединенные в сложные иерархические структуры, вроде той, которая изображена на рисунке 1.1.
Рис. 1.1. Типичная структура сети здания или кампуса
Активное оборудование управляет циркулирующими в сети битами, кадрами и пакетами, стараясь организовать их передачу так, чтобы данные терялись как можно реже, а попадали к адресатам как можно быстрее, в соответствии с потребностями трафика работающих в сети приложений.
Описанный подход стал нормой при проектировании крупных сетей и полностью вытеснил сети, построенные исключительно на основе пассивных сегментов кабеля, которыми совместно пользуются для передачи информации компьютеры сети. Преимущества сетей с иерархически соединенным активным оборудованием не раз проверены на практике и сейчас никем не оспариваются.
И, если не обращать внимание на типы используемого оборудования, а рассматривать их просто как многопортовые черные ящики, то может сложиться впечатление, что никаких других изменений в теории и практике построения локальных сетей нет - предлагаются и реализуются очень похожие схемы, отличающиеся только количеством узлов и уровней иерархии коммуникационного оборудования.
Однако, качественный анализ используемого оборудования говорит об обратном. Изменения есть, и они существенны. За последние год-два коммутаторы стали заметно теснить другие виды активного оборудования с казалось бы прочно завоеванных позиций. Несколько лет назад в типичной сети здания нижний уровень иерархии всегда занимали повторители и концентраторы, верхний строился с использованием маршрутизаторов, а коммутаторам отводилось место где-то посередине, на уровне сети этажа. К тому же, коммутаторов обычно было немного - их ставили только в очень загруженные сегменты сети или же для подключения сверхпроизводительных серверов.
Коммутаторы стали вытеснять маршрутизаторы из центра сети на периферию (рисунок 1.2), где они использовались для соединения локальной сети с глобальными.
Рис. 1.2. Совместное использование коммутаторов и маршрутизаторов
Центральное место в сети здания занял модульный корпоративный коммутатор, который объединял на своей внутренней, как правило, очень производительной, магистрали все сети этажей и отделов. Коммутаторы потеснили маршрутизаторы потому, что их показатель "цена/производительность", рассчитанный для одного порта, оказался гораздо ниже при приближающихся к маршрутизаторам функциональным возможностям по активному воздействию на передаваемый трафик. Сегодняшние корпоративные коммутаторы умеют многое из того, что несколько лет назад казалось исключительной прерогативой маршрутизаторов: транслировать кадры разных технологий локальных сетей, например Ethernet в FDDI, осуществлять фильтрацию трафика по различным условиям, в том числе и задаваемым пользователем, изолировать трафик одного сегмента от другого и т.п. Коммутаторы ввели также и новую технологию, которая до их появления не применялась - технологию виртуальных сегментов, позволяющих перемещать пользователей из одного сегмента в другой чисто программным путем, без физической перекоммутации разъемов. И при всем при этом стоимость за один порт при равной производительности у коммутаторов оказывается в несколько раз ниже, чем у маршрутизаторов.
После завоевания магистрального уровня корпоративной сети коммутаторы начали наступление на сети рабочих групп, где до этого в течение последних пяти лет всегда использовались многопортовые повторители (концентраторы) для витой пары, заменившие пассивные коаксиальные сегменты. Появились коммутаторы, специально предназначенные для этой цели - простые, часто неуправляемые устройства, способные только быстро передавать кадры с порта на порт по адресу назначения, но не поддерживающие всей многофункциональности корпоративных коммутаторов. Стоимость таких коммутаторов в расчете на один порт быстро снижается и, хотя порт концентратора по-прежнему стоит меньше порта коммутатора рабочей группы, тенденция к сближению их цен налицо.
Подтверждением этой тенденции могут служить данные исследовательских компаний InStat и Dell'Oro Group за 1996 год и их прогноз на 1998 год:
1996 1998Процент сниженияза два года Средняя цена за порт концентратора Ethernet $101 $946.9% Fast Ethernet $200 $14527.5% Средняя цена за порт коммутатора Ethernet $427 $20053% Fast Ethernet $785 $50036.3% Отношение порт коммутатора/порт концентратора Ethernet 4.22 2.1 Fast Ethernet 3.9 3.4
Эти данные собраны по всем классам коммутаторов, от уровня рабочей группы до магистрального уровня, где концентраторы не применяются, поэтому сопоставление концентраторов только с коммутаторами рабочих групп дало бы еще более близкие в стоимостном отношении результаты, так как стоимость за порт Ethernet у отдельных коммутаторов доходит до $150, то есть всего в полтора раза превышает стоимость порта концентратора Ethernet.
В то же время производительность сети, построенной на коммутаторе, обычно в несколько раз превышает производительность аналогичной сети, построенной с использованием концентратора. Так как плата за повышение производительности не так уж велика и постоянно снижается, то многие сетевые интеграторы все чаще соглашаются с ней для снижения задержек в своей сети. С распространением работающих в реальном времени приложений ущерб от транспортных задержек становится все ощутимее, а нагрузка на транспортную систему возрастает, что еще больше стимулирует приближение таких высокопроизводительных устройств, как коммутаторы, к пользовательским компьютерам.
Естественно, тенденция повышения роли коммутаторов в локальных сетях не имеет абсолютного характера. И у маршрутизаторов, и у концентраторов по-прежнему имеются свои области применения, где их применение более рационально, чем коммутаторов. Маршрутизаторы остаются незаменимыми при подключении локальной сети к глобальной. Кроме того, маршрутизаторы хорошо дополняют коммутаторы при построении виртуальных сетей из виртуальных сегментов, так как дают испытанный способ объединения сегментов в сеть на основании их сетевых адресов.
Концентраторы также имеют сегодня свою нишу. По-прежнему существует большое количество случаев, когда трафик в рабочей группе невелик и направлен к одному серверу. В таких случаях высокая производительность коммутатора мало что дает конечному пользователю - при замене концентратора на коммутатор он ее практически не почувствует.
Тем не менее, в локальных сетях появляется все больше коммутаторов, и эта ситуация вряд ли коренным образом изменится в ближайшем будущем. Некоторые новые технологии, такие как ATM, вообще используют коммутацию как единственный способ передачи данных в сети, другие, например, Gigabit Ethernet - рассматривают ее в качестве, хотя и не единственного, но основного способа связи устройств в сети.
Технологии коммутации кадров (frame switching) в локальных сетях Ограничения традиционных технологий (Ethernet, Token Ring), основанных на разделяемых средах передачи данныхПовторители и концентраторы локальных сетей реализуют базовые технологии, разработанные для разделяемых сред передачи данных. Классическим представителем такой технологии является технология Ethernet на коаксиальном кабеле. В такой сети все компьютеры разделяют во времени единственный канал связи, образованный сегментом коаксиального кабеля (рисунок 2.1).
Рис. 2.1. Разделяемый канал передачи данных в сети Ethernet
При передаче каким-нибудь компьютером кадра данных все остальные компьютеры принимают его по общему коаксиальному кабелю, находясь с передатчиком в постоянном побитном синхронизме. На время передачи этого кадра никакие другие обмены информации в сети не разрешаются. Способ доступа к общему кабелю управляется несложным распределенным механизмом арбитража - каждый компьютер имеет право начать передачу кадра, если на кабеле отсутствуют информационные сигналы, а при одновременной передаче кадров несколькими компьютерами схемы приемников умеют распознавать и обрабатывать эту ситуацию, называемую коллизией. Обработка коллизии также несложна - все передающие узлы прекращают выставлять биты своих кадров на кабель и повторяют попытку передачи кадра через случайный промежуток времени.
Работа всех узлов сети Ethernet в режиме большой распределенной электронной схемы с общим тактовым генератором приводит к нескольким ограничениям, накладываемым на сеть. Основными ограничениями являются:
Максимально допустимая длина сегмента. Она зависит от типа используемого кабеля: для витой пары это 100 м, для тонкого коаксиала - 185 м, для толстого коаксиала - 500 м, а для оптоволокна - 2000 м. Для наиболее дешевых и распространенных типов кабеля - витой пары и тонкого коаксиала - это ограничение часто становится весьма нежелательным. Технология Ethernet предлагает использовать для преодоления этого ограничения повторители и концентраторы, выполняющие функции усиления сигнала, улучшения формы фронтов импульсов и исправления погрешностей синхронизации. Однако возможности этих устройств по увеличению максимально допустимого расстояния между двумя любыми узлами сети (которое называется диаметром сети) не очень велики - число повторителей между узлами не может превышать 4-х (так называемое правило четырех хабов). Для витой пары это дает увеличение до 500 м (рисунок 2.2). Кроме того, существует общее ограничение на диаметр сети Ethernet - не более 2500 м для любых типов кабеля и любого количества установленных концентраторов. Это ограничение нужно соблюдать для четкого распознавания коллизий всеми узлами сети, как бы далеко (в заданных пределах) они друг от друга не находились, иначе кадр может быть передан с искажениями.Рис. 2.2. Максимальный диаметр сети Ethernet на витой паре
Максимальное число узлов в сети. Стандарты Ethernet ограничивают число узлов в сети предельным значением в 1024 компьютера вне зависимости от типа кабеля и количества сегментов, а каждая спецификация для конкретного типа кабельной системы устанавливает еще и свое, более жесткое ограничение. Так, к сегменту кабеля на тонком коаксиале нельзя подключить более 30 узлов, а для толстого коаксиала это число увеличивается до 100 узлов. В сетях Ethernet на витой паре и оптоволокне каждый отрезок кабеля соединяет всего два узла, но так как количество таких отрезков спецификация не оговаривает, то здесь действует общее ограничение в 1024 узла.Существуют также и другие причины, кроме наличия указанных в стандартах ограничений, по которым число узлов в сети Ethernet обычно не превосходит нескольких десятков. Эти причины лежат в самом принципе разделения во времени одного канала передачи данных между всеми узлами сети. При подключении к такому каналу каждый узел пользуется его пропускной способностью - 10 Мб/с - в течение только некоторой доли общего времени работы сети. Соответственно, на узел приходится эта же доля пропускной способности канала. Даже если упрощенно считать, что все узлы получают равные доли времени работы канала и непроизводительные потери времени отсутствуют, то при наличии в сети N узлов на один узел приходится только 10/N Мб/с пропускной способности. Очевидно, что при больших значениях N пропускная способность, выделяемая каждому узлу, оказывается настолько малой величиной, что нормальная работа приложений и пользователей становится невозможной - задержки доступа к сетевым ресурсам превышают тайм-ауты приложений, а пользователи просто отказываются так долго ждать отклика сети.
Случайный характер алгоритма доступа к среде передачи данных, принятый в технологии Ethernet, усугубляет ситуацию. Если запросы на доступ к среде генерируются узлами в случайные моменты времени, то при большой их интенсивности вероятность возникновения коллизий также возрастает и приводит к неэффективному использованию канала: время обнаружения коллизии и время ее обработки составляют непроизводительные затраты. Доля времени, в течение которого канал предоставляется в распоряжение конкретному узлу, становится еще меньше.
На рисунке 2.3 показана зависимость задержек доступа к среде передачи данных в сети Ethernet от количества узлов сети. Экспоненциальный рост задержек при увеличении числа узлов очень характерен как для технологии Ethernet, так и для других технологий локальных сетей, основанных на разделении каналов во времени - Token Ring, FDDI, 100VG-AnyLAN.
Рис. 2.3. Зависимость задержек доступа к среде передачи данных
сети Ethernet от числа узлов сети
До недавнего времени в локальных сетях редко использовались мультимедийные приложения, перекачивающие большие файлы данных, нередко состоящие из нескольких десятков мегабайт. Приложения же, работающие с алфавитно-цифровой информацией, не создавали значительного трафика. Поэтому долгое время для сегментов Ethernet было действительным эмпирическое правило - в разделяемом сегменте не должно быть больше 30 узлов. Теперь ситуация изменилась и нередко 3-4 компьютера полностью загружают сегмент Ethernet с его максимальной пропускной способностью в 10 Мб/с или же 14880 кадров в секунду.
Более универсальным критерием загруженности сегмента Ethernet по сравнению с общим количеством узлов является суммарная нагрузка на сегмент, создаваемая его узлами. Если каждый узел генерирует в среднем mi кадров в секунду для передачи по сети, то средняя суммарная нагрузка на сеть будет составлять Si mi кадров в секунду. Известно, что при отсутствии коллизий, то есть при самом благоприятном разбросе запросов на передачу кадров во времени, сегмент Ethernet может передать не больше 14880 кадров в секунду (для самых коротких по стандарту кадров в 64 байта). Поэтому, если принять эту величину за единицу, то отношение Si mi/14880 будет характеризовать степень использования канала, называемый также коэффициентом загрузки.
Зависимость времени ожидания доступа к сети от коэффициента загрузки гораздо меньше зависит от интенсивности трафика каждого узла, поэтому эту величину удобно использовать для оценки пропускной способности сети, состоящей из произвольного числа узлов. Имитационное моделирование сети Ethernet и исследование ее работы с помощью анализаторов протоколов показали, что при коэффициенте загрузки в районе 0.3 - 0.5 начинается быстрый рост числа коллизий и соответственно времени ожидания доступа. Поэтому во многих системах управления сетями пороговая граница для индикатора коэффициента загрузки по умолчанию устанавливается на величину 0.3.
Ограничения, связанные с возникающими коллизиями и большим временем ожидания доступа при значительной загрузке разделяемого сегмента, чаще всего оказываются более серьезными, чем ограничение на максимальное количество узлов, определенное в стандарте из соображений устойчивой передачи электрических сигналов в кабелях.
Технология Ethernet была выбрана в качестве примера при демонстрации ограничений, присущих технологиям локальных сетей, так как в этой технологии ограничения проявляются наиболее ярко, а их причины достаточно очевидны. Однако подобные ограничения присущи и всем остальным технологиям локальных сетей, так как они опираются на использование среды передачи данных как одного разделяемого ресурса. Кольца Token Ring и FDDI также могут использоваться узлами сети только в режиме разделяемого ресурса. Отличие от канала Ethernet здесь состоит только в том, что маркерный метод доступа определяет детерминированную очередность предоставления доступа к кольцу, но по-прежнему при предоставлении доступа одного узла к кольцу все остальные узлы не могут передавать свои кадры и должны ждать, пока владеющий правом доступа узел не завершит свою передачу.
Как и в технологии Ethernet, в технологиях Token Ring, FDDI, Fast Ethernet и 100VG-AnyLAN также определены максимальные длины отдельных физических сегментов кабеля и ограничения на максимальный диаметр сети и максимальное количество в ней узлов. Эти ограничения несколько менее стеснительны, чем у технологии Ethernet, но также могут быть серьезным препятствием при создании крупной сети.
Особенно же быстро может проявиться ограничение, связанное с коэффициентом загрузки общей среды передачи данных. Хотя метод маркерного доступа, используемый в технологиях Token Ring и FDDI, или метод приоритетных требований технологии 100VG-AnyLAN позволяют работать с более загруженными средами, все равно отличия эти только количественные - резкий рост времени ожидания начинается в таких сетях при больших коэффициентах загрузки, где-то в районе 60% - 70%. Качественный характер нарастания времени ожидания доступа и в этих технологиях тот же, и он не может быть принципиально иным, когда общая среда передачи данных разделяется во времени между компьютерами сети.
Общее ограничение локальных сетей, построенных только с использованием повторителей и концентраторов, состоит в том, что общая производительность такой сети всегда фиксирована и равна максимальной производительности используемого протокола. И эту производительность можно повысить только перейдя к другой технологии, что связано с дорогостоящей заменой всего оборудования.
Рассмотренные ограничения являются платой за преимущества, которые дает использование разделяемых каналов в локальных сетях. Эти преимущества существенны, недаром технологии такого типа существуют уже около 20 лет.
К преимуществам нужно отнести в первую очередь:
простоту топологии сети; гарантию доставки кадра адресату при соблюдении ограничений стандарта и корректно работающей аппаратуре; простоту протоколов, обеспечившую низкую стоимость сетевых адаптеров, повторителей и концентраторов;Однако начавшийся процесс вытеснения повторителей и концентраторов коммутаторами говорит о том, что приоритеты изменились, и за повышение общей пропускной способности сети пользователи готовы пойти на издержки, связанные с приобретением коммутаторов вместо концентраторов.
Локальные мосты - предшественники коммутаторовДля преодоления ограничений технологий локальных сетей уже достаточно давно начали применять локальные мосты, функциональные предшественники коммутаторов.
Мост - это устройство, которое обеспечивает взаимосвязь двух (реже нескольких) локальных сетей посредством передачи кадров из одной сети в другую с помощью их промежуточной буферизации. Мост, в отличие от повторителя, не старается поддержать побитовый синхронизм в обеих объединяемых сетях. Вместо этого он выступает по отношению к каждой из сетей как конечный узел. Он принимает кадр, буферизует его, анализирует адрес назначения кадра и только в том случае, когда адресуемый узел действительно принадлежит другой сети, он передает его туда.
Для передачи кадра в другую сеть мост должен получить доступ к ее разделяемой среде передачи данных в соответствии с теми же правилами, что и обычный узел.
Таким образом мост, изолирует трафик одного сегмента от трафика другого сегмента, фильтруя кадры. Так как в каждый из сегментов теперь направляется трафик от меньшего числа узлов, то коэффициент загрузки сегментов уменьшается (рисунок 2.4).
Рис. 2.4. Локализация трафика при использовании моста
Мост не только снижает нагрузку в объединенной сети, но и уменьшает возможности несанкционированного доступа, так как пакеты, предназначенные для
циркуляции внутри одного сегмента, физически не появляются на других, что исключает их "прослуши-
вание" станциями других сегментов.
По своему принципу действия мосты подразделяются на два типа. Мосты первого типа выполняют так называемую маршрутизацию от источника (Source Routing), метод, разработанный фирмой IBM для своих сетей Token Ring. Этот метод требует, чтобы узел-отправитель пакета размещал в нем информацию о маршруте пакета. Другими словами, каждая станция должна выполнять функции по маршрутизации пакетов. Второй тип мостов осуществляет прозрачную для конечных станций передачу пакетов (Transparent Bridges). Именно этот тип мостов лег в основу современных коммутаторов, поэтому остановимся на нем подробнее.
Функции и алгоритмы прозрачных мостов
Прозрачные мосты являются наиболее распространенным типом мостов. Для прозрачных мостов сеть представляется наборами МАС-адресов устройств, используемых на канальном уровне, причем каждый набор связан с определенным портом моста.
Мосты используют эти адреса для принятия решения о продвижении кадра, когда кадр записывается во внутренний буфер моста из какого-либо его порта. Мосты не имеют доступа к информации об адресах сетей, относящейся к более высокому - сетевому - уровню, и они ничего не знают о топологии связей сегментов или сетей между собой. Таким образом, мосты являются совершенно прозрачными для протоколов, начиная с сетевого уровня и выше. Эта прозрачность позволяет мостам передавать пакеты различных протоколов высокого уровня, никоим образом не влияя на их содержимое.
Вследствие функциональной ограниченности мосты имеют достаточно простое устройство и представляют собой удобное и недорогое средство для построения интерсети.
Мосты обеспечивают возможность соединения двух или более сетей для образования единой логической сети. Исходные сети становятся сетевыми сегментами результирующей сети. Каждый такой сегмент остается доменом коллизий, то есть участком сети, в котором все узлы одновременно фиксируют и обрабатывают коллизию. Однако коллизии одного сегмента не приводят к возникновению коллизий в другом сегменте, так как мост не осуществляет побитовый синхронизм сегментов и ограничивает коллизии тем сегментом, в котором они возникают.
Мосты регенерируют пакеты, которые они передают с одного порта на другой (операция forwarding). Одним из преимуществ использования мостов является увеличение расстояния, покрываемого интерсетью, так как количество пересекаемых мостов не оказывает влияния на качество сигнала.
Рис. 2.5. Мост как коммуникационное устройство канального уровня
Прозрачные мосты имеют дело как с адресом источника, так и с адресом назначения, имеющимися в кадрах локальных сетей. Мост использует адрес источника для автоматического построения своей базы данных адресов устройств, называемой также таблицей адресов устройств. В этой таблице устанавливается принадлежность адреса узла какому-либо порту моста. Все операции, которые выполняет мост, связаны с этой базой данных. На рисунке 2.5 показан фрагмент сети, содержащий двухпортовый мост, и соответствующая этому фрагменту часть таблицы адресов устройств. Внутренняя структура моста показана на рисунке 2.6. Функции доступа к среде при приеме и передаче кадров выполняют микросхемы MAC.
Рис. 2.6. Состав и структура моста
Все порты моста работают в так называемом "неразборчивом" (promisquous) режиме захвата пакетов, то есть все поступающие на порт пакеты запоминаются в буферной памяти. С помощью такого режима мост следит за всем трафиком, передаваемым в присоединенных к нему сегментах и использует проходящие через него пакеты для изучения состава сети.
Когда мост получает кадр от какого-либо своего порта, то он (после буферизации) сравнивает адрес источника с элементами базы данных адресов. Если адрес отсутствует в базе, то он добавляется в нее. Если этот адрес уже имеется в базе, то возможны два варианта - либо адрес пришел с того же порта, который указан в таблице, либо он пришел с другого порта. В последнем случае строка таблицы, соответствующая обрабатываемому адресу, обновляется - номер порта заменяется на новое значение (очевидно, станцию с данным адресом переместили в другой сегмент сети). Таким способом мост "изучает" адреса устройств сети и их принадлежность портам и соответствующим сегментам сети. Из-за способности моста к "обучению" к сети могут добавляться новые устройства без необходимости реконфигурирования моста. Администратор может объявить часть адресов статическими и не участвующими в процессе обучения (при этом он их должен задать сам). В случае статического адреса приход пакета с данным адресом и значением порта, не совпадающим с хранящимся в базе, будет проигнорирован и база не обновится.
Кроме адреса источника мост просматривает и адрес назначения кадра, чтобы принять решение о его дальнейшем продвижении. Мост сравнивает адрес назначения кадра с адресами, хранящимися в его базе. Если адрес назначения принадлежит тому же сегменту, что и адрес источника, то мост "фильтрует" (filtering) пакет, то есть удаляет его из своего буфера и никуда не передает. Эта операция помогает предохранить сеть от засорения ненужным трафиком.
Если адрес назначения присутствует в базе данных и принадлежит другому сегменту по сравнению с сегментом адреса источника, то мост определяет, какой из его портов связан с этим адресом и "продвигает" (forwarding) кадр на соответствующий порт. Затем порт должен получить доступ к среде подключенного к нему сегмента и передать кадр узлам данного сегмента.
Если же адрес назначения отсутствует в базе или же это широковещательный адрес, то мост передает кадр на все порты, за исключением того порта, с которого он пришел. Такой процесс называется "затоплением" (flooding) сети. Затопление гарантирует, что пакет будет помещен на все сегменты сети и, следовательно, доставлен адресату или адресатам. Точно также мост поступает по отношению к кадрам с неизвестным адресом назначения, затопляя им сегменты сети. Очевидно, что некоторое время после инициализации мост выполняет только операцию затопления, так как он ничего не знает о принадлежности адресов сегментам сети.
Рисунок 2.5 иллюстрирует процессы обучения, фильтрации и продвижения. Предположим, что станции 1 и 2 являются новыми станциями на сегменте 1. Когда станция 1 впервые направляет кадр станции 2, то мост определяет, что адреса станции 1 нет в базе адресов и добавляет его туда. Затем, так как адреса станции 2 также нет в базе адресов, мост "затапливает" все сегменты (в данном случае это только один сегмент 2).
Когда станция 2 посылает ответный кадр, мост добавляет в свою базу и адрес 2. Затем он просматривает таблицу базы адресов и обнаруживает, что адрес 1 в ней имеется и относится к сегменту 1, которому принадлежит и адрес источника. Поэтому он фильтрует этот кадр, то есть удаляет его из буфера и никуда не передает.
Мост, работающий по описанному алгоритму, прозрачен не только для протоколов всех уровней, выше канального, но и для конечных узлов сети. Эта прозрачность состоит в том, что узлы не посылают мосту свои кадры специальным образом, указывая в них адрес порта моста. Даже при наличии моста в сети конечные узлы продолжают посылать кадры данных непосредственно другим узлам, указывая их адреса в качестве адресов назначения кадров. Поэтому порты мостов вообще не имеют МАС-адресов, работая в режиме "неразборчивого" захвата всех кадров. Такая прозрачность моста упрощает работу конечных узлов, и это свойство коренным образом отличает мост от маршрутизатора, которому узел отправляет кадр явным образом, указывая МАС-адрес порта маршрутизатора в своем кадре.
На рисунке 2.7 показана копия экрана с адресной таблицей модуля моста концентратора System 3000 компании Bay Networks. Из него видно, что сеть состоит из двух сегментов - LAN A и LAN B. В сегменте LAN A имеется по крайней мере 3 станции, а в сегменте LAN B - 2. Четыре адреса, помеченные звездочками, являются статическими, причем кадры, имеющие адреса, помеченные Flood, должны распространяться широковещательно.
Описанная процедура хорошо работает до тех пор, пока пользователи не переносят свои компьютеры из одного логического сегмента в другой. Так как MAC-адрес сетевого адаптера аппаратно устанавливается изготовителем, то при перемещении компьютера мосты должны периодически обновлять содержимое своих адресных баз. Для обеспечения этой функции записи в адресной базе делятся на два типа - статические и динамические. С каждой динамической записью связан таймер неактивности. Когда мост принимает кадр с адресом источника, соответствующим некоторой записи в адресной базе, то соответствующий таймер неактивности сбрасывается в исходное состояние. Если же от какой-либо станции долгое время не поступает кадров, то таймер неактивности исчерпывает свой интервал, и соответствующая ему запись удаляется из адресной базы.
Рис. 2.7. Таблица продвижений моста System 3000 Local Bridge
Проблема петель при использовании мостов
Обучение, фильтрация и продвижение основаны на существовании одного логического пути между любыми двумя узлами сети. Наличие нескольких путей между устройствами, известных также как "активные петли", создает проблемы для сетей, построенных на основе мостов.
Рис. 2.8. Влияние замкнутых маршрутов на работу мостов
Рассмотрим в качестве примера сеть, приведенную на рисунке 2.8. Два сегмента параллельно соединены двумя мостами так, что образовалась активная петля. Пусть новая станция с адресом 10 впервые посылает пакет другой станции сети, адрес которой также пока неизвестен мосту. Пакет попадает как в мост 1, так и в мост 2, где его адрес заносится в базу адресов с пометкой о его принадлежности сегменту 1. Так как адрес назначения неизвестен мосту, то каждый мост передает пакет на сегмент 2. Эта передача происходит поочередно, в соответствии с методом случайного доступа технологии Ethernet. Пусть первым доступ к сегменту 2 получил мост 1. При появлении пакета на сегменте 2 мост 2 принимает его в свой буфер и обрабатывает. Он видит, что адрес 10 уже есть в его базе данных, но пришедший пакет является более свежим, и он утверждает, что адрес 10 принадлежит сегменту 2, а не 1. Поэтому мост 2 корректирует содержимое базы и делает запись о том, что адрес 10 принадлежит сегменту 2. Аналогично поступает мост 1, когда мост 2 передает свою буферизованную ранее первую версию пакета на сегмент 2. В результате пакет бесконечно циркулирует по активной петле, а мосты постоянно обновляют записи в базе, соответствующие адресу 10. Сеть засоряется ненужным трафиком, а мосты входят в состояние "вибрации", постоянно обновляя свои базы данных.
В простых сетях сравнительно легко гарантировать существование одного и только одного пути между двумя устройствами. Но когда количество соединений возрастает или интерсеть становится сложной, то вероятность непреднамеренного образования петли становится высокой. Кроме того, желательно для повышения надежности иметь между мостами резервные связи, которые не участвуют при нормальной работе основных связей в передаче информационных пакетов станций, но при отказе какой-либо основной связи образуют новую связную рабочую конфигурацию без петель. Описанные задачи решает алгоритм покрывающего дерева (Spanning Tree Algorithm, STA).
Требования к пропускной способности моста
До сих пор мы предполагали, что при использовании моста для связи двух сегментов вместо повторителя общая производительность сети всегда повышается, так как уменьшается количество узлов в каждом сегменте и загрузка сегмента уменьшается на ту долю трафика, который теперь является внутренним трафиком другого сегмента. Это действительно так, но при условии что мост передает межсегментный трафик без значительных задержек и без потерь кадров. Однако, анализ рассмотренного алгоритма работы моста говорит о том, что мост может и задерживать кадры и, при определенных условиях, терять их. Задержка, вносимая мостом, равна по крайней мере времени записи кадра в буфер. Как правило, после записи кадра на обработку адресов также уходит некоторое время, особенно если размер адресной таблицы велик. Поэтому задержка увеличивается на время обработки кадра.
Время обработки кадра влияет не только на задержку, но и на вероятность потери кадров. Если время обработки кадра окажется меньше интервала до поступления следующего кадра, то следующий кадр будет помещен в буфер и будет ожидать там, пока процессор моста не освободиться и не займется обработкой поступившего кадра. Если средняя интенсивность поступления кадров будет в течение длительного времени превышать производительность моста, то есть величину, обратную среднему времени обработки кадра, то буферная память, имеющаяся у моста для хранения необработанных кадров, может переполниться. В такой ситуации мосту некуда будет записывать поступающие кадры и он начнет их терять, то есть просто отбрасывать.
Потеря кадра - ситуация очень нежелательная, так как ее последствия не ликвидируются протоколами локальных сетей. Потеря кадра будет исправлена только протоколами транспортного или прикладного уровней, которые заметят потерю части своих данных и организуют их повторную пересылку. Однако, при регулярных потерях кадров канального уровня производительность сети может уменьшится в несколько раз, так как тайм-ауты, используемые в протоколах верхних уровней, существенно превышают времена передачи кадров на канальном уровне, и повторная передача кадра может состояться через десятки секунд.
Для предотвращения потерь кадров мост должен обладать производител