RIP
| TCP/IP модель (RFC 1122) |
|---|
| Прикладний рівень |
| BGP · DHCP · DNS · FTP · Gopher · GTP · HTTP · IMAP · IRC · NNTP · NTP · POP3 · RIP · RPC · RTCP · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · STUN · Telnet · TLS/SSL · XMPP · |
| Сеансовий рівень |
| ADSP • H.245 • iSNS • NetBIOS • PAP • L2TP • PPTP • RTCP • SMPP • SSH • ZIP • SDP • RPC • SCP • (more) |
| Транспортний рівень |
| TCP · UDP · DCCP · SCTP · RSVP · ECN · (more) |
| Мережевий рівень |
| IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (more) |
| Рівень мережевих інтерфейсів |
| ARP · RARP · NDP · OSPF · Tunnels (L2TP) · MAC-адреса (Ethernet, DSL, ISDN, FDDI) · Device Drivers · (more) |
Routing Information Protocol, RIP — один із найрозповсюдженіших протоколів маршрутизації в невеликих комп'ютерних мережах , який дозволяє маршрутизаторам динамічно оновлювати маршрутну інформацію (напрямок і дальність в хопах), отримуючи її від сусідніх маршрутизаторів.
Зміст |
Історія [ред.]
Алгоритм маршрутизації 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 — Метрика маршруту
Аутентифікація [ред.]
Під час включеної аутентифікації проводиться обробка тільки тих повідомлень, які містять правильний код аутентифікації Це використовується для підвищення безпеки передачі пакетів 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) | unused | +---------------+---------------+-------------------------------+ | 0xFFFF | Authentication Type (2) | +-------------------------------+-------------------------------+ ~ Authentication (16) ~ +---------------------------------------------------------------+
Command — команда, визначає призначення датаграми (1 - запит, 2 - відповідь)
Version — номер версії;, залежно від версії, визначається формат пакету.
unused — зарезервоване поле.
0xFFFF — вводиться значення FFFF в поле сімейство, щоб вказати, що вхід містить інформацію аутентифікації, а не інформацію маршрутизації.
Authentication Type — визначає метод, який використовується для аутентифікації.
Authentication — містить реальні дані аутентифікації.
