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.
Quando un utente chiama un URL, il client web (navigatore) interroga il server di nomi, che gli indica l'indirizzo IP del terminale scelto.
La sua postazione di lavoro invia la richiesta al router più vicino, cioè la passerella 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 :