[PDF] Partie 6 Université LYON 1 / Département





Previous PDF Next PDF



Partie 1 : Architecture et communications Client/Serveur

Université LYON 1/Département Informatique Architecture et communication de type Client/Serveur ... Conception d'une application Client/Serveur.



Partie 1 : Architecture et communications Client/Serveur Copyright

Université LYON 1/Département Informatique Architecture et communication de type Client/Serveur ... Conception d'une application Client/Serveur.



Le modèle Client/Serveur Larchitecture de TCP/IP (3) Larchitecture

1. Le modèle Client/Serveur. Olivier GLÜCK. Université LYON 1/Département Informatique. Olivier. Couche réseau : communications entre machines.



Partie 1

1 févr. 2022 Université LYON 1 / Département Informatique ... échanges entre un client et serveur Web ... Des protocoles de communication très variés.



Partie 1 : Introduction aux réseaux Copyright Remerciements Plan

Partie 1 : Introduction aux réseaux. Olivier GLÜCK. Université LYON 1 / Département Informatique. Olivier.Gluck@univ-lyon1.fr.



Partie 7 : Internet et larchitecture TCP/IP Copyright Remerciements

Université LYON 1 / Département Informatique. Olivier. TCP/IP Architecture



Partie 2 : Applications de lInternet de type Client/Serveur Copyright

23 mai 2004 Université LYON 1/Département Informatique. Olivier.Gluck@univ-lyon1.fr ... TCP/IP Architecture



Partie 6

Université LYON 1 / Département Informatique L'architecture TCP/IP ... Porte de communication entre le processus client et le processus serveur ...



Partie 4

23 mai 2004 Université LYON 1 / Département Informatique. Olivier. ... ?Fonctionne en mode Client/Serveur au dessus de l'architecture TCP/IP.



Les premiers pas

partie) : mise en relation de 1 à 1 parmi N (ex : Réseau Téléphonique Cours de C. Pham Univ. Lyon 1. Ethernet. Serveur NIS ... Nb. Clients en.



Partie 1 : Architecture et communications Client/Serveur

Olivier Glück -© 2021 M2 SRIV -Applications Systèmes et Réseaux 4 Plan de la première partie!Organisation pratique et contenu du module!Bibliographie!Quelques rappels : Internet et le modèle TCP/IP!Architecture Client/Serveur!Communications inter-processus



Claude Bernard University Lyon 1

Claude Bernard University Lyon 1

Licence Math-Informatique 1èreannéeOlivier GlückUniversité LYON 1 / Département InformatiqueOlivier.Gluck@univ-lyon1.frhttp://perso.univ-lyon1.fr/olivier.gluck

Partie 6

Copyright

yCopyright © 2023 Olivier Glück; all rightsreservedyCe support de cours est soumis aux droits d'auteur et n'est donc pas dans le domaine public. Sa reproduction est cependant autorisée à condition de respecter les conditions suivantes : ySi ce document est reproduit pour les besoins personnels du reproducteur, toute forme de reproduction (totale ou partielle) est autorisée à la condition de citer l'auteur. ySi ce document est reproduit dans le but d'être distribué à des tierces personnes, il devra être reproduit dans son intégralité sans aucune modification. Cette notice de copyright devra donc être présente. De plus, il ne devra pas être vendu. yCependant, dans le seul cas d'un enseignement gratuit, une participation aux frais de reproduction pourra être demandée, mais elle ne pourra être supérieure au prix du papier et de l'encre composant le document. yToute reproduction sortant du cadre précisé ci-dessus est interdite sans accord préalable écrit de l'auteur. Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web2

Plan du cours

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web3yCM1 : Internet, les réseaux et le webyCM2 : Pages HTML et feuilles de styles CSSyCM3 : Web interactif, formulaires, pages dynamiques et PHPyCM4 : Protocole HTTP, méthodes GET et POSTyCM5 : Les applications d'InternetyCM6 : La couche transport : les protocoles TCP et UDP yCM7 : Le protocole IPyCM8 : Les protocoles Ethernet, ARP et ICMP. Synthèse des échanges entre un client et serveur Web

CM6 -La couche transport : protocoles TCP/UDP

Le modèle Client/ServeurLe protocole UDP et la rapiditéLe protocole TCP et la fiabilitéOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web4

Plan du CM6

yLe modèle Client/ServeurQu'est-ce que le modèle client/serveur ? Les sockets et les numéros de port, L'architecture TCP/IPyLe protocole UDP et la rapiditéL'en-tête UDP, Le mode non connecté, Quelles applications utilisent UDP ?yLe protocole TCP et la fiabilitéQu'est-ce que la fiabilité ? Les mécanismes de la fiabilité, Le mode connecté, L'en-tête TCP, Quelles applications utilisent TCP Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web5

Le modèle Client/Serveur

Qu'est-ce que le modèle client/serveur ? Les sockets et les numéros de portL'architecture TCP/IPOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web6

Les applications vues dans ce cours

yLe web (HTTP)yLa connexion à distance (telnet, sshet X)yLe courrier électronique (SMTP, POP, IMAP, Webmail)yLa résolution des noms (DNS)yLe transfert de fichiers (FTP)yL'accès aux fichiers distants (NFS, SMB) yL'annuaire fédérateur (LDAP)Toutes ces applications fonctionnent selon le modèle Client/Serveur !Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web7

Par exemple le Web...

yUne application d'Internet qui permet le partage de documents liés entre eux et appelés "pages web"yUne page web peut contenir du texte, des images, des programmes, des liens vers d'autres pages web...yFonctionne en mode Client/Serveurau dessus de l'architecture TCP/IPOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web8NavigateurServeur ApacheWindowsModem ADSLLinuxEthernetLe WebHTTPInternetL'application est répartie sur le client et le serveur qui dialoguent selon un protocole applicatif spécifique

Le modèle Client / Serveur

yIdée : l'application est répartie sur différents sites pour optimiser le traitement, le stockage...yLe clientyeffectue une demande de service auprès du serveur (requête)yinitie le contact (parle en premier), ouvre la sessionyLe serveuryest la partie de l'application qui offre un serviceyest à l'écoute des requêtes clientesyrépond au service demandé par le client (réponse)yLe client et le serveur ne sont pas identiques, ils forment un système coopératifyUn serveur peut répondre à plusieurs clients simultanémentOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web9

Le modèle Client / Serveur

yUne application Client/Serveur, c'estyune partie clientequi exécute des requêtes vers un serveuryune partie serveurqui traite les requêtes clientes et y répondyun protocole applicatifqui définit les échanges entre un client et un serveuryun accès via une API(interface de programmation, généralement les sockets) à la couche de transport des messagesyBien souvent les parties cliente et serveur ne sont pas écrites par les mêmes programmeurs --> rôle important des RFCsqui spécifient le protocole !Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web10

Les sockets, interface d'accès au réseau

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web11Processus clientProcessus serveurTCP/IPMatérielTCP/IPMatérielApplication C/SProtocole applicatifInternetsocketsocketDu ressort du développeur de l'applicationDu ressort du système d'exploitationInterface d'accès au réseauUne socket : interface locale à l'hôte, créée par l'application, contrôlée par l'OSPorte de communication entre le processus client et le processus serveur

Les sockets et les numéros de port

yUn échange Client/Serveur=(@IP_src,port_src,@IP_dest,port_dest)Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web12L'appli écritL'appli litL'appliécritL'appli litPort 5004 utilisépar le navigateurwebTCP/UDP sendbufferTCP/UDP recvbufferIPUne socket estun fichiervirtuellocal danslequell'applicationlitouécrit. Elle estassociéeàun numérode portlocal et des zonesd'émission/réceptionde TCP ouUDP attribuéspar le systèmed'exploitation.ClientTCP/UDP sendbufferTCP/UDP recvbufferIPServeurLe paquetIP circule dansle réseauInternet@IP client@IP serveurPort 80 utilisépar le serveurweb

Les numéros de ports et les adresses IP

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web13Les ports inférieurs à 1024 sont réservés pour les serveurs car le port du serveur doit être fixé et connu à l'avance pour que le client puisse faire sa demande.

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web14 Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web15

L'architecture de TCP/IP

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web16IPpingTCPUDPICMPARPLogiciel dans l'OS (système d'exploitation)Cartes réseaux(Ethernet, Wifi, ...)MatérielHTTPSSHTELNETSMTPDNSFTPsocketsNFSApplications (navigateur, terminal, mail...)LDAPréseautransportOSI7652143

Communications sans routeur

yDeux machines sur un même sous réseauOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web17IPTCPRéseau logique IPPilote EthernetClient FTPIPTCPPilote EthernetServeur FTPSous-réseau de type EthernetOrdinateur AOrdinateur BProtocole FTPProtocole TCPProtocole IPProtocole EthernetLinux kernelNIC

Communications avec routeur(s)

yPrise en compte de l'hétérogénéitéOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web18IPTCPPilote EthernetClient FTPIPTCPPilote Token RingServeur FTPsous-réseau de type Token RingOrdinateur AOrdinateur BProtocole FTPTCP -contrôle de bout en boutDatagrammes IPtrames EthernetLinux kernelNICIPEtherTokensous-réseau de type Ethernettrames Token RingDe proche en procheRouteur

L'encapsulation : ajout des en-têtes

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web19IPTCPPilote EthernetServeur FTPdonnées utilisateuren-tête applicatifdonnées applicativesTCPdonnées applicativesTCPIPdonnées applicativesTCPIPEthernetEthernetmessagesegmentdatagrammetrame2020202020144

La désencapsulation: identifier la couche >

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web20IPTCPEthernetNuméro de port(dans l'en-tête TCP ou UDP)Identifiant de protocole(dans l'en-tête IP)EtherType(dans l'en-tête de la trame)ICMPARPUDPHTTPSSHTELNETSMTPDNSFTPLDAPNFSport=53port=25port=23port=22port=80proto=6proto=17proto=1type=0x800type=0x806

Le protocole UDP et la rapidité

L'en-tête UDP Le mode non connectéQuelles applications utilisent UDP ?Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web21

Le protocole UDP

yUDP (RFC 768) -User DatagramProtocolyprotocole de transport le plus simpleyservice de type best-effort (comme IP)yles datagrammes UDP peuvent être perdusyles datagrammes UDP peuvent arriver dans le désordreymode non connecté : chaque datagramme UDP est traité indépendamment des autresyPourquoi un service non fiable sans connexion ?ysimple donc rapide(pas de délai de connexion, pas d'état entre émetteur/récepteur)ypetit en-tête donc économie de bande passanteyUDP peut émettre aussi rapidement qu'il le souhaite : pas de limite à l'envoi contrairement à TCP (contrôle de congestion)Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web22

Checksum UDP

L'en-tête UDP : 8 octets

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web23LongueursegmentDonnées applicatives (message)32 bitsPort destinationPort source8 octetsTaille totale du datagramme (en-tête+données)Somme de contrôle du datagramme (en-tête+données)optionnel : peut être à 0UDP = IP + numéros de port !!

Permet d'envoyer rapidement des messages mais sans l'autorisation du destinataire donc aucune garantie sur la réception du message

UDP est en mode non connecté

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web24ClientRéseauServeurenvoi d'une requêtemessage requêteprise en compte dela requêteréveil du serveurexécution requêtemessage réponseréception du résultatpoursuite du traitementExemple de mode non connecté : courrier postal, mailTous les protocoles d'Internet sont en mode non connecté SAUF TCP

Quelles applications utilisent UDP ?

yPour les applications qui ont besoin d'envoyer rapidementyUDP permet des envois rapides sans limitation mais sans garantie donc sans fiabilitéySouvent utilisé pour les applications multimédiasyVidéos, son, musique, streaming, visioconférence, voix sur IPyCes applications sont tolérantes aux pertes/erreurs et sensibles au débit (les données doivent arriver à la bonne vitesse)yAutres utilisations d'UDPyApplications qui envoient peu de données et qui ont besoin de rapiditéyexemple : DNSyTransfert fiable sur UDPyComme UDP n'apporte aucune garantie, l'application peut ajouter des mécanismes pour réparer les pertes ou erreurs (acquittements...)Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web25

Le protocole TCP et la fiabilité

Qu'est-ce que la fiabilité ? Les mécanismes de la fiabilité Le mode connectéL'en-tête TCPQuelles applications utilisent TCP ?Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web26

Le protocole TCP et la fiabilité

yTransport Control Protocol (RFC 793, 1122, 1323, 2018, 2581)yTransport fiableen mode connectéyentre un client et un serveur : (@IP src, port src) --> (@IP dest, port dest)ytransporte un flot d'octets (ou flux)L'application lit/écrit des octets dans un tampon, TCP assure la fiabilitéyFiabilité : faire en sorte que tout ce qui arrive est exactement ce qui a été envoyéyLes données ne doivent pas être perdues : sans perteyLes données ne doivent pas subir d'erreurs : sans erreurUne erreur = un bit qui change de valeur pendant le transfertyLes données doivent arriver dans l'ordreyLes données ne doivent pas arriver en double : sans duplicationOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web27

Les mécanismes de la fiabilité

yFiabilité : sans perte, sans erreur, dans l'ordre, sans duplicationyEn cas de perte ou erreur, il faut retransmettre si on n'a pas reçu d'acquittement (ACK) au bout d'un certain tempsyPour détecter une perte ou une duplication, il faut des ACK et numéroter les messages et les ACKyPour détecter les erreurs, on utilise les checksumyPour retransmettre, il faut conserver les messages envoyés qui n'ont pas encore été acquittésyMécanismes : retransmissions, timeout, ACK, stockage des messages non acquittés, checksum, numérotation des messages et des acquittementsOlivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web28

TCP est en mode connecté

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web29Permet d'envoyer des messages avec fiabilité mais limitation du débit à l'envoi : contrôle de flux et contrôle de congestionExemple de mode connecté : appel téléphoniqueTCP est le seul protocole d'Internet en mode connectédemande deconnexionmessage de connexionprise en compte dela connexionCréation d'un contexteExécution desrequêtesEmission de requêtesRéception de résultatsSynchronisationdemande dedéconnexionmessage de déconnexionprise en compte dela déconnexionLibération du contexteClientRéseauServeur

Etablissement d'une connexion TCP

yConnexion en trois phasesy1 -demande d'ouverture par le client (SYN), choix ISNcy2 -acceptation par le serveur (SYN+ACK), allocation des tampons, choix ISNsy3 -le client acquitte l'acceptation (ACK)yMode Client/ServeuryLe TCP du client fait une demande d'ouverture de connexion vers le port du serveur qui doit être connu à l'avanceyLe TCP du serveur est en attente des demandes d'ouverture de connexion en provenance des clients Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web30ClientServeurOuverture activeOuverture passiveSYN=1 ACK=0 SEQ=ISNcSYN=0 ACK=1 SEQa=ISNs+1 SEQ=ISNc+1SEQ=ISNsSEQa=ISNc+1 ACK=1 SYN=1Fin de l'ouverture de connexion

Fermeture d'une connexion TCP

yFermeture négociéey1 -demande de fin de connexion (FIN) par une des extrémitésy2 -acquittement du FIN (ACK) mais mise en attente de la demande (Le serveur a encore des données non transmises) y3 -envoi des données en attentey4 -acquittement des données (ACK)y5 -acceptation de la fin de connexion par le serveur (FIN)y6 -acquittement de la fin de connexion (ACK)Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web31FINACK (data)ACK(du FIN)Fin de connexionDataFINACK, FIN(du FIN)ClientServeur

L'en-tête TCP : 20 octets

Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web32Numérodu premier octetdu segmentTotal de contrôlePtr données urgentesLg h.RSTF INSYNPSHACKURG32 bits20 octetsDonnées applicativesOptions (O ou plusieurs mots) + bourrageNR Numéro de séquence acquittéNS Numéro de séquencePort destinationPort sourceTaille fenêtre réceptionNuméro du prochain octet attenduLongueur en-tête en multiple de 4 octetsChecksum sur tout le segment (cf. UDP)Nb d'octets que le récepteur peut recevoirLes données comprises entre le premier octet DATA et la valeur du Ptr sont urgentes : TCP interrompt l'application pour forcer la lecture

Caractéristiques du protocole TCP

yTCP -protocole de transport de bout en boutyuniquement présent aux extrémitésytransport fiablede segments(mode connecté)yprotocole complexe (retransmission, gestion des erreurs, séquencement, ...)Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web33IPIPIPIPIPIPIPIPIPIPIPIPIPdatagrammeServeur WebTCPTCPTCPTCPConnexion TCPCouche transport: communications entre applisClient sshServeur sshNav. WebPort 22Port 80

Quelles applications utilisent TCP ?

Toutes celles qui ne peuvent pas se passer de la fiabilité c'est à dire presque toutes !yLe web (HTTP)yLa connexion à distance (telnet, sshet X)yLe courrier électronique (SMTP, POP, IMAP, Webmail)yLe transfert de fichiers (FTP)yL'annuaire fédérateur (LDAP)Les applications multimédias, NFS et le DNS utilisent généralement UDP.Olivier GlückL1 Math-info UCBL -LIFASR2 : Introduction aux réseaux et au web34

quotesdbs_dbs23.pdfusesText_29
[PDF] Architecture Traditionnelle Méditerranéenne Méthode RehabiMed

[PDF] La fabrication de l architecture en Tunisie indépendante : une

[PDF] l 'architecture traditionnelle en tunisie : l 'habitat rural - RehabiMed

[PDF] Etude d une architecture IP intégrant un lien satellite - OATAO

[PDF] Les règles de classement et d 'archivage des documents d 'entreprise

[PDF] LES RECHERCHES CONCERNANT L ALGERIE - Archives nationales

[PDF] métiers de l 'audiovisuel et du cinéma information et communication

[PDF] LES RECHERCHES CONCERNANT L ALGERIE - Archives nationales

[PDF] Archives Nationales d 'Algérie - FranceArchives

[PDF] isdiah - UdG

[PDF] Les montagnes françaises 1) Les différents massifs montagneux

[PDF] Arduino Sample Code - Atlas Scientific

[PDF] PROGRAMMATION ARDUINO

[PDF] Initiation ? la mise en oeuvre matérielle et logicielle de l 'Arduino

[PDF] Arduino Programming Notebook - pdf - Arduino Playground