RIP2

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

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

Содержание

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

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

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

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

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

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

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

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

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

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

      0               1               2               3      
      0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  command (1)  |  version (1)  |       must be zero (2)        |
     +---------------+---------------+-------------------------------+
     |                                                               |
     ~                         RIP Entry (20)                        ~
     |                                                               |
     +---------------+---------------+---------------+---------------+

command      - Команда, определяет назначение датаграммы (1 - request; 2 - response)
version      - Номер версии, в зависимости от версии, определяется формат пакета
must be zero - Должно быть нулём
RIP Entry    - (RTE) Запись маршрутной информации RIP

RIP пакет может содержать от 1 до 25 записей RIP Entry.

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

      0               1               2               3      
      0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | 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      
   0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Address Family Identifier (2) |        Route Tag (2)          |
  +-------------------------------+-------------------------------+
  |                         IP 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                    - Метрика маршрута

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

   0               1               2               3      
   0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Command (1)   | Version (1)   |            unused             |
  +---------------+---------------+-------------------------------+
  |             0xFFFF            |    Authentication Type (2)    |
  +-------------------------------+-------------------------------+
  ~                       Authentication (16)                     ~
  +---------------------------------------------------------------+

Command             - 
Version             -
unused              -
0xFFFF              -
Authentication Type -
Authentication      -

[править] Реализации

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

Источник — «http://ru.wikipedia.org/wiki/RIP2»