TCP (Transport Control Protocol)

Le protocole TCP comme tout protocole de la couche transport fournit une communication de type logique entre des processus d’application exploités sur des serveurs différents. Il assure un transfert de données bout à bout fiable en mettant en œuvre la détection et la correction d’erreurs, en gérant le contrôle de flux et négociant les conditions de transfert des données entre les deux extrémités de la connexion. Le segment (appelé aussi paquet) est l’entité géré par TCP. (Danièle Dromard et Dominique Seret, 2013).

Fonctionnalités de TCP 

La détection et la correction d’erreurs que met en œuvre le TCP repose sur la numérotation des données ainsi que leur acquittement et aussi sur l’utilisation de la fenêtre de contrôle de congestion.

Il est à noter que la numérotation des données dans TCP se fait par octet et que les données transportées sont considérées comme des flux d’octets. La connexion TCP étant bidirectionnelle, les flux des données sont traités suivant le sens de transfert indépendamment par les extrémités concernées. Les données gérées par chacune des extrémités doivent être comprises dans les limites d’une fenêtre dont la taille est définie par un entier de 16 bits, donc la taille maximale d’une fenêtre TCP est de 65535 octets. (Danièle Dromard et Dominique Seret, 2013).

Format d’un segment TCP 

➤ les champs Port source/destination déterminent les ports utilisés pour la connexion à chaque extrémité identifiant les deux applications ;
➤ numéro de séquence: le numéro du premier octet de données par rapport au début de la transmission excepté le segment de synchronisation (SYN). Si SYN est actif, le numéro de séquence est le numéro de séquence initial (ISN) et le premier octet a pour numéro ISN+1 ;
➤ le numéro d’acquittement (acknowledgment ACK) est un champ qui contient le numéro de séquence du prochain octet que le récepteur s’attend à recevoir. Une fois la connexion établie, ce champ est toujours renseigné ;
➤ Data offset : La taille de l’en-tête TCP en nombre de mots de 32 bits. Il indique là ou commence les données. L’en-tête TCP, dans tous les cas à une taille correspondant à un nombre entier de mots de 32 bits ;
➤ le champ réservé est destiné à une utilisation future ;
➤ le champ bits de contrôle ou flags.
➤ le nombre d’octets à partir de la position marquée dans l’accusé de réception que le récepteur est capable de recevoir ;
➤ le champ checksum : il est constitué en calculant le complément à 1 sur 16 bits de la somme des compléments à 1 des octets de l’en-tête et des données pris deux par deux (mots de 16 bits). Si le message entier contient un nombre impair d’octets, un 0 est ajouté à la fin du message pour terminer le calcul du Checksum. Cet octet supplémentaire n’est pas transmis. Lors du calcul du Checksum, les positions des bits attribués à celui-ci sont marquées à 0. Le Checksum couvre de plus un pseudo en-tête de 96 bits préfixée à l’entête TCP. Ce pseudo en-tête comporte les adresses Internet source et destinataires, le type de protocole et la longueur du message TCP. Ceci protège TCP contre les erreurs de routage. Cette information sera véhiculée par IP, et est donnée comme argument par l’interface TCP/Réseau lors des appels d’IP par TCP ;
➤ le champ de pointeur des données urgentes communique la position d’une donnée urgente en donnant son décalage par rapport au numéro de séquence. Le pointeur doit pointer sur l’octet suivant la donnée urgente. Ce champ n’est interprété que lorsque URG est marqué ;
➤ les champs options sont variables. Elles peuvent occuper un espace de taille variable à la fin de l’en-tête TCP. Ils formeront toujours un multiple de 8 bits. Toutes les options sont prises en compte par le Checksum.

Table des matières

INTRODUCTION
CHAPITRE 1 REVUE DE LITTERATURES
1.1 Introduction
1.2 TCP (Transport Control Protocol)
1.2.1 Fonctionnalites de Tcp
1.2.2 Format d’un segment TCP
1.3 Fonctionnement du MPTCP
1.3.1 Les objectifs fonctionnels du MPTCP
1.3.2 Architecture de MPTCP
1.3.3 Initialisation de la connexion MPTCP
1.3.4 JOINDRE UNE NOUVELLE SOUS-SESSION
1.3.5 Structures des sequences de donnees (data sequences mapping)
1.3.6 Acquittement des données
1.3.7 Fin de connexion
1.4 Présentation des multipath schedulers
1.4.1 Schedulers a buffers individuels
1.4.2 Schedulers a buffer partage
1.4.3 Schedulers hybrides
1.4.4 Les paramètres caractéristiques des schedulers
1.4.4.1 Scheduler indépendant des caractéristiques des sous-sessions
1.4.4.2 Scheduler utilisant les informations d’état de l’émetteur
1.4.4.3 Scheduler se basant sur la capacité des sous-sessions
1.4.4.4 Scheduler se basant à la fois sur la capacité et le délai
1.5 Recherches antérieures relatives aux multi-path schedulers
CHAPITRE 2 PROBLEMATIQUE ET OBJECTIVE
2.1 Introduction
2.2 La problématique
2.2.1 Head-of-line blocking
2.2.2 Scheduler
2.3 Objectif
2.4 Hypotheses
CHAPITRE 3 PRESENTATION ET FONCTIONNEMENT DU SCHEDULER PROPOSE
3.1 Introduction
3.2 Bases théoriques
3.2.1 Le temps d’aller et retour (RTT) d’un lien TCP
3.2.2 Fenêtre TCP
3.2.2.1 Fenêtred’émission
3.2.2.2 Fenêtre de réception
3.2.3 Capacité et débit d’uneconnexion TCP
3.2.4 Contrôle de congestion
3.3 Scheduler proposé
3.3.1 Principe de fonctionnement
3.3.1.1 Stratégie d’assignation des paquets aux sous-sessions
3.3.1.2 Estimation de la taille de la fgi+1
3.3.1.3 Assignation des paquets aux sous-sessions
3.3.2 Principe d’émission-réception
3.4 Conclusion
CHAPITRE 4 SIMULATIONS : PRESENTATION ET ANALYSES DES RESULTATS
4.1 Introduction
4.2 Outil de simulation
4.3 Méthodologie
4.3.1 Description du système
4.3.2 Adaptation du système à l’environnement Matlab
4.3.3 Paramètres de simulation
4.4 Analyses des resultats de simulations
4.4.1 Le débit instantané
4.4.2 Débit moyen
4.4.3 Délai de réception
4.5 Conclusion
CONCLUSION

Cours gratuitTélécharger le document complet

 

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *