Vous êtes sur la page 1sur 9

Le routage

Stphane Gill Stephane.Gill@CollegeAhuntsic.qc.ca

Table des matires


Introduction Aspect dun routeur Concept de routage Table de routage Mise en place dun routeur Linux Activer le routage Route, dfinir un routage Exemple de rseau local utilisant un routeur Rfrences 2 2 2 4 5 6 6 8 9

Document crit par Stphane Gill Copyright 2004 Stphane Gill Ce document est soumis la licence GNU FDL. Permission vous est donne de distribuer et/ou modifier des copies de ce document tant que cette note apparat clairement.

Le routage

Introduction
Les routeurs sont des machines cls d'Internet car ce sont ces dispositifs qui permettent de choisir le chemin qu'un message va emprunter. Lorsque vous demandez un url, le routeur choisit le prochain routeur auquel il va envoyer la demande de faon telle que le chemin choisi soit le plus court. De plus, les routeurs permettent de manipuler les donnes afin de pouvoir assurer le passage d'un type de rseau un autre.

Aspect dun routeur


Les premier routeurs taient de simples ordinateurs ayant plusieurs cartes rseau (passerelle, gateway), dont chacune taient relie un rseau diffrent. Les routeurs sont dsormais des dispositifs (Figure 1) possdant des cartes rseaux relies sur plusieurs rseaux ddis la tche de routage.

Figure 1: Routeur Cisco 2600

Concept de routage
Lune des principales tches de la couche rseau du modle OSI consiste transmettre les paquets de donnes travers les nuds du rseau. Ce processus qui se droule dans la couche 3 du modle OSI est appel le routage. Le routeur extrait chaque paquet de donnes de la couche 3, analyse ladresse de lexpditeur et celle du destinataire, et transmet le paquet en fonction de ces informations. Ce processus est dcrit dans lexemple qui suit :

Copyright 2004 Stphane Gill

Page 2

Le routage

Ordinateur 1 IP:200.3.1.5

Ordinateur 2 IP:200.3.1.18 Rseau : 200.3.1.0

200.4.1.20 200.3.1.50 Routeur

Rseau : 200.4.1.0

Ordinateur 3 IP:200.4.1.5

Figure 2 : Rseau Soit la situation suivante : Lordinateur 1 doit transmettre un paquet de donnes lordinateur 2. Lordinateur 1 et lordinateur 2 appartiennent au mme rseau, le paquet de donnes sera transmis directement lordinateur 2. Soit maintenant la situation suivante : Lordinateur 1 doit transmettre un paquet de donnes lordinateur 3. Lordinateur 1 et lordinateur 3 ne se trouvent pas sur le mme rseau. Chaque ordinateur du rseau 200.3.1.0, dont lordinateur 1 fait partie, doit savoir quel ordinateur intermdiaire (pont, routeur ou passerelle) il doit transmettre son paquet de donnes, pour que celui-ci soit transmis au rseau cible. Lordinateur 1 va extraire ladresse Internet du routeur adquat de sa table de routage. Cette table contient, cot de ladresse du rseau cible, celle du routeur qui permet de latteindre. Le tableau suivant prsente la table de routage des ordinateurs du rseau 200.3.1.0. Rseau cible 200.4.1.0 Routeur 200.3.1.50

En dautre terme, lentre de cette table signifie : Tous les paquets de donnes destins au rseau 200.4.1.0 doivent tre transmis lordinateur 200.3.1.50 . Dans lexemple prcdent, la table aurait pu tre simplifie. Il suffit dindiquer une route par dfaut (Default Route) pour que les ordinateurs transmettent tous les paquets de donnes qui ne

Copyright 2004 Stphane Gill

Page 3

Le routage

sont pas destins au rseau local un ordinateur intermdiaire. La table de routage serait alors la suivante : Rseau cible 0.0.0.0 Routeur 200.3.1.50

Lentre 0.0.0.0 dsigne la route par dfaut dans la table de routage. Maintenant, avec cette table de routage, si lordinateur 1 doit transmettre un paquet lordinateur 3, lordinateur 1 doit dterminer si lordinateur 3 appartient au mme rseau que lui. Lordinateur 3 appartient un autre rseau, lordinateur vrifie sa table de routage et ne trouve pas le rseau cible. Lordinateur 1 utilise donc la route par dfaut pour envoyer le paquet lordinateur intermdiaire 200.3.1.50.

Table de routage
La table de routage est une table de correspondance entre ladresse du rseau vis et ladresse du routeur auquel il doit dlivrer le message pour que celui-ci puisse se rendre destination. La table de routage est donc un tableau contenant linformation suivante : Ladresse de destination Ladresse du prochain routeur directement accessible Linterface.

Ainsi grce cette table, le routeur, connaissant ladresse du destinataire, va tre capable de savoir sur quel interface (carte rseau) et quel routeur (directement accessible) envoyer le message. Ce mcanisme consistant ne connatre que ladresse du prochain maillon menant la destination est appel routage par sauts successifs. Examinons maintenant, lexemple de la Figure 3. Le rseau 200.3.1.0 fait partie dune structure de communication, part lintermdiaire de 3 routeurs.

Copyright 2004 Stphane Gill

Page 4

Le routage

PC 1 IP:200.3.1.5

PC 2 IP:200.3.1.18

Rseau: 200.3.1.0 Masque: 255.255.255.0

200.3.1.50

200.3.1.45

200.3.1.77

Router

Router

Router

Reste du rseau

Rseau: 202.12.23.0

Rseau: 141.90.0.0

Figure 3 : rseau 3 routeurs Par dfaut, tous les paquets de donnes vers le rseau de lentreprise sont transmis au routeur 200.3.1.50. Le rseau de classe B 141.90.0.0 et le rseau de classe C 202.12.23.0 forment des exceptions, car ils ne sont accessibles que par le routeurs 200.3.1.77 ou 200.3.1.45. La structure de la table de routage de ce rseau est intressante. Rseau cible 141.90.0.0 2002.12.23.0 0.0.0.0 Routeur 200.3.1.77 200.3.1.45 200.3.1.50

Mise en place dun routeur Linux


Dans cette section les principales tapes ncessaires la mise en place dun routeur sous Linux sont prsentes. Les diffrentes tapes de la mise en place dun routeur sont : Recompiler le noyau avec les options adquates; Activer le routage; Installer les modules des cartes rseaux;

Copyright 2004 Stphane Gill

Page 5

Le routage

Dfinir les interfaces; Dfinir les routes

Recompiler le noyau
Dans de nombreuse distribution, comme RedHat, il nest pas ncessaire de recompiler le noyau puisque les options adquates ont dj t actives.

Activer le routage
Lactivation du routage dans le noyau ce fait grce la commande suivante : echo 1 > /proc/sys/net/ipv4/ip_forward Il est aussi possible dactiver le routage en ditant le fichier /etc/sysctl.conf et en attribuant 1 la variable net.ipv4.ip_forward comme dans lexemple ci-dessous. # Activate packet forwarding net.ipv4.ip_forward = 1 # Enables source route verification net.ipv4.conf.default.rp_filter = 1 # Disables the magic-sysrq key kernel.sysrq = 0

Route, dfinir un routage


La commande route permet de manipuler les tables de routage IP du noyau. Il sagit principalement de dfinir des routes statiques vers certains ordinateurs ou vers certains rseaux, partir dune interface rseau. La commande route est toujours mise en uvre sous lune des trois formes suivantes : Cration dune route; Suppression dune route; Affichage dune route.

Copyright 2004 Stphane Gill

Page 6

Le routage

Cration dune route


route add [-net|-host] cible [netmask NM] [gw GW] [[dev] interface]

Suppression dune route


route del [-net|-host] cible [netmask NM] [gw GW] [[dev] interface]

Affichage dune route


route Note: La commande netstat rn permet aussi dafficher la table de routage.

Exemple 1 : Dfinir une route pour le rseau 205.1.2.0 par linterface eth0. route add net 205.1.2.0 netmask 255.255.255.0 dev eth0 Le paramtrage netmask nest pas ncessaire ici, car la cible de la route est un rseau de classe C, et que le masque par dfaut est suffisant. Cest typiquement ce genre de rgle quil faut utiliser pour faire fonctionner le rseau local. Exemple 2 : Dfinir une rgle de routage signifiant que tous les paquets dont ladresse de destination apparat au sous-rseau de classe A 127.0.0.0 doivent tre transfrer linterface loopback (lo). route add net 127.0.0.0 netmask 255.0.0.0 lo Exemple 3 : Dfinir la rgle de routage qui permet daccder le rseau 192.168.1.0 via la passerelle 192.168.0.1 route add net 192.1.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0 Exemple 4 : Dfinir une rgle de routage qui fait en sorte que tous les paquets qui ne vrifient aucune autre rgle de routage soit envoys la passerelle 192.168.0.47

Copyright 2004 Stphane Gill

Page 7

Le routage

route add default gw 192.168.0.47 dev eth0

Exemple de rseau local utilisant un routeur


Soit le rseau compos de 3 ordinateurs. Laccs Internet se fait via un routeur Linux.

PC 1 IP:192.168.100.4

PC 2 IP:192.168.100.3

PC3 IP:192.168.100.2

Rseau: 192.168.100.0 Masque: 255.255.255.0

192.168.100.1

Router

24.200.204.177

Figure 4 : rseau local Le paramtrage de lordinateur 1 se fera de la faon suivante : ifconfig lo 127.0.0.1 ifconfig eth0 192.168.100.4 netmask 255.255.255.0 route add net 127.0.0.0 dev lo route add net 192.168.100.0 netmask 255.255.255.0 dev eth0 route add default gw 192.168.100.1 dev eth0 Le paramtrage des interfaces rseau et la cration de la table de routage pour le routeur se font de la faon suivante : ifconfig lo 127.0.0.1 ifconfig eth0 192.168.100.1 netmask 255.255.255.0 ifconfig eth1 24.200.204.177 netmask 255.255.255.0 route add net 127.0.0.0 dev lo route add net 192.168.100.1 netmask 255.255.255.0 dev eth0

Copyright 2004 Stphane Gill

Page 8

Le routage

route add net 24.200.204.177 netmask 255.255.255.0 dev eth1 route add default gw x.y.z.1 dev eth1

Rfrences
Red Hat Linux 9 : Guide de rfrence Red Hat . Red Hat Inc., 2003. Jeffrey Dean LPI Linux Certification in a Nutshell, A Desktop Quick Reference , OReilly, 2001.

Copyright 2004 Stphane Gill

Page 9