Протокол состояния канала (Link-state) ), снижает нагрузку на сеть.
(рис 4.1) Области функционирования протокола OSPF
Областей (зон) может быть несколько, среди которых ). Далее рассматривается случай единственной области area 0.
Протокол OSPF оперативно реагируют на изменения в сети, обеспечивая быструю сходимость. Он может работать с оборудованием разных фирм производителей, и потому получил широкое распространение. Административное расстояние протокола OSPF равно 110 (см. табл. 1.1).
Протокол OSPF формирует три базы данных, на основе которых создает соответствующие таблицы:
show ip ospf neighbor.show ip ospf database. После схождения сети базы данных о состоянии каналов LSDB должны быть одинаковы у всех маршрутизаторов области.show ip route.В основе протокола OSPF лежит алгоритм Дийкстра (Dijkstra), обеспечивающий выбор кратчайшего пути (shortest path) к адресату назначения. Протокол OSPF не проводит периодический обмен объемными обновлениями (update) маршрутной информации для снижения нагрузки на сеть, и характеризуется быстрой сходимостью.
Сходимость или конвергенция (convergence) сети достигается, когда базы данных о состоянии каналов LSDB одинаковы у всех маршрутизаторов области.
Для обмена маршрутной информацией между устройствами протокол OSPF использует пять типов пакетов:
Пакеты Hello маршрутизатор отправляет со всех своих интерфейсов, чтобы обнаружить соседние устройства. В отличие от других, Hello-пакеты рассылаются периодически и довольно часто, чтобы непрерывно отслеживать работоспособность соседних устройств. После обмена Hello-пакетами между соседними устройствами устанавливаются и поддерживаются отношения смежности (adjacency) и формируются таблицы соседних устройств.
Различают три типа сетей:
В сетях первых двух типов период рассылки 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
При передаче сообщения 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.
Заголовок OSPF содержит:
Идентификатор устройства (Router ID), по сути, является IP-адресом одного из интерфейсов маршрутизатора.
Данные пакета OSPF зависят от типа пакета. Так пакет приветствия 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. Такая маска называется маской узла, потому что маска определяет сеть одного узла.
Изменение приоритета OSPF может производиться администратором по команде ip ospf priority в режиме конфигурирования интерфейса:
Router(config-if)#ip ospf priority №
Значение приоритета (№) интерфейса может изменяться в пределах от 0 до 255. Приоритет можно посмотреть по команде:
Router#show ip ospf interface тип интерфейса
При подключении маршрутизатора, например В к сети (рис 4.3), протокол OSPF проходит последовательно несколько стадий, чтобы достичь сходимости. На этапе установления отношения смежности происходит переход интерфейса G0/1 маршрутизатора В из выключенного состояния Down в состояние Init, когда интерфейс начинает передавать Hello-пакеты.
Маршрутизатор В отправляет Hello-пакеты с идентификатором, например 192.168.10.2, из всех своих интерфейсов по групповому адресу 224.0.0.5. Получив Hello-пакет, соседний маршрутизатор А устанавливает отношение смежности с В, добавив полученный идентификатор в свою базу данных смежности и модифицировав таблицу соседних устройств. При этом маршрутизатор А в режиме одноадресной рассылки отправляет Hello-пакет маршрутизатору В. Пакет содержит идентификатор самого устройства А, например 192.168.10.1, и список соседей, подключенных к этому интерфейсу, т.е. идентификатор 192.168.10.2.
(рис 4.3) Подключение маршрутизатора к сети
Получив Hello-пакет со своим собственным идентификатором, маршрутизатор В добавляет устройство А в свою базу данных смежности и формирует таблицу соседних устройств. Протокол OSPF переводит маршрутизатор в состояние Two-Way.
После этого в сетях Ethernet проводятся выборы назначенного (DR) и запасного (BDR). Если маршрутизаторы А и В (рис 4.3) имеют одинаковый приоритет, например 1, то в Ethernet-соединении между устройствами наибольшее значение IP-адреса (192.168.10.2) имеет интерфейс G0/1. Поэтому назначенным (DR) будет маршрутизатор В, резервным (BDR) - станетмаршрутизатор А.
На следующем этапе синхронизации баз данных в состоянии ExStart устройство с боле высоким значением идентификатора (маршрутизатор В) становится ведущим, которое начинает процесс обмена пакетами DBD с ведомым (состояние Exchange). Получение пакетов DBD подтверждается пакетами LSAck. Если информация в пакетах DBD показывает, что требуются дополнительные данные, то используются пакты LSR и LSU (состояние Loading, работает алгоритм SPF). Достижение маршрутизаторами сходимости характеризуется состоянием Full.
После синхронизации баз данных пакеты LSU рассылаются только при изменениях топологии сети или каждые 30 минут работы.
При отладке сети команда show ip protocols отображает номер процесса OSPF, идентификатор маршрутизатора, адреса присоединенных сетей, наличие пассивных интерфейсов, адреса источников, из которых передаются обновления, значение административного расстояния.
Протокол маршрутизации OSPF в качестве метрики использует стоимость (cost). Метрика протокола OSPF базируются на пропускной способности соединения bandwidth. Алгоритм протокола рассчитывает суммарное значение стоимости всех соединений через сеть. Меньшее значение указывает лучший маршрут. Для вычисления метрики OSPF используется следующая формула:
$$Метрика (Cost)= 10^8 /Bandwidth,$$где пропускная способность bandwidth задается в бит/c.
По умолчанию протокол OSPF автоматически устанавливает максимальное значение пропускной способности в 100 Мбит/с. При этом минимальную стоимость 1 будут иметь соединения FastEthernet, GigabitEthernet и 10 GigabitEthernet (табл. 4.1). Соединение Ethernet характеризуется стоимостью 10 единиц, канал ОЦК со скоростью 64 кбит/с - $$1562,5 \approx 1562$$, канал со скоростью 128 кбит/с - 781, канал Т1 - 64, канал Е1 - 48 единиц.
| Усл. обозначен. | ОЦК | - | T1 | E1 | Fast | Giga | 10G |
|---|---|---|---|---|---|---|---|
| Bandwidth,Мбит/с | 0,064 | 0,128 | 1,544 | 2,048 | 100 | 1000 | 10000 |
| 100 | 1562 | 781 | 64 | 48 | 1 | 1 | 1 |
| 1000 | 15625 | 7812 | 647 | 488 | 10 | 1 | 1 |
| 10000 | 156250 | 78125 | 6477 | 4882 | 100 | 10 | 1 |
Поскольку минимальную стоимость в одну единицу имеют соединения FastEthernet, GigabitEthernet и 10 GigabitEthernet, то при выборе между такими соединениями протокол OSPF не сможет корректно прокладывать маршрут. Поэтому появилась необходимость изменения значений метрики, что реализуется покоманде:
R1(config-router)#auto-cost reference-bandwidth 1000
В этом случае стоимость в 1 единицу будут иметь соединения GigabitEthernet и 10GigabitEthernet, стоимость соединения FastEthernet будет равна - 10 единицам, другие типы соединений также повысят стоимость в 10 раз. Если ввести команду auto-cost reference-bandwidth 10000, то стоимость в 1 единицу будет иметь соединение 10 GigabitEthernet.
Команду auto-cost reference-bandwidth необходимо выполнить на всех маршрутизаторах домена, чтобы протокол OSPF мог правильно выбирать кратчайшие пути к сетям назначения.
Стоимости по умолчанию можно восстановить по команде auto-cost reference-bandwidth 100, когда минимальную стоимость 1 будут иметь соединения со скоростью 100 Мбит/с и выше, т.е. соединения FastEthernet, GigabitEthernet, 10 GigabitEthernet.
Если маршрут состоит из нескольких соединений, то значения метрик cost складываются. Например, для сети (рис 4.4) стоимость маршрута из маршрутизатора А в локальную Сеть 2 будет складываться из метрики соединения между маршрутизаторами А и В (48), метрики соединения между В и С (1562) и метрики сети назначения Ethernet (10).
(рис 4.4) Метрика сети OSPF
Суммарное значение метрики будет равно $$М_{\Sigma} = 48+1562+10 = 1620$$.
Значение пропускной способности, которое учитывается при вычислении метрики маршрута, может быть изменено по команде bandwidth, где полоса пропускания задается в кбит/c. например:
Router(config)#interface serial 0/0
Router(config-if)#bandwidth 64
Значение пропускной способности должно соответствовать реальным линиям связи, что не всегда выполняется. Причем, пропускная способность должна быть задана одинаковой на обеих сторонах соединения.
Операционная система Cisco IOS позволяет задавать не только пропускную способность bandwidth, но и непосредственно значение cost по команде:
Router(config-if)#ip ospf cost значение
Ниже приведен пример конфигурирования протокола OSPF на маршрутизаторах сети IPv4 (рис 4.5).
(рис 4.5) Сеть IPv4 с протоколом OSPF
Из рис 4.5 следует, что Сеть 1 (192.168.10.128/26), Сеть 2 (192.168.10.192/28) и Сеть 4 (192.168.10.16/29) являются подсетями сети 192.168.10.0/24. Причем, Сети 1, 2 и Сеть 4 разделены Сетями 5 и 6.
При конфигурировании протокола OSPF необходимо задать номер процесса (по умолчанию 1) и адреса непосредственно присоединенных сетей с их шаблонными масками переменной длины (wildcard-mask). При этом для каждой сети указывается номер области (area 0):
МаршрутизаторR-А:
R-A(config)#router ospf 1 R-A(config-router)#network 192.168.10.128 0.0.0.63 area 0 R-A(config-router)#network 192.168.10.192 0.0.0.15 area 0 R-A(config-router)#network 200.5.5.12 0.0.0.3 area 0
МаршрутизаторR-B:
R-B(config)#router ospf 1 R-B(config-router)#network 10.10.20.160 0.0.0.31 area 0 R-B(config-router)#network 200.5.5.12 0.0.0.3 area 0 R-B(config-router)#network 200.5.5.16 0.0.0.3 area 0
МаршрутизаторR-С:
R-C(config)#router ospf 1 R-C(config-router)#network 192.168.10.16 0.0.0.7 area 0 R-C(config-router)#network 200.5.5.16 0.0.0.3 area 0
Ниже приведена таблица маршрутизации R-А:
R-A#sh ip route ... Gateway of last resort is not set 10.0.0.0/27 is subnetted, 1 subnets O 10.10.20.160/27 [110/65] via 200.5.5.14, 00:01:09, Serial0/3/0 192.168.10.0/24 is variably subnetted, 5 subnets, 4 masks O 192.168.10.16/29 [110/129] via 200.5.5.14, 00:01:09, Serial0/3/0 C 192.168.10.128/26 is directly connected, GigabitEthernet0/0 L 192.168.10.129/32 is directly connected, GigabitEthernet0/0 C 192.168.10.192/28 is directly connected, GigabitEthernet0/1 L 192.168.10.193/32 is directly connected, GigabitEthernet0/1 200.5.5.0/24 is variably subnetted, 3 subnets, 2 masks C 200.5.5.12/30 is directly connected, Serial0/3/0 L 200.5.5.13/32 is directly connected, Serial0/3/0 O 200.5.5.16/30 [110/128] via 200.5.5.14, 00:01:09, Serial0/3/0 R-A#
Маршруты, созданные протоколом OSPF помечены символом О, административное расстояние - 110. Метрика пути к сети 10.10.20.160/27 составляет 65 единиц (64 единицы последовательное соединение "точка-точка" со скоростью 1544 кбит/с и соединение GigabitEthernet с метрикой в 1 единицу). В распечатке таблицы маршрутизации R-А следует обратить внимание на то, что метрика к сети 200.5.5.16/30 составляет 128 единиц (два последовательных соединения "точка-точка"), а к сети 192.168.10.16/29 - на 1 больше (129 единиц), поскольку дополнительно имеется соединение GigabitEthernet с метрикой в 1 единицу (такой же как у соединений FastEthernet).
Таблица соседних устройств, например маршрутизатора В, отображает следующие параметры:
R-B>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 200.5.5.18 0 FULL/ - 00:00:39 200.5.5.18 Serial0/3/0 200.5.5.13 0 FULL/ - 00:00:39 200.5.5.13 Serial0/3/1
Таблица соседних устройств маршрутизатора А аналогична:
R-A>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 200.5.5.17 0 FULL/ - 00:00:35 200.5.5.14 Serial0/3/0
При изменении идентификатора маршрутизатора, например А, система требует перезагрузки маршрутизатора или ввода команды clear ip ospf process в привилегированном режиме
R-A(config)#router ospf 1 R-A(config-router)#router-id 10.10.10.10 R-A(config-router)#Reload or use "clear ip ospf process" command, for this to take effect R-A#clear ip ospf process Reset ALL OSPF processes? [no]: y
После этой команды идентификатор маршрутизатора изменяется:
R-A#show ip protocols 00:23:58: %OSPF-5-ADJCHG: Process 1, Nbr 200.5.5.17 on Serial0/3/0 from LOADING to FULL, Loading Done Routing Protocol is "ospf 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 10.10.10.10 ...
Изменяется также таблица соседних устройств (изменяются идентификаторы соседних устройств: А - 10.10.10.10, В - 200.5.5.18)
R-B>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 200.5.5.18 0 FULL/ - 00:00:34 200.5.5.18 Serial0/3/0 10.10.10.10 0 FULL/ - 00:00:35 200.5.5.13 Serial0/3/1
При этом адрес входного интерфейса соседнего маршрутизатора А не совпадает с его ID.
Маршрутизаторы рассылают объявления OSPF из всех интерфейсов, что перегружает сеть и снижает информационную безопасность. Однако, например, в сети рис 4.5, маршрутизатору А нет смысла рассылать извещения OSPF из интерфейсов G0/0 и1G0/1, поскольку они не подключены к другим маршрутизаторам. Поэтому указанные интерфейсы можно перевести в пассивный режим, когда они будут передавать и принимать данные, но не будут рассылать объявления OSPF. Ниже приведен пример конфигурирования пассивного интерфейса G0/0 по следующей команде:
R-A(config)#router ospf 1
R-A(config-router)#passive-interface g0/0
Верификация по команде show ip protocols показывает, что интерфейс G0/0 переведен в пассивный режим:
R-A#show ip protocols
Routing Protocol is "ospf 1"
...
Passive Interface(s):
GigabitEthernet0/0
Повторное активирование интерфейса производится по команде
R-A(config-router)#no passive-interface g0/0
Значение стоимости соединений каждого из интерфейсов R-A можно проверить по команде:
R-A>show ip ospf interface
GigabitEthernet0/0 is up, line protocol is up
Internet address is 192.168.10.129/26, Area 0
Process ID 1, Router ID 10.10.10.10, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
...
No Hellos (Passive interface)
...
GigabitEthernet0/1 is up, line protocol is up
Internet address is 192.168.10.193/28, Area 0
Process ID 1, Router ID 10.10.10.10, Network Type BROADCAST, Cost: 1
...
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:09
...
Serial0/3/0 is up, line protocol is up
Internet address is 200.5.5.13/30, Area 0
Process ID 1, Router ID 10.10.10.10, Network Type POINT-TO-POINT, Cost: 64
...
Hello due in 00:00:09
...
Значение bandwidth для последовательного интерфейса можно посмотреть по команде show interfaces 0/3/0, которое в нижеприведенном примере составляет 1544 кбит/с:
R-A#show int s0/3/0
Serial0/3/0 is up, line protocol is up (connected)
Hardware is HD64570
Internet address is 200.5.5.13/30
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
...
Распечатка команды show ip protocols отображает идентификатор маршрутизатора, адреса присоединенных сетей, административное расстояние и другие параметры:
R-A>show ip protocols
Routing Protocol is "ospf 1"
...
Router ID 10.10.10.10
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
192.168.10.128 0.0.0.63 area 0
192.168.10.192 0.0.0.15 area 0
200.5.5.12 0.0.0.3 area 0
Passive Interface(s):
GigabitEthernet0/0
Routing Information Sources:
Gateway Distance Last Update
10.20.10.20 110 00:15:41
200.5.5.17 110 00:15:41
200.5.5.18 110 00:00:35
Distance: (default is 110)
Конфигурирование динамической маршрутизации по умолчанию рассмотрено на примере сети рис 4.6. Для маршрутизатора желательно поддерживать маршруты к каждому возможному адресу назначения. Поэтому на маршрутизаторах формируют маршрут по умолчанию или шлюз последней надежды (Gateway of last resort). Это позволяет маршрутизаторам отправлять пакеты, предназначенные любому узлу Интернета, без необходимости поддерживать в таблице записи (входы) для каждой сети.
(рис 4.6) Пример сети IPv4
Например, в сети рис 4.6 маршруты по умолчанию могут быть сконфигурированы, чтобы передавать пакеты с не заданными в таблицах маршрутизации адресами сетей назначения в сеть провайдера ISP.
Для имитации сети провайдера ISP на маршрутизаторе С сконфигурирован виртуальный интерфейс Loopback1 с адресом 200.7.7.1/30
R-С(config)#interface loopback 1
R-С(config-if)#ip address 200.7.7.1 255.255.255.252
Формирование маршрута по умолчанию производится по команде:
R-С(config)#ip route 0.0.0.0 0.0.0.0loopback 1
После чего в таблице маршрутизации появляется запись о создании шлюза последней надежды (Gateway of last resort is 0.0.0.0 to network 0.0.0.0) и маршрута по умолчанию S* 0.0.0.0/0 is directly connected, Loopback1
R-C#show ip route
...
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
10.0.0.0/27 is subnetted, 1 subnets
O 10.10.20.160/27 [110/65] via 200.5.5.17, 01:08:37, Serial0/3/1
192.168.10.0/24 is variably subnetted, 4 subnets, 4 masks
C 192.168.10.16/29 is directly connected, GigabitEthernet0/0
L 192.168.10.17/32 is directly connected, GigabitEthernet0/0
O 192.168.10.128/26 [110/129] via 200.5.5.17, 01:08:27, Serial0/3/1
O 192.168.10.192/28 [110/129] via 200.5.5.17, 01:08:27, Serial0/3/1
00.5.5.0/24 is variably subnetted, 3 subnets, 2 masks
O 200.5.5.12/30 [110/128] via 200.5.5.17, 01:08:37, Serial0/3/1
C 200.5.5.16/30 is directly connected, Serial0/3/1
L 200.5.5.18/32 is directly connected, Serial0/3/1
200.7.7.0/24 is variably subnetted, 2 subnets, 2 masks
C 200.7.7.0/30 is directly connected, Loopback1
L 200.7.7.1/32 is directly connected, Loopback1
S* 0.0.0.0/0 is directly connected, Loopback1
Однако в таблицах маршрутизации других маршрутизаторов (А и В) подобной информации нет. Для распространения информации о маршруте по умолчанию на другие маршрутизаторы используется следующая команда:
R-C(config)#router ospf 1
R-C(config-router)#default-information originate
Это дает возможность протоколу OSPF распространить информацию о маршруте по умолчанию на другие маршрутизаторы, что можно видеть, например, по таблице маршрутизации маршрутизатора В, где появилась строка маршрута O*E2 0.0.0.0/0 [110/1] via 200.5.5.18, 00:00:28, Serial0/3/0, помеченная символом O*:
R-B>show ip route
...
Gateway of last resort is 200.5.5.18 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.10.20.160/27 is directly connected, GigabitEthernet0/0
L 10.10.20.161/32 is directly connected, GigabitEthernet0/0
192.168.10.0/24 is variably subnetted, 3 subnets, 3 masks
O 192.168.10.16/29 [110/65] via 200.5.5.18, 01:27:55, Serial0/3/0
O 192.168.10.128/26 [110/65] via 200.5.5.13, 01:27:55, Serial0/3/1
O 192.168.10.192/28 [110/65] via 200.5.5.13, 01:27:55, Serial0/3/1
200.5.5.0/24 is variably subnetted, 4 subnets, 2 masks
C 200.5.5.12/30 is directly connected, Serial0/3/1
L 200.5.5.14/32 is directly connected, Serial0/3/1
C 200.5.5.16/30 is directly connected, Serial0/3/0
L 200.5.5.17/32 is directly connected, Serial0/3/0
O*E2 0.0.0.0/0 [110/1] via 200.5.5.18, 00:00:28, Serial0/3/0
В таблице маршрутизатора А сформирована аналогичная строка:
R-A>show ip route
...
Gateway of last resort is 200.5.5.14 to network 0.0.0.0
10.0.0.0/27 is subnetted, 1 subnets
O 10.10.20.160/27 [110/65] via 200.5.5.14, 01:28:31, Serial0/3/0
192.168.10.0/24 is variably subnetted, 5 subnets, 4 masks
O 192.168.10.16/29 [110/129] via 200.5.5.14, 01:28:31, Serial0/3/0
C 192.168.10.128/26 is directly connected, GigabitEthernet0/0
L 192.168.10.129/32 is directly connected, GigabitEthernet0/0
C 192.168.10.192/28 is directly connected, GigabitEthernet0/1
L 192.168.10.193/32 is directly connected, GigabitEthernet0/1
200.5.5.0/24 is variably subnetted, 3 subnets, 2 masks
C 200.5.5.12/30 is directly connected, Serial0/3/0
L 200.5.5.13/32 is directly connected, Serial0/3/0
O 200.5.5.16/30 [110/128] via 200.5.5.14, 01:28:31, Serial0/3/0
O*E2 0.0.0.0/0 [110/1] via 200.5.5.14, 00:01:04, Serial0/3/0
Для работы в сетях IPv6 разработан бесклассовый протокол маршрутизации по состоянию канала OSPF3, большинство параметров которого аналогичны протоколу OSPF2, работающему в сетях IPv4. Оба протокола работают на основе алгоритма SPF. Метрикой обоих протоколов является стоимость ($$cost= 10^8 /Bandwidth$$), где пропускания способность bandwidth задается в бит/c. При обмене маршрутной информацией рассылаются те же типы пакетов, что рассмотрены в разделе 4.1. Рассылка маршрутной информации в OSPF3 производится с использованием группового адреса FF02::5 илиFF02::6 и маршрутизаторов DR и BDR. Кроме того, для рассылки внутри локального канала используются индивидуальные локальные адреса источника и назначения. OSPF3 использует аутентификацию IPv6 по протоколу IPSec.
В отличие от OSPF2, у которого маршрутизация включается автоматически при конфигурировании протокола, включение маршрутизации OSPF3 производится по специальной команде:
Router(config)#ipv6 unicast-routing
Особенности конфигурирования OSPF3 рассмотрены на примере сети рис 4.7. Конфигурирование интерфейсов:
Router(config)#hostname R-A R-A(config)#int g0/0 R-A(config-if)#ipv6 add 2001:DB8:A:1::1/64 R-A(config-if)#no shutdown R-A(config-if)#int g0/1 R-A(config-if)#ipv6 add 2001:DB8:A:2::1/64 R-A(config-if)#no shutdown R-A(config-if)#int s0/3/0 R-A(config-if)#ipv6 add 2001:DB8:A:5::1/64 R-A(config-if)#clock rate 64000 R-A(config-if)#no shutdown R-A(config)#ipv6 unicast-routing
(рис 4.7) Сеть с протоколом OSPF3
Аналогично конфигурируются интерфейсы других маршрутизаторов.
Проверку сконфигурированных параметров можно произвести по команде:
R-A#show ipv6 int brief
GigabitEthernet0/0 [up/up]
FE80::260:70FF:FEAA:A401
2001:DB8:A:1::1
GigabitEthernet0/1 [up/up]
FE80::260:70FF:FEAA:A402
2001:DB8:A:2::1
GigabitEthernet0/2 [administratively down/down]
Serial0/3/0 [up/up]
FE80::203:E4FF:FE88:3101
2001:DB8:A:5::1
...
R-A#
Команда отображает локальные (например, FE80::260:70FF:FEAA:A401) и глобальные адреса (например, 2001:DB8:A:1::1).
Для работы OSPF3 в сетях IPv6 на маршрутизаторах автоматически или вручную задаются идентификаторы (ID), которые представлены адресами IPv4. Администратор может сконфигурировать идентификаторы следующей последовательностью команд:
R-A(config)#ipv6 router ospf 1 R-A(config-rtr)#router-id 1.1.1.1 R-B(config)#ipv6 router ospf 1 R-B(config-rtr)#router-id 2.2.2.2 R-C(config)#ipv6 router ospf 1 R-C(config-rtr)#router-id 3.3.3.3
Комплексную проверку проделанной работы реализует команда:
R-A#show run ... hostname R-A ! ipv6 unicast-routing ! interface GigabitEthernet0/0 ipv6 address 2001:DB8:A:1::1/64 ! interface GigabitEthernet0/1 ipv6 address 2001:DB8:A:2::1/64 ... interface Serial0/3/0 ipv6 address 2001:DB8:A:5::1/64 clock rate 64000 ! ipv6 router ospf 1 router-id 1.1.1.1 log-adjacency-changes ! ip classless ... line con 0 line aux 0 line vty 0 4 login end
Из распечатки следует, что на маршрутизаторе А включена маршрутизация (ipv6 unicast-routing), на интерфейсах заданы адреса IPv6, и создан идентификатор (router-id 1.1.1.1).
При конфигурировании протокола OSPF3 он устанавливается на каждом активном интерфейсе маршрутизатора в отличие от OSPF2, где проводилось описание адресов прямо присоединенных сетей (network) и областей (area). Ниже приведена последовательность команд, которая устанавливает OSPF3 на каждый функционирующий интерфейс
R-A#conf t Enter configuration commands, one per line. End with CNTL/Z. R-A(config)#int g0/0 R-A(config-if)#ipv6 ospf 1 area 0 R-A(config-if)#int g0/1 R-A(config-if)#ipv6 ospf 1 area 0 R-A(config-if)#int s0/3/0 R-A(config-if)#ipv6 ospf 1 area 0
Изменения отображает команда проверки текущей конфигурации:
R-A#show run interface GigabitEthernet0/0 ipv6 address 2001:DB8:A:1::1/64 ipv6 ospf 1 area 0 ! interface GigabitEthernet0/1 ipv6 address 2001:DB8:A:2::1/64 ipv6 ospf 1 area 0 ! interface Serial0/3/0 ipv6 address 2001:DB8:A:5::1/64 ipv6 ospf 1 area 0 clock rate 64000 ! ipv6 router ospf 1 router-id 1.1.1.1 log-adjacency-changes ! Ip classless ... R-A#
После соответствующего конфигурирования всех маршрутизаторов сети (рис 4.7) протокол OSPF3 создает таблицу соседних устройств, таблицу данных о состоянии каналов и таблицу маршрутизации.
Таблица маршрутизации А содержит три маршрута к удаленным сетям, путь к которым проходит через выходной интерфейс Serial 0/3/0:
R-A>show ipv6 route
IPv6 Routing Table - 10 entries
...
C 2001:DB8:A:1::/64 [0/0]
via ::, GigabitEthernet0/0
L 2001:DB8:A:1::1/128 [0/0]
via ::, GigabitEthernet0/0
C 2001:DB8:A:2::/64 [0/0]
via ::, GigabitEthernet0/1
L 2001:DB8:A:2::1/128 [0/0]
via ::, GigabitEthernet0/1
O 2001:DB8:A:3::/64 [110/65]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
O 2001:DB8:A:4::/64 [110/129]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
C 2001:DB8:A:5::/64 [0/0]
via ::, Serial0/3/0
L 2001:DB8:A:5::1/128 [0/0]
via ::, Serial0/3/0
O 2001:DB8:A:6::/64 [110/128]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
L FF00::/8 [0/0]
via ::, Null0
R-A>
Когда необходима специфическая информация только о маршрутах, созданных протоколом OSPF3, используют команду:
R-A>show ipv6 route ospf
...
O 2001:DB8:A:3::/64 [110/65]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
O 2001:DB8:A:4::/64 [110/129]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
O 2001:DB8:A:6::/64 [110/128]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
R-A>
Таблицу соседних устройств можно посмотреть по команде show ipv6 ospf neighbor. Например, таблица соседних устройств маршрутизатора А отображает только одно устройство - маршрутизатор В:
R-A>show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 2.2.2.2 0 FULL/ - 00:00:36 5 Serial0/3/0
Таблица соседних устройств маршрутизатора В отображает два устройства (А и В) с идентификаторами 1.1.1.1 и 3.3.3.3:
R-B#show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 3.3.3.3 0 FULL/ - 00:00:35 5 Serial0/3/0 1.1.1.1 0 FULL/ - 00:00:38 4 Serial0/3/1 R-B#
default-information originate.R-A(config)#ipv6 router ospf 1 R-A(config-rtr)#router-id 1.1.1.1
Router(config-if)#ipv6 ospf 1 area 0.show ipv6 route.show ipv6 route ospf?В нижеприведенной схеме сети сконфигурируйте динамическую маршрутизацию OSPF3. Проведите проверку и отладку с использованием команд show running-config, show ipv6 int brief, show ipv6 route, show ipv6 route ospf, show ipv6 ospf neighbor, ping, traceroute и tracert.
Проанализируйте таблицы маршрутизации, таблицы соседних устройств маршрутизаторов. Посчитайте метрики маршрутов, сравните с табличными значениями.
Протокол состояния канала (Link-state) ), снижает нагрузку на сеть.
(рис 4.1) Области функционирования протокола OSPF
Областей (зон) может быть несколько, среди которых ). Далее рассматривается случай единственной области area 0.
Протокол OSPF оперативно реагируют на изменения в сети, обеспечивая быструю сходимость. Он может работать с оборудованием разных фирм производителей, и потому получил широкое распространение. Административное расстояние протокола OSPF равно 110 (см. табл. 1.1).
Протокол OSPF формирует три базы данных, на основе которых создает соответствующие таблицы:
show ip ospf neighbor.show ip ospf database. После схождения сети базы данных о состоянии каналов LSDB должны быть одинаковы у всех маршрутизаторов области.show ip route.В основе протокола OSPF лежит алгоритм Дийкстра (Dijkstra), обеспечивающий выбор кратчайшего пути (shortest path) к адресату назначения. Протокол OSPF не проводит периодический обмен объемными обновлениями (update) маршрутной информации для снижения нагрузки на сеть, и характеризуется быстрой сходимостью.
Сходимость или конвергенция (convergence) сети достигается, когда базы данных о состоянии каналов LSDB одинаковы у всех маршрутизаторов области.
Для обмена маршрутной информацией между устройствами протокол OSPF использует пять типов пакетов:
Пакеты Hello маршрутизатор отправляет со всех своих интерфейсов, чтобы обнаружить соседние устройства. В отличие от других, Hello-пакеты рассылаются периодически и довольно часто, чтобы непрерывно отслеживать работоспособность соседних устройств. После обмена Hello-пакетами между соседними устройствами устанавливаются и поддерживаются отношения смежности (adjacency) и формируются таблицы соседних устройств.
Различают три типа сетей:
В сетях первых двух типов период рассылки 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
При передаче сообщения 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.
Заголовок OSPF содержит:
Идентификатор устройства (Router ID), по сути, является IP-адресом одного из интерфейсов маршрутизатора.
Данные пакета OSPF зависят от типа пакета. Так пакет приветствия 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. Такая маска называется маской узла, потому что маска определяет сеть одного узла.
Изменение приоритета OSPF может производиться администратором по команде ip ospf priority в режиме конфигурирования интерфейса:
Router(config-if)#ip ospf priority №
Значение приоритета (№) интерфейса может изменяться в пределах от 0 до 255. Приоритет можно посмотреть по команде:
Router#show ip ospf interface тип интерфейса
При подключении маршрутизатора, например В к сети (рис 4.3), протокол OSPF проходит последовательно несколько стадий, чтобы достичь сходимости. На этапе установления отношения смежности происходит переход интерфейса G0/1 маршрутизатора В из выключенного состояния Down в состояние Init, когда интерфейс начинает передавать Hello-пакеты.
Маршрутизатор В отправляет Hello-пакеты с идентификатором, например 192.168.10.2, из всех своих интерфейсов по групповому адресу 224.0.0.5. Получив Hello-пакет, соседний маршрутизатор А устанавливает отношение смежности с В, добавив полученный идентификатор в свою базу данных смежности и модифицировав таблицу соседних устройств. При этом маршрутизатор А в режиме одноадресной рассылки отправляет Hello-пакет маршрутизатору В. Пакет содержит идентификатор самого устройства А, например 192.168.10.1, и список соседей, подключенных к этому интерфейсу, т.е. идентификатор 192.168.10.2.
(рис 4.3) Подключение маршрутизатора к сети
Получив Hello-пакет со своим собственным идентификатором, маршрутизатор В добавляет устройство А в свою базу данных смежности и формирует таблицу соседних устройств. Протокол OSPF переводит маршрутизатор в состояние Two-Way.
После этого в сетях Ethernet проводятся выборы назначенного (DR) и запасного (BDR). Если маршрутизаторы А и В (рис 4.3) имеют одинаковый приоритет, например 1, то в Ethernet-соединении между устройствами наибольшее значение IP-адреса (192.168.10.2) имеет интерфейс G0/1. Поэтому назначенным (DR) будет маршрутизатор В, резервным (BDR) - станетмаршрутизатор А.
На следующем этапе синхронизации баз данных в состоянии ExStart устройство с боле высоким значением идентификатора (маршрутизатор В) становится ведущим, которое начинает процесс обмена пакетами DBD с ведомым (состояние Exchange). Получение пакетов DBD подтверждается пакетами LSAck. Если информация в пакетах DBD показывает, что требуются дополнительные данные, то используются пакты LSR и LSU (состояние Loading, работает алгоритм SPF). Достижение маршрутизаторами сходимости характеризуется состоянием Full.
После синхронизации баз данных пакеты LSU рассылаются только при изменениях топологии сети или каждые 30 минут работы.
При отладке сети команда show ip protocols отображает номер процесса OSPF, идентификатор маршрутизатора, адреса присоединенных сетей, наличие пассивных интерфейсов, адреса источников, из которых передаются обновления, значение административного расстояния.
Протокол маршрутизации OSPF в качестве метрики использует стоимость (cost). Метрика протокола OSPF базируются на пропускной способности соединения bandwidth. Алгоритм протокола рассчитывает суммарное значение стоимости всех соединений через сеть. Меньшее значение указывает лучший маршрут. Для вычисления метрики OSPF используется следующая формула:
$$Метрика (Cost)= 10^8 /Bandwidth,$$где пропускная способность bandwidth задается в бит/c.
По умолчанию протокол OSPF автоматически устанавливает максимальное значение пропускной способности в 100 Мбит/с. При этом минимальную стоимость 1 будут иметь соединения FastEthernet, GigabitEthernet и 10 GigabitEthernet (табл. 4.1). Соединение Ethernet характеризуется стоимостью 10 единиц, канал ОЦК со скоростью 64 кбит/с - $$1562,5 \approx 1562$$, канал со скоростью 128 кбит/с - 781, канал Т1 - 64, канал Е1 - 48 единиц.
| Усл. обозначен. | ОЦК | - | T1 | E1 | Fast | Giga | 10G |
|---|---|---|---|---|---|---|---|
| Bandwidth,Мбит/с | 0,064 | 0,128 | 1,544 | 2,048 | 100 | 1000 | 10000 |
| 100 | 1562 | 781 | 64 | 48 | 1 | 1 | 1 |
| 1000 | 15625 | 7812 | 647 | 488 | 10 | 1 | 1 |
| 10000 | 156250 | 78125 | 6477 | 4882 | 100 | 10 | 1 |
Поскольку минимальную стоимость в одну единицу имеют соединения FastEthernet, GigabitEthernet и 10 GigabitEthernet, то при выборе между такими соединениями протокол OSPF не сможет корректно прокладывать маршрут. Поэтому появилась необходимость изменения значений метрики, что реализуется покоманде:
R1(config-router)#auto-cost reference-bandwidth 1000
В этом случае стоимость в 1 единицу будут иметь соединения GigabitEthernet и 10GigabitEthernet, стоимость соединения FastEthernet будет равна - 10 единицам, другие типы соединений также повысят стоимость в 10 раз. Если ввести команду auto-cost reference-bandwidth 10000, то стоимость в 1 единицу будет иметь соединение 10 GigabitEthernet.
Команду auto-cost reference-bandwidth необходимо выполнить на всех маршрутизаторах домена, чтобы протокол OSPF мог правильно выбирать кратчайшие пути к сетям назначения.
Стоимости по умолчанию можно восстановить по команде auto-cost reference-bandwidth 100, когда минимальную стоимость 1 будут иметь соединения со скоростью 100 Мбит/с и выше, т.е. соединения FastEthernet, GigabitEthernet, 10 GigabitEthernet.
Если маршрут состоит из нескольких соединений, то значения метрик cost складываются. Например, для сети (рис 4.4) стоимость маршрута из маршрутизатора А в локальную Сеть 2 будет складываться из метрики соединения между маршрутизаторами А и В (48), метрики соединения между В и С (1562) и метрики сети назначения Ethernet (10).
(рис 4.4) Метрика сети OSPF
Суммарное значение метрики будет равно $$М_{\Sigma} = 48+1562+10 = 1620$$.
Значение пропускной способности, которое учитывается при вычислении метрики маршрута, может быть изменено по команде bandwidth, где полоса пропускания задается в кбит/c. например:
Router(config)#interface serial 0/0
Router(config-if)#bandwidth 64
Значение пропускной способности должно соответствовать реальным линиям связи, что не всегда выполняется. Причем, пропускная способность должна быть задана одинаковой на обеих сторонах соединения.
Операционная система Cisco IOS позволяет задавать не только пропускную способность bandwidth, но и непосредственно значение cost по команде:
Router(config-if)#ip ospf cost значение
Ниже приведен пример конфигурирования протокола OSPF на маршрутизаторах сети IPv4 (рис 4.5).
(рис 4.5) Сеть IPv4 с протоколом OSPF
Из рис 4.5 следует, что Сеть 1 (192.168.10.128/26), Сеть 2 (192.168.10.192/28) и Сеть 4 (192.168.10.16/29) являются подсетями сети 192.168.10.0/24. Причем, Сети 1, 2 и Сеть 4 разделены Сетями 5 и 6.
При конфигурировании протокола OSPF необходимо задать номер процесса (по умолчанию 1) и адреса непосредственно присоединенных сетей с их шаблонными масками переменной длины (wildcard-mask). При этом для каждой сети указывается номер области (area 0):
МаршрутизаторR-А:
R-A(config)#router ospf 1 R-A(config-router)#network 192.168.10.128 0.0.0.63 area 0 R-A(config-router)#network 192.168.10.192 0.0.0.15 area 0 R-A(config-router)#network 200.5.5.12 0.0.0.3 area 0
МаршрутизаторR-B:
R-B(config)#router ospf 1 R-B(config-router)#network 10.10.20.160 0.0.0.31 area 0 R-B(config-router)#network 200.5.5.12 0.0.0.3 area 0 R-B(config-router)#network 200.5.5.16 0.0.0.3 area 0
МаршрутизаторR-С:
R-C(config)#router ospf 1 R-C(config-router)#network 192.168.10.16 0.0.0.7 area 0 R-C(config-router)#network 200.5.5.16 0.0.0.3 area 0
Ниже приведена таблица маршрутизации R-А:
R-A#sh ip route ... Gateway of last resort is not set 10.0.0.0/27 is subnetted, 1 subnets O 10.10.20.160/27 [110/65] via 200.5.5.14, 00:01:09, Serial0/3/0 192.168.10.0/24 is variably subnetted, 5 subnets, 4 masks O 192.168.10.16/29 [110/129] via 200.5.5.14, 00:01:09, Serial0/3/0 C 192.168.10.128/26 is directly connected, GigabitEthernet0/0 L 192.168.10.129/32 is directly connected, GigabitEthernet0/0 C 192.168.10.192/28 is directly connected, GigabitEthernet0/1 L 192.168.10.193/32 is directly connected, GigabitEthernet0/1 200.5.5.0/24 is variably subnetted, 3 subnets, 2 masks C 200.5.5.12/30 is directly connected, Serial0/3/0 L 200.5.5.13/32 is directly connected, Serial0/3/0 O 200.5.5.16/30 [110/128] via 200.5.5.14, 00:01:09, Serial0/3/0 R-A#
Маршруты, созданные протоколом OSPF помечены символом О, административное расстояние - 110. Метрика пути к сети 10.10.20.160/27 составляет 65 единиц (64 единицы последовательное соединение "точка-точка" со скоростью 1544 кбит/с и соединение GigabitEthernet с метрикой в 1 единицу). В распечатке таблицы маршрутизации R-А следует обратить внимание на то, что метрика к сети 200.5.5.16/30 составляет 128 единиц (два последовательных соединения "точка-точка"), а к сети 192.168.10.16/29 - на 1 больше (129 единиц), поскольку дополнительно имеется соединение GigabitEthernet с метрикой в 1 единицу (такой же как у соединений FastEthernet).
Таблица соседних устройств, например маршрутизатора В, отображает следующие параметры:
R-B>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 200.5.5.18 0 FULL/ - 00:00:39 200.5.5.18 Serial0/3/0 200.5.5.13 0 FULL/ - 00:00:39 200.5.5.13 Serial0/3/1
Таблица соседних устройств маршрутизатора А аналогична:
R-A>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 200.5.5.17 0 FULL/ - 00:00:35 200.5.5.14 Serial0/3/0
При изменении идентификатора маршрутизатора, например А, система требует перезагрузки маршрутизатора или ввода команды clear ip ospf process в привилегированном режиме
R-A(config)#router ospf 1 R-A(config-router)#router-id 10.10.10.10 R-A(config-router)#Reload or use "clear ip ospf process" command, for this to take effect R-A#clear ip ospf process Reset ALL OSPF processes? [no]: y
После этой команды идентификатор маршрутизатора изменяется:
R-A#show ip protocols 00:23:58: %OSPF-5-ADJCHG: Process 1, Nbr 200.5.5.17 on Serial0/3/0 from LOADING to FULL, Loading Done Routing Protocol is "ospf 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 10.10.10.10 ...
Изменяется также таблица соседних устройств (изменяются идентификаторы соседних устройств: А - 10.10.10.10, В - 200.5.5.18)
R-B>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 200.5.5.18 0 FULL/ - 00:00:34 200.5.5.18 Serial0/3/0 10.10.10.10 0 FULL/ - 00:00:35 200.5.5.13 Serial0/3/1
При этом адрес входного интерфейса соседнего маршрутизатора А не совпадает с его ID.
Маршрутизаторы рассылают объявления OSPF из всех интерфейсов, что перегружает сеть и снижает информационную безопасность. Однако, например, в сети рис 4.5, маршрутизатору А нет смысла рассылать извещения OSPF из интерфейсов G0/0 и1G0/1, поскольку они не подключены к другим маршрутизаторам. Поэтому указанные интерфейсы можно перевести в пассивный режим, когда они будут передавать и принимать данные, но не будут рассылать объявления OSPF. Ниже приведен пример конфигурирования пассивного интерфейса G0/0 по следующей команде:
R-A(config)#router ospf 1
R-A(config-router)#passive-interface g0/0
Верификация по команде show ip protocols показывает, что интерфейс G0/0 переведен в пассивный режим:
R-A#show ip protocols
Routing Protocol is "ospf 1"
...
Passive Interface(s):
GigabitEthernet0/0
Повторное активирование интерфейса производится по команде
R-A(config-router)#no passive-interface g0/0
Значение стоимости соединений каждого из интерфейсов R-A можно проверить по команде:
R-A>show ip ospf interface
GigabitEthernet0/0 is up, line protocol is up
Internet address is 192.168.10.129/26, Area 0
Process ID 1, Router ID 10.10.10.10, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
...
No Hellos (Passive interface)
...
GigabitEthernet0/1 is up, line protocol is up
Internet address is 192.168.10.193/28, Area 0
Process ID 1, Router ID 10.10.10.10, Network Type BROADCAST, Cost: 1
...
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:09
...
Serial0/3/0 is up, line protocol is up
Internet address is 200.5.5.13/30, Area 0
Process ID 1, Router ID 10.10.10.10, Network Type POINT-TO-POINT, Cost: 64
...
Hello due in 00:00:09
...
Значение bandwidth для последовательного интерфейса можно посмотреть по команде show interfaces 0/3/0, которое в нижеприведенном примере составляет 1544 кбит/с:
R-A#show int s0/3/0
Serial0/3/0 is up, line protocol is up (connected)
Hardware is HD64570
Internet address is 200.5.5.13/30
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
...
Распечатка команды show ip protocols отображает идентификатор маршрутизатора, адреса присоединенных сетей, административное расстояние и другие параметры:
R-A>show ip protocols
Routing Protocol is "ospf 1"
...
Router ID 10.10.10.10
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
192.168.10.128 0.0.0.63 area 0
192.168.10.192 0.0.0.15 area 0
200.5.5.12 0.0.0.3 area 0
Passive Interface(s):
GigabitEthernet0/0
Routing Information Sources:
Gateway Distance Last Update
10.20.10.20 110 00:15:41
200.5.5.17 110 00:15:41
200.5.5.18 110 00:00:35
Distance: (default is 110)
Конфигурирование динамической маршрутизации по умолчанию рассмотрено на примере сети рис 4.6. Для маршрутизатора желательно поддерживать маршруты к каждому возможному адресу назначения. Поэтому на маршрутизаторах формируют маршрут по умолчанию или шлюз последней надежды (Gateway of last resort). Это позволяет маршрутизаторам отправлять пакеты, предназначенные любому узлу Интернета, без необходимости поддерживать в таблице записи (входы) для каждой сети.
(рис 4.6) Пример сети IPv4
Например, в сети рис 4.6 маршруты по умолчанию могут быть сконфигурированы, чтобы передавать пакеты с не заданными в таблицах маршрутизации адресами сетей назначения в сеть провайдера ISP.
Для имитации сети провайдера ISP на маршрутизаторе С сконфигурирован виртуальный интерфейс Loopback1 с адресом 200.7.7.1/30
R-С(config)#interface loopback 1
R-С(config-if)#ip address 200.7.7.1 255.255.255.252
Формирование маршрута по умолчанию производится по команде:
R-С(config)#ip route 0.0.0.0 0.0.0.0loopback 1
После чего в таблице маршрутизации появляется запись о создании шлюза последней надежды (Gateway of last resort is 0.0.0.0 to network 0.0.0.0) и маршрута по умолчанию S* 0.0.0.0/0 is directly connected, Loopback1
R-C#show ip route
...
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
10.0.0.0/27 is subnetted, 1 subnets
O 10.10.20.160/27 [110/65] via 200.5.5.17, 01:08:37, Serial0/3/1
192.168.10.0/24 is variably subnetted, 4 subnets, 4 masks
C 192.168.10.16/29 is directly connected, GigabitEthernet0/0
L 192.168.10.17/32 is directly connected, GigabitEthernet0/0
O 192.168.10.128/26 [110/129] via 200.5.5.17, 01:08:27, Serial0/3/1
O 192.168.10.192/28 [110/129] via 200.5.5.17, 01:08:27, Serial0/3/1
00.5.5.0/24 is variably subnetted, 3 subnets, 2 masks
O 200.5.5.12/30 [110/128] via 200.5.5.17, 01:08:37, Serial0/3/1
C 200.5.5.16/30 is directly connected, Serial0/3/1
L 200.5.5.18/32 is directly connected, Serial0/3/1
200.7.7.0/24 is variably subnetted, 2 subnets, 2 masks
C 200.7.7.0/30 is directly connected, Loopback1
L 200.7.7.1/32 is directly connected, Loopback1
S* 0.0.0.0/0 is directly connected, Loopback1
Однако в таблицах маршрутизации других маршрутизаторов (А и В) подобной информации нет. Для распространения информации о маршруте по умолчанию на другие маршрутизаторы используется следующая команда:
R-C(config)#router ospf 1
R-C(config-router)#default-information originate
Это дает возможность протоколу OSPF распространить информацию о маршруте по умолчанию на другие маршрутизаторы, что можно видеть, например, по таблице маршрутизации маршрутизатора В, где появилась строка маршрута O*E2 0.0.0.0/0 [110/1] via 200.5.5.18, 00:00:28, Serial0/3/0, помеченная символом O*:
R-B>show ip route
...
Gateway of last resort is 200.5.5.18 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.10.20.160/27 is directly connected, GigabitEthernet0/0
L 10.10.20.161/32 is directly connected, GigabitEthernet0/0
192.168.10.0/24 is variably subnetted, 3 subnets, 3 masks
O 192.168.10.16/29 [110/65] via 200.5.5.18, 01:27:55, Serial0/3/0
O 192.168.10.128/26 [110/65] via 200.5.5.13, 01:27:55, Serial0/3/1
O 192.168.10.192/28 [110/65] via 200.5.5.13, 01:27:55, Serial0/3/1
200.5.5.0/24 is variably subnetted, 4 subnets, 2 masks
C 200.5.5.12/30 is directly connected, Serial0/3/1
L 200.5.5.14/32 is directly connected, Serial0/3/1
C 200.5.5.16/30 is directly connected, Serial0/3/0
L 200.5.5.17/32 is directly connected, Serial0/3/0
O*E2 0.0.0.0/0 [110/1] via 200.5.5.18, 00:00:28, Serial0/3/0
В таблице маршрутизатора А сформирована аналогичная строка:
R-A>show ip route
...
Gateway of last resort is 200.5.5.14 to network 0.0.0.0
10.0.0.0/27 is subnetted, 1 subnets
O 10.10.20.160/27 [110/65] via 200.5.5.14, 01:28:31, Serial0/3/0
192.168.10.0/24 is variably subnetted, 5 subnets, 4 masks
O 192.168.10.16/29 [110/129] via 200.5.5.14, 01:28:31, Serial0/3/0
C 192.168.10.128/26 is directly connected, GigabitEthernet0/0
L 192.168.10.129/32 is directly connected, GigabitEthernet0/0
C 192.168.10.192/28 is directly connected, GigabitEthernet0/1
L 192.168.10.193/32 is directly connected, GigabitEthernet0/1
200.5.5.0/24 is variably subnetted, 3 subnets, 2 masks
C 200.5.5.12/30 is directly connected, Serial0/3/0
L 200.5.5.13/32 is directly connected, Serial0/3/0
O 200.5.5.16/30 [110/128] via 200.5.5.14, 01:28:31, Serial0/3/0
O*E2 0.0.0.0/0 [110/1] via 200.5.5.14, 00:01:04, Serial0/3/0
Для работы в сетях IPv6 разработан бесклассовый протокол маршрутизации по состоянию канала OSPF3, большинство параметров которого аналогичны протоколу OSPF2, работающему в сетях IPv4. Оба протокола работают на основе алгоритма SPF. Метрикой обоих протоколов является стоимость ($$cost= 10^8 /Bandwidth$$), где пропускания способность bandwidth задается в бит/c. При обмене маршрутной информацией рассылаются те же типы пакетов, что рассмотрены в разделе 4.1. Рассылка маршрутной информации в OSPF3 производится с использованием группового адреса FF02::5 илиFF02::6 и маршрутизаторов DR и BDR. Кроме того, для рассылки внутри локального канала используются индивидуальные локальные адреса источника и назначения. OSPF3 использует аутентификацию IPv6 по протоколу IPSec.
В отличие от OSPF2, у которого маршрутизация включается автоматически при конфигурировании протокола, включение маршрутизации OSPF3 производится по специальной команде:
Router(config)#ipv6 unicast-routing
Особенности конфигурирования OSPF3 рассмотрены на примере сети рис 4.7. Конфигурирование интерфейсов:
Router(config)#hostname R-A R-A(config)#int g0/0 R-A(config-if)#ipv6 add 2001:DB8:A:1::1/64 R-A(config-if)#no shutdown R-A(config-if)#int g0/1 R-A(config-if)#ipv6 add 2001:DB8:A:2::1/64 R-A(config-if)#no shutdown R-A(config-if)#int s0/3/0 R-A(config-if)#ipv6 add 2001:DB8:A:5::1/64 R-A(config-if)#clock rate 64000 R-A(config-if)#no shutdown R-A(config)#ipv6 unicast-routing
(рис 4.7) Сеть с протоколом OSPF3
Аналогично конфигурируются интерфейсы других маршрутизаторов.
Проверку сконфигурированных параметров можно произвести по команде:
R-A#show ipv6 int brief
GigabitEthernet0/0 [up/up]
FE80::260:70FF:FEAA:A401
2001:DB8:A:1::1
GigabitEthernet0/1 [up/up]
FE80::260:70FF:FEAA:A402
2001:DB8:A:2::1
GigabitEthernet0/2 [administratively down/down]
Serial0/3/0 [up/up]
FE80::203:E4FF:FE88:3101
2001:DB8:A:5::1
...
R-A#
Команда отображает локальные (например, FE80::260:70FF:FEAA:A401) и глобальные адреса (например, 2001:DB8:A:1::1).
Для работы OSPF3 в сетях IPv6 на маршрутизаторах автоматически или вручную задаются идентификаторы (ID), которые представлены адресами IPv4. Администратор может сконфигурировать идентификаторы следующей последовательностью команд:
R-A(config)#ipv6 router ospf 1 R-A(config-rtr)#router-id 1.1.1.1 R-B(config)#ipv6 router ospf 1 R-B(config-rtr)#router-id 2.2.2.2 R-C(config)#ipv6 router ospf 1 R-C(config-rtr)#router-id 3.3.3.3
Комплексную проверку проделанной работы реализует команда:
R-A#show run ... hostname R-A ! ipv6 unicast-routing ! interface GigabitEthernet0/0 ipv6 address 2001:DB8:A:1::1/64 ! interface GigabitEthernet0/1 ipv6 address 2001:DB8:A:2::1/64 ... interface Serial0/3/0 ipv6 address 2001:DB8:A:5::1/64 clock rate 64000 ! ipv6 router ospf 1 router-id 1.1.1.1 log-adjacency-changes ! ip classless ... line con 0 line aux 0 line vty 0 4 login end
Из распечатки следует, что на маршрутизаторе А включена маршрутизация (ipv6 unicast-routing), на интерфейсах заданы адреса IPv6, и создан идентификатор (router-id 1.1.1.1).
При конфигурировании протокола OSPF3 он устанавливается на каждом активном интерфейсе маршрутизатора в отличие от OSPF2, где проводилось описание адресов прямо присоединенных сетей (network) и областей (area). Ниже приведена последовательность команд, которая устанавливает OSPF3 на каждый функционирующий интерфейс
R-A#conf t Enter configuration commands, one per line. End with CNTL/Z. R-A(config)#int g0/0 R-A(config-if)#ipv6 ospf 1 area 0 R-A(config-if)#int g0/1 R-A(config-if)#ipv6 ospf 1 area 0 R-A(config-if)#int s0/3/0 R-A(config-if)#ipv6 ospf 1 area 0
Изменения отображает команда проверки текущей конфигурации:
R-A#show run interface GigabitEthernet0/0 ipv6 address 2001:DB8:A:1::1/64 ipv6 ospf 1 area 0 ! interface GigabitEthernet0/1 ipv6 address 2001:DB8:A:2::1/64 ipv6 ospf 1 area 0 ! interface Serial0/3/0 ipv6 address 2001:DB8:A:5::1/64 ipv6 ospf 1 area 0 clock rate 64000 ! ipv6 router ospf 1 router-id 1.1.1.1 log-adjacency-changes ! Ip classless ... R-A#
После соответствующего конфигурирования всех маршрутизаторов сети (рис 4.7) протокол OSPF3 создает таблицу соседних устройств, таблицу данных о состоянии каналов и таблицу маршрутизации.
Таблица маршрутизации А содержит три маршрута к удаленным сетям, путь к которым проходит через выходной интерфейс Serial 0/3/0:
R-A>show ipv6 route
IPv6 Routing Table - 10 entries
...
C 2001:DB8:A:1::/64 [0/0]
via ::, GigabitEthernet0/0
L 2001:DB8:A:1::1/128 [0/0]
via ::, GigabitEthernet0/0
C 2001:DB8:A:2::/64 [0/0]
via ::, GigabitEthernet0/1
L 2001:DB8:A:2::1/128 [0/0]
via ::, GigabitEthernet0/1
O 2001:DB8:A:3::/64 [110/65]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
O 2001:DB8:A:4::/64 [110/129]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
C 2001:DB8:A:5::/64 [0/0]
via ::, Serial0/3/0
L 2001:DB8:A:5::1/128 [0/0]
via ::, Serial0/3/0
O 2001:DB8:A:6::/64 [110/128]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
L FF00::/8 [0/0]
via ::, Null0
R-A>
Когда необходима специфическая информация только о маршрутах, созданных протоколом OSPF3, используют команду:
R-A>show ipv6 route ospf
...
O 2001:DB8:A:3::/64 [110/65]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
O 2001:DB8:A:4::/64 [110/129]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
O 2001:DB8:A:6::/64 [110/128]
via FE80::20C:85FF:FE10:D402, Serial0/3/0
R-A>
Таблицу соседних устройств можно посмотреть по команде show ipv6 ospf neighbor. Например, таблица соседних устройств маршрутизатора А отображает только одно устройство - маршрутизатор В:
R-A>show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 2.2.2.2 0 FULL/ - 00:00:36 5 Serial0/3/0
Таблица соседних устройств маршрутизатора В отображает два устройства (А и В) с идентификаторами 1.1.1.1 и 3.3.3.3:
R-B#show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 3.3.3.3 0 FULL/ - 00:00:35 5 Serial0/3/0 1.1.1.1 0 FULL/ - 00:00:38 4 Serial0/3/1 R-B#
default-information originate.R-A(config)#ipv6 router ospf 1 R-A(config-rtr)#router-id 1.1.1.1
Router(config-if)#ipv6 ospf 1 area 0.show ipv6 route.show ipv6 route ospf?В нижеприведенной схеме сети сконфигурируйте динамическую маршрутизацию OSPF3. Проведите проверку и отладку с использованием команд show running-config, show ipv6 int brief, show ipv6 route, show ipv6 route ospf, show ipv6 ospf neighbor, ping, traceroute и tracert.
Проанализируйте таблицы маршрутизации, таблицы соседних устройств маршрутизаторов. Посчитайте метрики маршрутов, сравните с табличными значениями.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.