Routing Information Protocol
Caratteristiche
RIP è stato sviluppato nel 1969 come parte di ARPANET e usa l'algoritmo Bellman-Ford. 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 Internet Protocol, 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.
Versioni
Ci sono 3 versioni di RIP: RIPv1, RIPv2 e RIPng.
- RIPv1, definito da (RFC 1058), usa il routing "classful". Gli aggiornamenti delle tabelle di routing non contengono la maschera di sottorete rendendo impossibile la creazione di sottoreti di dimensione diversa all'interno della stessa rete. Non viene supportata nessuna forma di autenticazione, lasciando RIPv1 vulnerabile ad attacchi;
- RIPv2, è stato sviluppato nel 1994 e definito da (RFC 2453), include il trasporto delle informazioni sulla maschera di sottorete, supportando così il Classless Inter-Domain Routing, CIDR. Per garantire la sicurezza degli aggiornamenti sono disponibili 2 metodi: autenticazione semplice con testo in chiaro e MD5, (RFC 2082). Per mantenere la retrocompatibilità il limite di hop count rimane a 15;
- RIPng, (RFC 2080), è una estensione del protocollo originale RIPv1 per supportare IPv6; utilizza UDP sulla porta 521 e non 520, e così può convivere sullo stesso host con una versione per IPv4 (cfr RFC 2080 pag 4).