Литмир - Электронная Библиотека

Мосты были развиты, когда использовался классический Ethernet, поэтому их часто показывают в топологии с многоточечными кабелями, как на рис. 4.38, а. Однако все топологии, которые можно встретить сейчас, состоят из двухточечных кабелей и коммутаторов. Мосты работают одинаково в обеих ситуациях. Все станции, присоединенные к тому же самому порту на мосту, принадлежат тому же самому домену коллизий, который отличается от доменов коллизий других портов. Если есть больше, чем одна станция, как в классическом Ethernet, концентратор или полудуплексный канал, для отправки кадров используется протокол CSMA/CD.

Однако есть различие в том, как устроены соединенные ЛВС. Чтобы соединить многоточечные ЛВС, мост добавлен как новая станция в каждой из них, как показано на рис. 4.38, а. Чтобы соединить двухточечные ЛВС, концентраторы или соединены с мостом, или, предпочтительно, заменены мостом, чтобы увеличить производительность. На рис. 4.38, б мосты заменили все, кроме одного концентратора.

К одному мосту также могут быть присоединены различные виды кабелей. Например, кабель, соединяющий B1 с мостом B2 на рис. 4.38, б, мог бы быть длинным оптоволоконным каналом, в то время как кабель, соединяющий мосты со станциями, мог бы быть короткой линией на витой паре. Такое расположение полезно для соединения ЛВС в различных зданиях.

Теперь давайте рассмотрим то, что происходит в мостах. Каждый мост работает в неразборчивом режиме, то есть принимает каждый кадр, переданный станциями, присоединенными к каждому из его портов.

При появлении кадра мост должен решить, игнорировать его или переправить, и если переправить, то в какой порт. Выбор производится на основе адреса получателя.

Например, рассмотрим топологию на рис. 4.38, а. Если станция A пошлет кадр станции B, то мост B1 получит кадр на порту 1. От этого кадра можно немедленно отказаться без дальнейшей суматохи, потому что он уже находится на правильном порту. Теперь предположим в топологии на рис. 4.38, б, что A посылает кадр D. Мост В1, получит кадр на порту 1 и выведет его на порт 4. Затем мост В2 получит кадр на своем порту 4 и выведет его на своем порту 1.

Простой способ реализовать эту схему состоит в том, чтобы мост имел большую (хэш) таблицу. В таблице могут быть перечислены все возможные места назначения и к какому порту каждое относится. Например, на рис. 4.38, б таблица в B1 перечисляла бы D как принадлежащий порту 4, так весь B1 знал бы, в какой порт отправить кадры для D. Тогда, фактически, дальнейшая пересылка произойдет позже, когда достигший B2 кадр не представляет интереса для B1.

Когда мосты включаются первый раз, все их хэш-таблицы пусты. Ни один мост не знает, где находятся адресаты, поэтому они используют алгоритм заливки (flooding): каждый приходящий кадр с неизвестным адресом переправляется сразу по всем направлениям, кроме того, откуда он пришел. Со временем мосты узнают расположение адресатов. Кадры, расположение получателей которых известно, направляются только в одну нужную сеть, они не заливаются.

Для обучения прозрачных мостов используется алгоритм так называемого противоточного обучения (backward learning). Как уже упоминалось выше, мосты работают в неразборчивом режиме, поэтому они видят все кадры, посылаемые во всех их портах. Просматривая адреса отправителей, они могут определить, какая станция доступна по какому порту. Например, если мост В1 на рис. 4.38, б видит кадр, приходящий к нему на порт 3 от станции C, то он понимает, что станция C достижима через порт 3, и делает соответствующую запись в своей таблице. Поэтому любой последующий кадр, адресованный станции C и приходящий в В1 по любому другому порту, будет переправляться в порт 3.

Топология сети может меняться, по мере того как отдельные станции и мосты будут включаться, выключаться, а также перемещаться. Для поддержки динамической топологии в таблице помимо номера станции и номера сети указывается также время прибытия кадра от данной станции. При получении новых кадров это время обновляется. Таким образом, для каждой станции известно время последнего полученного от нее кадра.

Время от времени процесс сканирует хэш-таблицу и удаляет все записи, сделанные ранее нескольких минут тому назад. Таким образом, если какой-либо компьютер был выключен, перенесен в новое место и включен снова, уже через несколько минут он сможет нормально работать, и для этого не потребуется никаких специальных действий. Обратная сторона такого алгоритма заключается в том, что кадры, направляемые какой-либо станции, молчавшей в течение нескольких минут, должны будут снова посылаться во все концы методом заливки.

Процедура обработки входящего кадра зависит от того порта, через который он прибыл (порт источника) и в какой адрес направляется (адрес назначения). Процедура выглядит следующим образом:

1.    Если порт источника и порт для адреса назначения совпадают, кадр игнорируется.

2.    Если порт источника и порт для адреса назначения различаются, кадр переправляется в порт назначения.

3. Если порт назначения неизвестен, используется алгоритм заливки, и кадр пересылается во все порты, кроме порта источника.

Вы могли бы задаться вопросом, может ли первый случай произойти с двухточечными линиями. Ответ — это может произойти, если для соединения группы компьютеров с мостом используются концентраторы. Пример показан на рис. 4.38, б, где станции E и F соединены с концентратором H1, который, в свою очередь, соединен с мостом B2. Если E пошлет кадр F, то концентратор передаст его B2, так же как и F. Именно это делают концентраторы — они связывают все порты вместе так, чтобы кадр, введенный на одном порту, просто выводится на всех других портах. Кадр достигнет B2 на порту 4, который уже является правильным выходным портом, чтобы достигнуть места назначения. Мост B2 должен просто отказаться от кадра.

Поскольку этот алгоритм должен быть применен к каждому прибывающему кадру, обычно он осуществляется специальными чипами СБИС. Чип производит поиск и обновляет записи таблицы за несколько микросекунд. Поскольку мосты смотрят только на MAC адреса, чтобы решить, как отправить кадры, возможно начать отправку, как только появилось поле заголовка назначения, до того как дошла остальная часть кадра (конечно, если выходная линия доступна). Эта схема сокращает время ожидания прохождения через мост, а также количество кадров, которые мост должен быть в состоянии буферизовать. Такой способ называют коммутация без буферизации пакетов (cut-through switching) или маршрутизация способом коммутации каналов (wormhole routing), и обычно он реализуется аппаратными средствами.

Мы можем посмотреть на работу моста с точки зрения стека протоколов, чтобы понять, что это означает быть устройством уровня канала. Рассмотрим кадр, посланный от станции А к станции D в конфигурации на рис. 4.38, а, в которой ЛВС — Ethernet. Кадр пройдет через один мост. Вид стека протокола обработки показан на рис. 4.39.

Пакет прибывает из более высокого уровня и спускается на уровень MAC Ethernet. Он приобретает заголовок Ethernet (а также метку конца, не показанную на рисунке). Этот кадр передается физическому уровню, выходит по кабелю и принимается мостом.

Компьютерные сети. 5-е издание - _233.jpg

Рис. 4.39. Протоколы, обрабатываемые на мосту

В мосте кадр передается с физического уровня на уровень MAC Ethernet. Этот уровень расширяет обработку по сравнению с уровнем MAC Ethernet на станции. Он передает на ретранслятор, все еще в пределах уровня MAC. Функция ретрансляции моста использует только заголовок MAC Ethernet, чтобы определить, как обработать кадр. В нашем случае он передает кадр тому порту уровня MAC Ethernet, который используется для достижения станции D, и кадр продолжает свой путь.

119
{"b":"639789","o":1}