Académique Documents
Professionnel Documents
Culture Documents
60 octets
20 octets
30 octets
Three-way handshake
Emetteur Destinataire
...
SYN=1, ACK=0, SEQ#=x
SYN=1, ACK=1, SEQ#=y, ACK#=x +1
SYN=0, ACK=1, SEQ#=x +1, ACK#=y +1
ACK=1, PSH=1, SEQ#=1000, ACK#=3000
ACK=1, PSH=1, SEQ#=3000, ACK#=1060
ACK=1, PSH=1, SEQ#=1060, ACK#=3020
ACK=1, PSH=1, SEQ#=3020, ACK#=1090
...
rseau IP
Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 52
Exemple : si le premier octet du flot de donnes portait le numro de squence 1 (ISN=0) et
que 4000 octets de donnes ont dj t transfrs, la longueur du premier octet de donnes du
segment courant est alors 4001 octets et le numro de squence correspond 4001.
Le segment daccus de rception (ACK) excute deux fonctions - laccus de rception
positif et le contrle de flux.
Laccus de rception indique lmetteur le nombre doctets de donnes dj reus ainsi que
le nombre doctets de donnes que peut encore recevoir le rcepteur. Le numro de laccus
de rception correspond au numro de squence du dernier octet reu lextrmit distance.
Le protocole standard ne requiert pas lenvoi dun accus de rception pour chaque paquet. Le
numro de laccus de rception correspond un accus de rception positif dont le numro
est gal au nombre doctets transmis. Exemple : si le numro du premier octet transmis est 1
et que 2000 octets ont t reus correctement, le numro de laccus de rception est : 2000.
2.3. Contrle de flux
Les machines qui mettent et reoivent des segments de donnes TCP ne le font pas toutes au
mme rythme. Il peut donc arriver que lmetteur envoie ses donnes beaucoup plus
rapidement que le rcepteur ne peut les grer. Cest pourquoi TCP implmente un mcanisme
de contrle de flux de donnes.
Le champ Window contient le nombre doctets que lextrmit distance peut recevoir. Si le
rcepteur peut recevoir encore 6000 octets, le champ Window est alors gal 6000 octets. Ce
champ indique lmetteur quil peut poursuivre lenvoi de segments tant que le nombre total
doctets envoys est infrieur au nombre doctets que peut accepter le rcepteur. Celui-ci
procde au contrle du flux doctets provenant de lmetteur en modifiant la taille de la
fentre. Une fentre de taille nulle indique lmetteur dinterrompre la transmission jusqu
ce quil reoive une valeur de fentre non nulle.
Lmetteur envoie un flot de donnes TCP commenant par un numro de squence
dinitialisation gal 0. Le rcepteur a reu 2000 octets et en a accus rception, de sorte que
le numro effectif de laccus de rception est 2000.
Le rcepteur dispose galement dun espace en mmoire tampon suffisant pour stocker 6000
octets de plus ; il a ds lors insr une fentre correspondant 6000 octets. Lmetteur
transmet alors un segment de 1000 octets commenant par le numro de squence 4001.
1 1001 2001 3001 4001 5001 6001 7001
Fentre 6000
Donnes reues
Segment en
cours
Numro de
squence initiale 0
Numro de laccus
de rception 2000
Numro de
squence 4001
Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 53
Lmetteur na reu aucun accus de rception pour les octets situs au-del de 2001.
Toutefois, il continue denvoyer des donnes tant que la fentre peut les accepter. Si
lmetteur remplit la fentre et ne reoit aucun accus de rception concernant les donnes
prcdemment envoyes, il renvoie, aprs un certain dlai, les donnes partir dun premier
octet sans accus de rception.
La retransmission devrait commencer partir de loctet 2001, pour autant quaucun accus de
rception nait t reu entre-temps. Cette procdure garantit que lextrmit distance du
rseau a rceptionn les donnes transmises.
2.4. Muliplexage
TCP peut servir simultanment plusieurs processus de la mme machine par multiplexage.
Ces processus communiquent par la mme interface rseau et partagent donc la mme adresse
IP que linterface rseau. TCP associe un numro de port chaque application qui utilise ses
services.
Une connexion stablit entre le numro de port de lmetteur et celui du rcepteur. On
appelle cela les extrmits (end points) de la connexion : une extrmit est dfinie par une
paire de valeurs : ladresse IP et le numro de port. Les numros des ports source et de
destination sont contenus dans le premier mot de len-tte du segment.
TCP peut de plus transmettre les donnes sur une connexion dans un sens ou dans lautre
(connexion full duplex).
Priodiquement une RFC dcrit les numros de ports usuels. Les numros compris entre 0 et
1023 sont rservs et sont les numros de port usuels.
HTTP SMTP SSH DNS SNMP DHCP
TCP UDP
IP
Ethernet
ICMP ARP
port=80 port=25 port=22 port=53 port=161 port=67/68
proto=6 proto=17
proto=1
type=0x800 type=0x806