I router sono dei dispositivi che permettono di "scegliere" il percorso che i datagrammi prenderanno per arrivare a destinazione.
Si tratta di 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 :
Così, il router funzionano grazie a delle tabelle di routing e dei protocolli di routing, secondo il modello seguente :
In caso di rimessa indiretta, 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.
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 stoccare l'indirizzo IP completo del terminale: solo l'identificatore di rete dell'indirizzo IP(cioè l'ID di rete) ha bisogno di essere stoccato.
La tabella di routing è quindi una tabella contenente delle coppie di indirizzi :
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 carta è connessa, rimettere il diagramma.
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 passerella di default).
Ecco, in maniera semplificata, a cosa potrebbe assomigliare una tabelle di routing :
Il messaggio è così rimesso da router in router per salti successivi, fino a che il destinatario appartenga ad una rete direttamente connessa ad un router. Quest'ultimo rimetterà 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 :
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 stoccando l'indirizzo del router seguente nella tabelle 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 passante 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 del collegamento che li separa. In questo modo, ogni router è capace di redigere 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 passante utile rispetto a RIP.