Le modèle Client/Serveur
Le protocole UDP et la rapidité
Le protocole TCP et la fiabilité
Application C/S
Du ressort du
développeur Processus Processus
de client
l'application
Protocole applicatif serveur Interface
socket socket d'accès au
réseau
Du ressort du TCP/IP TCP/IP
système
d'exploitation Matériel Matériel
Internet
Une socket : interface locale à l'hôte, créée par l'application, contrôlée par l'OS
Porte de communication entre le processus client et le processus serveur
2 Cartes réseaux
1 (Ethernet, Wifi, ...)
Matériel
Protocole TCP
TCP TCP
Linux
kernel
Protocole IP
IP IP
réveil du serveur
poursuite du traitement
Libération du contexte
Exemple de mode connecté : appel téléphonique
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduc=on aux réseaux et au web 29
TCP est le seul protocole d’Internet en mode connecté
Etablissement d'une connexion TCP
! Connexion en trois phases Client Serveur
! 1 - demande d'ouverture par le client Ouverture active Ouverture passive
(SYN), choix ISNc SYN=
1 ACK
! 2 - accepta=on par le serveur (SYN =0 SE
+ACK), alloca=on des tampons, choix Q=IS
Nc
ISNs
! 3 - le client acquiEe l'accepta=on
(ACK) =ISNc+
1
I S N s SEQa
SEQ=
! Mode Client/Serveur C K =1 SYN=1
A
! Le TCP du client fait une demande
d’ouverture de connexion vers le
port du serveur qui doit être connu à SYN=
0 AC
l’avance K=1
+1 SE SE
! Le TCP du serveur est en aEente des Q=ISN Qa=ISNs
c+1
demandes d’ouverture de connexion
en provenance des clients Fin de l'ouverture de connexion
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduc=on aux réseaux et au web 30
Fermeture d'une connexion TCP
! Fermeture négociée Client Serveur
! 1 - demande de fin de connexion FIN
(FIN) par une des extrémités
! 2 - acquiEement du FIN (ACK)
mais mise en aEente de la ACK (du FIN)
demande (Le serveur a encore
des données non transmises) Data
! 3 - envoi des données en aEente
! 4 - acquiEement des données
(ACK) ACK (data)
! 5 - accepta=on de la fin de
connexion par le serveur (FIN)
FIN
! 6 - acquiEement de la fin de
connexion (ACK)
ACK (du FIN)
Fin de connexion
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduc=on aux réseaux et au web 31
L’en-tête TCP : 20 octets
Numéro du premier
32 bits
octet du segment
20 octets
NS Numéro de séquence
Longueur en-tête en NR Numéro de séquence acquitté
multiple de 4 octets U A P R S F
Lg h. R C S S Y I Taille fenêtre réception
Checksum sur tout le G K H T NN
segment (cf. UDP) Total de contrôle Ptr données urgentes
Options (O ou plusieurs mots) + bourrage
Données applicatives