Réseaux Informatiques : Chapitre 7 les protocoles de transport réseaux informatique
Télécharger PDFCouche Transport : TCP et UDP
La couche Transport du modèle OSI est responsable du transport des données entre processus applicatifs sur des machines distantes. Elle offre des services essentiels pour garantir une communication efficace.
Services offerts par la couche Transport
La couche Transport permet de :
- Créer des connexions logiques entre applications exécutant sur des hôtes distants
- Assurer la fragmentation et le réassemblage des messages
- Utiliser une unité de données de protocole (PDU) appelée segment (pour TCP) ou datagramme (pour UDP)
- Exécuter les protocoles uniquement aux extrémités des machines
TCP (Transmission Control Protocol) : Mode connecté
TCP garantit un transport fiable des données grâce à plusieurs mécanismes :
- Établissement d'une connexion avant le transfert des données (phase de connexion / transfert / déconnexion)
- Contrôle de flux pour éviter la saturation des terminaux récepteurs
- Contrôle des erreurs avec acquittements et retransmissions
- Garantie du séquencement des données
- Segmentation des messages
Ce protocole est utilisé pour les applications critiques nécessitant une transmission fiable.
UDP (User Datagram Protocol) : Mode non connecté
UDP propose un transport non fiable avec un overhead réduit (8 octets contre 20 pour TCP). Ses caractéristiques incluent :
- Envoi direct des informations sans phase de connexion
- Support du multi-point (transmission à plusieurs destinataires)
- Pas de garantie de séquencement
- Contrôle des erreurs optionnel
UDP est idéal pour les applications multimédias où la fiabilité n'est pas indispensable.
Architecture d'un terminal IP
Un terminal IP se compose de :
- Un système d'exploitation
- Des protocoles TCP/UDP
Adressage des services
Les adresses IP identifient les machines entre lesquelles les communications sont établies. Pour adresser un processus spécifique sur une machine, on utilise les ports :
- Les processus sont dynamiquement créés et détruits sur les machines
- Un message est envoyé via un port source et un port destinataire
- Les processus disposent d'une interface système (socket) pour spécifier ou accéder à un port
- Les accès aux ports sont généralement synchrones et gérés via des files d'attente
Ports standards et multiplexage
Certains ports sont réservés pour des services spécifiques (well-known ports) :
- 7 : ECHO
- 11 : USERS (Active Users)
- 13 : DAYTIME
- 37 : TIME
- 42 : NAMESERVER
- 53 : DOMAIN (DNS)
- 67 : BOOTPS
- 68 : BOOTPC
- 69 : TFTP
- 123 : NTP
- 161 : SNMP
UDP multiplexe les datagrammes en sélectionnant les numéros de ports :
- Le port source indique la session créatrice du paquet
- Le port destinataire permet de communiquer avec le service désiré
- Si le port n'est pas actif, UDP émet un message ICMP "port unreachable" et détruit le datagramme
Inconvénients de UDP
UDP présente des limites, notamment :
- Manque de fiabilité (non critique pour la vidéo diffusion ou la VoIP)
- Aucune gestion de la congestion (les routeurs interviennent)
- Faible pourcentage du trafic réseau (applications comme DNS, SNMP, DHCP et RIP)
TCP : Fragmentation et encapsulation
TCP divise les messages en segments de taille maximale (MSS) et les encapsule dans des datagrammes IP. Voici les étapes :
- Application Message → TCP data (20 octets) → TCP Segment
- TCP Segment → IP data (14 octets) → IP Packet
- IP Packet → Ethernet Frame (MTU = 1500 octets)
Format du segment TCP
Un segment TCP contient :
- Numéro de séquence : Indique le numéro du premier octet du segment
- Numéro d'acquittement : Le prochain numéro de séquence attendu
- Fenêtre : Quantité de données que le récepteur peut recevoir
- Code bits : URG, SYN, FIN, PSH, RST (pour gérer la connexion)
- Checksum : Vérification du segment (entête + données)
- Options : Négociation de la taille maximale des segments (MSS)
Gestion des connexions TCP
TCP utilise des mécanismes pour établir et fermer les connexions :
- Ouverture passive (attente d'une connexion entrante)
- Ouverture active (demande d'établissement de connexion)
- Fermeture de connexion avec des échanges de messages
Contrôle de flux et de congestion
TCP optimise la transmission avec :
- Fenêtrage : Permet l'émission de plusieurs segments avant d'attendre un acquittement
- Contrôle de congestion : Utilise des algorithmes comme Slow Start, Congestion Avoidance et Multiplicative Decrease
- Variables : cnwnd (fenêtre de congestion), RTT (Round Trip Time), ssthresh (seuil)
FAQ
Quelle est la différence principale entre TCP et UDP ?
TCP est un protocole fiable avec gestion de la connexion et des erreurs, tandis qu'UDP est non fiable et sans connexion, idéal pour les applications nécessitant un faible délai.
Comment UDP gère-t-il le multiplexage ?
UDP utilise les numéros de ports source et destinataire pour multiplexer les datagrammes vers les applications appropriées.
Quels sont les mécanismes de contrôle de congestion dans TCP ?
TCP utilise Slow Start, Congestion Avoidance et Multiplicative Decrease pour ajuster dynamiquement la fenêtre de congestion et éviter la saturation du réseau.