tanenbaum_seti_all.pages (525408), страница 101
Текст из файла (страница 101)
То, что на самом деле этому кадру предстоит перейти еше через один мост, моста В2 не касается. Сеть 3 Сеть 2 Сеть 1 Рис. 4.38. Структура из четырех сетей и двух мостов Когда мосты включаются первый раз, все их хэш-таблицы пусты. Ни один мост не знает, где находятся адресаты, поэтому они используют алгоритм заливки: каждый приходящий кадр с неизвестным адресом переправляется сразу по всем направлениям, кроме того, откуда он пришел.
Со временем мосты узнают расположение адресатов. Кадры, расположение получателей которых извес пю, направляются только в одну нужную сеть. Для обучения прозрачных мостов используется алгоритм так называемого противоточного обучения. Как уже упоминалось ранее, мосты работают в беспорядочном режиме, поэтому они видят все кадры, посылаемые во всех их сетях.
Просматривая адреса отправителей, они могут определить, в какой сети находится станция, отправившая кадр. Например, если мост В1 иа рис. 4.38 видит кадр, приходящий к нему по сети 2 от станции С, то он понимает, что станция С находится в сети 2, и делает соответствующую запись в своей таблице. Поэтому любой последующий кадр, адресованный станции С и приходящий по сети 1, будет переправляться в сеть 2, а приходящий по сети 2 — игнорироваться.
Топология сети может меняться по мере того как отдельные станции и мосты будут включаться, выключаться, а также перемещаться. Для поддержки динамической топологии в таблице помимо номера станции и номера сети указывается также время прибытия кадра от данной станции. При получении новых кадров это время обновляется. Таким образом, для каждой станции известно время последнего полученного от псе кадра.
Время от времени программа сканирует хэш-таблицу и удаляет все записи, сделанные ранее нескольких минут тому назад. Таким образом, если какой-либо компьютер был выключен, перенесен в новое место и включен снова, уже через несколько минут он сможет нормально работать, и для этого не потребуется никаких специальных действий. Обратная сторона такого алгоритма заключается в том, что кадры, направляемые какой-либо станции, молчавшей в течение нескольких минут, должны будут снова посылаться во все концы методом заливки.
Коммутация на уровне передачи данных 377 Процедура обработки входящего калра зависит от того, по какой сети он прибыл и в какую сеть направляется. 1, Если сеть отправителя и сеть получателя совпадают, кадр игнорируется. 2, Если сеть отправителя и сеть получателя различаются, кадр переправляешься, 3, Если сеть получателя неизвестна, используется алгоритм заливки. Алгоритм применяется для каждого входящего кадра.
Специальные СВИС отслеживают и обновляют записи в таблице каждые несколько микросекунд, Мосты связующего дерева Для повышения надежности иногда используются два и более параллельных моста между парами локальных сетей, как показано на рис. 4.39. такое решение, впрочем, создает некоторые дополнительные проблемы, поскольку в топологии образуются кольца. Кедр, скопированный мостам В2 Кедр, скопированный мостом В1 Сеть 2 Сеть ! 'в Изначальный кадр Рис. 4.39. Двв параллельных прозрачных моста В качестве примера, иллюстрирующего указанные проблемы, рассмотрим кадр Г с неизвестным адресом назначения (рис. 4.39) Каждый мост, действуя по обычным правилам обработки кадров с неизвестным получателем, использует метод заливки, что в данном примере означает копирование кадра в сеть 2, ВскоРе после этого мост 1 видит кадР Гз с неизвестным полУчателем, котоРый он копирует в сеть 1, фоРмиРУЯ кадР Гт (не показанный на РисУнке).
Аналогично этому, мост 2 копирует кадр г, в сеть 1, в результате создавая кадр г! (также не показан). Потом мост 1 копиРУет кадР Ги а мост 2 копиРУе~ кадР гз. Этот цикл продолжается вечно. Решение данной проблемы заключается в установлении связи между мостами и наложении связующего дерева, покрывающего все сети, на действующую 'топологию. В результате некоторые возможные соединения между сетями игноРируются с целью создания фиктивной бескольцевой топологии. Например, на Рис. 4АО, а показаны девять сетей, соединенные десятью мостами. Эта система может быть представлена в виде графа с сетями в качестве узлов. Дуга графа со- Вта Глава 4. Подуровень управления доступом к среде единяет две сети, если эти сети соединены мостом, Такой граф можно редуцировать до связующего дерева, улалив из него дуги, изображенные пунктирными линиями на рис. 4.40, б.
В получившемся связном дереве между каждыми двумя сетями существует только один путь. После того как мосты договорятся друг с другом о топологии связующего дерева, все межсетевые коммуникации осуществляются только по ветвям этого дерева. Поскольку путь от отправителя к получателю единственный, зацикливание невозможно. ЯВЛЯ ч свя ст, ющяйся стью СВЯЭУЮЩВИ дерева ст Рис.
4.40. ОбьадннаинЫЕ СвтИ (а); связующее дврево, ПоКрЫваЮщЕЕ СетИ (б) Удаленные мосты Обычно мосты применяются для соединения двух и более удаленных локальных сетей. Например, у какой-нибудь компании может быть несколько заводов в различных городах, каждый со своей локальной сетью.
В идеале все эти сети должны быть соединены, чтобы вся система действовала как одна большая локальная сеть. Чтобы построить связующее дерево, мосты должны выбрать, кто из них будет корнем дерева. Для этого каждый мост рассылает кадры, содержащие серийный номер моста, установленный производителем. Эти номера гарантированно являются уникальными. Корнем дерева становится мост с наименьшим серийным номером.
Затем строится дерево кратчайших путей от корня к каждому мосту и к каждой сети. Это дерево и будет связующим. Если какой-либо мост или сеть не функционируют, рассчитывается другое дерево. В результате от каждой сети к корню дерева устанавливается уникальный путь, и, следовательно, между каждыми двумя сетями пути также будут уникальными. Хотя дерево покрывает все сети, в нем не обязательно присутствуют все мосты (во избежание петель).
Алгоритм построения дерева продолжает работать постоянно, обнаруживая изменения в топологии и обновляя структуру лерева. Распределенный алгоритм построения связуюгцего дерева был изобретен Радием Перлманом (Влс((а Рег1шап) и подробно описан в книге (Рег1шап, 2000). Он стандартизован и имеет идентификатор 1ЕЕЕ 802.1П. Коммутация на уровне передачи данных 3?9 Для достижения этой цели можно установить на каждой сети по мосту и соединить эти мосты линиями «точка — точка» (например, арендованными у телефонной компании линиями).
Простая система из трех локальных сетей показана на рис. 4.41. К данной конструкции применим обычный алгоритм маршрутизации, Проще всего рассматривать три двухточечные линии как локальную сеть без хостов. Нигде до сих пор не утверждалось, что в локальной сети обязательно должны быть хосты. Сеть 3 Рис. 4.41.
Для соединения дальних сетей можно использовать удаленные хосты На двухточечных линиях могут использоваться различные протоколы. Одним нз вариантов может быть выбор какого-либо стандартного двухточечного протокола передачи данных с помещением кадров уровня доступа к носителю (МАС) целиком в поле данных.
Такая стратегия наиболее оправданна в том случае, когда сети идентичны, при этом единственной проблемой остается доставка кадров в правильную сеть. Другой вариант заклточается в том, что у кадров уровня доступа к носителю на первом мосту удаляются заголовок и концевик и в поле полезной нагрузки протокола «точка — точка» помещается то, что осталось. На втором мосту заголовок и концевик уровня доступа к носителю создаются заново. Недостаток такого метода состоит в том, что контрольная сумма по дороге цесколько раз пересчитывается заново, что увеличивает вероятность появления не обнаруженных ошибок. Повторители, концентраторы, мосты, коммутаторы, маршрутизаторы и шлюзы Мы уже успели в нашей книге рассмотреть множество способов доставки кадров и пакетов из одного сегмента кабеля в другой. Мы упоминали повторители, мосты, концентраторы, маршрутизаторы н шлюзы.
Все эти устройства используются очень широко, однако в чем-то они различаются едва уловимо, а в чем-то весьма сутцественно. Число их весьма велико, поэтому лучше рассмотреть их все в совокупности, отмечая сходства и различия. Надо начать с того, что эти устройства работают на разных уровнях, как показано на рис. 4.42, а. Это имеет значение, поскольку от этого зависит, какую часть информации устройство использует для маршрутизации. Типичный сценарий таков: у пользователя появляются какие-то данные, которые необходимо отпра- З80 Глава 4.
Подуровень управления доступом к среде вить на удаленную машину. Опи передах>тся на транспортный уровень, который добавляет к ним свой заголовок (например, заголовок ТСР) и передает результирующую е)(илину информации на сетевой уровень. Тот, в свою очередь, тоже добавляет свой заголовок, в результате чего формируется пакет сетевого уровня (например, 1Р-пакет). На рис. 4.42, б 1Р-пакет выделен серым цветом. Пакет отправляется на уровень передачи данных (канальный уровень), где обрастает еще одним заголовком и контрольной суммой (СКС). Наконец формируется кадр, который спускается на физический уровень и может быть передан, например, по ЛВС. Прикладной уровень Транспортный уровень Сетевой уровень уровень передачи данных Физический уровень Пакет(поставляется сетевым уровнем) Кадр (формируется уровнем передачи данных) Рис.
4.42. Соответствие устройств уровням (а); кадры, пакеты и заголовки (о) Приступим к рассмотрению коммутирующих устройств и взглянем на то, как опи соотносятся с пакетами и кадрами. На самом нижнем, физическом уровне работают повторители. Это аналоговые устройства, к которым подсоединяются концы двух сегментов кабеля. Сигнал, появляющийся на одном из них, усиливается повторителем и выдается на второй.