TCP permet de multiplexer les données, c'est-à-dire de faire circuler simultanément des informations provenant de sources (applications par exemple) distinctes sur une même ligne. TCP permet enfin l'initialisation et la fin d'une communication de manière courtoise.
Présenté simplement, le protocole TCP/IP est un standard de communication entre deux processus. Il détermine et fixe les règles inhérentes à l'émission et à la réception de données sur un réseau. L'association des deux protocoles permet d'apporter des garanties de fiabilité dans le transfert des données.
L'état de développement actuel du protocole TCP permet d'établir un lien de transmission de données bilatérale entre deux terminaux d'un même réseau informatique. Toute éventuelle perte de données est automatiquement détectée et solutionnée, c'est pourquoi ce protocole est considéré comme fiable.
TCP (Transport Control Protocol) assure un service de transmission de données fiable avec une détection et une correction d'erreurs de bout en bout. UDP (User Datagram Protocol) offre un service de transmission de datagrammes sans connection.
Les applications les plus courantes qui utilisent TCP sont HTTP/HTTPS (World Wide Web), SMTP/POP3/IMAP (messagerie) et FTP (transfert de fichiers). Youtube et Netflix utilisent également TCP pour leurs fluxs de streaming.
Normalement, en émission, TCP reçoit les données depuis l'application, les transforme en segments à sa guise puis transfère les segments sur le réseau ; un récepteur TCP décodant le bit PSH, transmet à l'application réceptrice, les données correspondantes sans attendre plus de données de l'émetteur.
Différence entre TCP et UDP
TCP est en mode orienté connexion et fiable, tandis que UDP est en mode non-connecté et peu fiable. TCP nécessite plus de traitement au niveau de l'interface réseau, ce qui n'est pas le cas en UDP.
TCP est un protocole orienté connexion, c'est-à-dire qu'il permet à deux machines qui communiquent de contrôler l'état de la transmission. Les caractéristiques principales du protocole TCP sont les suivantes : TCP permet de remettre en ordre les datagrammes en provenance du protocole IP.
TCP est un protocole de la couche Transport au sens du modèle OSI. Il s'exécute au dessus du protocole IP qui lui fournit un service de datagrammes sans connexion entre deux machines. TCP est un protocole orienté connexion qui garantit que les données sont remises de façon fiable.
Fonctions de la couche de transport TCP-IP
C'est la couche de transport qui portera ce rôle. Les deux protocoles de cette couche, les plus courants sont TCP et UDP. Ils gèrent la communication de plusieurs applications et fournissent des services de communication directement au processus d'application de l'hôte.
L'UDP permet une communication rapide, sans délai : ce protocole de transport est adapté à une transmission rapide des données, car il n'établit pas de connexion. Ceci résulte également du fait que la perte de paquets individuels impacte uniquement la qualité de la transmission.
Lorsque le protocole TCP de l'hôte émetteur souhaite établir les connexions, il envoie un segment appelé SYN au protocole TCP de l'hôte récepteur. Le TCP récepteur renvoie un segment appelé ACK afin d'accuser la réception du segment. Le TCP émetteur envoie un autre segment ACK, puis initialise l'envoi des données.
Le rôle du protocole IP
Le protocole IP fait partie de la couche Internet de la suite de protocoles TCP/IP. C'est un des protocoles les plus importants d'Internet car il permet l'élaboration et le transport des datagrammes IP (les paquets de données), sans toutefois en assurer la « livraison ».
Quelles sont les trois responsabilités de la couche transport ? La couche transport est chargée de : Réaliser un suivi des conversations individuelles qui ont lieu entre les applications sur les hôtes source et de destination. Segmenter les données et ajouter un entête pour identifier et gérer chaque segment.
Internet protocol (protocole internet, abrégé en IP) est une famille de protocoles de communication de réseaux informatiques conçus pour être utilisés sur Internet. Les protocoles IP sont au niveau 3 dans le modèle OSI.
DNS utilise TCP pour le transfert de zone et UDP pour le nom, et interroge normalement (principal) ou inversement. UDP peut être utilisé pour échanger de petites informations, tandis que TCP doit être utilisé pour échanger des informations dont la taille est supérieure à 512 octets.
La connexion se fait avec une adresse IP et un port source et adresse IP et port de destination. On parle alors de TCP socket. L'établissement de la connexion se fait par poignée de main. La communication se fait par paquets que l'on peut fragmenter (fragmentation)
TCP est considéré comme un protocole "orienté connexion", car il assure la distribution des données à l'hôte récepteur sans erreur. La Figure 1–1 indique comment le protocole TCP reçoit le flux de données à partir de la commande rlogin .
Le protocole IP définit la manière dont les ordinateurs peuvent se transmettre des données via un ensemble routé de réseaux interconnectés. Le protocole TCP, quant à lui, définit la manière dont des applications créent des canaux de communication fiables à l'échelle de ce réseau.
Le protocole de datagramme utilisateur, ou UDP, est un protocole de communication utilisé sur Internet pour les transmissions particulièrement sensibles au temps, telles que la lecture de vidéos ou les recherches DNS.
Le champ Fenêtre « Windows » est codé sur 16 bits et correspond au nombre d'octets à partir de la position marquée dans l'accusé de réception que le récepteur est capable de recevoir. Le destinataire ne doit donc pas envoyer les paquets après Numéro de séquence + Window.
Le principe est le suivant : Quand une connexion TCP est établie, l'émetteur crée une fenêtre de congestion égale à 1 paquet, et se fixe une limite appelée threshold égale à 64Ko. Pour chaque paquet recu par le destinataire, un paquet d'aquitement (ACK) est envoyé.
Le Modèle TCP/IP est fondé sur le constat que les logiciels réseaux n'utilisent que très peu, ou pas , les couches session et présentation. Cette couche regroupe toute les protocoles de haut niveau (FTP, SMTP, HTTP, DNS…). Cette couche devra choisir un protocole de transport adapté au service demandé.
Ce modèle a été mis en place par l'ISO afin de mettre en place un standard de communications entre les ordinateurs d'un réseau, c'est-à-dire les règles qui gèrent les communications entre des ordinateurs. En effet, aux origines des réseaux chaque constructeur avait un système propre (on parle de système propriétaire).