Р.Л. Смелянский - Компьютерные сети. Том 2. Сети в ЭВМ (1130083), страница 19
Текст из файла (страница 19)
КАКР-сервер отлавливает такие запросы, а затем формирует и отсылает ответ. Происходит это сле- дующим образом. КАКР-сервер направляет всем машинам в сети запрос, где указан заданный Егпегпег-адрес, и просит указать соответствующий ему 1Р-алрес. Машина с указанным СПД-адресом от- правляет ответ, в котором указан ее 1Р-адрес.
Получив ответ, КАКР сервер формирует ответ запросившему хосту [81. У КАКР-протокола имеется один существенный недостаток: па-;::,:. кеты с одним и тем же запросом рассылаются всем хостам, в том числе и маршрутизаторам, что увеличивает накладные расходы. Для ; -': Устранения этого недостатка был предложен протокол ВООТР, кото:: рый в отличие от КАКР рассылает свои сообщения только маршру- ,!!,-:" тизаторам.
Этот протокол также используется в бездисковых станциях ,'-;:", у которых в памяти «зашит»!Р-адрес выделенного маршрутизатора. 2.5.6. Внутренний протокол маршрутизации шлюзов — ОЗРР Как уже отмечалось, Интернет состоит из сетей, управляемых разными организациями. Внутри каждой такой сети работают свои алгоритмы маршрутизации и управления.
При этом сама сеть называется автономной системой (АС). Алгоритмы маршрутизации, применяемые внутри АС, называются внутренними протоколами шлюзов. Алгоритмы маршрутизации, применяемые для маршрутизации между АС, называются внешними протоколами шлюзов. Наличие стандартов на протоколы маршрутизации позволяет преодолеть различия во внутренней организации автономных систем и обеспечить их совместное функционирование. Изначально в качестве внутреннего протокола шлюзов использовался протокол по вектору расстояния — В1Р (см. подразд. 2.2.6).
Этот протокол работал хорошо, пока автономная система была небольшой. Однако по мере роста АС он стал работать все хуже и хуже. Проблемы «бесконечного счетчика» и медленной сходимости не получили удовлетворительного решения. В 1979 г. он был замешен протоколом маршрутизации по состоянию каналов. В 1988 г. инженерный комитет Интернета принял решение о разработке нового протокола маршрутизации: внутреннего протокола маршрутизации шлюзов — ОБРЕ (Ореп Бпоггезг РаФ Г)гзг), который стал стандартом в 1990 г. (ВГС 1247).
Требования к протоколу ОЗРГ На основе имеющегося опыта был составлен длинный список требований к протоколу ОБРЕ 1. Алгоритм должен быть опубликован в открытой литературе (отсюда «орел»). 2. Алгоритм не должен быть собственностью какой-либо компании. 3. Алгоритм должен уметь работать с разными метриками маршрутов (расстоянием, пропускной способностью, задержкой и т.п.) и при этом быть динамическим, т.е. реагировать на изменение топологии сети автоматически и быстро. 4. Алгоритм должен поддерживать разные виды сервиса, а также маршрутизацию для графика в реальном времени одним способом, а для других типов графика — другим. Для этого в 1Р-пакете есть поле Туре об зегг!се (см.
рис. 2.23), которое не использовалось существующими в то время протоколами. 5. Алгоритм должен обеспечивать балансировку нагрузки во из- ' .;: бежание перегрузки и при необходимости направлять потоки по ':,' разным каналам (все предыдущие протоколы использовали только один канал — наилучший). 6. Алгоритм должен поддерживать иерархическую маршрутизацию. К !988 г. Интернет стал столь большим, что ни один маршрутизатор был уже не в состоянии хранить всю топологию.
Поэтому новый протокол должен был быль сконструирован таким образом, чтобы по нему мог бы работать любой маршрутизатор на любом уровне иерархии 7. В алгоритме должна быть усилена безопасность маршрутизаторов для обеспечения защиты от злоумыизленников и просто любопытствующей публики, например студентов. Поскольку первые за счет изменения таблиц маршрутизации добивались изменения маршрутизации далеко не в безобидных целях, а вторые развлекались тем, что подсовывали маршрутизаторам неверную информацию о маршрутах 8. В алгоритме должна быть обеспечена возможность маршрутизаторам общаться с помощью туннелирования Виды соединений в ОЗРГ Протокол ОВРГ поддерживает три вида СПД. 1. Каналы типа точка — точка между двумя маршрутизаторами.
2. СПД на основе каналов с множественным доступом и вешанием ~~~'-:::';:, (большинство ЛВС) 3. СПД на основе коммутации каналов или коммутации пакетов (например, региональные сети с коммутацией пакетов) На рис. 2.28, а показаны эти три вида сетей. При этом протокол ~ ~~! - ' О 8РГ абстрагируется от конкретных сетей и строит их модель в форме ориентированного графа, каждая дуга в котором имеет вес, пред- ::~':;.';,'','!;" ставляющий собой определенную метрику канала: задержку, рас.;:~!:,: стояние и т.п. В этом графе наикратчайший путь определяется на основе весов дуг.
Последовательный дуплексный канал межлу узлами изображается двумя дугами, которые могут иметь разный вес. СПД с множественным доступом представляются звездообразным графом, в котором центральный узел соединен дугами, имеющими нулевой ,:!!~,":;:; вес с другими узлами (рис. 2.28, б). Многие АС сами по себе представляют большие сети. ОВРГ позволяет разбивать их на области, где каждая область — это либо сеть, $~,-".;: либо последовательность сетей. Эти области не пересекаются.
Область — это обобщение понятия подсети. Извне топология области не видна Каждая АС имеет магистральную область, называемую облау„' стью О. Все области одной АС соединяются через магистральную область, возможно с помощью туннелирования. Туннель представляется в графе взвешенной дугой. Любой маршрутизатор, соединену ный с двумя или более областями, является частью магистральной Х; области. Топология магистральной области так же, как и топологии лругих областей, не видна извне 83 Внутри области у всех маршрутизаторов одинаковая база данных состояний каналов, и все они используют одинаковый алгоритм нахождения наилучшего пути.
Задача маршрутизатора — вычислить наилучший путь до другого маршрутизатора этой области, включая маршрутизатор, соединенный с магистральной областью. Маршрутизатор, соединенный с двумя областями, должен иметь две базы данных и два алгоритма поиска наилучшего пути. Для поддержания разных типов сервисов ОЯРГ использует три графа: первый с разметкой, где веса представляют собой задержку, второй — пропускную способность каналов, третий — надежность каналов. Хотя все три графа и требуют соответствующих вычислений, но зато при этом получаем три маршрута, оптимизированных по задержке, пропускной способности и надежности.
Во время работы сети возникают три вида маршрутов; внутри области, между областями и между АС (рис. 2.29). Внутри области вычислить маршрут просто — это наикратчайший путь до маршрутизатора получателя. Маршрутизация между областями всегда выполняется в три этапа: от источника до магистральной области, от магистральной области до области назначения и внутри области на- Рис.
2.28. Виды сетей, поддерживаемые в ОБРЕ (а), и их представление в виле графа (б) Магистральный маршругнзатор АС 2 АС ма АС ! значения. Этот алгоритм навязывает звездообразную топологию АС: магистральная область — зто центр (ось), остальные области — лучи (спицы). Пакеты маршрутизируются без изменений за исключением случая, когда область получателя соединена с магистральной областью туннелем. В ОКРУ различают четыре класса маршрутизаторов. 1. Внутренние, находящийся целиком внутри одной области. 2. Пограничные, соединяющие несколько областей.
3. Магистральные, принадлежащие магистральной области. 4. Пограничные, соединенные с маршрутизаторами других АС. Маршрутизаторы разных классов могут пересекаться. Например, все пограничные маршрутизаторы являются магистральными, а маршрутизатор из магистральной области, но не находящийся на ее границе — внутренним. Примеры разных классов маршрутизаторов показаны на рис. 2.29. ,:::;ль Рнс. 2.29.
Примеры маршрутов н маршрутизаторов различных классов в ОБРЕ Маршрутизаторы в 08РР Когда маршрутизатор загружается, он рассылает сообшение яНе1!о» всем своим соседям на линиях типа точка — точка и группам маршрутизаторов в ЛВС с множественным доступом, чтобы получить информацию о своем окружении. В О8РГ маршрутизатор обменивается данными не со всеми маршрутизаторами внутри области„а лишь с теми, которые объявлены выделенными маршрутизаторами. Выделенный маршрутизатор смежен со всеми другими выделенными маршрутизаторами. В целях обеспечения надежности каждому выделенному маршрутизатору сопоставляется дублер, который имеет ту же информацию, что и основной маршрутизатор.
Периодически в ходе нормальной работы каждый маршрутизатор рассьшает всем своим смежным маршрутизаторам сообщение ЫХК ВТАТЕ 1)РОАТЕ. В этом сообщении он передает информацию о состоянии своих линий и их стоимости в разных метриках для базы данных, описывающей топологию соединений. Это сообщение в целях обеспечения надежности передается с подтверждением (Ы)ч'К ВТАТЕ АСК). Каждое такое сообщение имеет номер, позволяющий определить, несет ли пришедшее сообщение новую информацию по сравнению с той, которая имеется в его базе. Рассылают эти сообшения, когда у маршрутизаторов появляются новые линии, разрушаются старые или изменяется вес линии в той или иной метрике. Сообшение ОАТАВАЯЕ РЕБСМРТ1О1) содержит описание состояния всех каналов из базы данных отправителя.
Г1олучатель, сравнивая свои значения с теми, которые имеются у отправителя, может определить, у кого из них наиболее свежая информация. Используя сообщение ЫМК ШТАТЕ КЕ®)ЕБТ, маршрутизатор может в любой момент запросить информацию о любой линии у другого маршрутизатора. Все сообщения передаются как 1Р-пакеты. В магистральной области маршрутизаторы выполняют все указанное ранее, а также обмениваются информацией с пограничными маршрутизаторами в целях обеспечения вычисления наилучшего маршрута от любого маршрутизатора магистральной области до любого другого маршрутизатора.
2.5.7. Протокол паграничнык шлюаоа 86р Для маршрутизации пакетов между АС используется протокол пограничных шлюзов — ВОР (Вогг)ег Оагечау Ргогосо1), описанный в ВГС 1624. Его предшественником был протокол ЕОР. Однако с ростом Интернета он перестал уловлетворять возросшие требования, и был заменен. Основное отличие ВОР от ОЯРГ определяется различием целей маршрутизации между АС и внутри АС.