Vous êtes sur la page 1sur 5

Chapitre1 : Le réseau Internet et les protocoles Routage dans les réseaux Année : 2021/2022

Université Djilali Liabès


Support de cours
Faculté des sciences
Département d’Informatique

Chapitre 1 (suite) : Protocoles TCP/UDP

Plan

Protocole TCP
 Rôle de TCP
 Format d'un entête TCP
 Ouverture de connexion TCP
 Fermeture de connexion TCP
 Gestion de fenêtre sous TCP
 Contrôle de congestion par TCP
 Gestions des temporisations TCP
Protocole UDP
 Rôle de UDP
 Format de l'entête UDP

S. BOUAMAMA
Email : samahu@hotmail.com

Protocoles TCP d'internet


Protocole TCP d'internet (formellement défini par RFC793, détail de correction RFC1122, 1323)
Rôle de TCP
Compte tenu de la simplicité du protocole IP, dont le travail consiste à router chaque
datagramme (paquet) de la source vers la destination, le rôle essentiel de TCP (Transmission
control protocol) consiste à s'assurer de l'établissement de connexion de données solides et
fiables, permettant à chaque utilisateur l'échange de bout en bout (d'application à application, au
niveau des stations connectées au réseau) d'un ensemble de segments.
TCP assure les fonctions suivantes:
1- segmentation/réassemblage;
2- Contrôle de flux;
3- multiplexage;
4-détection et reprise sur panne.
TCP n'assure pas :
1-multidistribution (multicasting);
2- diffusion (broadcast).
Une connexion TCP correspond à un flot d'octets et non de messages. La délimitation précise
des messages n'est pas conservée de bout en bout.

1
Chapitre1 : Le réseau Internet et les protocoles Routage dans les réseaux Année : 2021/2022

Tout octet transmis sur une connexion TCP possède son propre numéro de séquence de 32
bits. Le contenu des octets n'est pas interprété par TCP, c'est aux applications d'extrémité de
savoir gérer la structure du flot de données. A chaque envoi de segments, l'émetteur arme un
temporisateur qui lui sert de délai d'attente de l'accusé de réception (ACK) à ce segment.
Lorsque le temporisateur expire sans qu'il n'ait reçu de ACK, l'émetteur considère que le
segment transmis sans problème, par exemple suite à un engorgement de réseau ou à une
perte d'ACK correspondant. Dans ce cas, l'émetteur réémet un segment inutilement. Mais le
récepteur garde trace des numéros de segments reçus. Donc, il est apte à faire la distinction et
peut éliminer les doublons.
Les entités émission et réception de TCP échangent des données sous forme de segments. Un
segment (TPDU) est formé d'un entête de longueur fixe de 20octets (plus une partie optionnelle)
suivi de 0 ou plusieurs octets de données. Le logiciel TCP détermine la taille de ces segments. Il
existe deux limitations de la taille d'un segment:
1. Un segment, avec son entête TCP, doit pouvoir tenir les 655535 octets de la charge utile
IP.
2. Chaque réseau possède une entité de transfert d'information maximale ou MTU, dans
laquelle doit s'insérer chaque segment (un routeur peut découper en plusieurs morceaux
un segment trop grand pour le réseau par lequel il doit transité, donc augmentation du
volume global de 20(TCP)+ 20(IP)=40 octets pour chaque segment.

Le format d'un segment TCP


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Port source Port destinantion
Numéro de séquence
Numéro d'accusé de réception
Long d'entête Réservé U A P R S F Taille de fenêtre
TCP R C S S Y I
G K H T N N
Total de control (checksum) Pointeur de données urgentes
Options (s'il y en a) bourrage
Données

Chaque segment débute par un entête d'une longueur fixe de 200 octets. elle peut
etre suivie par des options. Après celles ci, on peut trouver jusqu'à 65535-20-
20=65515 octets de données (20 entête IP, 20 entête TCP). Les segments sans
données représentent les ACK et les messages de contrôle.

Port source et port destination


Identifient les applications (processus) émetrice et réceptrice. Un port associé à une
adresse IP d'une station forment une adress TSAP unique de 48 bits, appelée
socket. Le doublet (N° socket source, N° socket destination) identifie une connexion.
Exemple de port:
21:FTP, 23: Telnet, 25:SMTP, 110:POP3, 80: HTTP, etc...

Le numéro de séquence

2
Chapitre1 : Le réseau Internet et les protocoles Routage dans les réseaux Année : 2021/2022

Donne la position du segment dans le flux de données envoyées par l'émetteur, CAD
la place dans ce flux du premier octet de données transmis dans ce segment.
Le numéro d'accusé de réception
Contient le numéro de séquence suivant que le récepteur s'attend à recevoir: CDA le
numéro de séquence du dernier octet reçu avec succès+1. Précisément, TCP,
n'acquitte pas un à un chaque segment qu'il reçoit, mais acquitte l'ensemble du flot
de données jusqu'à l'octet k-1 en envoyant un acquittement de valeur k
Exemple:
1 à 1024 1025 à 2048 20049 à 3072
Seg1 Seg2 Seg3

Envoi 1 à 1024 A B
+arme un
temporisateur Segment1 (DATA=1024)

Reçois 1 à 1024
ACK=1025

Envoi 1025 à
2048 +arme un Segment2 (DATA=2048)
temporisateur

Reçois 1025 à 2048


ACK=2049

Envoi 2049 à
3072 +arme un Segment3 (DATA=3072)
temporisateur

Reçois 2049 à 3072

ACK=3073

Longueur d'entête (4bits)


Contient la taille de l'entête (le nombre de mots de 32 bits) y compris les options. Un entête peut
avoir une taille variant de 20 octets (5 mots de 32 bits- bits 0101, aucune option) à 60 octets
(15mots de 32 bits- bits 1111, maximum d'option).

Le champ réservé
Comporte 6bits réservés a un usage ultérieur.

6 drapeaux d'un bit chacun (bit de code)


Permettent de spécifier le rôle et le contenu du segment TCP pour pouvoir interpréter
correctement certains champs de l'entête TCP.
La signification de chaque bit quand il est fixé à 1 est:
URG: le pointeur de données urgentes est valide;
ACK: le champ d'accusé de réception est valide;
PSH: ce segment nécessite un PUSH (pushed: donnée poussée, le remettre à l'application dès
3
Chapitre1 : Le réseau Internet et les protocoles Routage dans les réseaux Année : 2021/2022

son arrivée);
SYN: synchroniser les numéros de séquence pour initialiser une connexion;
SYN=1 et ACK=0 -->CR(ConnectionRequest)
SYN=1 et ACK=1 -->CA(ConnectionAccepted)

FIN:l'émetteur a atteint la fin de son flot de données (pour libérer une connexion).

La taille de la fenêtre (16bits)


Ce champ sert au contrôle de flux selon la méthode de fenêtres d'anticipation à taille variable
(ou fenêtre glissante). Il indique le nombre d'octets (moins de 65535) que le récepteur est prêt à
accepter. Ainsi, l'émetteur augmente ou diminue son flux de données selon la valeur de cette
fenêtre qu'il reçoit. Cette valeur peut être nulle pour contrôler le flux, CAD que le récepteur ne
désire plus recevoir de données pour l'instant).

Champ total de contrôle (checksum 16bits)


Utilisé pour vérifier la validité de l'entête et des données transmises. Il est obligatoirement
calculé par l'émetteur et vérifié par le récepteur.

Le pointeur de données urgentes


Valide si le bit de contrôle URG est à 1. Il indique la position dans le segment où l'on peut
trouver les données urgentes (décalage en octets à partir du numéro de séquence courant)

Option
Un champ prévu pour ajouter les possibilités non offertes dans l'entête de base(exp:option pour
spécifier la charge TCP la plus grande).

Établissement d'une connexion


Ouverture d'une connexion

Ouverture active A B Ouverture passive


Armer un
temporisateur
SYN: SEQ = N
WIN, MSS

ACK=N+1, SYN, SEQ = P


WIN, MSS

ACK= P+1

4
Chapitre1 : Le réseau Internet et les protocoles Routage dans les réseaux Année : 2021/2022

Fermeture d'une connexion


Demande de fin A B
de connexion
FIN, SEG= M

ACK=M+1, SEG=Q

Fermeture OK
sauf ACK Demande de fin de
connexion
FIN, SEG=Q

Fermeture de fin de
connexion
ACK=Q+1, SEG= M

Transmission des données

WIN = 4096 = 4K vide


A B

Data =2 K, SEG=0

2K
ACK=2048, WIN=2048

Plein
Data =2 K, SEG=2048
2K 2K

ACK=4096, WIN=0 Lecture


2K
ACK=4096, WIN=2048

5
Data= 1K, SEG= 4096
1K 2K

Vous aimerez peut-être aussi