Le modèle client-serveur

Qui écoute et qui prend l'initiative, la socket, port d'écoute et port éphémère, les cinq valeurs qui identifient une connexion, un serveur pour plusieurs clients, avec ou sans état, et le pair à pair en contraste.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Client : de quoi s'agit-il ?

    Voir la réponse

    Programme qui prend l'initiative : il ouvre la connexion vers un serveur dont il connaît l'adresse et le port, puis envoie ses requêtes.

    Un navigateur, ssh ou curl sont des clients. Le rôle est celui d'un programme dans un échange, pas d'une machine : un même ordinateur peut être client d'un côté et serveur de l'autre.

  • Un serveur web écoute sur le port 443 et reçoit 1 000 clients à la fois. Comment distingue-t-il leurs connexions ?

    • Par le quintuplet de chaque connexion, où l'adresse ou le port source diffère
    • Il ouvre un port d'écoute distinct pour chaque client qui se connecte à lui
    • Il se fie à l'adresse MAC de chaque client, lue dans la trame reçue
    • Il attend la fin d'une connexion avant d'en accepter une autre sur le port 443
    Voir la réponse

    Par le quintuplet de chaque connexion, où l'adresse ou le port source diffère

    Un seul port d'écoute suffit : chaque connexion acceptée a son quintuplet. Deux clients derrière la même box partagent l'adresse publique mais pas le port source, et la table de traduction de la box les sépare.

  • Le programme qui envoie le premier paquet d'une connexion TCP joue le rôle de …, quelle que soit la machine qui l'exécute.

    Voir la réponse

    Le programme qui envoie le premier paquet d'une connexion TCP joue le rôle de client, quelle que soit la machine qui l'exécute.

    L'autre programme, le serveur, attendait déjà en écoute sur un port connu : il doit donc être démarré avant. Le client, lui, peut changer d'adresse et de port à chaque connexion.

  • Serveur : de quoi s'agit-il ?

    Voir la réponse

    Programme qui attend, sur une adresse et un port connus, les connexions des clients et répond à leurs requêtes.

    Il attend que les clients viennent à lui. Un même serveur sert de nombreux clients à la fois : un seul port d'écoute, une connexion par client.

  • On lance un second serveur sur le port 8080 alors qu'un premier y écoute déjà. Le second s'arrête sur « Address already in use ». Pourquoi ?

    • Le premier serveur a réservé tous les ports supérieurs à 8000
    • Un port ne peut servir qu'un seul client à la fois, qui occupe donc 8080
    • Le port 8080 est réservé à l'administrateur, et le second serveur n'a pas les droits root
    • Un couple adresse et port d'écoute n'a qu'un seul programme
    Voir la réponse

    Un couple adresse et port d'écoute n'a qu'un seul programme

    Le système associe une socket d'écoute à un programme : il ne sait pas à qui remettre les connexions entrantes s'il y en a deux. Le remède est un autre port, ou d'arrêter le premier. Le port, lui, sert de nombreux clients à la fois.