Cet article est le premier d’une série consacrée aux fondamentaux du routage IP. La maitrise de ces éléments sont indispensables pour obtenir la certification Cisco CCNA. Evidemment, pour la certification, il faudra également étudier les spécificités des différents protocoles de routage. Mais, je vais d’abord vous présenter les concepts généraux et indépendants des protocoles de routage (OSPF, EIGRP, BGP, etc.).
Let’s go !
Introduction au Routage IP
Tout d’abord, rappelons que le routage IP consiste, pour un routeur, à identifier l’interface vers laquelle un paquet IP doit être envoyé. Cette interface est appelée « interface de sortie ».
Sauf exception (non traité pour la certification CCNA), le choix de l’interface se fait sur la base de l’adresse IP destination dans le champ spécifique du paquet IP. Il faut donc que le système de routage (ce que l’on appelle un routeur ou un switch de niveau 3 ou …) dispose d’une table de routage, c’est-à-dire de l’association entre les différentes adresses IP avec l’interface sur laquelle le paquet doit être émis. Toutes les adresses IP ? Non. Puisque le traitement sera identique pour toutes les adresses d’un même sous-réseau, on va utiliser les adresses de sous-réseaux.
Comment la table de routage est-elle remplie?
C’est le rôle des protocoles de routages d’échanger des informations de routage pour remplir cette table. Dans ce cas, on parle de routage dynamique.
Dynamique, parce que les échanges entre routeurs sont automatiques ce qui permet également de réagir à un quelconque changement: si une panne survient, l’information peut être transmise automatiquement afin d’être traitée par les routeurs. La table de routage évolue donc avec le temps par l’intermédiaire des protocoles de routage.
Les protocoles de routage dynamique sont particulièrement adaptés lorsque la topologie est redondée. Dans ce cas, si le routeur apprend plusieurs chemins possibles pour l’acheminement du paquet, il va choisir un chemin mais en cas de panne sur ce chemin, il pourra dynamiquement adapter sa table de routage pour que les paquets soient toujours acheminés vers la destination.
Donc, pour répondre à la question initiale, la table de routage est remplie par un protocole de routage dynamique.
Mais ce n’est pas la seule réponse possible. Lorsque la topologie ne propose pas d’alternative en termes de routage des paquets, il reste possible d’utiliser le routage statique. Dans ce cas, c’est par configuration du routeur que l’on va remplir la table de routage:
- pour aller vers le réseau X, il faut passer par l’interface 1;
- pour aller vers le réseau Y, il faut passer par l’interface 2;
- etc.
Vous avez compris l’idée. Cette fois par contre, cela ne peut pas automatiquement s’adapter aux éventuels événements qui peuvent survenir: le routeur suit la règle de routage qui lui a été définie par configuration.
On a donc listé deux moyens de remplir la table de routage mais ces moyens ne sont pas exclusifs. C’est à dire les deux méthodes peuvent simultanément cohabiter dans le routeur. On peut donc avoir ceci:
- pour aller vers le réseau R, le protocole de routage P m’indique qu’il faut passer par l’interface 1
- pour aller vers le réseau S, il faut passer par l’interface 2 (défini par configuration).
Là où ça commence à devenir intéressant, c’est lorsque je défini une chemin par configuration mais qu’un protocole de routage m’indique un autre chemin:
- pour aller vers le réseau R, le protocole de routage P m’indique qu’il faut passer par l’interface 1;
- pour aller vers le réseau R, il faut passer par l’interface 2 (défini par configuration) .
Dans ce cas là, que fait-on ? Le routeur va suivre ce qui a été défini par configuration. Nous verrons pourquoi dans un autre article pour éviter de trop allonger celui-ci.
J’ai indiqué plus haut que la méthode statique était possible lorsque la topologie ne permettait pas d’avoir plusieurs chemins. Mais il faut également noter qu’il n’y a pas de limite technique. J’aurais dû écrire que le routage statique est pertinent dans un deux deux cas suivants:
- lorsque la topologie n’est pas redondante,
- lorsque plusieurs chemins existent, mais que l’on n’a pas besoin d’exploiter automatiquement la redondance des chemins! En d’autres termes, je ne veux utiliser qu’un seul des différents chemins possibles (rien ne m’empêchera de modifier la règle de routage si une panne survient mais cela demande une modification de la table de routage et donc de la configuration!)
A ce stade, nous avons identifié deux moyens de remplir la table de routage mais ce ne sont pas les deux seuls. De façon automatique, lorsqu’un routeur est configuré, on attribue une adresse IP (et un masque de sous-réseau) à chacune de ses interfaces. Et oui, après tout, c’est bien là le rôle fondamental du routeur: router des paquets. C’est à dire recevoir des paquets sur une interface et, après avoir identifié l’interface de sortie, émettre le paquet sur une autre interface. Une adresse IP est donc requise sur ces interfaces. Ainsi, chaque interface du routeur est placée dans un sous-réseau. Le routeur peut donc atteindre toutes les adresses IP de ce sous-réseau par l’intermédiaire de son interface. Ces informations sont utilisées pour remplir la table de routage. Il s’agit de routes directement connectées.
Pour illustrer ceci, si le routeur dispose de deux interfaces Ethernet configurées comme suit:
ethernet 0 -> IP: 192.168.0.1 (Masque: 255.255.255.0)
ethernet 1 -> IP: 192.168.1.1 (Masque : 255.255.255.0)
Alors, la table de routage disposera de deux entrées:
192.168.0.0 /24 via ethernet0 (directement connecté)
192.168.1.0/24 via ethernet1 (directement connecté)
L’information « directement connecté » est nécessaire au routeur dans le cas où les mêmes routes sont entrées de façon statique ou apprises de façon dynamique: il faudra arbitrer le choix entre ces routes ! Nous en reparlons dans le second volet de cette série disponible ici: « Routage IP: le traitement des paquets IP par un routeur (S1E2) » !
En attendant, vous pouvez poser toutes vos questions ou m’envoyer un commentaire dans la zone ci-dessous.
Laisser un commentaire