Динамическая маршрутизация.

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

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

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

Динамические протоколы делят на две группы:

  • EGP (External Gateway Protocol) - внешний протокол маршрутизации для использования между AS. В группу входят - BGP, IDPR.

  • IGP (Interior Gateway Protocol) - внутреннего протокола маршрутизации для использования внутри AS. В группу входят - RIP, OSPF, IGRP (CISCO), IS-IS.

Протокол RIP

RIP (Routing Information Protocol) - протокол маршрутной информации, использует алгоритм Белмана-Форда. Выбирается самый короткий маршрут (distance-vector).

Первый стандарт RIP RFC1058 (Routing Information Protocol C.L. Hedrick Jun-01-1988).

Последняя версия RIPv2 RFC2453 (RIP Version 2 G. Malkin November 1998).

Используется транспортный протокол UDP.

Порт сервера по умолчанию 520.

Маршрут характеризуется вектором расстояния до места назначения.

Описания собранных маршрутов хранятся в таблице маршрутов (не путать с таблицей маршрутизации), из которой потом выбирается наилучший маршрут и помещается в таблицу маршрутизации, ее еще называют первичной таблицей маршрутизации.

Таблица маршрутов должна содержать для каждого маршрута:

  • IP-адрес места назначения (направление вектора).

  • Метрика маршрута (от 1 до 15; число шагов до места назначения, модуль вектора).

  • IP-адрес ближайшего маршрутизатора по пути к месту назначения.

  • Флаг, что маршрутная информация была изменена.

  • Различные таймеры маршрута. (например, актуальности информации)

14-1

Формат сообщения RIPv2

Коды поля command

command Значения Значение (перевод)
1 request Запрос на получение маршрутной таблицы
2 response Ответ, содержащий маршрутную таблицу отправителя

Address Family Identifier - сетевой протокол, для IP=2, для Инициализации=0xFFFF.

Route Tag - Предназначено, чтобы отделить "внутренние" маршруты RIP (маршруты для сетей в пределах RIP маршрутизируемого домена) от "внешних" маршрутов RIP, которые, возможно, были импортированы от EGP или другого IGP.

Например, маршруты, импортированные от EGP или BGP, могут иметь номер Автономной Системы, из которой маршруты были изучены.

IP Address - IP адрес, при запросе - адрес сети, для которой нужно определить маршрут. При ответе - адрес сети, которая является доступной для источника ответа.

Subnet Mask - соответствующая маска.

Metric - число шагов (hops) до места назначения, должно быть <16 (для ограничения распространения маршрутной информации).

Порядок работы

Порядок работы:

  1. Запрос "Аутентификация". Когда демон стартует, он посылает запрос к маршрутизаторам прислать таблицы маршрутизации. Запрос рассылается широковещательными сообщениями. Формат запроса см. ниже.

  2. Периодические отклики - Каждые 30 сек маршрутизатор посылает широковещательно копию своей маршрутной таблицы соседним маршрутизаторам.

  3. Запрос принят.
    - Если был запрос "Аутентификация" отправляется полная таблица маршрутизации.
    - Иначе обрабатывается каждый пункт в запросе: если присутствует маршрут на указанный адрес, показатель устанавливается в определенное значение, иначе показатель устанавливается в 16. (Показатель, установленный в 16, это специальное значение, которое означает "бесконечно" (infinity) и сообщает, что маршрута к этому пункту назначения не существует.) Возвращается ответ.

  4. Ответ принят. Если ответ признан корректным, таблица маршрутизации может быть обновлена. Могут быть добавлены новые записи, существующие записи могут быть модифицированы или удалены. При этом timeout-timer (тайм-аут) выставляется =180 сек. По истечении запись, становится не активной на 120 сек (garbage-collection timer). По истечении 120 сек, запись удаляется и в регулярном обновлении запись рассылается с метрикой =16, т.е. на удаление.

  5. Незапланированное обновление. Происходит в том случае, если изменяется метрика маршрута. В этом случае нет необходимости посылать таблицу маршрутизации целиком, передается только та запись, которая была изменена.

14-3

Формат сообщения аутентификации RIPv2

Недостатки RIP

  • Ограничение в 16 хопов. Фактически ограничивает количество сетей.

  • Медленная реакция на изменение сети. При этом могут возникнуть циклические маршруты.

  • Самый короткий маршрут может быть перегружен (медленным).

Протокол OSPF

OSPF (Open Shortest Path First) - открыть наикратчайший маршрут первым (алгоритм Дикстры), является протоколом состояния канала (link-state).

Первый стандарт - RFC1131 (OSPF specification J. Moy Oct-01-1989).

Последняя версия OSPFv2 - RFC2328 (OSPF Version 2 J. Moy April 1998).

Сообщение OSPF инкапсулируется прямо в IP пакет (поле данных), т.е. протоколы транспортного уровня не используются.

Поле protocol = 89 (в заголовке IP).

Основные достоинства OSPF.

  • Отсутствие ограничения на размер сети.

  • Автономная система может быть поделена на области маршрутизации.

  • Высокая скорость установления маршрутов.

  • Маршрутизация учитывает тип сервиса IP (type-of-service - ToS), т.е. для разных сервисов могут быть разные маршруты.

  • Каждому интерфейсу может быть назначена метрика на основании
    - пропускной способности
    - времени возврата
    - надежности
    - загруженности (очередь пакетов)
    - размера максимального блока данных, который может быть передан через канал.
    Отдельная цена может быть назначена для каждого типа сервиса IP.

  • Если маршруты имеют одинаковую цену, OSPF распределяет траффик поровну между этими маршрутами. Это называется балансировкой нагрузки (Load balancing).

  • Поддерживает подсети (маску).

  • Поддержка без адресных сетей (unnumbered) - каналы точка-точка между маршрутизаторами, не имеющими IP адресов. Такой подход позволяет сэкономить IP адреса.

  • Использование аутентификации.

  • Используется групповая (multicast) адресация вместо широковещательной.

Области маршрутизации OSPF

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

Опорная область (backbone) - область через которую связываются другие маршрутизаторы. Имеет ID = 0.0.0.0.

14-4

Построение сети с помощью OSPF.

Маршрутизатор опорной сети (Backbone Router - BR) - подключен к опорной сети.

Граничный маршрутизатор области (Area Border Router - ABR) - подключен к нескольким областям.

Граничный маршрутизатор автономной системы (Autonomous System Boundady Router - ASBR) - подключен к другим автономным системам.

Внутренний маршрутизатор (Internal Router - IR) - все его подключения только внутри одной области.

Ответственный маршрутизатор (Designated Router - DR) - собирает и раздает маршрутную информацию в области. В OSPF существует иерархия маршрутизаторов.

Резервный ответственный маршрутизатор (Backup Designated Router - DR) - резервирует DR.

Сообщения OSPF

Формат заголовка сообщения OSPF

14-2

Формат заголовка сообщения OSPF

Коды поля TYPE

TYPE Значения Значение (перевод)
1 Hello Используется для проверки доступности маршрутизатора
2 Database Description Описание базы данных (топология).
3 Link State Request Запрос состояния канала.
4 Link State Update Изменение состояния канала.
5 Link State Acknowledgment Подтверждение получения сообщения о статусе канала.

Коды поля AuType

TYPE Значения Значение (перевод)
0 Null authentication Аутентификация не используется
1 Simple password Простой пароль
2 Cryptographic authentication Криптографическая аутентификация
All others All others Reserved for assignment by the IANA Зарезервировано IANA

Тип сообщения Hello

Это основной тип сообщений.

Для рассылки используется групповой адрес 224.0.0.5 (ALL-OSPF-Routers).

Выполняет следующие функции:

  • Поиск соседних маршрутизаторов.

  • Выбор маршрутизаторов DR и BDR.

  • Определение статуса канала.

  • Установление партнерских отношений между маршрутизаторами.

14-5

Формат сообщения Hello

Options (опции) - характеризует возможности, которые предоставляет данный маршрутизатор.

Rtr Pri (Приоритет) - используется при выборе Backup Designated Router.

Тип сообщения Database Description

Маршрутизаторы обмениваются данными из баз данных OSPF.

14-6

Формат сообщения Database Description

I-bit (The Init bit) - устанавливается в 1 в первом сообщении.

M-bit (The More bit) - станавливается в 1 если являются продолжением.

MS-bit (The Master/Slave bit) - определяет кем послано сообщение, если Master 1, если Slave 0.

LSA (Link State Advertisement) - уведомление о состоянии канала, подробнее рассмотрен в 14.3.3.

Тип сообщения Link State Request

Запрос части базы данных для обновления.

14-8

Формат сообщения Link State Request

Тип сообщения Link State Update

Передача части базы данных, которая была запрошена.

14-9

Формат сообщения Link State Update. Каждый LSA начинается с 20 байтного заголовка описанного выше.

Тип сообщения Link State Acknowledgment

Используется для подтверждения получения фрагмента базы данных.

14-9

Формат сообщения Link State Acknowledgment

Уведомление о состоянии канала

Link State Advertisement (LSA) - уведомление о состоянии канала.

Формат заголовка LSA

14-10

Заголовок LSA

Типы уведомлений LSA

TYPE Значения Описание
1 Router-LSAs описание состояния интерфейсов маршрутизатора
2 Network-LSAs описание набора маршрутизаторов подключенных к сети
3 Summary-LSAs
(IP network)
сводная информация о каналах к сетям, рассылает граничный маршрутизатор области внутри своей области
4 Summary-LSAs
(ASBR)
сводная информация о канале к граничному маршрутизатору автономной системы, рассылается граничным маршрутизатором области внутри своей области
5 AS-external-LSAs описания внешних каналов автономной системы

Options - содержит значения типов сервиса (TOS - type-of-service), поддерживаемые маршрутизатором.

Первый стандарт TOS - RFC1349 (Type of Service in the Internet Protocol Suite P. Almquist July 1992 ASCII).

Последняя версия TOS (теперь DSF) - RFC2474 (Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers K. Nichols, S. Blake, F. Baker, D. Black December 1998).

14-11

Формат поля Options

PRECEDENCE - приоритет дейтаграммы.

Коды типа сервиса (TOS)

OSPF-код TOS-код Значения (RFC-1349) Значения (перевод)
0 0000 normal service Обычный сервис
2 0001 minimize monetary cost Минимизация денежной стоимости
4 0010 maximize reliability Максимальная надежность
6 0011
8 0100 maximize throughput Максимальная пропускная способность
10 0101
12 0110
14 0111
16 1000 minimize delay Минимальная задержка
18 1001
20 1010
22 1011
24 1100
26 1101
28 1110
30 1111

Формат Router-LSAs

описание состояния интерфейсов маршрутизатора.

14-12

Формат Router-LSAs

bit V (virtual) - если V=1, маршрутизатор является оконечной точкой активного виртуального канала.

bit E (external) - если E=1, маршрутизатор является граничным для данной области (ABR).

bit B (border) - если B=1, маршрутизатор является граничным для автономной системы (ASBR).

Коды типов связей, поле Type

Код типа связи Значения Значения (перевод)
1 Point-to-point connection to another router Связь с другим маршрутизатором по схеме точка-точка
2 Connection to a transit network Связь с транзитной сетью
3 Connection to a stub network Связь с оконечной сетью
4 Virtual link Виртуальная связь (например, опорная сеть или туннель)

Идентификаторы канала, поле Link ID, что используется для ID в зависимости от типа связи, поле Type

Код типа связи Значения Link ID Значения (перевод)
1 Neighboring router's Router ID Для ID используется идентификатор соседнего маршрутизатора
2 IP address of Designated Router Для ID используется IP-адрес ответственного маршрутизатора
3 IP network/subnet number Для ID используется IP-адрес сети/субсети
4 Neighboring router's Router ID Для ID используется идентификатор соседнего маршрутизатора

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

TOS - зашифрованный код TOS в OSPF. Таблица "Коды типа сервиса (TOS)".

TOS metric - метрика для специальной TOS-информации.


Формат Network-LSAs

описание набора маршрутизаторов подключенных к сети

14-13

Формат Network-LSAs


 
Формат Summary-LSAs

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

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


14-14

Формат Summary-LSAs


 
Формат AS-external-LSAs

описания внешних каналов автономной системы.

14-15

Формат AS-external-LSAs

bit E - при E=1 метрика считается больше любой метрики, при E=1 сравнивается с другими.

Маршрутная таблица OSPF

Маршрутная таблица OSPF содержит в себе:

  • IP-адрес места назначения и маску;

  • тип места назначения (сеть, граничный маршрутизатор и т.д.);

  • тип функции (возможен набор маршрутизаторов для каждой из функций TOS);

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

  • тип пути (характеризует путь как внутренний, межобластной или внешний, ведущий к AS);

  • цена маршрута до цели;

  • очередной маршрутизатор, куда следует послать дейтограмму;

  • объявляющий маршрутизатор (используется для межобластных обменов и для связей автономных систем друг с другом).

Подключится к демону OSPF, можно с помощью telnet по порту 2604, и просмотреть базу.

14-16

Реальная база OSPF. Видно, что только одна область (0.0.0.0).

ADV Router - Advertising router, который породил LS.

Маршрутная таблица в Linux составленная OSPF

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
83.149.236.193 83.149.236.93 255.255.255.255 UGH 139 0 0 eth0
M.6455 83.149.236.93 255.255.255.255 UGH 74 0 0 eth0
ATS.6455 83.149.236.92 255.255.255.255 UGH 81 0 0 eth0
83.149.234.148 83.149.236.92 255.255.255.252 UG 110 0 0 eth0
83.149.234.212 83.149.236.92 255.255.255.252 UG 80 0 0 eth0
83.149.234.144 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.208 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.156 83.149.236.92 255.255.255.252 UG 161 0 0 eth0
64.209.230.200 * 255.255.255.252 U 0 0 0 eth2
83.149.234.152 83.149.236.92 255.255.255.252 UG 150 0 0 eth0
83.149.234.132 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.128 83.149.236.92 255.255.255.252 UG 100 0 0 eth0
83.149.234.204 83.149.236.92 255.255.255.252 UG 120 0 0 eth0
83.149.234.136 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.200 83.149.236.92 255.255.255.252 UG 1866 0 0 eth0
83.149.234.180 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.244 83.149.236.93 255.255.255.252 UG 74 0 0 eth0
83.149.234.176 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.240 83.149.236.92 255.255.255.252 UG 130 0 0 eth0
83.149.234.188 83.149.236.92 255.255.255.252 UG 110 0 0 eth0
83.149.234.252 83.149.236.92 255.255.255.252 UG 110 0 0 eth0
83.149.234.184 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.164 83.149.236.92 255.255.255.252 UG 111 0 0 eth0
83.149.234.160 83.149.236.92 255.255.255.252 UG 160 0 0 eth0
83.149.234.224 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.172 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.236 83.149.236.92 255.255.255.252 UG 110 0 0 eth0
83.149.234.168 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.232 83.149.236.92 255.255.255.252 UG 81 0 0 eth0
83.149.234.0 83.149.236.93 255.255.255.248 UG 1 0 0 eth0
83.149.234.8 83.149.236.92 255.255.255.248 UG 1 0 0 eth0
83.149.234.216 83.149.236.92 255.255.255.248 UG 170 0 0 eth0
83.149.236.192 83.149.236.93 255.255.255.248 UG 203 0 0 eth0
83.149.236.200 83.149.236.92 255.255.255.248 UG 81 0 0 eth0
83.149.236.208 83.149.236.92 255.255.255.248 UG 1 0 0 eth0
83.149.234.16 83.149.236.92 255.255.255.240 UG 1 0 0 eth0
83.149.237.0 83.149.236.92 255.255.255.240 UG 81 0 0 eth0
212.22.83.96 83.149.236.93 255.255.255.240 UG 1 0 0 eth0
83.149.236.224 83.149.236.92 255.255.255.240 UG 81 0 0 eth0
83.149.236.240 83.149.236.93 255.255.255.240 UG 149 0 0 eth0
83.149.236.32 83.149.236.92 255.255.255.224 UG 1 0 0 eth0
83.149.236.0 83.149.236.92 255.255.255.224 UG 1 0 0 eth0
83.149.234.32 83.149.236.92 255.255.255.224 UG 81 0 0 eth0
83.149.236.96 83.149.236.92 255.255.255.224 UG 161 0 0 eth0
83.149.236.64 * 255.255.255.224 U 0 0 0 eth0
83.149.236.160 83.149.236.92 255.255.255.224 UG 120 0 0 eth0
83.149.236.128 83.149.236.92 255.255.255.224 UG 140 0 0 eth0
83.149.234.64 83.149.236.92 255.255.255.192 UG 111 0 0 eth0
217.107.87.0 83.149.236.93 255.255.255.0 UG 1 0 0 eth0
217.107.103.0 83.149.236.93 255.255.255.0 UG 1 0 0 eth0
10.1.1.0 83.149.236.92 255.255.255.0 UG 81 0 0 eth0
217.107.80.0 83.149.236.93 255.255.254.0 UG 1 0 0 eth0
217.107.74.0 83.149.236.93 255.255.254.0 UG 1 0 0 eth0
10.85.240.0 * 255.255.254.0 U 0 0 0 eth1
81.25.160.0 83.149.236.93 255.255.240.0 UG 1 0 0 eth0
217.198.0.0 83.149.236.93 255.255.240.0 UG 1 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2
default 83.149.236.92 0.0.0.0 UG 0 0 0 eth0
#
 

Динамическая таблица (linux) маршрутизации составленная протоколом OSPF

Последнее изменение: воскресенье, 31 марта 2013, 22:02