CH4_TCP_UDP

Embed Size (px)

DESCRIPTION

RESEAUX TCP UDP

Citation preview

  • 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