Мосты до недавнего времени были основными устройствами, применявшимися для разбиения сети на части (для сегментирования сети). Их стоимость меньше, чем маршрутизаторов, а быстродействие выше, к тому же они прозрачны для протоколов второго уровня модели OSI. Абоненты сети могут не знать о наличии в сети мостов, и все их пакеты доходят до нужного адресата по всей сети без всяких проблем.
Мост, как правило, представляет собой компьютер, в который установлено от двух до четырех сетевых адаптеров. Каждый из этих адаптеров соединен с одним из сегментов сети. Конфигурация сети с мостами может быть довольно сложной (рис. 9.8), но в ней не должно быть замкнутых маршрутов (петель), альтернативных путей доставки пакетов (рис. 9.9). В противном случае в результате многократного прохождения Широкове-
щательных пакетов по замкнутому маршруту возникают перегрузки сети (так называемые широковещательные штормы) и ряд других проблем. Чтобы этого не происходило, в мостах предусматривается алгоритм ос-товного дерева (spanning tree), который позволяет в результате диалога между всеми мостами отключать порты, участвующие в создании петель (например, оба порта моста 2 на рис. 9.9).
Рис.9.8. Сеть с мостами
Рис. 9.9. Петля в сети с мостами
Благодаря этому можно специально дублировать соединение сегментов посредством мостов (создавать петли) для того, чтобы при отказе одной из линий связи автоматически восстанавливать целостность сети по альтернативному маршруту. Кстати, этот же алгоритм остовного дерева поддерживают и некоторые коммутаторы, которые тоже не способны работать в сети с петлями.
Мосты, как и коммутаторы, разделяют зону конфликта (область коллизии), но не разделяют широковещательную область (broadcast domain), то есть часть сети, в которой свободно проходят широковещательные пакеты. В результате нагрузка на каждый сегмент уменьшается, а ограничения на размер сети преодолеваются.
Одновременно мост может обрабатывать (ретранслировать) только один пакет, а не несколько, как коммутатор. Любой пакет, приходящий на один из портов, обрабатывается следующим образом:
1. Мост выделяет адрес источника (отправителя) пакета и ищет его в таблице адресов абонентов, относящейся к данному порту. Если этого адреса в таблицу нет, то он туда добавляется. Таким образом, автоматически формируется таблица адресов всех абонентов каждого сегмента из подключенных к портам моста.
2. Мост выделяет адрес приемника (получателя) пакета и ищет его в таблицах адресов, относящихся ко всем портам. Если пакет адресован в тот же сегмент, из которого он пришел, то он не ретранслируется (отфильтровывается). Если пакет широковещательный или многопунктовый (групповой), то он ретранслируется во все порты, кроме принявшего. Если пакет однопунктовый (адресован одному абоненту), то он ретранслируется только в тот порт, к которому присоединен сегмент с этим абонентом. Наконец, если адрес приемника не обнаружен ни в одной из таблиц адресов, то пакет посылается во все порты, кроме принявшего (как широковещательный).
Таблицы адресов абонентов имеют ограниченный размер, поэтому они формируются так, чтобы иметь возможность автоматического обновления их содержимого. Адреса тех абонентов, которые долго не присылают пакеты, через заданное время (обычно 5 минут) стираются из таблицы. Это гарантирует, что адрес абонента, отключенного от сети или перенесенного в другой сегмент, не будет занимать лишнего места в таблице.
Так как мост, как и коммутатор, анализирует информацию внутри кадра (физические адреса, МАС-адреса), часто говорят, что он ретранслирует кадры, а не пакеты (в отличие от репитера или репитерного концентратора).
Как и в случае коммутаторов, для эффективной работы моста необходимо выполнять упоминавшееся «правило 80/20», то есть большинство передач (не менее 80%) должно быть внутрисегментными, а не межсегментными.
Традиционно мосты подразделяются на внутренние и внешние.
Внутренние мосты выполняются на основе компьютера-сервера, в который устанавливают сетевые адаптеры (обычно до четырех), подключенные к разным сегментам сети. Строго говоря, именно эти сетевые адаптеры и соответствующие программные средства и называются внутренним мостом.
Внешний мост представляет собой рабочую станцию, в которую установлены два сетевых адаптера. В этом случае, в отличие от внутреннего моста, сегменты могут быть только однотипными (например, Ethernet-Ethernet).
Внешний мост может быть выделенным (dedicated) или невыделенным (non-dedicated) в зависимости от того, выполняет ли компьютер рабочей станции еще какие-нибудь функции, кроме сетевых. Термин «внешний» употребляется в этом случае по отношению к серверу, как основному компьютеру сети. В любой сети может присутствовать одновременно как внешний, так и внутренний мост или несколько мостов.
Как и коммутаторы Store-and-Forward, мосты могут поддерживать обмен между сегментами с разной скоростью передачи (Ethernet и Fast Ethernet), а также обеспечивать сопряжение полудуплексных и полнодуплексных сегментов. Полный прием пакетов в буферную память моста и их последующая передача легко решают подобные проблемы. Но мосты могут также сопрягать сети Ethernet и Fast Ethernet с сетями любых других типов, например, FDDI или Token-Ring, что не по силам большинству коммутаторов.