I dati scambiati tra due nodi di una rete nel corso di una comunicazione telematica seguono regole ben precise dettate da protocolli di rete, una sorta di codice stradale, il cui compito è regolare il flusso dei dati tra router e router e determinare quale strada possano e debbano seguire i pacchetti di dati in transito.
Cosa sono i protocolli di routing
Nell'ambito delle comunicazioni e delle infrastrutture di rete, quando si parla di protocolli di routing ci si riferisce a quell'insieme di norme e regole che specifica come due router comunichino tra di loro. In particolare, questi protocolli forniscono tutte le informazioni necessarie a selezionare le rotte più adatte e veloci attraverso le quali far transitare i pacchetti dati. Ogni router, infatti, ha una conoscenza puntuale solo della rete di dispositivi con i quali è collegato direttamente: il resto del network – nel caso del world wide web, il resto della rete mondiale – gli è totalmente oscuro, quanto meno sino al momento in cui non crea una nuova connessione con un nuovo nodo. Grazie ai protocolli di routing, invece, un singolo router può ricevere informazioni anche su nodi esterni alla propria cerchia ristretta e conoscere così la topologia della rete nella quale è immerso.
Le classi di protocolli di routing
Pur esistendo molti protocolli di routing, questi sono solitamente raccolti in tre macro-classi: protocolli di routing interni di tipo 1, protocolli di routing interni di tipo 2, protocolli di routing esterni. Rientrano nel primo gruppo i protocolli di Link state (insieme di protocolli grazie al quale i router di un sistema autonomo conoscono l'intera topologia della rete che li circonda e i costi, in termini di affidabilità del segnale e tempo speso per l'invio dei dati, dei collegamenti), come l'open shortest path first o IS-IS (protocolli di routing che consentono di determinare la topologia di rete e scegliere la strada più breve verso il nodo di destinazione); mentre nel secondo troviamo i protocolli di Distance vector (serie di algoritmi che aiutano a determinare la distanza tra due nodi della rete), come il Routing information protocol o l'Interior Gateway Routing Protocol (che determinano la distanza massima che un pacchetto dati può percorrere nel tentativo di giungere a destinazione). Quando si parla di protocolli esterni, invece, ci si può riferire ai protocolli di routing utilizzati per scambiare informazioni tra due sistemi autonomi oppure a un protocollo di tipo RFC chiamato Exterior Gateway Protocol (protocollo oramai soppiantato dal più efficiente Border Gateway Protocol di cui più avanti).
I protocolli di routing più utilizzati
Con il passare degli anni e l'evolvere della Rete, anche i protocolli di routing sono cambiati per adattarsi alle esigenze dell'infrastruttura - sempre più ampia – e degli utenti – in numero sempre maggiore. Alcuni sono caduti in disuso, come il già citato Exterior Gateway Protocol. Altri, invece, sono utilizzati tutt'oggi e garantiscono il funzionamento di Internet, permettendo ai vari pacchetti dati di rimbalzare tra un nodo e l'altro fino ad arrivare alla loro destinazione designata.
Protocolli di routing esterni
- Border Gateway Protocol. Grazie a questo protocollo, gli utenti connessi a una rete locale possono comunicare con utenti connessi ad altre reti locali, rendendo dunque possibile lo scambio di informazioni su lunga distanza. In particolare, il Border Gateway Protocol garantisce la connessione tra un sistema autonomo (una rete di computer o un insieme di reti che condividono le stesse policy di routing) e un altro sistema autonomo. Si tratta del protocollo di routing esterno maggiormente utilizzato dagli ISP (Internet Service Provider, gli operatori telefonici, per intendersi) e rappresenta, di fatto, la spina dorsale su cui si regge la comunicazione tra nodi appartenenti a Internet. Si tratta di un protocollo di routing estremamente robusto e scalabile (per scalabile si intende un sistema la cui configurazione può crescere o diminuire in scala a seconda delle necessità del caso), basato su una strategia operativa tutto sommato semplice: i router si scambiano tutte le informazioni sulla loro topologia (una specie di mappa che descrive com'è fatta la loro rete locale), contenute nella tabella di routing, non appena la connessione è stabilita, per tornare poi ad aggiornarsi soltanto nel momento in cui avviene un qualche cambiamento a livello di percorsi disponibili (ad esempio nel caso in cui un nuovo nodo/router si aggiunge alla rete locale oppure uno dei preesistenti se ne scollega). In quest'ultimo caso, un router invia, in successione, agli altri router le informazioni riguardanti esclusivamente la route (ovvero la strada informatica lungo cui possono passare i pacchetti di dati) che ha subito modifiche
- Multiprotocol Border Gateway Protocol (MP-BGP). Evoluzione del Border gateway protocol, il MP-BGP permette di distribuire dati e informazioni sfruttando la tecnica dell'IP multicast routing. In questo modo, lo stesso contenuto può essere distribuito a più sistemi autonomi (nodi/router della rete) contemporaneamente: l'aggiornamento della tabella di routing potrà essere così inviato a più nodi in contemporanea, risparmiando tempo e risorse di rete
Protocolli di routing interni
- Open Shortest Path First (OSPF). Protocollo di routing per reti IP, è il frutto di un lungo lavoro di ricerca e ottimizzazione operata a livello di rete. Basato sull'algoritmo shortest path first (detto anche algoritmo di Dijkstra), permette di far viaggiare i dati tra due nodi della rete sfruttando il più breve collegamento esistente. Ciò è possibile perché i router, accumulando notizie e informazioni sullo stato delle connessioni dei router adiacenti (ad es. connessione attiva/disattiva, libera/congestionata, ecc), hanno a disposizione tutti i dati necessari per calcolare, tramite questo protocollo, il percorso più breve e più sicuro lungo cui instradare i pacchetti dati in transito
- Intermidiate System to Intermidiate System (IS-IS). Il protocollo IS-IS permette di diffondere, a tutti i router di una rete, le informazioni riguardanti la topologia e conformazione della rete stessa. In questo modo ogni nodo avrà un'immagine aggiornata e onnicomprensiva della rete di cui fa parte sulla quale basarsi per inoltrare le informazioni in transito seguendo la strada più breve (utilizzando l'algoritmo shortest path first o di Dijkstra)
- Routing Information Protocol. Tra i più vecchi protocolli di routing in uso, il RIP definisce una distanza limite oltre la quale un pacchetto dati in viaggio tra due router non può essere spedito: in questo modo si evita che i dati siano costretti a viaggi troppo lunghi che finirebbero per inficiare la comunicazione. Il Routing Information Protocol, in dettaglio, impone un limite massimo di hop ("salti", ovvero router che il pacchetto dati deve attraversare) per arrivare a destinazione: in questo modo si evita la possibile formazione di un routing loop (ovvero la creazione di un circolo vizioso che impedisce al pacchetto di arrivare a destinazione in quanto continuamente deviato lungo il suo cammino) avendo così la ragionevole certezza che le informazioni arrivino al nodo indicato