9) IS-IS

Краткое введение и терминология

IS-IS изначально был разработан для стека протоколов OSI. Соответственно, у него есть свой протокол на 3 уровне этой модели:

End System - Конечная система. Конечный хост.

Itermediate System - Промежуточная система. Маршрутизатор.

CLNS (Connectionless Network Service) - Этот сетевой сервис, который обслуживает CLNP (Connection-Less Network Protocol). CLNP передаёт данные на 3 уровне без установления соединения. Адресация в CLNS-пакетах называется NSAP (Network Service Access Point). Частью NSAP-адресации являются NET-адреса (Network Entity Title), котороые идентифицируют устройство (т.е. являются аналогами LoopBack-адресов) и выглядят они так:

49.0001.00a0.c96b.c490.00
  • 49 — AFI (Authority And Format Identifier). Всегда 49, аналог индикатора приватной адресации

  • 0001 — IDI (Initial Domain Identifier). Идентификатор домена (зоны). Аналог области в OSPF

  • 00a0.c96b.c490 — System Identifier. Аналог IP-адреса

  • 00 — Selector. Аналог поля Protocol ID в заголовке IP-пакета (указывает что мы переносим. Например, 1 - ICMP, 89 - OSPF). Всегда равен 00, это говорит о том, что мы будем работать с NET (network entity title). Т.е. 00 указыывает на то, что это идентификатор устройства (аналог LoopBack-адреса).

В качестве System ID можно использовать MAC-адрес или преобразовать IP. Делается это так:

  1. У нас есть IP-адрес 192.80.2.55. Добавляем в начало наших октетов 0 так, чтобы каждый октет состоял из 3-ёх цифр

  2. Получилось: 192.080.002.055. Удаляем точки из адреса

  3. Получилось: 192080002055. Теперь делим адрес на 3 части и получаем System ID:

  4. 1920.8000.2055

IS-IS PDU

  • IS-IS hello (IIH) - Рассылается Broadcast'ом. Есть Level 1(L1) IIH, Level 2 (L2) IIH (Для обнаружения соседа в том или ином Level на определённом широковещательном домене). Также есть P2P IIH для P2P-линков. Level 1 маршрутизаторы для формирования смежности должны иметь один и тот же IDI. Тогда как для Level 2 маршрутизаторов это не обязательно. Также такой кадр имеет довольно большой размер: 1492 bytes. Это нужно для проверки MTU. Иными словами IIH раздуваются до максимального значения MTU, которое поддерживает IS-IS.

  • Link-state PDUs (LSP) - Аналог LSA в OSPF. Важные поля:

    • ATT - Attached Bit - Устанавливается L1/L2 маршрутизатором для cообщения о том, что через него можно передать данные в другие зоны

    • OL - LSDB Overload Bit - Установка такого бита сигнализирует о том, что на устройстве идёт просчёт SFP-алгоритма, поэтому транзитный трафик через него пускать не нужно - не пройдёт. Но если трафик адресован сетям, которые подключены к нашему маршрутизатору напрямую, то мы его примем и отправим по назначению, так как запущенный SFP-алгоритм на это никак не повлияет.

    • IS Type - поле, обозначающее Level и прочие состояния

      • L1 - 01

      • L2 - 11

    • TLV (Type-Length-Value) - Название говорит само за себя. Это поле позволяет переносить по IS-IS информацию об IP. Т.е. IS-IS vожет передавать любую адресацию. Всё что нужно, это указать тип информации, длину и данные которые мы хотим передать. Именно поэтому поддержка IPv6 в IS-IS появилась раньше, чем в OSPF, для которого пришлось разрабатывать отдельную версию протокола.

  • Complete sequence number PDUs (CSNPs) - Аналог DBD в OSPF. Содержит краткий список всех LSP. Также периодически происходит обмен этими PDU для поддержания LSDB в актуальном состоянии. Делится на L1 и L2 для каждой LSDB. Также отсылается при установлении смежности между маршрутизаторами. Если маршрутизатор получает CSNP и видит в своей LSDB отсутствующую информацию, то он отправляет PSNP.

  • Partial sequence number PDUs (PSNPs) - Отсылается маршрутизатором для запроса отсутствующих LSP в его LSDB в ответ на CSNP. Отсылается на адрес отправителя CSNP. Также служит для подтверждения о получении запрошенных LSPs.

IS-IS State Machine

Xgu - Этапы установления соседства:

  1. New - состояние когда процесс установления соседства только начинается. Маршрутизатор переходит в это состояние в момент загрузки или при настройке начальной конфигурации IS-IS.

  2. One-Way - IS-IS маршрутизатор переходит в это состояние после Hello PDU. Машрутизатор находится в этом состоянии пока не будет получен Hello PDU пакет содержащий адрес локального маршрутизатора в качестве соседа.

  3. Initializing - состояние в которое переходит маршрутизатор при получении Hello PDU пакета в котром указан его собственный локальный адрес в качестве соседа. Это состояние означает, что была установлена двунаправленная связь.

  4. Up - состояние полного функционирования отношений IS-IS. Это состояние означает, что были сформированы отношения соседства и произошла синхронизация баз данных маршрутизаторов.

  5. Down - состояние утерянного соседства. IS-IS маршрутизатор переходит в это состояние по одной из нескольких причин: несоответствие зоны (area), окончание таймаута удержания или ошибка аутентификации.

  6. Reject - состояние маршрутизатора после сбоя проверки подлинности. IS-IS маршрутизатор будет постоянно менять свое состояние между этим и состоянием Down.

Уровни маршрутизации и протоколы модели OSI

0. ES-IS - Протокол взаимодействия конечной системы с промежуточной системой. Маршрутизация 0 уровня.

1. IS-IS L1 - Маршрутизация первого уровня необходима для связи внутри зоны

2. IS-IS L2 - Маршрутизация второго уровня позволяет устанавливать связь между зонами

3. IDRP (InterDomain Routing Protocol) - Аналог BGP в OSI-cетях. Маршрутизация уровня 3.

Типы маршрутизаторов в IS-IS

Промежуточные системы всегда принадлежат одной зоне, а границей является линк между ними. Типы промежуточных систем:

  1. L1 - Хранит LSDB только своей зоны, если нужо отправить данные в другую зону, то обращается к L1/L2 промежуточной системе

  2. L1/L2 - Хранит две LSDB: L1 LSDB - База данных своей зоны, L2 LSDB - база данных для маршрутизации между зонами. Обычно стоит на границе зоны и к нему приходит трафик от промежуточных систем первого уровня для отправки трафика в другие зоны

  3. L2 - хранит LSDB второго уровня. L2 LSDB позволяет пропускать трафик между зонами. При этом L2 промежуточные системы могут находится и в одной зоне. Просто L2 LSDB строится вне зависимости от номеров зон.

Основной смысл состоит в том, что L1 при изменении топологии в L2 не начинает запускать SFP и наоборот. L1, если проводить аналогию с OSPF, является Totally-Stub Area. На L1/L2 роутере можно просуммировать маршруты, которые утекают с L1 в L2, а внутри зоны, для L1 роутеров, L1/L2 роутер будет шлюзом из-за ATT бита который он устанавливает в своих LSP.

DIS

Designated IS - Назначенная промежуточная система - аналог DR в OSPF. Процесс выбора DIS:

  1. Приоритет на линке

  2. Самый большой MAC-адрес

DIS вместо широковещательного линка создаёт псевдоузел (Pseudonode), к которому каждый маршрутизатор подключен как P2P (DIS в том числе) и через него делает рассылку LSPs. Т.е. на логическом уровне, вместо коммутатора мы будто бы добавляем ещё один маршрутизатор с Subnetwork Point of Attachment (SNPA). По факту, это метрика на основе которой выбирается DIS. Больше - лучше. В Ethernet-сетях SNPA = наибольшему MAC-адресу в широковещательном домене. Также можно настроить приоритет (от 0 до 127), при этом маршрутизатор с 0 приоритетом всё равно будет учавствовать в выборах DIS (в OSPF маршрутизатор с 0 приоритетом в выборах DR и BDR не учавствует). Также стоит отметить, что если в сети появляется маршрутизатор с большим приоритетом, то происходит перевыбор DIS (в OSPF DR и BDR перевыбираются только после падения текущего DR/BDR).

Last updated