← Réseaux

Le routage

Sommaire

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

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.

NotionExemple 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) − 228 − 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 :

  1. A demande à tout le réseau (broadcast) : « Qui a 192.168.10.40 ? »
  2. B reconnaît son IP et répond avec sa MAC.
  3. A envoie sa trame à cette MAC et garde la réponse en mémoire (cache ARP, visible avec arp -a sous Windows ou ip neigh sous Linux).

3. Hors de son réseau : la passerelle

Avant d'envoyer, le poste compare l'IP de destination avec son propre masque :

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 :

Trois types de routes :

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

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

  1. Routes connectées (C) : une ligne par interface du routeur, avec le réseau de l'interface et pas de passerelle.
  2. Routes statiques (S) : pour chaque réseau distant, passerelle = IP du routeur voisin qui y mène (son interface côté lien commun).
  3. 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).

DestinationPasserelleInterfaceType
192.168.10.0/24—G0/0C
192.168.20.0/24—G0/1C
10.0.0.0/30—G0/2C
0.0.0.0/010.0.0.2G0/2S

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 :

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

  1. Repérer toutes les lignes dont le réseau contient l'IP de destination.
  2. 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.
  3. À préfixe égal, la plus petite distance administrative gagne ; puis, à source égale, la plus petite métrique.
  4. 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 routeDistance
Réseau connecté (le routeur le constate lui-même)0
Route statique (tapée par un humain, qui peut se tromper)1
OSPF110
RIP120
Source inconnue255, 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.

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 :

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

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