При содействии Международной Организации по Стандартизации (ISO) уже разработаны или разрабатываются в настоящее время несколько протоколов маршрутизации. ISO ссылается на Протокол Обмена Внутридоменной Маршрутизации Промежуточных Систем (Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol (IS-IS)) как на ISO 10589. Двигательной силой стандартизации ISO документа IS-IS был комитет Х.3S3.3 Американского Национального Института Стандартов (ANSI), занимающийся сетевым и транспортным уровнями. В числе других протоколов ISO, связанных с маршрутизацией, протоколы ISO 9542 (End System to Intermediate System, или ES-IS - Конечная система-Промежуточная Система) и ISO 10747 (IS-IS Inter-Domain Routing Protocol, или IDRP - Протокол междоменной маршрутизации промежуточных систем). Об этих протоколах будет вкратце упомянуто в данной главе, однако oсновное внимание уделено внутридоменной версии IS-IS.
IS-IS базируется на работе, которая была впервые выполнена Digital Equipment Corporation при разработке Phase V DECnet. Хотя IS-IS предназначался для маршрутизации в сетях протокола CLNP ISO, со временем была разработана одна из его версий для поддержки как сетей CLNP, так и сетей IP. На эту версию IS-IS обычно ссылаются как на Integrated IS-IS (интегрированный); ее также называют Dual IS-IS (двойственный). Integrated IS-IS также рассматривается вкратце.
Об'единенные сети OSI используют уникальную терминологию. Термин "конечная система" (end system - ES) относится к любому узлу сети, который не занимается маршрутизацией; термин "промежуточная система" (intermediate system-IS) относится к роутеру. На этих терминах базируются протоколы OSI ES-IS (который позволяет ES и IS находить друг друга) и IS-IS (который обеспечивает маршрутизацию между IS). Ниже дается определение некоторых других важных терминов об'единенных сетей OSI:
На Рис. 28-1 "Иерархия об'единенных сетей OSI" показана взаимосвязь между этими терминами.
С чисто технологической точки зрения IS-IS почти аналогичен протоколу маршрутизации OSPF (смотри Главу 25 "OSPF"). Оба протокола являются протоколами с указанием состояния канала. Оба они обеспечивают различные характеристики, которые не обеспечивает RIP, в том числе иерархии маршрутизации (routing hierachies), дробление путей (path splitting), обеспечение типа услуги (type-of-service - TOS), удостоверение (authentication), поддержка нескольких протоколов сетевого уровня и поддержка (совместно с протоколом Integrated IS-IS) масок подсети переменной длины.
ES-IS в большей мере является протоколом обнаружения, чем протоколом маршрутизации. Через ES-IS системы ES и IS узнают друг о друге. Этот процесс известен как конфигурация (configuration). Т.к. конфигурация должна иметь место прежде, чем может начаться маршрутизация между ES, протокол ES-IS рассматривается в первую очередь.
ES-IS различает три разных типа подсетей:
Информация конфигурации передается через определенные интервалы времени с помощью сообщений двух типов. Приветственные сообщения ES (Es hello messages - ESHs) генерируются ES и отправляются в каждую IS данной подсети. Приветственные сообщения IS (IS hello messages - ISH) генерируются IS и отправляются всем ES данной подсети. Эти приветственные сообщения в основном предназначены для переноса адресов подсетей и адресов сетевого уровня тех систем, которые генерируют их.
При возможности ES-IS пытается отправить информацию конфигурации одновременно в несколько систем. В широковещательных подсетях приветственные сообщения ES-IS отправляются во все IS с помощью специальной многопунктовой адресации. IS отправляют приветственные сообщения по специальному адресу многопунктовой адресации, определенного для всех конечных систем. При работе в подсети с общей топологией ES-IS обычно не передает информацию конфигурации из-за больших затрат на передачи многопунктовой адресации.
ES-IS переносит как адреса сетевого уровня, так и адреса подсетей. Адреса сетевого уровня OSI идентифицируют либо точку доступа к услугам сети (NSAP), которая представляет собой интерфейс между Уровнями 3 и 4, либо титул об'екта сети (NET), который является об'ектом сетевого уровня в OSI IS. Адреса подсетей OSI (иногда называемые адресами точки подключения подсети - subnetwork point of attachment - SNPA) являются точками, в которых ES или IS физически подключена к какой-нибудь подсети. Адрес SNPA уникальным образом идентифицирует каждую систему, подключенную к данной подсети. В сети Ethernet, например, SNPA является 48-битовым адресом управления доступом к носителю (МАС). Часть информации конфигурации, которую передает ES-IS, представляет собой отображение соответствия между NSAP и SNPA или между NET и SNPA.
На Рис. 28-2 представлены форматы пакетов ESH и ISH.
IS-IS является протоколом маршрутизации с указанием состояния канала. В этом роли он передает по сети лавинной адресацией информацию о состоянии канала для построения полной, последовательной картины топологии сети.
Иерархия маршрутизации
Для упрощения схемы и работы роутера IS-IS различает IS уровней 1
и 2. IS уровня 1 могут сообщаться с другими IS уровня 1, находящимися в
той же области. IS уровня 2 могут сообщаться с IS других областей. Т.е.
IS уровня 1 формируют области уровня 1; IS уровня 2 осуществляют
маршрутизацию между областями уровня 1.
IS уровня 2 формируют стержень внутридоменной маршрутизации. Другими словами, IS уровня 2 могут попасть в другие IS уровня 2 путем пересечения только IS уровня 2. Наличие такого стержня упрощает схему, т.к. в этом случае IS уровня 1 нужно уметь только попадать в ближайший IS уровня 2. Протокол стержневой маршрутизации может также вносить изменения, не оказывая влияния на протокол внутриобластной маршрутизации.
Сообщение между ES
Маршрутизация OSI выполняется следующим образом. Каждая ES принадлежит
конкретной области. ES обнаруживают ближайшую IS путем прослушивания
пакетов ISH. Если какая-нибудь ES захочет отправить пакет в другую ES,
она направляет пакет в одну из IS сети, к которой она непосредственно
подключена. Роутер просматривает адрес пункта назначения и
продвигает пакет по наилучшему маршруту. Если ES пункта назначения
находится в той же подсети, то местная IS узнает об этом в результате
прослушивания ESH и соответствующим образом продвинет пакет. В этом
случае IS может также обеспечить отправку сообщения о переадресации
(redirect - RD) в источник пакета, чтобы сообщить о доступности
более прямого
пути. Если адресом пункта назначения является какая-нибудь ES другой
подсети той же области, то IS узнает о точном маршруте и
соответствующим образом продвинет пакет. Если адресом пункта назначения
является какая-нибудь ES другой области, то IS уровня 1 отправляет этот
пакет в в ближайшую IS уровня 2. Продвижение пакета через IS уровня 2
продолжается до тех пор, пока он не достигнет IS уровня 2 в области
пункта назначения. В пределах области пункта назначения IS продвигают
пакет по наилучшему маршруту, пока не будет достигнутa ES пункта
назначения.
Каждая IS генерирует корректировку, определяющую ES и IS, с которыми она соединена, а также связанные с ней показатели. Эта корректировка отправляется во все соседние IS, которые продвигают ее своим соседям, и т.д. (лавинная адресация). Номера последовательностей прекращают лавинную адресацию и отличают старые корректировки от новых. Т.к. каждая IS получает корректировки о состоянии канала от всех других IS, то каждая IS может построить полную базу данных всей топологии сети. При изменении топологии отправляются новые корректировки.
Показатели (метрики)
IS-IS использует один обязательный, устанавливаемый по умолчанию
показатель с максимальным значением пути 1024. Этот показатель
является произвольным и обычно назначается администратором сети. Любой
отдельный канал может иметь максимальное значение 64. Длина путей
вычисляется путем суммирования значений каналов. Максимальные значения
каналов установлены на этих уровнях для обеспечения степени
детализации, чтобы поддерживать различные типы каналов, одновременно
обеспечивая достаточную эффективность алгоритма поиска наикратчайшего
пути, используемого для расчета маршрута.
IS-IS также определяет три дополнительных показателя (затраты) в качестве опций для тех администраторов, которые испытывают в них необходимость. Затраты задержки (delay) отражают величину задержки в канале. Затраты на издержки (expense) отражают коммуникационные затраты, связанные с использованием данного канала. Затраты на ошибки (error) отражают коэффициент ошибок данного канала.
IS-IS обеспечивает соответствие этих четырех показателей опции качества обслуживания (quality-of-service - QOS) в заголовке пакета CLNP. Пользуясь этим соответствием, IS-IS может вычислять маршруты через об'единенную сеть.
Формат пакета
IS-IS использует три базовых формата пакета:
Каждый из этих трех пакетов IS-IS имеет сложный формат с тремя различными логическими частями. Первой частью является 8-байтовый фиксированный заголовок, общий для всех трех типов пакетов. Второй частью является специфичная для данного типа пакета часть с фиксированным форматом. Третья логическая часть также является специфичной для типа пакета, но имеет переменную длину. Логический формат пакетов IS-IS представлен на Рис. 28-3.
Каждый из трех типов пакета имеет общий заголовок, как это показано на Рис. 28-4.
Первым полем в общем заголовке IS-IS является идентификатор протокола (protocol identifier), который идентифицирует протокол IS-IS. Это поле содержит константу (131).
Следующим полем общего заголовка является поле длины заголовка (header length). Это поле содержит фиксированную длину заголовка. Эта длина всегда равняется 8 байтам, но она включена таким образом, чтобы пакеты IS-IS незначительно отличались от пакетов CLNP.
За полем длины следует поле версии (version), которое равняется единице в текущей спецификации IS-IS.
За полем версии идет поле длины ID, которое определяет размеры части ID (идентификатора) NSAP, если eго значение лежит в пределах от 1 до 8 (включительно). Если поле содержит нуль, то часть ID равняется 6 байтам. Если поле содержит 255 (одни единицы), то часть ID равна 0 байтов.
Следующим полем является поле типа пакета (packet type), которое определяет тип пакета IS-IS (hello, LSP или SNP).
За полем типа пакета повторно следует поле версии.
За вторым полем версии идет поле резерва (reserved), которое равно нулю и которое игнорируется получателем.
Последним полем общего заголовка является поле максимума адресов области. Это поле определяет число адресов, разрешeнных для этой области.
За общим заголовком идет дополнительная фиксированная часть, разная для каждого типа пакета, за которой следует переменная часть.
Интегрированный IS-IS является одной из версий IS-IS, которая использует один алгоритм маршрутизации для поддержки нескольких протоколов сетевого уровня, а не только одного протокола CLNP. Интегрированный IS-IS иногда называют Двойственным IS-IS (Dual IS-IS), по имени одной из версий, предназначенных для сетей IP и CLNP.
Пакеты IS-IS дополнены несколькими полями, что позволяет IS-IS поддерживать дополнительные сетевые уровни. Эти поля сообщают роутерам следующую информацию:
Интегрированный IS-IS представляет один из двух способов поддержки в роутере нескольких протоколов сетевого уровня; другим способом является применение метода "корабли ночью" (ships in the night). Этот метод пропагандирует использование совершенно отдельного и отличного от других протокола маршрутизации для каждого сетевого протокола сети так, чтобы несколько протоколов маршрутизации фактически существовали независимо друг от друга (с разными типами маршрутной информации, проходящей подобно кораблям ночью). Возможность направлять по определенным маршрутам несколько протоколов сетевого уровня с помощью таблиц, рассчитанных одним протоколом маршрутизации, экономит ресурсы роутеров.
IDRP является протоколом OSI, предназначенным для перемещения информации между доменами маршрутизации. Он предназначен для бесшовной работы с CLNP, ES-IS и IS-IS. IDRP базируется на Протоколе граничных роутеров (BGP), который является протоколом междоменной маршрутизации, впервые появившемся в сообществе IP (смотри Главу 27 "BGP").
IDRP вводит несколько новых терминов, в том числе следующие:
Маршрут IDRP представляет собой последовательность RDI. Некоторые из этих RDI могут быть конфедерациями. При конфигурации каждой BIS она знает о RD и конфедерациях, к которым она принадлежит, а также узнает о других BIS, RD и конфедерациях из информации, которой она обменивается с каждым соседом. Как и для маршрутизации с вектором расстояния, маршруты в какой-нибудь конкретный пункт назначения накапливаются вне данного пункта назначения. Только маршруты, которые удовлетворяют требованиям местной политики какой-нибудь BIS и были выбраны для использования, будут переданы в другие BIS. Пересчет маршрутов носит частичный характер и имеет место при наличии одного их следующих трех событий: получена инкрементная корректировка маршрутизации с новыми маршрутами, отказывает какая-нибудь соседняя BIS или появляется новая соседняя BIS.
В число характеристик IDRP входят следующие: