Слайд 1Лекция 1.4.5. Коммутаторы. Полнодуплексные протоколы.
Астрахань, 2018
Александр Александрович Олейников
Компьютерные и телекоммуникационные
сети
Слайд 2Технология коммутации сегментов Ethernet была предложена фирмой Kalpana в 1990
году в ответ на растущие потребности в повышении пропускной способности
связей высокопроизводительных серверов с сегментами рабочих станций.
Структурная схема коммутатора EtherSwitch, предложенного фирмой Kalpana, представлена на рис. 9.23.
Рис. 9.23. Структура коммутатора EtherSwitch компании Kalpana
Слайд 3Каждый из 8 портов 10Base-T обслуживается одним процессором пакетов Ethernet
(Ethernet Packet Processor, EPP). Кроме того, коммутатор имеет системный модуль,
который координирует работу всех процессоров ЕРР. Системный модуль ведет общую адресную таблицу коммутатора и обеспечивает управление коммутатором по протоколу SNMP. Для передачи кадров между портами используется коммутационная матрица, подобная тем, которые работают в телефонных коммутаторах или мультипроцессорных компьютерах, соединяя несколько процессоров с несколькими модулями памяти.
Коммутационная матрица функционирует по принципу коммутации каналов. Для 8 портов матрица может обеспечить 8 одновременных внутренних каналов при полудуплексном режиме работы портов и 16 — при полнодуплексном, когда передатчик и приемник каждого порта работают независимо друг от друга.
Слайд 4При поступлении кадра в какой-либо порт процессор ЕРР буферизует несколько
первых байтов кадра, чтобы прочитать адрес назначения. После получения адреса
назначения процессор сразу же принимает решение о передаче пакета, не дожидаясь прихода остальных байтов кадра. Для этого он просматривает свой собственный кэш адресной таблицы, а если не находит там нужного адреса, обращается к системному модулю, который работает в многозадачном режиме, параллельно обслуживая запросы всех процессоров ЕРР. Системный модуль производит просмотр общей адресной таблицы и возвращает процессору найденную строку, которую тот буферизует в своем кэше для последующего использования.
После нахождения адреса назначения процессор ЕРР знает, что нужно дальше делать с поступающим кадром (во время просмотра адресной таблицы процессор продолжал буферизацию поступающих в порт байтов кадра). Если кадр нужно отфильтровать, процессор просто прекращает записывать в буфер байты кадра, очищает буфер и ждет поступления нового кадра.
Слайд 5Если же кадр нужно передать на другой порт, то процессор
обращается к коммутационной матрице и пытается установить в ней путь,
связывающий его порт с портом, через который идет маршрут к адресу назначения. Коммутационная матрица может это сделать только в том случае, когда порт адреса назначения в этот момент свободен, то есть не соединен с другим портом.
Если же порт занят, то, как и в любом устройстве с коммутацией каналов, матрица в соединении отказывает. В этом случае кадр полностью буферизуется процессором входного порта, после чего процессор ожидает освобождения выходного порта и образования коммутационной матрицей нужного пути.
Слайд 6После того как нужный путь установлен, в него направляются буферизованные
байты кадра, которые принимаются процессором выходного порта. Как только процессор
выходного порта получает доступ к подключенному к нему сегменту Ethernet по алгоритму CSMA/CD, байты кадра сразу же начинают передаваться в сеть. Процессор входного порта постоянно хранит несколько байтов принимаемого кадра в своем буфере, что позволяет ему независимо и асинхронно принимать и передавать байты кадра (рис. 9.24).
Рис. 9.24. Передача кадра через коммутационную матрицу
Слайд 7При свободном в момент приема кадра состоянии выходного порта задержка
между приемом первого байта кадра коммутатором и появлением этого же
байта на выходе порта адреса назначения составляла у коммутатора компании Kalpana всего 40 мкс, что было гораздо меньше задержки кадра при его передаче мостом.
Описанный способ передачи кадра без его полной буферизации получил название коммутации «на лету» («on-the-fly») или «напролет» («cut-through»). Этот способ представляет, по сути, конвейерную обработку кадра, когда частично совмещаются во времени несколько этапов его передачи (рис. 9.25).
Слайд 81.Прием первых байтов кадра процессором входного порта, включая прием байтов
адреса назначения.
2.Поиск адреса назначения в адресной таблице коммутатора (в кэше
процессора или в общей таблице системного модуля).
3.Коммутация матрицы.
4.Прием остальных байтов кадра процессором входного порта.
5.Прием байтов кадра (включая первые) процессором выходного порта через коммутационную матрицу.
6.Получение доступа к среде процессором выходного порта.
7.Передача байтов кадра процессором выходного порта в сеть.
Рис. 9.25. Экономия времени при конвейерной обработке кадра: а — конвейерная обработка; б — обычная обработка с полной буферизацией
Слайд 9Этапы 2 и 3 совместить во времени нельзя, так как
без знания номера выходного порта операция коммутации матрицы не имеет
смысла.
По сравнению с режимом полной буферизации кадра, также представленном на рис. 9.25, экономия от конвейеризации получается ощутимой.
Однако главной причиной повышения производительности сети при использовании коммутатора является параллельная обработка нескольких кадров.
Слайд 10Этот эффект иллюстрирует рис. 9.26, на котором показана идеальная в
отношении повышения производительности ситуация, когда четыре порта из восьми передают
данные с максимальной для протокола Ethernet скоростью 10 Мбит/с, причем они передают эти данные на остальные четыре порта коммутатора не конфликтуя — потоки данных между узлами сети распределились так, что для каждого принимающего кадры порта есть свой выходной порт. Если коммутатор успевает обрабатывать входной трафик даже при максимальной интенсивности поступления кадров на входные порты, то общая производительность коммутатора в приведенном примере составит 4 х 10 = 40 Мбит/с, а при обобщении примера для N портов — (N/2) х 10 Мбит/с. Говорят, что коммутатор предоставляет каждой станции или сегменту, подключенным к его портам, выделенную пропускную способность протокола.
Рис. 9.26. Параллельная передача
кадров коммутатором
Слайд 11Естественно, что в сети не всегда складывается описанная ситуация. Если
двум станциям, например станциям, подключенным к портам 3 и 4,
одновременно нужно записывать данные на один и тот же сервер, подключенный к порту 8, то коммутатор не сможет выделить каждой станции поток данных по 10 Мбит/с, так как порт 8 не может передавать данные со скоростью 20 Мбит/с. Кадры станций будут ожидать во внутренних очередях входных портов 3 и 4, когда освободится порт 8 для передачи очередного кадра. Очевидно, хорошим решением для такого распределения потоков данных было бы подключение сервера к более высокоскоростному порту, например Fast Ethernet.
Так как главное достоинство коммутатора, благодаря которому он завоевал очень хорошие позиции в локальных сетях, — его высокая производительность, то разработчики коммутаторов стараются выпускать так называемые неблокирующие (nonblocking) модели коммутаторов.
Слайд 12Неблокирующий коммутатор — это такой коммутатор, который может передавать кадры
через свои порты с той же скоростью, с которой они
на них поступают. Естественно, что даже неблокирующий коммутатор не может разрешить в течение долгого промежутка времени ситуации, подобные описанной выше, когда блокировка кадров происходит из-за ограниченной скорости выходного порта.
Обычно имеют в виду устойчивый неблокирующий режим работы коммутатора, когда коммутатор передает кадры со скоростью их поступления в течение произвольного промежутка времени. Для обеспечения такого режима нужно, естественно, такое распределение потоков кадров по выходным портам, чтобы они справлялись с нагрузкой и коммутатор мог всегда в среднем передать на выходы столько кадров, сколько их поступило на входы. Если же входной поток кадров (просуммированный по всем портам) в среднем будет превышать выходной поток кадров (также просуммированный по всем портам), то кадры будут накапливаться в буферной памяти коммутатора, а при превышении ее объема — просто отбрасываться.
Слайд 13Для обеспечения неблокирующего режима коммутатора необходимо выполнение достаточно простого условия:
Здесь
Ck — производительность коммутатора, Срi — максимальная производительность протокола, поддерживаемого
i-м портом коммутатора. Суммарная производительность портов учитывает каждый проходящий кадр дважды — как входящий кадр и как выходящий, а так как в устойчивом режиме входной трафик равен выходному, то минимально достаточная производительность коммутатора для поддержки неблокирующего режима равна половине суммарной производительности портов. Если порт работает в полудуплексном режиме, например Ethernet 10 Мбит/с, то производительность порта Срi равна 10 Мбит/с, а если в полнодуплексном — 20 Мбит/с.
Слайд 14Иногда говорят, что коммутатор поддерживает мгновенный неблокирующий режим. Это означает,
что он может принимать и обрабатывать кадры от всех своих
портов на максимальной скорости протоколов, независимо от того, обеспечиваются ли условия устойчивого равновесия между входным и выходным трафиком. Правда, обработка некоторых кадров при этом может быть неполной — при занятости выходного порта кадр помещается в буфер коммутатора. Для поддержки неблокирующего мгновенного режима коммутатор должен обладать большей собственной производительностью, а именно, она должна быть равна суммарной производительности его портов:
Слайд 15Первый коммутатор для локальных сетей не случайно появился для технологии
Ethernet. Кроме очевидной причины, связанной с наибольшей популярностью сетей Ethernet,
существовала и другая, не менее важная причина — эта технология больше других страдает от увеличения времени ожидания доступа к среде при повышении загрузки сегмента. Поэтому сегменты Ethernet в крупных сетях в первую очередь нуждались в средстве разгрузки узких мест сети, и этим средством стали коммутаторы фирмы Kalpana, а затем и других компаний.
Некоторые компании стали развивать технологию коммутации для повышения производительности других технологий локальных сетей, таких как Token Ring и FDDI. Коммутаторы этих компаний поддерживали как алгоритм работы прозрачного моста, так и алгоритм моста с маршрутизацией от источника. Внутренняя организация коммутаторов различных производителей иногда очень отличалась от структуры первого коммутатора EtherSwitch, однако принцип параллельной обработки кадров по каждому порту оставался неизменным.
Слайд 16Широкому применению коммутаторов, безусловно, способствовало то обстоятельство, что внедрение технологии
коммутации не требовало замены установленного в сетях оборудования — сетевых
адаптеров, концентраторов, кабельной системы. Порты коммутаторов работали в обычном полудуплексном режиме, поэтому к ним прозрачно можно было подключить как конечный узел, так и концентратор, организующий целый логический сегмент.
Так как коммутаторы и мосты прозрачны для протоколов сетевого уровня, то их появление в сети не оказало никакого влияния на маршрутизаторы сети, если они там имелись.
Удобство использования коммутатора состоит еще и в том, что это самообучающееся устройство и, если администратор не нагружает его дополнительными функциями, конфигурировать его не обязательно — нужно только правильно подключить разъемы кабелей к портам коммутатора, а дальше он будет работать самостоятельно и эффективно выполнять поставленную перед ним задачу повышения производительности сети.
Слайд 17Изменения в работе МАС-уровня при полнодуплексной работе
Технология коммутации сама по
себе не имеет непосредственного отношения к методу доступа к среде,
который используется портами коммутатора. При подключении сегментов, представляющих собой разделяемую среду, порт коммутатора должен поддерживать полудуплексный режим, так как является одним из узлов этого сегмента.
Однако когда к каждому порту коммутатора подключен не сегмент, а только один компьютер, причем по двум раздельным каналам, как это происходит почти во всех стандартах физического уровня, кроме коаксиальных версий Ethernet, ситуация становится не такой однозначной. Порт может работать как в обычном полудуплексном режиме, так и в полнодуплексном. Подключение к портам коммутатора не сегментов, а отдельных компьютеров называется микросегментацией.
Слайд 18В обычном режиме работы порт коммутатора по-прежнему распознает коллизии. Доменом
коллизий в этом случае является участок сети, включающий передатчик коммутатора,
приемник коммутатора, передатчик сетевого адаптера компьютера, приемник сетевого адаптера компьютера и две витые пары, соединяющие передатчики с приемниками (рис. 9.27).
Рис. 9.27. Домен коллизий, образуемый компьютером и портом коммутатора
Слайд 19Коллизия возникает, когда передатчики порта коммутатора и сетевого адаптера одновременно
или почти одновременно начинают передачу своих кадров, считая, что сегмент
свободен (см. рисунок). Правда, вероятность коллизии в таком сегменте гораздо меньше, чем в сегменте, состоящем из 20-30 узлов, но она не нулевая. При этом максимальная производительность сегмента Ethernet в 14 880 кадров в секунду при минимальной длине кадра делится между передатчиком порта коммутатора и передатчиком сетевого адаптера. Если считать, что она делится пополам, то каждому предоставляется возможность передавать примерно по 7440 кадров в секунду.
Слайд 20В полнодуплексном режиме одновременная передача данных передатчиком порта коммутатора и
сетевого адаптера коллизией не считается. В принципе это достаточно естественный
режим работы для индивидуальных полнодуплексных каналов связи и он часто используется в протоколах территориальных сетей. При полнодуплексной связи порты Ethernet могут передавать данные со скоростью 20 Мбит/с — по 10 Мбит/с в каждом направлении.
Слайд 21Естественно, необходимо, чтобы МАС-узлы взаимодействующих устройств поддерживали этот специальный режим.
В случае когда только один узел поддерживает полнодуплексный режим, второй
узел будет постоянно фиксировать коллизии и приостанавливать свою работу, в то время как другой узел будет продолжать передавать данные, которые никто в этот момент не принимает. Изменения, которые нужно сделать в логике МАС-узла, чтобы он мог работать в полнодуплексном режиме, минимальны — нужно просто отменить фиксацию и отработку коллизий в сетях Ethernet, а в сетях Token Ring и FDDI — посылать кадры в коммутатор, не дожидаясь прихода маркера доступа, а тогда, когда это нужно конечному узлу. Фактически при работе в полнодуплексном режиме МАС-узел не использует метод доступа к среде, разработанный для данной технологии.
Слайд 22Так как переход на полнодуплексный режим работы требует изменения логики
работы МАС-узлов и драйверов сетевых адаптеров, то он сначала был
опробован при соединении двух коммутаторов. Уже первые модели коммутатора EtherSwitch компании Kalpana поддерживали полнодуплексный режим при взаимном соединении, обеспечивая скорость взаимного обмена 20 Мбит/с.
Позже появились версии полнодуплексного соединения FDDI-коммутаторов, которые при одновременном использовании двух колец FDDI обеспечивали скорость обмена в 200 Мбит/с.
Сейчас для каждой технологии можно найти модели коммутаторов, которые поддерживают полнодуплексный обмен при соединении коммутатор—коммутатор.
Слайд 23После опробования полнодуплексной технологии на соединениях коммутатор-коммутатор разработчики реализовали ее
и в сетевых адаптерах, в основном адаптерах Ethernet и Fast
Ethernet. При разработке технологий Fast Ethernet и Gigabit Ethernet полнодуплексный режим стал одним из двух полноправных стандартных режимов работы узлов сети. Многие сетевые адаптеры сейчас могут поддерживать оба режима работы, отрабатывая логику алгоритма доступа CSMA/CD при подключении к порту концентратора и работая в полнодуплексном режиме при подключении к порту коммутатора.
При использовании полнодуплексных версий протоколов происходит некоторое сближение различных технологий, так как лицо каждой технологии во многом определял метод доступа. Различие технологий остается в разных форматах кадров, а также в процедурах контроля корректности работы сети на физическом и канальном уровнях.
Полнодуплексные версии протоколов могли бы быть реализованы и в мостах. Принципиальных препятствий для этого не было, просто в период применения локальных мостов потребности в высокоскоростной передаче межсегментного трафика не возникало.
Слайд 24Проблема управления потоком данных при полнодуплексной работе
Простой отказ от поддержки
алгоритма доступа к разделяемой среде без какой-либо модификации протокола ведет
к повышению вероятности потерь кадров коммутаторами, так как при этом теряется контроль за потоками кадров, направляемых конечными узлами в сеть. Раньше поток кадров регулировался методом доступа к разделяемой среде, так что слишком часто генерирующий кадры узел вынужден был ждать своей очереди к среде и фактическая интенсивность потока данных, который направлял в сеть этот узел, была заметно меньше той интенсивности, которую узел хотел бы отправить в сеть. При переходе на полнодуплексный режим узлу разрешается отправлять кадры в коммутатор всегда, когда это ему нужно, поэтому коммутаторы сети могут в этом режиме сталкиваться с перегрузками, не имея при этом никаких средств регулирования («притормаживания») потока кадров.
Слайд 25Причина перегрузок обычно кроется не в том, что коммутатор является
блокирующим, то есть ему не хватает производительности процессоров для обслуживания
потоков кадров, а в ограниченной пропускной способности отдельного порта, которая определяется временными параметрами протокола. Например, порт Ethernet без нарушения временных соотношений, установленных стандартом, не может передавать больше 14 880 кадров/с.
Поэтому, если входной трафик неравномерно распределяется между выходными портами, легко представить ситуацию, когда в какой-либо выходной порт коммутатора будет направляться трафик с суммарной средней интенсивностью большей, чем протокольный максимум.
Слайд 26На рис. 9.28 показана как раз такая ситуация, когда в
порт 3 коммутатора направляется трафик от портов 1, 2, 4
и 6 с суммарной интенсивностью в 22 100 кадров/с. Порт 3 оказывается загруженным на 150 %. Естественно, что когда кадры поступают в буфер порта со скоростью 20 100 кадров/с, а уходят со скоростью 14 880 кадров/с, то внутренний буфер выходного порта начинает неуклонно заполняться необработанными кадрами.
Рис. 9.28. Переполнение буфера порта из-за несбалансированности трафика
Слайд 27Какой бы ни был объем буфера порта, он в какой-то
момент времени обязательно переполнится. Нетрудно подсчитать, что при размере буфера
в 100 Кбайт в приведенном примере полное заполнение буфера произойдет через 0,22 с после начала его работы (буфер такого размера может хранить до 1600 кадров размером в 64 байт). Увеличение буфера до 1 Мбайт даст увеличение времени заполнения буфера до 2,2 с, что также неприемлемо. А потери кадров всегда очень нежелательны, так как снижают полезную производительность сети, и коммутатор, теряющий кадры, может значительно ухудшить производительность сети вместо ее улучшения.
Слайд 28Коммутаторы локальных сетей — не первые устройства, которые сталкиваются с
такой проблемой. Мосты также могут испытывать перегрузки, однако такие ситуации
при использовании мостов встречались редко из-за небольшой интенсивности межсегментного трафика, поэтому разработчики мостов не стали встраивать в протоколы локальных сетей или в сами мосты механизмы регулирования потока. В глобальных сетях коммутаторы технологии Х.25 поддерживают протокол канального уровня LAP-B, который имеет специальные кадры управления потоком «приемник готов» (RR) и «приемник не готов» (RNR), аналогичные по назначению кадрам протокола LLC2 (это не удивительно, так как оба протокола принадлежат семейству протоколов HDLC). Протокол LAP-B работает между соседними коммутаторами сети Х.25 и в том случае, когда очередь коммутатора доходит до опасной границы, запрещает своим ближайшим соседям с помощью кадра «приемник не готов» передавать ему кадры, пока очередь не уменьшится до нормального уровня. В сетях Х.25 такой протокол необходим, так как эти сети никогда не использовали разделяемые среды передачи данных, а работали по индивидуальным каналам связи в полнодуплексном режиме.
Слайд 29При разработке коммутаторов локальных сетей ситуация коренным образом отличалась от
ситуации, при которой создавались коммутаторы территориальных сетей. Основной задачей было
сохранение конечных узлов в неизменном виде, что исключало корректировку протоколов локальных сетей. А в этих протоколах процедур управления потоком не было — общая среда передачи данных в режиме разделения времени исключала возникновение ситуаций, когда сеть переполнялась бы необработанными кадрами. Сеть не накапливала данных в каких-либо промежуточных буферах и при использовании только повторителей или концентраторов.
Примечание Здесь речь идет о протоколах МАС-уровня (Ethernet, Token Ring и т. п), так как мосты и коммутаторы имеют дело только с ними. Протокол LLC2, который умеет управлять потоком данных, для целей управления потоком кадров в коммутаторах использовать нельзя. Для коммутаторов протокол LLC (все его процедуры: 1, 2 и 3) прозрачен, как и все остальные протоколы верхних уровней, — коммутатор не анализирует заголовок LLC, считая его просто полем данных кадра МАС-уровня.
Слайд 30Применение коммутаторов без изменения протокола работы оборудования всегда порождает опасность
потери кадров. Если порты коммутатора работают в обычном, то есть
в полудуплексном режиме, то у коммутатора имеется возможность оказать некоторое воздействие на конечный узел и заставить его приостановить передачу кадров, пока у коммутатора не разгрузятся внутренние буферы. Нестандартные методы управления потоком в коммутаторах при сохранении протокола доступа в неизменном виде будут рассмотрены ниже.
Если же коммутатор работает в полнодуплексном режиме, то протокол работы конечных узлов, да и его портов все равно меняется. Поэтому имело смысл для поддержки полнодуплексного режима работы коммутаторов несколько модифицировать протокол взаимодействия узлов, встроив в него явный механизм управления потоком кадров.
Слайд 31Работа над выработкой стандарта для управления потоком кадров в полнодуплексных
версиях Ethernet и Fast Ethernet продолжалась несколько лет. Такой длительный
период объясняется разногласиями членов соответствующих комитетов по стандартизации, отстаивающих подходы фирм, которые реализовали в своих коммутаторах собственные методы управления потоком.
В марте 1997 года принят стандарт IEEE 802.3x на управление потоком в полнодуплексных версиях протокола Ethernet. Он определяет весьма простую процедуру управления потоком, подобную той, которая используется в протоколах LLC2 и LAP-B. Эта процедура подразумевает две команды — «приостановить передачу» и «возобновить передачу», которые направляются соседнему узлу. Отличие от протоколов типа LLC2 в том, что эти команды реализуются на уровне символов кодов физического уровня, таких как 4В/5В, а не на уровне команд, оформленных в специальные управляющие кадры. Сетевой адаптер или порт коммутатора, поддерживающий стандарт 802.3х и получивший команду «приостановить передачу», должен прекратить передавать кадры впредь до получения команды «возобновить передачу».
Слайд 32Некоторые специалисты высказывают опасение, что такая простая процедура управления потоком
окажется непригодной в сетях Gigabit Ethernet. Полная приостановка приема кадров
от соседа при такой большой скорости передачи кадров (1 488 090 кадр/с) может быстро вызвать переполнение внутреннего буфера теперь у этого соседа, который, в свою очередь, полностью заблокирует прием кадров у своих ближайших соседей. Таким образом, перегрузка просто распространится по сети, вместо того чтобы постепенно исчезнуть. Для работы с такими скоростными протоколами необходим более тонкий механизм регулирования потока, который бы указывал, на какую величину нужно уменьшить интенсивность потока входящих кадров в перегруженный коммутатор, а не приостанавливал этот поток до нуля. Подобный плавный механизм регулирования потока появился у коммутаторов ATM через несколько лет после их появления. Поэтому существует мнение, что стандарт 802.3х — это временное решение, которое просто закрепило существующие фирменные простые механизмы управления потоком ведущих производителей коммутаторов. Пройдет некоторое время, и этот стандарт сменит другой стандарт — более сложный и более гибкий. Но возможен и иной вариант, ведь нет ничего более постоянного, чем временное.
Слайд 33Управление потоком кадров при полудуплексной работе
При работе порта в полудуплексном
режиме коммутатор не может изменять протокол и пользоваться для управления
потоком новыми командами, такими как «приостановить передачу» и «возобновить передачу».
Зато у коммутатора появляется возможность воздействовать на конечный узел с помощью механизмов алгоритма доступа к среде, который конечный узел обязан отрабатывать. Эти приемы основаны на том, что конечные узлы строго соблюдают все параметры алгоритма доступа к среде, а порты коммутатора — нет. Обычно применяются два основных способа управления потоком кадров — обратное давление на конечный узел и агрессивный захват среды.
Слайд 34Метод обратного давления (backpressure) состоит в создании искусственных коллизий в
сегменте, который чересчур интенсивно посылает кадры в коммутатор. Для этого
коммутатор обычно использует jam-последовательность, отправляемую на выход порта, к которому подключен сегмент (или узел), чтобы приостановить его активность. Кроме того, метод обратного давления может применяться в тех случаях, когда процессор порта не рассчитан на поддержку максимально возможного для данного протокола трафика. Один из первых примеров применения метода обратного давления как раз связан с таким случаем — метод был использован компанией LANNET в 1994 году в модулях LSE-1 и LSE-2, рассчитанных на коммутацию трафика Ethernet с максимальной интенсивностью соответственно 1 Мбит/с и 2 Мбит/с.
Слайд 35Второй метод «торможения» конечного узла в условиях перегрузки внутренних буферов
коммутатора основан на так называемом агрессивном поведении порта коммутатора при
захвате среды либо после окончания передачи очередного пакета, либо после коллизии. Эти два случая иллюстрирует рис. 9.29.
В первом случае (рис. 9.29, а) коммутатор окончил передачу очередного кадра и вместо технологической паузы в 9,6 мкс сделал паузу в 9,1 мкс и начал передачу нового кадра. Компьютер не смог захватить среду, так как он выдержал стандартную паузу в 9,6 мкс и обнаружил после этого, что среда уже занята.
Рис. 9.29. Агрессивное поведение коммутатора при перегрузках буферов
Слайд 36Во втором случае (рис. 9.29, б) кадры коммутатора и компьютера
столкнулись, и была зафиксирована коллизия. Так как компьютер сделал паузу
после коллизии в 51,2 мкс, как это положено по стандарту (интервал отсрочки равен 512 битовых интервалов), а коммутатор — 50 мкс, то и в этом случае компьютеру не удалось передать свой кадр.
Коммутатор может пользоваться этим механизмом адаптивно, увеличивая степень своей агрессивности по мере необходимости.
Многие производители путем сочетания этих двух методов реализуют достаточно тонкие механизмы управления потоком кадров при перегрузках. Эти методы используют алгоритмы чередования передаваемых и принимаемых кадров (frame interleave). Алгоритм чередования должен быть гибким и позволять компьютеру в критических ситуациях на каждый принимаемый кадр передавать несколько своих, разгружая внутренний буфер кадров, причем не обязательно снижая при этом интенсивность приема кадров до нуля, а просто уменьшая ее до необходимого уровня.
Слайд 37Практически во всех моделях коммутаторов, кроме самых простых моделей для
рабочих групп, реализуют тот или иной алгоритм управления потоком кадров
при полудуплексном режиме работы портов. Этот алгоритм, как правило, обеспечивает более тонкое управление потоком, чем стандарт 802.3х, не приостанавливая до нуля прием кадров от соседнего узла и тем самым не способствуя переносу перегрузки в соседний коммутатор, если к порту подключен не конечный узел, а другой коммутатор.
Слайд 38Выводы
Коммутаторы — наиболее быстродействующие современные коммуникационные устройства, позволяющие соединять высокоскоростные
сегменты без блокирования (уменьшения пропускной способности) межсегментного трафика.
Пассивный способ построения
адресной таблицы коммутаторами — путем слежения за проходящим трафиком — приводит к невозможности работы в сетях с петлевидными связями. Другим недостатком сетей, построенных на коммутаторах, является отсутствие защиты от широковещательного шторма, который эти устройства обязаны передавать в соответствии с алгоритмом работы.
Применение коммутаторов позволяет сетевым адаптерам использовать полнодуплексный режим работы протоколов локальных сетей (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI). В этом режиме отсутствует этап доступа к разделяемой среде, а общая скорость передачи данных удваивается.
Слайд 39В полнодуплексном режиме для борьбы с перегрузками коммутаторов используется метод
управления потоком, описанный в стандарте 802.3х. Он повторяет алгоритмы полной
приостановки трафика по специальной команде, известной из технологий глобальных сетей.
При полудуплексном режиме работы коммутаторы используют для управления потоком при перегрузках два метода: агрессивный захват среды и обратное давление на конечный узел. Применение этих методов позволяет достаточно гибко управлять потоком, чередуя несколько передаваемых кадров с одним принимаемым.