Network

Le fonctionnement du routeur

le routeur est un équipement réseau indispensable pour assurer le routage des paquets entre les réseaux.

Oui je sais vous n’avez rien compris de ce que je viens de dire (ça se lit sur vos visages 😀 ), C’est le but de cet article, je vais vous expliquer ce que c’est un routeur et son rôle important pour que les données soit arrivées aux destinataires. 

Pour que deux ordinateurs échangent des données entre eux :

-ils doivent avoir une adresse IP unique et une adresse MAC (qui se trouve dans chaque carte réseau).

-ils doivent appartenir au même réseau local, autrement dit, l’ID réseau de leurs adresses IP doit être identique.

Mais les ordinateurs ne sont pas toujours dans le même réseau local, Alors comment deux ordinateurs situés dans deux réseaux locaux différents peuvent communiquer ?

 

Pourquoi ne pas utiliser un switch pour transmettre les données entre des ordinateurs situés dans des réseaux locaux différents ?!

Le commutateur se base sur les adresses MAC pour identifier le destinataire, il a une table dans sa mémoire qui contient une liste d’adresses MAC de tous les ordinateurs qui lui sont connectés.

-1er Problème :

Si on utilise un switch il doit garder en mémoire les adresses MAC de tous les ordinateurs de la terre car ici on essaye de connecter un réseau WAN pas un petit réseau locale donc un nombre importants d’adresses MAC. C’est beaucoup trop pour un switch.

-Le 2ème problème :

Nous avons vu dans l’un des articles que lorsque le commutateur reçoit une trame dont il ignore l’adresse MAC, il diffuse la trame sur tous ses ports, imaginez que chaque switch sur terre se mettent à diffuser les trame à tout le monde !!!!  Internet tomberait rapidement en panne parce que le réseau serait trop encombré.

C’est pour ces raisons qu’un autre matériel d’interconnexion a vu le jour appelé « Routeur » (router en anglais)

Pour connecter deux réseaux différents ou plus on utilise le routeur.

Contrairement au commutateur, le routeur se base sur les adresses IP pour transporter les données.

La forme de l’adresse MAC ne permet pas de localiser le destinataire distant c’est la raison pour laquelle elle est utilisée seulement dans les réseaux locaux, contrairement à l’adresse IP dont la partie réseau et la partie Hôte permettent de localiser l’ordinateur d’une façon précise quelque soit son emplacement dans le monde.

C’est pour cela les routeurs se basent sur les adresses IP pour acheminer les données jusqu’à leurs destination approprié.

Les commutateurs construisent une table d’adresses MAC dont ils se basent sur les adresses MAC pour commuter les trames. Alors que les routeurs construisent une table de routage contenant une correspondance des adresses IP réseau et les interfaces.

Regardez l’image ci-dessous :

L’image montre deux réseaux locaux différents (192.168.2.0 et 10.0.0.0)

Pour les faire communiquer on utilise un routeur :

Nous avons connecté les deux Switch au routeur avec des câbles RJ 45

Voyons voir en détail comment les échanges entre les deux réseaux se passent via le routeur.

Dans la suite on va considérer que les deux commutateurs ont une table d’adresse MAC complet.

Imaginons le cas suivant :

L’ordinateur A du réseau 1 souhaite envoyer des données à l’ordinateur D du réseau 2.

Ci-dessous les informations d’adressage IP des deux ordinateurs sous le système Microsoft Windows 7 :

-Ordinateur A :

-Ordinateur B :

Je tape notre fameuse commande de test (depuis le cmd de l’ordinateur A) :

 Ping 10.10.1.3

 

Le résultat montre que le destinataire n’est pas accessible.

Qu’est-ce qui s’est passé exactement ?

L’ordinateur a détecté que le destinataire n’appartient pas à son réseau (192.168.2.0), donc il a essayé d’envoyer la trame au routeur pour qu’il s’en charge, mais il ignore l’adresse IP de ce dernier ce qui veut dire qu’il ne connait pas son adresse MAC, ainsi aucune chance pour atteindre le destinataire, résulta : message d’erreur sur DOS.

Pour que l’ordinateur arrive à envoyer le paquet au routeur, il doit connaitre d’abord son adresse IP, appelée aussi passerelle par défaut.

Il suffit de donner l’adresse IP du routeur à l’ordinateur A, en saisissant l’adresse IP du routeur dans la zone « passerelle par défaut » de la fenêtre propriété de Protocole internet (TCP/IP) :

Mais d’abord il faut attribuer une adresse IP au routeur, ou plutôt 2 adresses IP !!

Pourquoi 2 adresses IP ?

Comme le commutateur, le routeur possède plusieurs cartes réseaux (interfaces), chaque carte réseau du routeur est connectée à un réseau différent.

Ainsi nous devons configurer chaque interface avec une adresse IP.

Attention :

L’adresse IP d’une interface de routeur doit appartenir au réseau à laquelle est connecté.

Dans notre cas l’adresse IP de l’interface 1 (voir image) doit appartenir au réseau 192.168.2.0 et celle de l’interface 2 doit appartenir au réseau 10.0.0.0.

Personnellement j’ai choisi les deux adresses suivantes :

Interface 1 : 192.168.2.1

interface 2 : 10.0.0.1

Ainsi la passerelle de l’ordinateur A est l’adresse IP de l’interface 1 :

Et  la passerelle  de l’ordinateur B est celle de l’interface 2 :

Maintenant que l’ordinateur connait l’adresse IP du routeur. Il va récupérer son adresse MAC en utilisant le protocole ARP. Ensuite il va envoyer la trame au commutateur qui, à son tour, transmet la trame au routeur via l’interface sur laquelle est connecté le routeur.

A présent retaper la commande ping 10.10.1.3

Et voilà les deux ordinateurs ont pu communiquer après avoir renseigné les deux passerelles :).

Le routeur possède plusieurs cartes réseau (interfaces) auquel est connecté un réseau différent et chaque interface possède une adresse IP différente.

Notez bien que l’adresse IP de chaque interface du routeur (carte réseau) doit appartenir au même réseau auquel est connecté.

 

Comme vu dans l’un des articles précédents, l’expéditeur doit avoir l’adresse MAC du destinataire pour qu’il puisse lui envoyer les données, dans le cas précèdent comment l’ordinateur « A » a pu récupérer l’adresse MAC de l’ordinateur B ?

En fait Les adresse MAC sont seulement utilisées dans un réseau local, uniquement si le destinataire est situé au même réseau de l’expéditeur. Dans notre cas l’ordinateur A et l’ordinateur B sont sur des réseaux différents.

Alors on n’aura plus besoin des adresse MAC dans le cas des ordinateurs situés dans des réseaux différents.

 

Au contraire les adresses MAC sont obligatoires, seulement l’ordinateur A n’a pas besoin d’utiliser celle de l’ordinateur B mais celle du routeur.

Pour que vous puissiez bien comprendre regardez l’image suivante :

Comme vous voyez il y a 3 réseaux différents

-Réseau 1 : l’ordinateur A et le 1er routeur

-Réseau 2 : le 1er routeur et le 2ème routeur

-Réseau 3 : le 2ème routeur et l’ordinateur B

 

On suppose que les ordinateurs A et B connaissent les adresses IP de leurs passerelle par défaut (les routeurs) :

-Pour l’ordinateur A la passerelle est : 192.168.1.1

-Pour l’ordinateur B la passerelle est : 192.168.2.1

L’ordinateur ‘A’ souhaite envoyer des données à l’ordinateur ‘B’ situé dans un autre réseau local.

-Ordinateur A -> Routeur 1 :

-L’ordinateur A détecte que le destinataire est situé dans un réseau local différent.

-Puisqu’il connait son adresse IP, en utilisant le protocole ARP, Il récupère l’adresse MAC du routeur1.

-Après avoir récupérer l’adresse MAC du routeur1, l’ordinateur A est prêt pour lui envoyer la trame. Voici la structure de cette dernière :

Cette trame contient :

-Les données

-L’adresse IP de l’ordinateur A 192.168.1.2

-L’adresse IP de l’ordinateur B 192.168.2.2

-L’adresse MAC de l’ordinateur A : AAA

-l’adresse MAC du routeur de l’interface 1 111.

-Le commutateur reçoit la trame cherche dans sa table MAC et trouve que l’équipement ayant l’adresse MAC 111 est connecté à l’interface 1, il envoi ensuite la trame via cette interface vers le routeur1.

Ensuite ce sont les routeurs qui vont se charger d’envoyer les données au destinataire (l’ordinateur B).

Au niveau des routeurs, on ne parle plus de trame. Mais on parle des paquets.

Routeur 1 -> routeur 2 :

Une fois le paquet est reçu, le routeur analyse l’adresse IP de destination plus précisément l’adresse IP réseau de destinataire (192.168.2.0), il consulte ensuite sa table de routage pour savoir via quelle interface doit-il transférer le paquet (dans cette exemple, il n’y a qu’une seul l’interface possible : l’interface 2), ensuit il modifie le paquet en mettant son adresse MAC de l’interface 2 (expéditeur) et l’adresse MAC du routeur 2 de son interface 3 (destinataire). Enfin le routeur 1 envoi le paquet au routeur 2 via l’interface 2.

Voici la trame envoyé par le routeur R1 :

Cette trame contient :

-Les données

-L’adresse IP de l’ordinateur A 192.168.1.2

-L’adresse IP de l’ordinateur B 192.168.2.2

-l’adresse MAC du routeur 1 de l’interface 2 222

-l’adresse MAC du routeur 2 de l’interface 3 333.

Comme vous pouvez le remarquer, les adresses IP de l’expéditeur (ordinateur A) et le destinataire (ordinateur B) ne change pas, seulement les adresses MAC.

Routeur 2 -> Ordinateur B :

Ensuite le routeur R2 reçoit la trame, détecte l’adresse IP du destinataire, et consulte sa table de routage et découvre que l’adresse réseau du destinataire (192.168.1.0) est lui est directement connectée. Il envoi alors la trame au commutateur qui se charge de la transférer à l’ordinateur B.

Voici la trame envoyé par le routeur R2 :

Cette trame contient :

-Les données

-L’adresse IP de l’ordinateur A 192.168.1.2

-L’adresse IP de l’ordinateur B 192.168.2.2

-l’adresse MAC du routeur 2 de l’interface 2 444

-l’adresse MAC de l’ordinateur B BBB

 

Et voilà, l’ordinateur B a bien reçu sa trame grâce aux routeurs qui se sont basé sur l’adresse IP du destinataire et leurs tables de routage pour acheminer le paquet vers le bon chemin.

Mais une question qui se pose, comment les deux routeurs ont pu construire leurs table de routage, comment le routeur R1 sait que le réseau 192.168.2.0 existe ? Et comment le Routeur R2 sait que le réseau 192.168.1.0 existe ?

Les commutateurs construisent leurs table d’adresse MAC grâce au protocole ARP alors que les routeurs construisent leurs table de routage en utilisant les « Protocoles de routage« .

 

 c’est quoi le routage ?

Quand le routeur reçoit le paquet il vérifie l’adresse IP de la destination, consulte sa table de routage pour savoir via quelle interface le paquet sera transmis, ensuite le routeur qui lui est directement connecté reçoit le paquet et consulte à son tour sa table de routage et ainsi de suite jusqu’à ce que le paquet arrive au routeur final auquel le réseau de la destination est connecté.

On appelle ce processus le routage.

Le routage est un processus très compliqués, Pour vous faire une idée de la complexité du routage, regarder l’image ci-dessous :

L’image montre deux réseaux qui sont géographiquement loin, l’ordinateur A souhaite envoyer des données à l’ordinateur D.

Pour que le paquet puisse arriver à la destination, il doit traverser plusieurs routeurs.

-R1 est le premier routeur qui va recevoir le paquet, le réseau de destination ne lui pas directement connecté, à quel routeur doit-il transférer le paquet (R2 ou bien R3) ?, sur quoi doit-il se baser pour faire son choix ?

-Quel chemin le paquet va-t-il traverser ? R1-> R3 -> R5 ou bien R1 -> R2 -> R4 y-a-t’ il un chemin plus fiable qu’un autre ?

Tout cela est géré par le protocole du routage.

Vous voyez, le routage n’est pas du tout simple.

Vous utilisez toujours le routage à chaque fois que vous accéder à un site Web.

Vos paquets doivent traverser des milliers de routeurs pour qu’ils puissent parvenir au serveur web concerné mais vous vous n’êtes jamais rendu compte car cela se fasse à une vitesse extrêmement importante.

Déjà c’est le monde d’internet =D

L’internet n’est qu’une connexion des milliers et des milliers de réseau via des milliers et des milliers de routeurs.

 

 

 

 

 

 

 

 

One Reply to Le fonctionnement du routeur

  1. cet article est bien détaillé et claire sur les différents rôles des équipements réseau en fonction du niveau 2 ou 3 du modèle OSI

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *