TCP ou Transmission Control Protocol est un protocole de couche de transport résidant à la
couche 4 du modèle OSI et orienté connexion, il autorise une
nouvelle fois l’accès des protocoles de couche supérieure à la couche réseau ou à la couche IP, tout
en offrant une fiabilité accrue.
Il est orienté connexion avant
la transmission d’une session est établie entre 2 périphériques.
TCP implémente généralement un mode de fonctionnement en duplex intégral.
Il existe des exceptions mais nous ne
les expliquons pas ici. En d’autres termes, une connexion TCP est une
paire de circuits virtuels fonctionnant en mode duplex intégral dans chaque sens.
L'émetteur peut recevoir des données en même temps que leur transmission.
Les deux hôtes d’une conversation peuvent transmettre et recevoir en même temps.
il y a une vérification d'erreur dans TCP car
il y a une somme de contrôle dans le datagramme pour vérifier qu'il n'y a pas de corruption.
Les segments TCP sont également numérotés dans l'ordre afin que la destination puisse réorganiser les segments et déterminer si des données sont manquantes.
Il existe également un accusé de réception des données, de sorte que toutes les données sont acquittées par le destinataire.
l'émetteur ou l'expéditeur peut retransmettre le segment ou mettre fin à la connexion s'il détermine
que le destinataire n'est plus impliqué dans la conversation.
TCP implémente les fonctionnalités de récupération de données, autrement dit,
il peut y avoir une retransmission des données perdues.
Donc, s’il n’ya pas d’accusé de réception d’un segment, celui-ci sera retransmis.
Les segments TCP sont envoyés en utilisant des paquets IP.
L'en-tête TCP suivra l'en-tête IP fournissant des informations spécifiques au protocole TCP.
Comme vous pouvez le voir ici, l'en-tête TCP a beaucoup plus d'options que l'en-tête UDP.
Donc, premièrement, vous avez un numéro de port source de 16 bits qui identifie le port d’émission.
Nous avons un port de destination 16 bits, qui identifie le port de réception.
Il existe un numéro de séquence de 32 bits. Si le bit SYN est activé, il s’agit
du numéro de séquence initial.
Le numéro de séquence du premier octet de données effectif est alors ce numéro de séquence plus 1.
Si le bit SYN n'est pas défini, le numéro de séquence est le numéro de séquence accumulé du premier octet
de données de ce paquet pour la session en cours.
Il a alors un numéro d'accusé de réception de 32 bits.
Si le drapeau ACK est défini ou le bit défini, la valeur du
numéro d'accusé de réception est le
prochain numéro de séquence que le destinataire s'attend à recevoir.
Ce champ accuse réception de tous les octets antérieurs.
Le premier ACK ou accusé de réception envoyé par chaque extrémité acquitte
les autres extrémités du numéro de séquence initial mais pas de données.
La longueur de l'en-tête ou le décalage des données spécifie la taille de l'en-tête TCP en mots de 32 bits.
La taille minimale de l'en-tête est de 5 mots et la taille maximale de 15 mots.
La taille minimale de l'en-tête est de
20 octets et la taille maximale de
l'en-tête est de 60 octets dans IPv4, ce qui permet d'ajouter jusqu'à 40 octets d'options dans l'en-tête.
La réserve remplit le jeu à 0 et est réservée pour une utilisation future.
Maintenant, il y a beaucoup de drapeaux ou de bits de contrôle disponibles dans l'en-tête TCP et nous ne les
parcourons pas tous.
L'indicateur réduit de la fenêtre d'encombrement fait partie d'un mécanisme de
notification d'encombrement utilisé conjointement avec le bit ou
l'indicateur ECE ou le champ ou l'indicateur d'écho de notification d'encombrement.
Encore une fois utilisé dans la notification de congestion.
Cela peut être utilisé dans la qualité de service lorsque le réseau
et l'hôte communiquent pour indiquer un encombrement et permettent
ainsi à l'émetteur de savoir qu'il doit ralentir.
Le drapeau URG peut indiquer que ce segment est urgent et doit être
traité dès que possible.
Le drapeau ACK mentionné est utilisé pour l’accusé de réception des données.
PSH est l'indicateur défini par l'expéditeur TCP pour que le récepteur TCP passe immédiatement 60 Les données de
ce segment vers le socket de l'application du récepteur
ainsi que toutes les autres données en ordre que le récepteur n'a pas encore données à cette application.
Réinitialiser; réinitialise la connexion, autrement dit, la connexion est interrompue.
SYN est utilisé pour synchroniser les numéros de séquence.
Seul le premier paquet envoyé à partir de chaque extrémité aura cet indicateur défini.
FIN signifie qu'il n'y a plus de données provenant de l'expéditeur.
La taille de la fenêtre, qui est de 16 bits,
spécifie la taille de la fenêtre
reçue, à savoir le nombre d'octets que le récepteur est actuellement disposé à recevoir. Nous parlerons davantage
du contrôle de flux et de la taille de la fenêtre dans un instant.
Le protocole TCP comprend également une somme de contrôle TCP de 16
bits, utilisée pour la vérification des erreurs de l’en-tête et des données.
Le pointeur urgent 16 bits est utilisé avec l'indicateur URG qui, lorsqu'il
est activé, signifie que le pointeur urgent 16 bits est utilisé.
Cela indique un décalage par rapport au numéro de séquence indiquant le dernier octet de données urgent.
Diverses options sont également disponibles
dans le TCP, mais elles sortent du cadre de ce cours.
Et enfin nous avons les données, qui sont les données des protocoles de
couche supérieure encapsulés dans l'en-tête TCP.
Il existe quelques exemples d’applications reposant sur TCP ou UDP.
Des exemples sont les protocoles de transfert de fichiers inclus; FTP ou protocole de transfert de
fichiers TFTP ou protocole de transfert de fichiers trivial, NFS ou système de fichiers réseau.
Dans le courrier électronique, nous avons tendance à utiliser le protocole POP3 ou Post Office pour recevoir du courrier. Le protocole de transfert de courrier simple ou SMTP pour
envoyer un courrier ou le protocole IMAP ou Internet Message Access Protocol est un autre
protocole utilisé pour la récupération du courrier électronique. 86 Pour la
connexion à distance à des périphériques, nous
pourrions utiliser telnet, qui envoie le trafic en clair et est
donc sécurisé ou SHELL ou SSH sécurisé, ce qui permet une
connexion sécurisée à des périphériques distants.
Pour la gestion de réseau, nous pouvons utiliser le protocole de gestion de réseau simple ou SNMP et pour la
gestion de noms, nous pouvons utiliser le système de noms
de domaine, qui permet d'utiliser des noms plutôt que des
adresses IP et de convertir ces noms de domaine significatifs
en adresses IP, par exemple cisco. com sera converti en une adresse
IP lorsqu'un utilisateur naviguera sur Internet.
Avant de continuer, je voudrais mentionner de nouveau le fonctionnement des mappages
entre les différentes couches du modèle OSI.
Au niveau 2 de la trame Ethernet 2, il existe un champ appelé numéro de type qui permet à un hôte de différencier plusieurs protocoles de couche 3 au niveau 3, n’oubliez pas que vous utilisez peut-être un protocole comme IPv4 ou IPv6 ou dans les vieux jours IPX ou Apple Talk.
Ainsi, au niveau 2, le NEC doit savoir à quel protocole de couche 3 envoyer ce trafic et le numéro de
type est utilisé pour différencier les différents protocoles de couche 3.
À la couche 3, un numéro de protocole est utilisé pour différencier 105 les différents protocoles fonctionnant à la couche 4, ainsi dans un en-tête
IP, le champ de protocole indiquera où le protocole TCP ou UDP est utilisé sur la couche 4. À la couche 4, un numéro
de port est utilisé pour différencier les applications multiples utilisées à la couche 7. 108 Il est donc important de noter qu’à la couche 4,
TCP ou UDP savent à quelle application ce trafic est destiné par le numéro de port.