Смекни!
smekni.com

Конфигурирования программного обеспечения алгоритма OSPF на маршрутизаторе (стр. 2 из 3)

3. КОНЦЕПЦИЯ OSPF

OSPF роутер ID
LSA - Link State Advertisment
Hello protocol
Распределение обязанностей между роутерами в multicast-сети
Types LSAs
Суммаризация роутинга
LSM
Диалекты разных производителей

3.1 OSPF router ID

Порядковый номер, под которым роутер известен в OSPF. Используется при работе протокола между роутерами для координации.
По умолчанию - старший IP-адрес на активном интерфейсе.

3.2 LSA - Link State Advertisment

LSA - оповещающее сообщение, посылается роутером на активный интерфейс. Содержит всю информацию о вызванном изменении роутинга.
Если LSA принес изменения, то они вносятся в топологическую базу, по SFP-алгоритму перестраивается таблица роутинга и LSA рассылается дальше. Иначе LSA дальше не рассылается. Посланный пакет распространяется далее всеми роутерами (если в этом есть необходимость). Посылается только при изменении состояния линка. А так же посылается каждые 30 минут. (На всякий случай)



Пример:

Router# show ip ospf database OSPF Router with id(192.168.239.66) (Autonomous system 300)
Displaying Router Link States(Area 0.0.0.0)
Link ID ADV Router Age Seq# Checksum Link count 172.18.21.6 172.18.21.6 1731 0x80002CFB 0x69BC 8 172.18.21.5 172.18.21.5 1112 0x800009D2 0xA2B8 5 172.18.1.2 172.18.1.2 1662 0x80000A98 0x4CB6 9 172.18.1.1 172.18.1.1 1115 0x800009B6 0x5F2C 1 172.18.1.5 172.18.1.5 1691 0x80002BC 0x2A1A 5
Displaying Net Link States(Area 0.0.0.0)
Link ID ADV Router Age Seq# Checksum 172.18.1.3 192.20.239.66 1245 0x800000EC 0x82E
Displaying Summary Net Link States(Area 0.0.0.0)
Link ID ADV Router Age Seq# Checksum 172.18.240.0 172.18.241.5 1152 0x80000077 0x7A05 172.18.241.0 172.18.241.5 1152 0x80000070 0xAEB7 172.18.244.0 172.18.241.5 1152 0x80000071 0x95CB
Выводит листинг с временами последний обновлений LSA пакетов с соседних роутеров.

3.3 Типы сетей

Point-to-Point - сосед определяется однозначно - это "тот-конец"
Multiaccess - соседи находятся по отклику на Hello protocol (напр. ethernet, выделяется Designate Router (за главного) FDDI)
Nonbroadcast - соседей придется задавать явно при Multiaccess конфигурации OSPF (напр. Frame relay, X.25)

3.4 Выделенные DR роутеры в Multiaccess-сети

Рассылать в multicast-сети LSA-сообщения от каждого к каждому - слишком дорогое удовольствие. "Соседи" все свои LSA шлют только выделенному Designed Router'у(DR). DR рассылает аккумулированные LSA всем "соседям".
DR выбирается по протоколу Hello. Hello использует сетевые multicast сообщения по 224.0.0.5.
Выбирается так же Backup Designate Routera (BDR) - запасной. Он автоматически заменит DR если от того не придет ни одного LSA дольше определенного времени. Став DR он проинициирует выборы нового BDR.



Вновь включенный router отдает свой LSA DR'у (точнее DR+BDR) посылая multicast по 224.0.0.6



DR рассылает свои LSA всем "своим" посылая multicast по 224.0.0.5
Пример:

Router# debug ip osfp events Router ! Листинг этой команды покажет список рассылаемых LSA

(config-if)# shutdown ! интерфейс "упал"
Router (config-if)# no shutdown ! интерфейс "ожил"

3.5 Топология OSPF

Пространство адресов в OSPF организуеся по иерархическому принципу, распадаясь на непересекающиеся area (зоны?)

3.6 Классификация OSPF роутеров

Area Border Router (ABR) - имеет интерфейсы, подключенные сразу к нескольким area. Для каждого из таких интерфейсов выполняет свою копию алгоритма роутинга.

Internal router - все интерфейсы подключены к сетям, расположенным в одной и той же area. Исполняет одну копию алгоритма роутинга.

Backbone router - имеет интерфейс к бэкбону.

Autonomous System Boundary router - обменивается информацией с роутерами, принадлежащими разным автономным системам

4. Базовая конфигурация OSPF

4.1 Минимальная конфигурация

Конфигурирование протокола OSPF выполняется в контексте, попасть в который можно командой

router(config)#router ospf Nrouter(config-router)#

где N - номер OSPF-процесса, произвольное число (на маршрутизаторе может работать несколько независимых OSPF-процессов, но это встречается крайне редко). В лабораторных работах следует использовать N=1.

Кроме того, ряд параметров OSPF относятся к интерфейсам и, соответственно, конфигурируются в контексте интерфейсов.

Единственной обязательной командой конфигурации OSPF является команда (или несколько команд) network:

router(config-router)#network префикс шаблон area номер

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

  1. Находит все интерфейсы, чьи IP-адреса попадают в диапазон, специфицированный в команде network. При этом шаблон функционирует также, как и списках доступа, то есть, IP-адрес интерфейса отбирается, если он побитно совпадает с префиксом в тех битовых позициях, где у шаблона стоят нули.

Например, если у маршрутизатора есть интерфейсы с адресами 1.2.3.4, 1.2.5.25, 1.2.6.36, а в команде network указаны префикс 1.2.4.0 и шаблон 0.0.3.255, то отбираются интерфейсы 1.2.5.25 и 1.2.6.36, поскольку шаблон требует совпадения первых 22 бит адресов интерфейсов с префиксом 1.2.4.0.

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

    • В команде network указывается адрес сети и инвертированная маска. Отбирается интерфейс, непосредственно подключенный к указанной сети. (Напомним, что к одной IP-сети маршрутизатор позволяет подключить только один интерфейс.) Если адрес интерфейса будет изменен в пределах той же IP-сети, интерфейс все равно будет отбираться командой network.
    • В команде network указывается некоторый объемлющий префикс и его инвертированная маска. Отбираются все интерфейсы, непосредственно подключенные к сетям в пределах объемлющего префикса. Например, если для корпоративной сети предприятия выделен префикс 1.1.0.0/16, то для того, чтобы отобрать все интерфейсы любого маршрутизатора предприятия (не вдаваясь в подробности того, как именно выделены на предприятии IP-сети), на каждом маршрутизаторе достаточно указать префикс 1.1.0.0, шаблон 0.0.255.255.
    • В команде network указывается адрес интерфейса и шаблон 0.0.0.0 ("строгое соответствие"). Отбирается интерфейс с указанным адресом. Если адрес интерфейса будет изменен, даже в пределах той же IP-сети, то интерфейс уже не будет отбираться командой network.

    Только основной IP-адрес интерфейса (не secondary) участвует в процессе отбора.

    1. На интерфейсах, отобранных на предыдущем шаге запускается протокол OSPF. При этом интерфейсы помещаются в ту область OSPF-системы, которая указана в параметре area. Магистраль (backbone) - area 0.
    2. В базу данных состояния связей добавляются записи, соответствующие сетям, к которым подключены отобранные интерфейсы.

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

    Например, интерфейс маршрутизатора 1.2.3.4/24 подключен к тупиковой сети Ethernet. Этот интерфейс может быть отобран в область 0 OSPF-системы любой из следующих команд:

    network 1.2.0.0 0.0.255.255 area 0 network 1.2.3.0 0.0.0.255 area 0 network 1.2.3.4 0.0.0.0 area 0

    Независимо от того, какая команда network была использована, в базу данных будет внесена тупиковая сеть 1.2.3.0/24.

    Обратите внимание, что IOS использует именно IP-адреса, а не имена интерфейсов для отбора в OSPF-систему. Эту особенность необходимо учитывать при использовании ненумерованных интерфейсов (ip unnumbered интерфейс-донор): чтобы ненумерованный интерфейс был отобран, необходимо, чтобы был отобран интерфейс-донор. И наоборот: если отобран интерфейс-донор, то в ту же самую область будут отобраны и все ненумерованные интерфейсы, которые используют IP-адрес данного донора. Последнее означает, что если вы предполагаете поместить ненумерованные интерфейсы в различные области, то вы должны иметь на маршрутизаторе интерфейсов-доноров по числу областей. На практике значит, что для каждой области должен быть создан свой Loopback (поскольку именно интерфейсы loopback целесообразно использовать в качестве доноров).

    4.2 Метрики

    Метрики интерфейсов вычисляются автоматически исходя из пропускной способности интерфейса (108/bandwidth). Некоторые значения приведены ниже:

    Последовательный интерфейс 56 кбит/с 1785
    Последовательный интерфейс 64 кбит/с 1562
    Последовательный интерфейс 1544 кбит/с 64
    Последовательный интерфейс 2048 кбит/с 48
    Ethernet 10 Мбит/с 10
    FastEthernet 1
    Асинхронный последовательный интерфейс 10000

    Напомним, что величину bandwidth интерфейса можно изменить одноименной командой в контексте конфигурации интерфейса. Более того, bandwidth последовательных интерфейсов требует ручной модификации, если реальное значение отличается от значения по умолчанию (1544 кбит/с). Неверное значение bandwidth приведет к различным негативным эффектам (неверное вычисление метрик, некорректное управление пакетными очередями и др.).

    OSPF-метрика интерфейса может быть также непосредственно изменена командой

    router(config-if)#ip ospf cost метрика

    Подчеркнем, что речь идет о метрике связей, исходящих из интерфейса.

    4.3 Идентификаторы маршрутизаторов

    Каждый OSPF-маршрутизатор идентифицируется некоторым IP-адресом, который помещается во все OSPF-пакеты, сгенерированные маршрутизатором. Поскольку у маршрутизатора есть несколько IP-адресов, то выбор идентификатора производится в следующей последовательности:

    1. Индентификатор явно указан командой
    router(config-router)#router-id IP-адрес
    1. Если идентификатор не указан явно, то в качестве идентификатора выбирается наибольший из IP-адресов интерфейсов Loopback.
    2. Иначе если интерфейсы Loopback отсутствуют, то в качестве идентификатора выбирается наибольший из IP-адресов интерфейсов маршрутизатора.

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