RIP (сетевой протокол)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
RIP
Название Протокол маршрутной информации
Уровень (по модели OSI) Сетевой
Создан в 1969
Порт/ID 520/UDP
Назначение протокола Маршрутизация в малых сетях
Спецификация RFC 1058 (v1), RFC 2453 (v2)
Основные реализации #Реализации

Протокол маршрутной информации (англ.  Routing Information Protocol[1]) — один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов.

История[править | править код]

Алгоритм маршрутизации RIP (алгоритм Беллмана — Форда) был впервые разработан в 1969 году, как основной для сети ARPANET.

Прототип протокола RIP — Gateway Information Protocol, часть пакета PARC Universal Packet.

Версия RIP, которая поддерживает IP была включена в пакет BSD операционной системы Unix под названием routed (route daemon), а также многими производителями, реализовавшими свою версию этого протокола. В итоге протокол был унифицирован в документе RFC 1058.

В 1994 году был разработан протокол RIP-2 (RFC 2453), который является расширением протокола RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности.

Для работы в среде IPv6 была разработана версия RIPng.

Техническая информация[править | править код]

RIP — так называемый протокол дистанционно-векторной маршрутизации, который оперирует транзитными участками (хоп, hop) в качестве метрики маршрутизации. Максимальное количество транзитных участков, разрешенное в RIP — 15 (метрика 16 означает «бесконечно большую метрику»). Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи. RIP работает в сетях TCP/IP, используя UDP порт 520.

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

Формат RIP пакета[править | править код]

0 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
Command (1) Version (1) Routing Domain (должен быть 0) (2)
RIP Entry (20)
  • Command — команда, определяет назначение датаграммы (1 — request; 2 — response)
  • Version — номер версии, в зависимости от версии, определяется формат пакета
  • Routing Domain — идентификатор RIP-системы, к которой принадлежит данное сообщение; часто — номер автономной системы. Используется, когда к одному физическому каналу подключены маршрутизаторы из нескольких автономных систем, в каждой автономной системе поддерживается своя таблица маршрутов. Поскольку сообщения RIP рассылаются всем маршрутизаторам, подключенным к сети, требуется различать сообщения, относящиеся к «своей» и «чужой» автономным системам. Поле использовалось короткое время в версии протокола RIP-2. В протоколе RIP-1 и в текущей версии RIP-2 не используется.
  • RIP Entry (RTE) — запись маршрутной информации RIP. RIP пакет может содержать от 1 до 25 записей RIP Entry.

Формат RIP Entry для протокола RIP-1[править | править код]

Поле Version = 1.

0 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
Address family identifier (2) must be zero (2)
IPv4 address (4)
Must be zero (4)
Must be zero (4)
Metric (4)
  • Address family identifier (AFI) — тип адреса, обычно поддерживается только запись AF_INET, которое равно 2 (т. е. используется для протокола IP).
  • Must be zero — должно быть нулём.
  • IPv4 address — IP адрес места назначения (хост или сеть)
  • Metric — метрика маршрута

Формат RIP Entry для протокола RIP-2[править | править код]

Поле Version = 2.

0 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
Address family identifier (2) Route Tag (2)
IPv4 address (4)
Subnet mask (4)
Next hop (4)
Metric (4)
  • Address Family Identifier (AFI) — тип адреса, обычно поддерживается только запись AF_INET, которое равно 2 (т.е. используется для протокола IP).
  • Route Tag (RT) — тег маршрута. Предназначен для разделения «внутренних» маршрутов от «внешних», взятых, например, из другого IGP или EGP.
  • IP Address — IP адрес места назначения.
  • Subnet Mask — маска подсети
  • Next Hop — следующий хоп. Содержит IP адрес маршрутизатора к месту назначения. Значение 0.0.0.0 — хопом к месту назначения является отправитель пакета. Необходимо, если протокол RIP не может быть запущен на всех маршрутизаторах.
  • Metric — метрика маршрута.

Аутентификация[править | править код]

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

0 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
command (1) version (1) must be zero (2)
0xFFFF Authentication Type (2)
Authentication (16)

Реализации[править | править код]

См. также[править | править код]

Примечания[править | править код]

  1. What is the RIP Protocol? - Definition from Techopedia. Дата обращения: 27 июля 2019. Архивировано 4 июля 2019 года.

Ссылки[править | править код]