RIP
Routing Information Protocol (RIP) je v informatice směrovací protokol umožňující směrovačům (routerům) komunikovat mezi sebou a reagovat na změny topologie počítačové sítě. Ačkoliv tento protokol patří mezi nejstarší doposud používané směrovací protokoly v sítích IP, má stále své uplatnění v menších sítích a to především pro svoji nenáročnou konfiguraci a jednoduchost. Poprvé byl definován v RFC 1058 (1988).
Směrovací algoritmus použitý v RIP (tzv. Bellmanův-Fordův algoritmus) byl poprvé nasazen v počítačové síti ARPANET roku 1969.
Nejranější verzí protokolu, ze kterého se RIP vyvinul, byl Gateway Information Protocol, část balíku protokolů pro komunikaci mezi sítěmi PARC, vyvinutého v Xerox Parc. Pozdější verze, pojmenovaná Směrovací Informační Protokol, byla součástí Xerox Network Services.
Verze RIP, která podporovala Internetový Protokol IP, byla později obsažena v BSD distribuci operačního systému Unix a byla označována jako směrovací démon. Ostatní výrobci začali vytvářet svoje vlastní verze směrovacího protokolu. Tyto rozdílné verze byly později sjednoceny pod jediný standard RFC 1058.
RIP je směrovací protokol typu distance-vector (vektor vzdálenosti) využívající Bellmanův-Fordův algoritmus pro určení nejkratší cesty v síti. Metrikou směrování je počet skoků k cílové síti (hop count). Jako ochrana proti směrovacím smyčkám je implementovaný omezený počet směrovačů (hopů) v cestě k cíli, maximální možný počet hopů je 15. Tento limit ovšem také omezuje velikost sítí ve kterých lze RIP použít (16 hopů je bráno jako nekonečná vzdálenost a používá se k označení nepřístupných, nepoužitelných směrovacích tras).
Původně každý router s RIP vysílal aktualizované směrovací tabulky v intervalu 30 sekund. To z počátku nepředstavovalo žádný problém, jelikož směrovací tabulky nebyly tak rozsáhlé, aby se to nějak výrazněji projevilo na síťovém provozu. Vzhledem k růstu sítí (a tudíž i směrovacích tabulek) se ale toto řešení ukázalo jako nevhodné, jelikož každých 30 sekund by byla síť zahlcena velkým množstvím dat. Moderní implementace RIP toto řeší pomocí různých metod nastavujících časové intervaly každého routeru zvlášť, aby byla data rozprostřena v čase, a nedocházelo nárazově k velkým tokům dat.
V dnešních sítích se již RIP nepovažuje za dobrou volbu, jelikož čas potřebný ke konvergenci, či rozšiřitelnost, zaostávají za ostatními protokoly jako EIGRP, OSPF, nebo IS-IS. Navíc (bez použití RIP-MTI algoritmu) je kvůli omezenému počtu hopů velmi omezená velikost sítě ve které lze RIP nasadit. Naproti tomu je ale RIP snáze konfigurovatelný než ostatní protokoly.
Existují různé verze protokolu. Nejstarší nese označení RIPv1, novější je RIPv2. Pro použití v IPv6 byl definován RIPng.
Vylepšení RIPv2 oproti RIPv1:
zabezpečení komunikace mezi směrovači pomocí šifrovaného hesla
přenos síťových masek ve zprávách mezi směrovači umožňuje používat podsítě
Byly vydány tři verze Routing Information Protocol (směrovacího protokolu) a to RIPv1, RIPv2 a RIPng.
Originální specifikace RIPu dle RFC 1058 používá směrování podle původních tříd IPv4 adres A, B nebo C. Periodické aktualizace směrování nezahrnují informace o masce sítě, protože podle původního systému je maska dána příslušností IP adresy do jedné ze tříd. Chybí tak podpora pro CIDR (Classless Inter-Domain Routing), což znemožňuje existenci různě velkých podsítí uvnitř jedné třídy IP adres. Všechny podsítě musí být stejně velké (tj. se stejnou maskou). Neexistuje zde podpora pro vzájemnou autentizaci routerů, a proto je protokol RIPv1 napadnutelný nejrůznějšími útoky.
Kvůli nedostatkům originální specifikace RIP, byla v roce 1993 vyvinuta druhá verze (RIPv2) a naposledy upravena v roce 1998. Zahrnovala možnost přenášet informace o masce sítě, tudíž podporovala CIDR (Classless Inter-Domain Routing). K udržení zpětné kompatibility, zůstalo omezení 15 skoků (hop count). Při správné konfiguraci může být RIPv2 plně kompatibilní se starší verzí. K lepší kompatibilitě slouží vlastnost compatibility switch. Ve snaze vyhnout se zbytečnému zatížení na hostiteli, jež se neúčastní směrování, RIPv2 vysílá celou směrovou tabulku všem sousedním směrovačům na adrese 224.0.0.9 (multicast), čímž se liší od RIPv1, který používá broadcast). Unicastové adresování je stále povoleno pro mimořádné účely.
RIPv2 přidalo podporu pro vzájemnou autentizaci routerů. Hesla jsou však přenášena v nekódovaném textu, což je nedostatečné pro bezpečnou komunikaci v síti internet. Šifrovací (MD5) autentizace pro RIP byla představena v roce 1997. RIPv2 je Internetový Standard STD-56.
RIPng (RIP další generace), který je definován v RFC 2080, je rozšířením RIPv2 zahrnující podporu IPv6 (Internetového Protokolu další generace). Hlavní rozdíly mezi RIPv2 a RIPng jsou:
podpora IPv6 síťování
podpora aktualizovaných autentizací (verifikace ověření identity osoby nebo procesu zabezpečovacím systémem) - RIPng nepodporuje (nahrazeno IPsec)
připojování libovolných tagů k směrovačům (routerům) - RIPng nepodporuje
kódování dalších skoků do každého směrovacího záznamu - RIPng vyžaduje specifické kódování na dalším skoku, pro set směrovacích záznamů
počet skoků (hop count) nesmí přesáhnout 15, v případě, že přesáhne bude považován za neplatný
uvnitř jedné třídy IP adres nemohou v RIP verzi 1 existovat různě velké podsítě
démon routed
– zahrnut ve většině BSD Unix systémů
6WINDGate - 6WIND – komerční začleněný open-source směrovací modul
Quagga – volně šiřitelný open-source směrovací softwarový balík založený na GNU Zebra
OpenBSD – zahrnuje implementaci RIP
Cisco IOS – software používaný v Cisco směrovačích (routerech) (podporuje verzi 1 a verzi 2)
Interior Gateway Routing Protocol (IGRP) je proprietární protokol vyvinutý firmou CISCO. Patří také do rodiny distance-vector směrovacích protokolů. Odstraňuje některé limitace RIP protokolu (např. zvládá více hopů než původních 15) a vylepšuje vypočítávání metriky (zahrnuje více parametrů). Tento protokol používá rozdělení sítí na třídy (classful routing), které vede k plýtvání IP adresami. V současné době je tento protokol považován za zastaralý a byl nahrazen EIGRP.
Enhanced Interior Gateway Routing Protocol (EIGRP) je nástupce IGRP, který pracuje s takzvaným beztřídním směrováním (classless routing), umožňující vytvoření různě velkých sítí. Také implementuje Diffusing Update Algoritmus (DUAL), který zlepšuje routování a zabraňuje vytvoření smyček.