Технология коммутации сегментовEthernet была предложена фирмой Kalpana в1990 году в ответ на растущиепотребности в повышении пропускнойспособности связейвысокопроизводительных серверов ссегментами рабочих станций. Этатехнология основана на отказе отиспользования разделяемых линийсвязи между всеми узлами сегмента ииспользовании коммутаторов,позволяющих одновременнопередавать пакеты между всеми егопарами портов.
Функционально многопортовыйкоммутатор работает какмногопортовый мост, то естьработает на канальном уровне,анализирует заголовки кадров,автоматически строит адреснуютаблицу и на основании этой таблицыперенаправляет кадр в один из своихвыходных портов или фильтрует его,удаляя из буфера. Новшествозаключалось в параллельнойобработке поступающих кадров, в товремя как мост обрабатывает кадр закадром. Коммутатор же обычно имеетнесколько внутренних процессоровобработки кадров, каждый из которыхможет выполнять алгоритм моста.Таким образом, можно считать, чтокоммутатор - этомультипроцессорный мост, имеющийза счет внутреннего параллелизмавысокую производительность.
Структурная схема коммутатораEtherSwitch, предложенного фирмой Kalpana,представлена на рисунке 2.9.
Каждый порт обслуживается однимпроцессором пакетов Ethernet - EPP (EthernetPacket Processor). Кроме того, коммутаторимеет системный модуль, которыйкоординирует работу всехпроцессоров EPP. Системный модульведет общую адресную таблицукоммутатора и обеспечиваетуправление коммутатором попротоколу SNMP. Для передачи кадровмежду портами используетсякоммутационная матрица, подобнаятем, которые работают в телефонныхкоммутаторах илимультипроцессорных компьютерах,соединяя несколько процессоров снесколькими модулями памяти.
Рис. 2.9. Структуракоммутатора Kalpana
При поступлении кадра вкакой-либо порт процессор EPPбуферизует несколько первых байткадра, для того, чтобы прочитатьадрес назначения. После полученияадреса назначения процессор сразуже принимает решение о передачепакета, не дожидаясь приходаостальных байт кадра. Для этого онпросматривает свой собственный кэшадресной таблицы, а если не находиттам нужного адреса, то обращается ксистемному модулю, которыйработает в многозадачном режиме,параллельно обслуживая запросывсех процессоров EPP. Системныймодуль производит просмотр общейадресной таблицы и возвращаетпроцессору найденную строку,которую тот буферизует в своем кэшедля последующего использования.
После нахождения адресаназначения в адресной таблице,процессор EPP знает, что нужно дальшеделать с поступающим кадром (вовремя просмотра адресной таблицыпроцессор продолжал буферизациюпоступающих в порт байт кадра). Есликадр нужно отфильтровать, топроцессор просто прекращаетзаписывать в буфер байты кадра иждет поступления нового кадра.
Если же кадр нужно передать надругой порт, то процессоробращается к коммутационнойматрице и пытается установить в нейпуть, связывающий его порт с портомадреса назначения. Коммутационнаяматрица может это сделать только втом случае, когда порт адресаназначения в этот момент свободен,то есть не соединен с другим портом.Если же порт занят, то кадрполностью буферизуетсяпроцессором входного порта, послечего процессор ожидаетосвобождения выходного порта иобразования коммутационнойматрицей нужного пути.
После того, как нужный путьустановился, в него направляютсябуферизованные байты кадра,которые принимаются процессоромвыходного порта, а после полученияим доступа к среде передаются всеть. Процессор входного портапостоянно хранит несколько байтпринимаемого кадра в своем буфере,что позволяет ему независимо иасинхронно принимать и передаватьбайты кадра (рисунок 2.10).
< src="./173/_pic_/IMG00012.GIF" border="1"width="352" height="426">
Рис. 2.10. Передача кадрачерез коммутационную матрицу
При свободном, в момент приемакадра, состоянии выходного портазадержка между приемом первогобайта кадра коммутатором ипоявлением этого же байта на выходепорта адреса назначения составлялау коммутатора компании Kalpana всего 40мкс, что было гораздо меньшезадержки кадра при его передачемостом.
Описанный способ передачи кадрабез его полной буферизации получилназвание коммутации "на лету" ("on-the-fly") или "навылет"("cut-through"). Этот способпредставляет по сути конвейернуюобработку кадра, когда частичносовмещаются во времени несколькоэтапов его передачи (рисунок 2.11):
Этапы 2 и 3 совместить во временинельзя, так как без знания номеравыходного порта операциякоммутации матрицы не имеет смысла.
По сравнению с режимом полнойбуферизации кадра, такжеприведенном на рисунке 2.11, экономияот конвейеризации получаетсяощутимой.
Однако, главной причинойповышения производительности сетипри использовании коммутатораявляется параллельная обработканескольких кадров.
Рис. 2.11. Экономия временипри конвейерной обработке кадра
а) конвейерная обработка; б) обычнаяобработка с полной буферизацией
Рисунок 2.12 иллюстрирует этотэффект. На рисунке изображенаидеальная в отношении повышенияпроизводительности ситуация, когдадва порта из 4-х, подключенных ккоммутатору, передают данные смаксимальной для протокола Ethernetскоростью 10 Мб/с, причем онипередают эти данные на остальныедва порта коммутатора неконфликтуя - у каждого входногопорта свой выходной порт. Есликоммутатор обладает способностьюуспевать обрабатывать входнойтрафик даже при максимальнойинтенсивности поступления кадровна входные порты, то общаяпроизводительность коммутатора вприведенном примере составит 2(10Мб/с, а при обобщении примера на Nпортов - (N/2)(10 Мб/с. Говорят, чтокоммутатор предоставляет каждойстанции или сегменту, подключеннымк его портам, выделенную пропускнуюспособность протокола.
Рис. 2.12. Повышениепроизводительности сети за счетодновременной
обработки нескольких кадров
Первый коммутатор для локальныхсетей не случайно появился длятехнологии Ethernet. Кроме очевиднойпричины, связанной с наибольшейпопулярностью сетей Ethernet,существовала и другая, не менееважная причина - эта технологиябольше других страдает отповышения времени ожидания доступак среде при повышении загрузкисегмента. Поэтому сегменты Ethernet вкрупных сетях в первую очередьнуждались в средстве разгрузкиузких мест сети, и этим средствомстали коммутаторы фирмы Kalpana, азатем и других компаний.
Некоторые компании сталиразвивать технологию коммутации идля повышения производительностидругих технологий локальных сетей,таких как Token Ring и FDDI. Так как воснове технологии коммутации лежиталгоритм работы прозрачного моста,то принцип коммутации не зависит отметода доступа, формата пакета идругих деталей каждой технологии.Коммутатор изучает на основаниипроходящего через него трафикаадреса конечных узлов сети, строитадресную таблицу сети и затем на ееосновании производит межкольцевыепередачи в сетях Token Ring или FDDI(рисунок 2.13). Принцип работыкоммутатора в сетях любыхтехнологий оставался неизменным,хотя внутренняя организациякоммутаторов различныхпроизводителей иногда оченьотличалась от структуры первогокоммутатора EtherSwitch.
Рис. 2.13. Коммутация колецFDDI
Широкому применению коммутаторовбезусловно способствовало тообстоятельство, что внедрениетехнологии коммутации требовалозамены только концентраторов илипросто добавления коммутаторов дляразделения сегментов, образованныхс помощью коммутаторов на болеемелкие сегменты. Вся огромнаяустановленная база оборудованияконечных узлов - сетевых адаптеров,а также кабельной системы,повторителей и концентраторов -оставалась нетронутой, что давалоогромную экономиюкапиталовложений по сравнению спереходом на какую-нибудьсовершенно новую технологию,например, АТМ.
Так как коммутаторы, как и мосты,прозрачны для протоколов сетевогоуровня, то их появление в сетиоставило в неизменном виде нетолько оборудование и программноеобеспечение конечных узлов, но имаршрутизаторы сети, если они тамиспользовались.
Удобство использованиякоммутатора состоит еще и в том, чтоэто самообучающееся устройство, и,если администратор не нагружаетего дополнительными функциями, токонфигурировать его не обязательно- нужно только правильно подключитьразъемы кабелей к портамкоммутатора, а дальше он будетработать самостоятельно истараться эффективно выполнятьпоставленную перед ним задачуповышения производительности сети.
Безусловно, повышениепроизводительности сети приустановке коммутатора в общемслучае не будет такой значительной,как в примере. На эффективностьработы коммутатора влияет многофакторов, и в некоторых случаях, какэто будет показано ниже, коммутаторможет совсем не дать никакихпреимуществ по сравнению сконцентратором. Примером такогофактора может служитьнесбалансированность трафика всети - если порт 1 и порт 2коммутатора чаще всего обращаютсяк порту 3 коммутатора, то порт 3будет периодически занят инедоступен для одного из двух этихпортов и входящий в них трафикбудет простаивать, ожидаяосвобождения порта 3.
Предыдущаяглава | Оглавление| Следующая глава