Теория:Протоколы:RIP

Материал из MikroTik Wiki

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

История

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

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

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

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

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

Техническая информация

RIP — так называемый протокол дистанционно-векторной маршрутизации, который оперирует транзитными участками в качестве метрики маршрутизации. Максимальное количество хопов, разрешенное в RIP — 15 (метрика 16 означает «бесконечно большую метрику»). Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи. RIP работает на 4 уровне (уровень приложения) стека 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)