Un router è un'apparecchiatura di interconnessione di rete informatiche che assicurano il routing dei pacchetti tra due o più reti per determinare il percorso che un pacchetto di dati può intraprendere.
Il router fa da tramite per la connessione ad internet. Quando un utente "chiama" un URL, il client web (browser) interroga il server di nome di dominio, che gli indica l'indirizzo IP del terminale scelto.
La sua postazione di lavoro invia la richiesta al router più vicino, cioè il gateway di default della rete sulla quale si trova. Questo router va così a determinare il prossimo terminale verso il quale i dati sono inviati in modo che il percorso scelto sia il migliore. Per arrivarci, i router aggiornano delle tabelle di routing, una vera cartografia degli itinerari da seguire in funzione dell'indirizzo scelto. Esistono numerosi protocolli dedicati a questo compito:
Oltre alla loro funzione di routing, i router permettono di manipolare i dati circolanti sotto forma di datagrammi per assicurare il passaggio da un tipo di rete ad un altro. Ora, dato che le reti non hanno le stesse capacità in termini di dimensione dei pacchetti di dati, i router sono incaricati di frammentare i pacchetti di dati per permettere la loro libera circolazione.
I primi router erano dei semplici computer con più schede di rete, ciascuna collegata ad una rete diversa. I router attuali, per la maggior parte di hardware dedicati al compito di routing, si presentano generalmente sotto forma di server 1U:
Un router ha più interfacce di rete, ciascuna connessa su una rete differente. Esso ha quindi tanti indirizzi IP quante sono le reti differenti alle quali è collegato.
Il principio di un router senza fili è lo stesso di un router classico, se non per il fatto di permettere a dei dispositivi senza-fili (stazione WiFi ad esempio) di connettersi alle reti sulle quali il router è connesso con dei collegamenti filari (generalmente Ethernet).
Si distinguono generalmente due tipi di algoritmo di routing:
I router di tipo vettore di distanza (distance vector) stabiliscono una tabella di routing redatta calcolando il «costo» (in termini di numeri di salti) di ogni percorso e poi trasmettendo questa tabella ai router vicini. Ad ogni domanda di connessione il router sceglie il percorso meno costoso.
I router di tipo link state (link state routing) ascoltano la rete continuamente per recensire i diversi elementi che la circondano. Partendo da queste informazioni ogni router calcola il percorso più breve (in tempo) verso i router vicini e diffonde questa informazione sotto forma di pacchetti di aggiornamento. Ogni router costruisce quindi la propria tabella di routing calcolando i percorsi più corti verso tutti gli altri router (mediante l'algoritmo di Dijkstra).
Foto: © Pixabay.