• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 03/02/2020

Appréhendez les protocoles de la couche transport

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Découvrez les protocoles de transport

Après avoir étudié comment acheminer les paquets générés par les objets connectés dans Internet, grâce à IP et au routage, intéressons-nous aux protocoles de transport.

Un protocole de transport permet un dialogue de bout en bout entre deux machines distantes, ici un capteur et un serveur. Il véhicule les informations applicatives entre des ports source et destination, qui représentent les identifiants des applications sur les machines.

Nous rencontrons principalement deux familles de protocoles de transport :

  • les protocoles fiables comme TCP ;

  • les protocoles de transport non fiables comme UDP.

Suivant les besoins en qualité de service et en performances, l’une de ces familles est choisie.

Appréhendez les propriétés d’une couche de transport fiable de type TCP

Intéressons-nous au fonctionnement de TCP, protocole de transport fiable et performant dans le monde IP. TCP est probablement le protocole de transport le plus utilisé pour l’échange d’informations sur Internet. TCP utilise plusieurs mécanismes fondamentaux que nous allons présenter.

  • Tout d’abord, TCP est un protocole dit connecté. Autrement dit, avant d’envoyer des données vers le serveur, le capteur doit s’assurer de la présence et de la disponibilité de celui-ci : cela se fait grâce à un mécanisme d’ouverture de connexion. Dès que la connexion est ouverte, des données peuvent être échangées. Si la connexion n’est pas ouverte, aucune donnée ne peut transiter. Bien sûr, un mécanisme de fermeture de connexion est utilisé à la fin des échanges.

  • Numérotation des segments. Pour gérer la perte de paquets, les paquets répliqués et le déséquencement de paquets dans le réseau, TCP utilise un simple mécanisme de numérotation unique de chaque segment transmis. Ainsi, grâce à cette information, TCP peut facilement détecter si un segment est perdu, répliqué, ou si les segments arrivent dans le désordre.

  • Acquittement des segments reçus. Pour s’assurer qu’un segment a été correctement reçu, le destinataire va utiliser un mécanisme d’acquittement des informations reçues : un acquittement peut être envoyé pour confirmer la bonne réception d’un seul segment ou de plusieurs segments. Notez que TCP permet aussi la retransmission de segments perdus.

  • Gestion de la congestion. Pour améliorer la performance et éviter la congestion auprès des machines distantes, TCP utilise un mécanisme de fenêtre, dont la valeur et le comportement sont contrôlés par le destinataire. Considérons que le serveur spécifie une valeur de fenêtre Ws, cette valeur est initialisée lors de l’ouverture de connexion mais évolue au gré des échanges de segments.
    Cela signifie que le capteur peut envoyer Ws bits d’informations sans attendre d’acquittement. Lorsque toutes les données ont été transmisses, le capteur ne peut plus transmettre. Au cours des échanges, le serveur peut augmenter la valeur Ws, typiquement s’il a plus de capacité, ou encore la réduire, voire annoncer une valeur Ws égale à zéro en cas de congestion, par exemple.

  • Mécanisme du slow-start. C’est un mécanisme d’anticipation de transmission de telle façon à éviter la congestion dans le réseau. Initialement, le capteur émet 1 seul segment. Si celui-ci est correctement reçu, il en transmet deux consécutivement. S’ils sont reçus, il en transmet quatre, et ainsi de suite. Après cette phase de croissance exponentielle, et à partir d’un seuil, la croissance du nombre de segments transmis consécutivement se fait de façon linéaire. Dès qu’un segment est perdu, la transmission redémarre à la valeur Ws sur deux. Ce mécanisme permet d’adapter l’envoi des segments à la congestion dans le réseau.

D’autres mécanismes, plus évolués, existent dans TCP, toujours avec les objectifs de performance et de fiabilité, comme l’algorithme de Clark, l’algorithme de Naggle, la détection d’acquittements dupliqués et d’autres.

Découvrez les propriétés d’une couche de transport non fiable de type UDP

UDP, lui, est un protocole de transport n’offrant aucune garantie de performance ou de qualité de service. Il est non connecté ; autrement dit, un capteur peut envoyer des données sans s’assurer de la présence et de la disponibilité du serveur.

UDP ne proposant aucun mécanisme de qualité de service ou de robustesse, les datagrammes échangés peuvent être perdus, répliqués ou arriver déséquencés.

En effet, UDP repose sur l’idée que l’intelligence n’est pas dans le réseau mais à l’extérieur, et que si des objectifs de performance ou de robustesse sont exigés par les applications, c’est à elles de les implanter.

Ainsi, UDP est adapté à la transmission de flux vidéo, qui possèdent un système de codage performant et robuste, ou encore à la transmission d’informations périodiques de mesures si la perte d’une donnée n’est pas critique, comme c’est le cas pour la mesure de température de notre capteur.

Appréhendez les particularités de la couche de transport pour les objets connectés

Ainsi, il n’est pas rare d’utiliser UDP pour ces raisons car TCP est trop gourmand. Toutefois, de la fiabilité est parfois exigée. Comment faire ?

Dans le monde de l’IoT, CoAP, pour Constrained Application Protocol, est un protocole qui vient se placer entre UDP et l’application. On peut le voir comme une variante du protocole HTTP, que vous utilisez pour surfer sur Internet, mais simplifiée pour objets et réseaux contraints.

On retrouve un protocole sans état : autrement dit, où chaque message échangé ne nécessite pas d’autres messages pour être traités. Les principaux messages sont de types Requête/Réponse pour, par exemple, interroger depuis un serveur la température sur un capteur ou transmettre une information.

En résumé de la partie 4

Dans cette dernière partie, nous nous sommes intéressés à l'utilisation de TCP/IP pour permettre l'acheminement d'une donnée collectée sur un capteur vers un serveur distant, en utilisant les protocoles essentiels de l'Internet. Nous avons discuté des concepts clefs comme l'encapsulation, l'adressage, la fragmentation.

Nous avons étudié IP qui est utilisé pour router tous types de données, dont les données venant d'objets connectés, et nous nous sommes intéressés au routage IP. Enfin, nous avons terminé par étudier les protocoles de transport permettant un dialogue entre l'objet connecté et le serveur, en mettant un focus sur TCP puis UDP.

Vous êtes arrivé à la fin de ce cours, félicitations ! Vous avez maintenant toutes les clés pour :

  • appréhender l'utilisation pratique des concepts théoriques d'un réseau ;

  • identifier l'utilisation de la théorie des graphes dans la modélisation d'un réseau ;

  • décrire les différentes techniques d'accès sur un canal de communication partagé ;

  • identifier le rôle et le fonctionnement des protocoles et mécanismes de la pile TCP/IP.

N'oubliez pas de réaliser les exercices à la fin de chaque partie pour valider ces compétences. Nous vous souhaitons une bonne continuation dans tous vos projets !

Exemple de certificat de réussite
Exemple de certificat de réussite