Теория протокола OSPF. Протокол ospf Протокол ospf

Описание из Вики: OSPF(англ. Open Shortest Path First) - протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.

Для чего нужен OSPF и как применять его на сетях, построенных на Mikrotik RouterOS, мы и рассмотрим в этой статье.

Описание работы протокола OSPF

Все, кто работал с сетями, имеющими более одной подсети (провайдеры, компании с филиалами, несколько vlan и т.д.) знают о необходимости существования маршрутов из одной сети в другую. Иначе пакеты в соединении будут просто улетать на шлюз по умолчанию и дропаться где-то в интернете.

Для тех же, кто с этим не знаком, поясню. Представьте, что мы внезапно захотели попасть из Челябинска в Киев, не имя при этом ни карты, ни навигатора. Поедем по указателям — не зря же их ставили.

Таким образом посмотрев на 10-20-100 укзателей мы рано или поздно доберемся до Киева — пакет от отправителя ушел к адресату. Сделали там все свои дела и захотели обратно домой в Челябинск — приложение обработало пакет и отправило ответ инициатору соединения. Но дорогу то мы не помним (в пакете нет никаких данных о прохождении пути. На самом деле есть намеки на это, но с помощью них нельзя восстановить путь пакета). Не беда — поедем по указателям.

Так же как и в первый раз мы каким-то образом вернемся в точку, из которой выехали. Причем, очень важно то, что вернуться мы можем по другим дорогам — на каких то начали укладывать асфальт за время нашего пребывания в Киеве и поставили знаки объезда, где-то просто затор и мы решили объехать по менее нагруженным трассам. Но мы все равно доберемся до места, пусть и затратив большее время.

Итак, мы, инкапсулированные в автомобиль — это данные, инкапсулированные в IP-пакет. Перекрестки на дороге — маршрутизаторы, подключенные к разным сетям (дорогам). А указатели на перекрестках — таблицы маршрутизации отдельных маршрутизаторов, знающие куда повернуть, чтобы попасть в ту или иную точку. И если в одну сторону мы доедем по указателям, а в другую указателей не будет, то пиши пропало — до исходной точки не доберемся. Значит, маршруты до общающихся сетей должны быть прописаны на обеих сторонах. И очень важно понимать, что дорог-маршрутов может быть несколько. И если один перекресток-маршрутизатор в ремонте, то предыдущий может послать нас в объезд, но сначала он должен узнать, что его сосед сломался. И если мы ездим по разным дорогам, значит и время пинга у нас будет разное.

Итак, с маршрутами разобрались. Теперь поговорим о дорожниках, ставящих указатели.

Статические указатели на дорогах — хорошо. Но расстояние между Челябинском и Киевом 2400 км. А значит и указателей должно быть не меньше 24 — по одному на каждые 100 км. И если на одном из перекрестков идет ремонт, необходимо внести изменения на два смежных указателя. А вероятность одновременного ремонта на 24 перекрестах весьма высока. То есть нужна отдельная бригада дорожников, меняющих указатели.

Было бы неплохо соединить все указатели в сеть и позволить им самим оценивать ситуацию на своих участках и передевать эти данные между собой. К сожалению великие и ужасные службы обслуживания дорог об этом ещё не додумались, да и вряд ли это надо — деньги то пилить не получится. А вот айтишники придумали технологии, позволяющие динамически изменять таблицы маршрутизации и обмениваться этой информацией. Эти технологии называются Протоколы Динамической Маршрутизации. И один из них — OSPF, предназначенный для обмена информацией внутри одной автономной системы — AS.

Настрока протокола OSPF на оборудовании Mikrotik

Термины и работа OSPF хорошо описаны в вики микротика. Но я осмелюсь кое-что повторить и перефразировать.
Допустим, есть следующая сеть:

Как видим, к сети 172.16.1.0 можно попасть двумя путями: через R2 и через связку R3+R4. Cost’ы, написанные возле каждого линка задают стоимость линка, своеобразный аналог параметра distance в ip-route. Чем ниже значение cost’а, тем выше вероятность того, что трафик пойдет по этому пути. Но как видно на следующем рисунке суммарная стоимость обоих маршрутов к сети 172.16.1.0 составляет 20. Так по какому же пути пойдет трафик?

В таком случае в таблице маршрутизации увидим примерно такую картину — к одной сети имеем два шлюза. И трафик должен пойти через оба шлюза. В этом случае мы можем управлять тем, куда пойдет трафик. Называется эта технология Policy Based Routing, но тема управления трафиком — это совсем другая история.

Сделать, чтобы OSPF “заработал” в Mikrotik RouterOS очень просто — нужно лишь добавить в backbone на каждом роутере в Routing — OSPF — Networks все ваши сети, между которыми вы хотите динамическую маршрутизацию и “оно заработает”.

Но мы ведь хотим управлять процессом. Тот, кто не хочет управлять дальше может не читать. Остальным — добро пожаловать!

Пример организации протокола OSPF

Рассматривать будем сеть, типичную для организации с несколькими филиалами. Имеем центральный офис (Headquarter на схеме, для краткости будем звать его ЦО) с сетью 192.168.0.0/24 (что я, кстати, не рекомендую при дефолтных настройках OSPF. Почему — скажу ниже). В ЦО расположены все основные элементы инфраструктуры — контроллер домена, сервер удаленного доступа, почтовый сервер и т.д. Все филиалы должны иметь доступ ко всем этим сервисам.

Несколько филиалов (Branche на схеме, для краткости — СП — Структурное Подразделение) с адресами 192.168.X.0/24. Между ЦО и каждым СП шифрованный туннель SSTP (или любой другой VPN) — адреса в туннелях из подсети 192.168.255.0/24 (192.168.255.10 — ЦО, 192.168.255.1 — СП1, 192.168.255.2 — СП2, …). Между филиалами связь не нужна, т.к. все службы в ЦО. Когда филиалов 3, нам легко добавить 3 маршрута на роутер в ЦО и по одному на каждый из роутеров СП. Итого 6 движений мышкой. А что если СП у нас не 3, а 33 и необходимы маршруты от каждого каждому, а ещё есть подрядчики с доступом к нескольким СП? Тут и приходит на помощь OSPF.

Кому надо “быстро и все равно как оно работает”, могут пойти по схеме, предложенной выше — добавить в backbone все свои сети.

Добавление сетей в Backbone

Почему именно backbone? Backbone в переводе с английского — хребет, позвоночник. OSPF оперирует понятиями Area (область), Autonomous System (AS, автономная система). AS — все сети, которые принадлежат вам и между которыми может работать ваш протокол динамической маршрутизации. Area — часть этой сети. На картинке ниже показана одна AS с тремя Area, одна из которых — backbone (Area 0 с ID 0.0.0.0). Каждая Area имеет свой ID, похожий на IP адрес. Backbone всегда имеет ID 0.0.0.0. Все области в OSPF должны иметь линк с backbone. Иначе ничего работать не будет.

В нашем примере мы решили долго не думать и загнать все в backbone. По большому счету это ничем не грозит и работать будет. Но если провайдер отдает одному из ваших филиалов частный адрес из 192.168.0.0/16 (192.168.18.27/29, например), то в вашей таблице маршрутизации появится сеть провайдера. И если кто-то с другой стороны провайдера использует такие же настройки (или просто указал маршрут к вашим сетям), то он сможет беспрепятственно попасть в вашу сеть. А уж случайно это сделали или намеренно — узнаете когда данные из вашей БД всплывут в интернете.

Или указать, что интерфейс, смотрящий к провайдеру будет в пассивном режиме.

Настройка OSPF в ручном режиме

Теперь поговорим о том, как сделать “правильно” — не вещать свои сети куда попало и позволить грамотно траблшутить работу OSPF.
Как мы говорили выше, каждая область имеет свой ID. Также и каждый участник OSPF имеет свой ID. По умолчаню он выставляется автоматически и выбирается из IP адресов, присвоенных интерфейсам роутера. Но нам надо проставить его в ручную, чтобы была какая-то логика в именовании и мы всегда знали откуда пришел запрос. Ставится это в Routing — OSPF — Instances — Router ID.

В нашей схеме имеется несколько областей. Как мы выяснили, основная область, соединяющая все остальные — backbone. Именно в этой области летают пакеты от одного роутера к другому, позволяющие обмениваться маршрутной информацией. Значит, этой областью должны быть туннели, соединяющие СП и ЦО, что видно на рисунке ниже.

Таким образом, нам необходимо выделить на каждом маршрутизаторе по две зоны — backbone и свою локальную сеть. На примере ЦО:
routing ospf area add name=Area0 area-id=192.168.0.0
routing ospf network add area=Area0 network=192.168.0.0/24
routing ospf network add area=backbone network=192.168.255.0/24

И точно так же на остальных маршрутизаторах, только заменив Area-ID, Area name и network на свои.

Теперь на каждом маршрутизаторе можем увидеть маршруты ко всем остальным сетям с буквами D и o в описании, что означает, что эти маршруты D — динамические (прилетели в резудльтате работы протоколов динамической маршрутизации) и o — из протокола OSPF.

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

Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути (Open Shortest Path Fisrt - OSPF) является протоколом маршрутизации, разработанным для сетей IP рабочей группой Internet Engineering Task Force (IETF), занимающейся разработкой протоколов для внутрисистемных роутеров (interior gateway protocol - IGP).

Как видно из его названия, OSPF имеет две основных характеристики. Первая из них-это то, что протокол является открытым, т.е. его спецификация является общественным достоянием. Второй его главной характеристикой является то, что он базируется на алгоритме SPF. Алгоритм SPF иногда называют алгоритмом Dijkstra по имени автора, который его разработал.

Основы технологии

OSPF является протоколом маршрутизации с об"явлением состояния о канале (link-state). Это значит, что он требует отправки об"явлений о состоянии канала (link-state advertisement - LSA) во все роутеры, которые находятся в пределах одной и тойже иерархической области. В oб"явления LSA протокола OSPF включается информация о подключенных интерфейсах, об использованных показателях и о других переменных. По мере накопления роутерами OSPF информации о состоянии канала, они используют алгоритм SPF для расчета наикратчайшего пути к каждому узлу.

Являясь алгоритмом с об"явлением состояния канала, OSPF отличается от RIP и IGRP, которые являются протоколами маршрутизации с вектором расстояния. Роутеры, использующие алгоритм вектора расстояния, отправляют всю или часть своей таблицы маршрутизации в сообщения о корректировке маршрутизации, но только своим соседям.

В отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным об"ектом в этой иерархии является автономная система (Autonomous System - AS) AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.

Любая AS может быть разделена на ряд зон или областей(area). Зона - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких зонах. Такие роутеры, которые называются пограничными областными роутерами (area border routers), поддерживают отдельные топологические базы данных для каждой области.

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

Термин "домен" (domain) исользуется для описания части сети, в которой все роутери имеют идентичную топологическую базу данных. Термин "домен" часто используется вместо AS.

Топология области является невидимой для об"ектов, находящихся вне этой области. Путем хранения топологий областей отдельно, OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области.

Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях. Маршрутизация внутри области имеет место в том случае, когда источник и пункт назначения находятся в одной области; маршрутизация между областями - когда они находятся в разных областях.

Магистральная часть OSPF (backbone) отвечает за распределение маршрутной информации между областями. Она включает в себя все роутеры границы области, сети, которые не принадлежат полностью како-либо из областей, и подключенные к ним роутеры. На Рис 1 представлен пример об"единенной сети с несколькими областями.

На этом рисунке роутеры 4, 5, 6, 10, 11 и 12 образуют магистраль. Если хост Н1 Области 3 захочет отправить пакет хосту Н2 Области 2, то пакет отправляется в роутер 13, который продвигает его в роутер 12, который в свою очередь отправляет его в роутер 11. Роутер 11 продвигает пакет вдоль стержня к роутеру 10 границы области, который отправляет пакет через два внутренних роутера этой области (роутеры 9 и 7) до тех пор, пока он не будет продвинут к хосту Н2.

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

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

Граничные роутеры AS, использующие OSPF, узнают о внешних маршрутах через протоколы внешних роутеров (EGPs), таких, как Exterior Gateway Protocol (EGP) или Border Gateway Protocol (BGP), или через конфигурацию.

Аннотация: Рассмотрены принципы функционирования протокола динамической маршрутизации по состоянию канала. Приведены основные характеристики протокола OSPF. Рассмотрены основы конфигурирования динамической маршрутизации на базе протоколов маршрутизации OSPF2 в сетях IPv4 и OSPF3в сетях IPv6. Проанализированы таблицы маршрутизации.

4.1. Общие сведения о протоколе OSPF

Протокол состояния канала (Link-state) Open Shortest Path First (OSPF) предназначен для работы в больших гибких составных сетях, где обмен маршрутной информацией между множеством маршрутизаторов потребовал бы значительных вычислительных ресурсов и пропускной способности сети. Поэтому большая сеть делится на области или зоны (area) , внутри которых и происходит рассылка обновлений (модификаций) при изменениях в сетевой топологии. Использование OSPF внутри определенной области, в которой маршрутизаторы разделяют маршрутную информацию между собой ( рис. 4.1), снижает нагрузку на сеть .


Рис. 4.1.

Областей (зон) может быть несколько, среди которых нулевая область (area 0) является главной или единственной. Остальные зоны взаимодействуют с нулевой областью, а напрямую между собой не взаимодействуют. Взаимодействие периферийных областей с магистральной (area 0 ) производится через пограничные маршрутизаторы ABR ( рис. 4.1). Далее рассматривается случай единственной области area 0.

Протокол OSPF оперативно реагируют на изменения в сети, обеспечивая быструю сходимость . Он может работать с оборудованием разных фирм производителей, и потому получил широкое распространение. Административное расстояние протокола OSPF равно 110 (см. табл. 1.1).

Протокол OSPF формирует три базы данных , на основе которых создает соответствующие таблицы:

  1. База данных смежности (adjacency database) позволяет сформировать таблицу соседних устройств (neighbor table), содержимое которой можно посмотреть по команде show ip ospf neighbor .
  2. На основе базы данных о состоянии каналов (Link-State Data Base - LSDB ) формируется таблица топологии сети (topology table), проверяемая по команде show ip ospf database . После схождения сети базы данных о состоянии каналов LSDB должны быть одинаковы
  3. На основе базы LSDB и базы данных смежности формируется база пересылки и создается таблица маршрутизации , которую можно посмотреть по команде show ip route .

В основе протокола OSPF лежит алгоритм Дийкстра (Dijkstra), обеспечивающий выбор кратчайшего пути (shortest path ) к адресату назначения. Протокол OSPF не проводит периодический обмен объемными обновлениями ( update ) маршрутной информации для снижения нагрузки на сеть , и характеризуется быстрой сходимостью .

Сходимость или конвергенция ( convergence ) сети достигается, когда базы данных о состоянии каналов LSDB одинаковы у всех маршрутизаторов области.

Для обмена маршрутной информацией между устройствами протокол OSPF использует пять типов пакетов:

  1. Пакет приветствия Hello .
  2. Пакет описания базы данных Data Base Description - DBD .
  3. Пакет запроса Link-State Request - LSR .
  4. Пакет обновлений Link-State Update - LSU .
  5. Пакет подтверждения Link-State Acknowledgment - LSAck .

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

Различают три типа сетей:

  1. Широковещательные с множественным доступом (Broadcast multi-access), например Ethernet.
  2. Сети типа точка-точка (Point-to-point).
  3. Нешироковещательные с множественным доступом (Non broadcast multi-access - NBMA), например, сети Frame Relay, ATM.

В сетях первых двух типов период рассылки Hello-пакетов - 10 секунд, а в сетях NBMA - 30 сек. Период простоя (Dead Interval ) - в четыре раза больше. Если в течение периода простоя от соседнего устройства не пришло ни одного Hello-пакета, то считается, что устройство прекратило функционирование. Протокол OSPF удалит не отвечающего соседа из базы данных LSDB . При рассылке Hello-пакетов в сетях IPv4 используется адрес 224.0.0.5 многоадресного режима без подтверждения доставки. В сетях IPv6 для рассылки используется адрес FF02::5 .

Пакет DBD содержит сокращенный список базы данных передающего маршрутизатора и используется принимающим маршрутизатором для синхронизации (проверки) своей базы данных . Базы данных должны быть идентичными. Принимающий маршрутизатор может запросить полную информацию о входах базы данных передатчика, используя пакет запроса Link-State Request - LSR .

Для обмена объявлениями о состоянии канала используется пакет обновлений Link-StateUpdate - LSU . Пакет LSU может содержать различные типы извещений или объявлений (Link-State Advertisements - LSA ). Обмен пакетами объявлений LSA производится на начальном этапе формирования сети после установления отношения смежности , а также при возникновении изменений в топологии сети.

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

Для подтверждения принятого пакета обновлений LSU используется пакет подтверждения (Link-Stat Acknowledgment - LSAck), который рассылается в одноадресном режиме.

Состояние канала (соединения) - это описание интерфейса , которое включает IP адрес интерфейса, маску подсети, тип сети и другие параметры. Полученные пакеты LSA позволяют протоколу OSPFсформировать на маршрутизаторе базу данных о состоянии каналов LSDB . Зная базу данных, алгоритм Dijkstra (shortest path first algorithm - SPF ) вычисляет кратчайшие пути к сетям назначения. При этом строится древовидная топология кратчайших путей SPF ко всем доступным сетям, свободная от маршрутных петель. Корнем в дереве является сам маршрутизатор . Первый вычисленный кратчайший путь записывается в таблицу маршрутизации.

Пакет OSPF размещается внутри IP -пакета сразу за IP -заголовком ( рис. 4.2).


Рис. 4.2.

При передаче сообщения OSPF заголовок кадра включает групповой МАС- адрес назначения (01-00-5Е-00-00-05 или 01-00-5Е-00-00-06) и одноадресный МАС- адрес источника.

Заголовок IP -пакета содержит групповой адрес назначения (224.0.0.5 или 224.0.0.6) и IP - адрес источника.В поле протокола пакета задается значение 89, что говорит об использовании OSPF .

Содержит:

  • тип пакета;
  • идентификатор маршрутизатора (Router ID);
  • идентификатор области (area 0);
  • другие параметры.

Идентификатор устройства ( Router ID ), по сути, является IP -адресом одного из интерфейсов маршрутизатора.

Данные пакета OSPF зависят от типа пакета. Так пакет приветствия Hello включает:

  • маску сети или подсети;
  • интервалы времени рассылки пакетов (Hello Interval), интервал простоя (Dead Interval);
  • приоритет маршрутизатора;
  • идентификаторы назначенного (главного, определяющего) маршрутизатора (Designated Router - DR ) и запасного назначенного маршрутизатора (Backup Designated Router - BDR ) данной области;
  • список соседних устройств, содержащий идентификаторы соседей.

Для формирования смежности необходимо, чтобы маршрутизаторы работали в сети одного типа, и у соседних устройств должны быть одинаковы:

  1. Период времени обмена Hello-пакетами (Hello Interval).
  2. Период времени простоя (Dead Interval), по истечению которого связь считается потерянной, если за это время не было получено ни одного Hello-пакета.

Выбор назначенного (главного) маршрутизатора области сети (Designated - DR ) и запасного назначенного маршрутизатора сети (BDR ), производится в сетях с множественным доступом. В сетях " точка-точка " этот механизм не используется. В сегменте сети с множественным доступом, несколько маршрутизаторов связаны между собой. Поскольку каждый маршрутизатор должен установить полное отношение смежности со всеми соседними маршрутизаторами и обменяться информацией о состоянии связи всех соединений, то, например, при 5 маршрутизаторах необходим обмен десятью состояниями связи. В общем случае для n маршрутизаторов должно быть n*(n-1)/2 обменов, на что должны быть выделены дополнительные ресурсы, прежде всего, полоса пропускания .

Если в сети выбран назначенный маршрутизатор области (DR ), то маршрутизатор , первым обнаруживший изменение в сети, посылает информацию об изменениях только маршрутизатору DR , а тот в свою очередь , рассылает LSAs всем другим OSPF маршрутизаторам области, по адресу 224.0.0.5. Это сокращает количество обменов модификациями в сети. Если маршрутизатор DR выходит из строя, то его функции начинает выполнять запасной назначенный маршрутизатор области сети BDR .

Выбор DR и BDR происходит на основе сравнения приоритетов маршрутизаторов. По умолчанию приоритет всех маршрутизаторов равен 1. Значение приоритета может быть любым от 0 до 255. Маршрутизатор с приоритетом 0 не может быть избранным DR или BDR . Маршрутизатор с самым высоким OSPF приоритетом будет отобран как DR маршрутизатор . Маршрутизатор со вторым приоритетом будет BDR .

Когда не задано никаких дополнительных параметров и приоритет одинаков, выбор DR и BDR происходит на основе идентификаторов (ID ) маршрутизаторов.

Идентификатор маршрутизатора (ID) может быть задан администратором по команде:

Router(config)#router ospf № процесса Router(config-router)#router-id ip-адрес

У данной команды наивысший приоритет назначения идентификатора маршрутизатора.

Если идентификатор не задан администратором, то протокол OSPF автоматически выбирает в качестве ID адрес одного из интерфейсов с наибольшим значением. Маршрутизатор с высшим значением идентификатора ID становится DR . Маршрутизатор со вторым наибольшим значением идентификатора ID становится BDR .

Поскольку на интерфейсах используются разъемы, то они являются ненадежными элементами сети. Для повышения надежности работы DR на маршрутизаторах формируют виртуальные логические интерфейсы loopback . OSPF использует адрес интерфейса loopback как ID маршрутизатора, независимо от значения адресов других интерфейсов. Маршрутизатор , на котором сформировано несколько интерфейсов loopback , использует самое большое значение адреса интерфейса loopback в качестве ID маршрутизатора. Таким образом, выбор DR и BDR происходит на основе сравнения адресов интерфейсов loopback .

После выбора, DR и BDR сохраняют свои роли , даже если к сети добавляются маршрутизаторы с более высоким приоритетом до тех пор, пока маршрутизаторы не будут переконфигурированы.

Создание интерфейса loopback производится по команде interface loopback , например:

Router(config)#interface loopback 0 Router(config-if)#ip address10.1.1.1 255.255.255.255

Интерфейс loopback должен формироваться с маской подсети на 32 бита - 255.255.255.255 . Такая

В 1988 году. Последняя версия протокола представлена в RFC 2328 (1998 год). Протокол OSPF представляет собой протокол внутреннего шлюза (Interior Gateway Protocol - IGP). Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы .

OSPF имеет следующие преимущества:

  • Высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации ;
  • Поддержка сетевых масок переменной длины (VLSM);
  • Оптимальное использование пропускной способности с построением дерева кратчайших путей;

Энциклопедичный YouTube

  • 1 / 5

    Подтверждает получение пакета Link State Update.

    пропускную способность канала.

    В то же время, к положительным качествам протокола можно отнести относительную простоту практической реализации алгоритма.

    Октет 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0-3 Version Type = 5 Packet length
    4-7 Router ID

    Введение.

    Протокол OSPF (Open Shortest Path First), на русский можно перевести как
    протокол кратчайшего пути (маршрута).

    OSPF является промышленным протоколом, который описывается в соответсвующем RFC 2328

    Протоколы маршрутизации делятся на три типа:

    1. Дистанционно-векторные протоколы
    2. Протоколы по состоянию каналов
    3. Смешанные протоколы.

    OSPF относится к протоколам по состоянию каналов.

    Для того, чтоб начать обмен маршрутной информацией между
    маршрутизаторами, необходимо уставновить связь между соседними
    маршрутизаторами.

    OSPF — масштабируемый протокол маршрутизации, он может быть использован
    как в отдельной единственной зоне в небольших сетях, так и в нескольких
    занах большой сети. Можно сгруппировать некоторые маршрутизаторы в одну
    Area, а другие в другую. Тем самым изменения маршрутной информации в
    одной зоне, не повлияет на работоспособность другой. Для взаимодействия
    нескольких зон используют Area0, т.е. это зона является магистралью
    (backbone).

    Состояния протокола OSPF.

    При уставке связи между маршрутизаторами, протокол OSPF имеет следующие
    состояния. Стоит хорошо усвоить работу этих состояний, т.к. это является
    основополагающим в понимании OSPF.

    Сущесвтует 5 состояний:

    1. Состояние отключено (down state)
    2. Cостояние инициализации (init state)
    3. Двусторонее соединение (Two-way)
    4. ExStart
    5. Обмен (Exchange)
    6. Загрузка (Loading)
    7. Установка полной смежности (Full adjecency)

    Для разбора всех этих состояний, нам требуется ещё знать, какие типы
    пакетов используются в протоколе OSPF.

    Типы пакетов в протоколе OSPF:
    — Hello пакет — данный тип пакета предназначен для создания и поддержки таблицы соседних устройств.
    — DBD пакет (Database Description packet), как видно из название это пакет описания содержимого базы данных

    состояния каналов маршрутизатора.
    — LSR (Link State Request) — запрос о состоянии каналов, предназначен для запроса
    отдельного фрагмента базы данных

    состояния каналов.
    — LSU (Link state update) — обновление состояния каналов. Данный пакет передает
    в себе обновление о состоянии

    каналов.
    — LSAck (Link state acknowledgment) — Подтверждение о получении от соседнего
    устройства LSA (Link State Advertisement).

    Теперь рассмотрим состояния и переходы между состояниями более подробно.

    Самое простое состояние, и не требует детального описания. В двух
    словах, это состояние, при котором не происходил обмен между соседними
    маршрутизаторами, маршрутизатор ожидает перехода в следующее состояние —
    Init State, состояние инициализации.

    В состоянии инициализации маршрутизатор OSPF посылает Hello пакеты для
    установки связи между соседними устройствами, по умолчанию каждые 10
    секунд. Когда интерфейс получает Hello пакет, маршрутизатор переходит в
    состояние инициализации, другими словами, маршрутизатор «понимает» что
    на этом интерфейсе есть соседнее устройство.

    3. Состояние двусторонней связи (Two-way).

    Каждый маршрутизатор OSPF пытается установить связь со всеми своими
    соседями, это просиходит с помощью пакета Hello. В пакете Hello
    передается список всех известных соседних маршрутизаторов. Если
    маршрутизатор принимает пакет Hello и «видит» в этом пакете себя, то
    считается что состояние двусторонней связи установлено.

    Данное состояние является базовым, но для совместного использования
    маршрутной инфомарцией этого недостаточно.

    4. Состояние ExStart.

    Для установки состояние ExStart использутеся пакет DBD (описание базы
    данных). Так же в этом состоянии «выясняется», какой из маршрутизаторов
    является ведущим (master), а какой ведомый (slave). Выбор осуществляется
    по ID маршрутизатора. Маршутизатор, у которого ID больше становится
    master. После того, как определены роли маршрутизаторов, маршрутизаторы
    переходят в следующее состояние — обмена.

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

    В состоянии Exchange, маршрутизатор нашел информацию, которой нет в
    собственной базе данных, для получения полной информации об этом канале
    маршрутизатор посылает пакет-запрос LSR (Link State Request)
    соответсвующему соседу. Сосед отвечает пакетом LSU (Link State Update),
    в котором содержится полная информация о запрашиваемом канале. После
    получения пакета LSU, маршрутизатор должен подтвердить это
    соответсвующим пакетом (LSAck).

    7. Full adjacency — Состояние полной смежности.

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

    При прохождении всех этих состояний, в маршрутизаторе будет сформированы
    три базы данных.

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

    2. База данных о смежных устройствах. — Список всех устройств, с
    которыми установлено двусторонние соединение.

    3. Таблица маршрутизации. — Список маршрутов, который сформирован каждым
    маршрутизатором с помощью алгоритма SPF.

    Маршруты вычисляются из базы данных канального уровня. И вычисляются
    каждым маршрутизатором самостоятельно!

    Протокол OSPF поддерживает следующие типы сетей:

    1. Широковещательные сети множественного доступа (broadcast multiaccess)
    2. Нешироковещательные сети множественного доступа (nonbroadcast multiaccess — NBMA)
    3. Point — to — Point. «Точка-точка».
    4. Point — to — multipoint. «точка-многоточек»

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

    Для уменьшения слежебного трафика используется выбор назначенного и
    резервного маршрутизатора (DR — designated router и BDR — backup
    designated router), которые и будут рассылать все необходимые маршруты
    остальным маршрутизатором. Смысл этого в том, что все маршрутизаторы
    устанавливают состояние полной смежности только с DR/BDR и только им
    послылают информацию о состоянии своих каналов, тем самым происходит
    уменьшение служебного трафика в сети.

    «Общение» между маршрутизаторами и DR/BDR осщуествляется с помощью
    мультикаста — 224.0.0.5. «Общение» между DR и BDR происходит по своему
    мультикаст адресу — 224.0.0.6

    В сетях point — to — point существует только два маршрутизатора,
    соответсвенно не нужно выбирать ни DR ни BDR.