Un livre de Wikibooks.
Retour au sommaire
[modifier] Le cours sur le routage
[modifier] Interconnexion de réseaux
Pour interconnecter des réseaux IP, on utilise des routeurs IP. Les routeurs sont des boîtiers dédiés possédant un certain nombre d’interfaces (ethernet, liaison série, …) permettant la communication entre les machines des différents réseaux.
[modifier] Objectif du routage
Il faut configurer chaque machine et chaque routeur pour que toutes les machines puissent envoyer un datagramme IP à n’importe quelle autre machine. Pour cela, il faudra notamment configurer la table de routage de chaque routeur et chaque machine.
[modifier] Interface réseaux
Il s’agit d’un moyen d’accéder à un réseau : une carte ethernet, une liaison série, ... Les cartes ethernet d’une machine ou d’un routeur seront notées eth0, eth1, eth2, …. Les liaisons séries seront notées ppp0, ppp1, …
[modifier] Un exemple de routage
Sur ce schéma on voit 4 réseaux Ethernet A, B, C et D. A et B sont reliés à un routeur R1. C et D sont reliés à un routeur R2. Les 2 routeurs R1 et R2 sont reliés entre eux par une liaison bipoint qui pourrait être par exemple une liaison par modem.
[modifier] Remise directe et indirecte
Lorsque X veut envoyer un datagramme à X’, X va envoyer ce datagramme directement sur sa carte Ethernet sans passer par le routeur : on parle alors de remise directe.
Lorsque X veut envoyer un datagramme IP à Z, X va envoyer ce datagramme à R1, R1 enverra ce datagramme à R2 et R2 l’enverra à Z : on parle alors de remise indirecte.
[modifier] Philosophie du routage IP
- Aucune machine ni aucun routeur ne connaît le plan complet du réseau.
- Chaque machine et chaque routeur possède une table de routage : lorsqu’une machine veut envoyer un datagramme IP à une autre, elle regarde sa table de routage qui lui dit :
- si le destinataire est directement accessible grâce à une interface
- sinon l’adresse IP du routeur auquel il faut envoyer le datagramme. Ce routeur doit être directement accessible
- On indique à chaque étape le routeur suivant : on parle de "next hop routing".
[modifier] Un premier exemple
- Adressage IP
- Sur le réseau A, on utilisera les adresses IP du réseau 200.50.60.0 de masque 255.255.255.0.
- Sur le réseau B, on utilisera les adresses IP du réseau 200.50.61.0 de masque 255.255.255.0.
- Adresses IP des interfaces
- Chaque interface possède une adresse IP
- Machine X : une interface eth0 d’adresse IP 200.50.60.1
- Machine X’ : une interface eth0 d’adresse IP 200.50.60.2
- Machine Y : une interface eth1 d’adresse IP 200.50.61.1
- Machine Y’ : une interface eth1 d’adresse IP 200.50.61.2
- Le routeur R a 2 interfaces et il aura donc 2 adresses IP
eth0 d’adresse IP 200.50.60.3
eth1 d’adresse IP 200.50.61.3
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.60.0 |
255.255.255.0 |
200.50.60.1 |
200.50.60.1 |
| 200.50.61.0 |
255.255.255.0 |
200.50.60.3 |
200.50.60.1 |
-
- Une table de routage sera constituée de lignes comportant des quadruplets : adresse, masque, passerelle, et interface.
- Pour la première ligne, la passerelle est égale à l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.60.0 de masque 255.255.255.0, X peut remettre directement ce datagramme au destinataire grâce à son interface 200.50.60.1.
- Pour la deuxième ligne, la passerelle est différente de l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.61.0 de masque 255.255.255.0, la remise est indirecte et X doit envoyer ce datagramme au routeur 200.50.60.3 grâce à son interface 200.50.60.1.
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.60.0 |
255.255.255.0 |
200.50.60.2 |
200.50.60.2 |
| 200.50.61.0 |
255.255.255.0 |
200.50.60.3 |
200.50.60.2 |
-
- Pour la première ligne, la passerelle est égale à l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.60.0 de masque 255.255.255.0, X’ peut remettre directement ce datagramme au destinataire grâce à son interface 200.50.60.2.
- Pour la deuxième ligne, la passerelle est différente de l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.61.0 de masque 255.255.255.0, la remise est indirecte et X’ doit envoyer ce datagramme au routeur 200.50.60.3 grâce à son interface 200.50.60.2.
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.60.0 |
255.255.255.0 |
200.50.60.3 |
200.50.60.3 |
| 200.50.61.0 |
255.255.255.0 |
200.50.61.3 |
200.50.61.3 |
-
- Pour la première ligne, la passerelle est égale à l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.60.0 de masque 255.255.255.0, R peut remettre directement ce datagramme au destinataire grâce à son interface 200.50.60.3
- Pour la deuxième ligne, la passerelle est égale à l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.61.0 de masque 255.255.255.0, R peut remettre directement ce datagramme au destinataire grâce à son interface 200.50.61.3.
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.61.0 |
255.255.255.0 |
200.50.61.1 |
200.50.61.1 |
| 200.50.60.0 |
255.255.255.0 |
200.50.61.3 |
200.50.61.1 |
-
- Pour la première ligne, la passerelle est égale à l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.61.0 de masque 255.255.255.0, Y peut remette directement ce datagramme au destinataire grâce à son interface 200.50.61.1
- Pour la deuxième ligne, la passerelle est différente de l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.60.0 de masque 255.255.255.0, la remise est indirecte est Y doit envoyer ce datagramme au routeur 200.50.61.3 grâce à son interface 200.50.61.1.
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.61.0 |
255.255.255.0 |
200.50.61.2 |
200.50.61.2 |
| 200.50.60.0 |
255.255.255.0 |
200.50.61.3 |
200.50.61.2 |
-
- Pour la première ligne, la passerelle est égale à l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.61.0 de masque 255.255.255.0, Y' peut remette directement ce datagramme au destinataire grâce à son interface 200.50.61.2.
- Pour la deuxième ligne, la passerelle est différente de l’interface : cela signifie que pour envoyer un datagramme à une machine du réseau 200.50.60.0 de masque 255.255.255.0, la remise est indirecte est b doit envoyer ce datagramme au routeur 200.50.61.3 grâce à son interface 200.50.61.2.
- X envoie un datagramme à X'
- X regarde sa table de routage et cherche comment envoyer un datagramme à X’.
- X’ a comme adresse IP 200.50.60.2 : cette adresse appartient au réseau 200.50.60.0 de masque 255.255.255.0.
- la table de routage de X indique que X peut envoyer un datagramme directement à X’ grâce à son interface 200.50.60.1.
- X envoie un datagramme à Y
- X regarde sa table de routage : Y (d’adresse IP 200.50.61.1) appartient au réseau 200.50.61.0 de masque 255.255.255.0.
- X envoie ce datagramme à l’adresse IP 200.50.60.3 grâce à son interface 200.50.60.1.
- R reçoit ce datagramme.
- R regarde le destinataire du datagramme : 200.50.61.1.
- R regarde sa table de routage : 200.50.61.1 appartient au réseau 200.50.61.0 de masque 255.255.255.0.
- R envoie donc ce datagramme directement sur son interface 200.50.61.3.
- Y reçoit le datagramme et s’aperçoit qu’il est pour lui
[modifier] Route par défaut
On aurait pu écrire ainsi la table de routage de X :
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.60.0 |
255.255.255.0 |
200.50.60.1 |
200.50.60.1 |
| 0.0.0.0 |
0.0.0.0 |
200.50.60.3 |
200.50.60.1 |
- Si X doit envoyer un datagramme IP à une machine du réseau 200.50.60.0, X doit envoyer directement ce datagramme sur son interface 200.50.60.1.
- Pour toutes les autres adresses IP (c'est la signification de 0.0.0.0 / 0.0.0.0), X envoie ce datagramme à l’adresse IP 200.50.60.3
- L’adresse IP 200.50.60.3 s’appelle la passerelle par défaut de X
[modifier] Deuxième exemple
- Adressage IP des réseaux
- Le réseau A va utiliser les adresses IP 200.50.60.0 de masque 255.255.255.0
- Le réseau B va utiliser les adresses IP 200.50.61.0 de masque 255.255.255.0
- Le réseau C va utiliser les adresses IP 200.50.62.0 de masque 255.255.255.0
- Le réseau D va utiliser les adresses IP 200.50.63.0 de masque 255.255.255.0
- Adresses des machines
- X possède une interface eth0 d’adresse IP 200.50.60.1
- Y possède une interface eth0 d’adresse IP 200.50.61.1
- Z possède une interface eth0 d’adresse IP 200.50.62.1
- W possède une interface eth0 d’adresse IP 200.50.63.1
- Adresses IP des routeurs
- R1 possède 3 interfaces : eth0 d’adresse IP 200.50.60.2, eth1 d’adresse IP 200.50.61.2 et ppp0 d’adresse IP 200.50.64.1.
- R2 possède 3 interfaces : eth0 d’adresse IP 200.50.62.2, eth1 d’adresse IP 200.50.63.2 et ppp0 d’adresse IP 200.50.64.2.
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.60.0 |
255.255.255.0 |
200.50.60.1 |
200.50.60.1 |
| 0.0.0.0 |
0.0.0.0 |
200.50.60.2 |
200.50.60.1 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.61.0 |
255.255.255.0 |
200.50.61.1 |
200.50.61.1 |
| 0.0.0.0 |
0.0.0.0 |
200.50.61.2 |
200.50.61.1 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.62.0 |
255.255.255.0 |
200.50.62.1 |
200.50.62.1 |
| 0.0.0.0 |
0.0.0.0 |
200.50.62.2 |
200.50.62.1 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.63.0 |
255.255.255.0 |
200.50.63.1 |
200.50.63.1 |
| 0.0.0.0 |
0.0.0.0 |
200.50.63.2 |
200.50.63.1 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.60.0 |
255.255.255.0 |
200.50.60.2 |
200.50.60.2 |
| 200.50.61.0 |
255.255.255.0 |
200.50.61.2 |
200.50.61.2 |
| 200.50.64.2 |
255.255.255.255 |
200.50.64.1 |
200.50.64.1 |
| 0.0.0.0 |
0.0.0.0 |
200.50.64.2 |
200.50.64.1 |
La troisième ligne indique une route vers un hôte : pour atteindre l’adresse IP 200.50.64.2, il suffit d’envoyer un datagramme directement sur l’interface 200.50.64.1.
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 200.50.62.0 |
255.255.255.0 |
200.50.62.2 |
200.50.62.2 |
| 200.50.63.0 |
255.255.255.0 |
200.50.63.2 |
200.50.63.2 |
| 200.50.64.1 |
255.255.255.255 |
200.50.64.2 |
200.50.64.2 |
| 0.0.0.0 |
0.0.0.0 |
200.50.64.1 |
200.50.64.2 |
La troisième ligne indique une route vers un hôte : pour atteindre l’adresse IP 200.50.64.1, il suffit d’envoyer un datagramme directement sur l’interface 200.50.64.2.
- X envoie un datagramme IP à W
- W a comme adresse IP 200.50.63.1 : X va lire sa table de routage et envoie ce datagramme au routeur 200.50.60.2 grâce à son interface 200.50.60.1 (eth0).
- R1 va recevoir ce datagramme et va lire l’adresse IP du destinataire : il consulte sa table de routage et envoie ce datagramme au routeur 200.50.64.2 grâce à son interface 200.50.64.1 (ppp0).
- R2 reçoit ce datagramme, lit l’adresse IP du destinataire et consulte sa table de routage : il envoie donc le datagramme directement sur son interface 200.50.63.2 (eth1).
- W reçoit ce datagramme et s’aperçoit qu’il est pour lui et il le garde !
[modifier] Un troisième exemple
- Reseau de type backbone
- Le réseau H est le backbone de notre réseau : il est connecté à différents routeurs. Chaque **routeur est lui-même connecté à différents réseaux.
- Adressage IP et évolution
- Il faut penser aux évolutions futures du réseau.
- Il serait dommage que le rajout d’un réseau ou d’un routeur oblige l’administrateur à changer les adresses IP de toutes les machines du réseau.
- Nous allons supposer que l’administrateur doit utiliser les adresses IP du réseau 180.50.0.0 de masque 255.255.0.0.
- Découpage : premier niveau
- Nous allons découper les réseaux en 8 parties dont 6 seront utilisables
- La première partie sera appelée réseau R1 : il regroupe tous les réseaux connectés à R1 sauf le backbone .
- La deuxième partie sera appelée réseau R2 : il regroupe tous les réseaux connectés à R2 sauf le backbone.
- La troisième partie sera appelée réseau R3 : il regroupe tous les réseaux connectés à R3 sauf le backbone .
- La quatrième partie sera appelées réseau d’administration et sera utilisée pour les autres réseaux notamment le backbone ou par exemple d’éventuels accès extérieurs via un modem.
- Les cinquième et sixième parties seront éventuellement utilisées pour de futurs routeurs R4 et R5.
- masque
Le masque des réseaux R1, R2, R3 et du réseau d’administration comporte 16+3=19 bits à 1 suivis de 13 bits à 0 : le masque est 255.255.224.0.
- adresses réseaux obtenues
Le réseau R1 a comme adresse 180.50.32.0
Le réseau R2 a comme adresse 180.50.64.0
Le réseau R3 a comme adresse 180.50.96.0
Le réseau d’administration a comme adresse 180.50.128.0
- Découpage : deuxième niveau
- On redécoupe en 8 le réseau R1 : les 2 premiers sous-réseaux seront attribués à A et B.
- On redécoupe en 8 le réseau R2 : les 3 premiers sous-réseaux seront attribués à C, D et E.
- On redécoupe en 8 le réseau R3 : les 2 premiers sous-réseaux seront attribués à F et G.
- On redécoupe en 8 le réseau d’administration : le premier sous-réseau sera attribué à H.
- Masque
Lorsqu’on rédécoupe chaque sous-réseau, le masque obtenu comporte 22 bits à 1
- le masque est 255.255.252.0.
-
- adresses réseaux obtenues
On redécoupe R1 :
Le réseau A obtient comme adresse 180.50.36.0
Le réseau B obtient comme adresse 180.50.40.0
On redécoupe R2 :
Le réseau C obtient comme adresse 180.50.68.0
Le réseau D obtient comme adresse 180.50.72.0
Le réseau E obtient comme adresse 180.50.76.0
On redécoupe R3 :
Le réseau F obtient comme adresse 180.50.100.0
Le réseau G obtient comme adresse 180.50.104.0
On redécoupe le réseau d’administration :
Le réseau H obtient comme adresse 180.50.132.0
- Attribution des adresses IP aux machines
X a comme adresse IP 180.50.36.2
Y a comme adresse IP 180.50.76.2
Z a comme adresse IP 180.50.100.2
W a comme adresse IP 180.50.132.4
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.36.0 |
255.255.252.0 |
180.50.36.1 |
180.50.36.1 |
| 180.50.40.0 |
255.255.252.0 |
180.50.40.1 |
180.50.40.1 |
| 180.50.132.0 |
255.255.252.0 |
180.50.132.1 |
180.50.132.1 |
| 180.50.64.0 |
255.255.224.0 |
180.50.132.2 |
180.50.132.1 |
| 180.50.96.0 |
255.255.224.0 |
180.50.132.3 |
180.50.132.1 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.68.0 |
255.255.252.0 |
180.50.68.1 |
180.50.68.1 |
| 180.50.72.0 |
255.255.252.0 |
180.50.72.1 |
180.50.72.1 |
| 180.50.76.0 |
255.255.252.0 |
180.50.76.1 |
180.50.76.1 |
| 180.50.132.0 |
255.255.252.0 |
180.50.132.2 |
180.50.132.2 |
| 180.50.32.0 |
255.255.224.0 |
180.50.132.1 |
180.50.132.2 |
| 180.50.96.0 |
255.255.224.0 |
180.50.132.3 |
180.50.132.2 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.100.0 |
255.255.252.0 |
180.50.100.1 |
180.50.100.1 |
| 180.50.104.0 |
255.255.252.0 |
180.50.104.1 |
180.50.104.1 |
| 180.50.132.0 |
255.255.252.0 |
180.50.132.3 |
180.50.132.3 |
| 180.50.32.0 |
255.255.224.0 |
180.50.132.1 |
180.50.132.3 |
| 180.50.64.0 |
255.255.224.0 |
180.50.132.2 |
180.50.132.3 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.36.0 |
255.255.252.0 |
180.50.36.2 |
180.50.36.2 |
| 0.0.0.0 |
0.0.0.0 |
180.50.36.1 |
180.50.36.2 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.76.0 |
255.255.252.0 |
180.50.76.2 |
180.50.76.2 |
| 0.0.0.0 |
0.0.0.0 |
180.50.76.1 |
180.50.76.2 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.100.0 |
255.255.252.0 |
180.50.100.2 |
180.50.100.2 |
| 0.0.0.0 |
0.0.0.0 |
180.50.100.1 |
180.50.100.2 |
| Adresse réseau |
Masque |
Passerelle |
Interface |
| 180.50.132.0 |
255.255.252.0 |
180.50.132.4 |
180.50.132.4 |
| 180.50.32.0 |
255.255.224.0 |
180.50.132.1 |
180.50.132.4 |
| 180.50.64.0 |
255.255.224.0 |
180.50.132.2 |
180.50.132.4 |
| 180.50.96.0 |
255.255.224.0 |
180.50.132.3 |
180.50.132.4 |