CH4_TCP_UDP
-
Upload
chadiachirase -
Category
Documents
-
view
215 -
download
0
description
Transcript of CH4_TCP_UDP
-
PCSD
Universit Kasdi Merbah OuarglaDpartement Mathmatique et informatique
CH4
Partie 1
Les protocoles de transport :
UDP et TCP
1 re Master Informatique Fondamentale
Mai 2013
Master informatique fondamentale PCSD 1
-
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 2-
7440-7001-7
Rseaux et Tlcoms , Claude Servin, Dunod, ISBN 2-10-007986-7
Internet
Master informatique fondamentale PCSD 2
-
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 3
-
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 4
-
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'applicationMaster informatique fondamentale PCSD 5
-
Le datagramme UDP
Master informatique fondamentale PCSD 6
-
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 7
-
Le segment TCP (1)
Master informatique fondamentale PCSD 8
-
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 9
-
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 dernieresur 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. . .
Master informatique fondamentale PCSD 17
En rponse a sa requte, le serveur doit rpondre sur l'un des ports du clientCe port est dit dynamique ou phmre
-
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. . .
Master informatique fondamentale PCSD 20
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
-
Contrle de flux et gestion de la fentre de rception
Master informatique fondamentale PCSD 21
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 SEQaet WIN et maintenir l'tat actif de la connexion
-
Master informatique fondamentale PCSD 22
CH4
Partie 2
Les protocoles de couche application
-
Protocoles et applications
Master informatique fondamentale PCSD 23
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
-
Protocoles et applications
Master informatique fondamentale PCSD 24
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)
-
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