PROTOCOLLO RIP
Il protocollo RIP e’ il piu’ datato tra i protocolli di routing dinamico oggi in uso in una rete IP. Le specifiche sono indicate in RFC 1058 datato Giugno 1988. In seguito, nel 1995, e’ stato pubblicato l’RFC 1388 che specifica il successore di RIP, il RIPv2, di cui non si parlera’ in questo documento, ma che presenta una valida alternativa al RIPv1 in ambienti dove non si possono ignorare le subnet.
RIP e’ un protocollo IGP, “Interior Gateway Protocol”, ovvero pensato per essere usato in piccole parti di Internet o in WAN isolate da internet, ma non per connettere tra loro diversi AS di Internet (per i quali e’ necessario un protocollo External di tipo EGP)
RIPv1 e’ l’ideale per piccole reti WAN con indirizzamento IP privato e omogenee in termini di larghezza di banda dei link dati presenti. Anche se il piu’ datato e’ presente su molti apparati di rete anche di fascia bassa ed e’ quindi molto diffuso.
RIP utilizza la porta 520 dell’UDP.
In telecomunicazioni e informatica Routing Information Protocol (RIP) è un protocollo di routing di tipo distance vector, che impiega il numero di hop come metrica. Evita i routing loop adottando un limite massimo di hop dalla sorgente verso la destinazione: il numero massimo di hop consentito è 15. Questo numero di hop limita in ogni caso il diametro della rete consentito da RIP. Un numero di hop equivalente a 16 viene considerato come metrica infinita per indicare le rotte inaccessibili che non verranno installate in tabella di routing.
RIP implementa lo split horizon, route poisoning and holddown timer per evitare di annunciare false informazioni di routing. Queste sono alcune caratteristiche che RIP adotta per incrementare la stabilità. È anche possibile utilizzare l’algoritmo RMTI (Routing Information Protocol con Metric-based Topology Investigation) per far fronte al problema del count-to-infinity. In questo modo è possibile rilevare ogni possibile loop con una spesa di calcolo inferiore.
In origine ogni router RIP inviava aggiornamenti completi ogni 30 secondi. A quel tempo le tabelle di routing erano ridotte e di conseguenza la banda impiegata per gli aggiornamenti. Con la crescita delle reti è risultato evidente che sarebbe potuto esserci un picco di traffico non indifferente ogni 30 secondi, anche nel caso in cui i router fossero avviati in maniera asincrona. Si credeva che, a fronte di un boot asincrono, gli updates di routing sarebbero stati differenziati nel tempo. Sally Floyd e Van Jacobson hanno dimostrato nel 1994 che, senza leggere variazioni dei timer di update, dopo un lasso di tempo i timer si sincronizzavano automaticamente.
Nella maggior parte degli scenari attuali, RIP non viene utilizzato come prima scelta poiché convergenza e scalabilità sono qualitativamente inferiori rispetto a EIGRP, OSPF o IS-IS (questi ultimi due sono protocolli link-state) e (senza RMTI) avere un limite di hop limita parecchio la dimensione di utilizzo della rete. Tuttavia RIP è facile da configurare a causa dei pochi parametri rispetto ad altri protocolli di routing.
RIP utilizza UDP come protocollo di trasporto, sulla porta riservata 520.
Caratteristiche
RIP è stato sviluppato nel 1988 come parte di ARPANET e usa l’algoritmo di Bellman-Ford. La struttura del protocollo è basata su parole di 32 bit e il pacchetto può avere dimensione variabile fino a 512 byte. RIP è un protocollo di routing distance-vector che impiega il conteggio dei numeri di salti (hop count) come metrica di routing. Il massimo numero di hop permessi è 15. Ogni router RIP trasmette di default, ogni 30 secondi, la propria tabella di routing completa a tutti i vicini direttamente collegati, generando grandi quantità di traffico di rete su reti a bassa capacità trasmissiva. Oltre a questo è possibile che ci si avvalga di Triggered Update per inviare dati in momenti differenti da quelli del broadcast.
Lavora sopra il livello di rete della suite TCP/IP, usando UDP sulla porta 520 per trasportare i relativi dati. Seppur a livello fisico esso sia a tutti gli effetti un protocollo di livello applicazione, esso è comunemente considerato un protocollo di livello 3 (rete): il fatto di utilizzare UDP come protocollo dati è infatti una mera comodità dal punto di vista dell’implementazione del protocollo stesso e non una necessità per il suo funzionamento; il protocollo di fatto non interagisce con l’utente, ma serve per trasportare informazioni utili a livello di rete.
Opzionalmente può utilizzare un meccanismo di ottimizzazione denominato split horizon il cui scopo è quello di evitare che, in presenza di determinate topologie di rete, si creino dei routing-loop. Per evitare che variazioni continue della topologia di rete (si pensi ad esempio ad un cavo difettoso) generi un eccessivo traffico utile alla fase di aggiornamento, si è introdotto il concetto di Hold Down, con il quale due variazioni successive dello stesso elemento possono essere ritardate fino a 60 secondi. Per evitare di inviare pacchetti troppo grandi, non si possono inserire in un pacchetto più di 25 righe relative alla tabella di routing.
In molti ambienti di rete RIP non è la prima scelta tra i protocolli di routing poiché il tempo di convergenza è lungo e ha una scalabilità della rete modesta se confrontato con OSPF o IS-IS, inoltre il basso numero di hop supportati limita severamente la grandezza della rete. D’altra parte, è molto facile da configurare ed è implementato anche nei router di fascia bassa.