Для преодоления ограниченийтехнологий локальных сетей ужедостаточно давно начали применятьлокальные мосты, функциональныепредшественники коммутаторов.
Мост - это устройство, котороеобеспечивает взаимосвязь двух(реже нескольких) локальных сетейпосредством передачи кадров изодной сети в другую с помощью ихпромежуточной буферизации. Мост, вотличие от повторителя, нестарается поддержать побитовыйсинхронизм в обеих объединяемыхсетях. Вместо этого он выступает поотношению к каждой из сетей какконечный узел. Он принимает кадр,буферизует его, анализирует адресназначения кадра и только в томслучае, когда адресуемый узелдействительно принадлежит другойсети, он передает его туда.
Для передачи кадра в другую сетьмост должен получить доступ к ееразделяемой среде передачи данныхв соответствии с теми же правилами,что и обычный узел.
Таким образом мост, изолируеттрафик одного сегмента от трафикадругого сегмента, фильтруя кадры.Так как в каждый из сегментовтеперь направляется трафик отменьшего числа узлов, токоэффициент загрузки сегментовуменьшается (рисунок 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 TreeAlgorithm, STA).
Требования к пропускнойспособности моста
До сих пор мы предполагали, чтопри использовании моста для связидвух сегментов вместо повторителяобщая производительность сетивсегда повышается, так какуменьшается количество узлов вкаждом сегменте и загрузкасегмента уменьшается на ту долютрафика, который теперь являетсявнутренним трафиком другогосегмента. Это действительно так, нопри условии что мост передаетмежсегментный трафик беззначительных задержек и без потерькадров. Однако, анализрассмотренного алгоритма работымоста говорит о том, что мост можети задерживать кадры и, приопределенных условиях, терять их.Задержка, вносимая мостом, равна покрайней мере времени записи кадра вбуфер. Как правило, после записикадра на обработку адресов такжеуходит некоторое время, особенноесли размер адресной таблицы велик.Поэтому задержка увеличивается навремя обработки кадра.
Время обработки кадра влияет нетолько на задержку, но и навероятность потери кадров. Есливремя обработки кадра окажетсяменьше интервала до поступленияследующего кадра, то следующий кадрбудет помещен в буфер и будетожидать там, пока процессор мостане освободиться и не займетсяобработкой поступившего кадра.Если средняя интенсивностьпоступления кадров будет в течениедлительного времени превышатьпроизводительность моста, то естьвеличину, обратную среднемувремени обработки кадра, тобуферная память, имеющаяся у мостадля хранения необработанныхкадров, может переполниться. Втакой ситуации мосту некуда будетзаписывать поступающие кадры и онначнет их терять, то есть простоотбрасывать.
Потеря кадра - ситуация оченьнежелательная, так как еепоследствия не ликвидируютсяпротоколами локальных сетей.Потеря кадра будет исправленатолько протоколами транспортногоили прикладного уровней, которыезаметят потерю части своих данных иорганизуют их повторную пересылку.Однако, при регулярных потеряхкадров канального уровняпроизводительность сети можетуменьшится в несколько раз, так кактайм-ауты, используемые впротоколах верхних уровней,существенно превышают временапередачи кадров на канальномуровне, и повторная передача кадраможет состояться через десяткисекунд.
Для предотвращения потерь кадровмост должен обладатьпроизводительностью, превышающуюсреднюю интенсивностьмежсегментного трафика и большойбуфер для хранения кадров,передаваемых в периоды пиковойнагрузки.
В локальных сетях частооказывается справедливымэмпирическое правило 80/20, говорящеео том, что при правильном разбиениисети на сегменты 80% трафикаоказывается внутренним трафикомсегмента, и только 20% выходит за егопределы. Если считать, что этоправило действует по отношению кконкретной сети, то мост долженобладать производительностью в 20 %от максимальной пропускнойспособности сегмента Ethernet, то естьпроизводительностью 0.2 ( 14880 = 3000кадра в секунду. Обычно локальныемосты обладаютпроизводительностью от 3000 кадров всекунду и выше.
Однако, гарантий на доставкукадров в любых ситуациях мост, вотличие от повторителя, не дает. Этоего принципиальный недостаток, скоторым приходится мириться.
Предыдущаяглава | Оглавление| Следующая глава