Che cos'è un protocollo di routing?
Un protocollo di routing è il mezzo con cui la rete di computer è in grado di dirigere il traffico in modo efficiente tramite dispositivi chiamati router. Qualsiasi protocollo di questo tipo è essenzialmente un algoritmo progettato per prevenire e correggere i loop, raccogliere informazioni sulla topologia di rete e distribuire tali informazioni ad altri router e, in definitiva, selezionare i percorsi che il traffico dovrebbe seguire. Alcuni di questi protocolli gestiscono il traffico all'interno di una rete, indirizzandolo ad altri router all'interno di una rete controllata. Quando è necessario che le comunicazioni entrino o escano da una determinata rete, sono dirette da un altro tipo di protocollo di routing che controlla il traffico ai margini o ai bordi della rete.
Quando un protocollo di routing viene utilizzato all'interno di una rete, viene indicato come protocollo gateway interno (IGP). Usando insieme lo stesso protocollo di routing, formano un dominio di routing. Successivamente, un numero qualsiasi di domini di routing formano insieme una rete che comprende un sistema autonomo (AS). Qui, all'interno di un AS, i protocolli si dividono in due categorie primarie, un protocollo a stato di collegamento o un protocollo basato su vettori.
Con un protocollo dello stato dei collegamenti, i router dialogano tra loro per mappare l'intera rete, valutare lo stato delle connessioni tra loro e quindi calcolare i migliori percorsi possibili che il traffico può percorrere per aggirare. Questo metodo è utile per determinare quali percorsi possono avere una velocità di connessione più elevata rispetto a un altro percorso e per capire il percorso più breve. Questi tipi di protocollo di routing sono molto veloci nel far convergere i router tra loro, aggiornando la loro conoscenza della rete, quando viene aggiunto un nuovo router o si passa alla modalità offline.
Un protocollo di routing basato su vettori è disponibile in due varianti: il vettore di distanza e il vettore di percorso, in cui il secondo è una sottoclasse del primo. I metodi vettoriali a distanza utilizzano ciò che è noto come conteggio dei luppoli per determinare il percorso più breve da un router a quello successivo. Qui, il router conta il numero di altri router che le comunicazioni devono attraversare, ognuna delle quali rappresenta un hop, quindi costruisce la sua mappa dei migliori percorsi possibili. Rispetto a un protocollo con stato di collegamento, un algoritmo di vettore di distanza non è in grado di stabilire la velocità con cui un particolare hop viene confrontato con un altro e può in definitiva scegliere una rotta più lenta anche se richiede meno salti. Soffre anche di ritardi quando un router viene aggiunto o rimosso dalla rete, poiché deve contare nuovamente gli hop per ricostruire la sua mappa della rete.
Un protocollo di instradamento dei vettori di percorso viene spesso utilizzato al confine di una rete in quello che viene definito un protocollo gateway gateway (BGP). Oltre al conteggio dei salti, il router di frontiera pubblicizza anche la sua disponibilità inviando un messaggio di percorso. I router di confine di altre reti sviluppano quindi la loro conoscenza dei percorsi all'esterno di un AS controllando questi messaggi l'uno dall'altro.
In alcuni casi, un protocollo di routing può effettivamente essere instradato su un protocollo di comunicazione esistente. Il fatto che vengano instradati dipende dal livello del modello OSI (Open Systems Interconnection) in base al quale operano, come IS-IS, il livello di collegamento dati ed è un protocollo non instradato. Il protocollo Internet (IP) e il protocollo di controllo della trasmissione (TCP), operano rispettivamente ai livelli tre e quattro e sono due mezzi attraverso i quali è possibile instradare un protocollo di routing. I più importanti sono i BGP eseguiti su TCP.