Retour

Réseau et architecture client-serveur

🎲 Quiz GRATUIT

📝 Mini-cours GRATUIT

Architecture client-serveur

Client et serveur

L’architecture client-serveur est une architecture de communication utilisée par deux applications/logiciels s’échangeant des données sur un réseau. Lorsque deux applications/logiciels communiquent suivant l’architecture client-serveur :

  • l’un des deux est le client : il cherche à accéder à des ressources ou des services disponibles en ligne.
  • l’autre est le serveur : il stocke des ressources en ligne et les met à disposition, ou propose des services en ligne.

Requête et réponse

Le client envoie des messages au serveur, pour lui demander les ressources/services : ces messages sont appelés des requêtes.

De son côté, le serveur recevra les requêtes, les traitera puis enverra les ressources/services demandées par le client sous forme de message : ces messages sont appelés réponses.

Usages types

L’architecture client-serveur est un modèle de communication très courant dans les réseaux, notamment sur internet.

Le web fonctionne suivant l’architecture client-serveur, avec le protocole HTTP. L’ordinateur de l’utilisateur, et son navigateur-web, joue alors le rôle de client. Le serveur est un serveur-web, qui est un ordinateur en ligne. Ils s’échangent des requêtes-HTTP et des réponses-HTTP.

On trouve aussi l’architecture client-serveur avec le protocole FTP pour l’échange de fichiers, avec le protocole DNS pour transformer un nom de domaine en adresse IP, avec les mails, les messageries instantanées, le jeu vidéo en ligne, etc.

Modèles en couches

Modèle OSI

Le fonctionnement d’un réseau peut être représenté par une série de 7 couches, empilées les unes sur les autres. Le modèle OSI représente ces 7 couches, et indique le rôle de chacune.

Il existe aussi un modèle TCP/IP, de 4 couches. Il fusionne les couches 1 et 2 en une seule couche, et les couches 5 à 7 en une seule couche.

Les 7 couches

Couches 1 à 3

Les couches 1 à 3 décrivent le fonctionnement matériel du réseau.

La couche 1, appelée couche physique, décrit comment les bits sont produits et transmis sous forme de signaux numériques (dans des câbles en cuivre), de lumière (dans la fibre optique) ou d’onde radio (dans l’air).

La couche 2, appelée couche liaison, décrit comment les bits sont assemblés pour former des trames, et comment identifier les machines d’un LAN grâce aux adresses MAC. Les protocoles/normes Ethernet, Wi-Fi ou Bluetooth font partie de cette couche.

La couche 3, appelée couche réseau, décrit comment identifier les machines d’un internet (réseau interconnectant plusieurs LAN) grâce aux adresses IP. La couche réseau décrit aussi comment les messages sont routés sur l’internet (c’est-à-dire orientés jusqu’à leur destination), par les routeurs.

Couche 4

La couche 4 décrit la manière dont le système d’exploitation d’un ordinateur participe à l’échange des messages sur le réseau.

La couche 4, appelée couche transport, décrit comment les messages sont distribués par le système d’exploitation au bon logiciel (car plusieurs logiciels peuvent utiliser le réseau en même temps). La couche transport décrit aussi comment les messages de grandes tailles sont découpés en plus petits messages avant d’être envoyés sur le réseau : cela s’appelle la segmentation. Le protocole TCP fait partie de cette couche.

Couches 5 à 7

Les couches 5 à 7 décrivent la manière dont les applications/logiciels d’un ordinateur échangent sur le réseau.

La couche 5, nommé session, décrit comment deux applications/logiciels établissent une session de communication, avant de commencer à échanger des données.

La couche 6, nommée présentation, décrit comment les deux applications/logiciels décident de s’échanger les données : par exemple, elles peuvent décider d’utiliser un chiffrement ou non, de les compresser ou non, de les encoder en ASCII ou en UTF-8, etc.

La couche 7, nommée application, décrit la manière dont les deux applications/logiciels structurent les messages qu’ils s’échangent.

Exemple : le web

  • Les couches 1 et 2 sont réalisées par le protocole Ethernet ou Wi-Fi ;
  • la couche 3, par le protocole IP ;
  • la couche 4, par le protocole TCP ;
  • les couches 5, 6 et 7, par le protocole HTTP ou HTTPS si la communication est chiffrée.

Trames réseaux et encapsulation

Représentation d’une trame

Une trame réseau est habituellement représentée sous forme hexadécimale :

78 d2 94 3b 7c 0a f8 94 c2 4c c6 7e 08 00 45 00 02 17 cd ab 40 00 40 06 6e 6c c0 a8 62 0a c0 a8 b1 09 cd c2 00 50 08 48 34 d9 71 c4 64 18 80 18 01 f6 0f ab 00 00 01 01 08 0a 61 a1 f3 6b 00 00 00 80 10 15 eb 5b ac 6c 50 17 8d db 17 47 45 54 20 2f 73 61 6e 64 62 6f 78 20 48 54 54 50 2f 31 0D 00 C3 8B

Encapsulation

Pour analyser une trame, et retrouver l’information qu’elle contient, il faut connaître les protocoles utilisés.

Dans le cas de la trame ci-dessus (qui est un exemple), on peut nous indiquer qu’elle a été crée en suivant les règles :

  • du protocole Ethernet ;
  • du protocole IP, qui sera encapsulé dans le protocole Ethernet.

On a, dans ce cas, la structure suivante :

Structure des champs

Enfin, on a besoin de connaître la structure des différents champs des paquets et trames :

  • la structure de l’en-tête et du postambule de la trame-ethernet ;
  • la structure de l’en-tête du paquet-IP.

Structure de l’en-tête Ethernet (1 ligne = 4 octets) :

On sait de plus que le postambule fait 2 octets.

Structure de l’en-tête IP (1 ligne = 4 octets) :

Analyse de la trame

Étape 1 : découper chaque partie de la trame

en-tête Ethernet / en-tête IP / corps IP / postambule Ethernet

78 d2 94 3b 7c 0a f8 94 c2 4c c6 7e 08 00 45 00 02 17 cd ab 40 00 40 06 6e 6c c0 a8 62 0a c0 a8 b1 09 cd c2 00 50 08 48 34 d9 71 c4 64 18 80 18 01 f6 0f ab 00 00 01 01 08 0a 61 a1 f3 6b 00 00 00 80 10 15 eb 5b ac 6c 50 17 8d db 17 47 45 54 20 2f 73 61 6e 64 62 6f 78 20 48 54 54 50 2f 31 0D 00 C3 8B

Étape 2 : récupérer les informations demandées

Exemple : si l’on demande de trouver l’adresse-MAC de l’émetteur de la trame, on va regarder dans la structure de l’en-tête Ethernet. On voit que ce sont les octets 7, 8, 9, 10, 11 et 12. On identifie ces octets dans la trame, ce qui donne : f8 94 c2 4c c6 7e

Exemple : si l’on demande de trouver l’adresse-IP du destinataire de la trame, on va regarder dans la structure de l’en-tête IP. On voit que ce sont les 4 derniers octets. On identifie ces octets dans la trame, ce qui donne : c0 a8 b1 09, qu’on peut ensuite convertir en décimal comme c’est une adresse-IP : 192.168.177.9

Nomad+, Le pass illimité vers la réussite 🔥

NOMAD EDUCATION

L’app unique pour réussir !