Programmation Réseaux
Modèle & Architecture
Client/Serveur
Anass KHANNOUS
[email protected]
Filière GSTR2 2020/2021
Objectifs de ce cours
Connaître (se rappeler) le modèle Client/Serveur
(90% des applications de l’Internet)
Apprendre des notions de conception d’applications
Client/Serveur , (à l’aide des API)
Réaliser un prototype d’une application
Client/Serveur basée sur l’utilisation de sockets pour
mettre en place des services associés
2
Plan
Quelques rappels : Internet et le modèle TCP/IP
Architecture Client/Serveur
Modes de communications connecté & non connecté
Les Sockets : Définitions et concepts
Les Sockets: Programmation Client/serveur en JAVA
• Sockets TCP
• Sockets UDP
• Multithreading
Travaux Pratiques
3
Internet
Un réseau de réseaux, un réseau public mondial
Un ensemble de logiciels et de protocoles
Basé sur l’architecture TCP/IP
Fonctionne majoritairement en mode Client/Serveur
Le Web n’est qu’une des multiples applications d’Internet
Offre un ensemble de services (e-mail, transfert de fichiers,
connexion à distance, WWW, …)
Une somme « d’inventions » qui s’accumulent
• mécanismes réseau de base (TCP/IP)
• gestion des noms et des adresses
• des application et des protocoles spécialisés 4
Internet
Un ensemble de sous-réseaux indépendants et hétérogènes
qui sont interconnectés (organisation hiérarchique)
5
Le Modèle OSI
Le modèle OSI a été défini par l'Internatinal Standardization
Organisation (ISO).
Vise à normaliser les communications entre ordinateur
Présente la circulation des données dans un réseau
Ce modèle se décompose en 7 couches:
Application, Présentation, Session, Transport, Réseau, Liaison
et Physique.
Les services de chaque couche peuvent interagir uniquement
avec les services des couches contigües.
6
Le Modèle OSI
7 Application
Messages
6 Présentation
Segments
5 Session
Datagrammes 4 Transport
Paquets 3 Réseau
Liaison de
Trames 2
Données
Bits 1 Physique
Description des couches
Physique -> transmission effective des signaux électriques, radiofréquences ou optiques
Liaison de Données -> Structuration, Correction, Accès au medium...
Réseau -> Routage, Fragmentation. Communication entre systèmes
Transport -> Communication logique entre processus ou applications communicantes
Session -> Connexion, Déconnexion.
Présentation -> Structuration des données typées.
Application -> Communication entre "utilisateurs " 7
Le Modèle OSI vs TCP/IP
8
Le Modèle TCP/IP
TCP/IP est l'architecture réseau la plus répandue.
Le modèle est fondé sur OSI où 04 couches sont présentées :
Application, Transport, Réseau et Liaison.
TCP/IP représente d'une certaine façon l'ensemble des règles
de communication sur Internet et se base sur la notion
d’adressage IP
Les fonctions essentielles du TCP/IP sont :
• Le fractionnement des messages en paquets.
• L'utilisation d'un système d'adresses .
• L'acheminement des données sur le réseau (routage).
• Le contrôle des erreurs de transmission de données . 9
Le Modèle TCP/IP
Lorsqu’on écrit un programme qui tourne
sur réseau, on programme à la couche
Application
Pratiquement, le programmeur
d’applications réseaux n’est pas concerné
par les protocoles de la couche Transport
(TCP et UDP)
Ce sont les bibliothèque de classes utilisés
qui assurent la communication avec les
couches inférieurs (transport et routage)
10
Le Modèle TCP/IP - Exemple
11
Les Protocoles
Un protocole est un ensemble de règles qui définissent
comment se produit une communication dans un réseau
• Un protocole joue le rôle d'un pilote (Driver). Un pilote
permet au matériel de communiquer avec le système
Un pilote c'est le protocole de communication entre le
matériel et le système.
• Pour communiquer, deux personnes doivent parler une
langue commune. En informatique, la langue de
communication s'appelle le protocole
Un service peut faire l’objet de l’implémentation d'un
protocole.
12
Exemples de Protocoles
Les protocoles applicatifs sont des protocoles spécialisés dans la
communication de certaines données ou la réalisation
d’opérations spécifiques.
• HTTP : Hypertext Transfert Protocol, protocole de transfert
hypertexte (c’est le protocole du Web)
• FTP : File Transfert Protocol, protocole de transfert de fichiers
• SMTP : Simple Mail Transfert Protocol, protocole de transfert
d’email entre deux boites aux lettres.
• POP : Post Office Protocol, Protocol du « bureau de poste »,
permettant de récupérer les emails stockés dans une boite aux
lettres
13
Exemples de Protocoles
• DNS : Domain Name System, est le service informatique
distribué utilisé pour traduire les noms de domaine Internet
(adresses symboliques) en adresse IP.
• DHCP : Dynamic Host Configuration Protocol, c’est un
protocole réseau de configuration dynamique et automatique
des paramètres IP d’une station
• IPsec : Internet Protocol Security, est un ensemble de
protocoles utilisant des algorithmes permettant le transport de
données sécurisées sur un réseau IP, utilisé dans le cas de
connexions sur des réseaux VPN.
14
Le Protocole TCP
TCP = Transmission Control Protocol
Le protocole TCP c’est un protocole responsable de garantir
l’envoie des données entre deux applications (Ex: Récupération
des emails POP)
Ce mode de communication est appelé : Mode Connecté
Permet une connexion de type Point à Point fiable et sécurisé
Il permet de signaler la présence d’erreurs d’envoie.
L’inconvénient c’est qu’il offre de moins bonnes performances
En utilisant la notion de port, plusieurs applications sur la
même machine peuvent utiliser TCP en même temps.
15
Le Protocole UDP
UDP = User Datagram Protocol
Ce mode de communication est appelé : Mode non connecté
Le protocole UDP assure une communication non garantie
entre deux applications sur un réseau par envoie des paquets
indépendants (Ex: vidéo streaming)
L’ordre de livraison n’est pas important et non garantie.
Chaque paquet est indépendant de l’autre
Ce protocole offre de bonnes performances en terme de
rapidité
Il est pratiquement réservé à des tâches peu importants
16
TCP vs UDP
17
Le Protocole IP
IP = Internet Protocol
Le protocole IP est le protocole de la couche réseau du TCP/IP
Responsable du routage et de contrôle dans les réseaux connecté
Permet également l’échange de datagrammes en mode non
connecté
Une succession de paquets provenant d’un même bloc de
données ne suivent pas forcément le même chemin
IP s’utilise conjointement soit avec TCP ou UDP
18
L’adresse IP
Une adresse IP est le numéro qui identifie chaque ordinateur
connecté à Internet
C’est l'interface avec le réseau de tout matériel informatique
(routeur, imprimante)
Il existe des adresses IP de version 4 et de version 6
19
Les ports
Il existe une connexion physique unique entre deux ordinateurs
communiquant l’un avec l’autre, mais plusieurs applications
(ou protocoles) se partagent la même liaison physique pour la
transmission des données
Les ports sont utilisés pour distinguer les données propriétaires
à chaque processus ou application
Chaque machine sous IP possède quelques 65 535 ports,
de 1 à 1024 sont des ports réservés aux services fondamentaux
de 1025 jusqu'au 49151 sont des ports enregistrés
de 49152 jusqu’au 65 535 sont les ports dynamiques ou privés
20
Les ports
Quelque port sont réservés à des services bien spécifié (Ex :
HTTP (80), FTP (21), SMTP (25), …). Ces ports sont appelles
(Well Known Ports).
Protocole Numéro Port
HTTP 80
FTP 21-20
DHCP 67
DNS 53
POP 110
IMAP 143
SMTP 25
Telnet 23
21
Système de Transmission Numérique
Les systèmes de transmission numérique véhiculent de
l'information entre une source et un destinataire
Utilisation d’un support physique comme le câble, la fibre
optique ou encore, la propagation sur un canal radioélectrique.
22
Système de Transmission Numérique
23
Système de Transmission Numérique
Un signal numérique est donc un signal qui présente un
nombre finis d’état, généralement deux états (on dit qu’il est
binaire : avec un état haut que l’on assimile à 1 (un) et un état
bas que l’on assimile habituellement à 0 (zéro)).
Exemple la séquence
numérique suivante
110001110110
24
Exercice 1
Enumérez quelques étapes du processus consistant
à convertir les communications d’un utilisateur en
données jusqu’à la récupération de ces données de
l’autre extrémité du réseau
25
Réponse
1. L’utilisateur entre les données via une interface matérielle.
2. Les composants logiciel et matériel convertissent les données
dans un format numérique.
3. Les services d’application lancent le transfert des données.
4. Les couches OSI encapsulent les données dans la pile.
5. Les données encapsulées traversent le média pour arriver à
destination.
6. Les couches OSI de destination décapsulent les données de la
pile.
7. Les données sont prêtes à être traitées par le périphérique final.
26
Exercice 2
Indiquez le rôle spécifique des protocoles de couche
application suivant : DNS, HTTP, SMTP/POP.
27
Réponse
1. DNS : Le protocole DNS (Domain Name System) fournit à l’utilisateur
un service automatisé qui associe des adresses symboliques à des
adresses réseau (@ IP).
2. HTTP : Le protocole HTTP est utilisé par le Web pour transférer des
données à partir de serveurs Web vers des clients Web.
3. Le protocole SMTP (Simple Mail Transport Protocol) transfère le
courriel sortant du client de messagerie vers le serveur de messagerie et
transporte le courriel entre les serveurs de messagerie, ce qui permet
l’échange de courriel via Internet.
4. Le protocole POP, ou POP3 (Post Office Protocol, version 3),
achemine le courriel du serveur de messagerie vers le client.
28
Exercice 3
1. Quelles sont les couches du modèle OSI composant la couche application
du modèle TCP/IP ?
a. Liaison de données. b. Réseau. c. Transport. d. Session.
e. Présentation. f. Application.
2. Quel protocole sert à transférer des pages Web d’un serveur à un client ?
a. HTML b. SMTP c. HTTP d. SSH e. Telnet f. POP
3. Quel protocole utilise l’authentification et le chiffrement pour sécuriser
les transmissions de données entre le client et le serveur ?
a. HTTP b. DNS c. HTTPS d. SMTP
4. Dans l’URL suivante « http://www.cisco.com/netacard.html », quel est le
domaine de niveau supérieur ?
a. Cisco.com b. .com c. www.Cisco.com d. www
e. netacard f. http:// 29
Architecture Client/Serveur
L'informatique d'entreprise a connu une évolution très
rapide au cours des 20 dernières années :
• le modèle client-serveur est devenu le modèle vers
lequel convergent les architectures logicielles.
Passage d’une architecture centralisée (mainframe) vers
une architecture distribuée
L'architecture Client/Serveur répond à la demande des
utilisateurs pour des systèmes ouverts
Cette architecture vise l'intégration de systèmes
hétérogènes (interopérabilité logicielle et matérielle)
30
Client/Serveur :
Evolution : Architectures centralisées - 1970
1ère génération
31
Client/Serveur :
Evolution : Architectures décentralisées - 1980
2ème génération
32
Client/Serveur :
Evolution : Architectures ExtraNet - 2010
32
Client/Serveur : Architecture 2-tier
34
Client/Serveur : Architecture 3-tier
35
Client/Serveur : Architecture N-tier
36
Serveur
Définition
Un serveur informatique, est un ordinateur ou un programme
informatique qui rend service aux ordinateurs et logiciels
qui s'y connectent à travers un réseau informatique
Exemples
• Serveur de données
• Serveur de Fichiers
• Serveur d’application
• Serveur Web
• Serveur de messagerie
37 33
Serveur (Matériel)
34
Serveur (Logiciel)
Définition
Le terme SERVEUR fait référence à tout processus qui reçoit une
demande de service (requête) venant d'un client via un réseau,
traite cette demande et renvoie le résultat (réponse) au
demandeur (le CLIENT).
Exemple
Courrier Courrier
entrant sortant
Serveur POP3 Serveur SMTP
Poste utilisateur
39 35
Client
Définition
On appelle logiciel client un programme qui utilise le service
offert par un serveur. Le client envoie une requête et reçoit la
réponse.
Exemples
• Navigateur web
• Outlook
• Filezilla
• Skype
• Facebook Messanger,
• WhatsApp
40 36
Client/Serveur : Définitions 1/3
On appelle un modèle client/serveur, tout modèle de
fonctionnement logiciel dans lequel plusieurs programmes
autonomes (Processus) communiquent entre eux par
échanges de messages et encapsulation des services dedans.
Par extension, l'architecture client/serveur permet à une
application de s'adresser à une autre application,
physiquement à distance, à travers un protocole d'échanges
standardisés, pour lui demander de réaliser une tâche pour
son propre compte.
41
Client/Serveur : Définitions 2/3
Comment identifier un service ?
• Un site peut offrir plusieurs services. Chacun de ces
services est fourni sur un port de communication
virtuel identifié par un numéro.
Ex. FTP: Port 21, TELNET : Port 23.
Quelle est l'API utilisée dans le développement des
applications ?
• L'API (Application Program Interface) la plus
utilisée est l'API Sockets.
42
Client/Serveur : Définitions 3/3
Le client et le serveur ne sont pas identiques, ils forment un
système coopératif :
• les parties client et serveur de l'application peuvent
s'exécuter sur des systèmes identiques ou différents
(hétérogènes/Multiplateformes)
• une même machine peut implémenter les côtés client ET
serveur de l'application
• un serveur peut répondre à plusieurs clients
simultanément
• Un client peut, en général, utiliser plusieurs connexions
vers des serveurs différents ou identiques en même temps. 43
Exemple d'application client/serveur
Hébergement d’un site web
Serveurs: Web et FTP
44
Exemple d'application client/serveur
protocole HTTP
protocole HTTP/HTTPS = (HyperText Transfert Protocol)
• Défini par le W3C (World Wide Web consortium)
Envoi de documents web d’un serveur web (serveur IIS,
Apache, Google web Server) vers un client web (navigateur)
Principe :
• Requête du client au serveur : demander une ressource
web (page, image, service) ; (Requêtes GET & POST)
• Réponse serveur au client : envoyer une ressource (page
web, image, réponse).
45
Les applications client/serveur : Exemple
46
Exemple d'application client/serveur
Protocole FTP
Client FTP (4 champs à renseigner: @ Serveur, Port, Login, Mot de passe ).
Port 21 : pour la création de connexion/canal de contrôle.
Port 20 : pour la création d’un canal d’échange de données
47
Communications inter-processus
Processus :
• une entité communicante
• un programme qui s'exécute sur un hôte d'extrémité
Communications inter-processus locales :
• communications entre des processus sur un même hôte
• communications régies par le système d'exploitation (tubes
UNIX, mémoire partagée, …)
Communications inter-processus distantes :
• les processus s'échangent des messages à travers le réseau
selon un protocole de la couche applications
• nécessite une infrastructure de transport sous-jacente
Protocole applicatif Vs Application
Le protocole applicatif définit :
• le format des messages échangés entre les processus
émetteur et récepteur
• les types de messages : requête, réponse, …
• l'ordre d'envoi des messages
Ne pas confondre le protocole et l'application !
• Exemple d’Application Web : constitué d ’un
ensemble de documents (format HTML), accessibles
via un navigateur Web (Client), hébergés au niveau
d’un serveur Web à qui on demande ces documents,
en respectant les règles du protocole (HTTP)
Client/Serveur : Les acteurs
Une architecture client-serveur est composée de deux
programmes interagissant : le serveur qui propose des services
et le client qui les consomme.
Caractéristiques principales du client :
• Consommateurs de services
• Proactif : à l’origine de la commande
Caractéristiques du serveur :
• Fournisseur de services
• Réactif: Répond à la demande de ses clients
• Traitement de plusieurs clients simultanément
• Contrôle d’accès
50
Client/Serveur : Le fonctionnement
Le logiciel serveur
• Joue un rôle passif
• Attend des requêtes provenant des logiciels clients.
• Dès qu'il reçoit une requête, il parcourt ses contenus pour
trouver l'élément demandé puis le retourne au logiciel client qui
l'a demandé.
Le client
• préparer une requête à adresser vers un serveur.
• Lorsque la requête est lancée, un « message » est acheminé vers
le serveur à consulter.
• Attend ensuite la réponse du serveur
51
Client/Serveur : Avantages
Unicité de l’information : toutes les données sont stockées sur
un même serveur ;
Meilleure sécurité et intégrité : simplification des contrôles
de sécurité ;
Mise à jours centralisé aussi bien des données et logiciels ;
Meilleure fiabilité : En cas de panne, seul le serveur fait
l’objet d’une réparation ;
Facilité d’évolution : architecture évolutive, il est très facile
de rajouter ou d’enlever des clients ou des serveurs.
Hétérogénéité : indépendant des plates-formes matérielles et
logiciels
52
Client/Serveur : Inconvénients
Un coût d’exploitation élevé (bande passante, câbles,
ordinateurs surpuissants) ;
En cas de panne du serveur, plus aucun client n’a accès
aux Informations ;
Si trop de clients veulent communiquer avec le serveur, ce
dernier risque de ne pas supporter la charge ;
...
53
Le Middleware
C'est un ensemble de services logiciels construits au dessus
d'un protocole de transport afin de permettre l'échange de
requête/ réponse entre le client et le serveur de manière
transparente.
Les techniques les plus courantes d'échange d'informations sont:
• l'échange de messages (socket),
• l'appel de procédures à distance (RPC)
• la manipulation d'objets à distance (distribués) (RMI).
54
Le Middleware
En général, le middleware :
• n'est pas visible par l'utilisateur final
• se retrouve caché dans les applications
• est un outil pour le développeur d'applications
• unifie l'accès à des machines hétérogènes en terme de (CPU, OS,
langage de programmation..)
Il faut une interface entre l'application réseau et la couche transport :
• Le transport n'est qu'un tuyau (TCP ou UDP dans Internet)
• l'API (Application Programming Interface)
est le moyen d'y accéder
• API : Offert par le langage de programmation
55
Interface de programmation réseau (API)
Les sockets
56
Les modes de communication 1/6
Mode non connecté
Communication en mode non connecté :
57
Les modes de communication 2/6
Mode non connecté
Caractéristiques :
• pas d’établissement préalable d’une connexion ;
• Les requêtes successives sont indépendantes ;
• pas de préservation de l’état entre les requêtes ;
• adapté aux applications pour lesquelles les réponses
aux requêtes des clients sont courtes (un message) ;
• mode d'échange par message ;
• protocole de transport utilisé : UDP (Pas de garanties
particulières).
58
Les modes de communication 3/6
Mode non connecté
Contraintes :
• le client doit avoir accès à l’adresse du serveur: (@ IP et N° port)
• le client doit indiquer son adresse à chaque requête (pas de
liaison permanente), car pour répondre à chaque client, le
serveur doit en récupérer l’adresse.
Modes de gestion des requêtes :
• itératif : le processus traite les requêtes les unes après les
autres.
59
Les modes de communication 4/6
Mode connecté
Communication en mode connecté :
60
Les modes de communication 5/6
Mode connecté
Caractéristiques :
• établissement préalable d’une connexion (circuit virtuel) :
le client demande au serveur s'il accepte la connexion ;
• le serveur préserve l'état du client entre deux requêtes ;
• fiabilité assurée par le protocole (TCP) (ordre, contrôle de
flux);
• un serveur peut répondre aux demandes de service de
plusieurs clients : les requêtes arrivées et non traitées sont
stockées dans une file d’attente ;
• adapté aux échanges ayant une certaine durée (plusieurs
messages).
61
Les modes de communication 6/6
Mode connecté
Contraintes :
• le client doit avoir accès à l’adresse du serveur (adresse IP,
n° de port).
Modes de gestion des requêtes :
• itératif : le processus traite les requêtes les unes après les
autres ;
• concurrent : par création de processus fils pour les échanges
de chaque requête (pour altérer l’exécution vu la taille de
messages qui peut être relativement grande.
62
Processus serveur itératif
Serveur itératif :
• traite séquentiellement les requêtes
• adapté aux requêtes qui peuvent s'exécuter rapidement
• souvent utilisé en mode non connecté
63
Processus serveur concurrent
Serveur concurrent :
• le serveur accepte les requêtes puis les "délègue" à un
processus fils (traitement de plusieurs clients)
• souvent utilisé en mode connecté
64
Service avec ou sans état(s)
Service avec états (mode connecté) :
• le serveur conserve localement un état pour chacun des clients
connectés : informations sur le client, les requêtes
précédentes, …
Service sans état (mode non connecté):
• le serveur ne conserve aucune information sur l'enchaînement
des requêtes...
Incidence sur les performances et la tolérance aux
pannes dans le cas où un client fait plusieurs requêtes
successives :
• service sans état pas de tolérance aux pannes
• service avec états (dégradation) performance
65
Questions de compréhension
Quel sont les composants (citer les 3 principales) d’un
dialogue entre un client et un serveur ?
• Une couche technique de communication
• Un protocole applicatif de communication
• Le Middleware (API)
Quelles sont les fonctions garanties par le Middleware
• Communication entre plusieurs application
• Simplification des échanges complexes et distribués
• Ouverture des application sur le réseau
• Indépendance de la plateforme
• … 66
Questions de compréhension
Quels sont les caractéristiques de chacun des deux modes de
communication:
Mode Non Connecté
• pas d’établissement préalable d’une connexion
• adapté aux applications pour lesquelles les réponses sont courtes
• protocole de transport utilisé : UDP
• mode d’échange par messages
Mode Connecté
• établissement préalable d’une connexion (circuit virtuel)
• fiabilité assurée par le protocole de transport utilisé : TCP
• mode d’échange par flots d’octets : le récepteur n’a pas connaissance
du découpage des données effectué par l’émetteur
• après initialisation, le serveur est "passif", il est activé lors de
l’arrivée d’une demande de connexion d’un client
67
Les sockets : histoire
Les sockets ont été mises au point en 1984, lors de la
création des distributions BSD (Berkeley Software
Distribution).
Apparues pour la première fois dans les systèmes UNIX, les
sockets sont des points de terminaison mises à l'écoute sur
le réseau, afin de faire transiter des données logicielles.
Elles sont associées à un numéro de port.
Les sockets servent à établir une transmission de flux de
données (octets) entre deux machines ou applications.
68
Les sockets : TCP
Mode Connecté.
Ouverture d’une liaison suite d’échanges
fermeture de la liaison.
Le serveur préserve son état entre deux requêtes.
Garanties de TCP : ordre, contrôle de flux,
fiabilité.
Adapté aux échanges ayant une certaine durée
(plusieurs messages ou flux d’octets).
69
Les sockets : UDP
Mode non connecté.
Les requêtes successives sont indépendantes.
Pas de préservation de l’état entre les requêtes.
Le client doit indiquer son adresse à chaque
requête (pas de liaison permanente).
Pas de garanties particulières (UDP).
Adapté aux échanges brefs (réponse en 1
message).
70
Les sockets : Points communs
Le client a l’initiative de la communication.
Le serveur doit être à l’écoute.
Le client doit connaître la référence du
serveur [adresse IP, n° de port].
Le serveur peut servir plusieurs clients : 1
thread unique ou 1 thread par client.
71
Les sockets : Généralités 1/3
Une socket est une « entité » qui permet à deux processus de
communiquer :
• Les deux processus n'ont pas besoin d'être sur la même
machine
Les sockets proposent une communication bidirectionnelle.
La création d'une socket entre deux processus :
• crée un « tuyaux » persistant virtuel entre les deux
processus si la communication est orientée connexion
• crée un mécanisme d'envoi de message simplifié si la
communication entre les deux processus est orientée
sans connexion
72
Les sockets : Généralités 2/3
Les sockets sont des portes d'entrées/sorties vers le
réseau (la couche transport),
Une communication est identifiée de façon unique par
un couple de deux sockets,
Une socket est identifié par une adresse de transport qui
permet d'identifier les processus de l'application
concernée,
Une adresse de transport = une adresse IP (identifie le
serveur ou l'hôte dans le réseau) + un numéro de port
(identifie l'application).
73
Les sockets : Généralités 3/3
Principe de fonctionnement en 3 phases (illustration ci-
dessous avec TCP) :
1) le serveur crée une "socket serveur" (associée à un port) et se met en attente.
2) le client se connecte à la socket serveur.
Deux sockets sont alors crées : une "socket client",
côté client, et une "socket service client" côté
serveur. Ces sockets sont connectées entre elles.
3) Le client et le serveur communiquent par les sockets.
L’interface est celle des fichiers (read, write).
La socket serveur peut accepter de nouvelles connexions
74
Les sockets : Scénario de communication
75
Questions de compréhension
Quels sont les points communs entre une Socket TCP et
une Socket UDP
• Le client a l’initiative de la communication.
• Le serveur doit être à l’écoute.
• Le client doit connaître la référence du serveur [adresse IP, n°
de port].
• Le serveur peut servir plusieurs clients : 1 thread unique ou 1
thread par client.
76