La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TCP – Transmission Control Protocol

Présentations similaires


Présentation au sujet: "TCP – Transmission Control Protocol"— Transcription de la présentation:

1 TCP – Transmission Control Protocol

2 TCP Présentation : Les applications qui exigent du protocole de Transport qu'il fournisse une transmission fiable des données utilisent TCP Ce protocole vérifie que les données sont correctement transmises de bout en bout et dans la séquence appropriée TCP est un protocole fiable, orienté connexion, à flux d'octets

3 TCP La fiabilité de TCP provient d'un mécanisme appelé Positive Acknowledgment with Retransmission (PAR) Le processus émetteur renvoie les données à moins qu'il n'apprenne du système distant que les données sont bien arrivées L'unité de données échangées entre des modules TCP coopératifs est appelée un segment

4 TCP Chaque segment contient une somme de contrôle qu'utilise le destinataire pour vérifier que les données ne sont pas endommagées Si c’est le cas, le récepteur renvoie un acquittement positif (positive acknowledgment) à l'émetteur Si le segment de données est endommagé, le récepteur le détruit Après un laps de temps approprié, le processus TCP émetteur retransmet tout segment pour lequel l'acquittement n'a pas été reçu

5 TCP TCP est orienté connexion
Il établit une connexion logique de bout en bout entre les deux applications hôtes communiquant entre eux Des informations de contrôle, appelées le handshake, sont échangées entre les deux points pour établir un dialogue avant de transmettre les données TCP indique la fonction de contrôle d'un segment en modifiant le bit correspondant du champ Flags au mot long n°4 de l'en-tête de segment

6 TCP En fonctions des segments échangés, une connexion est soit en cours d’établissement, soit en échange de données, soit en mode de fermeture de connexion Une connexion virtuelle sera établie entre les applications de l'émetteur et du destinataire Pour les couches supérieurs, comme la programmation des sockets, TCP représente un service transparent Les connexions logiques TCP sont Unicast

7 TCP Le protocole TCP - en-tête de segment TCP :
Sur les OS Windows, le logiciel de pilotage TCP se trouve dans la bibliothèque Winsock.dll ou wsock32.dll Ces fichiers contiennent la pile de protocoles TCP/IP sous Windows

8 TCP L'en-tête TCP est constitué de 20 octets qui suivent les 20 octets minimum de l'en-tête IP Cela n'optimise pas la bande passante mais c'est le prix administratif à payer pour obtenir une connexion sécurisée de bout en bout Cet en-tête est nécessaire même pour ne transporter qu'un segment d'accusé de réception ACK TCP essaie d'optimiser l'envoi de segments particulièrement en les faisant de la taille la plus importante possible Toutefois TCP tient compte des limites de la MTU sous-jacente

9 TCP

10 TCP Port Source (16 bits) numéro de port côté émetteur
Port Destination (16 bits) numéro de port côté récepteur Numéro de séquence (32bits) offset du 1er octet de données emportées Numéro d'acquittement (32 bits) indique à l'autre l'offset du prochain octet de donnée attendu. Il valide implicitement les octets précédemment reçus Offset (4 bits) indique la taille de l'en-tête TCP en mots longs de 32 bits Réservé (6 bits) réservés pour une utilisation ultérieure

11 TCP Flags (6bits) désigne la fonction du segment TCP courant URG
le segment contient des données urgentes (Urgent Data). Le champ Pointeur Urgent sera pris en considération ACK le segment contient un Acknowledge PSH des données suivent immédiatement RST reset de la connexion SYN établissement de la connexion et synchronisation des Numéros de Séquence FIN l'expéditeur n'a plus de données à émettre. Demande d'interruption de la connexion Fenêtre (16 bits) nombre d'octets que l'expéditeur est prêt à recevoir en tenant compte de l'octet affiché dans le Numéro d'Acquittement Somme de contrôle (16 bits) somme de contrôle basée sur le pseudo en-tête et les données @IP+N°protocole TCP (0x0006)+longueur du segment Pointeur Urgent (16 bits) indique l'offset du premier octet de données normales suivant les données urgentes se trouvant après l'en-tête TCP Options (longueur variable) options, par exemple la taille maximale des segments

12 TCP Le protocole TCP - Le three-way Handshake :
Les communications TCP se déroulent en full-duplex virtuel Emetteur et destinataire peuvent échanger des données simultanément Les paquets d'informations échangés vont de l'octet à plusieurs méga-octets, voire sans limite Le type de handshake employé par TCP est appelé un Three-Way Handshake parce que trois segments sont échangés

13 TCP

14 TCP L'hôte A commence la connexion en envoyant à l'hôte B un segment dont le bit « SYnchronize sequence Number » SYN, est à 1 et le bit ACK à 0 Ce segment signifie à l'hôte quel numéro de séquence emploiera en premier l'hôte A pour ses segments (les numéros de séquence sont employés pour conserver l'ordre des données) L'hôte B répond à A avec un segment qui a les bits « Acknowledgment » ACK et SYN à 1

15 TCP Le segment B acquitte la réception du segment de A et informe ce dernier par quel numéro de séquence, B va commencer Enfin, l'hôte A envoie un segment qui acquitte la réception de celui de B et transfère les premières vraies données Le bit ACK n’est à 0 que dans le premier segment et toujours du client vers le serveur

16 TCP Après cet échange, l'hôte A a la preuve que le TCP distant est actif et prêt à recevoir des données Dès que la connexion est établie, les données peuvent être transférées Quand les modules coopératifs ont terminé les transferts de données, ils échangent un des segments administratifs contenant le bit « plus de données de l'envoyeur » (bit FIN) à 1 pour clore la connexion Chaque segment contenant le bit FIN à 1 sera validé par un ACK qui sera l'ultime envoi de la connexion

17 TCP TCP considère les données qu'il envoie comme un flux continu d'octets et non comme des paquets indépendants Il prend soin de maintenir la séquence dans laquelle les octets sont envoyés et reçus Les champs « n° de séquence » et « n° d'acquittement » de l'en-tête du segment TCP sont de pointeurs de flux octets

18 TCP Le standard TCP ne demande pas de commencer à numéroter les octets avec un nombre spécifique Chaque système choisit celui qui servira de point de départ Afin de garder la trace du flux de données, chaque bout de la connexion synchronise les systèmes de numérotage des octets en échangeant des segments SYN pendant le handshake Le champ « n° de séquence initial » du segment SYN contient le Numéro Initial de Séquence (ISN) qui est le point de départ du système de numérotage des octets

19 TCP Chaque octet de données est numéroté de façon séquentielle depuis l'ISN et le premier octet de données prend donc le numéro ISN+1 Le Numéro de Séquence de l'en-tête d'un segment de données identifie la position séquentielle dans le flux de données du premier octet de données dans le segment

20 TCP Le Segment d'Acquittement (ACK) se charge de deux fonctions : l'acquittement positif et le contrôle de flux L'acquittement dit à l'émetteur combien de données ont été reçues et combien le récepteur peut encore en accepter Le Numéro d'Acquittement est le numéro de séquence du dernier octet reçu à l'autre bout + 1 Il s’agit en fait, du prochain octet attendu

21 TCP Le standard ne demande pas un acquittement individuel pour chaque paquet Le numéro d'acquittement est un acquittement positif de tous les octets jusqu'à ce numéro Par exemple, si le premier octet envoyé et numéroté 1 et que 2000 octets ont été correctement reçus, le Numéro d'Acquittement est 2001

22 TCP Le champ Fenêtre contient le nombre d'octets que le récepteur peut accepter S'il peut accepter octets, la fenêtre sera de 6 000 La Fenêtre indique à l'émetteur qu'il peut continuer à envoyer des segments tant que le nombre total envoyé est plus petit que la fenêtre d'octets que le récepteur peut accepter Ce dernier contrôle le flux d'octets en provenance de l'émetteur en changeant la taille de la fenêtre Une fenêtre à 0 demande à l'émetteur de cesser la transmission jusqu'à ce qu'il reçoive une valeur de fenêtre non nulle

23 TCP TCP est également chargé de délivrer les données reçues de IP à l'application correcte Celle-ci est identifiée par un numéro sur 16 bits appelé Numéro de Port Destination Le Port Source et le Port Destination sont contenus dans le premier mot long de l'en-tête du segment Le passage correct des données depuis la Couche Application et vers elle constitue une partie importante du rôle des services de la Couche Transport


Télécharger ppt "TCP – Transmission Control Protocol"

Présentations similaires


Annonces Google