stringtranslate.com

Протокол маршрутной информации

Протокол маршрутной информации ( RIP ) — один из старейших протоколов маршрутизации на основе векторов расстояний , который использует количество переходов в качестве метрики маршрутизации . RIP предотвращает возникновение петель маршрутизации , устанавливая ограничение на количество переходов, разрешенных на пути от источника до места назначения. Максимальное количество переходов, разрешенных для RIP, составляет 15, что ограничивает размер сетей, которые может поддерживать RIP.

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

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

В большинстве сетевых сред RIP не является предпочтительным выбором протокола маршрутизации , поскольку его время сходимости и масштабируемость слабы по сравнению с EIGRP , OSPF или IS-IS . Однако его легко настроить, поскольку RIP не требует никаких параметров, в отличие от других протоколов.

RIP использует протокол пользовательских дейтаграмм (UDP) в качестве транспортного протокола и ему назначен зарезервированный номер порта 520. [1]

Разработка дистанционно-векторной маршрутизации

На основе алгоритма Беллмана-Форда и алгоритма Форда-Фалкерсона протоколы маршрутизации на основе вектора расстояния начали внедряться с 1969 года в сетях передачи данных, таких как ARPANET и CYCLADES . Предшественником RIP был протокол Gateway Information Protocol (GWINFO), разработанный Xerox в середине 1970-х годов для маршрутизации экспериментальной сети. Как часть набора протоколов Xerox Network Systems (XNS), GWINFO трансформировался в протокол маршрутной информации XNS. Этот XNS RIP, в свою очередь, стал основой для ранних протоколов маршрутизации, таких как Novell IPX RIP, AppleTalk Routing Table Maintenance Protocol (RTMP) и IP RIP. Berkeley Software Distribution 1982 года операционной системы UNIX реализовал RIP в демоне routed . Выпуск 4.2BSD оказался популярным и стал основой для последующих версий UNIX, которые реализовали RIP в демоне routed или gated . В конечном итоге протокол RIP был широко распространен [2] до того, как стандарт, написанный Чарльзом Хедриком, был принят как RIPv1 в 1988 году. [3]

Количество переходов RIP

Метрика маршрутизации, используемая RIP, подсчитывает количество маршрутизаторов, которые необходимо пройти, чтобы достичь целевой IP-сети. Количество переходов 0 обозначает сеть, которая напрямую подключена к маршрутизатору. 16 переходов обозначают сеть, которая недоступна в соответствии с ограничением числа переходов RIP. [4]

Версии

Существует три стандартизированных версии протокола маршрутной информации: RIPv1 и RIPv2 для IPv4 и RIPng для IPv6 .

RIP-версия 1

Первоначальная спецификация RIP была опубликована в 1988 году. [3] При запуске и каждые 30 секунд после этого маршрутизатор с реализацией RIPv1 передает на 255.255.255.255 сообщение с запросом через каждый интерфейс с поддержкой RIPv1. Соседние маршрутизаторы, получающие сообщение с запросом, отвечают сегментом RIPv1, содержащим их таблицу маршрутизации . Запрашивающий маршрутизатор обновляет свою собственную таблицу маршрутизации с адресом достижимой IP-сети, количеством переходов и следующим переходом, то есть IP-адресом интерфейса маршрутизатора, с которого был отправлен ответ RIPv1. Поскольку запрашивающий маршрутизатор получает обновления от разных соседних маршрутизаторов, он будет обновлять доступные сети в своей таблице маршрутизации только в том случае, если он получит информацию о достижимой сети, которой еще нет в его таблице маршрутизации, или информацию о том, что сеть, которая есть в его таблице маршрутизации, достижима с меньшим количеством переходов. Поэтому маршрутизатор RIPv1 в большинстве случаев будет иметь только одну запись для достижимой сети, с наименьшим количеством переходов. Если маршрутизатор получает информацию от двух разных соседних маршрутизаторов о том, что одна и та же сеть доступна с тем же числом переходов, но через два разных маршрута, сеть будет введена в таблицу маршрутизации дважды с разными маршрутизаторами следующего перехода. Затем маршрутизатор с поддержкой RIPv1 выполнит то, что известно как балансировка нагрузки с равной стоимостью для IP-пакетов. [4]

Маршрутизаторы с поддержкой RIPv1 не только запрашивают таблицы маршрутизации других маршрутизаторов каждые 30 секунд, они также прослушивают входящие запросы от соседних маршрутизаторов и отправляют свою собственную таблицу маршрутизации в свою очередь. Таким образом, таблицы маршрутизации RIPv1 обновляются каждые 25–35 секунд. [4] Протокол RIPv1 добавляет небольшую случайную временную переменную к времени обновления, чтобы избежать синхронизации таблиц маршрутизации по локальной сети. [5] Считалось, что в результате случайной инициализации обновления маршрутизации будут рассредоточены во времени, но на практике это не соответствовало действительности. Салли Флойд и Ван Якобсон показали в 1994 году, что без небольшой рандомизации таймера обновления таймеры синхронизируются с течением времени. [6]

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

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

RIP-версия 2

Из-за недостатков исходной спецификации RIP в 1993 году была разработана версия RIP 2 (RIPv2), [4] опубликованная в 1994 году [8] и объявленная стандартом Интернета 56 в 1998 году [9]. Она включала возможность переноса информации о подсетях, тем самым поддерживая бесклассовую междоменную маршрутизацию (CIDR). Для поддержания обратной совместимости ограничение на количество переходов осталось равным 15. RIPv2 имеет возможности для полного взаимодействия с более ранней спецификацией, если все поля протокола Must Be Zero в сообщениях RIPv1 указаны правильно. Кроме того, функция переключения совместимости [9] позволяет выполнять тонкую настройку взаимодействия.

Чтобы избежать ненужной нагрузки на хосты, которые не участвуют в маршрутизации, RIPv2 осуществляет многоадресную рассылку всей таблицы маршрутизации всем соседним маршрутизаторам по адресу 224.0.0.9 , в отличие от RIPv1, который использует широковещательную рассылку . Одноадресная адресация по-прежнему разрешена для специальных приложений.

Аутентификация ( MD5 ) для RIP была введена в 1997 году. [10] [11]

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

RIPng

RIPng (RIP следующего поколения) — это расширение RIPv2 для поддержки IPv6 , интернет-протокола следующего поколения. [12] Основные различия между RIPv2 и RIPng:

RIPng отправляет обновления на UDP-порт 521, используя многоадресную группу ff02::9 .

Сообщения RIP между маршрутизаторами

Сообщения RIP используют протокол пользовательских дейтаграмм на порту 520, и все сообщения RIP, которыми обмениваются маршрутизаторы, инкапсулируются в дейтаграмму UDP. [4]

Сообщения RIPv1

RIP определяет два типа сообщений:

Запросить сообщение
Запрос соседнему маршрутизатору с поддержкой RIPv1 отправить свою таблицу маршрутизации.
Ответное сообщение
Содержит таблицу маршрутизации маршрутизатора.

Таймеры

Протокол маршрутной информации использует следующие таймеры в своей работе: [13]

Таймер обновления
Управляет интервалом между двумя беспричинными ответными сообщениями. По умолчанию значение составляет 30 секунд. Ответное сообщение транслируется на все интерфейсы с поддержкой RIP. [13]
Неверный таймер
Недействительный таймер указывает, как долго запись маршрутизации может находиться в таблице маршрутизации без обновления. Это также называется таймером истечения срока действия. По умолчанию значение равно 180 секундам. После истечения таймера количество переходов записи маршрутизации будет установлено на 16, что помечает пункт назначения как недоступный. [13]
Таймер смыва
Таймер сброса управляет временем между недействительным или помеченным как недоступный маршрут и удалением записи из таблицы маршрутизации. По умолчанию значение составляет 240 секунд. Это на 60 секунд больше, чем Invalid timer. Таким образом, в течение 60 секунд маршрутизатор будет сообщать об этом недоступном маршруте всем своим соседям. Этот таймер должен быть установлен на большее значение, чем invalid timer. [13]
Таймер удержания
Таймер удержания запускается для каждой записи маршрута, когда количество переходов меняется с меньшего значения на большее. Это позволяет маршруту стабилизироваться. В течение этого времени обновление этой записи маршрутизации невозможно. Это не является частью RFC 1058. Это реализация Cisco . Значение этого таймера по умолчанию составляет 180 секунд. [13]

Ограничения

Реализации

Похожие протоколы

Проприетарный протокол Cisco Interior Gateway Routing Protocol (IGRP) был несколько более эффективным протоколом, чем RIP. Он принадлежит к тому же базовому семейству протоколов маршрутизации на основе векторов расстояний .

Cisco прекратила поддержку и распространение IGRP в своем программном обеспечении маршрутизаторов. Его заменил Enhanced Interior Gateway Routing Protocol (EIGRP), который является совершенно новой разработкой. Хотя EIGRP по-прежнему использует модель вектора расстояния, он связан с IGRP только в использовании той же составной метрики маршрутизации. И IGRP, и EIGRP вычисляли одну составную метрику для каждого маршрута по формуле из пяти переменных: пропускная способность , задержка , надежность , нагрузка и MTU ; хотя на маршрутизаторах Cisco по умолчанию в этом расчете используются только пропускная способность и задержка.

Смотрите также

Ссылки

  1. ^ "Реестр имен служб и номеров портов транспортных протоколов". www.iana.org . Управление по распределению адресов в Интернете (IANA). стр. 10. Получено 25 февраля 2022 г.
  2. ^ Джефф Дойл; Дженнифер Кэрролл (2005). Профессиональное развитие CCIE: Маршрутизация TCP/IP, том I, второе издание . ciscopress.com. стр. 169. ISBN 9781587052026.
  3. ^ ab C. Hedrick (июнь 1988 г.). Протокол маршрутной информации. Сетевая рабочая группа. doi : 10.17487/RFC1058 . RFC 1058. Историческое. Обновлено RFC 1388 и 1723.
  4. ^ abcde Джефф Дойл; Дженнифер Кэрролл (2005). Профессиональное развитие CCIE: Маршрутизация TCP/IP, том I, второе издание . ciscopress.com. стр. 170. ISBN 9781587052026.
  5. ^ Джефф Дойл; Дженнифер Кэрролл (2005). Профессиональное развитие CCIE: Маршрутизация TCP/IP, том I, второе издание . ciscopress.com. стр. 171. ISBN 9781587052026.
  6. ^ Синхронизация периодических маршрутных сообщений, С. Флойд и В. Якобсон, апрель 1994 г.
  7. ^ Джефф Дойл; Дженнифер Кэрролл (2005). Профессиональное развитие CCIE: Маршрутизация TCP/IP, том I, второе издание . ciscopress.com. стр. 175. ISBN 9781587052026.
  8. ^ G. Malkin (ноябрь 1994 г.). RIP версии 2 — перенос дополнительной информации. Сетевая рабочая группа. doi : 10.17487/RFC1723 . RFC 1723. Устарело. Устарело из-за RFC 2453. Устаревший RFC 1388. Обновляет RFC 1058.
  9. ^ ab G. Malkin (ноябрь 1998 г.). RIP версии 2. Сетевая рабочая группа. doi : 10.17487/RFC2453 . STD 53. RFC 2453. Стандарт Интернета. Отменяет RFC 1723 и 1388. Обновлен RFC 4822.
  10. ^ Ф. Бейкер ; Р. Аткинсон (январь 1997 г.). Аутентификация RIP-2 MD5. Сетевая рабочая группа. doi : 10.17487/RFC2082 . RFC 2082. Устарело. Устарело согласно RFC 4822.
  11. ^ Р. Аткинсон; М. Фанто (февраль 2007 г.). Криптографическая аутентификация RIPv2. Сетевая рабочая группа. doi : 10.17487/RFC4822 . RFC 4822. Предложенный стандарт. Отменяет RFC 2082. Обновляет RFC 2453.
  12. ^ G. Malkin; R. Minnear (январь 1997 г.). RIPng для IPv6. Сетевая рабочая группа. doi : 10.17487/RFC2080 . RFC 2080. Предлагаемый стандарт.
  13. ^ abcde Балчунас, Аарон. "Routing Information Protocol (RIP v1.03)" (PDF) . routeralley.com. Архивировано (PDF) из оригинала 10 октября 2022 г. . Получено 25 апреля 2014 г. .
  14. ^ C. Hendrik (июнь 1988). "RFC 1058 Раздел 2.2". Протокол маршрутной информации . Общество Интернета. doi : 10.17487/RFC1058 .
  15. ^ «Руководство по настройке одноадресной маршрутизации Cisco Nexus серии 9000 NX-OS, выпуск 6.x — Настройка RIP [коммутаторы Cisco Nexus серии 9000]».
  16. ^ "routed, rdisc – сетевой RIP и демон маршрутизации обнаружения маршрутизаторов". Страницы руководства FreeBSD .
  17. ^ "routed, rdisc – сетевой RIP и демон маршрутизации обнаружения маршрутизаторов". Страницы руководства NetBSD .
  18. ^ "ripd – демон протокола маршрутной информации". Страницы руководства OpenBSD .
  19. ^ "Как изменить настройки TCP/IP локальной сети на моем маршрутизаторе Nighthawk?". Страницы поддержки Netgear .

Дальнейшее чтение