Les routeurs sont les dispositifs permettant de choisi le chemin que les datagrammes vont emprunter pour arriver à destination.
Le routeur prend des décisions de destination, pour ce faire, il possède au moins deux interfaces réseau (pas forcément identiques).
Il possède plusieurs interfaces réseau, chacune connectée sur un réseau différent.
Il possède ainsi autant d’adresses IP que de réseaux différents sur lesquels il est connecté.
Un routeur doit être connecté à au moins deux réseaux informatiques pour être utile, sinon il n’aura rien à router.
Les premiers routeurs étaient de simples ordinateurs ayant plusieurs cartes réseau, dont chacune était reliée à un réseau différent
Il contient un cpu et un programme très évolué, il est administrable à distance.
On distingue généralement deux types d’algorithme de routage :
- Les routeurs de type vecteur de distance (distance vector) établissent une table de routage recensant en calculant le « coût » (en terme de nombre de sauts) de chacune des routes puis transmettent cette table aux routeurs voisins.
A chaque demande de connexion le routeur choisit la route la moins coûteuse.
- Les routeurs de type link state (link state routing) écoutent le réseau en continu afin de recenser les différents éléments qui l’entourent.
A partir de ces informations chaque routeur calcule le plus court chemin (en temps) vers les routeurs voisins et diffuse cette information sous forme de paquets de mise à jour.
Chaque routeur construit enfin sa table de routage en calculant les plus courts chemins vers tous les autres routeurs (à l’aide de l’algorithme de Dijkstra).
Le principe d’un routeur sans fil est le même que celui d’un routeur classique, si ce n’est qu’il permet à des dispositifs sans-fil (stations WiFi par exemple) de se connecter aux réseaux auxquels le routeur est connecté par des liaisons filaires (généralement Ethernet).