La couche Réseau

Rôle

Offrir les moyens d’accèder à un réseau et les procédures pour acheminer les données à travers un réseau.

Un groupe d’utilisateurs forment souvent ce que l’on appelle « un réseau de connaissances », ils sont liés par un ensemble d’intérêts communs. Pour s’échanger les informations qui les concernent ils utilisent un ensemble de protocoles standardisés qui définissent à la fois la manière dont les informations doivent être présentées, et les méthodes utilisées pour acheminer les informations dans le groupe jusqu’aux destinataires. C’est exactement le rôle de la couche réseau du modèle OSI. Le protocole de présentation est en fait la procédure standardisée d’accès au réseau tandis que la manière d’acheminer les informations dans le groupe représente l’ensemble des procédures standardisées pour acheminer l’information dans le réseau.

Les types de réseaux informatiques sont multiples et les procédures ou protocoles sont nombreux. Les plus connus restant cependant le X25 (X25.3 ou X25 PLP pour les puristes) et IP, le petit chéri de nous autres Internautes ! Quoiqu’il en soit la représentation ISO reste valable dans tous les cas :

L’unité de données du protocole est appelée la NPDU (Network Protocol Data Unit) plus connue sous les noms de « paquets » ou « datagrammes ». Cette NPDU est encapsulée dans la LPDU du niveau 2.

Le schéma ci-dessus présente un acheminement d’un paquet de niveau 3 à travers un commutateur entre deux stations clientes d’un réseau. Le réseau est ici ramené à sa portion la plus congrue, un seul commutateur. A noter qu’un routeur présentera le même rôle, mais la ressemblance s’arrête là. Nous aurons sans doute un jour l’occasion de longuement exposer la différence entre un routeur et un commutateur. Vous noterez dans ce schéma que les couches 2 peuvent utiliser des protocoles différents de chaque coté du commutateur (protocoles X et Y), mais que le niveau 3 utilise le même protocole (protocole Z), à travers tout le réseau, de station à station. Rappelez-vous la règle d’homogénéité du modèle OSI ! A un moment donné il faut forcément parler la même langue si l’on veut se comprendre !

Fonctions

1 – Il faut (ou ne faut pas) établir une connexion.

Pour acheminer les données dans un réseau, il existe deux politiques majeures. Etablir au préalable à la transmission, une connexion avec le correspondant, ou émettre les données sans se soucier de savoir si le correspondant est présent.

Une analogie simple est la suivante : Un jour, au bureau, vous avez besoin d’un dossier. Vous criez à votre collègue Jacques qui est derrière une paroi et que vous ne voyez pas : « Jacques apporte-moi le dossier DuGenou s’il te plaît ! ». Et vous attendez que Jacques vous l’apporte. Vous venez de faire un transfert d’information en mode non connecté, vous n’avez pas vérifié la présence de Jacques, alors qu’il est peut-être au toilette depuis une heure à lire Play-Boy ! Vous n’êtes absolument pas sur de l’avoir contacté ! S’il vous dit qu’il n’a pas entendu, vous ne pourrez pas le frapper ! La deuxiéme méthode est de dire : « Jacques t’es là ?? ». Si Jacques répond « Oui ! », il est foutu car vous allez lui demander le dossier et il sera obligé de vous l’amener (s’il veut son chèque à la fin du mois). Vous avez fonctionné en mode connecté, vous avez vérifié au préalable à la transmission, la présence du correspondant.

En mode connecté, vous établissez un canal (physique ou virtuel). Les informations sont émises sur ce canal de manière séquentielle, l’ordre de réception étant forcément le même qu’en émission. La perte d’une information se traduit par une remise à zéro du circuit, voir une déconnexion. Ce mode suppose une procédure de gestion de la communication assez lourde qui en diminue le rendement. Par contre le service réseau rendu aux couches supérieures est suffisamment fiable pour nécessiter un minimum de contrôle au niveau de la couche transport. Le mode connecté était le mode privilégié de fonctionnement des réseaux longues distances avant l’intronisation d’IP.

Le circuit physique : Ce type de réseau est dit à commutation de niveau 1. C’est la couche physique qui assure la mise en relation. La connexion peut être assurée par relais comme dans l’ancien RTC (type CrossBar) ou par commutation d’IT comme le RTC actuel (MT25). Dans d’autres cas on parlera aussi de réseau physique à commutation lente pour indiquer des réseaux non pas commutés mais brassés. C’est à dire des réseaux sur lesquels on programme à la demande des relations entre IT afin de créer des circuits fixes. L’utilisateur n’a pas à gérer de procédure d’établissement de communication physique.

Le circuit virtuel : ne relève pas de la couche 1. C’est un circuit de niveau supérieur géré par une procédure.
Le principe consiste à appliquer un numéro logique à chaque PDU (inscrit dans une en-tête de PDU). Toutes les PDU comportant le même numéro sont émises vers le même destinataire.
Un même accès physique peut ainsi gérer plusieurs connexions virtuelles en affectant des numéros différents aux PDU en fonction de leur destination. Il conviendra bien sûr d’être en totale cohérence avec l’accès réseau, afin que l’acheminement soit correct.

Il existe principalement deux types de connexions virtuelles :

Les connexions permanentes (CVP, PVC en X25 ou Frame Relay, VP en ATM), qui correspondent à la notion de brassage ou commutation lente définie précédemment. Les connexions dans le réseau sont crées à la mise en œuvre du réseau et restent figées. L’utilisateur n’a pas à gérer l’établissement d’une connexion, elle est déjà établie.

Les connexions commutées (CVC en X25, bientôt disponible en Frame Relay, VC en ATM bien qu’actuellement le niveau VC soit toujours brassé). L’utilisateur doit dans un premier temps généré une demande de connexion en spécifiant le destinataire (adressage). Le protocole crée une route dans le réseau et vérifie l’accessibilité et la disponibilité du destinataire. Si la connexion est positive le réseau réserve les ressources qui seront figées jusqu’à la fin de la communication.

En mode non connecté, vous n’établissez pas de circuits. Vous livrez, au réseau, un datagramme (paquet comportant toutes les informations nécessaires à son routage (@source, @destination)), il s’occupe alors de l’acheminer par le chemin qui lui semble le meilleur (notion de gestion dynamique du routage). Ainsi deux datagrammes, émis à peu de temps d’intervalles, pour le même correspondant n’emprunteront pas forcément le même chemin. Ils n’auront donc pas forcément le même délai de transit, à l’inverse des réseaux à commutation de circuits. Il se peut aussi, qu’un datagramme 2 arrive avant le premier car il aura été acheminé sur une route plus rapide ! Le séquencement de l’émission n’est donc pas forcément respecté en réception, le rôle de la couche transport sera de palier à ce problème.

Enfin, souvent, un datagramme a une durée de vie, fixée par son émetteur, au bout de laquelle le réseau le détruit, il y a donc des risques de pertes d’informations que la couche 4 doit aussi être en mesure de gérer. Ce mode de fonctionnement jusqu’ici réservé à des réseaux présentant des topologies fiables et de courtes distances, a tendance à se généraliser même sur les réseaux longues distances. Il offre en effet un excellent rendement puisqu’il suppose un minimum de gestion, ainsi qu’un minimum de ressources réseaux.

2 – Il faut gérer un format d’adresse.

Il tombe sous le sens, que dans un réseau les utilisateurs sont multiples. Lorsqu’une donnée est émise il est donc impératif que le réseau soit en mesure d’identifier le destinataire. Il est alors nécessaire d’utiliser une adresse (Rappelez-vous l’analogie avec la Poste).

Le protocole de niveau 3 OSI, devra donc prévoir dans l’en-tête de sa PDU un champ adresse. En fonction du réseau utilisé, le protocole diffère et bien souvent le format d’adresse aussi.

Il est à noter que si on utilise un réseau fonctionnant en mode connecté (X25), il n’est pas utile de spécifier l’adresse destinataire dans chaque paquet. Dans le cas d’un réseau à circuits virtuels, une fois le circuit activé il suffit d’indiquer son numéro (voir ci-dessus). On utilise dans ce cas plusieurs formats distincts de paquets : un paquet d’appel qui trace la route et réserve les ressources dans le réseau, ce paquet comporte l’adresse. Et un paquet de données qui ne comporte que les données et un numéro de voie logique (circuit).

Dans le cas des réseaux en mode non connecté (IP), tous les paquets ont le même format. Ils comportent l’adresse destinataire et les données.

3 – Il faut pouvoir gérer une fragmentation.

Tous les paquets de niveau 3 (NPDU) sont placés dans le champ DATA des trames de niveau 2 (LPDU).

Une trame possède très souvent une limite de longueur pour son champ information. Cette limite peut être fixée par respect de contraintes comme le type de contrôle d’erreur utilisé, la taille des buffers nécessaires pour mémoriser les trames, le nombre de trames émises avant attente d’acquittement, etc … Quoi qu’il en soit la champ information possède une limite de taille appelée MTU : Maximum Transmission Unit.

Si un paquet possède une taille supérieure à cette MTU il faudra le tronçonner et l’émettre dans plusieurs LPDU consécutives. Cette opération est appelée la fragmentation ou segmentation.

Le protocole de niveau 3 devra prévoir des mécanismes et des champs dans ses NPDU permettant de mettre en oeuvre cette fonction. Il faudra aussi qu’il soit capable en arrivée d’effectuer l’opération de « recollement » des paquets fragmentés, appelée « concaténation ».

4 – Il faut pouvoir gérer des priorités d’acheminement.

Lorsque nous aurons progressé dans les mécanismes de réseaux, nous verrons que certains équipements de réseaux, comme les routeurs, peuvent être multi-protocoles. C’est à dire qu’ils sont capables d’acheminer simultanément différents protocoles de niveau 3 (IP et X25 par exemple).

L’utilisateur aura alors peut-être besoin de prioriser l’acheminement d’un protocole par rapport à un autre. Ce sont les équipements routeurs qui auront en charge cette fonction. Cependant ce mécanisme ne relève pas des fonctions d’un protocole, mais des fonctions d’un équipement.

Par contre, au sein d’un même protocole, il peut être nécessaire d’acheminer en priorité certains paquets par rapport à d’autres. Il est alors nécessaire que le protocole prévoit dans ses NPDU des champs permettant d’indiquer le niveau de priorité du paquet. Les équipements du réseau (commutateur ou routeurs) en analysant l’entête du paquet pourront détecter ce niveau de priorité et enclencher un mécanisme d’acheminement prioritaire (route rapide, pas de mise en buffer d’attente, etc…).

IP prévoit cette fonction grâce son champ TOS : Type Of Service dans son entête.

Remarques

Encore une fois, je n’ai ici présenté que quelques fonctions mises en oeuvre par des protocoles de niveau 3, mais il en existe d’autres comme :

  • la gestion de flux,
  • le contrôle d’erreur,
  • etc…

Il est important de noter que la majorité des fonctions présentées dans ce chapitre ne sont pas spécifiques à la couche réseau. Ainsi la question de connexion ou non connexion se pose de la couche 1 à la couche 5. Il en est de même pour l’adressage, le contrôle de flux, la segmentation ou encore le contrôle d’erreur. Chaque couche utilise souvent toute ou partie de ses fonctions. Ce n’est pas un problème de redondance, car en fait selon la couche la fonction n’aura pas la même portée fonctionnelle ou géographique.

Ainsi la couche 4 suivante présente-elle nombre de fonctions présentées ici, mais la portée géographique et fonctionnelle est différente. Si l’utilité d’un protocole comme TCP vous semble des plus flous. Suivez-moi !

Page Précédente | Page Suivante