После нахождения адреса назначения в адресной таблице, процессор EPP знает, что нужно дальше делать с поступающим кадром (во время просмотра адресной таблицы процессор продолжал буферизацию поступающих в порт байт кадра). Если кадр нужно отфильтровать, то процессор просто прекращает записывать в буфер байты кадра и ждет поступления нового кадра.
Если же кадр нужно передать на другой порт, то процессор обращается к коммутационной матрице и пытается установить в ней путь, связывающий его порт с портом адреса назначения. Коммутационная матрица может это сделать только в том случае, когда порт адреса назначения в этот момент свободен, то есть не соединен с другим портом. Если же порт занят, то кадр полностью буферизуется процессором входного порта, после чего процессор ожидает освобождения выходного порта и образования коммутационной матрицей нужного пути.
После того, как нужный путь установился, в него направляются буферизованные байты кадра, которые принимаются процессором выходного порта, а после получения им доступа к среде передаются в сеть. Процессор входного порта постоянно хранит несколько байт принимаемого кадра в своем буфере, что позволяет ему независимо и асинхронно принимать и передавать байты кадра (рисунок 2.10).
Рис. 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.
Благодаря возникновению и развитию сетей передачи данных появился новый, высокоэффективный способ взаимодействия между людьми. Компьютерные сети стали проникать буквально во все области человеческой деятельности. При этом большинство сетей существуют независимо друг от друга, решая конкретные задачи для конкретных групп пользователей. В соответствии с этими задачами выбираются те или иные сетевые технологии и аппаратное обеспечение. Построить универсальную физическую сеть мирового масштаба из однотипной аппаратуры просто невозможно, поскольку такая сеть не может удовлетворять потребности всех ее потенциальных пользователей. Одним нужна высокоскоростная сеть для соединения машин в пределах здания, а другим - надежные коммуникации между компьютерами, разнесенными на сотни километров. Возникла идея объединить множество физических сетей в единую глобальную сеть, в которой использовались соединения на физическом уровне и новый набор специальных "соглашений" или протоколов. Эта технология получила название internet, она позволила компьютерам "общаться" друг с другом независимо от того, к какой сети и каким образом они подсоединены.
Сеть Internet - это одна из реализаций технологии internet, которая объединяет около 10 млн. компьютеров по всему миру, которые взаимодействуют друг с другом с помощью стека протоколов TCP/IP. Серия протоколов TCP/IP является ярким примером открытой системы в том смысле, что, в отличие от других протоколов, используемых в коммуникационных системах разных поставщиков, все спецификации этого стека протоколов и многие из его реализаций общедоступны. Что позволяет любому разработчику создавать свое программное обеспечение, необходимое для взаимодействия по Internet.
1. http://fio.ifmo.ru/
2. http://sapr.mgsu.ru/biblio/metstud1/oglavl.htm
3. http://lessons-tva.info/edu/telecom.html
4. лекции из 4-го курса техникума по дисциплине «КС»