Vous êtes sur la page 1sur 27

PCSD

Universit Kasdi Merbah Ouargla


Dpartement Mathmatique et informatique

CH4
Partie 1
Les protocoles de transport :
UDP et TCP
1 re Master Informatique Fondamentale
Mai 2013
Master informatique fondamentale

PCSD

Remerciements
Les transparents sont bass sur des supports de cours de :
Olivier GLCK (Universit LYON 1 / Dpartement Informatique)
Shivkumar KALYANARAMAN (RPI/ECSE)
Cyril Pain-Barre- IUT Informatique Aix-en-Provence

Des figures sont issues des livres


Rseaux , 4ime dition, Andrew Tanenbaum, Pearson Education, ISBN 27440-7001-7
Rseaux et Tlcoms , Claude Servin, Dunod, ISBN 2-10-007986-7
Internet

Master informatique fondamentale

PCSD

Sommaire

Le protocole UDP
Dfinition de UDP
Les applications utilisant UDP
Le datagramme UDP

Le protocole TCP
Dfinition de TCP
Le segment TCP
Le contrle derreur dans UDP te TCP
Concept de port
Connexion TCP : tablissement, fermeture
Contrle de flux et gestion de fentre
Master informatique fondamentale

PCSD

Le protocole UDP
UDP (RFC 768) - User Datagram Protocol
protocole de transport le plus simple
service de type best-effort (comme IP)
les segments UDP peuvent tre perdus
les segments UDP peuvent arriver dans le dsordre

mode non connect : chaque segment UDP est trait


indpendamment des autres

Pourquoi un service non fiable sans connexion ?


simple donc rapide (pas de dlai de connexion, pas d'tat
entre metteur/rcepteur)
petit en-tte donc conomie de bande passante
sans contrle de congestion donc UDP peut mettre aussi
rapidement qu'il le souhaite
Master informatique fondamentale

PCSD

Les utilisations d'UDP


Performance sans garantie de dlivrance
Souvent utilis pour les applications multimdias
tolrantes aux pertes
sensibles au dbit
Autres utilisations d'UDP
applications qui envoient peu de donnes et qui ne
ncessitent pas un service fiable
exemples : DNS, SNMP, BOOTP/DHCP
Transfert fiable sur UDP
ajouter des mcanismes de compensation de pertes
(reprise sur erreur) au niveau applicatif
mcanismes adapts l'application
Master informatique fondamentale

PCSD

Le datagramme UDP

Master informatique fondamentale

PCSD

Le protocole TCP
Transport Control Protocol (RFC 793, 1122, 1323, 2018,
2581)
Transport fiable en mode connect
point point, bidirectionnel : entre deux adresses de
transport (@IP src, port src) --> (@IP dest, port dest)
transporte un flot d'octets (ou flux)
l'application lit/crit des octets dans un tampon
assure la dlivrance des donnes en squence
contrle la validit des donnes reues
organise les reprises sur erreur ou sur temporisation
ralise le contrle de flux et le contrle de congestion (
l'aide d'une fentre d'mission)
Master informatique fondamentale

PCSD

Le segment TCP (1)

Master informatique fondamentale

PCSD

Le segment TCP (2)


Numro de squence NS (mission)
comptabilise les octets depuis le dbut de la connexion
ISN : numro de squence initial, valeur alatoire
acquitte lors de l'tablissement de la connexion
le numro de squence du premier octet transmis est
ISN+1 puis NS=ISN+nb_octets_transmis+1

Numro de squence NR (rception)


le rcepteur renvoie le numro du prochain octet
attendu soit NS_reu+taille_donnes_reues

Master informatique fondamentale

PCSD

Le segment TCP (3)


Les 6 indicateurs
URG : valide le champ Ptr donnes urgentes
ACK : valide le champ NR
PSH : PUSH indique au rcepteur de dlivrer
immdiatement les donnes en attente sur le rcepteur
TCP peut attendre d'avoir suffisamment de donnes
avant de constituer un fragment (efficacit du protocole)
exemple : retour chariot (CR) dans un terminal virtuel
RST : demande au destinataire de rinitialiser la
connexion ou rejet d'une demande de connexion
SYN : demande de connexion (change des ISN)
FIN : demande de dconnexion (le destinataire n'est
pas oblig de s'excuter : fermeture ngocie)
Master informatique fondamentale

PCSD

10

Le bit PUSH
Pour optimiser la transmission, par dfaut TCP
attend que le tampon d'mission soit plein pour
constituer un segment (groupage de messages)
Le bit PUSH sert demander la transmission et
rception immdiate

Master informatique fondamentale

PCSD

11

Le contrle d'erreur dans UDP et TCP


Deux objectifs
vrifier que les donnes transmises n'ont pas t
altres
garantir que les donnes sont transmises au bon
destinataire --> rajout d'un pseudo en-tte IP pour le
calcul du checksum (qui est non transmis)

Master informatique fondamentale

PCSD

12

Exemple de calcul de checksum


Calcul du checksum par additions des mots de 16 bits
complmentes 1
Exemple : checksum sur 3 mots de 16 bits
0110011001100110
0101010101010101
0000111100001111

Somme des deux premiers mots


1011101110111011

Addition du troisime mot


1100101011001010

Complment 1
0011010100110101 (= le champ checksum)
13

Une connexion TCP


Une connexion =
(@IP_src,port_src,@IP_dest,port_dest)

Master informatique fondamentale

PCSD

14

Concept de ports. . .
Lorsqu'une application cliente veut communiquer avec une
application serveur il faut qu'elle identifie cette derniere
sur lhte serveur : c'est le concept de port
numro compris entre 1 et 65535
port < 1024 = port systme (il faut tre root pour lancer des
applications serveurs qui utilisent ces ports)
une application peut utiliser plusieurs ports (par exemple ftp)

Sous UNIX
/etc/services

Master informatique fondamentale

PCSD

15

Quelques ports. . .

Master informatique fondamentale

PCSD

16

Port source. . .
En rponse a sa requte, le serveur doit rpondre sur l'un des
ports du client
Ce port est dit dynamique ou phmre

Master informatique fondamentale

PCSD

17

Etablissement d'une connexion TCP


Connexion en trois phases
1. demande d'ouverture par
le client (SYN), choix ISNc
2. acceptation par le
serveur (SYN+ACK),
allocation des tampons,
choix ISNs
3. le client acquitte
l'acceptation (ACK) et
envoi de donnes (un
nombre doctets)

Master informatique fondamentale

PCSD

18

Fermeture d'une connexion TCP


Fermeture ngocie
1. demande de fin de connexion
(FIN) par une des extrmits
2. acquittement du FIN (ACK)
mais mise en attente de la
demande (B a encore des
donnes non transmises)
3. B envoie ses donnes en
attente
4. A acquitte les donnes (ACK)
5. acceptation de la fin de
connexion par B (FIN)
6. acquittement de la fin de
connexion (ACK)
Master informatique fondamentale

PCSD

19

Contrle de flux. . .
Le rcepteur a la possibilit d'indiquer a lmetteur
la taille maximale des donnes qu'il peut traiter
(taille de la fentre)
Une fentre a 0 invite lmetteur a stopper
lmission
Afin de maintenir la connexion, lmetteur peut
envoyer 1 octet rgulirement
Le rcepteur ignore cette donne mais rpond en
indiquant de nouveau la taille de la fentre

Master informatique fondamentale

PCSD

20

Contrle de flux et gestion de la fentre de rception


Contrle de flux TCP :
l'metteur ne doit pas en
envoyer de donnes si le
tampon de rception n'a
pas l'espace libre
correspondant

Quand l'metteur est


bloqu, il peut :
envoyer des donnes
urgentes (interruption de
l'application rceptrice)
envoyer des segments de
1 octet pour obliger le
rcepteur envoyer SEQa
et WIN et maintenir l'tat
actif de la connexion
Master informatique fondamentale

PCSD

21

CH4
Partie 2
Les protocoles de couche
application

Master informatique fondamentale

PCSD

22

Protocoles et applications
Niveau applicatif
HTTP - HyperText Transport Protocol
protocole du web
change de requte/rponse entre un client et
un serveur web

FTP - File Transfer Protocol


protocole de manipulation de fichiers distants
transfert, suppression, cration,

TELNET - TELetypewriter Network Protocol


systme de terminal virtuel
permet l'ouverture d'une session distante
Master informatique fondamentale

PCSD

23

Protocoles et applications
Niveau applicatif
SMTP - Simple Mail Transfer Protocol
service d'envoi de courrier lectronique
rception (POP, IMAP, IMAPS, )

DNS - Domain Name System


assure la correspondance entre un nom symbolique et
une adresse Internet (adresse IP)
bases de donnes rparties sur le globe

SNMP - Simple Network Management Protocol


protocole d'administration de rseau (interrogation,
configuration des quipements, )

Les sockets - interface de programmation permettant


l'change de donnes (via TCP ou UDP)
Master informatique fondamentale

PCSD

24

Internet apps: their protocols and transport protocols

Master informatique fondamentale

PCSD

25

What Transport Service does an App need?

Master informatique fondamentale

PCSD

26

Transport service requirements of common apps

Master informatique fondamentale

PCSD

27