La couche transport relie les terminaux applicatifs à travers un réseau IP. TCP et UDP emploient tous deux des numéros de ports sur 16 bits, mais exposent aux applications des modèles de communication et garanties différents.
Bases du Réseau · Leçon 6
Couche transport
Découvrez comment TCP et UDP emploient les ports et offrent différentes sémantiques de livraison entre terminaux applicatifs.
Ports et sockets
Un port de destination aide le système d'exploitation à livrer le trafic à un socket en écoute. Une connexion ou un flux est identifié par plus d'un port : le protocole, les adresses source et destination ainsi que les ports source et destination comptent tous. Un même port de serveur peut donc prendre en charge de nombreux clients simultanés.
Comment un seul port de serveur TCP peut-il gérer plusieurs clients en même temps ?
Flux d'octets TCP
TCP fournit un flux d'octets ordonné et fiable tant que la connexion reste viable. Il emploie des numéros de séquence, accusés de réception, retransmissions et contrôles de flux et de congestion. TCP ne préserve pas les limites des messages applicatifs : une écriture peut arriver par plusieurs lectures, ou plusieurs écritures être renvoyées par une seule lecture. Les applications définissent leur propre encadrement.
La fiabilité ne signifie pas une livraison absolue. Une connexion peut expirer, être réinitialisée ou échouer, et un accusé de réception ne prouve pas que l'application a durablement validé les données.
Que deviennent les limites des messages applicatifs dans TCP ?
La poignée de main TCP
Une connexion TCP normale commence par une poignée de main en trois étapes :
- L'initiateur envoie
SYNavec ses informations de séquence initiales. - Le processus en écoute répond
SYN-ACKavec ses propres informations de séquence et son accusé de réception. - L'initiateur renvoie
ACK.
Cet échange établit l'état du transport dans les deux terminaux. Il n'authentifie pas le serveur applicatif et ne prouve pas que l'opération applicative demandée réussira.
Quel est l'ordre normal de la poignée de main TCP en trois étapes ?
Datagrammes UDP
UDP préserve les limites des datagrammes et fournit une détection des erreurs par somme de contrôle, mais n'offre pas l'état de connexion, l'ordre, la retransmission ni les contrôles de flux et de congestion de TCP. Une application peut ajouter elle-même la fiabilité ou le comportement de congestion dont elle a besoin. UDP n'est pas automatiquement plus rapide : les performances dépendent de la conception du protocole, de la charge, du trajet et de l'implémentation.
Quelle propriété UDP fournit-il aux applications ?
Examiner les terminaux de transport
Employez ss pour examiner les sockets en écoute et connectés sans les modifier :
$ ss -lntup
$ ss -tn state established
Les détails des processus peuvent exiger des privilèges. Un socket en écoute prouve seulement la disponibilité locale à la frontière du transport ; le pare-feu, le routage, la famille d'adresses, TLS et la santé applicative exigent encore des tests adaptés.
Qu'établit un socket TCP en écoute ?
Leçon terminée
Vous avez terminé Couche transport
Vous savez maintenant distinguer le comportement des flux TCP de celui des datagrammes UDP.
Identifier un flux par le protocole, les adresses et les ports.
Considérer TCP comme un flux d'octets fiable et ordonné sans limites de messages.
Reconnaître ce que la poignée de main TCP prouve et ne prouve pas.
Considérer la fiabilité et la congestion d'UDP comme des choix de conception applicatifs.
Vérifier la santé applicative au-delà de l'état du socket local.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit