Module 14: Transport Layer - TCP and UDP

📝 14.1 Rôle et responsabilités de la couche Transport

⚙️ 14.1.1 Rôle de la couche Transport

  • Fonction principale : Assure la communication logique entre les applications sur différents hôtes.

  • Protocoles utilisés :

    • TCP (Transmission Control Protocol) : Fiable et orienté connexion.

    • UDP (User Datagram Protocol) : Rapide, non connecté et avec peu de surcharge.


🔗 14.1.2 Responsabilités de la couche Transport

  1. Suivi des conversations individuelles : Gère plusieurs sessions simultanées.

  2. Segmentation et réassemblage des données : Divise les grandes données en segments et les réassemble à destination.

  3. Ajout d'informations d'en-tête : Ajoute des en-têtes pour le routage.

  4. Identification des applications : Utilise des numéros de port pour acheminer correctement les données.

  5. Multiplexage des conversations : Permet à plusieurs applications de communiquer sur un même périphérique.


📊 14.1.3 Aperçu des protocoles

  • TCP

    • Fiable et garantit la livraison des données dans l’ordre.

    • Utilisé pour les applications comme le courriel (SMTP), la navigation Web (HTTP) et le transfert de fichiers (FTP).

  • UDP

    • Rapide et basé sur une livraison au "meilleur effort".

    • Utilisé pour des tâches comme les requêtes DNS et les flux multimédia (VoIP, IPTV).


🔒 14.2 Caractéristiques de TCP

🔑 14.2.1 Fonctionnalités principales de TCP

  1. Établissement de session : Utilise un "handshake" en trois étapes pour établir la connexion avant d’échanger des données.

  2. Livraison fiable : Retransmet les segments perdus et accuse réception des données reçues.

  3. Ordre garanti : Numérote les segments pour les réordonner s'ils arrivent dans le désordre.

  4. Contrôle de flux : Ajuste le débit des données selon les conditions du réseau et la capacité du destinataire.


📋 14.2.2 En-tête TCP

  • Principaux champs :

    • Ports Source/Destination : Identifient les applications émettrices et réceptrices.

    • Numéros de Séquence/Acknowledgment : Assurent le suivi des données.

    • Bits de contrôle : Gèrent l'établissement et la fermeture des sessions.

    • Taille de la fenêtre : Permet le contrôle de flux.


🚀 14.3 Caractéristiques de UDP

⚡ 14.3.1 Fonctionnalités principales de UDP

  • Sans connexion : Pas de handshake ou d'accusé de réception.

  • Faible surcharge : En-tête simple de 8 octets.

  • Sans état : Ne garde pas trace des sessions en cours.

🎥 14.3.2 Applications utilisant UDP

  1. Flux en direct et multimédia : VoIP, vidéo en direct.

  2. Applications requête-réponse : DNS, DHCP.

  3. Fiabilité gérée par l’application : SNMP, TFTP.


🎛️ 14.4 Numéros de port et sockets

🔢 14.4.1 Groupes de numéros de port

  1. Ports connus (0-1023) : Réservés aux processus système (ex. : HTTP - 80, DNS - 53).

  2. Ports enregistrés (1024-49151) : Utilisés par des éditeurs de logiciels.

  3. Ports dynamiques/éphémères (49152-65535) : Assignés aux clients.

🔗 14.4.2 Sockets

  • Une combinaison adresse IP + numéro de port identifie une session de communication.

  • Exemple :

    • Socket client : 192.168.1.5:1099

    • Socket serveur : 192.168.1.7:80

    • Ensemble : Paire de sockets pour établir une communication.


🌐 14.5 Gestion des connexions TCP

🤝 14.5.2 Établissement de connexion TCP (Three-Way Handshake)

  1. SYN : Le client demande une session de communication avec le serveur.

  2. SYN-ACK : Le serveur reconnaît la demande et répond avec sa propre synchronisation.

  3. ACK : Le client confirme la connexion.

🔚 14.5.3 Fermeture de session

  • Processus en quatre étapes utilisant les drapeaux FIN et ACK pour fermer la communication dans les deux sens.


🔄 14.6 Fiabilité et contrôle de flux TCP

📐 14.6.1 Fiabilité

  1. Numérotation des segments : Garantit la réorganisation des paquets dans l’ordre correct.

  2. Acknowledgments : Confirment la réception des données.

  3. Retransmissions : Réenvoient les segments perdus ou non confirmés.

📊 14.6.5 Contrôle de flux

  • Utilise la taille de la fenêtre pour réguler la vitesse de transmission des données.

  • Fenêtre coulissante : Permet un flux continu en fonction des accusés de réception.

🌐 14.6.6 Gestion de la congestion

  • Réduit le débit pendant la congestion pour éviter les pertes de paquets.


⚙️ 14.7 Efficacité de UDP

⚡ 14.7.1 Faible surcharge

  • Pas d'établissement de connexion ou de suivi des sessions.

📈 14.7.2 Cas d’utilisation

  • Livraison rapide : VoIP, streaming vidéo.

  • Requêtes simples : DNS, DHCP.

  • Transmission légère : SNMP, TFTP.


🔍 Tableau récapitulatif : TCP vs UDP

Fonctionnalité

TCP

UDP

Connexion

Orientée connexion

Sans connexion

Fiabilité

Garantie de livraison

Pas de garantie

Surcharge

Élevée (suivi, en-têtes)

Faible (en-tête simple)

Cas d'utilisation

Email, navigation web, FTP

Streaming, VoIP, DNS

Last updated