Professional Documents
Culture Documents
La couche transport
Printemps 2012
2. Couche transport
TCP UDP IP
Hte-rseau
TCP/IP
Printemps 2012 2. Couche transport 2
La couche Transport
Communication de bout en bout
Services offerts la couche suprieure
Service sans connexion Service orient connexion
Fiable (garantie de dlivrance) Dlivrance dans lordre dmission
Printemps 2012
2. Couche transport
Ladressage
Indique lentit de la couche suprieur avec laquelle on veut communiquer
Modle OSI
Couche rseau: NSAP (Network Service Access Point) Couche transport: TSAP (Transport Service Access Point)
Printemps 2012
2. Couche transport
No. de port
FTP HTTP FTP HTTP
SMTP
SMTP
TCP/UDP IP Hte-rseau
TCP/UDP IP Hte-rseau
Printemps 2012
2. Couche transport
Ports phmres
Connexion
Association de deux sockets
2. Couche transport 7
Printemps 2012
Printemps 2012
2. Couche transport
Segment UDP
32 bits
Port source Longueur du segment 8 octets En-tte UDP >= 20 octets En-tte IP, Proto=17
Donnes
Longueur de len-tte: 8 octets Port source: optionnel, pour la rponse Longueur maximum dun segment: 65535 octets
Printemps 2012 2. Couche transport 9
Somme de contrle
Inclut
Le pseudo-header (informations de len-tte IP) Len-tte UDP Les donnes (+bourrage)
32 bits Adresse source Adresse destination zro Prot. IP (17) Longueur du segment Port source Port destination Longueur du segment Somme de contrle Donnes Bourrage
Calcul
The checksum is the 16-bit ones complement of the ones complement sum of the 16-bit words
Printemps 2012 2. Couche transport 10
Exercices 5,6,7
Printemps 2012
2. Couche transport
11
Le protocole TCP
Transmission Control Protocol, RFC 793 Fonctionnalit principale : Transmission fiable de bout en bout Fonctionnalits supplmentaires importantes
Contrle de flux entre les systmes terminaux Contrle de gestion du rseau
Implmentations (interoprables !)
TCP Tahoe, TCP Reno, TCP NewReno, TCP Sack, TCP Vegas
Printemps 2012
2. Couche transport
12
Modle de Service
Interface vers la couche dapplication : sockets Connexions TCP
Connexion : liaison entre deux sockets Transmission bidirectionnelle Transmission point--point
Le multicast / broadcast nest pas possible
Sockets
HTTP SMTP FTP FTP HTTP
SMTP
TCP IP
Connexion
TCP IP Hte-rseau
Hte-rseau
Application
Application
TCP
Tampon dmission
Tampon de rception
TCP
Forcer la dlivrance
Le drapeau PUSH
Lapplication peut ordonner TCP denvoyer et dlivrer les donnes immdiatement Exemple : terminal distance (Telnet)
Transmission aprs chaque retour chariot
Lmetteur TCP envoie les donnes sans attendre Le rcepteur TCP remet les donnes immdiatement lapplication
3. Temporisateur de retransmission
Printemps 2012
Numro de squence
Du premier octet des donnes
Acquittement (optionnel):
Prochain no. de squence attendu
Longueur de len-tte
En mots de 32 bits
Port source Port destination Numro de squence Numro de squence acquitt Long. Bits Fentre en-tte Rserv source Somme de contrle Pointeur durgence Bourrage Options (optionnelles) Donnes (optionnelles)
U A P R S F R C S S Y I G K H T N N
Pointeur durgence
Indique la fin des donnes urgentes
Bits :
17
Bits de signalisation
URG : drapeau URGENT PSH : drapeau PUSH ACK :
Indique si le segment contient un acquittement
SYN (synchronisation) :
Signale un segment SYN Utilis lors de ltablissement dune connexion
Bits :
U A P R S F R C S S Y I G K H T N N
RST (reset)
Utilis pour rinitialiser une connexion
Printemps 2012 2. Couche transport 18
Exercice 9
Printemps 2012
2. Couche transport
19
Scnario
Ordre de versement une banque Tous les paquets du client sont retards et retransmis
Hte A Deman Hte B
de de Deman
Confirmation
Versem ent 1 m io Versem ent 1 m io
Demande
Confirmation
Deman de
Confirmati
on
?? ? ?? ?
Printemps 2012
2. Couche transport
Mcanismes de TCP
Les segments SYN ont galement un numro de squence Un ordinateur qui reoit un SYN demande lmetteur sil est valable
Hte A
SYN=x
Hte B
Hte A
SYN=x
Hte B
x+1 SYN=y,ACK
RST
Printemps 2012
2. Couche transport
21
SYN=x
x+1 SYN=y,ACK
Connexion 1
Comment viter des confusions cause dun doublon retard dune connexion prcdente ?
SYN=x
Connexion 2
Donne s Sq=x+ 1
Segment retard
Printemps 2012
2. Couche transport
22
Libration de connexion
Cest simple ? Non plus ! Protocole simpliste
Libration en deux temps
Jai termin ! Et vous ? Jai galement termin !
Printemps 2012 2. Couche transport 23
Printemps 2012
2. Couche transport
24
Printemps 2012
2. Couche transport
25
Transmission fiable
Garantie de la dlivrance des donnes, dans lordre de lmission Doit tre ralise sur une infrastructure nonfiable (service best-effort dIP) lments de la ralisation
1. Numros de squence
Les octets transmis sont numrots, non pas les segments SYN et FIN ont galement des numros de squence
2. Acquittement 3. Retransmission
Estimation de la temporisation de retransmission
Printemps 2012
2. Couche transport
26
Acquittements cumulatifs
Lacquittement dun numro de squence confirme la rception de tous les octets avant ce numro de squence Avantages
Il nest pas ncessaire dacquitter chaque segment sparment Un acquittement perdu nimplique pas ncessairement une retransmission
Les implmentations actuelles acquittent chaque deuxime segment, sauf lors dun dlai trop grand
Hte A Hte B
Inconvnient principal
Sq=101
1 ACK 10
Si un segment intermdiaire a t perdu, le rcepteur ne peut pas signaler la rception correcte des segments suivants Lmetteur retransmettra probablement tous les segments partir du segment perdu (Mthode Go-back-n)
Sq=1101 Sq=2101
Temporisation de retransmission
Sq=3101
01 ACK 41
Printemps 2012
2. Couche transport
27
Temporisateur de retransmission
Lexpiration dun temporisateur dclenche la retransmission dun segment Problme : quelle valeur choisir pour le temporisateur ?
Valeur trop petite : retransmissions inutiles Valeur trop grande : attente inutile lors dune perte
La bonne valeur doit dpendre du temps aller retour normal entre lmission du segment et la rception de lacquittement
Hte B
Printemps 2012
2. Couche transport
28
Estimation du RTT
Mthode originale prconise dans la RFC 793
1. Mesurer le temps RTT entre lmission dun segment et la rception de lACK correspondant
La plupart des implmentations TCP ne mesurent quun segment la fois et non pas tous
3. Timeout de retransmission
RTO = SRTT
beta: Coefficient de variance du RTT (recommand : beta=2)
Printemps 2012
2. Couche transport
29
Constatation
TCP tait incapable de sadapter aux charges leves
Une augmentation brusque du RTT provoquait beaucoup de retransmissions
Printemps 2012
2. Couche transport
30
10
Analyse du problme
Thorie des files dattente
Charge rho = Frquence des arrives * Temps de services des paquets
Solution :
Estimation non seulement du RTT mais aussi de sa variance
Printemps 2012
2. Couche transport
31
Mthode amliore
32
Algorithme de Karn
Comment mesurer le RTT si un segment a t retransmis ?
Est-ce que lACK concerne le segment original ou la retransmission ? Rcepteur Emetteur Emetteur Rcepteur
RTT mesur RTT mesur
ACK
11
Retransmission rapide
Problme des acquittements cumulatifs
Un segment intermdiaire a t perdu Comment signaler que les segments suivants sont arrivs ?
Acquittements dupliqus Hte A Hte B
Sq=101
1 ACK 10
Sq=1101 Sq=2101
Solution :
Lors de la rception dun segment en dsordre, le rcepteur rpte le dernier ACK (dup ACK) Si lmetteur reoit 3 dupACKs, il retransmet le segment sans attendre un timeout
Printemps 2012
Retransmission
Sq=3101
Sq=101 Sq=4101
Suite de la transmission
01 ACK 41
2. Couche transport
34
Libration de connexion
Sparment pour chaque sens
Printemps 2012
2. Couche transport
35
Exercices 8,15,16,18,19
Printemps 2012
2. Couche transport
36
12
Contrle de flux
Adaptation la vitesse du rcepteur vite quun metteur rapide surcharge un rcepteur lent
Contrle de congestion
Adaptation la vitesse du rseau vite des pertes excessives de paquets cause dune surcharge du rseau
Printemps 2012
2. Couche transport
37
Algorithme
Le rcepteur acquitte chaque segment sparment Lmetteur ne peut envoyer un nouveau segment quaprs la rception de lacquittement du segment prcdent Le rcepteur peut ralentir la transmission en retardant les acquittements
RTT
ACK Message 4
Calcul
Lmess: longueur dun message en bits Lack: longueur dun ACK en bits
Hte A Message 1 ACK Message 2 Hte B Temps de propagation d
RTT
Utilisation est inversement proportionnelle au ACK produit largeur de bandedlai (bandwidth delay product)
Message 3
BWD = RTT C
ACK
Printemps 2012 2. Couche transport
B ralentit la transmission
Message 4
39
13
Exemple numrique
120.00% 100.00%
Utilisation U
Paramtres:
Lmess=1000 bit Lack: 10 bit Dlai de propagation d = 10ms Largeur de bande C entre 1 kb/s et 1 Mb/s
Stop and Go nest appropri que pour les rseaux faible produit largeur de bande dlai
Printemps 2012
2. Couche transport
40
Principe
Les donnes dans la fentre peuvent tre envoyes sans attendre dacquittement La rception dun acquittement permet de glisser la fentre droite
Fentre glissante ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... Peut tre envoy immdiatement Fentre glissante ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... Peut tre envoy immdiatement
41
mis et acquitt
mis et acquitt
Printemps 2012 2. Couche transport
Sq 0, 1,2
ACK 3
0 1 2 3 4 5 6 7 8 9 10 ...
Sq 3,4,5 Sq 6,7,8, 9
0 1 2 3 4 5 6 7 8 9 10 ...
K6 AC
...
10 11 12 13 ...
Printemps 2012
2. Couche transport
42
14
Temps de propagation d
La taille optimale de la fentre glissante est gale au produit largeur de bande dlai du canal
Printemps 2012 2. Couche transport 43
octets
8 Fentre 204
2048
4096
octets
Fentre ferme ... 0 2048 4096 6144 ... 0 2048 4096 6144 ... 0 2048 4096 6144
Fentre 0
L'application lit 2048 octets
ACK 4096,
8 Fentre 204
2048
4096
octets
3072 4096
Printemps 2012
2. Couche transport
45
15
Fentre ferme
Si le tampon de rception est plein, le rcepteur arrte la transmission en indiquant une fentre nulle Quand la fentre est nulle, lmetteur ne peut transmettre des donnes que dans deux cas
Donnes urgentes (avec le drapeau URG) Sondes de fentre (window probes)
Hte A Hte B
Lors dune fentre nulle, la perte de Fentre ferme ... lannonce dune fentre non nulle causerait un interblocage Attend l'annonce de fentre Lmetteur envoie priodiquement de petits segments dun octet qui obligent le rcepteur de r-annoncer la fentre
...
...
Printemps 2012
2. Couche transport
46
Sq=x+1, 1 octet
Tampon plein
...
Printemps 2012
2. Couche transport
...
47
Printemps 2012
2. Couche transport
48
...
16
Printemps 2012
2. Couche transport
49
Contrle de congestion
tat de congestion
Le rseau nest plus en mesure de transporter tout le trafic inject et supprime des paquets TCP ragit une perte avec une retransmission ce qui peut augmenter la charge du rseau
Le contrle de congestion de TCP doit optimiser le dbit de transmission sans mettre en danger la stabilit du rseau Dfis
1. Dterminer la capacit disponible sur le rseau 2. Ajuster le dbit pour obtenir le dbit optimal qui permet un rgime de transmission stable et en quilibre
Printemps 2012
2. Couche transport
50
Donnes 14
7
13
8
12
9
11
10
10
ACK Donnes 15
8
Fentre glissante
.. 7 8 9 10 11 12 13 14 15 16 ..
14
9
13
10
12
11
11
ACK
Printemps 2012 2. Couche transport 51
17
Printemps 2012
2. Couche transport
52
ACK
2 MSS RTT
4 MSS RTT
8 MSS
Printemps 2012
2. Couche transport
54
18
cwnd cwnd +
MSS MSS
52 48 44 40 36 32 28 24 20 16 12 8 4
Slow start
vitement de congestion
ssthresh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Lorsquil ny a pas de congestion, ssthresh crot linairement avec cwnd accroissement additif Les signal que le dbit optimal a t dpass est la perte dun paquet
Thorie des files dattente
Lors dune congestion, la longueur des files dattente peut crotre de manire exponentielle Pour garantir la stabilit du rseau, le dbit doit diminuer de manire exponentielle
Lorsquune perte a t dtecte, ssthresh est diminu la moiti dcroissance multiplicative TCP recommence avec Slow Start (aprs un timeout)
Pour viter des rafales de retransmissions
Printemps 2012 2. Couche transport 57
19
ssthresh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Printemps 2012
2. Couche transport
58
Hte B
Seg 1 Seg 2
ACK 2 ACK 3 Seg 3 Seg 4 Seg 5 ACK 4 Seg 6 ACK 5 Seg 7 Seg 8 ACK 5 Seg 9 ACK 5 Seg 10 K5 AC ACK 5 Seg 5 ACK 5 Seg 11 Seg 12 ACK 11
cwnd=5 cwnd=6 Dup ACK 1 Dup ACK 2 Dup ACK 3 Dup ACK 4 Dup ACK 5
Recouvrement rapide
vitement de congestion
Printemps 2012
2. Couche transport
60
20
cwnd
cwnd
Printemps 2012
2. Couche transport
61
Printemps 2012
2. Couche transport
62
Printemps 2012
2. Couche transport
63
21
Meilleure solution
Le rseau avertit TCP dune congestion avant quelle ne se produise Mthodes de gestion active des files dattente
Printemps 2012
2. Couche transport
64
Printemps 2012
2. Couche transport
65
Fonctionnement de RED
Lavg : longueur moyenne de la file dattente Smin : Si Lavg > Smin, RED commence supprimer des paquets au hasard Smax : Si Lavg > Smax, RED supprime tous les paquets entrant
P(limination)
Pmax
Smin
Smax
Lavg
Printemps 2012
2. Couche transport
22
Comportement de RED
RED permet de rduire la longueur moyenne des files dattente en offrant le mme throughput
Rduction des dlais de transfert
Problmes
Choix des paramtres
Smin, , Smax, Pmax
Printemps 2012
2. Couche transport
67
Exemple
Connexion 1 1 Mb/s 10 ms R1 1 Mb/s 100 ms Connexion 2 500 Kb/s 10 ms 1 Mb/s 10 ms R2 1 Mb/s 10 ms
Printemps 2012
2. Couche transport
68
Rsultats de simulation
30 Connexion 1 25
cwnd (MSS)
Connexion 2
20 15 10 5 0 0 5 10 15 20 25 30 35 40 45 Tem ps (s)
Un RTT plus petit signifie que avec mme fentre, plus de donnes sont transmis par unit de temps
Connexion 1 Connexion 2
10
15
20
25
30
35
40
45
Tem ps (s)
Printemps 2012 2. Couche transport 69
23
Contrle daccs pour le 200000 trafic UDP Applications adaptatives qui 100000 simulent le comportement de TCP 0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 Temps (s)
Printemps 2012 2. Couche transport 70
Exercice 42
Printemps 2012
2. Couche transport
71
24