Технология мостов
Объединение сетей с помощью мостов "Источник-Маршрут"
Библиографическая справка
Алгоритм Source-Route Bridging (SRB) (объединение с помощью мостов "источник-маршрут") был разработан IBM и предложен комитету IEEE 802.1 в качестве средства объединения локальных сетей с помощью мостов. После того, как комитет предпочел другой конкурирующий стандарт (смотри пункт "Прозрачное объединение с помощью мостов" о стандарте ТВ), сторонники SRB предложили его комитету IEEE 802.5, который впоследствии включил его в спецификацию локальной сети IEEE 802.5/Token Ring.
За первым предложением IBM последовало предложение нового стандарта объединения с помощью мостов в комитет IEEE 802: Source-Route Transparent (SRT) (Прозрачное объединение "источник-маршрут") Подробная информация о SRT дается в пункте "Mixed-Media Bridging". SRT полностью устраняет мосты "источник-маршрут" (SRB), предлагая взамен два типа мостов LAN-TB и SRT. Несмотря на то, что SRT получил одобрение, мосты SRB попрежнему широко применяются в сетях.
Алгоритм SRB
Свое название мосты SRB получили потому, что они предполагают размещение полного маршрута от источника до пункта назначения во всех межсетевых (LAN) блоках данных, отправляемых источником. SRB хранят и продвигают эти блоки данных в соответствии с указаниями о маршруте, содержащимися в соответствующем поле блока данных. На Рис. 6.5 представлен образец сети SRB.
Предположим, что Хост Х на Рис. 6.5 решила отправить блок данных в Хост Y. Вначале машина Х не знает, где находится машина Y-в той же или в другой LAN. Чтобы определить это, она отправляет тестовый блок данных. Если этот блок данных возвращается к ней без положительного указания о том, что машина Y видела его, то она должна предположить, что машина Y находится в отдаленном сегменте.
Чтобы точно определить местоположение отдаленной машины Y, машина Х отправляет блок данных разведчика (explorer). Каждый мост, получающий этот блок данных (в нашем примере это Мосты 1 и 2), копирует его во все порты отправки сообщений. По мере продвижения блоков данных-разведчиков через объединенную сеть они дополняются маршрутной информацией. Когда блоки данных-разведчики машины Х доходят до машины Y, то машина Y отвечает каждому отдельно, используя накопленную маршрутную информацию. После получения всех ответных блоков данных машина Х может выбрать маршрут, базирующийся на заранее установленном критерии.
В примере, приведенном на Рис. 6.5, результатом этого процесса будут два маршрута:
- LAN 1 - Bridge 1 - LAN 3 - Bridge 3 - LAN 2
- LAN 1 - Bridge 2 - LAN 4 - Bridge 4 - LAN 2
Машина Х должна выбрать один из этих двух маршрутов. Спецификация IEEE 802.5 не назначает критерий, который машина Х должна использовать для выбора маршрута; однако в ней имеется несколько предложений, которые перечислены ниже:
- Первый принятый блок данных
- Ответ с минимальным числом пересылок
- Ответ с самым большим разрешенным размером блока данных
- Различные комбинации перечисленных выше критериев
В большинстве случаев выбирается тракт, содержащийся в первом полученном блоке данных.
После того, как маршрут выбран, он включается в блоки данных, предназначенных для машины Y, в форме поля маршрутной информации ( routing information field - RIF ). RIF включается только в блоки данных, предназначенных для других LAN. Наличие маршрутной информации в блоке данных указывается путем установки самого значащего бита, называемого битом индикатора маршрутной информации ( routing information indicator - RII ), в поле адреса источника.
Формат блока данных (фрэйма)
Структура IEEE 802.5 RIF представлена на Рис. 6.6.
Подполе типа ( type ) в RIF указывает на количество узлов, в которые должен быть отправлен данный блок данных: в один узел, в группу узлов, включающих в себя связующее дерево данной объединенной сети, или во все узлы. Первый тип называется "специально направленным" ( specifically routed ) блоком данных, второй тип - "разведчиком связующего дерева" ( spanning-tree explorer ), а третий тип - "разведчиком всех трактов" ( all-paths explorer ). Разведчик связующего дерева может быть использован в качестве транзитного механизма для блоков данных с многопунктовой адресацией. Он может быть также использован в качестве замены разведчика всех трактов в запросах об исходящих маршрутах. В этом случае пункт назначения в ответ присылает разведчика всех трактов.
Подполе длины ( length ) обозначает общую длину RIF в байтах.
Бит D указывает направление движения блока данных (прямое или обратное).
Поле "самый большой" ( largest ) обозначает самый большой блок данных, который может быть обработан вдоль всего этого маршрута.
Полей описателя маршрута ( route descriptor ) может быть несколько. Каждое из них содержит пару "номер кольца/номер моста", которая определяет какую-нибудь часть маршрута. Таким образом, маршруты представляют собой просто чередующиеся последовательности номеров LAN и мостов, которые начинаются и заканчиваются номерами LAN.