--------------------------------------------------------------------------------------------- VIII. Introduction à TCP/IP (2/2) par NeoFox ---------------------------------------------------------------------------------------------- Voici donc la suite de cette introduction à TCP/IP. Vous trouverez le premier volet dans l'issue #1, disponible en download depuis notre site. ++++ Partie III : TCP/IP et le routage ++++ -> Généralités -> Fonctionnement du routage -> Protocoles de routage Si vous vous rapellez ce que vous avez lu au chapître 3 " Le protocole Internet ", (part. 1/2 ) vous vous souvenez que nous avons vaguement parlé de routage ... Eh ben on va approfondir ! 1) Généralités : ________________ Le routage est un procédés qui permet l'acheminement des datagrames de la couche internet d'un réseau à l'autre. Le routage répond également à un besoin essentiel, le fractionnement des réseaux. Je m'explique : rapellez vous que sur un réseau, chaque carte réseau de chaque machine examine toutes les trames qui y circulent pour capturer les trames qui lui sont destinées. Comme il est matériellement impossible qu'une carte réseau examine tout le trafic, le fractionnement est mis en place pour segmenter un réseau de grande taille en plusieurs sous-réseaux. De cette façon, les machines ne sont plus obligées de scruter tout le trafic, mais seulement celui du sous-réseau auquel elles appartiennent. Le fractionnement permet également d'alléger le trafic. Le routage est rendu possible par l'utilisation de routeurs. Qu'est-ce qu'un routeur ?! Une routeur est responsable de l'acheminement des trames d'un réseau à un autre, en les orientant par adresses logiques. Un routeur est une machine qui possède plusieurs cartes réseaux. Il peut ainsi interconnecter plusieurs réseaux ou sous-réseaux, même si ceux ci sont d'architecture diffèrente. En effet, il travaille au niveau de la couche Internet TCP/IP et on a vu que cette couche ne se souciait pas des contraintes liées au matériel. Donc nôtre routeur va pourvoir mettre en relation par exemple un réseau Ethernet et un réseau à jeton. Dans cet exemple, le routeur dispose d'une carte réseau Ethernet et d'une autre style Token Ring. Lorsque le routeur est invoqué par une machine de l'Ethernet, celui-ci reçoit la trame au format Ethernet via sa carte réseau, la couche IP consulte l'en-tête du datagrame pour se rendre compte finalement que le datagrame est destiné à une machine d'un réseau rattaché à ce routeur, il dirige les données vers la carte réseau correspondante qui se trouve être celle d'un Token Ring. Cette carte formatte les données et place les trames sur le réseau à anneau à jeton où elles seront récupérées par la machine destinataire. De la même manière, un routeur peut relier autant de réseaux qu'il possède de cartes réseaux. Souvenez vous que l'adresse IP est attribuée à la carte réseau d'une machine et non à la machine elle même. Un routeur peut donc avoir plusieurs adresses IP. Administration d'un routeur : Les Administrateurs Réseaux utilisent certains logiciels de supervisation pour être en permanence tenus informés de l'état de leur réseaux, du bon fonctionnement ou au contraire d'une avarie survenue à l'un de leurs routeurs etc ... Ces logiciels implémentent un protocole apellé " Simple Network Management Protcol " ou SNMP. Ce protocole permet aux applications d'échanger des informations de configuration avec les routeurs du réseau. Ces applications fonctionnent au port 161. Il est également possible à un administrateur de se connecter à l'un de ses routeurs par Telnet. Voila pour les définitions, voyons mainenant le fonctionnement plus en détail. 2) Fonctionnement du Routage : ______________________________ 2.1 Les grandes étapes du routage : ____________________________________ Un routeur reçoit les trames des réseaux auquels il est connecté via ses cartes réseaux. Il transmet les données à la couche Internet mais ne tient pas compte des en-têtes de la couche AR. La couche Internet réassemble le datagrame si besoin ( rapellons que les trames peuvent avoir été fragmentées par l'expéditeur ). Cette même couche inspecte l'en-tête du datagrame et prend note de l'adresse IP de la source et de celle du destinataire. S'il en déduit que la source et le destinataire sont sur le même réseau, il n'intervient pas. Par contre, si le destinataire fait partie d'un réseau distant, le routeur comprend que les datagrames doivent être exportés. Il consulte alors sa Table de Routage pour savoir sur quel réseau l'envoyer. Il détermine donc quelle carte réseau devra gérer les trames. Il passe ensuite les datagrames à la couche Accès Réseau qui va les placer via cette carte sur le réseau correspondant en procédant, si besoin est ( c'est à dire si l'architecture du réseau de destination diffère de celui de la source ) à un reformattage. Une fois les trames plaçées sur le réseau de destination, ce sont les protocoles de bas niveau qui vont se charger de les acheminer jusqu'au destinataire. Voyons cela à l'aide d'un schéma où une machine du réseau A veut dialoguer avec une machine du réseau B: ______________________________ | | | | | Routeur reliant les réseaux | | | | A et B | | | | | ______________________________ ______________________________ | | | Couche Internet du Routeur | | | ______________________________ ______________________________ | | | Couche AR du Routeur | | | ______________________________ -----^------ -----v------ | | | | |Carte Réseau| |Carte Réseau| | A | | B | ------------ ------------ | | ----->----- ----->----- | | Réseau A Réseau B ________ ________ ________ ________ | | | | | | | | | | |machine1|_|_|machine2| |machine1|_|_|machine2| | | | | | | | | | | ________ | ________ ________ | ________ | | ________ ________ | | | | |machine3| |machine3| | | | | ________ ________ Pour savoir vers quelle sortie diriger les trames, le routeur consulte comme nous l'avons dit sa table de routage ... 2.2 Les Tables de Routage : ____________________________ Définition : ____________ Une Table de Routage est un fichier que le routeur va consulter pour déterminer l'adresse du réseau auquel il devra transmettre les trames qui lui parviennent. Ce fichier définit le réseau de destination en fonction de l'adresse IP de la source. Il ne contient pas l'adresse logique de chaque hôte de chaque réseau car comme nous l'avons, sur le réseau de destination ce sont les protocoles de la couche AR qui se chargent de la livraison à la bonne machine. Le rôle d'un routeur se limite ainsi ( et c'est déja beaucoup ) à déterminer le réseau distant sur le quel devront être aiguillées les trames. Une Table de Routage contient donc une liste d'ID réseau. Elle définit l'ID du réseau de destination et le port physique ( carte réseau ) correspondant, par lequel sortieront les trames à direction de la cible. Si l'adresse du réseau de destination ne figure pas sur sa table de routage, le routeur passera les trames à un autre routeur plus prés du réseau visé. La Table de routage sert donc à déterminer soit l'adresse du réseau de destination si le routeur le relie directement ( connection directe ), soit celle d'un autre routeur. Analyse d'une Table de Routage : ________________________________ La Table de routage comporte plusieurs colones dans lesquelles sont classées les informations utiles au routage. La première colone pourrait être appellée " Prochain Saut ". Un saut désigne le franchissement d'un routeur ou d'une machine. Ainsi, si on dit d'une machine qu'elle est à 5 sauts du destinataire, cela siginife que les données devront être relayées par 4 routeurs, le 5eme saut les amenant à destination. La première colone de la table de routage contient donc l'adresse de la prochaine machine à laquelle le routeur devra envoyer les trames, ou l'adresse du réseau de destination si le routeur est en connection directe avec celui-ci. On va simplifier, le but étant d'exposer le concept. Une Table de Routage se présente en gros comme ça : Network Address---------Subnet Mask-----------Via Router------Port------------Type------ 10.0.0.0 255.0.0.0 10.0.0.10 Ethernet WAN 127.0.0.1 255.255.255.255 127.0.0.1 Loopback Local 192.168.1.0 255.255.255.0 192.168.1.1 Ethernet LAN Pour information, les 2 cartes réseaux de ce routeur : Celle connectée au WAN : 00-00-c5-81-ae-d6 10.0.0.1 Celle connectée au LAN : 00-00-c5-81-ae-d4 192.168.1.1 Voyons à quoi correspond chaque colone : Network Address = Adresse logique du prochain saut Subnet Mask = Masque de sous-réseau Via Router = Adresse logique de la carte réseau correspondante Port = Nom du port physique relié à cette carte On va maintenant commenter chaque ligne une par une : (1) 10.0.0.0 255.0.0.0 10.0.0.10 Ethernet WAN Le réseau ayant pour adresse 10.0.0.0 est un réseau de Classe A comme le montre le masque de sous-réseau. Si le routeur reçoit des trames à destination d'une machine de ce réseau, il devra les diriger vers sa carte réseau ayant pour adresse logique 10.0.0.10 qui fonctionne sur le port en connection directe avec le WAN ( rapellons que WAN siginife " Wide Aera Network ", soit réseau étendu ). (2) 127.0.0.1 255.255.255.255 127.0.0.1 Loopback Local Cette ligne correspond à l'IP de loopback, pas de redirection. (3) 192.168.1.0 255.255.255.0 192.168.1.1 Ethernet LAN Si le routeur reçoit un paquet est à destination d'une machine du réseau 192.168.1.0, réseau de classe C comme l'indique le masque de sous réseau, il va le rediriger vers la carte réseau dont l'adresse logique est 192.168.1.1. Cette carte en connection directe avec le LAN Ethernet. On voit donc ici que le routeur connecte son réseau local ( LAN ) au réseau étendu ( WAN ) possédant pour ce faire les 2 cartes réseau correspondantes. Il peut aiguiller les trames soit vers le réseau étendu, soit vers le réseau local. Il existe deux sortes de routage qui dépendent enfait de la manière dont la Table de Routage est générée. Il y a donc le routage statique et le routage dynamique. Dans le cas d'un routage statique, la Table est générée manuellement par l'administrateur. Dans le cas d'un routage dynamique, la Table est générée automatiquement par des protocoles de routage. 3) Protocoles de Routage : ___________________________ Nous avons dit que les tables de routage peuvent être générées automatiquement par des protocoles de routage. Je m'explique : dans un réseau de grande taille ou nécessitant un grand nombre de routeurs, plusieurs itinéraires peuvent être utilisées pour relier une machine A à une machine B distante. De plus certains axes peuvent être surchargés ou certains routeurs hors services. Le rôle des protocoles de routages est alors d'assurer et d'optimiser le transit des informations. C'est là qu'interviennent RIP et OSPF ... RIP en un mot : _______________ RIP siginife " Routing Information Protocol ", protocole d'information de routage. Sous RIP, chaque routeur diffuse des informations sur lui-même ainsi que sur l'état des routeurs qui le séparent des routeurs de son réseau. Si un routeur tombe en panne, ou qu'une liaison est défectueuse, les autres routeurs de réseau s'informent les uns les autres sur la localisation du disfonctionnement ce qui leur permet de modifier en conséquence leur table de routage. Un nouveau chemin est déterminé pour atteindre la cible, et les trames sont redirigées vers un autre routeur qui va prendre le relai de celui qui qui vient de nous lâcher. Sous RIP, chaque routeur transmet une valeur " nombre de sauts " à son voisin. Lorsque un routeur reçoit ces valeurs de ses voisins, il l'incrémente de 1, puis le passe tous les autres routeurs auquels il est rattaché. Ainsi, chaque routeur connait précisément la distance qui le sépare de chacun de ses voisins. Sous RIP, l'émission de ces informations a lieu toutes les 30 secondes. L'ennui avec RIP c'est qu'il ne permet l'émission d'informations que sur une distance de 16 sauts. Sa portée est donc limitée. L'autre problème de RIP c'est que l'émission de ces informations inter-routeurs contribue à augmenter le trafic et peut encombrer la bande passante. C'est comme si vous regardiez M6 et qu'il y avait un flash info "le 6 minutes" tous les 1/4 d'h ! Ca serait chiant pour regarder la petite maison dans la prairie, non ? Euh, bon, là, je m'égarre. Mais de tout façon, RIP est en cours de remplaçement par OSPF. OSPF en un mot : ________________ OSPF signifie " Open Shortest Path First ", le plus court chemin d'abord. OSPF détermine le plus court chemin vers la cible. Les logiciels implémentant ce protocole de routage permettent au routeur de transmettre l'intégralité de sa table de routage. Ces informations ne sont transmises qu'à ces voisins directs, auquels ils est directement, à la différence de RIP qui balançe les infos à tous les autres routeurs du réseau. Un routeur tombe en panne, son voisin direct est informé, il modifie sa table en conséquence, puis la passe à son voisin direct. Chaque routeur est réagit donc à l'avarie à la manière de dominos qui se cassent la gueule : tout changement de la table de routage de l'un, entraine immédiatement les changements appropriés chez les autres sans qu'il soit besoin de recourir à une émission générale de l'information. Chaque routeur en informe son voisin DIRECT, na ! Sous OSPF, chaque routeur peut se représenter une "carte" de l'état des routes proches de lui. Cette "carte" qu'il a mémorisé Cela lui évite d'avoir à reçevoir, à incrémenter, et à retransmettre des informations sur le nombre de sauts le séparant des autres. Il y a donc moins de flash info, le volume des données de routage en est réduit libérant ainsi de la bande passante. De ce fait, le protocole OSPF permet de gérer un trafic plus important que RIP. Conclusion : ____________ Voila, j'espère que ce chapître vous aura aidé à comprendre le fonctionnement du routage. Ainsi s'achève la partie 2/2 de cette introduction à TCP/IP. Pour ceux qui chercheraient le premier volet, sachez qu'il était au sommaire de notre issue 1, et que vous pouvez toujours vous le procurer, ainsi que le reste du magazine d'ailleurs sur notre site.