# Routeur

Un routeur est un équipement réseau informatique assurant le routage des paquets. Son rôle est de faire transiter des paquets d'une interface réseau vers leur destination, au mieux, selon un ensemble de règles. Par exemple, une box internet associe un routeur (WI-FI ou filaire) à une passerelle.
Il y a souvent confusion entre routeur et commutateur réseau, car dans les réseaux Ethernet les routeurs opèrent au niveau de la couche 3 du modèle OSI$^,$.

## Histoire

Le premier équipement que l'on peut qualifier d'ancêtre du routeur est un relais de paquets nommé Interface Message Processor (IMP), en 1969. Les IMP interconnectés constituaient le réseau ARPANET, le premier réseau à commutation de paquets. Le concept de routeur, alors appelé passerelle (gateway), doit son origine à un groupe de recherche international nommé International Network Working Group (INWG) chargé d'étudier les aspects liés à l'interconnexion des réseaux au début des années 1970.
Ces passerelles se distinguaient des relais de paquets en ce qu'elles permettaient les connexions entre réseaux dissemblables, comme des liens série et des réseaux locaux. D'autre part, elles opéraient en mode sans connexion et n'assuraient pas le transport fiable de bout en bout, laissant la tâche de vérifier la bonne délivrance des données aux hôtes aux extrémités du réseau.
Ces idées furent développées pour créer des réseaux opérationnels : d'une part le programme DARPA qui développe la suite de protocoles TCP/IP qui constitue aujourd'hui le protocole au cœur de l'Internet, et d'autre part le PARC Universal Packet (en) développé par Xerox PARC, qui obtint moins d'attention en dehors de Xerox.
Pour avoir un sens et fonctionner correctement, le routage nécessite de gérer la congestion du réseau, puis des réseaux qu'il coordonne. C'est dans ce but qu'est inventée en 1972 à Paris l'utilisation d'une fenêtre glissante, pour le contrôle des flux.
Les premiers routeurs de la société Xerox sont opérationnels en 1974. Ils sont précédés par les Mitra 15 du réseau Cyclades en 1972, présentés parfois comme des commutateur, mais qui sont déjà aussi des routeurs car ce réseau, tout juste toléré par les PTT françaises, fonctionne en datagramme pur.
Les premiers routeurs IP proprement dits sont déployés par la société BBN dans le cadre du programme DARPA en 1975-1976. À la fin de l'année 1976, trois ordinateurs PDP-11 utilisés comme routeurs sont en service dans ce réseau expérimental.
Les premiers routeurs multi-protocoles furent développés par des chercheurs au MIT et à Stanford en 1981, toujours sur des PDP-11$^,$$^,$$^,$.
Les réseaux actuels étant essentiellement basés sur IP, les routeurs multi-protocoles ont perdu l'importance initiale qu'ils avaient dans des réseaux où coexistaient AppleTalk, DECnet, IP et les protocoles Xerox (en).
Jusqu'aux années 1980, ce sont des ordinateurs à usage général qui servent de routeurs. Plus tard, du matériel spécialisé permettra d'accélérer l'analyse et le routage du trafic. Certains systèmes d'exploitation dédiés utilisés sur les routeurs, comme ceux de Juniper Networks ou d'Extreme Networks, sont dérivés de versions modifiées d'Unix.

## Matériels et logiciels

* Le routage est en 2018, très souvent associé au protocole de communication IPv4, alors que la migration vers IPv6 fait également intervenir le routage d'IPv6. D'autres protocoles moins populaires existent, et sont également routables.
* Les premiers routeurs d'ARPANET étaient appelés les Interface Message Processors.
* Bien que des ordinateurs ordinaires puissent être utilisés pour effectuer le routage, les routeurs modernes comportent en général du matériel supplémentaire pour accélérer les fonctions critiques comme le transfert (acheminement) de paquets ; ces routeurs spécialisés ne sont pas toujours compatibles avec IPv6.
* Ce type de matériel ne nécessite pas de stockage magnétique, une mémoire non volatile de petite taille suffit à en conserver les principaux paramètres en cas de rupture momentanée de l'alimentation secteur.
* Les routeurs actuels jouent pour les données un rôle analogue à celui des commutateurs téléphoniques pour la voix. Certaines fonctions de ces derniers sont d'ailleurs de plus en plus reprises par les routeurs dans la convergence appelée voix ou téléphonie sur IP (VoIP, ToIP).
* L'appareil crée et/ou maintient une table, appelée table de routage, laquelle mémorise les meilleures routes vers les autres réseaux, via les métriques associées à ces routes. (Voir l'article sur le routage pour plus de détails sur le fonctionnement de ce processus.)
* Un routeur moderne se présente comme un boîtier regroupant carte mère, microprocesseur, mémoire ROM, RAM ainsi que les ressources réseaux nécessaires (Wi-Fi, Ethernet…). On peut donc le voir comme un ordinateur minimal dédié, dont le système d'exploitation peut être un Linux allégé. De même, tout ordinateur disposant des interfaces adéquates (au minimum un, souvent Ethernet) peut faire office de routeur s'il est correctement configuré (certaines distributions Linux minimales spécialisent la machine dans cette fonction).
La fonction de routage traite les paquets IP et les dirige selon l'algorithme de routage et sa table associée, cette dernière contient la correspondance des adresses réseaux avec les interfaces physiques du routeur où sont connectés les autres réseaux.

## Architecture

On retrouve quatre principaux composants :
* Les ports d'entrée : ont plusieurs fonctions. Premièrement, ils exécutent une fonction de la couche physique en terminant une liaison physique entrante au niveau du routeur. Ils exécutent aussi une fonction de la couche de liaison pour relier la couche de liaison se situant à l'autre extrémité du lien d'entrée. Enfin, c'est au niveau des ports d'entrée que sont consultées les tables de routage afin de déterminer vers quel port de sortie sera dirigé un paquet (grâce à la matrice de commutation). Les ports d'entrée sont autonomes. En effet, chaque port contient une copie de la table de routage, ce qui permet de gagner en rapidité. Le nombre de ports d'un routeur peut être de quelques unités pour un routeur personnel à quelques dizaines pour un routeur d'entreprise.
* Les ports de sortie : Les ports de sortie reçoivent les paquets de la matrice de commutation, les stockent et les transmettent ensuite au lien de sortie.
* Processeur de routage : Dans les routeurs traditionnels, le processeur exécute le protocole de routage, maintient à jour les tables de routage et exécute les tables de transfert. Lorsqu'un port reçoit un paquet ayant pour destination le routeur, il l'envoie au processeur de routage qui recalcule les tables afin de les redistribuer aux ports par la suite.
* Matrice de commutation : Elle permet de relier les ports d'entrées et de sortie du routeur. Il existe différents types de commutations : via mémoire partagée, via un bus de communication ou bien via crossbar.

### Fabricants de routeurs

Les principaux fabricants de routeurs sont : Pour les entreprises, opérateurs télécoms et FAI :
* Alcatel-Lucent
* Allied Telesis
* Bintec
* Brocade
* Cisco Systems
* Dell
* Ericsson (Redback Networks)
* Hewlett-Packard
* Huawei
* Juniper Networks
* Viettel
Pour les particuliers (modem/routeur) :
* Asus
* TP-LINK
* Belkin
* Bewan
* D-Link
* DrayTek
* Linksys (acquis par Belkin)
* Motorola
* Netgear
* Philips
* Sagemcom
* Technicolor
* Shenzhen Tenda (en)
* ZyXEL
* Synology

## Routeurs « logiciels »

Avec un logiciel adapté, il est possible de transformer un ordinateur ordinaire (même d'un modèle ancien), voire un téléphone mobile en un routeur.
La plupart des systèmes d'exploitation basés sur UNIX (par exemple Linux ou xBSD) supportent nativement un routage « basique ». Ils disposent également des logiciels nécessaires au routage « avancé » :
* Bird Internet routing daemon (en) ;
* OpenBGPD ;
* Quagga, successeur de GNU Zebra ;
* XORP (en).
Sous Windows, les logiciels WinRoute (en) (shareware) et Virtual Router (freeware), entre autres, permettent également ce genre de fonctionnalités.
Il existe des logiciels pour téléphones mobiles souvent interdits ou nécessitant de s'abonner à une option ou un forfait spécifique:
* JoikuSpot pour Symbian OS ;
* PdaNet pour Android.