Назначение и примеры использования интегрированного устройства абонентского доступа FlexDSL FG-PAM-SAN-4Eth-R, V1 в компьютерных сетях - Учебное пособие (Бочелюк Т.В.)

4.4. объединение локальных сетей при помощи мостов

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

Мосты соединяют подсети на канальном уровне модели OSI, используя для своей работы аппаратные адреса компьютеров и иных устройств. Мост контролирует поток информации, обрабатывает ошибки передачи, обеспечивает физическую (в отличие от логической) адресацию и управляет доступом к физической среде. Мосты обеспечивают выполнение этих функций путем поддержки различных протоколов канального уровня, которые предписывают определенный поток информации, обработку ошибок, адресацию и алгоритмы доступа к среде.

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

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

Типы мостов

Мосты бывают локальные и дистанционные. Локальные мосты обеспечивают прямое соединение подсетей, находящихся на одной территории. Дистанционные мосты соединяют подсети на различных территориях, обычно через телекоммуникационные линии. Устройство FG-PAM-SAN-4Eth-R, V1 принадлежит именно к дистанционным мостам.

Дистанционное мостовое соединение представляет ряд уникальных трудностей объединения сетей. Одна из них - разница между скоростями LAN и WAN (большая разница скоростей LAN и WAN иногда не позволяет пользователям передавать через WAN трафик сетевых служб, чувствительных к задержкам).

Дистанционные мосты не могут увеличить скорость WAN, однако они могут компенсировать несоответствия в скоростях путем использования достаточных буферных мощностей. Если какое-либо устройство LAN, способное передавать со скоростью 10 Мбит/с, намерено свяжется с одним из устройств отдаленной LAN, то локальный мост должен регулировать поток информации, передаваемой со скоростью 10 Мбит/с, чтобы не переполнить последовательный канал, который пропускает 2 Мбит/с. Это достигается путем накопления поступающих данных во внутренних буферах для дальнейшей посылки их через канал связи. Это осуществимо только для коротких пакетов информации, которые не переполняют буферные мощности моста.

Устройство FG-PAM-SAN-4Eth-R, V1 при работе в качестве моста реализует алгоритмы «прозрачный мост» (transparent bridge) и «связующее дерево» (spanning tree).

Алгоритм «прозрачный мост» назван так потому, что присутствие и работа моста являются прозрачными для хостов сети.

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

Рис. 4.3. Простая сеть, состоящая из двух сегментов

  Таблица 4.1  

MAC-адрес

Порт

1

1

2

1

3

2

4

2

 

Мост соединяет два логических сегмента. Сегмент 1 составляют компьютеры, подключенные к порту 1 моста, а сегмент 2 - компьютеры, подключенные к порту 2 моста.

Каждый порт моста работает как конечный узел своего сегмента за одним исключением - порт моста не имеет собственного МАС - адреса. Порт моста работает в так называемом неразборчивом (promisquous) режиме захвата пакетов, когда все поступающие на порт пакеты запоминаются в буферной памяти. С помощью такого режима мост следит за всем трафиком, передаваемым в присоединенных к нему сегментах, и использует проходящие через него пакеты для изучения состава сети. Так как в буфер записываются все пакеты, то адрес порта мосту не нужен.

В исходном состоянии мост ничего не знает о том, компьютеры с какими МАС - адресами подключены к каждому из его портов. Поэтому в этом случае мост просто передает любой захваченный и буферизованный кадр на все свои порты за исключением того, от которого этот кадр получен. В примере у моста только два порта, поэтому он передает кадры с порта 1 на порт 2, и наоборот. Отличие работы моста в этом режиме от повторителя в том, что он передает кадр не побитно, а с буферизацией. Буферизация разрывает логику работы всех сегментов как единой разделяемой среды. Когда мост собирается передать кадр с сегмента на сегмент, например с сегмента 1 на сегмент 2, он заново пытается получить доступ к сегменту 2 как конечный узел по правилам алгоритма доступа, в данном примере - по правилам алгоритма CSMA/CD.

Одновременно с передачей кадра на все порты мост изучает адрес источника кадра и делает новую запись о его принадлежности в своей адресной таблице, которую также называют таблицей фильтрации или маршрутизации. Например, получив на свой порт 1 кадр от компьютера 1, мост делает первую запись в своей адресной таблице: МАС - адрес 1 - порт 1. Если все четыре компьютера данной сети проявляют активность и посылают друг другу кадры, то скоро мост построит полную адресную таблицу сети, состоящую из 4 записей - по одной записи на узел.

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

Если бы оказалось, что компьютеры принадлежат одному сегменту, то кадр просто был бы удален из буфера и работа с ним на этом бы закончилась. Такая операция называется фильтрацией (filtering).

Если же адрес назначения неизвестен, то мост передает кадр на все свои порты, кроме порта - источника кадра, как и на начальной стадии процесса обучения.

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

Существенным препятствием, нарушающим правильную работу алгоритма «прозрачного моста» является наличие «петель» в сети, как это показано на рис. 4.4.

Рис. 4.4. Наличие «петель» в сети

Предположим, что хост А отправляет блок данных в хост В. Оба моста принимают этот блок данных и делают правильный вывод о том, что машина А находится в сети 2. К сожалению, после того, как машина В примет два экземпляра блока данных машины А, оба моста снова получают этот же блок данных на свои интерфейсы от Сети 1, т.к. все хосты принимают все широковещательные сообщения LAN. В некоторых случаях мосты затем изменяют свои внутренние таблицы, чтобы указать, что машина А находится в Сети 1. В этом случае при ответе машины В на блок данных машины А оба моста примут, а затем проигнорируют эти ответы, т.к. их таблицы укажут, что данный пункт назначения (машина А) находится в том же сегменте сети, что и источник этого блока данных.

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

Для разрешения описанных проблем был разработан алгоритм связующего дерева (Spanning-Tree Algoritm, STA). Он сохраняет преимущества петель, устранив их проблемы. Алгоритм опубликован в спецификации IEEE 802.1d.

STA предусматривает свободное от петель подмножество топологии сети путем размещения таких мостов, которые, если они включены, то образуют петли в резервном (блокирующем) состоянии. Порты блокирующего моста могут быть активированы в случае отказа основного канала, обеспечивая новый тракт через объединенную сеть. Рис. 4.5 и рис. 4.6 объясняют, каким образом STA устраняет петли.

 

Рис. 4.5. Сеть до выполнения алгоритма связующего дерева

STA требует, чтобы каждому мосту был назначен уникальный идентификатор. Обычно этот идентификатор является одним из адресов МАС данного моста, который дополнен приоритетом. Каждому порту во всех мостах также назначается уникальный (в пределах этого моста) идентификатор (как правило, его собственный адрес МАС). И наконец, каждый порт моста взаимосвязан с затратами какого-нибудь тракта. Затраты тракта представляют собой затраты на передачу какого-нибудь блока данных в одну из локальных сетей через этот порт. На рис. 4.5 затраты трактов отмечены на линиях, исходящих из каждого моста. Затраты трактов обычно устaнавливаются по умолчанию, но могут быть назначены вручную администраторами сети.

Первым шагом при вычислении связующего дерева является выбор корневого моста (root bridge), который представляет собой мост с наименьшим значением идентификатора моста. На рис. 4.5 корневым мостом является Мост 1. Далее определяется корневой порт (root port) во всех остальных мостах. Корневой порт моста - это порт, через который можно попасть в корневой мост с наименьшими комбинированными затратами тракта. Эта величина (т.е. наименьшие комбинированные затраты тракта до корневого моста) называется затратами корневого тракта (root path cost).

И, наконец, определяются назначенные мосты (designated bridges) и их назначенные порты (designated ports). Назначенный мост - это тот мост каждой локальной сети, который обеспечивает минимальные затраты корневого тракта. Назначенный мост локальной сети является единственным мостом, который позволяет продвигать блоки данных в ту локальную сеть (и из нее), для которой этот мост является назначенным. Назначенный порт локальной сети - это тот порт, который соединяет ее с назначенным мостом.

В некоторых случаях два или более мостов могут иметь одинаковые затраты корневого тракта. Например, на рис. 4.5 как Мост 4, так и Мост 5 могут достичь Моста 1 (корневой мост) с затратами тракта 10. В этом случае снова используются идентификаторы моста, на этот раз для определения назначенных мостов. При выборе предпочтение отдано порту LAN V Моста 4 перед портом LAN V Моста 5. При использовании этого процесса устраняются все мосты, непосредственно соединенные с каждой LAN, кроме одного; таким образом, удаляются все петли между двумя LAN. STA также устраняет петли, включающие более двух LAN, в то же время сохраняя связность. На рис. 4.6 «Сеть после выполнения алгоритма связующего дерева» показаны результаты действия STA в сети, изображенной на рис. 4.5. Сравнение двух рисунков показывает, что алгоритм перевел в режим резерва как порты Моста 3 в LAN V, так и порты Moста 5 в LAN V.

Рис. 4.6. Сеть после выполнения алгоритма связующего дерева

Расчет связующего дерева имеет место при подаче питания на мост и во всех случаях обнаружения изменения топологии. Для расчета необходима связь между мостами связующего дерева, которая осуществляется через сообщения конфигурации. Они содержат информацию, идентифицирующую тот мост, который считается корневым (т.е. идентификатор корневого моста), расстояние от моста-отправителя до корневого моста (затраты корневого тракта), а также идентификаторы моста и порта моста-отправителя, а также возраст информации, содержащейся в сообщении конфигурации.

Мосты обмениваются сообщениями конфигурации через регулярные интервалы времени (обычно 1-4 с). Если какой-нибудь мост отказывает (вызывая изменение в топологии), то соседние мосты вскоре обнаруживают отсутствие сообщений конфигурации и инициируют пересчет связующего дерева [8].

В устройстве FG-PAM-SAN-4Eth-R, V1 реализованы как алгоритм прозрачного моста так и алгоритм связующего дерева.