Les routeurs sont les machines clés d'Internet car ce sont ces dispositifs qui permettent de "choisir" le chemin qu'un message va emprunter. Lorsque vous demandez un url, le routeur interroge le dns, celui-ci indique la machine visée et le routeur choisit la prochaine machine à laquelle il va faire circuler la demande de telle façon que le chemin choisi soit le plus court (en matière de distance, parfois de temps).
De plus, les routeurs permettent de manipuler les données (qui circulent sous forme de datagrammes) afin de pouvoir assurer le passage d'un type de réseau à un autre (contrairement à un dispositif de type pont). Ainsi, les réseaux ne peuvent pas faire circuler la même quantité simultanée d'information en terme de taille de paquets de données. Les routeurs ont donc la possibilité de fragmenter les paquets de données pour permettre leur circulation.
Enfin, certains routeurs sont capables de créer des cartes (tables de routage) des itinéraires à suivre en fonction de l'adresse visée grâce à des protocoles dédiés à cette tâche.
Un routeur possède plusieurs interfaces réseau, chacune connectée sur un réseau différent. Un routeur possède ainsi autant d'adresses IP que de réseaux différents sur lesquels il est connecté.
On distingue généralement deux types d'algorithme de routage :
Dans le cas ci-dessus le scénario est simple. Si le routeur reçoit des paquets en provenance du réseau A, pour le réseau B, il va tout simplement diriger les paquets sur le réseau B...
Toutefois, sur Internet le schéma est beaucoup plus compliqué pour les raisons suivantes:
Ainsi, les routeurs fonctionnent grâce à des tables de routage et des protocoles de routage, expliquées dans la section routage.