Мосты и маршрутизаторы Ethernet и Fast Ethernet
Мосты и маршрутизаторы, строго говоря, не совсем правильно относить к специфическому сетевому оборудованию. Изначально они представляли собой универсальные компьютеры, работающие в сети и выполняющие специфическую функцию соединения двух или более частей сети. Правда, сейчас уже существуют мосты и маршрутизаторы, жестко специализированные на работе в сети. В частности, маршрутизаторы выпускаются рядом фирм в виде модулей, устанавливаемых в концентраторы на базе шасси. Их стоимость ниже, чем маршрутизаторов на базе компьютеров, а быстродействие выше, так как они узко специализированы.
Функции мостов
Мосты до недавнего времени были основными устройствами, применявшимися для разбиения сети на части (то есть для сегментирования сети). Их стоимость меньше, чем маршрутизаторов, а быстродействие выше, к тому же они, как и коммутаторы, прозрачны для протоколов второго уровня модели OSI. Абоненты сети могут не знать о наличии в сети мостов, и все их пакеты доходят до нужного адресата по сети без всяких проблем.
По функциям мост очень близок к коммутатору, но медленнее, чем коммутатор.
Мост обычно имеет от двух до четырех портов, причем каждый из них соединен с одним из сегментов сети. В случае, когда мост выполняется на базе универсального компьютера, в этот компьютер просто устанавливается нужное число сетевых адаптеров, и к каждому из адаптеров подключается сегмент сети. Коммутатор в этом смысле гораздо удобнее, он имеет значительно больше портов (не менее 8).
Как и в случае коммутаторов, конфигурация сети с мостами может быть довольно сложной (рис. 13.9), но в ней ни в коем случае не должно быть замкнутых маршрутов (петель), то есть альтернативных путей доставки пакетов (рис. 13.10). Это связано в первую очередь с тем, что мосты, как и коммутаторы прозрачны для широковещательных пакетов. Если в сети есть петли, то в результате многократного прохождения широковещательных пакетов по замкнутому маршруту возникают перегрузки сети (так называемые широковещательные штормы) и ряд других проблем.
Рис. 13.9. Сеть с мостами
Рис. 13.10. Петля в сети с мостами
Для того, чтобы этого не происходило, в мостах предусматривается так называемый алгоритм остовного дерева (spanning tree), который позволяет отключать порты, участвующие в создании петель (например, оба порта моста 2 на рис. 13.10) в результате диалога (обмена управляющими пакетами) между всеми мостами сети. Благодаря этому, можно специально дублировать соединение сегментов посредством мостов (создавать петли) с тем, чтобы при отказе одной из линий связи автоматически восстанавливать целостность сети по альтернативному маршруту.
Коммутаторы обычно не поддерживают алгоритм остовного дерева за исключением самых сложных и дорогих. Так что в этом смысле мост более универсален, чем коммутатор.
Традиционно мосты подразделяются на внутренние и внешние.
Внутренние мосты выполняются на основе компьютера-сервера, в который устанавливают сетевые адаптеры (обычно до четырех), подключенные к разным сегментам сети. Строго говоря, именно эти сетевые адаптеры и соответствующие программные средства и называются внутренним мостом.
Внешний мост представляет собой рабочую станцию, в которую установлены два сетевых адаптера. В этом случае, в отличие от внутреннего моста, сегменты могут быть только однотипными (например, Ethernet—Ethernet).
Внешний мост может быть выделенным (dedicated) или невыделенным (non-dedicated) в зависимости от того, выполняет ли компьютер рабочей станции еще какие-нибудь функции, кроме сетевых. Термин "внешний" употребляется в этом случае по отношению к серверу, как основному компьютеру сети. В любой сети может присутствовать одновременно как внешний, так и внутренний мост или несколько мостов.
Мосты, как и коммутаторы, разделяют зону конфликта (область коллизии, Collision Domain), но не разделяют широковещательную область (Broadcast Domain), то есть ту часть сети, в которой свободно проходят широковещательные пакеты. В результате разделения зоны конфликта нагрузка на каждый сегмент уменьшается, а ограничения на размер сети преодолевается.
Одновременно мост может обрабатывать (ретранслировать) только один пакет, а не несколько, как коммутатор. Дело в том, что все функции моста выполняются последовательно одним центральным процессором. Именно поэтому мост работает значительно медленнее, чем коммутатор.
Как и в коммутаторе, любой пакет, приходящий на один из портов моста, обрабатывается следующим образом:
1. Мост выделяет MAC-адрес источника (отправителя) пакета и ищет его в таблице адресов абонентов, относящейся к данному порту. Если этого адреса в таблице нет, то он туда добавляется. Таким образом, автоматически формируется таблица адресов всех абонентов каждого сегмента из подключенных к портам моста.
2. Мост выделяет адрес приемника (получателя) пакета и ищет его в таблицах адресов, относящихся ко всем портам. Если пакет адресован в тот же сегмент, из которого он пришел, то он не ретранслируется (отфильтровывается). Если пакет широковещательный или многопунктовый (групповой), то он ретранслируется во все порты кроме принявшего. Если пакет однопунктовый (адресован одному абоненту), то он ретранслируется только в тот порт, к которому присоединен сегмент с этим абонентом. Наконец, если адрес приемника не обнаружен ни в одной из таблиц адресов, то пакет посылается во все порты, кроме принявшего (как широковещательный).
Таблицы адресов абонентов имеют ограниченный размер, поэтому они формируются так, чтобы иметь возможность автоматического обновления их содержимого. Адреса тех абонентов, которые долго не присылают пакетов, через заданное время (по стандарту IEEE 802.1D оно равно 5 минут) стираются из таблицы. Это гарантирует, что адрес абонента, отключенного от сети или перенесенного в другой сегмент, не будет занимать лишнего места в таблице.
Поскольку мост, подобно коммутатору, анализирует информацию внутри кадра (физические адреса, MAC-адреса), часто говорят, что он ретранслирует кадры, а не пакеты (в отличие от репитера или репитерного концентратора ).
Как и в случае коммутаторов, для эффективной работы моста необходимо выполнять упоминавшееся "правило 80/20", то есть большинство передач (не менее 80%) должно быть внутрисегментными, а не межсегментными.
Подобно коммутаторам Store-and-Forward, мосты могут поддерживать обмен между сегментами с разной скоростью передачи (Ethernet и Fast Ethernet), а также обеспечивать сопряжение полудуплексных и полнодуплексных сегментов. Полный прием пакетов в буферную память моста и их последующая передача легко решают такие проблемы.
То есть мосты и коммутаторы очень близки по своим характеристикам.
Однако у моста есть большое преимущество. Мосты могут не только соединять одноименные сегменты, но также сопрягать сети Ethernet и Fast Ethernet с сетями любых других типов, например, FDDI или Token-Ring, что не по силам большинству коммутаторов. Поэтому мосты, хоть и вытесняются коммутаторами, все-таки не исчезнут в ближайшее время.
Функции маршрутизаторов
Вытесняя мосты, коммутаторы сильно потеснили и маршрутизаторы. Но маршрутизаторы работают на более высоком, третьем уровне модели OSI ( мосты и коммутаторы – на втором), они имеют дело с протоколами более высоких уровней. Поэтому им, скорее всего, не грозит полное исчезновение.
Маршрутизаторы, как и мосты или коммутаторы ретранслируют пакеты из одной части сети в другую (из одного сегмента в другой). Изначально маршрутизатор от моста отличался только тем, что на компьютере, соединяющем две или более части сети, было установлено другое программное обеспечение. Но между маршрутизатором и мостом существуют и принципиальные отличия:
- Маршрутизаторы работают не с физическими адресами пакетов (MAC-адресами), а с логическими сетевыми адресами (IP-адресами или IPX-адресами).
- Маршрутизаторы ретранслируют не всю приходящую информацию, а только ту, которая адресована им лично, и отбрасывают (не ретранслируют) широковещательные пакеты, разделяя тем самым широковещательную область сети (Broadcast Domain). Все абоненты обязательно должны знать о присутствии в сети маршрутизатора. Они не прозрачны для абонентов в отличие от мостов и коммутаторов.
- Самое главное – маршрутизаторы поддерживают сети с множеством возможных маршрутов, путей передачи информации, так называемые ячеистые сети (meshed networks). Пример такой сети показан на рис. 13.11. Мосты же требуют, чтобы в сети не было петель, чтобы путь распространения информации между двумя любыми абонентами был единственным.
Рис. 13.11. Ячеистая сеть с маршрутизаторами
Маршрутизаторы сложнее мостов и коммутаторов и, следовательно, дороже (например, стоимость коммутации в Ethernet примерно в 10 раз ниже стоимости маршрутизации). Маршрутизаторами сложнее управлять, они почти всегда значительно медленнее коммутаторов. Зато они обеспечивают самое глубокое разделение сети на части.
Если репитерные концентраторы всего лишь повторяют все поступившие на них пакеты (уровень 1 модели OSI), а коммутаторы и мосты ретранслируют только межсегментные и широковещательные пакеты (уровень 2 модели OSI), то маршрутизаторы соединяют практически самостоятельные, не влияющие друг на друга сети, сохраняя при этом возможность передачи информации между ними (уровень 3 модели OSI).
Размер сети с маршрутизаторами практически ничем не ограничен: ни допустимыми размерами зоны конфликтов, ни допустимым количеством широковещательных пакетов (которые могут просто не оставлять места для обычных, однопунктовых пакетов), ни возможными для коммутаторов и мостов разнообразными перегрузками. При этом легко обеспечиваются альтернативные, дублирующие пути распространения информации для увеличения надежности связи.
Для принятия решения о выборе маршрута каждый маршрутизатор формирует в своей памяти таблицы данных, которые содержат:
- Номера всех сетей, подключенных к данному маршрутизатору ;
- Список всех соседних маршрутизаторов ;
- Список MAC-адресов и IP (IPX)-адресов всех абонентов сетей, подключенных к маршрутизатору. Этот список автоматически обновляется, как и в случае мостов и коммутаторов.
Кроме того, список всех доступных маршрутизаторов должен быть у каждого абонента сети.
Именно маршрутизаторы чаще всего используются для связи локальных сетей с глобальными, в частности, с Интернет, которая может рассматриваться как полностью маршрутизируемая сеть. Преобразовать протоколы локальных сетей в протоколы глобальных сетей для маршрутизатора вполне по силам.
Маршрутизаторы часто применяются для объединения опорной (стержневой) сетью типа FDDI множества локальных сетей (рис. 13.12) или для связи локальных сетей разных типов. Преобразование формата пакетов, требуемое в данной ситуации, для маршрутизатора не представляет никакой сложности. Например, большие пакеты сети FDDI могут разбиваться (фрагментироваться) на несколько меньших пакетов Ethernet.
Рис. 13.12. Маршрутизируемая сеть на основе FDDI
Маршрутизаторы также легко преобразуют скорости передачи, связывая, например, между собой сети Ethernet, Fast Ethernet и Gigabit Ethernet. Не пропуская широковещательных пакетов, они лучше справляются с этой задачей, чем мосты или коммутаторы, так как защищают медленные сегменты от перегрузок со стороны быстрых сегментов.
Маршрутизаторы иногда объединяют между собой. Множество сопряженных друг с другом маршрутизаторов могут образовывать так называемое облако (Cloud), представляющее собой, по сути, один гигантский маршрутизатор. Такое соединение обеспечивает исключительно гибкую и надежную связь между всеми подключенными к нему локальными сетями (рис. 13.13).
Рис. 13.13. Маршрутизируемое облако
Как уже отмечалось, можно считать, что репитерные концентраторы работают с пакетами, а мосты и коммутаторы – с кадрами. Маршрутизаторы обрабатывают адресную информацию, относящуюся к структуре дейтаграммы IP (IPX), которая вложена в область данных кадра, в свою очередь вложенного в пакет (рис. 13.14). Поэтому говорят, что они работают с дейтаграммами, или ретранслируют дейтаграммы. Маршрутизатор анализирует сетевой IP-адрес дейтаграммы (см. рис. 6.9) или сетевой IPX-адрес дейтаграммы (см. рис. 6.8). В оба эти адреса входят номер сети, и именно эти сети соединяет маршрутизатор. Сетями в данном случае называются широковещательные области (Broadcast Domain).
Рис. 13.14. Вложение дейтаграммы в кадр и пакет
Каждый абонент, прежде чем послать пакет, определяет, может ли он послать его непосредственно получателю или же ему надо воспользоваться услугами маршрутизатора. Если номер собственной сети передающего абонента совпадает с номером сети абонента, которому должен передаваться пакет, то пакет передается непосредственно, без маршрутизации. Если же адресат находится в другой сети, то передаваемая дейтаграмма должна быть отправлена маршрутизатору, который затем переправит ее в нужную сеть. При этом получается, что пакет в целом адресован маршрутизатору (как одному из абонентов собственной сети), а заключенная в нем дейтаграмма адресована абоненту из другой сети, которому она, собственно, и предназначена.
Маршрутизатор анализирует IP (или IPX) адреса в приходящей в составе пакета дейтаграмме и преобразует пакет, пришедший по одной из сетей, в пакет, предназначенный для другой сети. В поле адресов передаваемого пакета он ставит MAC-адрес получателя и свой MAC-адрес, как отправителя пакета. Ответный пакет точно так же должен пройти через посредника – маршрутизатора.
Хороший маршрутизатор очень дорог и сложен в настройке и эксплуатации. Поэтому использовать его следует только в тех случаях, когда это действительно необходимо, например, когда применение коммутаторов и мостов не позволяет преодолеть перегрузку сети.