Réseaux et Fondamentaux

Routage IP : fonctionnement de la transmission des paquets

Chaque paquet IP traverse une succession de décisions locales prises par les routeurs. Table de routage, règle du plus long préfixe, distance administrative et TTL : voici comment ces décisions sont prises.

Paquet IP traversant plusieurs routeurs qui consultent chacun leur table de routage

Le routage est le mécanisme qui permet à un paquet de traverser plusieurs réseaux pour atteindre sa destination. Contrairement à une idée répandue, aucun routeur ne connaît le chemin complet : chaque routeur prend une décision locale, saut par saut, en consultant sa table de routage.

Objectif : comprendre comment un routeur choisit l'interface de sortie d'un paquet, lire une table de routage et diagnostiquer un problème d'acheminement.

La décision de l'hôte : local ou distant ?

Avant même qu'un routeur intervienne, l'hôte émetteur compare l'adresse de destination à son propre réseau, grâce à son masque :

  • destination dans le même sous-réseau : livraison directe, après résolution ARP de la destination ;
  • destination hors du sous-réseau : envoi à la passerelle par défaut, après résolution ARP de la passerelle.

Les hôtes possèdent eux aussi une table de routage, généralement réduite à la route du réseau local et à une route par défaut.

ip route show                  # Linux
route print                    # Windows
Get-NetRoute -AddressFamily IPv4

Le travail d'un routeur, étape par étape

Lorsqu'un routeur reçoit une trame contenant un paquet IP :

  1. Il vérifie la trame (FCS) et la désencapsule.
  2. Il lit l'adresse IP de destination.
  3. Il cherche dans sa table de routage la route la plus spécifique correspondant à cette destination.
  4. Il décrémente le TTL (champ Hop Limit en IPv6). Si le TTL atteint 0, le paquet est détruit et un message ICMP Time Exceeded est renvoyé à l'émetteur.
  5. Il recalcule la somme de contrôle de l'en-tête IPv4 (IPv6 n'en a pas).
  6. Il détermine le prochain saut et résout son adresse MAC (ARP ou NDP).
  7. Il réencapsule le paquet dans une nouvelle trame et l'émet sur l'interface de sortie.

Si aucune route ne correspond et qu'il n'existe pas de route par défaut, le paquet est détruit et un message ICMP Destination Unreachable est renvoyé.

La table de routage

Une table de routage associe des préfixes de destination à un prochain saut ou à une interface de sortie. Exemple sur un routeur Cisco :

R1# show ip route
Codes: L - local, C - connected, S - static, O - OSPF, * - candidate default

Gateway of last resort is 203.0.113.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 203.0.113.1
      10.0.0.0/8 is variably subnetted, 5 subnets, 3 masks
C        10.10.10.0/24 is directly connected, GigabitEthernet0/1
L        10.10.10.1/32 is directly connected, GigabitEthernet0/1
O        10.20.0.0/16 [110/2] via 10.0.12.2, 00:14:31, GigabitEthernet0/2
O        10.20.5.0/24 [110/3] via 10.0.13.3, 00:14:31, GigabitEthernet0/3
C        10.0.12.0/30 is directly connected, GigabitEthernet0/2

Les routes proviennent de trois sources :

  • Routes connectées (C) et locales (L) : créées automatiquement pour les réseaux configurés sur les interfaces actives.
  • Routes statiques (S) : saisies manuellement par l'administrateur.
  • Routes dynamiques (O pour OSPF, B pour BGP, D pour EIGRP…) : apprises par un protocole de routage.

Les valeurs entre crochets [110/2] indiquent la distance administrative et la métrique.

Règle n° 1 : la correspondance du plus long préfixe

Lorsqu'une destination correspond à plusieurs routes, la route au préfixe le plus long (la plus spécifique) l'emporte, quelle que soit sa source.

Dans la table ci-dessus, pour la destination 10.20.5.9 :

  • 0.0.0.0/0 correspond (0 bit commun requis) ;
  • 10.20.0.0/16 correspond (16 bits) ;
  • 10.20.5.0/24 correspond (24 bits) → route retenue, via 10.0.13.3.

Pour 10.20.7.9, seule 10.20.0.0/16 (et la route par défaut) correspond : le paquet part via 10.0.12.2.

Cette règle permet de combiner une route résumée et des exceptions plus précises.

Règle n° 2 : la distance administrative

Lorsque plusieurs sources proposent exactement le même préfixe, le routeur choisit la source la plus fiable selon sa distance administrative (plus elle est faible, plus la source est préférée). Valeurs par défaut sur Cisco IOS :

Source Distance administrative
Connectée 0
Statique 1
eBGP 20
EIGRP (interne) 90
OSPF 110
IS-IS 115
RIP 120
iBGP 200

D'autres constructeurs utilisent des valeurs différentes ; vérifiez la documentation de votre plateforme. Une route statique configurée avec une distance supérieure à celle du protocole dynamique devient une route flottante : elle n'est utilisée que si la route dynamique disparaît. Voir Routage statique : configuration et dépannage.

Règle n° 3 : la métrique

À préfixe et source identiques, le protocole de routage choisit le meilleur chemin selon sa métrique : coût cumulé des liens pour OSPF, nombre de sauts pour RIP, ensemble d'attributs pour BGP. En cas d'égalité, de nombreux routeurs répartissent le trafic sur plusieurs chemins (ECMP, Equal-Cost Multi-Path).

Routage statique ou dynamique ?

Critère Statique Dynamique
Configuration Manuelle, route par route Automatique après paramétrage
Adaptation aux pannes Aucune (sauf route flottante, suivi d'objet) Reconvergence automatique
Ressources Nulles Processeur, mémoire, trafic de contrôle
Usage typique Petits réseaux, route par défaut, sites terminaux Réseaux maillés, redondants, de grande taille

Le retour compte autant que l'aller

Un oubli classique : le paquet de réponse a besoin d'une route vers l'émetteur. Si R2 sait joindre le réseau 10.30.0.0/24 mais que le routeur de ce réseau ne connaît pas le chemin vers le réseau de l'émetteur, la communication échoue. Le ping « part » mais ne revient jamais.

Diagnostiquer un problème de routage

R1# show ip route 10.20.5.9          ! quelle route est utilisée pour cette destination ?
R1# ping 10.20.5.9 source Gi0/1      ! tester depuis une interface précise
R1# traceroute 10.20.5.9
ip route get 10.20.5.9               # Linux : route effectivement choisie
traceroute -n 10.20.5.9

Méthode :

  1. L'hôte a-t-il une passerelle correcte ?
  2. Chaque routeur sur le chemin possède-t-il une route vers la destination ?
  3. Chaque routeur possède-t-il une route de retour vers la source ?
  4. Une ACL ou un pare-feu filtre-t-il le trafic ?
  5. Le NAT modifie-t-il les adresses de façon inattendue ?

Un traceroute qui boucle entre deux adresses signale une boucle de routage, souvent causée par deux routes statiques qui se renvoient le trafic.

Erreurs courantes

  • Oublier la route de retour.
  • Route par défaut des deux côtés pointant l'un vers l'autre, créant une boucle pour les destinations inexistantes.
  • Interface de sortie inactive : une route statique vers une interface down est retirée de la table.
  • Confondre distance administrative et métrique.
  • Masque erroné dans une route statique, qui couvre trop ou trop peu d'adresses.

Implications de sécurité

Le routage dynamique doit être protégé : authentification des voisins OSPF ou BGP, interfaces passives là où aucun voisin n'est attendu, et filtrage des préfixes annoncés et reçus. Le filtrage anti-usurpation en bordure (BCP 38) et le uRPF (unicast Reverse Path Forwarding) rejettent les paquets dont l'adresse source est incohérente avec la table de routage.

Conclusion

Un routeur applique trois règles dans l'ordre : le plus long préfixe, puis la distance administrative, puis la métrique. Ajoutez la vérification systématique du chemin de retour, et vous disposez d'une grille complète pour analyser n'importe quel problème d'acheminement. Pour aller plus loin, découvrez OSPF : principes, voisinage et configuration de base.

Références