Licence Math-Informatique 1...
-
Upload
phungthuan -
Category
Documents
-
view
218 -
download
0
Transcript of Licence Math-Informatique 1...
LicenceMath-Informatique1ère année
OlivierGlückUniversitéLYON1/DépartementInformatique
[email protected]://perso.univ-lyon1.fr/olivier.gluck
Partie6
Copyright§ Copyright©2018OlivierGlück;allrights reserved§ Cesupportdecoursestsoumisauxdroitsd’auteuretn’estdoncpasdansledomainepublic.Sareproductionestcependantautoriséeàconditionderespecterlesconditionssuivantes:§ Sicedocumentestreproduitpourlesbesoinspersonnelsdureproducteur,touteformedereproduction(totaleoupartielle)estautoriséeàlaconditiondeciterl’auteur.
§ Sicedocumentestreproduitdanslebutd’êtredistribuéàdestiercespersonnes,ildevraêtrereproduitdanssonintégralitésansaucunemodification.Cettenoticedecopyrightdevradoncêtreprésente.Deplus,ilnedevrapasêtrevendu.
§ Cependant,dansleseulcasd’unenseignementgratuit,uneparticipationauxfraisdereproductionpourraêtredemandée,maisellenepourraêtresupérieureauprixdupapieretdel’encrecomposantledocument.
§ Toutereproductionsortantducadrepréciséci-dessusestinterditesansaccordpréalableécritdel’auteur.
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 2
Planducours
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 3
§ CM1:Internet,lesréseauxetleweb§ CM2:PagesHTMLetfeuillesdestylesCSS§ CM3:Webinteractif,formulaires,pagesdynamiquesetPHP§ CM4:ProtocoleHTTP,méthodesGETetPOST§ CM5:Lesapplicationsd’Internet§ CM6:Lacouchetransport:lesprotocolesTCPetUDP§ CM7:LeprotocoleIP§ CM8:LesprotocolesEthernet,ARPetICMP.SynthèsedeséchangesentreunclientetserveurWeb
CM6- Lacouchetransport:protocolesTCP/UDP
LemodèleClient/ServeurLeprotocoleUDPetlarapiditéLeprotocoleTCPetlafiabilité
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 4
PlanduCM6§ LemodèleClient/Serveur
Qu’est-cequelemodèleclient/serveur?Lessocketsetlesnumérosdeport,L’architectureTCP/IP
§ LeprotocoleUDPetlarapiditéL’en-têteUDP,Lemodenonconnecté,QuellesapplicationsutilisentUDP?
§ LeprotocoleTCPetlafiabilitéQu’est-cequelafiabilité?Lesmécanismesdelafiabilité,Lemodeconnecté,L’en-têteTCP,QuellesapplicationsutilisentTCP
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 5
LemodèleClient/Serveur
Qu’est-cequelemodèleclient/serveur?Lessocketsetlesnumérosdeport
L’architectureTCP/IP
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 6
Lesapplicationsvuesdanscecours
§ Leweb(HTTP)§ Laconnexionàdistance(telnet,ssh etX)§ Lecourrierélectronique(SMTP,POP,IMAP,Webmail)§ Larésolutiondesnoms(DNS)§ Letransfertdefichiers(FTP)§ L’accèsauxfichiersdistants(NFS,SMB)§ L’annuairefédérateur(LDAP)ToutescesapplicationsfonctionnentselonlemodèleClient/Serveur!
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 7
ParexempleleWeb…
§Uneapplicationd’Internetquipermetlepartagededocumentsliésentreeuxetappelés“pagesweb”
§Unepagewebpeutcontenirdutexte,desimages,desprogrammes,desliensversd’autrespagesweb…
§ FonctionneenmodeClient/Serveur audessusdel’architectureTCP/IP
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 8
Navigateur ServeurApache
Windows
ModemADSL
Linux
Ethernet
LeWeb
HTTP
Internet
L'applicationestrépartiesurleclientetleserveurqui
dialoguentselonunprotocoleapplicatifspécifique
LemodèleClient/Serveur
§ Idée:l'applicationestrépartiesurdifférentssitespouroptimiserletraitement,lestockage...
§ Leclient§ effectueunedemandedeserviceauprèsduserveur(requête)§ initielecontact(parleenpremier),ouvrelasession
§ Leserveur§ estlapartiedel'applicationquioffreunservice§ estàl'écoutedesrequêtesclientes§ répondauservicedemandéparleclient(réponse)
§ Leclientetleserveurnesontpasidentiques,ilsformentunsystèmecoopératif
§Unserveurpeutrépondreàplusieursclientssimultanément
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 9
LemodèleClient/Serveur
§UneapplicationClient/Serveur,c'est§ unepartiecliente quiexécutedesrequêtesversunserveur§ unepartieserveur quitraitelesrequêtesclientesetyrépond§ unprotocoleapplicatif quidéfinitleséchangesentreunclientetunserveur
§ unaccèsviauneAPI (interfacedeprogrammation,généralementlessockets)àlacouchedetransportdesmessages
§ Biensouventlespartiesclienteetserveurnesontpasécritesparlesmêmesprogrammeurs-->rôleimportantdesRFCs quispécifientleprotocole!
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 10
Lessockets,interfaced’accèsauréseau
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 11
Processus client
Processus serveur
TCP/IP
Matériel
TCP/IP
Matériel
Application C/S
Protocole applicatif
Internet
socket socket
Du ressort du développeur
de l'application
Du ressort du système
d'exploitation
Interface d'accès au
réseau
Une 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
Lessocketsetlesnumérosdeport§ UnéchangeClient/Serveur = (@IP_src,port_src,@IP_dest,port_dest)
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 12
L'appli écrit
L'appli lit
L'appli écrit
L'appli lit
Port 5004 utilisé par le navigateur web
TCP/UDP sendbuffer
TCP/UDP recvbuffer
IP
Une socket est un fichier virtuel local dans lequel l’application litou écrit. Elle est associée à un numéro de port local et des zones d’émission/réception de TCP ou UDP attribués par le système d’exploitation.
Client
TCP/UDP sendbuffer
TCP/UDP recvbuffer
IP
Serveur
Le paquet IP circule dansle réseauInternet
@IP client
@IP serveur
Port 80 utilisé par le serveur web
LesnumérosdeportsetlesadressesIP
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 13
Lesportsinférieursà1024sontréservéspourlesserveurscarleportduserveurdoitêtrefixéetconnuàl’avancepourqueleclientpuissefairesademande.
L’architecturedeTCP/IP
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 16
IP
pingTCP UDP
ICMPARP
Logiciel dans l’OS (système d'exploitation)
Cartes réseaux(Ethernet, Wifi, ...)
Matériel
HTTP SSH TELNET SMTP DNS FTP
sockets
NFS
Applications (navigateur, terminal, mail…)
LDAP
réseau
transport
OSI765
21
43
Communicationssansrouteur§ Deuxmachinessurunmêmesousréseau
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 17
IP
TCP
Réseau logique IP
Pilote Ethernet
Client FTP
IP
TCP
Pilote Ethernet
Serveur FTP
Sous-réseau de type Ethernet
Ordinateur A Ordinateur BProtocole FTP
Protocole TCP
Protocole IP
Protocole Ethernet
Linux kernel
NIC
Communicationsavecrouteur(s)§ Priseencomptedel'hétérogénéité
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 18
IP
TCP
Pilote Ethernet
Client FTP
IP
TCP
Pilote Token Ring
Serveur FTP
sous-réseau de type Token Ring
Ordinateur A Ordinateur BProtocole FTP
TCP - contrôle de bout en bout
Datagrammes IP
trames Ethernet
Linux kernel
NIC
IP
Ether Token
sous-réseau de type Ethernet
trames Token Ring
De proche en proche
Routeur
L’encapsulation:ajoutdesen-têtes
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 19
IP
TCP
Pilote Ethernet
Serveur FTPdonnées
utilisateuren-tête applica
tif
données applicativesTCP
données applicativesTCPIP
données applicativesTCPIPEtherne
tEtherne
t
message
segment
datagramme
trame
20
20
20
20
2014 4
Ladésencapsulation :identifierlacouche>
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 20
IP
TCP
Ethernet ou SNAP
Numé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)
ICMP ARP
UDP
HTTP SSH TELNET SMTP DNS FTP LDAPNFS
port=53port=25
port=23port=22
port=80
proto=6 proto=17
proto=1
type=0x800 type=0x80
6
LeprotocoleUDPetlarapidité
L’en-têteUDPLemodenonconnecté
QuellesapplicationsutilisentUDP?
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 21
LeprotocoleUDP
§UDP(RFC768)- UserDatagram Protocol§ protocoledetransportleplussimple§ servicedetypebest-effort(commeIP)
§ lesdatagrammesUDPpeuventêtreperdus§ lesdatagrammesUDPpeuventarriverdansledésordre
§ modenonconnecté:chaquedatagrammeUDPesttraitéindépendammentdesautres
§ Pourquoiunservicenonfiablesansconnexion?§ simpledoncrapide (pasdedélaideconnexion,pasd'étatentreémetteur/récepteur)
§ petiten-têtedoncéconomiedebandepassante§ UDPpeutémettreaussirapidementqu'illesouhaite:pasdelimiteàl’envoicontrairementàTCP(contrôledecongestion)
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 22
Checksum UDP
L’en-têteUDP:8octets
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 23
Longueur segment
Données applicatives (message)
32 bits
Port destinationPort source8 octets
Taille totale du datagramme (en-tête+données)
Somme de contrôle du datagramme (en-tête+données)
optionnel : peut être à 0
UDP = IP + numéros de port !!
Permetd’envoyerrapidementdesmessagesmaissansl’autorisationdudestinatairedoncaucunegarantiesurlaréceptiondumessage
UDPestenmodenonconnecté
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 24
Client Réseau Serveur
envoi d'une requête message requête prise en compte dela requête
réveil du serveur
exécution requêtemessage réponseréception du résultat
poursuite du traitement
Exempledemodenonconnecté:courrierpostal,mailTouslesprotocolesd’InternetsontenmodenonconnectéSAUFTCP
QuellesapplicationsutilisentUDP?§ Pourlesapplicationsquiontbesoind’envoyerrapidement
§ UDPpermetdesenvoisrapidessanslimitationmaissansgarantiedoncsansfiabilité
§ Souventutilisépourlesapplicationsmultimédias§ Vidéos,son,musique,streaming,visioconférence,voixsurIP§ Cesapplicationssonttolérantesauxpertes/erreursetsensiblesaudébit(lesdonnéesdoiventarriveràlabonnevitesse)
§ Autresutilisationsd'UDP§ Applicationsquienvoientpeudedonnéesetquiontbesoinderapidité§ exemple:DNS
§ TransfertfiablesurUDP§ CommeUDPn’apporteaucunegarantie,l’applicationpeutajouterdesmécanismespourréparerlespertesouerreurs(acquittements…)
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 25
LeprotocoleTCPetlafiabilité
Qu’est-cequelafiabilité?Lesmécanismesdelafiabilité
LemodeconnectéL’en-têteTCP
QuellesapplicationsutilisentTCP?
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 26
LeprotocoleTCPetlafiabilité
§ TransportControlProtocol(RFC793,1122,1323,2018,2581)§ Transportfiable enmodeconnecté
§ entreunclientetunserveur:(@IPsrc,portsrc)-->(@IPdest,portdest)
§ transporteunflotd'octets(ouflux)L'applicationlit/écritdesoctetsdansuntampon,TCPassurelafiabilité
§ Fiabilité:faireensortequetoutcequiarriveestexactementcequiaétéenvoyé§ Lesdonnéesnedoiventpasêtreperdues:sansperte§ Lesdonnéesnedoiventpassubird’erreurs:sanserreur
Uneerreur=unbitquichangedevaleurpendantletransfert§ Lesdonnéesdoiventarriverdansl’ordre§ Lesdonnéesnedoiventpasarriverendouble:sansduplication
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 27
Lesmécanismesdelafiabilité§ Fiabilité:sansperte,sanserreur,dansl’ordre,sansduplication
§ Encasdeperteouerreur,ilfautretransmettresionn’apasreçud’acquittement(ACK)auboutd’uncertaintemps
§ Pourdétecteruneperteouuneduplication,ilfautdesACKetnuméroterlesmessagesetlesACK
§ Pourdétecterleserreurs,onutiliseleschecksum§ Pourretransmettre,ilfautconserverlesmessagesenvoyésquin’ontpasencoreétéacquittés
§Mécanismes:retransmissions,timeout,ACK,stockagedesmessagesnonacquittés,checksum,numérotationdesmessagesetdesacquittements
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 28
TCPestenmodeconnecté
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 29
Permetd’envoyerdesmessagesavecfiabilitémaislimitationdudébitàl’envoi:contrôledefluxetcontrôledecongestion
Exempledemodeconnecté:appeltéléphoniqueTCPestleseulprotocoled’Internetenmodeconnecté
demande deconnexion
message de connexion prise en compte dela connexion
Création d’un contexte
Exécution desrequêtes
Emission de requêtesRéception de résultatsSynchronisation
demande dedéconnexion
message de déconnexion prise en compte dela déconnexion
Libération du contexte
Client Réseau Serveur
Etablissementd'uneconnexionTCP
§ Connexionentroisphases§ 1- demanded'ouvertureparleclient(SYN),choixISNc
§ 2- acceptationparleserveur(SYN+ACK),allocationdestampons,choixISNs
§ 3- leclientacquittel'acceptation(ACK)
§ ModeClient/Serveur§ LeTCPduclientfaitunedemanded’ouverturedeconnexionversleportduserveurquidoitêtreconnuàl’avance
§ LeTCPduserveurestenattentedesdemandesd’ouverturedeconnexionenprovenancedesclients
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 30
Client ServeurOuverture active Ouverture passive
Fin de l'ouverture de connexion
Fermetured'uneconnexionTCP
§ Fermeturenégociée§ 1- demandedefindeconnexion(FIN)parunedesextrémités
§ 2- acquittementduFIN(ACK)maismiseenattentedelademande(Leserveuraencoredesdonnéesnontransmises)
§ 3- envoidesdonnéesenattente§ 4- acquittementdesdonnées(ACK)
§ 5- acceptationdelafindeconnexionparleserveur(FIN)
§ 6- acquittementdelafindeconnexion(ACK)
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 31
Fin de connexion
Client Serveur
L’en-têteTCP:20octets
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 32
Numéro du premier octet du segment
Total de contrôle Ptr données urgentes
Lg h. RST
F IN
SYN
PSH
ACK
URG
32 bits
20 octets
Données applicatives
Options (O ou plusieurs mots) + bourrage
NR Numéro de séquence acquitté
NS Numéro de séquence
Port destinationPort source
Taille fenêtre réception
Numéro du prochain octet attendu
Longueur en-tête en multiple de 4 octetsChecksum sur tout le segment (cf. UDP)
Nb d'octets que le récepteur peut recevoir
Les données comprises entre le premier octet DATA et la valeur du Ptr sont urgentes : TCP interrompt l'application pour forcer la lecture
CaractéristiquesduprotocoleTCP
§ TCP- protocoledetransportdeboutenbout§ uniquementprésentauxextrémités§ transportfiable desegments (modeconnecté)§ protocolecomplexe(retransmission,gestiondeserreurs,séquencement,…)
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 33
IPIP
IP IP
IP
IP
IP
IP
IP
IP
IP IPIP
Serveur WebTCP
TCP TCP
TCP
Connexion TCP
Couche transport : communications entre applisClient sshServeur
ssh
Nav. Web
Port 22
Port 80
QuellesapplicationsutilisentTCP?
Toutescellesquinepeuventpassepasserdelafiabilitéc’estàdirepresquetoutes!§ Leweb(HTTP)§ Laconnexionàdistance(telnet,ssh etX)§ Lecourrierélectronique(SMTP,POP,IMAP,Webmail)§ Letransfertdefichiers(FTP)§ L’accèsauxfichiersdistants(NFS,SMB)§ L’annuairefédérateur(LDAP)LesapplicationsmultimédiasetleDNSn’utilisentpasTCP
OlivierGlück L1Math-infoUCBL- LIFASR2:Introductionauxréseauxetauweb 34