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 — 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. Делается это так:
У нас есть IP-адрес 192.80.2.55. Добавляем в начало наших октетов 0 так, чтобы каждый октет состоял из 3-ёх цифр
Получилось: 192.080.002.055. Удаляем точки из адреса
Получилось: 192080002055. Теперь делим адрес на 3 части и получаем System ID:
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 - Этапы установления соседства:
New - состояние когда процесс установления соседства только начинается. Маршрутизатор переходит в это состояние в момент загрузки или при настройке начальной конфигурации IS-IS.
One-Way - IS-IS маршрутизатор переходит в это состояние после Hello PDU. Машрутизатор находится в этом состоянии пока не будет получен Hello PDU пакет содержащий адрес локального маршрутизатора в качестве соседа.
Initializing - состояние в которое переходит маршрутизатор при получении Hello PDU пакета в котром указан его собственный локальный адрес в качестве соседа. Это состояние означает, что была установлена двунаправленная связь.
Up - состояние полного функционирования отношений IS-IS. Это состояние означает, что были сформированы отношения соседства и произошла синхронизация баз данных маршрутизаторов.
Down - состояние утерянного соседства. IS-IS маршрутизатор переходит в это состояние по одной из нескольких причин: несоответствие зоны (area), окончание таймаута удержания или ошибка аутентификации.
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
Промежуточные системы всегда принадлежат одной зоне, а границей является линк между ними. Типы промежуточных систем:
L1 - Хранит LSDB только своей зоны, если нужо отправить данные в другую зону, то обращается к L1/L2 промежуточной системе
L1/L2 - Хранит две LSDB: L1 LSDB - База данных своей зоны, L2 LSDB - база данных для маршрутизации между зонами. Обычно стоит на границе зоны и к нему приходит трафик от промежуточных систем первого уровня для отправки трафика в другие зоны
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:
Приоритет на линке
Самый большой 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