TCP (Transmission Control Protocol) implémente un service de flux d'octets fiable, ordonné et orienté connexion entre les applications exécutées sur différents hôtes. Cela signifie qu'il fournit les éléments suivants :
* Livraison de données fiable : TCP garantit que toutes les données envoyées arriveront à destination sans perte, duplication ou corruption. Il utilise des accusés de réception (ACK) et des retransmissions pour y parvenir.
* Livraison des données commandées : Les données arrivent dans le même ordre dans lequel elles ont été envoyées. TCP numérote chaque segment de données et les réorganise si nécessaire au niveau du récepteur.
* Orienté connexion : Avant que le transfert de données puisse commencer, TCP établit une connexion entre l'expéditeur et le destinataire. Cela implique une poignée de main à trois. La connexion reste active jusqu'à ce qu'elle soit explicitement fermée. Cela fournit un canal de communication stable et dédié.
* Communication full-duplex : Les données peuvent circuler simultanément dans les deux sens.
* Contrôle de flux : TCP empêche un expéditeur rapide de submerger un destinataire lent. Il utilise un mécanisme de fenêtre coulissante pour contrôler le taux de transmission des données.
* Contrôle des embouteillages : TCP aide à gérer la congestion du réseau en ajustant son taux de transmission en fonction des conditions du réseau. Des algorithmes tels que le démarrage lent, l'évitement de la congestion et la retransmission rapide sont utilisés pour éviter la surcharge du réseau.
En bref, TCP offre aux applications un moyen robuste et fiable de communiquer sur un réseau, gérant automatiquement de nombreuses complexités de la transmission de données. Il est idéal pour les applications où la fiabilité est primordiale, telles que la navigation Web, la messagerie électronique et le transfert de fichiers.
|