M1 Informatique, Reseaux
Cours 3 : La couche Transport
Olivier Togni
Universite de Bourgogne, IEM/LE2I
Bureau G206
olivier.togni@u-bourgogne.fr
4 fevrier 2015
1 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
Protocoles de transport
2 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
Multiplexage/demultiplexage
I
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
Identifiants de transport
4 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
Mecanisme de fiabilisation
I
Optimisations :
I
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
6 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
7 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
8 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
Controle derreur
9 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
multiplexage/demultiplexage
Utile quand :
I
donnees multicast
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Utilise par la plupart des applis : HTTP, SSH, FTP, SMTP, ...
95% du trafic Internet est transporte par TCP
12 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Client
SYN
SYN+
ACK
)=x+1
y, N(A
N(S)
Serveur
FIN
N(S)
=x
(S)=
CK N
Client
=x+1
, N(A
)=y+
1
ACK
FIN
ACK
Etablissement
14 de 22
Fermeture
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
sequencement TCP
Exemple : session telNet
Serveur
Client
saisie de C
N(S)=
42, A
CK=7
9
ACK
acquitement
de lecho de C
15 de 22
, data
=C
ACK
=C
3, data
(A)=4
79, N
N(S)=
N(S)
=43,
N(A)
=80
acquitement
renvoi de C en echo
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Temporisation
Combien de temps attendre si pas de ACK recu suite `a lenvoi dun
segment TCP ?
Ce delai (Timeout) doit etre superieur au RTT. Il est calcule `a
partir dune estimation du RTT moyen et en y ajoutant une marge
de securite
RTTmoyen = (1 )RTTmoyen + RTTechantillon
VarianceRTT = (1 )VarianceRTT + |RTTechantillon RTTmoyen|
Delai = RTTmoyen + 4VarianceRTT
16 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Action
attendre 500 ms larrivee dun
autre segment avant envoi ACK
envoyer un ACK immediatement
pour les deux
envoyer
ACK
duplique
immediatement
envoyer ACK immediatement si
segment comble le debut du trou
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Donnees provenant
de la couche IP
Espace disponible
Buffer recept
18 de 22
Donnees TCP
a linterieur
du tampon
Processus
dapplication
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Controle de congestion
Variable congwin maintenue par chaque entite TCP : emetteur
verifie que
dernier octet envoye - dernier octet acqte min(congwin, fenetre)
perte = Timeout ou 3 ACK dupliques indication de congestion
pour lemetteur
Congestion Router overflow perte paquet IP perte
segment TCP
Evolution de congwin : ACK recu congwin augmentee ; perte
congwin diminuee
Debit environ congwin/RTT octets/s
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
20 de 22
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP
Slow start
Debit initial : 1 MSS (Maximum Segment Size = MTU -40
octets en-tete IP + TCP)
ACK recu Congwin+ = 1MSS 2 segments envoyes
2 ACK recu Congwin+ = 2MSS
doublement du debit `a chaque RTT
Perte congwin = 1MSS
M1 Informatique, R
eseaux Cours 3 : La couche Transport
Couche Transport
TCP