Первоисточник: http://www.ccc.ru/magazine/depot/96_08/print.html?0204.htm

I-PNNI — интегрированный протокол маршрутизации

В. И. Гуськов

Инвестиции в системы ATM (Asynchronous Transfer Mode) подразделяются на два вида: стратегические и тактические. Стратегические делаются с целью решения существующих проблем с производительностью сети и для развертывания в будущем принципиально новых приложений, таких как изохронная передача видеоинформации, от которых будет зависеть эффективность работы предприятия. Тактические также делаются для решения существующих проблем с производительностью сети, но при этом не учитываются возможности внедрения новых приложений, созданных специально для сетей АТМ и сполна использующих их возможности.

На ранних стадиях развития ATM предполагалось, что такие приложения будут разрабатываться с использованием стеков нового типа, ориентированных на установление сквозного соединения через сеть АТМ (от одного узла сети АТМ до другого). Однако на сегодняшний день по-прежнему наблюдается стремительный рост популярности дейтаграммных протоколов, таких как TCP/IP. На основании этого можно утверждать, что пройдет еще какое-то время, прежде чем промышленность всерьез возьмется за разработку специализированных приложений для ATM. Возникает проблема совмещения стратегического курса на развитие инфраструктуры ATM с использованием традиционных протоколов сетевого уровня. Ее решение заключается в применении особых механизмов маршрутизации.

Протокол маршрутизации PNNI (Private Network-to-Network Interface) предназначен для определения путей передачи данных и установления виртуальных каналов в сети ATM. Его расширенная версия под названием Integrated-PNNI (I-PNNI) дает возможность традиционным протоколам сетевого уровня (например, IP) работать с PNNI. Протокол I-PNNI позволяет реализовать стратегический замысел развертывания структуры ATM: во-первых, расширяет возможности традиционных сетевых протоколов за счет сильных сторон технологии ATM, таких как масштабируемость и гарантия качества обслуживания; во-вторых, обеспечивает эффективный механизм взаимодействия дейтаграммноориентированных сетей с сетями ATM, позволяющий использовать преимущества ATM в смешанных сетях; в-третьих, упрощает переход к коммутируемым сетям, их обслуживание и управление.

Основные понятия

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

Протокол PNNI Phase 1 определяет алгоритм взаимодействия коммутаторов в сетях ATM. Он обеспечивает обмен маршрутной и сигнальной информацией, необходимой для организации коммутируемых виртуальных каналов (SVC). Разрабатывая протокол PNNI, Форум ATM преследовал цель создания средств, обеспечивающих высокий уровень масштабируемости, надежности и топологической гибкости сетей ATM и реализующих поддержку гарантированного качества обслуживания. PNNI — единственный стандартизированный протокол маршрутизации, предназначенный для работы в однородных сетях ATM. Независимо от того, у какого производителя приобретено то или иное оборудование, пользователи коммутируемых сетей ATM вынуждены работать с протоколом PNNI. Альтернативы ему не существует. I-PNNI представляет собой расширенную версию протокола PNNI, которая может работать не только в коммутаторах ATM, но и в маршрутизаторах и маршрутизирующих коммутаторах. Он распространяет действие преимуществ протокола PNNI на традиционные сети и, в то же время, значительно упрощает задачи сетевого управления, позволяя избежать необходимости применения сразу нескольких протоколов маршрутизации.

Сбор топологических данных

В рамках I-PNNI единый протокол маршрутизации PNNI может охватывать всю смешанную сеть. В работе этого протокола участвуют устройства различных типов: маршрутизирующие коммутаторы, маршрутизаторы, коммутаторы АТМ и серверы ATM. Каждое такое устройство фигурирует в качестве “узла” в топологической базе данных. Устройства, не подключенные непосредственно к ATM , также могут участвовать в процедуре маршрутизации PNNI. В состав сети входит сервер, соединенный непосредственно с сетью ATM и работающий с протоколом I-PNNI, используя его для выбора оптимального пути передачи данных через коммутируемую сеть. Применять I-PNNI в серверах ATM необязательно, однако с помощью этого протокола значительно упрощается доступ к серверу и резко повышается общая эффективность его работы. Линии, которые соединяют маршрутизаторы, маршрутизирующие коммутаторы и серверы с коммутаторами ATM, являются интерфейсами PNNI. В свою очередь, информация о линиях связи между маршрутизаторами рассылается в обычной маршрутной метрике PNNI, т. е. различные линии связи — в частности, соединяющие коммутаторы и маршрутизаторы друг с другом или между собой — представлены одинаково. (Подключенные к ATM маршрутизаторы и коммутаторы сообщают, что они не являются транзитными устройствами для установления каналов SVC.) Таким образом удается получить простую, полную и точную топологическую схему смешанной сети. Каждое устройство, участвующее в алгоритме маршрутизации I-PNNI, пользуясь этой схемой, может выбрать оптимальный путь для передачи пакетов и/или организации каналов SVC. Выбор маршрута опирается на метрику каждой линии связи.

Механизмы работы

Протокол I-PNNI во многом функционирует аналогично протоколу PNNI Phase 1, в котором уже присутствует боўльшая часть процедур, необходимых для реализации I-PNNI.“Приветствия”. Каждый узел сети (будь то коммутатор, маршрутизатор или хост) определяет локальную топологию путем обмена сообщениями “Hello” со своими ближайшими соседями. Предназначенный для этого протокол “Hello” аналогичен протоколу, определенному в спецификации PNNI. Выяснение иерархической принадлежности соседнего узла (его принадлежности к той же, вышележащей или нижележащей иерархической группе) основывается на информации, содержащейся в сообщении “Hello”.

Рассылка топологической информации. С помощью специальных пакетов каждый узел сети гарантирует передачу выявленной им локальной топологии всем узлам сети или (в сети с иерархической структурой) всем узлам своей группы. Таким образом, каждый узел сети (или иерархической группы) знает “полную” ее топологию. Эта процедура тоже полностью унаследована от PNNI.

Информация о достижимости систем. Маршрутизаторы и маршрутизирующие коммутаторы, поддерживающие I-PNNI, извещают о достижимости объектов ATM и объектов сетевого уровня. Сообщения о достижимости объектов ATM имеют формат, оговоренный в PNNI. Данные о достижимости объектов сетевого уровня (таких как подсеть или хост) передаются в составе отдельной информационной группы в кодировке TLV (Type-Leghth-Value). Эта информационная группа игнорируется коммутаторами ATM, поэтому им не приходится обрабатывать какие-либо данные, связанные с протоколами сетевого уровня, а следовательно, отпадает необходимость в модернизации коммутаторов ATM, поддерживающих протокол PNNI.

Достижимость объектов сетевого уровня, информация о которой передается по I-PNNI, может быть различной. Приведем два примера.

Прямая достижимость: пакеты, предназначенные определенному объекту сетевого уровня, должны передаваться непосредственно узлу, извещающему о доступности этого объекта. Этот метод используется в том случае, когда весь объект сетевого уровня (например, подсеть) подключен к одному узлу.

Запрос пути доступа: пакеты, предназначенные определенному объекту сетевого уровня, могут быть переданы непосредственно узлу, извещающему о доступности этого объекта, но более оптимальный путь передачи данных можно найти, посылая предварительный запрос с целью поиска узла прямого доступа. Этот метод необходим, когда через узел, известивший о достижимости объекта сетевого уровня, на самом деле доступна только часть этого объекта. Такая ситуация может сложиться в сети с виртуальными ЛВС, в которой объект сетевого уровня (например, подсеть) разнесен по разным физическим участкам сети.

Преобразование адресов. Информация об объектах ATM и объектах сетевого уровня, рассылаемая в рамках I-PNNI, позволяет получать все необходимые данные для определения адреса ATM по адресу сетевого уровня в пределах иерархической группы. Преобразование адресов устройств, входящих в другие группы, в большинстве случаев требует специального протокола запросов (скажем, протокола NHRP). Информация о достижимости отдельных узлов сети (например, 10 основных серверов) может рассылаться отдельно в каждой иерархической группе во избежание избыточных запросов NHRP.

Работа через ЛВС с общей средой передачи. Для работы через сети с общей средой передачи протокол I-PNNI предусматривает механизм псевдоузлов и выделенных маршрутизаторов, во многом аналогичный используемому в протоколах OSPF и IS-IS. С точки зрения I-PNNI общедоступная среда представляет собой псевдоузел, к которому подключены все обслуживающие ее маршрутизаторы. Выделенный маршрутизатор (Designated Router, DR) от имени псевдоузла отвечает за подготовку извещений о состоянии канала связи. Выделенным становится один из маршрутизаторов, подключенных к ЛВС. Помимо выделенного назначается еще и резервный маршрутизатор (Backup DR, BDR) для более стабильного доступа к системе.

Иерархическая маршрутизация. Протокол I-PNNI поддерживает гибкие многоуровневые иерархические структуры, предусмотренные спецификацией PNNI. Следовательно, сети с I-PNNI имеют ту же степень масштабируемости, что и сети ATM с PNNI. Лидерами групп могут быть выбраны любые устройства (в том числе маршрутизаторы и маршрутизирующие коммутаторы), участвующие в работе I-PNNI. Маршрутизация с учетом качества обслуживания. Для определения пути передачи данных I-PNNI поддерживает предусмотренный спецификацией PNNI богатый набор метрик, учитывающих качество обслуживания. Отличие от PNNI состоит в том, что в I-PNNI эти метрики применяются ко всем каналам связи, в том числе и к каналам связи традиционных сетей. Естественно, что метрики, скажем, для сегмента Ethernet и для канала ATM, будут интерпретироваться и использоваться по-разному. Подключенные к каналу связи устройства отвечают за корректный расчет и интерпретацию маршрутной метрики для различных типов физической среды передачи. Это позволяет в смешанной сети вычислять сквозные маршруты в соответствии с заданным качеством обслуживания.

Взаимодействие с другими протоколами маршрутизации. Протокол I-PNNI предусматривает возможность взаимодействия с другими маршрутными доменами, использующими различные протоколы маршрутизации, такие как OSPF, RIP, NLSP. Механизм такого взаимодействия хорошо известен и испытан. Он основывается на той же технологии, которая применяется для обмена маршрутной информацией между протоколами OSPF и BGP или OSPF и RIP. Благодаря этому пользователи получают возможность поэтапного перехода к протоколу I-PNNI с его начальным внедрением лишь в одной части сети. Остальная часть сети может мигрировать к I-PNNI постепенно, по мере необходимости.

I-PNNI и раздельная маршрутизация

Альтернативу технологии I-PNNI составляет метод раздельной маршрутизации, предусматривающий работу каждого протокола сетевого уровня со своим протоколом маршрутизации (IP с OSPF, IPX c NLSP, AppleTalk с RTMP) для получения данных о топологии сети в том виде, в каком ее “видят” узлы, использующие протоколы сетевого уровня. Этот метод получил название “ночная навигация” (Ships-In-The-Night, SIN). В той части сети, где реализован режим ATM, автономно действует протокол маршрутизации PNNI, поставляющий данные о топологии сети ATM. При раздельной маршрутизации поиск оптимального пути передачи данных в смешанной сети начинается с просмотра базы маршрутных данных SIN и последующего выбора лучшего “с точки зрения” SIN пути к устройству в топологии сетевого уровня. Затем с помощью базы маршрутных данных PNNI выбирается путь между выбранными точкой входа в сеть АТМ и точкой выхода из нее.

Технология I-PNNI основана на идее единого протокола маршрутизации, поставляющего данные о топологии всей смешанной сети. Все узлы сети, участвующие в процедуре маршрутизации I-PNNI, получают “полную” информацию о состоянии всех ее участков. Таким образом, I-PNNI предоставляет “истинную” картину топологии смешанной сети (см. рис. 2) по сравнению с многоуровневой и обобщенной картиной, получаемой в результате раздельной маршрутизации. Карта сети, составленная с помощью I-PNNI, соответствует физической топологии сети. В случае раздельной маршрутизации получаемая карта не совпадает с физической топологией, так как традиционные протоколы маршрутизации “не видят” каналов сети ATM и не могут передать информацию о ее состоянии протоколам сетевого уровня.

Чтобы понять, каким образом раздельная маршрутизация может привести к выбору неэффективного маршрута в смешанной сети, рассмотрим следующий пример . Допустим, что клиенту в Бостоне срочно понадобилось отправить посылку (пакет IP) в Сан-Франциско. Эту задачу он может поручить двум различным почтовым службам — почтовой службе PM и транспортному агентству I-PNNI.

Почтовая служба РМ (раздельная маршрутизация) состоит из двух независимых подразделений. Подразделение №1 отвечает за доставку почты автотранспортом (традиционная сеть) и имеет в своем распоряжении несколько диспетчерских служб (RIP, OSPF, BGP и т. п.), каждая из которых следит за автотранспортной сетью и координирует доставку определенного вида грузов (пакеты IP, IPX, AppleTalk и другие). Подразделение №2 курирует воздушный транспорт (сеть ATM) и работает с одной диспетчерской службой (PNNI), отслеживающей работу всех авиалиний.

Транспортное агентство I-PNNI имеет единую структуру с общей диспетчерской службой (I-PNNI), которая регулирует доставку грузов самолетами (ATM) и наземным транспортом (традиционные сети).

Предположим, наш клиент обратился в службу РМ. Он пошел в контору и заказал срочную отправку посылки из Бостона в Сан-Франциско. Запрос клиента передается диспетчерской службе RIP, так как именно она занимается такого рода посылками (пакет IP). Диспетчер RIP просматривает данные о состоянии автотранспортной сети и находит два возможных пути отправки посылки в Сан-Франциско: через филиал в Сан-Хосе или через филиал в Окленде. Оба филиала напрямую связаны с Сан-Франциско. С точки зрения RIP оба маршрута связаны с одинаковыми затратами времени (по числу промежуточных пунктов), так что можно выбрать любой из них. Диспетчер выбирает путь через Сан-Хосе и передает заказ клиента на другой этаж, в отдел воздушного транспорта, с пометкой, что посылку следует отправить самолетом в Сан-Хосе. Диспетчер PNNI справляется о состоянии авиалиний с целью нахождения оптимального пути доставки посылки в Сан-Хосе. При этом выясняется, что время для отправки груза в Сан-Хосе выбрано клиентом неудачно, так как единственный подходящий рейс выполняется с посадкой в Далласе, где из-за плохой погоды возможна длительная задержка. Тем не менее посылка в конце концов попадет в Сан-Хосе, откуда ее автотранспортом доставят в Сан-Франциско.

Теперь рассмотрим случай, когда клиент поручает доставку посылки транспортной службе I-PNNI. Он идет в контору и делает точно такой же заказ, как в предыдущем случае. Запрос клиента попадает к единственному диспетчеру в конторе — I-PNNI. Этот диспетчер отвечает за все виды отправлений и следит за всей сетью воздушного и автомобильного транспорта. Наведя справки, он выясняет, что доставить посылку можно двумя путями: во-первых, отправить самолетом через Даллас в Сан-Хосе и затем на автомобиле перевезти в Сан-Франциско; во-вторых, отправить самолетом в Окленд с последующей доставкой автотранспортом в Сан-Франциско. Оценив затраты времени на оба маршрута, диспетчер, очевидно, отправит посылку в Окленд, избежав таким образом возможной задержки в Далласе.

Фундаментальный недостаток применения схемы раздельной маршрутизации к смешанным сетям состоит в том, что протоколы маршрутизации сетевого уровня выбирают путь передачи данных без учета загруженности участков сети ATM. Таким образом, если на пути к адресату имеется несколько точек входа в сеть ATM и выхода из нее, то такая схема не гарантирует их оптимальный выбор с точки зрения загруженности каналов ATM. В приведенном выше примере можно было бы избежать неоптимальной отправки посылки, если бы диспетчер PNNI мог вернуть заказ клиента диспетчеру RIP с просьбой сообщить альтернативный маршрут. В этом случае диспетчер RIP предложил бы второй путь отправки через Окленд, и посылка была бы доставлена туда прямым рейсом. Однако схема раздельной маршрутизации не позволяет передавать информацию PNNI традиционному протоколу маршрутизации. Именно по этой причине такая схема не оптимальна для смешанной сети. I-PNNI устраняет данный недостаток, используя единый протокол маршрутизации для систем разных типов. Кроме того, неспособность алгоритмов раздельной маршрутизации рассматривать альтернативные пути на участках сети ATM приводит к неэффективному использованию полосы пропускания.

Наиболее остро недостатки раздельной маршрутизации ощущаются в системах, работающих с приложениями, которым необходимо гарантированное качество обслуживания. Такие приложения требуют выделения фиксированной полосы пропускания и, как следствие, уменьшают выгоду, которая может быть получена от статистических особенностей эксплуатации сетевых ресурсов. Таким образом, в данном случае особую важность приобретают механизмы эффективного использования ресурсов сети и поиска альтернативных путей передачи данных. Необходимые приложению сетевые ресурсы должны быть выделены до начала его работы. Система с раздельной маршрутизацией может выбрать такой пункт входа в сеть ATM, через который невозможно сформировать канал, обеспечивающий заданное качество обслуживания. В то же время, при выборе другого пути к адресату требования по качеству были бы удовлетворены. Может возникнуть естественный вопрос: почему протокол маршрутизации не определил неприемлемость выбранного маршрута? Дело в том, что из-за отсутствия информации о загруженности всех участков сети алгоритм раздельной маршрутизации не может обеспечить выбор сквозного пути с гарантией качества обслуживания. Традиционные протоколы маршрутизации не поддерживают метрику с гарантией качества обслуживания и “не видят” топологию сети ATM.

Раздельная маршрутизация затрудняет поиск и устранение неисправностей в сети вследствие того, что физическая топология сети очень сильно отличается от топологии, построенной на основе данных сетевого уровня. Если протокол маршрутизации сетевого уровня “считает”, что логическая линия связи больше не доступна, то информация о физическом месте возникшей проблемы не выдается. Чтобы попытаться выяснить истинную причину проблемы, администратору сети приходится просматривать обе топологические базы данных. В случае I-PNNI существует только одна топологическая схема сети, которая соответствует физической. Поэтому при возникновении сбоев потенциальную проблему значительно легче локализовать.

Обе схемы маршрутизации (интегрированная и раздельная) могут обслуживать одну и ту же сеть. Выбор той или иной схемы маршрутизации для использования в конкретной части сети существенно зависит от целей внедрения ATM. Если при развертывании сети ATM не стоит задача задействования уникальных возможностей технологии АТМ, то раздельная маршрутизация становится весьма приемлемым решением. Если же, внедряя ATM, потребитель делает ставку на возможности будущих приложений, то ему подойдет только I-PNNI.