I router sono dei dispositivi che permettono di "scegliere" il percorso che i datagrammi prenderanno per arrivare a destinazione.
I router sono dei terminali con più schede di rete ciascuna collegata ad una rete differente. Quindi, nella configurazione più semplice, il router deve solo "guardare" su quale rete si trova un computer per fargli arrivare i datagrammi da parte del mittente. Tuttavia, su Internet lo schema è molto più complicato per le ragioni seguenti:
Il numero di reti alle quali il router è connesso è solitamente elevato;
Le rete a cui il router è collegato possono essere connesse ad altre reti che il router non conosce direttamente.
Così, i router funzionano grazie a delle tabelle di routing e dei protocolli di routing, secondo il modello seguente:
Il router riceve un frame proveniente da un terminale connesso a una delle reti a cui è collegato;
I datagrammi sono trasmessi al livello IP;
Il router guarda l'intestazione del datagramma;
Se l'indirizzo IP di destinazione appartiene a uno degli indirizzi cui una delle interfacce del router è collegata, l'informazione deve essere inviata al livello 4 dopo che l'intestazione IP sia stata disincapsulata (tolta);
Se l'indirizzo IP di destinazione fa parte di una rete diversa, il router consulta la propria tabella di routing, tabella che definisce il percorso da prendere per un indirizzo dato;
Il router invia il datagramma grazie alla scheda di rete collegata alla rete sul quale il router decide di inviare il pacchetto. Così, si hanno due scenari, sia l'emettitore che il destinatario appartengono alla stessa rete nel qual caso si parla di direct delivery, oppure vi è almeno un router tra il mittente e il destinatario, e allora si parla di indirect delivery;
In caso di indirect delivery, il ruolo del router, soprattutto quello della tabella di routing, è molto importante. Quindi il funzionamento di un router è determinato dal modo in cui questa tabella di routing è creata;
Se la tabella di routing è inserita manualmente dall'amministratore, si parla di routing statico (utilizzabile per piccole reti);
Se il router costruisce da solo la tabella di routing in funzione delle informazioni ricevute (attraverso i protocolli di routing), si parla di routing dinamico.
La tabelle di routing è una tabella di corrispondenza tra l'indirizzo del terminale scelto e il nodo seguente al quale il router deve consegnare il messaggio. In realtà basta che il messaggio sia consegnato sulla rete che contiene il terminale, e non è quindi necessario memorizzare l'indirizzo IP completo del terminale: solo l'identificatore di rete dell'indirizzo IP (cioè l'ID di rete) ha bisogno di essere memorizzato. La tabella di routing è quindi una tabella contenente delle coppie di indirizzi:
Indirizzo di destinazione | Indirizzo del prossimo router direttamente accessibile | Interfaccia |
Grazie a questa tabella, il router, conoscendo l'indirizzo del destinatario incapsulato nel messaggio, sarà capace di sapere a quale interfaccia inviare il messaggio (cioè quale scheda rete usare) e a quale router, direttamente accessibile sulla rete a cui la scheda è connessa, passare il datagramma. Questo meccanismo consistente nel riconoscere solo l'indirizzo del prossimo passaggio che porta a destinazione viene detto routing per salti successivi (in inglese next-hop routing).
Comunque, può succedere che il destinatario appartenga ad una rete non referenziata nella tabella di routing. In questo caso, il router usa un router di default (detto anche Gateway predefinito). Ecco, in maniera semplificata, a cosa potrebbe assomigliare una tabelle di routing:
Indirizzo di destinazione | Indirizzo del prossimo router direttamente accessibile | Interfaccia |
194.56.32.124 | 131.124.51.108 | 2 |
110.78.202.15 | 131.124.51.108 | 2 |
53.114.24.239 | 194.8.212.6 | 3 |
187.218.176.54 | 129.15.64.87 | 1 |
Il messaggio è così mandato da router in router per salti successivi, fino a che il destinatario appartenga ad una rete direttamente connessa ad un router. Quest'ultimo trasmetterà allora direttamente il messaggio al terminale scelto.
In caso di router statico, è l'amministratore che aggiorna la tabella di routing. In caso di router dinamico, invece, un protocollo detto protocollo di routing permette l'aggiornamento automatico della tabella affinché contenga in ogni momento il percorso ottimale.
Internet è un insieme di reti connesse. Di conseguenza tutti i router non fanno lo stesso lavoro secondo il tipo di rete in cui si trovano:
In effetti, vi sono differenti livelli di router, che funzionano quindi con protocolli diversi:
I router nodo sono i router principali dato che sono loro a collegare le differenti reti;
I router esterni permettono un collegamento di reti autonome fra loro. Funzionano con un protocollo detto EGP ((Exterior Gateway Protocol) che evolve passo dopo passo mantenendo la stessa denominazione;
I router interni permettono il routing delle informazioni all'interno di una rete autonoma. Scambiano delle informazioni grazie ai protocolli detti IGP (Interior Gateway Protocol), come RIP e OSPF.
RIP significa Routing Information Protocol (protocollo di informazione di routing). Si tratta di un protocollo di tipo Vector Distance, cioè ogni router comunica agli altri router la distanza che li separa (il numero di salto che li separa). Così, quando un router riceve uno di questi messaggi aumenta questa distanza di 1 e comunica il messaggio ai router direttamente accessibili.
I router possono quindi conservare il percorso ottimale di un messaggio memorizzando l'indirizzo del router seguente nella tabella di routing in modo che il numero di salto possa raggiungere una rete anche minima. Tuttavia questo protocollo prende in considerazione solo la distanza tra due terminali in termini di salto, ma non considera lo stato della connessione per scegliere la miglior banda possibile.
OSPF (Open Shortest Path First) è più performante di RIP e lo sta pian piano sostituendo. Si tratta di un protocollo di tipo protocollo route-ling (che si può tradurre come Protocollo di stato dei collegamenti), questo significa che, contrariamente al RIP, questo protocollo invia ai router adiacenti solo il numero di salti che li separa, ma anche lo stato della connessione che li separa. In questo modo, ogni router è in grado di stabilire una scheda dello stato di rete e può scegliere di conseguenza in ogni momento il percorso più appropriato per un dato messaggio.
In più, questo protocollo evita ai router intermedi di dover aumentare il numero di salti, il che si traduce con un'informazione molto meno abbondante, che permette di avere una migliore banda utile rispetto a RIP.
Foto: © Pixabay.