ES-IS в большей мере является протоколом обнаружения, чем протоколом маршрутизации. Через ES-IS системы ES и IS узнают друг о друге. Этот процесс известен как конфигурация (configuration). Т.к. конфигурация должна иметь место прежде, чем может начаться маршрутизация между ES, протокол ES-IS рассматривается в первую очередь.
ES-IS различает три разных типа подсетей:
Point-to-point subnetworks – Двухточечные подсети. Обеспечивают непосредственное соединение между двумя системами. Большинство последовательных каналов глобальной сети являются двухточечными сетями.
Broadcast subnetworks – Широковещательные подсети. Направляют отдельное физическое сообщение во все узлы данной подсети. Примерами широковещательных подсетей являются Ethernet и IEEE 802.3.
General-topology subnetworks – Подсети с общей топологией. Поддерживают произвольное число систем. Однако в отличие от широковещательных подсетей, величина затрат на передачу по какому-нибудь маршруту n непосредственно связана с размерами данной подсети в подсети с общей топологией. Примером подсети с общей топологией является Х.25.
Информация конфигурации передается через определенные интервалы времени с помощью сообщений двух типов. Приветственные сообщения 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.
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. Протокол стержневой маршрутизации может также вносить изменения, не оказывая влияния на протокол внутриобластной маршрутизации.
Маршрутизация 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 hello packets - приветственные пакеты IS-IS
Link state packets (LSPs) - пакеты состояния канала
Sequence numbers packets (SNPs) - пакеты номеров последовательностей
Каждый из этих трех пакетов IS-IS имеет сложный формат с тремя различными логическими частями. Первой частью является 8-байтовый фиксированный заголовок, общий для всех трех типов пакетов. Второй частью является специфичная для данного типа пакета часть с фиксированным форматом. Третья логическая часть также является специфичной для типа пакета, но имеет переменную длину.
Каждый из трех типов пакета имеет общий заголовок.
Первым полем в общем заголовке 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 поддерживать дополнительные сетевые уровни. Эти поля сообщают роутерам следующую информацию:
Досягаемость сетевых адресов из других комплектов протоколов;
Какие протоколы поддерживаются и какими роутерами;