Le routage
Sommaire
- 1. Hôte, switch, routeur
- 2. Adresse IP, masque et ARP
- 3. Hors de son réseau : la passerelle
- 4. La table de routage
- 5. Lire une table de routage Cisco
- 6. Méthode : remplir la table d'un routeur
- 7. Comment le routeur choisit sa route
- 8. Routage statique ou dynamique
- 9. Configurer une route : Cisco et Linux
- 10. Ce qui change à chaque saut
- 11. Tester : ping, traceroute et route retour
Acheminer un paquet IP d'un réseau vers un autre : lire et remplir une table de routage, comprendre comment le routeur choisit sa route, configurer des routes statiques sous Cisco et Linux.
1. Hôte, switch, routeur
- Hôte : toute machine qui a une adresse sur le réseau (PC, serveur, imprimante, téléphone).
- Switch (commutateur) : relie les machines d'un même réseau local ; il travaille avec les adresses MAC.
- Routeur : relie des réseaux différents ; il travaille avec les adresses IP. Il a au moins une interface par réseau qu'il relie, avec une IP de ce réseau sur chacune.
- LAN (Local Area Network) : le réseau local d'un site, par exemple une salle de TP. Internet, ce sont des milliers de réseaux reliés par des routeurs.
2. Adresse IP, masque et ARP
Dans 192.168.10.15/24, les 24 premiers bits (192.168.10) désignent le
réseau et le reste (.15) la machine. Deux machines sont dans le même
réseau si leur partie réseau est identique.
| Notion | Exemple pour 192.168.10.15/24 |
|---|---|
| Masque (bits du réseau) | 255.255.255.0, soit /24 en notation CIDR |
| Adresse réseau (partie machine à 0) | 192.168.10.0 |
| Broadcast (partie machine au maximum) | 192.168.10.255 |
| Machines possibles : 2(32 − préfixe) − 2 | 28 − 2 = 254 |
IP ou MAC ? L'adresse IP est logique : choisie ou attribuée, elle change quand
la machine change de réseau, et ce sont les routeurs qui la lisent. L'adresse MAC est physique :
inscrite dans la carte réseau (48 bits, ex. 3C:52:82:1A:9F:04), elle est lue par les switchs.
ARP trouve la MAC qui correspond à une IP du réseau local, en 3 étapes :
- A demande à tout le réseau (broadcast) : « Qui a 192.168.10.40 ? »
- B reconnaît son IP et répond avec sa MAC.
- A envoie sa trame à cette MAC et garde la réponse en mémoire (cache ARP, visible avec
arp -asous Windows ouip neighsous Linux).
3. Hors de son réseau : la passerelle
Avant d'envoyer, le poste compare l'IP de destination avec son propre masque :
- Même réseau : envoi direct (requête ARP, puis trame vers la machine destination).
- Autre réseau : envoi à la passerelle par défaut, un routeur (ex. 192.168.10.254) qui décide de la suite.
Exemple : 192.168.10.15/24 veut joindre 192.168.20.8. Les parties réseau diffèrent (10 ≠ 20) : la trame part vers la passerelle, pas directement vers 192.168.20.8.
4. La table de routage
Chaque ligne indique où envoyer un réseau :
- Destination et masque : le réseau à atteindre et sa taille (ex. 192.168.20.0/24).
- Passerelle (next hop) : le prochain routeur ; vide pour un réseau connecté.
- Interface de sortie : par où sort le paquet (G0/1, eth1).
- Distance et métrique : pour départager plusieurs routes.
Trois types de routes :
- C, connectée : ajoutée toute seule dès qu'une interface a une IP et est active.
- S, statique : saisie à la main par l'administrateur.
- Dynamique : apprise par un protocole de routage (R pour RIP, O pour OSPF, BGP).
Route par défaut, 0.0.0.0/0 : « toutes les destinations ». Elle n'est utilisée que si aucune autre route ne correspond. Sur un poste, c'est la passerelle par défaut ; sur le routeur de sortie, elle pointe vers le FAI. Sans route et sans route par défaut, le paquet est détruit et la source reçoit un ICMP « Destination unreachable ».
5. Lire une table de routage Cisco
Router# show ip route Codes: C - connected, S - static, R - RIP Gateway of last resort is 10.1.1.2 to network 0.0.0.0 C 192.168.1.0/24 is directly connected, G0/0 C 10.1.1.0/30 is directly connected, G0/1 S 192.168.2.0/24 [1/0] via 10.1.1.2 R 192.168.3.0/24 [120/2] via 10.1.1.2, G0/1 S* 0.0.0.0/0 [1/0] via 10.1.1.2
- C / S / R : origine de la route (connectée, statique, apprise par RIP).
- S* : l'étoile marque la route par défaut.
- [120/2] : [distance administrative / métrique].
- via 10.1.1.2 : la passerelle (next hop) ; G0/1 : l'interface de sortie.
Sous Linux, ip route show affiche la même chose : default via 10.1.1.2 dev eth1.
6. Méthode : remplir la table d'un routeur
- Routes connectées (C) : une ligne par interface du routeur, avec le réseau de l'interface et pas de passerelle.
- Routes statiques (S) : pour chaque réseau distant, passerelle = IP du routeur voisin qui y mène (son interface côté lien commun).
- Route par défaut (S) : 0.0.0.0/0 vers le routeur qui mène à Internet.
Exemple du TD : R1 relie le LAN Administration (192.168.10.0/24, G0/0), le LAN Élèves (192.168.20.0/24, G0/1) et le pare-feu FW par le lien 10.0.0.0/30 (R1 en .1, FW en .2). FW relie aussi la DMZ (172.16.50.0/24) et Internet (FAI 203.0.113.1).
| Destination | Passerelle | Interface | Type |
|---|---|---|---|
| 192.168.10.0/24 | — | G0/0 | C |
| 192.168.20.0/24 | — | G0/1 | C |
| 10.0.0.0/30 | — | G0/2 | C |
| 0.0.0.0/0 | 10.0.0.2 | G0/2 | S |
Table de R1. Une seule route statique suffit : tout ce qui n'est pas un LAN de R1 part vers FW, d'où
ip route 0.0.0.0 0.0.0.0 10.0.0.2.
Sur FW, en plus des trois routes connectées (lien 10.0.0.0/30, DMZ, WAN 203.0.113.0/30), il faut :
- 192.168.10.0/24 via 10.0.0.1 et 192.168.20.0/24 via 10.0.0.1 : les routes retour vers les LAN, qui sont derrière R1 ;
- 0.0.0.0/0 via 203.0.113.1 : Internet, par la box du FAI.
Piège classique : oublier la route retour. Sans « 192.168.20.0/24 via 10.0.0.1 » sur FW, les élèves envoient bien leurs requêtes, mais les réponses repartent vers Internet par la route par défaut et sont perdues.
7. Comment le routeur choisit sa route
- Repérer toutes les lignes dont le réseau contient l'IP de destination.
- Garder celle qui a le préfixe le plus long (le plus grand /) : /24 bat /16, qui bat /8, qui bat la route par défaut /0.
- À préfixe égal, la plus petite distance administrative gagne ; puis, à source égale, la plus petite métrique.
- Envoyer à la passerelle par l'interface indiquée, ou livrer directement si la route est connectée.
Exemple : pour 10.1.2.50, les routes 10.0.0.0/8, 10.1.0.0/16, 10.1.2.0/24 et 0.0.0.0/0 conviennent toutes ; la /24, la plus précise, est choisie.
Distance administrative : une note de confiance dans la source de la route (plus petite = plus fiable).
| Source de la route | Distance |
|---|---|
| Réseau connecté (le routeur le constate lui-même) | 0 |
| Route statique (tapée par un humain, qui peut se tromper) | 1 |
| OSPF | 110 |
| RIP | 120 |
| Source inconnue | 255, jamais utilisée |
Agréger des routes : remplacer plusieurs routes par une seule. Pour 192.168.10.0/24 et 192.168.20.0/24, le 3e octet donne 10 = 0000 1010 et 20 = 0001 0100 : 3 bits communs, donc /16 + 3 = 192.168.0.0/19. Limite : cette route couvre aussi tout 192.168.0.0 à 192.168.31.255.
8. Routage statique ou dynamique
Statique : simple, aucune charge sur le réseau, chemin maîtrisé. Mais pas de bascule automatique en cas de panne, et long et source d'erreurs sur un grand réseau. Usage : PME, route par défaut.
Dynamique : les routeurs s'échangent leurs routes et recalculent seuls en cas de panne. En contrepartie, des messages circulent en permanence et les échanges doivent être authentifiés. Usage : grands réseaux, chemins multiples.
- RIP : le plus simple ; chaque routeur envoie sa table à ses voisins toutes les 30 s. Métrique : le nombre de sauts, 15 au maximum. Petits réseaux, TP.
- OSPF : chaque routeur connaît la carte complète et calcule le plus court chemin. Métrique : un coût lié au débit ; converge plus vite. Réseaux d'entreprise.
- BGP : échange de routes entre opérateurs ; c'est lui qui relie les réseaux d'Internet.
9. Configurer une route : Cisco et Linux
Router> enable Router# configure terminal Router(config)# ip route 192.168.20.0 255.255.255.0 10.0.0.2 Router(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1 Router(config)# end Router# show ip route
L'invite indique le mode : > consultation, # privilégié, (config)#
configuration. Syntaxe : ip route réseau, masque en décimal, passerelle.
ip route show ip route add 192.168.20.0/24 via 10.0.0.2 ip route add default via 203.0.113.1 sysctl -w net.ipv4.ip_forward=1
Sous Linux, une machine à plusieurs cartes peut router, à condition d'activer ip_forward. Ces routes
disparaissent au redémarrage : on les écrit dans /etc/network/interfaces (Debian).
10. Ce qui change à chaque saut
À chaque routeur traversé, le paquet IP est sorti de sa trame puis remis dans une nouvelle trame :
- les adresses IP source et destination ne changent pas de bout en bout ;
- les adresses MAC changent à chaque saut (celles des deux équipements du lien) ;
- le TTL diminue de 1 ; à 0, le paquet est détruit et un ICMP est renvoyé à la source, ce qui empêche un paquet de tourner sans fin en cas de boucle.
Le TTL de départ est 128 sous Windows et 64 sous Linux : un ping qui répond avec un TTL de 126 depuis une machine Windows a traversé deux routeurs.
11. Tester : ping, traceroute et route retour
- ping envoie un « echo request » et attend un « echo reply » (protocole ICMP). Une réponse prouve que l'aller et le retour fonctionnent.
- traceroute (
tracertsous Windows) liste les routeurs traversés : on voit où le paquet se perd.
C:\> tracert 172.16.50.10 1 192.168.10.254 (R1) 2 10.0.0.2 (FW) 3 172.16.50.10 (serveur)
Ping qui échoue alors que la route aller existe partout : la cause la plus probable est la route retour manquante (un routeur ne sait pas renvoyer la réponse vers le réseau source), ou une mauvaise passerelle par défaut sur la machine distante. Autre piste : un pare-feu qui bloque l'ICMP.
Pour décrire un chemin, à chaque équipement : quelle route est utilisée, vers quelle passerelle, par quelle interface. Puis faire de même pour la réponse.
À retenir
- Routeur = relie des réseaux différents, travaille avec les adresses IP
- Switch = relie les machines d'un même réseau, travaille avec les adresses MAC
- ARP = trouve l'adresse MAC qui correspond à une IP du réseau local
- Passerelle par défaut = routeur qui reçoit tout ce qui sort du réseau local
- Table de routage = liste des réseaux connus et du chemin pour les joindre
- Route connectée (C) = ajoutée seule dès qu'une interface a une IP et est active
- Route statique (S) = saisie à la main par l'administrateur
- Route dynamique = apprise par un protocole (RIP, OSPF, BGP)
- Route par défaut = 0.0.0.0/0, utilisée quand aucune autre route ne correspond
- Next hop = prochain routeur sur le chemin du paquet
- Préfixe le plus long = la route la plus précise gagne (/24 bat /16)
- Distance administrative = confiance dans la source : connectée 0, statique 1, OSPF 110, RIP 120
- Métrique RIP = nombre de sauts, 15 au maximum
- Métrique OSPF = coût calculé selon le débit
- BGP = protocole qui échange les routes entre opérateurs d'Internet
- Route retour = une route doit exister dans les deux sens
- ip route (Cisco) = ip route réseau masque passerelle
- ip_forward (Linux) = à activer pour qu'une machine Linux route
- TTL = diminue de 1 à chaque routeur ; à 0, le paquet est détruit
- ping / traceroute = test aller-retour (ICMP) / liste des routeurs traversés