La couche Transport

Rôle

Assurer le contrôle de bout en bout, de processus à processus, à travers les réseaux et sous-réseaux empruntés.

Nous avons vu, qu’une communication à travers un réseau (couche 3) pouvait s’établir en mode connecté ou pas. Que la couche 2 pouvait laissé passer des erreurs de transmissions (taux d’erreurs résiduels) ou que le contrôle de flux n’était pas obligatoirement réalisé au niveau réseau. Ces quelques fonctions peuvent cependant être nécessaires à un bon échange entre entités informatiques. La couche Transport permet donc de les mettre en œuvre (mais ce n’est pas obligatoire).

La couche 4 est souvent considérée comme une couche d’interface entre le domaine informatique dont les couches 5, 6 et 7 relèvent plutôt, et le domaine téléinformatique (dit sous-réseau de transport) que sont les couches 1, 2, 3 et partiellement 4. La couche 4 ne se contente plus de gérer la communication, elle permet de mettre en relation deux processus distincts entre deux machines. Nous aborderons cette notion dans les fonctions suivantes.

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

Le schéma ci-dessus présente un acheminement d’un segment de niveau 4 à travers un réseau unique. Ce réseau de transport de niveau 3 pourrait être un enchaînement successif de différents réseaux (réseaux X25 puis IP et de nouveau X25 par exemple). La couche 4 n’en serait pas moins unique est homogène ! Rappelez-vous la règle d’homogénéité du modèle OSI !

A l’attention des puristes : il est vrai qu’un enchaînement de réseaux X25 puis IP, obligera à quelques manipulations supplémentaires … Mais ne compliquons pas s’il vous plaît !

Fonctions

1 – Connexions entre processus

Il peut arriver (et même souvent), qu’un même programme entre deux machines (par exemple un Browser vers un serveur WEB) soit dans l’obligation de mettre en relation plusieurs processus simultanément. Ainsi le dialogue entre les deux machines utilise un même parcours réseau (ou connexion réseau), mais sur cette seule est unique relation de niveau 3 entre deux uniques machines, on pourrait avoir plusieurs connexions de niveau 4, accomplissant chacune une tâche (un processus) distincte. L’exemple le plus parlant peut se trouver sur le WEB :

Lorsque vous vous connectez à un serveur WEB, vous empruntez dans le réseau Internet une route vous reliant au serveur, grâce au protocole IP (couche 3). Il existe une seule relation de niveau 3 entre l’adresse IP de votre PC et l’adresse IP du serveur. IP étant en mode non connecté vous pouvez éventuellement emprunter des routes différentes en fonction de la charge et de l’état du réseau. Mais la relation de niveau 3 (@source-@destination) n’en est pas moins unique.

En supposant que la page que vous téléchargez comporte un texte et deux images. Vous établirez une connexion de couche 4 (couche TCP ici) pour le transfert du texte, et une connexion pour chaque image, soit au total trois connexions. Chacune sera régie par son propre contrôle d’erreur, sa propre gestion de flux, ses propres timers. Chacune est indépendante de l’autre, alors qu’elles sont toutes véhiculées par la même connexion réseau. Vous pouvez d’ailleurs pressentir cette indépendance lorsque vous recevez le texte immédiatement et que les images pourtant placées en entête vous parviennent plus tard (ou même carrément jamais !).

On parle dans ce cas de multiplexage de connexion de niveau 4, sur une connexion de niveau 3. Dans l’absolu, cela voudrait dire qu’une NPDU (PDU de niveau 3), pourrait véhiculer simultanément plusieurs TPDU. Dans la pratique ce n’est jamais le cas, une NPDU véhicule une seule TPDU. En effet, de toute manière, dans la plupart des cas, le segment (TPDU) est de taille supérieure au paquet (NPDU).

2 – Le contrôle de flux.

Le contrôle de flux est la technique qui consiste à donner la possibilité à un récepteur, quand il est surchargé, d’interrompre le flux de données de l’émetteur. Le sujet est particulièrement vaste, car la gestion de flux peut-être implémentée au niveaux 1, 2, 3, 4 et 5. Rien que ça ! Cependant selon le niveau où on la trouvera, elle n’aura pas la même portée, ainsi :

  • Une gestion de flux de niveau 1 ou 2, ne régule le flux qu’entre deux équipements adjacents (séparés par un support, rappelez-vous la définition de la couche 2).
  • Une gestion de flux de couche 3 régulera le flux entre des équipements de réseaux (commutateurs, commutateurs-stations clientes), ou entre machine d’extrémité du réseau (les deux machines clientes en relation)
  • Une gestion de flux de niveau 4, régule les flux de chaque connexion de niveau 4 établie entre deux machines. Ainsi dans l’exemple précédent, il sera peut-être nécessaire de réguler le flux de transfert de la page texte, par contre le serveur étant surchargé n’est pas en mesure d’acheminer les images plus vite que le récepteur, il n’est donc pas nécessaire de réguler le flux des images.

Les techniques de gestion de flux sont nombreuses mais quelques unes sortent du lot :

  • Au niveau 1, on trouvera la gestion de flux par fils de jonctions (RTS et DTR) appelée aussi gestion par 105 ou 108. Cette technique ne peut être mise en oeuvre qu’entre des équipements séparés par un support au plus, ou directement raccordés par une jonction.
  • Lorsque la transmission est en mode caractère (asynchrone) on utilise généralement la technique du XON/XOFF qui sont deux caractères de la grille ASCII. Le XOFF est émis par le récepteur vers l’émetteur pour stopper la transmission, le XON pour la relancer. Des querelles de clocher se font jour entre puristes pour classer ce mode en niveau 1 ou 2 de l’OSI. Je n’ai pour ma part pas d’avis (avec un penchant pour le niveau 1 quand même !).
  • Au niveau 2 on trouve essentiellement le mode de gestion par fenêtrage. Qui consiste à laisser la possibilité à l’émetteur d’émettre un nombre défini de trames sans recevoir d’acquittement. Le nombre en question défini la fenêtre d’anticipation autorisée.Lorsque l’émetteur à émis toute la fenêtre autorisée il s’arrête jusqu’à réception d’une trame d’acquittement lui réouvrant sa fenêtre. C’est la méthode utilisée dans les procédures découlant d’HDLC.
  • Au niveau 3 on peut utiliser la même technique. En X25 la gestion de flux est dite de proche en proche. A savoir que la fermeture de fenêtre va progressivement remonter du destinaire final vers son commutateur de rattachement, puis vers les commutateurs de transit, puis le commutauteur de rattachement de l’émetteur, pour enfin aboutir à l’émetteur. Chaque équipement aura utilisé les possibilités de fenêtres et le réseau aura donc finalement bufférisé un certain nombre de paquets.
  • En IP la gestion de flux est assurée par un protocole annexe dénommé ICMP. Par des paquets appelés « Source Quench », l’équipement surchargé peut demander à l’émetteur de temporiser ces émissions, mais pas de les stopper. C’est un frein, pas un stop !
  • Au niveau 4, la technique de fenêtre d’anticipation est aussi utilisée. En TCP la technique retenue consiste à ouvrir une fenêtre en nombre d’octets. Lors d’un acquittement le récepteur indique à l’émetteur combien d’octets il peut lui émettre.

Nous venons ici de brosser sommairement quelques techniques de gestion de flux. Le sujet est très vaste et pourrait largement justifier d’un chapitre spécifique (voir un livre !). Mais je ne dispose ni du temps, ni de la place, ni du courage !

Remarques

Je n’ai ici présenté que deux fonctions nouvelles. Ne croyez pas que ce sont les seules mises en oeuvre par les protocoles de couche 4. Ce n’est pas non plus que mon ardeur diminue (quoique !). Mais nous avons déjà vu les fonctions de contrôles d’erreurs et de connexions qui en plus de la gestion de flux sont les grandes fonctions des protocoles de couche 4. Vous avez pu remarquer que finalement on retrouve souvent les mêmes fonctions d’une couche à l’autre. Mais ce n’est pas vraiment une redondance, car la portée de chaque protocole est différente. Les niveaux 1 et 2 n’influent que sur des équipements adjacents, le niveau 3 sur des équipements partageant une connexion réseau, le niveau 4 remonte jusqu’au process.

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

  • l’adressage de process (port ou socket),
  • le contrôle d’erreur (sur segment complet ou sur entête),
  • la segmentation de TPDU (optimisation de l’utilisation de la MTU du niveau 3),
  • etc …

Nous quittons dorénavant le domaine du transport de l’information, pour entrer dans un domaine un peu plus informatique. La couche 4 était une frontière dans le sens où pour une part elle gère des notions de contrôle d’erreurs, de gestion de flux et s’appuie sur un réseau de transport de l’information, et que d’autre part elle connecte et gère des process informatiques. Ainsi l’ensemble des couches 1 à 4 est-il vu par les informaticiens comme le sous-réseau de transport.

Les couches 5 et 6, sont très facultatives, et, pour tout dire, il est très difficile de les situer dans les environnements constructeurs actuels. En effet, nombre de leurs fonctions sont gérées directement par les applications et elles ne peuvent donc justifier leurs existences. Ainsi l’architecture IP passe directement d’un équivalent de couche 4 (TCP) à un équivalent de couche 7 (FTP, HTTP, SMTP, etc…).

Le chapitre suivant vous présente donc très sommairement la couche Session.

Page Précédente | Page Suivante