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

30.07.2019 Роутеры и модемы

Крупные сети, такие как Internet, организованы как множество автономных систем (autonomous system – AS). Каждая из них обычно администрируется как отдельная сетевая структура, поэтому использование одного протокола маршрутизации в таких сетях маловероятно. Как мы уже знаем маршрутизатор, исходя из IP-адреса, указанного в заголовке пакета, в соответствии с своей таблицей маршрутизации определяет путь для передаваемых данных.
Таблицы маршрутизации задаются как вручную (статическая маршрутизация), так и динамически (динамическая маршрутизация).

Статическая маршрутизация

Так как статические маршруты настраиваются вручную, то любые изменения сетевой топологии требуют участия администратора для корректировки таблиц маршрутизации. В рамках маленькой сети такие изменения незначительны и происходят крайне редко. И наоборот, в крупных сетях корректировка таблиц маршрутизации может потребовать огромных затрат времени.
Если доступ к сети может быть получен только по одному направлению, то указание статического маршрута может оказаться вполне достаточным. Такой тип сети носит название тупиковой сети (stub network). Для настройки статической маршрутизации на роутере необходимо внести запись о сети, которую может достигнуть пакет, отправленный в определенный интерфейс.
Для этого необходимо в конфигурационном режиме ввести команду ip route, в которой указываем IP-адрес и маску сети назначения, тип и номер интерфейса, через который эта сеть может быть достигнута

R1(config)# ip route

Пример: Для сети, изображенной на рисунке необходимо настроить маршрутизацию таким образом, чтобы роутер (R1) пересылал пакеты в сети 92.154.228.0/22 и 92.154.232.0/22

Решением будет указанием 2 команд:

R1(config)# ip route 92.154.228.0 255.255.252.0 Se 1/0
R1(config)# ip route 92.154.232.0 255.255.252.0 Se 1/0

Для проверки конфигурации набираем команду show ip route

R1# show ip route
Codes: C — connected, S — static, I — IGRP, R — RIP, M — mobile,
D — EIGRP, EX — EIGRP external, O — OSPF,

C 92.154.224.0/22 is directly connected, FastEthernet0/0
S 92.154.228.0/22 is directly connected, Serial1/0
S 92.154.232.0/22 is directly connected, Serial1/0
C 92.154.252.0/30 is directly connected, Serial1/0

Как видно из вывода команды кроме подсоединенных сетей появились 2 записи по которым роутер будет все пришедшие к нему пакеты для сетей 92.154.228.0/22 и 92.154.232.0/22 маршрутизировать на интерфейс Serial1/0.

Для того чтобы пакеты из этих сетей уходили обратно необходимо подобным образом настроить роутеры R2 и R3

R2(config)# ip route 92.154.224.0 255.255.252.0 serial 1/0
R2(config)# ip route 92.154.232.0 255.255.252.0 serial 1/1

R3(config)# ip route 92.154.224.0 255.255.252.0 serial 1/0
R3(config)# ip route 92.154.228.0 255.255.252.0 serial 1/0

Еще настроить статическую маршрутизацию можно указав в команде ip route IP-адрес интерфейса следующего транзитного маршрутизатора вместо типа и номера интерфейса роутера, через который может быть достигнута сеть назначения. Например конфигурация роутера R1 для нашего примера будет:

R1(config)# ip route 92.154.228.0 255.255.252.0 92.154.252.2

R1(config)# ip route 92.154.232.0 255.255.252.0 92.154.252.2

R1# show ip route static
92.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
S 92.154.228.0/22 via 92.154.252.2
S 92.154.232.0/22 via 92.154.252.2

Для отмены статического маршрута используется команда no ip route

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

При динамической маршрутизации происходит обмен маршрутной информацией между соседними маршрутизаторами, в ходе которого они сообщают друг другу, какие сети в данный момент доступны через них. Информация обрабатывается и помещается в таблицу маршрутизации. К наиболее распространенным внутренним протоколам маршрутизации относятся:
RIP (Routing Information Protocol) — протокол маршрутной информации
OSPF (Open Shortest Path First) — протокол выбора кратчайшего маршрута
EIGRP (Enhanced Interior Gateway Routing Protocol) — усовершенствованный протокол маршрутизации внутреннего шлюза
IGRP (Interior Gateway Routing Protocol) — протокол маршрутизации внутреннего шлюза

Протокол динамической маршрутизации выбирается исходя из множества предпосылок (скорость конвергенции, размер сети, задействование ресурсов, внедрение и сопровождение и др.) поэтому прежде всего, во внимание принимаются такие характеристики, как размер сети, доступная полоса пропускания, аппаратные возможности процессоров маршрутизирующих устройств, модели и типы маршрутизаторов.
Большинство алгоритмов маршрутизации может быть отнесено к одной из двух категорий: дистанционно-векторные протоколы (RIPv1, RIPv2, RIPng, IGRP, EIGRP, EIGRP for IPv6) и протоколы с учетом состояния канала (OSPFv2, OSPFv3, IS-IS, IS-IS for IPv6).

Routing Information Protocol (RIP)

Протокол RIP является дистанционно-векторным протоколом маршрутизации. Протоколы динамической маршрутизации определяют оптимальный путь к необходимой сети на основании значения, которое называется метрикой. В качестве метрики в протоколе RIP используется количество транзитных устройств или переходов (hop count – прыжок пакета) из одной сетевой структуры в другую. Максимальное число таких переходов равно 15. А все сети, число переходов до которых превышает 15, считаются недостижимыми. Маршрутизаторы, на которых настроен протокол RIP, периодически (по умолчанию каждые 30 с) пересылают полные анонсы маршрутов, в которых содержится информация обо всех известных им сетях.

Работа протокола RIP

Рассмотрим процесс обработки маршрутизатором R1 маршрута к сети 172.30.22.0 Протокол RIP настроен на обоих роутерах R1 и R2 во все непосредственно подсоединенные сети.

Сеть 172.30.22.0 напрямую подключена к маршрутизатору R2, поэтому счетчик переходов для нее равен 0
Когда R2 пересылает анонс маршрута к такой сети, он устанавливает значение счетчика равным 1. Получив анонс от R2, маршрутизатор R1 заносит маршрут к сети 172.30.22.0 в свою таблицу маршрутизации и считает этот маршрут оптимальным, поскольку других маршрутов у него нет.
В качестве исходящего интерфейса для нового маршрута R1 использует S0/0, поскольку анонс был получен через него.
В качестве адреса следующего транзитного устройства на маршруте использует 172.30.1.2, поскольку анонс маршрутизации был получен от отправителя с этим IP-адресом.

Из анонсов маршрутов исключаются некоторые маршруты для того чтобы исключить кольцевые маршруты и зацикливание пакетов. Кольцевой маршрут образуется когда два или более маршрутизаторов пересылают друг другу пакеты по замкнутому пути при котором пакеты не достигают нужного получателя. Кольцевой маршрут будет действовать до тех пор, пока маршрутизаторы в сети не обновят свои таблицы маршрутизации. Для избежания кольцевых маршрутов, маршрутизаторы рассылают информацию об отказавшем маршруте со специальной метрикой, равной бесконечности (для протокола RIP это значение равно 16). Такая рассылка называется корректировкой маршрута.
Еще один механизм предотвращения кольцевых маршрутов – таймер хранения информации. Когда устройство получает откорректированный маршрут (с максимальной метрикой), свидетельствующий о том, что этот маршрут недоступен, запускается таймер для такого маршрута. Стандартное значение таймера хранения информации равно 180 с. До тех пор пока не истечет таймер, новая информация о маршруте не принимается устройством, но информация от соседнего маршрутизатора, который ранее анонсировал исчезнувший маршрут, принимается и обрабатывается до истечения таймера хранения информации.

Пример сети и ее настройки с использованием протокола RIP

Для настройки на маршрутизаторе протокола RIP необходимо ввести команду router rip. Далее в режиме конфигурирования протокола маршрутизации нужно ввести команду network, содержащую номер сети, подключенной непосредственно к роутеру, информацию о которой следует разглашать в рассылках. Если используется бесклассовая адресация, необходимо включить 2 версию протокола RIP командой version 2

Router1(config)# router rip
Router1(config-router)# network 92.154.224.0
Router1(config-router)# network 92.154.252.0
Router1(config-router)# version 2

Router2(config)# router rip
Router2(config-router)# network 92.154.252.0
Router2(config-router)# network 92.154.252.4
Router2(config-router)# network 92.154.228.0
Router2(config-router)# version 2

Router3(config)# router rip
Router3(config-router)# network 92.154.252.4
Router3(config-router)# network 92.154.232.0
Router3(config-router)# version 2

Проверяем таблицу маршрутизации командой

Router1# show ip route rip


R 92.154.228.0/22 via 92.154.252.2, 00:00:20, Serial1/0
R 92.154.232.0/22 via 92.154.252.2, 00:00:20, Serial1/0
R 92.154.252.4/30 via 92.154.252.2, 00:00:20, Serial1/0

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

OSPF

Протокол OSPF является протоколом маршрутизации с учетом состояния каналов. В этом классе протоколов в качестве метрики используется стоимость маршрута, которая рассчитывается на основе пропускной способности каждого канала на пути от маршрутизатора до необходимой сети. Поэтому процесс работы протокола OSPF условно можно разделить на три этапа: обнаружение соседних маршрутизаторов, обмен базами маршрутов и расчет оптимальных маршрутов.
Устройства, подключенные к одному каналу и участвующие в процессе обмена информацией протокола OSPF называются соседними маршрутизаторами. Для обнаружения OSPF-устройств маршрутизаторы рассылают многоадресатные Hello-пакеты через все интерфейсы, на которых настроен протокол OSPF. В запросе содержится следующая информация:
идентификатор маршрутизатора-отправителя Router ID – RID,
идентификатор зоны OSPF Area ID,
Hello-интервал,
интервал обнаружения неработоспособности устройства (dead interval),
приоритет маршрутизатора (router priority),
идентификатор RID выделенного маршрутизатора (designated router DR),
идентификатор RID резервного выделенного маршрутизатора (backup designated router BDR)
список соседних устройств, обнаруженных маршрутизатором-отправителем.

Каждому маршрутизатору присваивается уникальный номер – идентификатор маршрутизатора RID. Он представляет собой 32-битное число, поэтому для удобства в качестве идентификатора используют IP-адрес. Протоколом автоматически выбирается самый старший IP-адрес из всех адресов на интерфейсах устройства (в т.ч. виртуальных).

Например, маршрутизатор «А» получает Hello-сообщение от маршрутизатора «Б». Устройству «А» нужно уведомить маршрутизатор «Б» о том, что сообщение было получено, поэтому маршрутизатор «А» добавляет идентификатор RID маршрутизатора «Б» в свое следующее (и все последующие) Hello-сообщение. Аналогично, когда маршрутизатор «Б» получит Hello-сообщение, он добавит идентификатор RID устройства «А» в свои последующие Hello-сообщения.
Когда маршрутизатор обнаруживает свой идентификатор RID во входящем Hello-сообщении, он считает, что со смежным устройством был установлен двусторонний канал. После этого маршрутизаторы проверяют базовые настройки протокола друг у друга, содержащиеся в Hello-сообщениях: IP-адрес, маску подсети, интервал рассылки Hello-сообщений, интервал обнаружения неработоспособности соседнего устройства (dead interval), идентификатор зоны OSPF (area ID) и др. Настройки должны совпадать, иначе протокол работать не будет.
После проверки, если настройки совпадают, маршрутизаторы могут обмениваться анонсами состояния каналов (Link-State Advertisements – LSA).
После установления двустороннего канала маршрутизаторы продолжают периодически обмениваться Hello-сообщениями. Если связь отсутствуют в течение времени, которое определяется dead-интервалом, то считается, что связь с соседним устройством потеряна. Стандартно в протоколе OSPF интервал рассылки Hello-сообщений равен 10 с, dead-интервал – 40 с.
В анонсах LSA содержится подробная информация о топологии сети. Процесс рассылки этих анонсов называется лавинной рассылкой (flooding), при которой маршрутизаторы пересылают анонсы LSA своим соседям, которые, в свою очередь, рассылают их своим соседям, и так до тех пор, пока все устройства в сети не получат информацию из анонса. Анонсы LSA рассылаются периодически (по умолчанию один раз в 30 мин). По окончании процесса рассылки у всех маршрутизаторов в домене маршрутизации появится общая одинаковая информация о сети. Информация хранится в виде структуры, называемой базой данных состояния каналов link-state database – LSDB.
Когда у каждого маршрутизатора в домене маршрутизации есть идентичная копия базы LSDB, то используется технология протоколов маршрутизации с учетом состояния каналов. Устанавливаются маршруты в таблицу IP-маршрутизации: создаются записи, содержащие адрес подсети, маску, выходной интерфейс и адрес следующего транзитного устройства (next-hop). Для выполнения данной задачи используется алгоритм поиска первого кратчайшего пути Дейкстры.
Протокол OSPF выбирает маршрут между маршрутизатором и какой-либо сетью с наименьшей стоимостью. С каждым интерфейсом на маршруте связано некоторое значение стоимости. Стоимость всех интерфейсов (каналов), через которые пролегает путь к сети, суммируется и выбирается путь, стоимость которого минимальна. Таким образом, каждый маршрутизатор строит маршруты подобно древовидной структуре, в корне которой ставит себя.
Для настройки протокола OSPF используются команда router ospf, которая содержит 16-битный идентификатор процесса от 1 до 65535 и команда network, содержащая номер сети, инверсную маску (wildcard mask) и идентификатор зоны.

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

Router1(config)# route ospf 1
Router1(config-router)# network 92.154.252.0 0.0.0.3 area 0
Router1(config-router)# network 92.154.224.0 0.0.3.255 area 0

Router2(config)# router ospf 1
Router2(config-router)# network 92.154.252.0 0.0.0.3 area 0
Router2(config-router)# network 92.154.252.4 0.0.0.3 area 0
Router2(config-router)# network 92.154.228.0 0.0.3.255 area 0

Router3(config)# router ospf 1
Router3(config-router)# network 92.154.252.4 0.0.0.3 area 0
Router3(config-router)# network 92.154.232.0 0.0.3.255 area 0

Проверяем результаты командой Router1# show ip route ospf

92.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O 92.154.228.0/22 via 92.154.252.2, 00:00:26, Serial1/0
O 92.154.232.0/22 via 92.154.252.2, 00:00:26, Serial1/0
O 92.154.252.4/30 via 92.154.252.2, 00:00:26, Serial1/0

Для просмотра списка соседних маршрутизаторов на которых настроен протокол OSPF, и информации о них используется команда show ip ospf neighbor

Router1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
92.154.252.5 0 FULL/ — 00:00:37 92.154.252.2 Serial1/0

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

Router(config)# interface loopback 0
Router(config-if)# ip add 1.1.1.1 255.255.255.255

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

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

Общее описание маршрутизаторов OSPF

Граничные маршрутизаторы области

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

Граничные маршрутизаторы автономной системы

Маршрутизаторы ASBR соединены с несколькими автономными системами и обмениваются маршрутной информацией с маршрутизаторами, находящимися в другой автономной системе. В маршрутизаторах ASBR одновременно эксплуатируются протокол OSPF и другой маршрутизирующий протокол, такой как RIP или ВGР. Маршрутизаторы ASBR обрабатывают информацию о внешних маршрутах.

Маршрутизаторы опорной области

Маршрутизаторами опорной области (Backbone Router - BR) называются маршрутизаторы, интерфейсы которых соединяют их только с опорной областью. Они не имеют интерфейсов, подключенных к другим областям OSPF.

О чем эта статья

В статье описываются протоколы динамической маршрутизации, использующие для определения оптимальности того или иного маршрута различные алгоритмы – дистанционно-векторный и состояния связи. Приведен пример настройки конфигурации протокола OSPF для пакета Quagga. Описаны особенности демонов маршрутизации routed и gated.

Преимущества и недостатки динамической маршрутизации

Динамическая маршрутизация используется преимущественно в средних и крупных сетях со сложной, часто меняющейся инфраструктурой, где прежде всего важна оперативность отслеживания и устранения проблем связи. Это достигается за счет программного управления таблицами маршрутизации при помощи демонов (в unix-подобных системах для этих целей используются процессы routed и gated). Периодический обмен информацией между маршрутизаторами осуществляется с помощью соответствующих протоколов - на основании полученных данных корректируются записи в таблицах маршрутизации.

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

Внутри- и междоменные протоколы динамической маршрутизации

По мере разрастания локальной сети вопрос эффективной организации динамической маршрутизации становится более актуальным из-за ограничения объема памяти маршрутизаторов и, как следствия, снижения быстродействия в результате увеличения нагрузки на сеть. Для его решения используется понятие «автономная система» (AS), которое представляет собой совокупность локальных сетей, объединенных единой маршрутной политикой. Протоколы, осуществляющие маршрутизацию внутри автономных систем в пределах домена, - RIP/RIPv2, IS-IS, IGRP, OSPF - входят в соответствующую группу «Interior Routing Protocols». В свою очередь, протоколы, выполняющие функцию организации маршрутизации между AS и являющиеся, своего рода, пограничными, или междоменными, - EGP, BGP - объединяются в группу Exterior Routing Protocols.

RIP (Routing Information Protocol) относится к протоколам дистанционного-векторного типа, использующим узел назначения и число хопов (переходов между транзитными узлами) до него в качестве простейшей метрики маршрутизации. В маршрутные таблицы RIP записывается информация об IP-адресах узла назначения и ближайшего шлюза, а также таймерах маршрута. Каждые 30 секунд маршрутизаторы отправляют широковещательные RIP-сообщения с текущими данными своей маршрутной таблицы, обновляя, таким образом, информацию о сети. В Unix и GNU/Linux поддержку протокола RIP первой версии (RIPv1) осуществляет демон маршрутизации routed.

Одним из недостатков протокола RIP является слабая проработка механизма обнаружения неработающих транзитных узлов, в частности, в самом формате RIP-сообщения не предусмотрено какого-либо флага, который бы фиксировал данное изменение сети. Для выявления проблемы для каждого транзитного узла существует период TTL (Time-to-Live), равный шестикратному периоду рассылки векторов по сети. Маршрут считается недоступным, если по истечении указанного времени он не смог отправить соответствующий RIP-сообщение. На практике обновление маршрутных таблиц подобным образом происходит достаточно медленно и не синхронизировано. Нередко это приводит к появлению маршрутных петель, когда из-за образовавшихся некорректных записей в маршрутных таблицах пакеты начинают циркулировать между узлами вплоть до истечения их собственного TTL.

RIP является одним из старейших протоколов динамической маршрутизации, в силу чего его возможности зачастую уступают более современным аналогам. Он прост в настройке, однако имеет ограничение на число хопов (всего 15). Это делает невозможным его использование в крупных сетях, несмотря на доработку протокола до версии RIPv2, в которой была добавлена поддержка VLSM-адресации (масок подсетей переменной длины), multicast-рассылки и возможность агрегации маршрутов. Тем не менее, RIPv2 может использоваться в малых и средних сетях как альтернатива статической маршрутизации.

Более эффективным способом организации динамической маршрутизации внутри AS является использование протоколов состояния связи (link-state protocols). При этом метрикой маршрутизации служит не узел назначения и его удаленность от источника, а коэффициент качества обслуживания канала ближайших маршрутизаторов, или «соседей». Решение об оптимизации маршрута принимается на основании данных о пропускной способности, периоде задержки, надежности и общей загрузке канала, что позволяет обслуживать средние и крупные сети со сложной инфраструктурой.

К протоколам состояния связи относится OSPF (Open Shortest Part First) , являющийся усовершенствованной версией протокола IS-IS и получивший широкое распространение в TCP/IP-сетях. Помимо стандартной поддержки VLSM-адресации, multicast-рассылки, возможности агрегации маршрутов и использования аутентификации, OSPF учитывает в формате рассылаемых сообщений данные поля TOS (Type-of-Service) для вычисления альтернативных маршрутов согласно текущему состоянию каналов связи. В Unix и Gnu/Linux OSPF входит в список протоколов, поддерживаемых демоном маршрутизации gated и пакетом GNU Zebra 1 или его усовершенствованной версией Quagga 2 .

Каждый маршрутизатор хранит информацию о состоянии соседних транзитных узлов, а также общую базу данных о топологии сети, представленную в виде графа. Актуальность состояния связей между соседними маршрутизаторами поддерживается за счет частого (от 10 до 30 секунд) обмена короткими hello-сообщениями. Информация об изменениях топологии всей сети передается с периодичностью раз в 30 минут отдельными пакетами «router links advertisment». Важной особенностью OSPF является поддержка разделения AS на несколько сегментов сети, каждый из которых имеет выделенный маршрутизатор (DR – Designated Router) и резервный (BDR – Backup Designated Router). Узлы, входящие в отдельный сегмент сети, получают информацию только от DR, который, в свою очередь, обменивается данными с другими выделенными маршрутизаторами. Такой метод позволяет поддерживать актуальность маршрутных таблиц и более эффективно распределять сетевую нагрузку.

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

BGP (Border Gateway protocol) , или BGP4, является на сегодняшний день единственным междоменным протоколом, способным передавать информацию между отдельными AS. Он обеспечивает функционирование сети Интернет, используя для передачи данных маршруты, проходящие через наименьшее число AS. При этом каждые 30 секунд для проверки работоспособности узла происходит широковещательная рассылка TCP-пакетов (KEEPALIVE). Полученная информация добавляется в маршрутные таблицы только после инкрементного обновления. В дальнейшем AS обмениваются текущими изменениями.

Алгоритм работы BGP4 похож на векторно-дистанционный, с той разницей, что вектор пути ориентируется на номер сети и набор атрибутов, позволяющих принимать решение о выборе оптимального маршрута. В их число входят обязательные атрибуты AS_PATH (список AS, через которые должен проходить пакет) и NEXT_HOP (адрес следующего BGP-маршрутизатора), а также дополнительные параметры, отвечающие за агрегацию маршрутов, приоритет AS и маршрутизаторов и т. д.

BGP4 также поддерживает CIDR – бесклассовую маршрутизацию. В Unix и GNU/Linux BGP4, как и OSPF, настраивается при помощи gated или Quagga.

Демоны маршрутизации routed и gated

Routed 3 – стандартный демон маршрутизации, поддерживающий только протокол RIPv1. Он прост в использовании, так как не требует дополнительной настройки и самостоятельно вносит изменения в маршрутную таблицу при обнаружении более оптимальных маршрутов. Тем не менее, он обладает рядом недостатков, в частности, отсутствием поддержки других протоколов, неудобством при одновременном использовании статических и динамических маршрутов. В этом плане предпочтение отдается демону gated 4 , который обладает более широкими возможностями. В число поддерживаемых им протоколов входят RIPv2, OSPF, BGP4 и некоторые другие. Вместе с тем настройка конфигурационного файла /etc/gated.conf, в котором прописываются не только опции самого демона, но и настройки протоколов и маршрутов, и чей синтаксис схож с языками программирования, может показать достаточно сложной тем, кто впервые сталкивается с настройкой маршрутизации при помощи данной утилиты.

Настройка протокола OSPF при помощи Quagga

Пакет Quagga , разработанный как ответвление GNU Zebra, представляет собой набор утилит, предназначенных для настройки протоколов динамической маршрутизации в unix-подобных системах. Он входит в стандартную сборку большинства дистрибутивов, поддерживает все распространенные версии протоколов (OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng, BGP4) и достаточно прост в настройке и использовании. При использовании Quagga под GNU/LInux рекомендуется проверять наличие выставленных параметров ядра CONFIG_NETLINK, CONFIG_RTNETLINK и CONFIG_IP_MULTICAST – они обеспечивают взаимодействие ядра и демона zebra, а также поддержку multicast-рассылки, используемой демонами ripd и osfpd.

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

# vim /etc/quagga/daemons zebra=yes ospfd=yes

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

Для каждой установленной службы существует возможность редактирования конфигурационных файлов через отдельный интерфейс vty, подключение к которому реализуется при помощи telnet. Для этого автоматически выделяется номер порта, информацию о котором необходимо добавить в /etc/services:

zebra 2601/tcp # zebra vty ospfd 2604/tcp # ospfd vty

Для настройки демонов создается одноименный файл в /etc/quagga/ вида *.conf, при этом его владельцем должен быть пользователь quagga.

Запуск демонов осуществляется при помощи следующих команд:

# /usr/sbin/zebra –dk # запуск демона с сохранением уже сконфигурированных маршрутов # /usr/sbin/ospfd –d

Автономная система состоит из нескольких подсетей, объединенных тремя маршрутизаторами, которые также образуют отдельную подсеть (см. рис. 1) 5 . Один из маршрутизаторов является шлюзом по умолчанию для доступа в Интернет. Необходимо настроить динамическую маршрутизацию по протоколу OSPF между подсетями 192.168.10.0/24 и 192.168.12.0/24.


Для настройки OSPF необходимо установить пакет Quagga на каждом маршрутизаторе, а также отредактировать файл zebra.conf:

# vim /etc/quagga/zebra.conf !Имя хоста hostname Router1 !пароль для доступа в vty-интерфейс password zebra !пароль для административного доступа и настройки enable password zebra !путь к лог-файлу log file /var/log/quagga/zebra.log !интерфейс в подсеть 192.168.0.0/24 interface eth0 ip address 192.168.0.1./24 !шлюз в Интернет по умолчанию interface eth1 ip route 0.0.0.0./0 213.190.94.6 hostname Router2 password zebra enable password zebra log file /var/log/quagga/zebra.log interface eth0 ip address 192.168.0.2./24 interface eth1 ip address 192.168.12.1./24 hostname Router3 password zebra enable password zebra log file /var/log/quagga/zebra.log interface eth0 ip address 192.168.0.3./24 interface eth1 ip address 192.168.10.1./24

Таким же образом настраиваются конфигурационные файлы ospfd.conf:

# vim /etc/quagga/ospfd.conf hostname Router1 password zebra enable password zebra router ospf ospf router-id 192.168.0.1 #ID роутера network 192.168.0.0/24 area 0 #указание на подсеть и номер области, #которой она принадлежит default-information originate #анонсирование маршрута по умолчанию #происходит с данного шлюза log file /var/log/quagga/ospfd.log hostname Router2 password zebra enable password zebra router ospf ospf router-id 192.168.0.2 network 192.168.0.0/24 area 0 network 192.168.12.0/24 area 1 redistribute connected #все сети, подключенные к данным #интерфейсам, необходимо анонсировать #по ospf log file /var/log/quagga/ospfd.log hostname Router3 password zebra enable password zebra router ospf ospf router-id 192.168.0.3 network 192.168.0.0/24 area 0 network 192.168.10.0/24 area 2 redistribute connected log file /var/log/quagga/ospfd.log

После того как настройка закончена, необходимо запустить демоны и подключиться через telnet к tvy-интерфейсу ospfd:

# /usr/sbin/zebra –dk # /usr/sbin/ospfd –d # telnet localhost ospfd

Проверить работоспособность протокола можно, запустив в консоли Quagga команду show ip ospf neighbor, которая выводит список активных «соседних» маршрутизаторов. Команда show ip ospf route выводит список маршрутов, которые были получены по протоколу OSPF.

Средства мониторинга и анализа сети с динамической маршрутизацией

В большинстве случаев стандартные утилиты, при помощи которых конфигурируются протоколы динамической маршрутизации, уже содержат встроенные средства для ее мониторинга и анализа. Так, команда ospf_monitor, используемая в gated, позволяет увидеть подробную статистику по сконфигурированным маршрутным таблицам OSPF, а также информацию о соседних маршрутизаторах. Кроме того, поддержка логирования как в gated, так и в Quagga, позволяет системному администратору при создании соответствующего скрипта перенаправлять сообщения о критических ошибках на e-mail или другое средство оповещения.

Заключение

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

Протокол динамической маршрутизации RIP

Протокол динамической маршрутизации RIP - понятие и виды. Классификация и особенности категории "Протокол динамической маршрутизации RIP" 2017, 2018.

  • - The Anglo-Saxon script and peculiarities of the Old English alphabet

    The earliest records of English that have come down to us are dated in the 7th century. The period preceding this date is called pre-written. The Old English written monuments represent two types of script – the so called runic alphabet and Latin alphabet. The Runic alphabet was adopted by Anglo-Saxons on the continent before coming to the Island. It is a special type of script used by all Germanic tribes before they became Christians. They adopted Christianity in the 7th century. In the year... .


  • - Post scriptum 1 страница

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


  • - P. Post scriptum

    «Жизнь подобна игрищам: иные приходят на них состязаться, иные торговать, а самые счастливые – смотреть; так и в жизни иные, подобно рабам, рождаются жадными до славы и наживы, между тем как философы – до единой только истины», – сказал Пифагор. Мы пришли для того, чтобы... .


  • - Homo triplex и три квинтета

    Прежде чем изучать структуру Адулруны, рассмотрим представления Буреуса о трёхчастности. Как человек, так и мир состоят из трёх уровней бытия. Это общее представление герметизма и неоплатонизма. Существует божественный уровень, материальный уровень, а между ними - некий... .


  • - Маршрутизация в глобальной сети. Метрики. Протокол RIP.

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


  • - Лабораторная работа №7. Настройка протокола RIP в корпоративной сети.

    Создайте схему, представленную на рис.6.2. Рис.6.2. Схема сети. В четырех сетях: 11.0.0.0/8, 12.0.0.0/8, 13.0.0.0/8 и 14.0.0.0/8 установлены компьютеры с адресами: Comp1 – 11.0.0.11, маска 255.0.0.0 Comp2 – 12.0.0.12, маска 255.0.0.0 ... ..


  • - PostScript Type1

    Каждый символ шрифта можно представить как совокупность фрагментов некоторых кривых. С математической точки зрения для описания фрагмента кривой достаточно указать небольшое количество параметров. Например, кривая второго порядка - квадратичная парабола у = ах2+ bх... .








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


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

    Два маршрутизатора и пять сетей


    По умолчанию при данной топологии сети, "левый" маршрутизатор будет иметь в своей таблице маршрутизации записи только для трех непосредственно подключенных к нему сетей: 192.168.1.0/24 , 172.20.0.0/16 и 192.168.100.0/30 . Аналогично "правый" маршрутизатор будет знать только о сетях: 192.168.2.0/24 , 10.0.0.0/8 и 192.168.100.0/30 . И если мы попробуем из сети 172.20.0.0/16 обратится к сети 192.168.2.0/24, то ответа мы с вами не дождемся. Понятное дело, мы можем накидать роутерам статических маршрутов или же стандартных маршрутов (aka маршрутов по умолчанию).
    Вроде бы отличный выход, да? Но что будет, если перед нами стоит вот такая сетевая топология:


    Более сложная сетевая топология


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

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

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

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

    Теперь немного теории. Все протоколы динамической маршрутизации можно разделить на протоколы маршрутизации внешнего (Interior Gateway Protocol , IGP ) и внутреннего шлюза (Exterior Gateway Protocol , EGP ). Протоколы внутреннего шлюза предназначены для маршрутизации внутри автономных систем, протоколы внешнего для осуществления маршрутизации между автономными системами. В данном случае под автономной системой понимается некоторая крупная сеть, по единым управлением. Например, сеть крупного предприятия.


    Применение IGP и EGP


    Представителями семейства протоколов IGP являются протоколы: RIP-1 , RIP-2 , IGRP , OSPF , EIGRP . К EGP относится один протокол - BGP .

    При использовании протоколов динамической маршрутизации, все маршруты помещаемые в таблицу маршрутизации снабжаются дополнительной информацией, называемой метрикой. Метрика позволяет маршрутизаторам высчитывать кратчайший маршрут до требуемой сети. В соответствии с тем как рассчитывается метрика все протоколы динамической маршрутизации можно разделить на дистанционно векторные (Distance vector ), протоколы c учетом состояния каналов (Link-state ) и гибридные.

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


    Некоторая сетевая топология


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

    Протоколы c учетом состояния каналов в своей работе, как это не странно, учитывают состояния каналов, и уже исходя из этих состояний высчитывают значения метрики.

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

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

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

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

    Протокол 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.

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

    Протокол RIP очень популярен среди тех, кто имеет отношение к Internet. Это протокол с использованием алгоритма длины вектора, где маршрут определяется исходя из расстояния (числа транзитных узлов) на пути следования данных до точки назначения

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

    Пункт назначения (в нем перечислены все конечные, в смысле адреса, локальные сети);

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

    Расстояние (число транзитных узлов, необходимых для того, чтобы достичь пункта назначения).

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

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

    В соответствии с протоколом RIP каждый маршрутизатор автоматически посылает (примерно раз в 30 секунд) своим соседям пакет типа «ответ» со своей таблицей маршрутизации. Для передачи больших таблиц маршрутизации требуется несколько пакетов. Помимо этого в протоколе RIP предусмотрено, чтобы каждый маршрутизатор следил за тем, сколько времени прошло с момента получения последнего ответа; если ответ от кого-нибудь из соседей не поступает в течение длительного времени (обычно 90 секунд), соответствующий путь удаляется из таблицы маршрутизации данного устройства, а все соседи извещаются об этом событии.

    В протоколе RIP предусмотрен ряд мер, призванных повысить стабильность работы протокола. Среди них: лимит числа промежуточных узлов (hop-count limit), временный отказ от приема информации (hold-down) и расщепление горизонта (split horizon). Лимит на число промежуточных узлов позволяет предотвратить зацикливание пакета при пересылке. Данный лимит в RIP равен 15, откуда следует, что этот протокол годится только для не слишком больших сетей. (Во второй версии протокола RIP это ограничение снято, и количество промежуточных узлов может достигать 255.)

    Основным недостатком RIP является не слишком высокая функциональность: он не годится для больших сетей и не может эффективно определять альтернативные маршруты.

    Недостатки RIP

    · Ограничение в 16 хопов (Hop -прыжок). Фактически ограничивает количество сетей.

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

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

    Протокол OSPF

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

    Протокол OSPF, основанный на алгоритме предпочтения кратчайшего пути, был разработан Болтом, Беранеком и Ньюменом (Кембридж, шт. Массачусетс) для сети ARPANet в 1978 году. OSPF способен осуществлять эффективную маршрутизацию пакетов с учетом изменений топологии сети, соответствующим образом меняя путь прохождения сетевого трафика. Кроме того, накладные расходы на пересылку данных об изменении топологии в OSPF меньше: рассылке подлежит не таблица маршрутизации в целом, а только информация об изменениях.

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

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

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

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

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

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

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

    · Каждому интерфейсу может быть назначена метрика на основании:

    Пропускной способности

    Времени возврата

    Надежности

    Загруженности (очередь пакетов)

    Размера максимального блока данных, который может быть передан через канал.

    Отдельная цена может быть назначена для каждого типа сервиса IP (ToS).

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

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

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

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

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


    ©2015-2019 сайт
    Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
    Дата создания страницы: 2017-07-25