Что такое прозрачный мост компьютерные сети
Мостовые соединения (bridging) являются фундаментальной частью стандартов для локальных сетей IEEE. Мост был разработан с целью уменьшения количества коллизий в локальных сетях, которые изначально использовали разделяемую среду передачи, увеличения диаметра сети, а также поддержки различных протоколов сетевого уровня. Мост делил локальную сеть на два (или более) сегмента и выполнял фильтрацию кадров на основе их МАС-адресов назначения. Прежде чем переслать кадры из одного сегмента в другой, он анализировал их и передавал только в том случае, если такая передача действительно была необходима, то есть МАС-адрес рабочей станции назначения принадлежал другому сегменту.
Стандарты IEEE определяют мостовые соединения для всех технологий локальных сетей. Например, в сетях Token Ring используется алгоритм мостовой передачи с маршрутизацией от источника (source route bridging), определенный в Секции 9 стандарта IEEE 802.2, в сетях Ethernet используется алгоритм прозрачного моста (transparent bridge), который определен стандартом IEEE 802.1D.
В настоящее время основным строительным блоком для создания локальных сетей являются коммутаторы (коммутаторы Ethernet, т.к. Ethernet является основной технологией локальных сетей). Коммутатор представляет собой многопортовый мост и также функционирует на канальном уровне модели OSI. Основное отличие коммутатора от моста заключается в том, что он производительнее, может устанавливать одновременно несколько соединений между разными парами портов и поддерживает множество дополнительных возможностей, отвечающих общепринятым стандартам. Наиболее распространенными и широко используемыми в настоящее время функциями коммутаторов являются:
- виртуальные локальные сети (VLAN);
- семейство протоколов Spanning Tree – IEEE 802.1D, 802.1w, 802.1s;
- статическое и динамическое по протоколу IEEE 802.1ad агрегирование каналов Ethernet;
- обеспечение качества обслуживания QoS;
- функции обеспечения безопасности, включая аутентификацию 802.1Х, функции Port Security, IP-MAC-Port Binding и т.д.;
- SNMP-управление и др.
Помимо перечисленных функций коммутаторы могут поддерживать протоколы маршрутизации и играть роль маршрутизаторов локальной сети. В этом случае их называют коммутаторами 3-го уровня.
Мосты позволяют объединить однотипные и разнотипные локальные сети в единую сеть. КАК РАБОТАЕТ МОСТ ПРОЗРАЧНЫЕ МОСТЫ АЛГОРИТМ SPANNING TREE МОСТЫ ДЛЯ TOKEN RING СРАВНИТЕЛЬНЫЕ ДОСТОИНСТВА НАВЕДЕНИЕ МОСТОВ Потребность объединения локальных
Мосты позволяют объединить однотипные и разнотипные локальные сети в единую сеть.
Потребность объединения локальных сетей, ограничения на протяженность сегмента локальной сети и число хостов в нем, необходимость снижения нагрузки на сегмент сети - этими и другими причинами объясняется появление в локальных сетях таких устройств, как мосты.
КАК РАБОТАЕТ МОСТ
Мосты функционируют на канальном уровне, точнее, на подуровне контроля доступа к среде передачи, MAC, поскольку подуровень управления логическим каналом, LLC, не затрагивается (MAC - нижний, а LLC - верхний подуровень сетевого уровня в локальных сетях). Мосты позволяют хостам в различных локальных сетях взаимодействовать друг с другом, как если бы они находились в одной сети. В отличие от повторителей, функционирующих на физическом уровне, мосты пропускают только предназначенный другому сегменту трафик. В отличи от маршрутизаторов, функционирующих на сетевом уровне, мостам безразлично, какие пакеты - IP, IPX или другие - они передают.
Схематически работа моста выглядит следующим образом. Пусть хост А из локальной сети Ethernet хочет передать пакет сетевого уровня хосту Б в локальной сети Token Ring (см. Рисунок 1). Пакет передается подуровню LLC, а после добавления LLC-заголовка спускается на подуровень MAC, где получает заголовок и концевик. Получившийся блок данных передается по кабелю и в конце концов достигает моста. MAC-заголовок удаляется, и пакет (LLC-заголовок не трогается) передается MAC-подуровнем LLC-подуровню моста. После этого пакет проделывает путь в обратном порядке по сети Token Ring. Если бы пакет предназначался той же сети, что и хост А, то он был бы просто проигнорирован мостом.
Рисунок 1.
Функционирование моста между локальными сетями Ethernet и Token Ring.
Однако все далеко не так просто, как кажется поначалу. Проблемы существуют как при организации моста между двумя разными, так и между двумя одинаковыми локальными сетями. Что касается разнотипных локальных сетей, то это, например, несовпадение форматов кадров (именно так называется блок данных канального уровня) неоднотипных локальных сетей, различия в пропускной способности (например, Ethernet - 10 Мбит/с, а Token Ring - 4 или 16 Мбит/с) и максимальном размере кадров, и т.д. Конечно, в случае однотипных локальных сетей проблем меньше, но совсем без проблем не обойтись и здесь. Например, два сегмента Ethernet могут иметь разную загруженность, в этом случае буфер для пересылаемых в перегруженный сегмент кадров может переполниться, и мост будет вынужден отказываться от вновь поступающих пакетов.
ПРОЗРАЧНЫЕ МОСТЫ
Одним из двух имеющихся стандартов на мосты является Transparent Bridging. Разработчики этого стандарта ставили перед собой задачу определения полностью прозрачного моста. С их точки зрения, купив мост для объединения двух локальных сетей, вам остается только подсоединить коннекторы к мосту, и все тут же должно начать работать. Никаких изменений в программном и аппаратном обеспечении, никакой настройки адресов, никакой загрузки маршрутных таблиц. Просто подключаете кабели, и готово.
Прозрачный мост работает в режиме приема всех пакетов (promiscuous mode). В качестве примера мы рассмотрим конфигурацию, изображенную на Рисунке 2. Мост М1 подсоединен к сетям 1 и 2, а мост М2 подсоединен к сетям 2, 3, 4 (мост не обязательно соединяет лишь две локальные сети - многопортовый мост, каковым, например, является коммутатор Ethernet, может соединять 8, 16 и более сетей). Если кадр, полученный мостом М1 из сети 1, предназначен хосту А, то он тут же отбрасывается. Если же кадр предназначен C или G, то он пересылается в другую сеть.
Рисунок 2.
Прозрачные мосты передают в другую сеть только пакеты, адресат которых находится за пределами сети, из которой пакет получен.
При первом включении моста все строки таблицы пусты. Мост не знает, какой адресат в какой сети находится, поэтому он использует алгоритм веерной рассылки (flooding algorithm): каждый полученный кадр с неизвестным адресатом пересылается во все сети, за исключением той, из которой он получен. Постепенно мост узнает, где какой адресат находится (о том, как он это делает, поговорим чуть ниже). После чего кадры пересылаются только в соответствующую локальную сеть.
Прозрачные мосты узнают о местонахождении адресатов с помощью алгоритма обратного обучения (backward learning). Как упоминалось выше, мост работает в режиме приема всех пакетов, поэтому он видит все кадры в каждой из подсоединенных к нему локальных сетей. Взглянув на адрес отправителя, мост может определить, через какую сеть какая машина доступна. Например, если мост 2 на Рисунке 2 видит, что кадр с адресом отправителя G получен из локальной сети 4, то он заносит в таблицу информацию, что все пакеты, предназначенные G, должны пересылаться в сеть 4.
Топология сети может изменяться в результате включения/выключения и перемещения мостов и хостов. Для учета этой динамики каждая адресная запись таблицы содержит время получения кадра. При получении кадра с уже известным мосту адресом отправителя запись о времени обновляется. Периодически мост просматривает таблицу и удаляет все записи, чей возраст старше нескольких минут. В результате, если компьютер отключается от одной сети и переносится в другую, то через несколько минут он снова сможет работать в сети без какого-либо вмешательства человека. Кроме того, если компьютер не посылает кадры в течение какого-то времени, то любой предназначеный ему трафик будет рассылаться во все сопредельные сети, пока он сам что-либо не передаст.
Таким образом, то, как мост поступает с кадром, зависит от того, из какой сети кадр получен и кому он адресуется:
1. Если отправитель и получатель находятся в одной сети, то кадр отбрасывается.
2. Если отправитель и получатель находятся в разных сетях, то кадр пересылается в сеть, через которую он может достигнуть получателя.
3. Если получатель неизвестен, то кадр рассылается во все сопредельные сети.
АЛГОРИТМ SPANNING TREE
При определенных условиях кадры могут зацикливаться. Проиллюстрируем это на простом примере. Пусть две сети 1 и 2 соединены с помощью двух параллельных мостов М1 и М2 (например, для обеспечения избыточности). Если компьютер из сети 1 передает кадр неизвестному адресату, то сначала, например, М1, а затем М2 передают этот кадр в сеть 2 в соответствии с алгоритмом веерной рассылки. Вскоре М2 получает пересланную М1, а М1 - пересланную М2 в сеть 2 копию исходного кадра, адрес получателя которого неизвестен, и передают их поэтому обратно в сеть 1, и так до бесконечности.
Решение данной проблемы - в создании древовидной топологии (Spanning Tree), когда некоторые соединения между локальными сетями по существу игнорируются, причем из одной сети можно попасть в другую только одним путем.
МОСТЫ ДЛЯ TOKEN RING
Прозрачные мосты имеют то преимущество, что они просты в установке. Однако такие мосты используют доступную пропускную способность не оптимальным образом, поскольку не все мосты задействованы в целях исключения возможных петель (вследствие применения алгоритма Spanning Tree). Мосты c определением пути по запросу источника (Source Routing) представляют альтернативу прозрачным мостам. Кроме того, прозрачные мосты предназначены для работы в сетях Ethernet и Token Bus, а стандарт на рассматриваемые в этом разделе мосты разрабатывался под Token Ring. По области применения мы будем называть их в данном разделе мостами Token Ring ввиду отсутствия адекватного перевода для словосочетания source routing.
Алгоритм Source Routing предполагает, что отправитель каждого кадра знает о том, что адресат находится (или не находится) в той же сети. При отправке кадра в другую сеть машина-отправитель задает старший бит адреса отправителя равным 1. Кроме того, она помещает в заголовок кадра весь путь, по которому кадр должен следовать.
Этот путь формируется следующим образом. Каждая локальная сеть имеет уникальный 12-битный номер, а каждый мост имеет 4-битный номер, по которому он может быть идентифицирован в контексте данной локальной сети. Таким образом, далеко отстоящие друг от друга мосты могут иметь один и тот же номер, например 13, но мосты между двумя локальными сетями должны иметь разные номера. Таким образом, путь представляет собой числовую последовательность номеров моста, сети, моста, сети и т.д.
Мост Token Ring отбирает только кадры со старшим битом адреса равным 1. В этом случае мост находит в поле пути номер локальной сети, из которой данный кадр получен, и, если за номером сети следует его собственный номер, передает кадр в сеть, номер которой следует за его собственным.
Неявно алгоритм Source Routing предполагает, что каждая машина в объединенной сети знает, или может найти, наилучший путь до получателя. Основная идея алгоритма определения пути по запросу источника состоит в том, что когда отправитель не знает путь к получателю, он посылает широковещательный кадр с запросом о его местонахождении. Этот поисковый кадр (discovery frame) передается каждым мостом в сети и в результате попадает во все сети. При возвращении ответа мосты записывают в него информацию о себе, на основе анализа которой отправитель может выбрать наилучший путь из всех возможных.
Недостаток этого алгоритма в том, что он ведет к экспоненциальному росту числа пакетов. Например, если сеть 1 соединена тремя мостами с сетью 2, сеть 2 соединена тремя мостами с сетью 3 и т.д., то когда хост в сети 1 отправляет поисковый кадр, он копируется в сеть 2 всеми тремя мостами (см. Рисунок 3). Каждый из трех новых поисковых кадров копируется в сеть под номером 3 всеми тремя мостами между сетью 2 и 3. В результате, когда поисковые кадры достигнут сети N, их число будет равно 3(N-1). При большом числе сетей и мостов такой рост числа пакетов может весьма негативно отразиться на работе сети. После того как хост определил путь к неизвестному адресату, он сохраняет путь в кэше, чтобы не повторять процесс определения местонахождения в следующий раз.
Рисунок 3.
В сетях с параллельными мостами Token Ring число посланных пакетов растет экспоненциальным образом.
СРАВНИТЕЛЬНЫЕ ДОСТОИНСТВА
Каждый из описанных видов мостов (Transparent и Source Routing) имеет свои преимущества и недостатки. Суть различия между двумя типами мостов лежит в том, что прозрачные мосты передают кадры независимо друг от друга, в то время как мосты Token Ring сначала определяют путь, а затем передают по нему кадры.
Прозрачные мосты полностью невидимы для хостов и полностью совместимы со всеми продуктами, отвечающими стандарту 802. Мосты же Token Ring не только не прозрачны, но и не совместимы: хосты должны знать о существовании мостов и активно участвовать в их работе, а разделение локальной сети Token Ring на две при помощи моста требует изменений в программном обеспечении хоста.
В случае изменения топологии прозрачные мосты конфигурируются автоматически. Применение же мостов Token Ring предполагает задание номеров сети и мостов администратором сети. Возможные ошибки, например дублирование номера сети или моста, обнаружить бывает очень сложно. Более того, если кто-либо хочет соединить при помощи моста две сети, каждая из которых состоит из нескольких локальных сетей, то в этом случае администратор будет вынужден поменять номера локальных сетей в одной из двух объединяемых, чтобы обеспечить их уникальность в единой сети.
Теоретически одно из немногих преимуществ мостов Token Ring состоит в том, что они могут использовать оптимальный путь, тогда как путь пересылки кадров прозрачными мостами ограничен деревом. Кроме того, параллельные мосты Token Ring между двумя сетями могут использоваться для распределения нагрузки между ними. Насколько реальные мосты реализуют эти теоретические преимущества, сказать трудно.
Прозрачные мосты определяют местоположение адресата с помощью обратного обучения, а мосты Token Ring посылают поисковые кадры. При обратном обучении мост вынужден ждать, пока машина с неизвестным адресом соизволит послать кадр, а рассылка поисковых кадров приводит к экспоненциальному росту числа пакетов даже не в столь уж крупных объединенных сетях с параллельными мостами.
Каждый из видов мостов по-разному реагирует на аварии в сети. Прозрачные мосты узнают о выходе из строя других мостов и прочих изменениях в топологии автоматически в короткий срок посредством рассылки друг другу контрольных пакетов. В случае же выхода из строя моста Token Ring ситуация отличается кардинальным образом. Когда какой-либо мост на пути передачи кадра от одного хоста к другому выходит из строя, отправитель не получает квитанции о получении вовремя и повторяет посылку еще несколько раз, прежде чем придет к заключению о наличии проблем на пути пакета и пошлет поисковый пакет. Если же через данный мост передают пакеты многие хосты, то тогда все они вынуждены будут искать обходные маршруты при помощи рассылки поисковых пакетов.
Наконец, мосты Token Ring в отличие от прозрачных мостов возлагают значительную часть работы на хосты: те должны хранить пути, рассылать поисковые кадры и копировать информацию о пути в каждый кадр. Все это требует дополнительных затрат ресурсов памяти и ЦПУ. Ввиду того, что по сравнению с мостами хостов, как правило, на один-два порядка меньше, дополнительную стоимость и сложность лучше вложить в несколько мостов, чем во все хосты.
НАВЕДЕНИЕ МОСТОВ
К сожалению, комитет IEEE 802 не смог прийти к единому стандарту для мостов между локальными сетями - в результате мы имеем два несовместимых между собой стандарта. Позднее IEEE объединил оба метода организации моста в одном под названием Source Routing Transparent. Такой мост работает одновременно и как Source Route, и как Transparent.
Сфера применения мостов довольно многообразна. Помимо объединения локальных сетей, мосты могут использоваться, например, для уменьшения нагрузки на сеть посредством деления ее при помощи моста на две сети, причем логически это по-прежнему одна сеть, однако локальные пакеты в другую половину сети не передаются. Кроме того, мосты могут использоваться для повышения защищенности сети за счет того, что локальные пакеты невидимы по другую сторону моста.
Однако в настоящее время наибольшей популярностью мосты пользуются при объединении двух локальных сетей через прямой канал глобальной сети, но здесь мы уже выходим за рамки нашего урока.
Серийное изготовление мостов началось в начале 1980гг. В то время, когда они появились, мосты о'единяли гомогенные сети, делая возможным прохождение пакетов между ними. В последнее время об'единение различных сетей с помощью мостов также было определено и стандартизировано.
Уменьшающиеся цены на роутеры и введение во многие из них возможности соединять по мостовой схеме, сделанное в последнее время, значительно сократило долю рынка чистых мостов. Те мосты, которые уцелели, обладают такими характеристиками, как сложные схемы фильтрации, псевдоинтеллектуальный выбор маршрута и высокая производительность. В то время как в конце 1980гг шли бурные дебаты о преимуществах соединения с помощью мостов в сравнении с роутерами, в настоящее время большинство пришло к выводу, что часто оба устройства необходимы в любой полной схеме об'единения сетей.
Сравнение устройств для объединения сетей
Устройства об'единения сетей обеспечивают связь между сегментами локальных сетей (LAN). Существуют 4 основных типа устройств об'единения сетей: повторители, мосты, роутеры и межсетевые интерфейсы. Эти устройства в самом общем виде могут быть дифференцированы тем уровнем "Межсоединений Открытых Систем" (OSI), на котором они устанавливают соединение между LAN. Повторители соединяют LAN на Уровне 1 OSI; мосты соединяют LAN на Уровне 2; роутеры соединяют LAN на Уровне 3; межсетевые интерфейсы соединяют LAN на Уровнях 4-7. Каждое устройство обеспечивает функциональные возможности, соответствующие своему уровню, а также использует функциональные возможности всех более низких уровней. Эта положение иллюстрируется графически на Рис. 3-1.
Основы технологии объединения сетей
Уровень, на котором находит применение об'единение с помощью мостов (называемый канальным уровнем), контролирует поток информации, обрабатывает ошибки передачи, обеспечивает физическую (в отличие от логической) адресацию и управляет доступом к физической среде. Мосты обеспечивают выполнение этих функций путем поддержки различных протоколов канального уровня, которые предписывают определенный поток информации, обработку ошибок, адресацию и алгоритмы доступа к носителю. В качестве примеров популярных протоколов канального уровня можно назвать Ethernet, Token Ring и FDDI.
Мосты - несложные устройства. Они анализируют поступающие фреймы, принимают решение о их продвижении, базируясь на информации, содержащейся в фрейме, и пересылает их к месту назначения. В некоторых случаях (например, при об'единении "источник-маршрут") весь путь к месту назначения содержится в каждом фрейме. В других случаях (например, прозрачное об'единение) фреймы продвигаются к месту назначения отдельными пересылками, по одной за раз. Дополнительная информация по соединению источник-маршрут и прозрачному соединению приведена соответственно в главе 30 "Соединение по мостовой схeмe Источник-Маршрут" и главе 29 "Прозрачное об'единение с помощью мостов".
Основным преимуществом об'единения с помощью мостов является прозрачность протоколов верхних уровней. Т.к. мосты оперируют на канальном уровне, от них не требуется проверки информации высших уровней. Это означает, что они могут быстро продвигать трафик, представляющий любой протокол сетевого уровня. Обычным делом для моста является продвижение Apple Talk, DECnet, TCP/IP, XNS и другого трафика между двумя и более сетями.
Мосты способны фильтровать фреймы, базирующиеся на любых полях Уровня 2. Например, мост можно запрограммировать так, чтобы он отвергал (т.е. не пропускал) все фреймы, посылаемые из определенной сети. Т.к. в информацию канального уровня часто включается ссылка на протокол высшего уровня, мосты обычно фильтруют по этому параметру. Кроме того, мосты могут быть полезны, когда они имеют дело с необязательной информацией пакетов широкой рассылки.
Разделяя крупные сети на автономные блоки, мосты обеспечивают ряд преимуществ. Во-первых, поскольку пересылается лишь некоторый процент трафика, мосты уменьшают трафик, проходящий через устройства всех соединенных сегментов. Во-вторых, мосты действуют как непреодолимая преграда для некоторых потенциально опасных для сети неисправностей. В-третьих, мосты позволяют осуществлять связь между большим числом устройств, чем ее можно было бы обеспечить на любой LAN, подсоединенной к мосту, если бы она была независима. В-четвертых, мосты увеличивают эффективную длину LAN, позволяя подключать еще не подсоединенные отдаленные станции.
Типы мостов
Мосты можно сгруппировать в категории, базирующиеся на различных характеристиках изделий. В соответствии с одной из популярных схем классификации мосты бывают локальные и дистанционные. Локальные мосты обеспечивают прямое соединение множества сегментов LAN, находящихся на одной территории. Дистанционные мосты соединяют множество сегментов LAN на различных территориях, обычно через телекоммуникационные линии. Эти две конфигурации представлены на Рис. 3-2.
Дистанционное мостовое соединение представляет ряд уникальных трудностей об'единения сетей. Одна из них - разница между скоростями LAN и WAN (глобальная сеть). Хотя в последнее время в географически рассредоточенных об'единенных сетях появилось несколько технологий быстродействующих WAN, скорости LAN часто на порядок выше скоростей WAN. Большая разница скоростей LAN и WAN иногда не позволяет пользователям прогoнять через WAN применения LAN, чуствительные к задержкам.
Дистанционные мосты не могут увеличить скорость WAN, однако они могут компенсировать несоответствия в скоростях путем использования достаточных буферных мощностей. Если какое-либо устройство LAN, способной передавать со скоростью 3 Mb/сек, намерено связаться с одним из устройств отдаленной LAN, то локальный мост должен регулировать поток информации, передаваемой со скоростью 3Mb/сек, чтобы не переполнить последовательный канал, который пропускает 64 Kb/сек. Это достигается путем накопления поступающей информации в расположенных на плате буферах и посылки ее через последовательный канал со скоростью, которую он может обеспечить. Это осуществимо только для коротких пакетов информации, которые не переполняют буферные мощности моста.
IEEE (Институт инженеров по электротехнике и радиоэлектронике) поделил канальный уровень OSI на два отдельных подуровня: подуровень MAC (Управление доступом к носителю) и подуровень LLC (Управление логическим каналом). МАС разрешает и оркестрирует доступ к носителю (Например, конфликтные ситуации, эстафетная передача и др.), в то время как подуровень LLC занят кадрированием, управлением потоком информации, управлением неисправностями и адресацией подуровня МАС.
Некоторые мосты являются мостами подуровня МАС. Эти устройства образуют мост между гомогенными сетями (например, IEEE 802.3 и IEEE 802.3). Другие мосты могут осуществлять трансляцию между различными протоколами канального уровня (например, IEEE 802.3 и IEEE 802.5). Базовый механизм такой трансляции показан на Рис. 3-3.
На Рис. 3-3 главная вычислительная машина IEEE 802.3 (Главная вычислительная машина А) формулирует пакет, содержащий прикладную информацию, и герметизирует этот пакет в совместимый с IEEE 802.3 фрейм для передачи через среду IEEE 802.3 в мост. Внутри моста фрейм освобождается от заголовка IEEE 802.3 в подуровне МАС канального уровня и затем передается выше в подуровень LLC для дальнейшей обработки. После обработки пакет снова передается вниз в реализацию IEEE 802.5, которая герметизирует пакет в заголовок IEEE 802.5 для передачи через сеть IEEE 802.5 в главную вычислительную машину IEEE 802.5 (Главная вычислительная машина В).
Трансляция, осуществляемая мостом между различными типами сетей, никогда не бывает безупречной, т.к. всегда имеется вероятность, что одна сеть поддержит определенный фрейм, который не поддерживается другой сетью. Эту ситуацию можно считать примерно аналогичной проблеме, с которой сталкивается эскимос, пытающийся перевести на английский некоторые слова из тех 50 слов, которые обозначают "снег". Более подробно многие из вопросов трансляции через мосты обсуждаются в Главе 31 "Об'единение различных сред с помощью мостов".
Для преодоления ограничений технологий локальных сетей уже достаточно давно начали применять локальные мосты, функциональные предшественники коммутаторов.
Мост - это устройство, которое обеспечивает взаимосвязь двух (реже нескольких) локальных сетей посредством передачи кадров из одной сети в другую с помощью их промежуточной буферизации. Мост, в отличие от повторителя, не старается поддержать побитовый синхронизм в обеих объединяемых сетях. Вместо этого он выступает по отношению к каждой из сетей как конечный узел. Он принимает кадр, буферизует его, анализирует адрес назначения кадра и только в том случае, когда адресуемый узел действительно принадлежит другой сети, он передает его туда.
Для передачи кадра в другую сеть мост должен получить доступ к ее разделяемой среде передачи данных в соответствии с теми же правилами, что и обычный узел.
Таким образом мост, изолирует трафик одного сегмента от трафика другого сегмента, фильтруя кадры. Так как в каждый из сегментов теперь направляется трафик от меньшего числа узлов, то коэффициент загрузки сегментов уменьшается (рисунок 2.4).
Рис. 2.4. Локализация трафика при использовании моста
Мост не только снижает нагрузку в объединенной сети, но и уменьшает возможности несанкционированного доступа, так как пакеты, предназначенные для циркуляции внутри одного сегмента, физически не появляются на других, что исключает их "прослуши-
вание" станциями других сегментов.
По своему принципу действия мосты подразделяются на два типа. Мосты первого типа выполняют так называемую маршрутизацию от источника (Source Routing), метод, разработанный фирмой IBM для своих сетей Token Ring. Этот метод требует, чтобы узел-отправитель пакета размещал в нем информацию о маршруте пакета. Другими словами, каждая станция должна выполнять функции по маршрутизации пакетов. Второй тип мостов осуществляет прозрачную для конечных станций передачу пакетов (Transparent Bridges). Именно этот тип мостов лег в основу современных коммутаторов, поэтому остановимся на нем подробнее.
Функции и алгоритмы прозрачных мостов
Прозрачные мосты являются наиболее распространенным типом мостов. Для прозрачных мостов сеть представляется наборами МАС-адресов устройств, используемых на канальном уровне, причем каждый набор связан с определенным портом моста.
Мосты используют эти адреса для принятия решения о продвижении кадра, когда кадр записывается во внутренний буфер моста из какого-либо его порта. Мосты не имеют доступа к информации об адресах сетей, относящейся к более высокому - сетевому - уровню, и они ничего не знают о топологии связей сегментов или сетей между собой. Таким образом, мосты являются совершенно прозрачными для протоколов, начиная с сетевого уровня и выше. Эта прозрачность позволяет мостам передавать пакеты различных протоколов высокого уровня, никоим образом не влияя на их содержимое.
Вследствие функциональной ограниченности мосты имеют достаточно простое устройство и представляют собой удобное и недорогое средство для построения интерсети.
Мосты обеспечивают возможность соединения двух или более сетей для образования единой логической сети. Исходные сети становятся сетевыми сегментами результирующей сети. Каждый такой сегмент остается доменом коллизий, то есть участком сети, в котором все узлы одновременно фиксируют и обрабатывают коллизию. Однако коллизии одного сегмента не приводят к возникновению коллизий в другом сегменте, так как мост не осуществляет побитовый синхронизм сегментов и ограничивает коллизии тем сегментом, в котором они возникают.
Мосты регенерируют пакеты, которые они передают с одного порта на другой (операция forwarding). Одним из преимуществ использования мостов является увеличение расстояния, покрываемого интерсетью, так как количество пересекаемых мостов не оказывает влияния на качество сигнала.
Рис. 2.5. Мост как коммуникационное устройство канального уровня
Прозрачные мосты имеют дело как с адресом источника, так и с адресом назначения, имеющимися в кадрах локальных сетей. Мост использует адрес источника для автоматического построения своей базы данных адресов устройств, называемой также таблицей адресов устройств. В этой таблице устанавливается принадлежность адреса узла какому-либо порту моста. Все операции, которые выполняет мост, связаны с этой базой данных. На рисунке 2.5 показан фрагмент сети, содержащий двухпортовый мост, и соответствующая этому фрагменту часть таблицы адресов устройств. Внутренняя структура моста показана на рисунке 2.6. Функции доступа к среде при приеме и передаче кадров выполняют микросхемы MAC.
Рис. 2.6. Состав и структура моста
Все порты моста работают в так называемом "неразборчивом" (promisquous) режиме захвата пакетов, то есть все поступающие на порт пакеты запоминаются в буферной памяти. С помощью такого режима мост следит за всем трафиком, передаваемым в присоединенных к нему сегментах и использует проходящие через него пакеты для изучения состава сети.
Когда мост получает кадр от какого-либо своего порта, то он (после буферизации) сравнивает адрес источника с элементами базы данных адресов. Если адрес отсутствует в базе, то он добавляется в нее. Если этот адрес уже имеется в базе, то возможны два варианта - либо адрес пришел с того же порта, который указан в таблице, либо он пришел с другого порта. В последнем случае строка таблицы, соответствующая обрабатываемому адресу, обновляется - номер порта заменяется на новое значение (очевидно, станцию с данным адресом переместили в другой сегмент сети). Таким способом мост "изучает" адреса устройств сети и их принадлежность портам и соответствующим сегментам сети. Из-за способности моста к "обучению" к сети могут добавляться новые устройства без необходимости реконфигурирования моста. Администратор может объявить часть адресов статическими и не участвующими в процессе обучения (при этом он их должен задать сам). В случае статического адреса приход пакета с данным адресом и значением порта, не совпадающим с хранящимся в базе, будет проигнорирован и база не обновится.
Кроме адреса источника мост просматривает и адрес назначения кадра, чтобы принять решение о его дальнейшем продвижении. Мост сравнивает адрес назначения кадра с адресами, хранящимися в его базе. Если адрес назначения принадлежит тому же сегменту, что и адрес источника, то мост "фильтрует" (filtering) пакет, то есть удаляет его из своего буфера и никуда не передает. Эта операция помогает предохранить сеть от засорения ненужным трафиком.
Если адрес назначения присутствует в базе данных и принадлежит другому сегменту по сравнению с сегментом адреса источника, то мост определяет, какой из его портов связан с этим адресом и "продвигает" (forwarding) кадр на соответствующий порт. Затем порт должен получить доступ к среде подключенного к нему сегмента и передать кадр узлам данного сегмента.
Если же адрес назначения отсутствует в базе или же это широковещательный адрес, то мост передает кадр на все порты, за исключением того порта, с которого он пришел. Такой процесс называется "затоплением" (flooding) сети. Затопление гарантирует, что пакет будет помещен на все сегменты сети и, следовательно, доставлен адресату или адресатам. Точно также мост поступает по отношению к кадрам с неизвестным адресом назначения, затопляя им сегменты сети. Очевидно, что некоторое время после инициализации мост выполняет только операцию затопления, так как он ничего не знает о принадлежности адресов сегментам сети.
Рисунок 2.5 иллюстрирует процессы обучения, фильтрации и продвижения. Предположим, что станции 1 и 2 являются новыми станциями на сегменте 1. Когда станция 1 впервые направляет кадр станции 2, то мост определяет, что адреса станции 1 нет в базе адресов и добавляет его туда. Затем, так как адреса станции 2 также нет в базе адресов, мост "затапливает" все сегменты (в данном случае это только один сегмент 2).
Когда станция 2 посылает ответный кадр, мост добавляет в свою базу и адрес 2. Затем он просматривает таблицу базы адресов и обнаруживает, что адрес 1 в ней имеется и относится к сегменту 1, которому принадлежит и адрес источника. Поэтому он фильтрует этот кадр, то есть удаляет его из буфера и никуда не передает.
Мост, работающий по описанному алгоритму, прозрачен не только для протоколов всех уровней, выше канального, но и для конечных узлов сети. Эта прозрачность состоит в том, что узлы не посылают мосту свои кадры специальным образом, указывая в них адрес порта моста. Даже при наличии моста в сети конечные узлы продолжают посылать кадры данных непосредственно другим узлам, указывая их адреса в качестве адресов назначения кадров. Поэтому порты мостов вообще не имеют МАС-адресов, работая в режиме "неразборчивого" захвата всех кадров. Такая прозрачность моста упрощает работу конечных узлов, и это свойство коренным образом отличает мост от маршрутизатора, которому узел отправляет кадр явным образом, указывая МАС-адрес порта маршрутизатора в своем кадре.
На рисунке 2.7 показана копия экрана с адресной таблицей модуля моста концентратора System 3000 компании Bay Networks. Из него видно, что сеть состоит из двух сегментов - LAN A и LAN B. В сегменте LAN A имеется по крайней мере 3 станции, а в сегменте LAN B - 2. Четыре адреса, помеченные звездочками, являются статическими, причем кадры, имеющие адреса, помеченные Flood, должны распространяться широковещательно.
Описанная процедура хорошо работает до тех пор, пока пользователи не переносят свои компьютеры из одного логического сегмента в другой. Так как MAC-адрес сетевого адаптера аппаратно устанавливается изготовителем, то при перемещении компьютера мосты должны периодически обновлять содержимое своих адресных баз. Для обеспечения этой функции записи в адресной базе делятся на два типа - статические и динамические. С каждой динамической записью связан таймер неактивности. Когда мост принимает кадр с адресом источника, соответствующим некоторой записи в адресной базе, то соответствующий таймер неактивности сбрасывается в исходное состояние. Если же от какой-либо станции долгое время не поступает кадров, то таймер неактивности исчерпывает свой интервал, и соответствующая ему запись удаляется из адресной базы.
Рис. 2.7. Таблица продвижений моста System 3000 Local Bridge
Проблема петель при использовании мостов
Обучение, фильтрация и продвижение основаны на существовании одного логического пути между любыми двумя узлами сети. Наличие нескольких путей между устройствами, известных также как "активные петли", создает проблемы для сетей, построенных на основе мостов.
Рис. 2.8. Влияние замкнутых маршрутов на работу мостов
Рассмотрим в качестве примера сеть, приведенную на рисунке 2.8. Два сегмента параллельно соединены двумя мостами так, что образовалась активная петля. Пусть новая станция с адресом 10 впервые посылает пакет другой станции сети, адрес которой также пока неизвестен мосту. Пакет попадает как в мост 1, так и в мост 2, где его адрес заносится в базу адресов с пометкой о его принадлежности сегменту 1. Так как адрес назначения неизвестен мосту, то каждый мост передает пакет на сегмент 2. Эта передача происходит поочередно, в соответствии с методом случайного доступа технологии Ethernet. Пусть первым доступ к сегменту 2 получил мост 1. При появлении пакета на сегменте 2 мост 2 принимает его в свой буфер и обрабатывает. Он видит, что адрес 10 уже есть в его базе данных, но пришедший пакет является более свежим, и он утверждает, что адрес 10 принадлежит сегменту 2, а не 1. Поэтому мост 2 корректирует содержимое базы и делает запись о том, что адрес 10 принадлежит сегменту 2. Аналогично поступает мост 1, когда мост 2 передает свою буферизованную ранее первую версию пакета на сегмент 2. В результате пакет бесконечно циркулирует по активной петле, а мосты постоянно обновляют записи в базе, соответствующие адресу 10. Сеть засоряется ненужным трафиком, а мосты входят в состояние "вибрации", постоянно обновляя свои базы данных.
В простых сетях сравнительно легко гарантировать существование одного и только одного пути между двумя устройствами. Но когда количество соединений возрастает или интерсеть становится сложной, то вероятность непреднамеренного образования петли становится высокой. Кроме того, желательно для повышения надежности иметь между мостами резервные связи, которые не участвуют при нормальной работе основных связей в передаче информационных пакетов станций, но при отказе какой-либо основной связи образуют новую связную рабочую конфигурацию без петель. Описанные задачи решает алгоритм покрывающего дерева (Spanning Tree Algorithm, STA).
Требования к пропускной способности моста
До сих пор мы предполагали, что при использовании моста для связи двух сегментов вместо повторителя общая производительность сети всегда повышается, так как уменьшается количество узлов в каждом сегменте и загрузка сегмента уменьшается на ту долю трафика, который теперь является внутренним трафиком другого сегмента. Это действительно так, но при условии что мост передает межсегментный трафик без значительных задержек и без потерь кадров. Однако, анализ рассмотренного алгоритма работы моста говорит о том, что мост может и задерживать кадры и, при определенных условиях, терять их. Задержка, вносимая мостом, равна по крайней мере времени записи кадра в буфер. Как правило, после записи кадра на обработку адресов также уходит некоторое время, особенно если размер адресной таблицы велик. Поэтому задержка увеличивается на время обработки кадра.
Время обработки кадра влияет не только на задержку, но и на вероятность потери кадров. Если время обработки кадра окажется меньше интервала до поступления следующего кадра, то следующий кадр будет помещен в буфер и будет ожидать там, пока процессор моста не освободиться и не займется обработкой поступившего кадра. Если средняя интенсивность поступления кадров будет в течение длительного времени превышать производительность моста, то есть величину, обратную среднему времени обработки кадра, то буферная память, имеющаяся у моста для хранения необработанных кадров, может переполниться. В такой ситуации мосту некуда будет записывать поступающие кадры и он начнет их терять, то есть просто отбрасывать.
Потеря кадра - ситуация очень нежелательная, так как ее последствия не ликвидируются протоколами локальных сетей. Потеря кадра будет исправлена только протоколами транспортного или прикладного уровней, которые заметят потерю части своих данных и организуют их повторную пересылку. Однако, при регулярных потерях кадров канального уровня производительность сети может уменьшится в несколько раз, так как тайм-ауты, используемые в протоколах верхних уровней, существенно превышают времена передачи кадров на канальном уровне, и повторная передача кадра может состояться через десятки секунд.
Для предотвращения потерь кадров мост должен обладать производительностью, превышающую среднюю интенсивность межсегментного трафика и большой буфер для хранения кадров, передаваемых в периоды пиковой нагрузки.
В локальных сетях часто оказывается справедливым эмпирическое правило 80/20, говорящее о том, что при правильном разбиении сети на сегменты 80% трафика оказывается внутренним трафиком сегмента, и только 20% выходит за его пределы. Если считать, что это правило действует по отношению к конкретной сети, то мост должен обладать производительностью в 20 % от максимальной пропускной способности сегмента Ethernet, то есть производительностью 0.2 ( 14880 = 3000 кадра в секунду. Обычно локальные мосты обладают производительностью от 3000 кадров в секунду и выше.
Однако, гарантий на доставку кадров в любых ситуациях мост, в отличие от повторителя, не дает. Это его принципиальный недостаток, с которым приходится мириться.
Прозрачные мосты (TB) были впервые разработаны Digital Equipment Corporation в начале 1980 гг. Digital представила свою работу в IEEE, который включил ее в стандарт IEEE 802.1. TB очень популярны в сетях Ethernet/IEEE 802.3.
Основы технологии
ТВ названы так потому, что их присутствие и работа являются прозрачными для хостов сети. После подачи питания на ТВ, они узнают о топологии сети путем анализа адреса источника блоков данных, приходящих из всех других подключенных сетей. Например, если мост видит, что какой-нибудь блок данных поступил на линию 1 из Хоста А, он делает вывод, что до Хоста А можно добраться через сеть, подключенную к линии 1. С помощью этого процесса ТВ строят таблицу, приведенную на Рис. 29-1.
ТВ успешно изолирует внутрисегментный трафик, тем самым сокращая трафик, видимый в каждом отдельном сегменте. Это обычно улучшает время реакции сети, видимое пользователю. Степень сокращения трафика и улучшения времени реакции зависят от об'ема межсегментного трафика относительно общего трафика, а также от об'ема широковещательного и многопунктового трафика.
Петли в сетях, объединенных с помощью мостов
Без протокола взаимодействия между мостами алгоритм ТВ отказывает, когда между двумя любыми LAN об'единенной сети имеется несколько трактов, включающих в себя мосты и локальные сети. Образование петли при об'единении с помощью мостов показано на Рис. 29-2 "Неправильное продвижение пакетов и узнавание информации в средах прозрачного об'единения".
Топология с петлями, подобными изображенной на Рис. 29-2, может быть полезной, но также и потенциально вредной. Петля подразумевает существование нескольких трактов через об'единеннную сеть. В сети с несколькими трактами от источника до пункта назначения общая помехоустойчивость может увеличиться благодаря улучшенной топологической гибкости.
Алгоритм связующего дерева (Spanning-Tree Algoritm) (STA)
Алгоритм был разработан для того, чтобы сохранить преимущества петель, устранив их проблемы. Первоначально алгоритм был документирован корпорацией Digital - основным поставщиком Ethernet. Новый алгоритм, разработанный Digital, был впоследствии пересмотрен комитетом IEEE 802 и опубликован в спецификации IEE 802. 1d в качестве алгоритма STA.
STA предусматривает свободное от петель подмножество топологии сети путем размещения таких мостов, которые, если они включены, то образуют петли в резервном (блокирующем) состоянии. Порты блокирующего моста могут быть активированы в случае отказа основного канала, обеспечивая новый тракт через об'единенную сеть.
STA пользуются выводом из теории графов в качестве базиса для построения свободного от петель подмножества топологии сети. Теория графов утверждает следующее: Для любого подсоединенного графа, состоящего из узлов и ребер, соединяющих пары узлов, существует связующее дерево из ребер, которое поддерживает связность данного графа, но не содержит петель. Рис. 29-3 поясняет, каким образом STA устраняет петли. STA требует, чтобы каждому мосту был назначен уникальный идентификатор. Обычно этот идентификатор является одним из адресов МАС данного моста, который дополнен приоритетом. Каждому порту во всех мостах также назначается уникальный (в пределах этого моста) идентификатор (как правило, его собственный адрес МАС). И наконец, каждый порт моста взаимосвязан с затратами какого-нибудь тракта. Затраты тракта представляют собой затраты на передачу какого-нибудь блока данных в одну из локальных сетей через этот порт. На Рис. 29-3 "Сеть ТВ до прогона STA" затраты трактов отмечены на линиях, исходящих из каждого моста. Затраты трактов обычно устaнaвливаются по умолчанию, но могут быть назначены вручную администраторами сети.
Первым шагом при вычислении связующего дерева является выбор корневого моста (root bridge), который представляет собой мост с наименьшим значением идентификатора моста. На Рис. 29-3 корневым мостом является Мост 1. Далее определяется корневой порт (root port) во всех остальных мостах. Корневой порт моста - это порт, через который можно попасть в корневой мост с наименьшими комбинированными затратами тракта. Эта величина (т.е. наименьшие комбинированные затраты тракта до корневого моста) называется затратами корневого тракта (root path cost).
И наконец, определяются назначенные мосты (designated bridges) и их назначенные порты (designated ports). Назначенный мост - это тот мост каждой локальной сети, который обеспечивает минимальные затраты корневого тракта. Назначенный мост локальной сети является единственным мостом, который позволяет продвигать блоки данных в ту локальную сеть (и из нее), для которой этот мост является назначенным. Назначенный порт локальной сети - это тот порт, который соединяет ее с назначенным мостом.
В некоторых случаях два или более мостов могут иметь одинаковые затраты корневого тракта. Например, на Рис. 29-3 как Мост 4, так и Мост 5 могут достичь Мост 1 (корневой мост) с затратами тракта 10. В этом случае снова используются идентификаторы моста, на этот раз для определения назначеных мостов. При выборе предпочтение отдано порту LAN V Моста 4 перед портом LAN V Моста 5.
При использовании этого процесса устраняются все мосты, непосредственно соединенные с каждой LAN, кроме одного; таким образом, удаляются все петли между двумя LAN. STA также устраняет петли, включающие более двух LAN, в то же время сохраняя связность. На Рис. 29-4 "Сеть ТВ после прогона STA" показаны результаты действия STA в сети, изображенной на Рис. 29-3. На Рис. 29-4 более четко показана топология дерева. Сравнение этого рисунка с рисунком сети до прогона STA показывает, что STA перевел в режим резерва как порты Моста 3 в LAN V, так и порты Moста 5 в LAN V.
Формат блока данных (фрэйма)
Поле идентификатора порта (port ID) идентифицирует порт, из которого отправлено конфигурационное сообщшение. Это поле позволяет обнаруживать и устранять петли, образованные несколькими подключенными мостами.
И наконец, поле задержки продвижения (forward delay) обеспечивает промежуток времени, в течение которого мосты должны выжидать, прежде чем перейти в новое состояние после изменения в топологии. Если переходы какого-нибудь моста происходят слишком быстро, то не все каналы сети могут оказаться готовыми для изменения их состояний, в результате чего могут появиться петли.
Читайте также: