Les principales fonctions d'un routeur sont les suivantes :

Le routeur utilise sa table de routage pour déterminer le meilleur chemin à utiliser pour transférer un paquet. Lorsque le routeur reçoit un paquet, il examine l'adresse de destination du paquet et utilise la table de routage pour rechercher le meilleur chemin vers ce réseau. La table de routage contient également l'interface à utiliser pour transmettre des paquets vers chaque réseau connu. Une fois qu'une correspondance a été trouvée, le routeur encapsule le paquet dans la trame liaison de données de l'interface sortante ou de sortie et le paquet est transféré vers sa destination.

Il est possible qu'un routeur reçoive un paquet encapsulé dans un type de trame liaison de données et transfère le paquet depuis une interface qui utilise un autre type de trame liaison de données. Par exemple, un routeur peut recevoir un paquet sur une interface Ethernet, mais doit le transférer à partir d'une interface configurée avec le protocole PPP (Point-to-Point Protocol). L'encapsulation de la liaison de données dépend du type d'interface présente sur le routeur et du type de support auquel celui-ci est connecté. Les différentes technologies de liaison de données auxquelles un routeur peut se connecter incluent Ethernet, PPP, Frame Relay, DSL, câble et sans fil (802.11, Bluetooth).

L'animation de la figure suit un paquet du PC source à l'ordinateur de destination. Notez que le routeur doit trouver le réseau de destination dans sa table de routage et transférer le paquet vers sa destination. Dans cet exemple, le routeur R1 reçoit le paquet encapsulé dans une trame Ethernet. Après avoir désencapsulé le paquet, R1 utilise l'adresse IP de destination du paquet pour rechercher dans sa table de routage une adresse réseau correspondante. Une fois qu'une adresse réseau de destination est trouvée dans cette table, R1 encapsule le paquet dans une trame PPP et transfère le paquet à R2. R2 effectue un processus similaire.

Remarque : les routeurs utilisent des routes statiques et des protocoles de routage dynamique pour découvrir des réseaux distants et créer leurs tables de routage.