Какой тип маршрутизатора ospf создает lsa 3 го типа

Обновлено: 04.07.2024

Hello пакеты для установления и поддержания соседства.

OSPF флудит LSA (IP 89 порт, 224.0.0.5 адрес) во все порты OSPF, кроме того, с которого прилетела LSA. С помощью LSA на каждом роутере строится топология сети и на основании этих данных затем производится рассчет кратчайшего пути.

На всех роутерах одной area поддерживается одинаковая копия LSDB.

Policy можно применять на export для summary-LSA 3 (вроде).

Иерархичный дизайн сети достигается за счет использования area, которые соединяются посредством backbone area.

Dijkstra рассчитывается только в рамках одной area (на основании одной LSDB, которая едина в рамках одной area).

Summary metric для dest = сумме outgoing interface metrics.

На бродкаст сегменте выбирается DR (наиб приоритет, затем наиб router ID), который занимается флудом LSA внутри area. Для роутеров не в бродкастном сегменте, подключенных через Ethernet, включаем interface-type p2p, чтобы на этом линке не проводились выборы DR и чтобы уменьшить время сходимости.

Hello - используются для установления и поддержания соседства ospf. Отправляются на адрес 224.0.0.5 каждые 10 сек. Содержит в себе поля: network mask, hello interval, dead interval, options, (router priority, designated router, backup designated router, neighbor).

Database description (DD) - используется только во время установления соседства. Определяет кто отвечает за синхронизацию LSDB (выбирается роутер с бОльшим RID). Обменивается LSA до полной синхронизации. Содержит: ospf header, sequence number, lsa header.

Link-state request - отправляется роутером, когда тот понимает, что LSBD устарела. Содержит: ospf header, link-state type, link-state ID, advertising router.

Link-state update - отправляется на адрес: 224.0.0.5 (всем) или 225.0.0.6 (для DR). Отправляется либо в ответ на link-state request, либо если меняется информация о состоянии линка на локальном роутере. Передает одну или несколько LSA. Содержит: ospf header, numbers of advertisement, link-state avertisement.

Link-state acknowledgment - ответ на link-state update. Содержит: ospf header, list of LSA headers.

Соседи используют hello пакеты для установления и поддержания соседства.

Самое начало, ничего не происходит.

В hello-packet в списке соседей нет router-id маршрутизатора, получившего этот пакет.

Если маршрутизатор не переходит в состояние 2-Way, а скачет - down > init > down > init. вероятно на маршрутизаторах не совпали параметры:

В hello-packet в списке соседей появился RID роутера, получившего этот пакет.

Выборы DR и BDR маршрутизаторов производятся в момент первоначальной установки соседских отношений по следующим правилам:

  • Роутер с наибольшим приоритетом становится DR;
  • Роутер со вторым по величине приоритетом становится BDR;
  • Если роутеры имеют равный приоритет, то в качестве DR выбирается роутер с наибольшим RID, BDR-ом становится роутер со вторым по величине RID;
  • Роутер, с приоритетом равным нулю, не принимает участия в выборах DR и BDR;
  • Если после выбора DR и BDR в сегменте сети добавляется роутер с более высоким приоритетом или бОльшим RID, то повторные выборы не производятся;
  • Повторные выборы производятся только после того как DR или BDR становится недоступными.

Если маршрутизатор не переходит в следующее состояние, то вероятнее всего причина в несовпадении mtu на физических интерфейсах.

  • Hello interval - установление и поддержание соседства = 10sec для broadcast и p2p networks; 30 sec - для nonbroadcast multiple access (NBMA).
  • Dead - интервал, в течение которого не приходит hello, чтобы считать соседа неоперабельным = 40 sec.
  • LSA retransmission interval - когда роутер отправил LSA, он ждет 5 sec ответа от соседа, что LSA получен (LSA ACK). Если ACK не пришел - делается повторная передача LSA.
  • Transit-delay - устанавливает время, необходимое для передачи link-state update на интерфейсе = 1sec. Менять дефолтное значение не советуется.
  • LSA refresh - интервал обновления LSA = 50min. Если LSA не обновилась через 60min, то инфо о ней считается устаревшей и она пропадает из LSDB.

Когда делаешь clear ospf database purge как раз всем LSA устанавливается LSA refresh interval 60min (3600sec) и неактуальные сразу же сбрасываются.

Кстати, у по дефолту НЕ у Juniper LSA refresh interval = 30min.

  • ABR (Area border router): OSPF роутер, имеющий линки в двух area - соединяет и распространите инфо из OSPF area в backbone.
  • ASBR (AS boundary router): может находиться как внутри backbone или других area. Имеет подключения других external routing protocols и распространяет эту инфу по сети.
  • Backbone: хотя бы один линк внутри backbone area.
  • Internal: все линки внутри одной area, backbone - частный случай internal.

outside the area (INTER-area routing)

  • Внутренние маршруты area (intra-area) juniper preference = 10
  • Внешние маршруты (inter-area) juniper external-preference = 150

Метрика будет сравниваться только у маршрутов одного типа. Поэтому не всегда можно гарантировать forwarding согласно метрики. Не забываем про тип маршрута!

external metrics - применяются к префиксам из других AS.

  • TYPE 1 - учитывается external cost + cost в пути до граничного маршрутизатора.
  • TYPE 2 - учитывается только external cost. Этот тип используется по дефолту.

TYPE1 приоритетнее TYPE2. Далее учитывается стоимость самой метрики - чем меньше, тем приоритетнее.

  • reference-bandwidth - дефолтной расчет метрики из емкости интерфейса: cost = ref-bandwidth/bandwidth. По умолчанию ref-bandwidth = 100Mbit. Можно настроить свое значение, глобально для протокола.

Если устанавливаем metric вручную на интерфейсе, то дефолтное поведение перебивается для данного интерфейса.

Ненулевые area могут иметь один и тот же номер area, но такой подход - не правильный. При этом разные area с одним area-id не будут никогда считать себя одним сегментом сети.

area-id не передаются в LSA.

Если разбирать самые стандартные area (не stub, nssа и прочее):

  • area1 - area0 - area3 - ok. У всех area будет полная картина сети.
  • area1 - area2 - area3 - ok, только area2 будет иметь маршруты всей сети, а area1 и area3 будут иметь только свои маршруты + маршруты area2.
  • area1[1] - area0 - area1[2] - ok, НО конечно area1[1] будет видеть area1[2] как LSA3. Такой себе вариант.

backbone

Area 0 (к ней в обязательном порядке должны подключаться остальные area).

Но если area не имеет прямого физического подключения к backbone area, то она может соединяться с ней через virtual-link.

stub area

Обменивается маршрутами по ospf с ABR (LSA 3), не содержит с себе external routes, не принимает от ABR external routes (не принимает LSA 4,5). Доступность внешних маршрутов достигается анонсированием 0/0 со стороны ABR в сторону stub-area. Через stub-area нельзя построить virtual-link и в ней не может размещаться ASBR. Если все же сконфигурировать ASBR внутри stub-area, то роутер разместит LSA 5 в своей локальной базе данных, но не будет пересылать ее другим роутерам даже внутри area.

Все роутеры stub area должны быть сконфигурированы, как stub.

Чтобы появился 0/0, на ABR настраиваем:

stub with no summaries (totally stub)

В неё не анонсируется вообще никаких LSA. В area не вставляются LSA 3, 4, 5. По area гуляют только LSA 1 и LSA 2 [no-summaries как раз намекает на отсутствие LSA3]. Доступность маршрутов из остальных area достигается тем же анонсированием 0/0 со стороны ABR в сторону totally stub-area. И ASBR не флудит external routes в такой area. Также virtual-link не поддерживается в такой area.

not-so-stubby

Обменивается OSPF-маршрутами с ABR (LSA3), может содержать external routes (ASBR) - НО! в этой area external = LSA7 (NSSA). Не принимает external routes от ABR. (не принимает LSA 4,5). Внешние ресурсы также через 0/0 на ABR.

Конфигурация nssa делается на каждом роутере внутри area.

Анонс 0/0 настраивается на ABR:

Смотрим, что прилетело от ABR в NSSA area:

Если на ABR добавляем no-summaries, то 0/0 прилетит как LSA3 (а не LSA7 (NSSA)):

Чтобы при настроенном no-summaries 0/0 прилетал все же как LSA 7, то добавляем в конце type-7:

Все типы имеют одинаковый заголовок:

  • LS age - sec - время, когда LSA была впервые создана
  • Option - E-bit = External LSA, P bit = NSSA external LSA.
  • LS type.
  • Link-state ID - разные типы LSA используют поле по-разному.
  • Advertising router - роутер, который сгенерировал LSA.
  • LS sec number
  • LS checksum
  • Length

В выводе sh ospf database ID, отмеченный * - будет означать, что этот маршрут сгенерирован самим роутером.

  • Type 1 LSA (Router) — Описывает стоимость (metric) и состояние интерфейсов. Не передаются между Area. LSA1 = area scope.
  • Type 2 LSA (Network) — Отправляются DR. Описывает роутеры, подключенные в бродкаст сегменте + сам себя. Не передаются между area. В выводе sh ospf database: attached router = роутеры в бродкаст сегменте.
  • Type 3 LSA (Summary) — Отправляются ABR. Описывают сети, которые маршрутизатор получил из предыдущих типов LSA, и передает между Area. LSA будет флудиться каждому роутеру внутри area. ABR, получив LSA3 не перешлет ее другому ABR, а сгенерирует на основании полученной LSA3, LSA1, 2 новую LSA3, и уже ее передаст в соседние area. LSA3 = area scope.

Summary не означает агрегирование! ABR передает один в один LSA1 и LSA2 в другую area без какой-либо агрегации/суммаризации по дефолту.

  • Type 4 LSA (ASBR Summary) — Генерируются ABR, LSA содержит описание самих ASBR роутеров. В выводе sh ospf database: router.
  • Type 5 LSA (External) — Описывают сети, полученные из других протоколов маршрутизации ASBR-ами. Рассылаются ими же. В выводе sh ospf database: ID + mask = external networks.
  • Type 6 LSA (Group membership) — Не используется, некогда планировался под MOSPF.
  • Type 7 LSA (NSSA External) — Генерируются ASBR-ами в NSSA. Передаются только внутри NSSA. Но на выходе из зоны ABR-ами транслируются в LSA Type 5. В выводе sh ospf database: ID + mask = external networks.
  • Type 9 (Graceful restart) - поддерживает graceful restart.
  • Type 10 LSA (Traffic Engineering) — Содержат информацию, которая в последствии находится в TED и используется при работе CSPF-алгоритма.

LSA flooding scopes: LSA 1, LSA 2 - исключительно внутри area. LSA 3 - суммирует LSA 1 + LSA2 и передает эту инфу в соседнюю area. LSA 5 (external) - передаются по всему OSPF домену. LSA 4 (about ASBR) - по всему OSPF домену. LSA 7 (external in nssa) - только внутри nssa area.

Время жизни каждой LSA - 3600 sec (1 h).

Junos не поддерживает: LSA6, LSA8, LSA11

Можно вручную ограничить кол-во LSA: полезно в тех случаях, когда CE <> PE строится на OSPF.

Если на маршрутизаторах указаны разные типы интерфейсов, то они между собой соседство не поднимут.

Если после сети добавить

  • restrict - сети не просуммируются, а перестанут передаваться в backbone. То есть будет не передан и summary route и все вложенные в него сети.
  • override-metric - можно перезаписать значение ospf-метрики или ее тип.
  • exact - проадвертайзит только если в таблице маршрутизация будет четко такой же префикс.

Настраивается только на ABR. Здесь из area 10 будет передаваться суммированный маршрут в backbone:

Сразу после применения видно, что маршруты, сгенерированные ABR, и отправленные в area0 - скоро отвалятся.

. Такой метод будет работать только для summary LSA. Для суммирования external LSA можно сделать area 30 NSSA area и тогда area-range сработает (пример ниже), либо на роутере area3 создавать aggregate route и делать его export в protocols ospf.

  • Суммирование маршрутов от NSSA (LSA 7): аналогично работает и добавление restrict и override-metric и exact:
  • По дефолту в nssa будут передаваться LSA3 (summary) маршруты. Если нужно, LSA3 заменить на LSA7, то настраиваем:
  • Можно ограничить кол-во перфиксов, экспортируемых в OSPF.
  • GRES возможен.
  • BFD (Bidirectional Forwarding Detection) можно использовать для сокращения времени обнаружения аварии между роутерами.
  • Можно отложить процесс перерасчета SPF при изменении LSDB (дефолт - 200ms):
  • Metric - определяем желаемый интерфейс для прохождения пакета. Меньшая метика - приоритетнее.
  • Overload - выставляет метрики на интерфейсах = 65535. Если после перерасчета SPF для dest не нашлось обходных путей, роутер будет передавать транзитный трафик.
  • Topologies - можно использовать разные топологии для ipv4 unicast и ipv6 multicast. Для мультикаста и для юникаста с помощью метрик по-разному направлять трафик.
  • Traffic-engineering (MPLS):

По дефолту выключен. Включаем, чтобы LSP участвовали как линки при расчёте SPF. Также в LSA теперь будут заноситься параметры traffic-engineering'a:

  • Traceoptions - как и для всех протоколов можно включить для диагностики
  • Virtual-link. Как уже описывалось ранее, каждая area должна быть соединена с backbone area. Если у роутера нет физического линка до backbone, то делаем соединение через virtual-link.

В настройках всего 2 параметра: - transit-area, neighbor-id.

Ospf-virtual-link.jpg

virtual-link в SPF считается за обычный линк. Дополнительной стоимости не добавляет.

При этом, если у нас есть подобное включение: R1 (area 5) <> R2 (area 6) <> R3 (area 7). То area 5 и area 7 не будут видеть префиксы друг друга (будут видеть только area 6). А area 6 будет получать префиксы всех area.

OSPF3 router-id, area-id, LSA link-state ID - взяты из OSPFv2, то есть имеют тот же формат: IPV4 = 32bit.

link state 0.0.0.1, 0.0.0.2, .

По принципу работы не отличается от OSPFv2, но все же есть некоторый отличия:

Intra-area-prefix-LSA: передает internal prefix, требуется, т.к. LSA 1, 2 передают только инфо о топологии.

Link-LSA: передает link-local address и сети, прикрепленные к этому link.

Config

Realm

По дефолту OSPFv3 передает инфо только о IPv6 unicast маршрутах. Чтобы OSPFv3 мог передавать и другие family, в том числе и IPv4 unicast, IPv4 multicast, IPv6 multicast, включаем realm:

  • Hello
  • Database Description
  • Link-state Request
  • Link-state Update
  • Link-state Acknowledgment

Прежде чем перейдем к детальному разбору LSA, посмотрим на общим вид пакета:


В случае с LSU нас интересует блок данных Data. Первым полем размеров в 4 байта идет количество LSA, находящихся в этом блоке. Далее идут эти самые LSA-данные. В одном блоке данных можешь быть как один LSA, так и несколько LSA разных типов.

Маршрутизаторы рассылают LSA первого типа в каждую область, к которой роутер непосредственно подключен, за пределы области Router LSA не выходят.
Эти пакеты описывают сети, подключенные к конкретному роутеру, тип сетей и стоимость маршрута до них.


Рассмотрим вот такую схему:


Простой вариант: R2 и R3, подключенные через коммутатор, и vMX1, подключенный через p2p-линк к R3. Помимо IP-адресов на физических интерфейсах, анонсируются Loopback-адреса. Глянем более детально структуру Router LSA, отправляемого R3 в сторону R2:


Packet lentgh = размер OSPF-заголовка + размер LSU-блока

В нашем случае это будет:

Что сходится с тем, что указано в OSPF-заголовке. Поле Number of LSAs в нашем случае равно двум, что говорит о том, что у нас пакет содержит 2 разных LSA. Заглянем внутрь первого LSA-type 1:


Интересующие нас поля:

  • LS Type: Router-LSA (тип LSA)
  • Link State ID: 10.0.0.1 (идентификатор LSA, в случае с LSA1 Link State ID равен ID роутера, рассылающего LSA )
  • Advertising Router: 10.0.0.1 (ID роутера, анонсировавшего данные сети)
  • Number of Links: 3 (количество описанных сетей в данном LSA)

После этого, собственно, идет описание сетей. Стоит обратить внимание, что сети отличаются полем Type. От его значения зависят поля ID и Data:

Если заглянем во второй LSA1, увидим аналогичную информацию:


Помимо вышеперечисленных полей, есть поле Metric, которое описывает стоимость маршрута до указанной сети (ospf cost). Значение поля зависит от расстояния до сети назначения и пропускной способности интерфейсов.

Чтобы просмотреть информацию в базе данных состояния каналов на оборудовании Cisco и Juniper, нужно выполнить следующие команды (в примерах использованы абсолютно одинаковые сети, чтобы можно было визуально сравнить данные):

Аналогичные команды на Juniper:

root@vMX2> show ospf database (посмотреть всю базу) root@vMX2> show ospf database router detail (только LSA1)

LSA второго типа генерируются для широковещательного и NBMA сегментов сети (тип ospf-интерфейсов выставлен как broadcast или nbma/non-broadcast). Чаще на практике встречается broadcast-сети. Распространяются Network LSA2 также в пределах одной OSPF-области.



В данном случае широковещательным сегментом сети будет сеть между роутерами R2, R3 и R4, подключенных через коммутатор. Интерфейсы роутеров находятся в одной сети 192.168.0.0/24.

Заглянем внутрь LSU, приходящего от R3 к vMX1:


LSA-type 2 содержит в себе следующие интересующие нас поля:

  • LS Type: Network-LSA (тип LSA)
  • Link State ID: 192.168.0.4 ( идентификатор LSA, в случае с LSA2 Link State ID равен IP-адресу широковещательного интерфейса выделенного роутера DR)
  • Advertising Router: 10.0.0.4 (Router ID DR)
  • Netmask: 255.255.255.0 (маска подсети)
  • Attached Router: 10.0.0.4, 10.0.0.3, 10.0.0.2 (роутеры, находящиеся в данном широковещательном сегмент)

Таким образом, заглянув внутрь LSA2-пакета, можно узнать адрес Designated Router, а также маршрутизаторов, находящемся в том же широковещательном сегменте, что и DR.

Увидеть LSA2 на оборудовании можно с помощью команд:

Juniper: root@vMX3> show ospf database network detail

LSA третьего типа генерируются и отправляются только ABR (Area Border Router) маршрутизаторами. Используется для передачи информации о сетях из одной OSPF-области в другую. LSA распространяется только в пределах области, в которую он был анонсирован.


Рассмотрим следующую схему:


В данном случае в качестве ABR выступает R4, поскольку он принадлежит area 0 и area 1 одновременно. Посмотрим Summary LSA, отправляемые R4 к R5:


Рассмотрим более детально первый и последний LSA3:


Нас интересуют следующие поля:

  • LS Type: Summary-LSA (тип LSA)
  • Link State ID: 192.168.1.0 (идентификатор LSA, в случае с LSA3 равен адресу анонсируемой сети)
  • Advertising Router: 10.0.0.4 (Router ID ABR)
  • Netmask: 255.255.255.252 (маска анонсируемой сети)
  • Metric: 20 (стоимость ospf-маршрута)

Рассмотрев более детально вышеуказанные LSU видно, что в первом LSA3 анонсируется loopback-адрес роутера R2 (10.0.0.2/32), а в последнем IP-адрес интерфейса e0/1 (192.168.1.0/30). В обоих случаях Advertising Router 10.0.0.4, поскольку он является ABR.

Просмотр LSA не железе:

Juniper: root@vMX5> show ospf database netsummary detail

LSA четвертого типа описывают местонахождение ASBR-маршрутизатора (маршрутизатора, который импортирует в OSPF внешние маршруты). LSA4 генерируются ABR-роутерами и распространяются по всему OSPF-домену.


Рассмотрим такую схему:


От предыдущего примера она отличается только тем, что на R5 у нас теперь будет прописан статический маршрут, а затем импортирован в OSPF-процесс.

Посмотрим, как R4 получает информацию от R5 о внешнем маршруте:


Теперь посмотрим, как получает информацию об этом роутер R3:


Поля, на которые стоит обратить внимание:

  • LS Type: Summary-LSA (ASBR)
  • Link State ID: 10.0.0.5 (идентификатор LSA, в случае с LSA4 равен Router ID ASBR)
  • Advertising Router: 10.0.0.4 (ID маршрутизатора, который анонсирует данный LSA)
  • Netmask: 0.0.0.0 (маска сети, в случае с LSA4 не играет роли и всегда равна 0.0.0.0)
  • Metric: 10 (стоимость маршрута до сети)

Проверка ABSR на Cisco выглядит так:

LSA пятого типа описывают сети, импортированные в OSPF-процесс ASBR-маршрутизатором. Генерируются им же и распространяются по всему OSPF-домену.


Схему сети возьмем из предыдущего примера:

Это изображение имеет пустой атрибут alt; его имя файла - image-9.jpg

Сейчас R5 анонсирует в OSPF-процесс статический маршрут 10.200.0.0/24. Посмотрим, что прилетает внутри Link State Update на R4:


Интересующие нас поля:

И в таком виде LSA5 распространяется по всему OSPF-домену.

На оборудовании LSA5 можно увидеть при помощи команд:

Juniper: root@vMX3> show ospf database asbrsummary detail

В качестве Link State ID используется адрес мультикастовой группы, а в качестве Advertising Router, который, собственно, этот LSA6 и генерирует.

Широко MOSPF не используется и мало каким вендором поддерживается. Например, Cisco, Juniper и Huawei MOSPF не могут, да и зачем, когда есть PIM и MSDP?

Как и LSA5, LSA седьмого типа описывают сети, импортированные в OSPF-процесс ASBR-маршрутизатором. Отличие лишь в том, что ASBR находится внутри NSSA-области. Распространяется LSA7 в пределах области NSSA, затем на ABR преобразуется в LSA5 и дальше по всему OSPF-домену


Для примера возьмем сеть из LSA5, но area 1 в этом случае будет NSSA:



Заглянем внутрь LSU, прилетающего на R4 с R5.


Как и в случае с LSA5, сначала на роутер приходит LSA1 с выставленным флагом ASBR и NSSA (NSSA был выставлен на этапе установления соседства).

После анонсирования LSA1 роутер R5 следом отправляет LSA7:


Как видим, поля аналогичны тем, что были в LSA 5 типа, за исключением того, что в поле Forwarding Address появился IP-адрес ASBR-маршрутизатора. Ну и, конечно же, сам LS Type стал AS-External-LSA.

После попадания на ABR пакет LSA7 преобразуется в LSA5 и распространяется по оставшейся части OSPF-домена. Вот в таком виде он доходит до R3:


Это все тот же типичный LSA5, говорящий о том, что сеть 10.200.0.0/24 находится на роутере 10.0.0.5 (R5). Сам же пакет анонсирован роутером 10.0.0.4 (R4).

Увидеть NSSA можно, используя команды:

Juniper: root@vMX4> show ospf database nssa detail

LSA восьмого типа используются для транспортировки по OSPF-домену атрибутов BGP-маршрутов, импортированных в OSPF с помощью ASBR.

Как правило, opaque LSA используются для расширения функционала OSPF, позволяя ему передавать информацию, о которой OSPF изначально не заботится. Самое основное практическое применение Opaque LSA заключается в использовании MPLS Traffing Engineering.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

LSA содержат в себе информацию о маршруте передается внутри Link State Update (LSU) пакета. Каждый LSU пакет содержит в себе один или несколько LSA, и когда LSU отправляется между маршрутизаторами OSPF, он распространяет информацию LSA через сеть. Каждый LSA используется в определенных границах сети OSPF.

ТИПЫ LSA

OSPF в настоящее время определяет 11 различных типов LSA, однако, несмотря на большое разнообразие LSA, только около половины из них обычно встречаются в сетях OSPF, но мы рассмотрим их все.

LSA ТИП 1 – OSPF ROUTER LSA

Пакеты LSA Type 1 (Router LSA) отправляются между маршрутизаторами в пределах одной и той же зоны (area) где они были созданы и не покидают эту зону. Маршрутизатор OSPF использует пакеты LSA Type 1 для описания своих собственных интерфейсов, а также передает информацию о своих соседях соседним маршрутизаторам в той же зоне.


LSA ТИП 2 – OSPF NETWORK LSA

Пакеты LSA Type 2 (Network LSA) генерируются Designated Router’ом (DR) для описания всех маршрутизаторов, подключенных к его сегменту напрямую. Пакеты LSA Type 2 рассылаются между соседями в одной и той же зоны где они были созданы и остаются в пределах этой зоны.


LSA ТИП 3 – OSPF SUMMARY LSA


На рисунке показано как маршрутизатор R2 ABR создает Type 3 Summary LSA и отправляет их в зону Area 0. Таким же образом R3 ABR роутер создает пакеты Type 3 и отправляет их в Area 2. В таблице маршрутизации маршруты, полученные таким образом, отображаются как “O IA”

LSA ТИП 4 – OSPF ASBR SUMMARY LSA


На схеме, когда R2 (ABR) принимает пакет LSA Type 1 от R1, он создаст пакет LSA Type 4 (Summary ASBR LSA), который передает маршрут ASBR, полученный из Area 1, и вводит его в Area 0. Хотя пакеты LSA Type 4 используются ABR для объявления маршрута ASBR через их зоны, он не будет использоваться самим ASBR в пределах его локальной зоны (Area 1); ASBR использует LSA Type 1 для информирования своих соседей (в данном случае R2) в своих сетях.

LSA ТИП 5 – OSPF ASBR EXTERNAL LSA

Пакеты LSA Type 5 (ASBR External LSA) генерируются ASBR для передачи внешних перераспределенных маршрутов в автономную систему (AS) OSPF. Типичным примером LSA Type 5 будет внешний префикс или маршрут по умолчанию (default router), как показано на схеме.


LSA ТИП 6 – OSPF GROUP MEMBERSHIP LSA

Пакеты LSA Type 6 (Group Membership LSA) были разработаны для протокола Multicast OSPF (MOSPF) , который поддерживает многоадресную маршрутизацию через OSPF. MOSPF не поддерживается Cisco и не пользуется широкой популярностью.

LSA ТИП 7 – OSPF NOT SO STUBBY AREA (NSSA) EXTERNAL LSA

Пакеты LSA Type 7 (NSSA External LSA) используются для некоторых специальных типов зон, которые не позволяют внешним распределенным маршрутам проходить через них и таким образом блокируют распространение в них LSA Type 5. LSA Type 7 действуют как маска для LSA Type 5 пакетов, позволяя им перемещаться по этим специальным зоам и достигать ABR, который может переводить пакеты LSA Type 7 обратно в пакеты LSA Type 5.


На схеме ABR R2 переводит LSA Type 7 в LSA Type 5 и рассылает его в сеть OSPF.

LSA ТИП 8 – OSPF EXTERNAL ATTRIBUTES LSA (OSPFV2) / LINK LOCAL LSA (OSPFV3)

Пакеты LSA Type 8 в OSPFv2 (IPv4) называются внешними атрибутами LSA и используются для передачи атрибутов BGP через сеть OSPF, в то время как адреса BGP передаются через LSA Type 5 пакеты, однако, эта функция не поддерживается большинством маршрутизаторов. С OSPFv3 (IPv6) , LSA Type 8 переопределяется для передачи информации IPv6 через сеть OSPF.

LSA ТИП 9, 10 И 11

Обычно LSA этих типов используются для расширения возможностей OSPF. Практическое применение этих LSA заключается в Traffic Engineering’е MPLS, где они используются для передачи параметров интерфейса, таких как максимальная пропускная способность, незанятая полоса пропускания и т.д.

LSA ТИП 9 – OSPF LINK SCOPE OPAQUE (OSPFV2) / INTRA AREA PREFIX LSA (OSPFV3)

LSA Type 9 в OSPFv2 (IPv4) определяется как Link Scope Opaque LSA для передачи OSPF информации. Для OSPFv3 он переопределяется для обработки префикса связи для специального типа зоны, называемого Stub Area.

LSA ТИП 10 – OSPF AREA SCOPE OPAQUE LSA

Пакеты LSA Type 10 используются для потоковой передачи информации OSPF через маршрутизаторы других областей. Даже если эти маршрутизаторы не обрабатывают эту информацию, чтобы расширить функциональность OSPF, этот LSA используется для Traffic Engineering’а для объявлений MPLS и других протоколов.

LSA ТИП 11– OSPF AS SCOPE OPAQUE LSA

Пакеты LSA Type 11 выполняют ту же задачу, что и пакеты LSA Type 10, но не пересылаются в специальные зоны (Stub зоны)


Протокол OSPF, наряду с IS-IS, принадлежит к классу протоколов маршрутизации Link State. Принципы этого класса заключается в том, что в памяти маршрутизатора помимо всех оптимальных маршрутов в удаленные сети должна быть полная карта сети, в том числе с действующими связями между другими маршрутизаторами. OSPF изначально создавался как открытый протокол, что сделало его самым распространенным среди протоколов маршрутизации. Его алгоритм позволяет достаточно легко выстраивать стек протоколов для OSPF. Поэтому для специалистов, имеющих отношение к сетям, важно понимание, по крайней мере, общих принципов его работы.

Разберем, что такое сетевой протокол OSPF для чайников.

Принцип работы OSPF

Работа протокола OSPF строится по следующему алгоритму:

  1. Маршрутизаторы производят обмен малыми пакетами HELLO.
  2. После выполнения обмена между ними устанавливаются соседства. Каждый из маршрутизаторов добавляет в специальную локальную таблицу соседей.
  3. Маршрутизаторы выполняют сбор состояний своих связей с соседями (линков). Линки включают id самого маршрутизатора и соседа, сеть и префикс, тип сети и метрику (стоимость линка). После сбора состояний маршрутизатор формирует пакет LSA (Link State Advertisement).
  4. LSA рассылается каждому соседу, который передает пакет дальше по сети.
  5. После получения пакета LSA каждый маршрутизатор добавляет содержащуюся в нем информацию в локальную таблицу LSDB (Link State Database).
  6. В таблице LSDB накапливаются данные обо всех парах маршрутизаторов в пределах сети.
  7. На основании накопленных данных выстраивается полная карта сети, которая включает все действующие маршрутизаторы и образованные между ними связи.
  8. Используя карту, каждый маршрутизатор выполняет поиск самых коротких маршрутов во все сети и формирует из них таблицу маршрутизации.

Учитывая ресурсоемкий и сложный принцип работы OSPF, от каждого маршрутизатора требуется достаточно высокая производительность и значительный объем оперативной памяти.

В случае разрыва связи с соседом у одного из маршрутизаторов, он отправляет по сети новые пакеты LCA, и повторяется вся процедура формирования таблицы маршрутизации. Чтобы исключить постоянный пересчет в крупных сетях с большим количеством маршрутизаторов, в них применяют разделение на отдельные зоны. В каждой из них выполняются автономные вычисления с передачей между зонами только итогового результата. В любой конфигурации OSPF должна присутствовать корневая зона с индексом 0. Малые сети обычно помещаются в ее пределах, а для больших — требуется формирование дополнительных зон.

Пакет OSPF помещается в пакет IP с мультикастовым адресом получателя. Отправителю же в нем соответствует адрес маршрутизатора. Пакет помещается в мультикастовый фрейм, например, в Ethernet. При формировании списков контроля доступа нужно учитывать, что OSPF инкапсулируется непосредственно в IP, а не в UDP или TCP.

Hello пакеты отправляются с установленной периодичностью. По умолчанию она составляет 1 раз в 10 секунд для сетей BMA и point-to-point и 1 раз в 40 секунд для сетей NBMA. Также существует понятие Dead-интервала, который по умолчанию равняется 4 Hello-интервалам. Если в течение этого периода маршрутизатор не получает ни одного пакета, то он считает, что сосед отключился. За этим следует пересчет и обновление таблицы маршрутизаторы.

ID маршрутизатора в OSPF

Учитывая, что при построении карты сети маршрутизаторами в качестве узлов выступают другие маршрутизаторы, большое значение имеет наличие у каждого из них уникального имени. Для определения такого имени используется поле Router ID.

Идентификатор записывается в виде IP-адреса IPv4. Неважно, какое он примет значение, главное, чтобы он был уникальным в пределах этой сети. ID маршрутизатора в OSPF можно задать вручную. Если он не задан, то будет присвоен автоматически.

Принцип работы протокола OSPF предусматривает следующий алгоритм назначения ID маршрутизатора:

  1. В случае явного задания идентификатора командой router-id, используется назначенный вручную ID.
  2. В случае если не было ввода router-id, присваивается больший адрес из настроенных на маршрутизаторе loopback интерфейсов.
  3. При отсутствии loopback интерфейсов принимается больший адрес из всех включенных на маршрутизаторе интерфейсов.

Для определения большего адреса используется прямое сравнение по октетам слева направо.

Работа OSPF в сетях с множественным доступом

К основным проблемам OSPF можно отнести работу протокола в сетях с множественным доступом. Распространена топология, при которой множество маршрутизаторов объединяются не через последовательное подключение друг к другу, а через общую сеть. Теоретически OSPF должен выстраивать соседства в пределах общей сети на основе принципа «каждый с каждым». Однако это требует формирования огромных таблиц, работа с которыми сильно перегружает процессор и память.

Решение этой проблемы достигается посредством механизма выбора Designated Router (DR) и Backup Designated Router (BDR), которые представляют собой роли маршрутизаторов. В сети с множественным доступом, к которой подключены более 2 маршрутизаторов, один из них назначается на роль DR, а второй — на роль BDR. При отправке любым маршрутизатором какого-либо пакета, он поступает не всем устройства в сети, а подается на отдельный мультикастовый адрес, доступный только DR и BDR. В свою очередь, DR рассылает пакет всем маршрутизаторам в сети. Такое посредничество значительно снижает нагрузку. BDR выполняет резервную функцию и моментально принимает роль DR при его отключении. После этого среди остальных маршрутизаторов сразу выбирается новый BDR.

Метрика в OSPF

Открытый протокол маршрутизации не устанавливает отдельных требований к расчету метрики и оценки маршрутов. Его стандарт определяет стоимость каждого линка. В случае прохождения маршрута через несколько линков их стоимость суммируется. Оптимальным признается маршрут с наименьшей стоимостью. При этом принципы подсчета стоимости линка зависят от принципов, примененных конкретным производителем сетевого оборудования.

Например, Cisco применяет два варианта расчета стоимости.

В первом случае стоимость линка рассчитывается как обратная величина от его скорости (1000 — для 1 Мбит, 100 — для 10 Мбит, 10 — для 100 Мбит, 1 — для 1 Гбита и т. д.). Этот вариант подойдет при условии, что все маршрутизаторы будут считать стоимость по данному алгоритму, аэто требует использование только устройств Cisco.

Второй способ предусматривает задание стоимости администратором на основе собственного определения качества линка. Этот вариант используют в тех случаях, когда качество линка определяется не одной только его скоростью. В том числе метрика может быть завышена для линка, на котором чаще других появляются ошибки или осуществляется тарификация трафика. Этот способ применим в сетях, где установлены маршрутизаторы разных производителей.

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

Принцип действия протокола OSPF предусматривает использование следующих типов маршрутизаторов:

  • IR (Internal Router) — это внутренний маршрутизатор, у которого все интерфейсы ассоциированы только с одной определенной областью.
  • ABR (Area Border Router) — устанавливается в нулевой зоне для обеспечения связи с другими зонами.
  • ASBR (Autonomous System Boundary Router) — обеспечивает объединение автономных систем для обмена маршрутами.

Отдельно следует выделить описанные выше типы маршрутизаторов DR, BDR, обеспечивающие работу протокола в сети с множественным доступом при минимальных нагрузках на оборудование. Маршрутизатор DR в этой паре является основным, а BDR — резервным.

Читайте также: