Автоматическое предотвращение зацикливания синхросигналов
Мы только что рассмотрели сравнительно простую ситуацию, когда неправильное решение было принято из-за недостатка информации о происхождении входных синхросигналов. Но чем сложнее сеть, тем труднее получить о ней полную информацию. Выручает то, что разработаны протоколы передачи сведений о статусе синхросигналов и алгоритмы выбора оптимальных трасс распространения синхросигналов от опорных источников. Чтобы пояснить смысл автоматической прокладки новой трассы после изменившихся условий работы сети, рассмотрим простой пример (рис.4.8).
Исходные условия работы участка сети совпадают с приведенными в предыдущем примере (сравните рис.4.7,а и 4.8,а), поэтому повторять описание не будем. И неисправность будет точно такой же, но реакция на нее последует весьма и весьма “грамотная”.
Сравнивая рисунки, видим, что появились новые обозначения: ST 1, DUS и др. Это мнемокоды, отражающие статус передаваемого синхросигнала. Но – всё по порядку.
Данные между устройствами NE 1 – NE 4 передаются кадрами. Кадр содержит как полезную (с точки зрения пользователя), так и служебную информацию, о существовании которой пользователь не знает. В частности, в кадре имеется поле из четырех битов, в котором можно закодировать до 2 4 = 16 различных признаков, характеризующих 
Рис.4.49. Схема, поясняющая процесс адаптации цепи из устройств NE к отказу канала связи NE 1 NE 2: а – исходное (работоспособное) состояние цепи; б, в – состояния в процессе адаптации; г – конечное состояние
синхросигнал, переносящий данный кадр от одного устройства NEi к другому, соседнему. На разных перегонах от устройства к устройству статус синхросигнала может изменяться; но он может изменяться также и в зависимости от ситуации, в чем мы далее убедимся.
В примере использованы следующие признаки, характеризующие синхросигнал:
ST 1 – признак, означающий, что синхросигнал произошел от генератора уровня STRATUM 1;
DUS – (Do not Use for Sync) – “Не использовать для синхронизации”;
LOS – (Loss – потеря) – признак, формируемый устройством, потерявшим соответствующий входной сигнал;
SMC – (SONET Minimum Clock) – признак, означающий, что синхросигнал имеет относительно низкое качество, т.е. обладает минимально допустимыми параметрами (точностью, стабильностью и др.), приемлемыми в стандартах сетей SONET.
Начальное распределение признаков (см. рис.4.8,а) не допускает проведения в жизнь ошибочного решения, принятого в предыдущем примере (см. рис.4.7). Действительно, устройство NE 2 теперь не имеет права рассматривать синхросигнал с низкоприоритетного входа LP в качестве эталонного – об этом недвусмысленно предупреждает периодически поступающий на этот вход признак DUS.
При возникновении отказа разворачивается такая последовательность событий.
Обнаружив отказ, устройство NE 2 формирует “для себя” признак LOS и переключается на синхронизацию от внутреннего генератора CLK (см. рис.4.8,б). Чтобы оповестить соседей о случившемся, устройство NE 2 теперь сопровождает все исходящие кадры признаком SMС. Устройство NE 1 никак не реагирует на изменение статуса синхросигнала из линии, так как оно синхронизируется непосредственно от генератора G1 уровня STRATUM 1 и вполне этим удовлетворено.
Но устройство NE 3 не желает мириться со снижением качества эталонного синхросигнала. Оно проверяет возможность получения эталонного сигнала с другого, низкоприоритетного входа LP. Такая возможность существует, так как сигнал на низкоприоритетном входе LP устройства NE 3 имеет статус ST 1 (STRATUM 1). Поэтому устройство NE 3 переключается на новый источник синхронизации и назначает исходящему влево синхросигналу статус ST 1, поощряя его распространение в глубь структуры (см. рис.4.8,в).
Устройство NE 2 также не желает мириться с низким качеством своего источника синхронизации (генератора CLK) и ждет появления синхросигнала лучшего качества на единственном исправном входе LP. Ожидание оправдывается с поступлением на этот вход кадров, содержащих признак ST 1. Теперь устройство NE 2 переключается на новый источник синхросигнала и назначает статус выходных сигналов в соответствии с рис.4.8,г. Задача решена: синхронизация восстановлена, каждое устройство получает синхросигналы уровня STRATUM 1.
Среди прочих четырехразрядных статусных признаков, характеризующих синхросигнал, следует особо выделить признак STU (STRATUM Traceability Unknown – “STRATUM — трассируемость неизвестна”). Этот признак (его код 00002, что существенно) несет информацию о том, что происхождение синхросигнала, сопровождающего данный кадр, неизвестно.
В действительности, разумеется, при желании всегда можно найти первоисточник сигнала. Но дело в том, что протокол обмена статусными признаками разработан сравнительно недавно, и не все сетевые устройства его понимают. Иными словами, ретранслируя кадры, эти устройства вообще неспособны заполнить поле статусных признаков каким-либо кодом. Поэтому поле остается пустым (код 00002), а нулевой код во избежание недоразумений воспринимается соседями по сети как признак STU.
Таким образом, новые устройства могут безболезненно внедряться в старые сети передачи данных. По мере увеличения числа новых устройств в сети образуются островки, а затем целые архипелаги и континенты из устройств, автоматически и коллективно решающих проблемы общей синхронизации. Так что налицо распределенная самоорганизующаяся система.
Протокол остовного дерева -info-
Spanning Tree Protocol (STP, протокол остовного дерева (b) ) — канальный протокол. Основной задачей STP является устранение петель (b) в топологии произвольной сети Ethernet (b) , в которой есть один или более сетевых мостов (b) , связанных избыточными соединениями. STP решает эту задачу, автоматически блокируя соединения, которые в данный момент для полной связности коммутаторов являются избыточными.
Необходимость устранения топологических петель в сети Ethernet следует из того, что их наличие в реальной сети Ethernet с коммутатором (b) с высокой вероятностью приводит к бесконечным повторам передачи одних и тех же кадров Ethernet одним и более коммутатором, отчего пропускная способность сети оказывается почти полностью занятой этими бесполезными повторами; в этих условиях, хотя формально сеть может продолжать работать, на практике её производительность становится настолько низкой, что может выглядеть как полный отказ сети.
STP относится ко второму уровню модели (b) OSI (b) . Протокол описан в стандарте IEEE 802.1D, выработанном рабочей группой IEEE 802.1 (b) по межсетевому взаимодействию. Основан на одноимённом алгоритме (b) , который разработала Радья Перлман (b) ( англ. (b) Radia Perlman ).
Если в сети с мостовыми подключениями (в сегменте сети из коммутаторов) имеется несколько путей, могут образоваться циклические маршруты, и следование простым правилам пересылки данных через мост (коммутатор) приведёт к тому, что один и тот же пакет будет бесконечно передаваться с одного моста на другой (передаваться по кольцу из коммутаторов).
Алгоритм связующего (в текущей статье остовного — отсылка к графам) дерева позволяет по мере необходимости автоматически отключать передачу через мост (в современных сетях коммутаторы) в отдельных портах (блокировать порты коммутатора), чтобы предотвратить зацикливание в топологии маршрутов пересылки пакетов. Для использования алгоритма остовного дерева в сетевом мосте никакой дополнительной настройки не требуется [1] .
Описание
Алгоритм остовного дерева (b) является основой протокола, динамически отключающего избыточные связи в сети стандарта Ethernet (для образования древовидной топологии). STP стандартизован IEEE (b) и поддерживается многими моделями управляемых коммутаторов, в частности, включён по умолчанию на всех коммутаторах Cisco (b) .
Суть работы протокола заключается в том, что поддерживающие его коммутаторы сети Ethernet обмениваются друг с другом информацией «о себе». На основании определённых условий (обычно в соответствии с настройками) один из коммутаторов выбирается «корневым» (или «root»), после чего все остальные коммутаторы по алгоритму остовного дерева выбирают для работы порты, «ближайшие» к «корневому» коммутатору (учитывается количество посредников и скорость линий). Все прочие сетевые порты, ведущие к «корневому» коммутатору, блокируются. Таким образом образуется дерево с корнем в выбранном коммутаторе.
В коммутаторах Cisco (b) с поддержкой VLAN протокол STP по умолчанию выполняется независимо для каждой виртуальной сети.
Кроме STP, в коммутаторах могут применяться другие методики обнаружения и устранения петель — например, сравнением таблиц коммутации (списков MAC-адресов) разных портов, или сравнением контрольных сумм проходящих пакетов (совпадение указывает на одинаковые пакеты, которые появляются из-за петель). По сравнению с описанными методами, случайным образом (или основываясь на каких-то догадках) блокирующими «дублирующие» порты, протокол STP обеспечивает древовидную структуру всего сегмента, при любом количестве резервных линий между произвольными коммутаторами, поддерживающими STP.
Принцип действия
1. Пример сети. Пронумерованные квадраты означают мосты. Облачка означают сетевые сегменты. 2. Наименьший ID равен 3. Следовательно, мост 3 становится корневым. (RB) 3. Предположим, что вес каждого ребра равен единице. Кратчайший путь от моста 4 к корневому мосту идёт через сегмент сети c. Поэтому корневым (RP) портом для моста 4 будет порт, ведущий в сеть c. 4. Кратчайший путь к корню из сегмента e идёт через мост 92. Поэтому назначенным (DP) портом для сегмента e будет порт, соединяющий мост 92 с сегментом e. 5. На этой диаграмме порты получили своё состояние с помощью STP. Активные порты, не имеющие состояния переводятся в состояние заблокированных (BP). 6. После ошибки подключения алгоритм spanning tree перестраивает дерево.
- Выбирается один корневой мост ( англ.(b) Root Bridge ).
- Далее каждый коммутатор просчитывает кратчайший путь к корневому. Соответствующий порт называется корневым портом ( англ.(b) Root Port ). У любого некорневого коммутатора может быть только один корневой порт.
- После этого для каждого сегмента сети, к которому присоединён более чем один мост (или несколько портов одного моста), просчитывается кратчайший путь к корневому мосту(порту). Мост, через который проходит этот путь, становится назначенным для этой сети ( англ.(b) Designated Bridge ), а соответствующий порт — назначенным портом ( англ.(b) Designated port ).
- Далее во всех сегментах, с которыми соединено более одного порта моста, все мосты блокируют все порты, не являющиеся корневыми и назначенными. В итоге получается древовидная структура (математический граф(b) ) с вершиной в виде корневого коммутатора.
Основные понятия
- Bridge ID = Bridge priority + MAC;
- Bridge priority = vlan xxx + 4096xN, N-множитель, назначается администратором сети (4096х8=32768 default cost);
- Cost — «стоимость портов»;
- Pathcost — стоимость линка в STP;
- Hello BPDU = root ID + bridge ID + cost; ( англ.(b) Bridge Protocol Data Unit )
- Root port (корневой порт) — это порт, который имеет минимальную стоимость до любого порта корневого коммутатора;
- Designated port (назначенный порт) — это порт, который имеет кратчайшее расстояние от назначенного коммутатора до корневого коммутатора.
Скорость передачи и стоимость пути
| Скорость передачи | Стоимость (802.1D-1998) | Стоимость (802.1W-2001 (b) ) |
|---|---|---|
| 4 Мбит/с | 250 | 5 000 000 |
| 10 Мбит/с | 100 | 2 000 000 |
| 16 Мбит/с | 62 | 1 250 000 |
| 100 Мбит/с | 19 | 200 000 |
| 1 Гбит/с | 4 | 20 000 |
| 2 Гбит/с | 3 | 10 000 |
| 10 Гбит/с | 2 | 2 000 |
Важные правила
Алгоритм действия STP (Spanning Tree Protocol)
ПортыКаждый порт, задействованный в STP, может работать в одном из следующих режимов (ролей):
Эволюция и расширенияRapid Spanning Tree Protocol (RSTP)Rapid STP (RSTP) является значительным усовершенствованием STP. В первую очередь необходимо отметить уменьшение времени сходимости и более высокую устойчивость. В немалой степени это достигнуто за счет идей, использованных Cisco Systems в качестве проприетарных расширений STP. RSTP описан в стандарте IEEE (b) 802.1w (впоследствии включён в 802.1D-2004). Rapid STP совместим с STP — если некое устройство использует STP, то RSTP тоже будет использовать STP с этим устройством, но в этом режиме может оказаться, что наличие RSTP на остальных устройствах не дает преимуществ по сравнению с STP. Per-VLAN Spanning Tree Protocol (PVSTP)Per-VLAN STP (PVSTP) в соответствии с названием расширяет функциональность STP для использования VLAN (b) . В рамках данного протокола в каждом VLAN работает отдельный экземпляр STP. Является проприетарным расширением Cisco (b) . Изначально протокол PVST работал только через ISL (b) -транки, потом было разработано расширение PVST+, которое позволяло работать через гораздо более распространённые 802.1Q (b) -транки. Существуют реализации, объединяющие свойства PVST+ и RSTP, поскольку эти расширения затрагивают независимые части протокола, в результате получается (в терминологии Cisco) Rapid PVST+. PVST+ совместим с STP и даже коммуницирует «через» коммутаторы, не поддерживающие ни PVST+, ни Rapid PVST+, за счёт использования мультикастовых фреймов. Но Cisco Systems рекомендует не смешивать в одной сети коммутаторы различных производителей, чтобы избежать проблем совместимости разных реализаций и вариаций STP. Multiple Spanning Tree Protocol (MSTP)Вышеописанные вариации протоколов STP можно классифицировать по количеству экземпляров STP в случае, когда число VLAN более единицы. Имеются вариации протоколов, у которых на все VLAN приходится единственный экземпляр STP (собственно STP, RSTP), и вариации, у которых каждому VLAN соответствует свой экземпляр STP (PVST, PVST+, Rapid PVST+). Некоторая избыточность вариаций с отдельным экземпляром STP для каждой VLAN состоит в том, что если топология нескольких VLAN совпадает, то соответствующие им экземпляры STP полностью повторяют работу друг друга. В таком случае в принципе ненужная работа по сути дублирующих друг друга экземпляров STP оборачивается ненужной дополнительной нагрузкой на процессор коммутатора, и в конечном счёте может вынудить конструкторов оборудования для обеспечения его устойчивой работы выбирать более мощный процессор с большим энергопотреблением, что может повлечь за собой дополнительные затраты на электропитание и охлаждение как при изготовлении оборудования, так и эксплуатации. В этом отношении особняком стоит Multiple STP (MSTP). В один экземпляр MSTP могут входить несколько виртуальных сетей при условии, что их топология одинакова (в смысле входящих в VLAN коммутаторов и соединений между ними). Минимальное количество экземпляров MSTP соответствует количеству топологически уникальных групп VLAN в домене второго уровня (опять же на уровне коммутаторов и соединений между ними). MSTP налагает важное ограничение: все коммутаторы, участвующие в MSTP, должны иметь одинаково сконфигурированные группы VLAN (MST instances), что ограничивает гибкость при изменении конфигурации сети. MSTP описан в стандарте IEEE (b) 802.1s (впоследствии включён в 802.1Q-2003). Shortest Path Bridging (SPB)История созданияАлгоритм, заложенный в основу STP, был разработан в 1985 году Радией Перлман (b) . Ей дали 1 неделю на разработку алгоритма. Она сделала это за 1 день, а в оставшееся время описала алгоритм в виде стихотворения [3] :
Мосты и концентраторыСетевые концентраторы Концентратор, или хаб, — устройство, используемое для соединения компьютеров в сетях с топологиями «звезда» или «кольцо». Внешне концентратор — это коробка с несколькими разъемами. Концентраторы бывают разных размеров — от 4- или 5-портовых устройств для домашних сетей и небольших предприятий до больших блоков на специальных стойках, в которых число портов достигает нескольких десятков. Установка концентратора заключается в подключении его к источнику питания и вставке кабелей, соединенных с сетевыми адаптерами компьютеров сети. Как и сетевые адаптеры, концентраторы связаны с конкретным протоколом канального уровня. Наиболее распространены концентраторы Ethernet, т. к. Ethernet — самый популярный протокол канального уровня. Но концентраторами являются также модули множественного доступа в сетях Token Ring, да и в других протоколах, например, в FDDI, концентраторы тоже используются. Концентраторы Ethernet Концентратор Ethernet называют еще многопортовым повторителем. Повторитель (repeater) — это устройство, которое усиливает проходящий через него сигнал, противодействуя его затуханию. Например, если в сети типа «тонкий» Ethernet расстояние между компьютерами превышает максимально допустимое значение (185 м), для усиления сигнала можно установить между ними повторитель с двумя разъемами типа BNC (British Naval Connector). Впрочем, в наши дни такие простые устройства почти не используются. Концентраторы, работающие в сетях Ethernet с кабелем UTP, по сути, тоже являются повторителями, но не с двумя, а с несколькими портами для разъемов RJ45. Сигнал, попадающий в концентратор через любой из портов, уси ливается и передается во все остальные порты. Так удается создать общую сетевую среду даже в сети с топологией «звезда», когда к каж дому компьютеру идет отдельный кабель. Сигнал, переданный любым компьютером в сети, с помощью концентратора усиливается и ретранслируется на все остальные компьютеры. Максимальная длина сегмента кабеля UTP в сети Ethernet составляет 100 м (сегментом в данном случае называется расстояние между двумя компьютерами, связанными одним кабелем). Однако максимальное расстояние между компьютерами в сети с одним концентратором возрастает до 200 м. Интеллектуальные концентраторы Концентраторы, применяемые в большинстве сетей Ethernet, представляют собой устройства исключительно физического уровня. Они имеют дело с сигналами, присущими данной сетевой среде, например, с электрическими зарядами, но «не понимают» смысла этих сигналов, не считывают из пакетов информацию, вообще не распознают наличие данных в пакете. Такие концентраторы стоят относительно недорого. Однако имеются и «толковые» концентраторы Ethernet, которые относятся к обработке данных «более вдумчиво». В некоторых концентраторах предусмотрен сервис, называемый промежуточным хранением (store and forward) данных. Суть этого сервиса в том, что в концентраторе есть буферы для временного размещения пакетов, которые затем будут ретранслированы через определенные порты. Это уже напоминает работу коммутатора, который находит во входящем пакете целевой адрес и передает этот пакет исключительно той системе, которой он предназначен. Некоторые «интеллектуальные» (intelligent, smart) концентраторы обладают также управляющими функциями, которые позволяют им следить за работой своих портов. В большинстве случаев интеллектуальные концентраторы с помощью протокола SNMP (Simple Network Management Protocol) периодически отправляют сообщения на консоль централизованного управления сетью. В небольших ЛВС такие возможности совершенно ни к чему, главным образом потому, что их использование ведет к многократному удорожанию оборудования, но в больших корпоративных сетях с множеством концентраторов они сослужат хорошую службу сетевому администратору. Соединение концентраторов Совет. Для создания простой двухкомпьютерной сети Ethernet концентратор не нужен. Достаточно соединить сетевые адаптеры двух компьютеров напрямую с помощью кроссового кабеля (crossover cable). Это кабель UTP, у которого передающие контакты на одном конце кабеля связаны с принимающими контактами на другом конце. Благодаря такому подключению отпадает нужда в перекрестной схеме концентратора. Разумеется, в такую сеть можно включить только два компьютера, и расстояние между ними не может превышать 100 м. Модули множественного доступа Модули множественного доступа (MAU), используемые в сети Token Ring, похожи на концентраторы Ethernet, но (в отличие от них) вы полняют некоторые функции канального уровня, необходимые для работы сети, и являются пассивными (passive) устройствами, т. е. не усиливают сигнал. Главная особенность работы модуля множественного доступа заключена в том, что, принимая входящий трафик, он не ретранслирует его на другие порты, а просто передает пакет, по ступивший, например, в порт 5, на порт 6, затем ждет возвращения пакета через порт 6 и передает его в порт 7, снова ждет возвращения пакета и т. д. Передав пакет по одному разу каждому из компьютеров сети и получив его обратно, модуль множественного доступа возвращает пакет создавшей его системе, а она удаляет пакет из сети. Этот процесс позволяет компьютерам, физически связанным по тополологии «звезда», взаимодействовать друг с другом так, словно они соединены кабелями в кольцо. При таком способе передачи компьютеры играют не менее важную роль, чем модуль MAU. Если компьютер не возвращает посланный ему пакет, этот пакет не будет передан через следующий порт. Чтобы пакеты не терялись таким образом, компьютеры в сети Token Ring при запуске выполняют процесс инициализации, передавая модулю множественного доступа информацию о своем существовании. Получив такой сигнал от сетевой платы, модуль MAU, образно говоря, включает систему в логическое кольцо и начинает передавать ей пакеты. Порты, в которые компьютеры не включены, к кольцу не добавляются, и MAU при продвижении пакетов пропускает их. О таких неиспользуемых портах говорят, что они находятся в закороченном (loopback) состоянии. Каскадирующего порта, как у концентратора Ethernet, у модуля множественного доступа в сети Token Ring нет, но есть специализированные порты для входа (Ring In) и выхода (Ring Out), применяемые для связи одного MAU с другим. Мосты Мост (bridge) используется для соединения сетей на канальном уровне. Концентраторы связывают сети на физическом уровне, даже не подозревая о существовании структур данных, обрабатываемых вышестоящими уровнями. Расширяя сеть путем включения в нее дополнительных концентраторов, Вы, по существу, достигаете такого же эффекта, как если бы заменили старый концентратор новым, с большим количеством портов. Каждый пакет, сгенерированный одним из компьютеров сети, все равно доходит до всех остальных компьютеров. Мост обеспечивает фильтрацию пакетов на канальном уровне, т. е. пропускает через себя только пакеты, предназначенные для участка сети по другую сторону моста. Если Ваша ЛВС из-за возросшего трафика начала испытывать чрезмерные коллизии или просто стала медленнее работать, можно снизить трафик, разбив ее с помощью моста на две части. Если же адреса отправителя и получателя принадлежат одному сег менту, пакет игнорируется. Примечание. Хотя мост и способен считывать содержимое заголовка протокола канального уровня, продвинуться по стеку протоколов выше он не в состоянии. Мост также не способен считывать содержимое поля данных в кадре канального уровня, где находится информация, сгенерированная протоколом сетевого уровня. На рис. 3.1 показаны две соединенные мостом ЛВС. При передаче пакета мост получает его от компьютера одной ЛВС и отправляет его компьютеру другой ЛВС. Целевая система получает пакет, словно компьютер-отправитель принадлежит к той же ЛВС. Если передача пакета осуществляется между компьютерами одной ЛВС, мост также получает пакет, но никуда не передает его, поскольку пакету на другой стороне моста делать нечего. Применение моста сокращает трафик , проходящий по каждому из сегментов сети, примерно в два раза, так как пакеты не направляются в сегмент сети, где они не нужны. Объединение сетей с помощью моста
Мост — это физическое устройство, обычно коробка с двумя портами, применяемое для связи сегментов сети. С его помощью можно объединить две ЛВС или разделить одну ЛВС на два сегмента. Мосты работают в так называемом беспорядочном режиме (promiscuous mode), т. е. считывают и обрабатывают все пакеты, передаваемые по сегменту сети. Этим они отличаются от сетевых адаптеров, которые считывают в каждом пакете целевой адрес и обрабатывают только пакеты, адресованные данному компьютеру. Поскольку мост функционирует на канальном уровне, он способен интерпретировать информацию в заголовке протокола канального уровня. Пакеты данных попадают в мост через один из портов, затем мост считывает в заголовке каждого пакета адрес целевой системы и решает, как обрабатывать данный пакет. Этот процесс называется фильтрацией пакетов (packet filtering). Если адреса компьютера-отправителя и компьютера-получателя принадлежат разным сегментам, мост передает пакет через второй порт. Мосты и коллизии Область коллизий или коллизионный домен (collision domain) — это сеть или часть сети, структура которой такова, что при строго одновременной передаче данных двумя компьютерами в сети возникает коллизия (столкновение). Когда Вы включаете в существующую сеть новый концентратор, подсоединенные к нему компьютеры становятся частью того же коллизионного домена, что и исходная сеть. Это происходит потому, что концентраторы ретранслируют входящие сигналы сразу после приема, без фильтрации пакетов. С другой стороны, мост не ретранслирует сигнал в другую сеть, пока не получит пакет целиком. Поэтому даже при одновременной передаче данных двумя компьютерами по разные стороны моста коллизии не возникает. О двух сегментах сети, связанных мостом, говорят, что они находятся в разных коллизионных доменах. В сети Ethernet коллизии являются нормальной и даже неизбежной частью работы, но, когда их количество чрезмерно возрастает, производительность сети падает, потому что увеличивается число пакетов для ретрансляции. Кроме того, число коллизий обязательно увеличивается при включении в сеть новых компьютеров. При разделении сети мостом на два коллизионных домена число коллизий и ретрансляций уменьшается, что приводит к снижению трафика и повышению производительности сети в целом. Мосты и широковещательная передача Широковещательный домен — другое важное понятие технологии сетевого соединения с помощью мостов. Широковещательное (broadcast) сообщение представляет собой пакет с особым адресом назначения, в соответствии с которым это сообщение читают и обрабатывают все получившие его компьютеры. Различают также узковещатель ные (unicast) сообщения, адресованные одному компьютеру сети, и многоадресные (multicast), адресованные нескольким (но не всем) компьютерам. Область широковещания или широковещательный домен(broadcast domain) — это группа компьютеров, получающих широковещательные сообщения, отправленные любым компьютером из группы. Широковещательная передача — важная часть функционирования сети. Например, компьютеры определяют положение в ЛВС конкретной системы, передавая широковещательное сообщение с вопросом «Есть ли у какого- нибудь локального компьютера такой IP-адрес или такое NetBIOS-имя?». По ответному сообщению система-отправитель устанавливает аппаратный адрес компьютера и далее отправляет ему нужные пакеты уже как узковещательные сообщения. Включение в сеть моста разбивает ее на два коллизионных домена, но при этом сегменты по обе стороны моста остаются частью одного и того же широковещательного домена, так как мост всегда пересылает широковещательные сообщения. Это в какой-то степени делает его менее полезным, потому что часть передаваемого широковещательного трафика системами на другой стороне сети не обрабатывается. Например, когда один из компьютеров сети генерирует последовательность широковещательных сообщений, чтобы определить адрес другого компьютера в том же сегменте сети, мост передает их и во второй сегмент, хотя никакой нужды в этом нет. Однако именно принадлежность к одному широковещательному домену позволяет двум сегментам сети оставаться одной и той же ЛВС. Прозрачное соединение При знакомстве с работой мостов возникает логичный вопрос, как мост узнает, в каком сегменте находится компьютер. Оказывается, в мостах поддерживаются внутренние таблицы с аппаратными адресами компьютеров в обоих сегментах. Получив пакет из одного сегмента и прочитав в заголовке протокола канального уровня адрес целевой системы, мост сверяет этот адрес со своей таблицей. Если адрес системы-получателя сопоставлен с другим сегментом, мост пересылает пакет соответствующему сегменту. Как заполняется эта таблица? Поначалу сетевым администраторам приходилось вручную создавать списки аппаратных адресов для каждого из сегментов, подключенных к мосту. В современных мостах для автоматического составления списков адресов используется технология прозрачного соединения (transparent ‘ bridging). Когда Вы активизируете мост в первый раз, его таблица пуста. У каждого входящего пакета мост считывает из заголовка протокола канального уровня адрес источника и добавляет его к списку адресов того сетевого сегмента, из которого пакет прибыл. Поскольку сначала у моста нет информации для принятия решения о передаче пакета, для надежности он передает пакет в другой сегмент. Когда через мост пройдет достаточное количество пакетов, в нем собирается полная таблица адресов, и мост руководствуется ею для выбора направления передачи пакетов. Обычно сетевые администраторы устанавливают между сегментами сети резервные мосты на случай сбоя. Однако это может привести и к потере данных, например, если несколько мостов, обрабатывая одни и те же пакеты, решат, что компьютер-источник принадлежит двум разным сегментам сети. Кроме того, при большом количестве мостов возможно зацикливание широковещательных пакетов, т. е. их бесконечная передача по сети. Чтобы этого не случилось, мосты соединяются друг с другом с помощью протокола STA (Spanning Tree Algorithm), который выбирает для обработки пакетов один мост. Все другие мосты в данном сегменте сети простаивают, пока работающий мост не выйдет из строя. Соединение «источник — маршрут» Прозрачные мосты и протокол STA используются в сетях Ethernet повсеместно, но в сетях Token Ring применяется другой принцип. Здесь уже не мосты выбирают, который из них будет объединять два сегмента, а сами системы Token Ring выбирают, каким мостом они будут пользоваться. Этот способ называется соединением «источник — маршрут» (source route bridging). Суть его в том, что каждая система передает по сети особые широковещательные пакеты — кадры ARB (All Rings Broadcast). Обрабатывая и направляя их во все подсоединенные сегменты (как при любой широковещательной передаче), каждый мост добавляет к ним указатель маршрута, идентифицирующий мост и порт, через который был получен пакет. Когда ARB-пaкеты достигают целевой системы, она отсылает их обратно. Мосты используют указатели маршрута, чтобы избежать пересылки пакетов дважды через один и тот же мост, а исходная система-отправитель выбирает по возвращенным пакетам наиболее эффективный маршрут к системе-получателю. Типы мостов Обычный мост, связывающий однотипные сетевые сегменты в пределах одного помещения, называется локальным мостом (local bridge). Это простейший мост: он не модифицирует данные в пакетах, а про сто считывает адреса в заголовках протоколов канального уровня и передает или не передает пакеты дальше. Для объединения разнородных и удаленных друг от друга сегментов используются мосты двух других видов. Мост-транслятор (translation bridge), показанный на рис. 3.3, представляет собой устройство канального уровня, связывающее сегменты сети, в которых используются разные сетевые среды или разные протоколы. Мост этого типа сложнее локального, поскольку он не просто считывает заголовок, но и удаляет данные канального уровня из пакета, который предстоит передать в другой сегмент сети, а затем формирует кадр канального уровня заново. Таким образом , мост может связать сегмент Ethernet с сегментом FDDI или объединить сегменты Ethernet разных типов (например 100BaseTX и 100BaseT4), сохраняя целостность широковещательного домена. Из-за дополнительных манипуляций с пакетами мост-транслятор работает медленнее локального, а стоит гораздо дороже. Поскольку сети разных типов можно связывать и с помощью других устройств, например маршрутизаторов, мосты-трансляторы используются относительно редко. Удаленный мост (remote bridge) с помощью технологий ГВС связывает два сетевых сегмента, расположенные на значительном расстоянии друг от друга. Связь может осуществляться с помощью модемов, выделенной телефонной линии и др. Преимущество использования моста такого типа состоит в сокращении трафика по ГВС, которая, как правило, гораздо медленнее и значительно дороже ЛВС. Как называется технология предотвращающая зацикливание при передаче данных через мостыМосты с маршрутизацией от источника применяются для соединения колец Token Ring и FDDI, хотя для этих же целей могут использоваться и прозрачные мосты. Маршрутизация от источника (Source Routing, SR) основана на том, что станция-отправитель помещает в посылаемый в другое кольцо кадр всю адресную информацию о промежуточных мостах и кольцах, которые должен пройти кадр перед тем, как попасть в кольцо, к которому подключена станция-получатель. Хотя в название этого способа входит термин «маршрутизация», настоящей маршрутизации в строгом понимании этого термина здесь нет, так как мосты и станции по-прежнему используют для передачи кадров данных только информацию МАС-уровня, а заголовки сетевого уровня для мостов данного типа по-прежнему остаются неразличимой частью поля данных кадра. Рассмотрим принципы работы мостов Source Routing (в дальнейшем, SR-мосты) на примере сети, изображенной на рис.3. Сеть состоит из трех колец, соединенных тремя мостами. Для задания маршрута кольца и мосты имеют идентификаторы. SR-мосты не строят адресную таблицу, а при продвижении кадров пользуются информацией, имеющейся в соответствующих полях кадра данных. Рис. 3. Мосты типа Sourse Routing При получении каждого пакета SR-мосту нужно только просмотреть поле маршрутной информации (поле Routing Information Field, RIF, в кадре Token Ring или FDDI) на предмет наличия в нем своего идентификатора. И если он там присутствует и сопровождается идентификатором кольца, которое подключено к данному мосту, то в этом случае мост копирует поступивший кадр в указанное кольцо. В противном случае кадр в другое кольцо не копируется. В любом случае исходная копия кадра возвращается по исходному кольцу станции-отправителю, и если он был передан в другое кольцо, то бит А (адрес распознан) и бит С (кадр скопирован) поля статуса кадра устанавливаются в 1, чтобы сообщить станции-отправителю, что кадр был получен станцией назначения (в данном случае передан мостом в другое кольцо). Так как маршрутная информация в кадре нужна не всегда, а только для передачи кадра между станциями, подключенными к разным кольцам, то наличие в кадре поля RIF обозначается установкой в 1 бит индивидуального/группового адреса (I/G) (при этом данный бит используется не по назначению, так как адрес источника всегда индивидуальный). Поле RIF имеет управляющее подполе, состоящее из трех частей. o Тип кадра определяет тип поля RIF. Существуют различные типы полей RIF, использующиеся для нахождения маршрута и для отправки кадра по известному маршруту: o Поле максимальной длины кадра используется мостом для связи колец, в которых установлено различное значение MTU. С помощью этого поля мост уведомляет станцию о максимально возможной длине кадра (то есть минимальном значении MTU на протяжении всего составного маршрута). о Длина поля RIF необходима, так как заранее неизвестно количество описателей маршрута, задающих идентификаторы пересекаемых колец и мостов. Для работы алгоритма маршрутизации от источника используются два дополнительных типа кадра — одномаршрутный широковещательный кадр-исследователь SRBF (single-route broadcast frame) и многомаршрутный широковещательный кадр-исследователь ARBF (all-route broadcast frame). Все SR-мосты должны быть сконфигурированы администратором вручную, чтобы передавать кадры ARBF на все порты, кроме порта-источника кадра, а для кадров SRBF некоторые порты мостов нужно заблокировать, чтобы в сети не было петель. В примере сети на рис. для исключения петли администратор заблокировал оба порта моста 3 для передачи кадров SRBF. Кадр первого типа отправляется станцией, когда она, во-первых, определяет, что станция назначения находится в другом кольце, а во-вторых, ей неизвестно, через какие мосты и кольца пролегает путь к этой станции назначения, то есть неизвестен маршрут до этой станции. Первое обстоятельство выясняется, если кадр, отправленный по кольцу, возвращается в станцию-источник с неустановленными признаками распознавания адреса и копирования. Значит, ни одна из станций исходного кольца не является станцией назначения, и кадр надо передавать по некоторому составному маршруту. Отсутствие маршрута к станции назначения в таблице моста является вторым обстоятельством, которое и вызывает отправку одномаршрутного кадра-исследователя SRBF. В кадре SRBF станция задает длину поля RIF, равную нулю. Как и прозрачные мосты, SR-мосты работают в режиме «неразборчивого» захвата, буферизуя и анализируя все кадры. При получении кадра SRBF SR-MOCT передает его в исходном виде на все незаблокированные для этого типа кадров порты. Необходимость в конфигурировании топологии без петель для кадров-исследователей SRBF вызвана тем, что таким способом предотвращается возможность бесконечного зацикливания этих кадров. В конце концов кадр-исследователь SRBF, распространяясь по всем кольцам сети, доходит до станции назначения. В ответ станция назначения отправляет многомаршрутный широковещательный кадр-исследователь ARBF станции-отправителю. В отличие от кадра SRBF этот кадр передается мостами через все порты. При приеме такого кадра каждый промежуточный мост добавляет в поле маршрутной информации RIF новый описатель маршрута (свой идентификатор и идентификатор сегмента, с которого получен кадр), наращивает длину поля маршрутной информации и широковещательно его распространяет. Для предотвращения зацикливания кадров ARBF мосты обрабатывают их следующим образом. Перед передачей кадра на какой-либо сегмент мост проверяет, нет ли идентификатора этого сегмента в списке маршрутов кадра. Если такой сегмент уже был пройден кадром, то кадр в данный сегмент не направляется. Станция-источник получает в общем случае несколько кадров-ответов, прошедших по всем возможным маршрутам составной сети, и выбирает наилучший маршрут (обычно по количеству пересечений промежуточных мостов). Именно для получения информации о всех возможных маршрутах кадр ARBF передается по всем возможным направлениям. Затем маршрутная информация помещается в таблицу маршрутизации станции и используется для отправки кадров данных станции назначения по наилучшему маршруту за счет помещения последовательности номеров сетей и мостов в заголовке каждого такого кадра. Мосты с маршрутизацией от источника имеют по сравнению с прозрачными мостам как преимущества, так и недостатки, отраженные в таблице. Наличие двух возможных алгоритмов работы мостов — от источника и в прозрачном режиме — создает трудности для построения сложных сетей Token Ring. Мосты, работающие от источника, не могут поддерживать сегменты, рассчитанные на работу в прозрачном режиме, и наоборот. До некоторого времени эта проблема решалась двумя способами. Один способ заключался в использовании во всех сегментах либо только маршрутизации от источника, либо только прозрачных мостов. Другим способом была установка маршрутизаторов. Сегодня имеется третье решение. Оно основано на стандарте, который позволяет объединить обе технологии работы моста в одном устройстве. Этот стандарт, называемый SRT (Source Route Transparent), позволяет мосту работать в любом режиме. Мост просматривает специальные флаги в заголовке кадров Token Ring и автоматически определяет, какой из алгоритмов нужно применить. Слабая защита от широковещательного шторма — одно из главных ограничений моста, но не единственное. Другим серьезным ограничением их функциональных возможностей является невозможность поддержки петлеобразных конфигураций сети. Рассмотрим это ограничение на примере сети, изображенной на рис.4. Два сегмента параллельно соединены двумя мостами, так что образовалась активная петля. Пусть новая станция с адресом 10 впервые начинает работу в данной сети. Обычно начало работы любой операционной системы сопровождается рассылкой широковещательных кадров, в которых станция заявляет о своем существовании и одновременно ищет серверы сети. На этапе 1 станция посылает первый кадр с широковещательным адресом назначения и адресом источника 10 в свой сегмент. Кадр попадает как в мост 1, так и в мост 2. В обоих мостах новый адрес источника 10 заносится в адресную таблицу с пометкой о его принадлежности сегменту 1, то есть создается новая запись. Так как адрес назначения широковещательный, то каждый мост должен передать кадр на сегмент 2. Эта передача происходит поочередно, в соответствии с методом случайного доступа технологии Ethernet. Пусть первым доступ к сегменту 2 получил мост 1 (этап 2 на рис.4.). При появлении пакета на сегменте 2 мост 2 принимает его в свой буфер и обрабатывает. Он видит, что адрес 10 уже есть в его адресной таблице, но пришедший кадр является более свежим, и он утверждает, что адрес 10 принадлежит сегменту 2, а не 1. Поэтому мост 2 корректирует содержимое базы и делает запись о том, что адрес 10 принадлежит сегменту 2. Теперь адресная таблица моста 2 будет иметь уже другую запись о станции с адресом 10:
Аналогично поступает мост 1, когда мост 2 передает свою копию кадра на сегмент 2. Результаты наличия петли перечислены ниже. — «Размножение» кадра, то есть появление нескольких его копий (в данном случае — двух, но если бы сегменты были соединены тремя мостами — то трех и т, д.). — Бесконечная циркуляция обеих копий кадра по петле в противоположных направлениях, а значит, засорение сети ненужным графиком. — Постоянная перестройка мостами своих адресных таблиц, так как кадр с адресом источника 10 будет появляться то на одном порту, то на другом. Чтобы исключить все эти нежелательные эффекты, мосты нужно применять так, чтобы между логическими сегментами не было петель, то есть строить с помощью мостов только древовидные структуры, гарантирующие наличие только-одного пути между любыми двумя сегментами. Тогда кадры от каждой станции будут поступать в мост всегда с одного и того же порта, и мост сможет правильно решать задачу выбора рационального маршрута в сети. Ограничение топологии структурированной сети древовидной структурой вытекает из самого принципа построения адресной таблицы мостом, а поэтому точно так же это ограничение действует и на коммутаторы. В простых сетях сравнительно легко гарантировать существование одного и только одного пути между двумя сегментами. Но когда количество соединений возрастает и сеть становится сложной, то вероятность непреднамеренного образования петли оказывается высокой. Кроме того, желательно для повышения надежности иметь между мостами резервные связи, которые не участвуют при нормальной работе основных связей в передаче информационных пакетов станций, но при отказе какой-либо основной связи образуют новую связную рабочую конфигурацию без петель. Поэтому в сложных сетях между логическими сегментами прокладывают избыточные связи, которые образуют петли, но для исключения активных петель блокируют некоторые порты мостов. Наиболее просто эта задача решается вручную, но существуют и алгоритмы, которые позволяют решать ее автоматически. Наиболее известным является стандартный алгоритм покрывающего дерева (Spanning Tree Algorithm, STA), который будет детально рассмотрен ниже. Кроме того, имеются фирменные алгоритмы, решающие ту же задачу, но с некоторыми улучшениями для конкретных моделей коммутаторов. |
