**Routing Information Protocol (RIP)** je jedným z najstarších distance-vector smerovacích protokolov, ktorý využíva počet skokov ako smerovaciu metriku. RIP zabraňuje slučkám smerovania implementáciou limitu na počet povolených skokov na ceste od zdroja k cieľu. Najväčší počet skokov povolených pre RIP je 15, čo obmedzuje veľkosť sietí, ktoré môže RIP podporovať.

Technické detaily
-----------------

RIP ako metriku smerovania používa počet skokov (hop count). Maximálna metrika v tomto protokole môže byť 15. Štandardne si smerovače vymieňajú celé smerovacie tabuľky pravidelne každých 30 sekúnd a udržiavajú ich 180 sekúnd. Pre určenie najkratšej cesty v sieti sa používa Bellman-Fordov algoritmus.

RIP na prevenciu proti smerovacím slučkám používa rôzne techniky, ako napríklad split horizon a route poisoning. RIP sa neodporúča používať vo väčších sieťach, pretože čas, kým si všetky smerovače vymenia smerovacie tabuľky je dlhý, oproti iným protokolom ako EIGRP, či OSPF. V sieti nemôže byť cesta medzi najvzdialenejšími smerovačmi dlhšia ako 15 hopov. Na druhej strane je však konfigurácia RIPu veľmi jednoduchá pre každého administrátora, pretože si nevyžaduje žiadne podrobnejšie nastavenia.

RIP je založený na UDP a má rezervovaný port 520.

Verzie
------

### RIP verzia 1

Pôvodná špecifikácia RIP bola zverejnená v roku 1988. Pri spustení a každých 30 sekúnd potom smerovač s implementáciou RIPv1 vysiela na 255.255.255.255 správu s požiadavkou cez každé rozhranie s povoleným RIPv1. Susedné smerovače prijímajúce správu s požiadavkou a odpovedajú správou RIPv1, ktorá obsahuje ich smerovaciu tabuľku. Žiadajúci smerovač aktualizuje svoju vlastnú smerovaciu tabuľku s dosiahnuteľnou IP sieťovou adresou, počtom skokov a ďalším skokom, čo je IP adresa rozhrania smerovača, z ktorej bola odoslaná odpoveď RIPv1. Keďže žiadajúci smerovač prijíma aktualizácie od rôznych susedných smerovačov, aktualizuje dostupné siete vo svojej smerovacej tabuľke iba vtedy, ak dostane informácie o dostupnej sieti, ktorú ešte nemá vo svojej smerovacej tabuľke, alebo informáciu, že sieť, ktorú má vo svojej smerovacej tabuľke, je dosiahnuteľná s nižším počtom skokov. Preto bude mať smerovač RIPv1 vo väčšine prípadov iba jednu položku pre dostupnú sieť, a to tú s najnižším počtom skokov. Ak smerovač dostane informáciu od dvoch rôznych susedných smerovačov, že tá istá sieť je dosiahnuteľná s rovnakým počtom skokov, ale cez dve rôzne trasy, sieť bude zapísaná do smerovacej tabuľky dvakrát s rôznymi smerovačmi ďalšieho skoku. Smerovač s povoleným RIPv1 potom vykoná to, čo je známe ako vyrovnávanie záťaže (load-balancing) - čiže posiela striedavo pakety jedným a druhým výstupným rozhraním bez prioritizácie niektorého z nich.

Smerovače s povoleným protokolom RIPv1 nielenže požadujú každých 30 sekúnd smerovacie tabuľky iných smerovačov, ale tiež počúvajú prichádzajúce požiadavky od susedných smerovačov a posielajú svoju vlastnú smerovaciu tabuľku. Smerovacie tabuľky RIPv1 sa preto aktualizujú každých 25 až 35 sekúnd. Protokol RIPv1 pridáva k času aktualizácie malú náhodnú časovú premennú, aby sa zabránilo synchronizácii odosielania smerovacích tabuliek v sieti LAN. Predpokladalo sa, že v dôsledku náhodnej inicializácie sa aktualizácie smerovania rozložia v čase, ale v praxi to tak nebolo. Sally Floyd a Van Jacobson v roku 1994 ukázali, že bez miernej náhodnosti aktualizačného časovača sa časovače časom synchronizovali.

Rozhranie, na ktorom beží RIPv1 je možné nakonfigurovať do tichého (pasívneho) režimu, takže router požaduje a spracováva susedné smerovacie tabuľky, udržiava svoju smerovaciu tabuľku a počet skokov pre dostupné siete aktuálne, ale zbytočne neposiela do siete vlastnú smerovaciu tabuľku. Tichý (pasívny) režim je bežne implementovaný na rozhraniach, ktoré obsahujú siete s koncovými zariadeniami.

RIPv1 používa triedne smerovanie. Pravidelné aktualizácie smerovania neprenášajú informácie o podsieti, chýba im podpora pre masky podsiete s premenlivou dĺžkou (VLSM). Toto obmedzenie znemožňuje rôzne veľkosti podsietí v rámci rovnakej triedy siete. Inými slovami, všetky podsiete musia mať rovnakú veľkosť. Chýba tiež podpora pre autentifikáciu smerovača, vďaka čomu je RIP zraniteľný voči rôznym útokom.

### RIP verzia 2

Kvôli nedostatkom pôvodnej špecifikácie RIP bola RIP verzia 2 (RIPv2) vyvinutá v roku 1993, publikovaná v roku 1994 a vyhlásená za internetový štandard 56 v roku 1998. Zahŕňal schopnosť prenášať informácie o maske podsietí, čím podporoval beztriedne smerovanie medzi doménami (CIDR). Aby sa zachovala spätná kompatibilita, zostal limit počtu skokov 15. RIPv2 má schopnosť plne spolupracovať so smerovačmi s nakonfigurovanou predchádzajúcou verziou, ak sú všetky polia protokolu Must Be Zero v správach RIPv1 správne špecifikované. Okrem toho funkcia *compatibility switch* umožňuje jemné úpravy interoperability.

V snahe vyhnúť sa zbytočnému zaťaženiu hostiteľov, ktorí sa nezúčastňujú smerovania, RIPv2 posiela celú smerovaciu tabuľku do všetkých susedných smerovačov cez správy typu multicast na adrese 224.0.0.9, na rozdiel od RIPv1, ktorý používa broadcast. Unicast adresovanie je stále povolené pre špeciálne aplikácie.

Autentifikácia (MD5) pre RIP bola zavedená v roku 1997.

V RIP verzii 2 boli pridané aj značky trasy (route tags). Táto funkcia umožňuje rozlišovať medzi cestami získanými z protokolu RIP a cestami získanými z iných protokolov.

### RIPng

RIPng (RIP next generation) je rozšírením RIPv2 na podporu IPv6, internetového protokolu novej generácie. Hlavné rozdiely medzi RIPv2 a RIPng sú:

* Podpora sietí IPv6.
* Zatiaľ čo RIPv2 podporuje autentifikáciu aktualizácií z RIPv1, RIPng nie. Smerovače IPv6 mali v tom čase používať na autentifikáciu IPsec.
* RIPv2 kóduje ďalší skok (next-hop) do každého záznamu v smerovacej tabuľke, RIPng vyžaduje špecifické kódovanie ďalšieho skoku pre množinu položiek trasy.

RIPng odosiela smerovacie aktualizácie na porte UDP 521 pomocou multicast adresy ff02::9.

RIP správy medzi smerovačmi
---------------------------

Správy RIP používajú protokol User Datagram Protocol na porte 520 a všetky správy RIP vymieňané medzi smerovačmi sú zapuzdrené v segmente UDP.

**RIPv1 správy**

RIP definoval dva typy správ: 

**Správa typu Žiadosť**

Požiadanie susedného smerovača s povoleným RIPv1, aby poslal svoju smerovaciu tabuľku. 

**Správa typu Odpoveď**

Obsahuje smerovaciu tabuľku smerovača.

Časovače
--------

RIP používa ako súčasť svojej činnosti nasledujúce časovače:

**Update časovač :**

Riadi interval medzi dvoma nevyžiadanými správami typu Odpoveď (čiže vtedy, keď od smerovača nikto nežiadal poslanie smerovacej tabuľky, ale on ju posiela v danom časovom intervale sám od seba). Predvolená hodnota je 30 sekúnd. Správa typu Odpoveď sa rozošle cez všetky rozhrania smerovača s povoleným RIP.

**Invalid časovač** **:**

Určuje, ako dlho môže byť položka smerovania v smerovacej tabuľke bez aktualizácie. Nazývame ho aj časovač vypršania platnosti. Štandardne je hodnota 180 sekúnd. Ak o danej ceste smerovač nedostane žiadnu správu do uplynutia časovača, tak po jeho uplynutí sa počet skokov v položke smerovania nastaví na 16, čím sa destinácia označí ako nedosiahnuteľná.

**Flush Časovač** **:**

Riadi čas medzi zrušením platnosti alebo označením trasy ako nedosiahnuteľnou a odstránením položky zo smerovacej tabuľky. Predvolená hodnota je 240 sekúnd. Toto je o 60 sekúnd dlhšie ako Invalid časovač. Takže router bude 60 sekúnd vysielať informácie o tejto nedostupnej trase všetkým svojim susedom. Tento časovač musí byť nastavený na vyššiu hodnotu ako invalid časovač.

**Holddown Časovač** **:**

Spustí sa pri každej aktualizácii trasy, keď sa počet hopov mení z nižšej hodnoty na vyššiu. To umožňuje stabilizáciu trasy. Počas tejto doby nie je možné vykonať žiadnu aktualizáciu tejto položky smerovania. Toto nie je súčasťou RFC 1058. Toto je implementácia spoločnosti Cisco. Predvolená hodnota tohto časovača je 180 sekúnd.

Limitácie
---------

* Počet skokov (hop-count) nemôže prekročiť 15, inak budú trasy zrušené.
* Masky podsiete s premenlivou dĺžkou nie sú podporované RIP verziou 1 (ktorá je zastaraná).
* RIP má problémy s pomalou konvergenciou a tzv. "problému počítania do nekonečna", ktorý môže spôsobiť smerovacie slučky.

Podobné protokoly
-----------------

Proprietárny protokol Interior Gateway Routing Protocol (IGRP) spoločnosti Cisco bol o niečo schopnejší protokol ako RIP. Patrí do rovnakej základnej rodiny protokolov smerovania typu distance-vector.

Cisco ukončilo podporu a distribúciu IGRP vo svojom operačnom systéme pre smerovače (IOS). Nahradil ho protokol EIGRP (Enhanced Interior Gateway Routing Protocol), čo je úplne nový dizajn. Zatiaľ čo EIGRP stále používa model vektora vzdialenosti, s IGRP má spoločnú len zloženú metriku smerovania. IGRP aj EIGRP počítajú jednu zloženú metriku pre každú trasu zo vzorca piatich premenných: šírka pásma, oneskorenie, spoľahlivosť, zaťaženie a MTU; hoci na smerovačoch Cisco sa v tomto výpočte štandardne používa iba šírka pásma a oneskorenie.

Referencie
----------

1. ↑   '**Port Numbers'** [online]. The Internet Assigned Numbers Authority (IANA), 2008-05-22, [cit. 2008-05-25]. Dostupné online.

Zdroj
-----

*Tento článok je čiastočný alebo úplný preklad článku Routing Information Protocol na anglickej Wikipédii.*