Ограничения топологии сети, построенной на мостах 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Ограничения топологии сети, построенной на мостах



Слабая защита от широковещательного шторма — одно из главных ограничений роста, но не единственное. Другим серьезным ограничением их функциональных возможностей является невозможность поддержки петлеобразных конфигураций сети. Рассмотрим это ограничение на примере сети, изображенной на рис. 4.22. Два сегмента параллельно соединены двумя мостами, так что образовалась активная петля. Пусть новая станция с адресом 10 впервые начинает работу в данной сети. Обычно начало работы любой операционной системы сопровождается рассылкой широковещательных кадров, в которых станция заявляет о своем суше­нии и одновременно ищет серверы сети.

На этапе 1 станция посылает первый кадр с широковещательным адресом назначения и адресом источника 10 в свой сегмент. Кадр попадает как в мост 1, так и в мост 2. В обоих мостах новый адрес источника 10 заносится в адресную таблицу с пометкой о его принадлежности сегменту 1, то есть создается новая запись вида:

МАС-адрес Порт
   

 

Так как адрес назначения широковещательный, то каждый мост должен пере­дать кадр на сегмент 2. Эта передача происходит поочередно, в соответствии с методом случайного доступа технологии Ethernet. Пусть перйым доступ к сегмен­ту 2 получил мост 1 (этап 2 на рис. 4.22). При появлении пакета на сегменте 2 мост 2 принимает его в свой буфер и обрабатывает. Он видит, что адрес 10 уже есть в его адресной таблице, но пришедший кадр является более свежим, и он утверж­дает, что адрес 10 принадлежит сегменту 2, а не 1. Поэтому мост 2 корректирует содержимое базы и делает запись о том, что адрес 10 принадлежит сегменту 2.

Теперь адресная таблица моста 2 будет иметь уже другую запись о станции с адресом 10:

МАС-адрес Порт
10 10 1 2

 

Аналогично поступает мост 1, когда мост 2 передает свою копию кадра на сег­мент 2.

Результаты наличия петли перечислены ниже.

• «Размножение» кадра, то есть появление нескольких его копий (в данном слу­чае — двух, но если бы сегменты были соединены тремя мостами — то трех и т. д.).

• Бесконечная циркуляция обеих копий кадра по петле в противоположных на­правлениях, а значит, засорение сети ненужным графиком.

• Постоянная перестройка мостами своих адресных таблиц, так как кадр с адре­сом источника 10 будет появляться то на одном порту, то на другом.

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

Ограничение топологии структурированной сети древовидной структурой вы­текает из самого принципа построения адресной таблицы мостом, а поэтому точно так же это ограничение действует и на коммутаторы.

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

Рис. 4.22. Влияние замкнутых маршрутов на работу мостов

Поэтому в сложных сетях между логическими сегментами прокладывают избы­точные связи, которые образуют петли, но для исключения активных петель бло­кируют некоторые порты мостов. Наиболее просто эта задача решается вручную, но существуют и алгоритмы, которые позволяют решать ее автоматически. Наибо­лее известным является стандартный алгоритм покрывающего дерева (Spanning Free Algorithm, STA), который будет детально рассмотрен ниже. Кроме того, имеются фирменные алгоритмы, решающие ту же задачу, но с некоторыми улучшениями для конкретных моделей коммутаторов.

 

Коммутаторы локальных сетей

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

Структурная схема коммутатора EtherSwitch, предложенного фирмой Kalpana, представлена на рис. 4.23.

Каждый из 8 портов 10Base-T обслуживается одним процессором пакетов Ethernet — ЕРР (Ethernet Packet Processor). Кроме того, коммутатор имеет системный модуль, который координирует работу всех процессоров ЕРР. Системный модуль ведет общую адресную таблицу коммутатора и обеспечивает управление коммутатором по протоколу SNMP. Для передачи кадров между портами используется коммутационная матрица, подобная тем, которые работают в телефонных коммутаторах или мультипроцессорных компьютерах, соединяя несколько процессоров с несколькими модулями памяти.

Коммутационная матрица работает по принципу коммутации каналов. Для 8 портов матрица может обеспечить 8 одновременных внутренних каналов при полудуплексном режиме работы портов и 16 - при полнодуплексном, когда передатчик и приемник каждого порта работают независимо друг от друга.

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

Системный модуль
Управление Многозадачное ядро

 

Рис. 4.23. Структура коммутатора EtherSwitch компании Ка1рапа

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

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

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

После того как нужный путь установлен, в него направляются буферизованные байты кадра, которые принимаются процессором выходного порта. Как только процессор выходного порта получает доступ к подключенному к нему сегменту Ethernet по алгоритму CSMA/CD, байты кадра сразу же начинают передаваться в сеть. Процессор входного порта постоянно хранит несколько байт принимаемого кадра в своем буфере, что позволяет ему независимо и асинхронно принимать и передавать байты кадра (рис. 4.24).

При свободном в момент приема кадра состоянии выходного порта задержка между приемом первого байта кадра коммутатором и появлением этого же байта на выходе порта адреса назначения составляла у коммутатора компании Kalpana всего 40 мкс, что было гораздо меньше задержки кадра при его передаче мостом.

Рис. 4.24. Передача кадра через коммутационную матрицу

Описанный способ передачи кадра без его полной буферизации получил названиe коммутации «на лету» («on-the-fly») или «напролет» («cut-through»). Этот способ представляет, по сути, конвейерную обработку кадра, когда частично совмещаются во времени несколько этапов его передачи (рис. 4.25).

1. Прием первых байт кадра процессором входного порта, включая прием байт адреса назначения.

2. Поиск адреса назначения в адресной таблице коммутатора (в кэше процессора или в общей таблице системного модуля).

3. Коммутация матрицы.

4. Прием остальных байт кадра процессором входного порта.

5. Прием байт кадра (включая первые) процессором выходного порта через коммутационную матрицу.

6. Получение доступа к среде процессором выходного порта.

7. Передача байт кадра процессором выходного порта в сеть.

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

По сравнению с режимом полной буферизации кадра, также приведенном на рис. 4.25, экономия от конвейеризации получается ощутимой.

Рис. 4.25. Экономия времени при конвейерной обработке кадра:

о - конвейерная обработка;

б— обычная обработка с полной буферизацией

 

Однако главной причиной повышения производительности сети при использо­вании коммутатора является параллельная обработка нескольких кадров.

Этот эффект иллюстрирует рис. 4.26. На рисунке изображена идеальная в отно­шении повышения производительности ситуация, когда четыре порта из восьми передают данные с максимальной для протокола Ethernet скоростью 10 Мб/с, при­чем они передают эти данные на остальные четыре порта коммутатора не конфлик­туя — потоки данных между узлами сети распределились так, что для каждого принимающего кадры порта есть свой выходной порт. Если коммутатор успевает обрабатывать входной график даже при максимальной интенсивности поступления кадров на входные порты, то общая производительность коммутатора в приведен­ном примере составит 4х10 = 40 Мбит/с, а при обобщении примера для N пор­тов — (N/2)xl0 Мбит/с. Говорят, что коммутатор предоставляет каждой станции или сегменту, подключенным к его портам, выделенную пропускную способность протокола.

Естественно, что в сети не всегда складывается такая ситуация, которая изоб­ражена на рис. 4.26. Если двум станциям, например станциям, подключенным к портам 3 и 4, одновременно нужно записывать данные на один и тот же сервер, подключенный к порту 8, то коммутатор не сможет выделить каждой станции поток данных по 10 Мбит/с, так как порт 8 не может передавать данные со ско­ростью 20 Мбит/с. Кадры станций будут ожидать во внутренних очередях вход­ных портов 3 и 4, когда освободится порт 8 для передачи очередного кадра. Очевидно, хорошим решением для такого распределения потоков данных было бы подключе­ние сервера к более высокоскоростному порту, например Fast Ethernet.

Так как главное достоинство коммутатора, благодаря которому он завоевал очень хорошие позиции в локальных сетях, это его высокая производительность, то раз­работчики коммутаторов стараются выпускать так называемые неблокируюгщю (non-blocking) модели коммутаторов.

1—4 — потоки кадров между компьютерами

Рис. 4.26. Параллельная передача кадров коммутатором

 

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

Обычно имеют в виду устойчивый неблокирующий режим работы коммутатора, когда коммутатор передает кадры со скоростью их поступления в течение произвольного промежутка времени. Для обеспечения такого режима нужно, естествено, такое распределение потоков кадров по выходным портам, чтобы они справлялись с нагрузкой и коммутатор мог всегда в среднем передать на выходы столько кадров, сколько их поступило на входы. Если же входной поток кадров (просуммиро­ванный по всем портам) в среднем будет превышать выходной поток кадров (также просуммированный по всем портам), то кадры будут накапливаться в буферной памяти коммутатора, а при превышении ее объема — просто отбрасываться. Для обеспечения неблокирующего режима коммутатора необходимо выполнение достаточно простого условия:

| Ck=(SCpi,)/2,

где Ck — производительность коммутатора, Cpi — максимальная производитель­ность протокола, поддерживаемого i-м портом коммутатора. Суммарная производительность портов учитывает каждый проходящий кадр дважды — как входящий кадр и как выходящий, а так как в устойчивом режиме входной трафик равен выходному, то минимально достаточная производительность коммутатора для подержки неблокирующего режима равна половине суммарной производительности портов. Если порт работает в полудуплексном режиме, например Ethernet 10 Мбит/с, то производительность порта Cpi равна 10 Мбит/с, а если в полнодуплексном, то его Cpi будет составлять 20 Мбит/с.

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

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

Ck = SCpi.

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

Некоторые компании стали развивать технологию коммутации для повышения производительности других технологий локальных сетей, таких как Token Ring и FDDI. Эти коммутаторы поддерживали как алгоритм работы прозрачного моста, так и алгоритм моста с маршрутизацией от источника. Внутренняя организация коммутаторов различных производителей иногда очень отличалась от структуры первого коммутатора EtherSwitch, однако принцип параллельной обработки кад­ров по каждому порту оставался неизменным.

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

Так как коммутаторы и мосты прозрачны для протоколов сетевого уровня, то их появление в сети не оказало никакого влияния на маршрутизаторы сети, если они там имелись.

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



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 342; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.128.129 (0.02 с.)