Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Echange client-serveur : fonctionnement




  1. #1
    Harmz0

    Question Echange client-serveur : fonctionnement

    Bonjour !

    Voila, je suis étudiant, je suis censé monter une sorte d'exposé et j'avais pensé en particulier à la modélisation du web (graphe...) et à la gestion des connexions aux sites.
    Donc, j'ai cherché sur le web des informations sur comment le serveur gère-t-il les clients qui veulent se connecter sur leur site et je n'ai presque rien trouvé, si ce n'est des listes entières de protocoles employés : TPC/IP, HTTP..., ce qui ne répond pas réellement à ma question.

    J'ai lu quelque chose sur les files d'attente (la théorie des files d'attente) alors est-ce que le connexion à un site web revient à attendre son tour à la caisse pour entrer sur le site ? Ou est-ce plus compliqué que ça ?

    En résumé, ma question est : pour le chargement d'un site web, quel est le "modèle mathématique" ou du moins le procédé qui envoie des données du serveur au client et, dans le cas où ce n'est pas une file d'attente, de quoi dépend le temps de réponse, si ce n'est de la quantité de données ?

    Merci d'avance et bonne journée !

    -----

    Dernière modification par Harmz0 ; 02/09/2011 à 11h28.

  2. Publicité
  3. #2
    ProgVal

    Re : Echange client-serveur : fonctionnement

    Bonjour,

    Aujourd'hui, la plupart des serveurs (HTTP, SSH, FTP, SMTP, POP, IMAP, IRC, ...) sont multithreads, c'est à dire qu'ils peuvent effectuer plusieurs opérations à la fois.
    En effet, dans les réseaux, la propriété qui est certainement la plus restrictive, c'est la bande passante, et il s'avère que les serveurs (devant accueillir des milliers de connexion) sont souvent hébergés sur des machines disposant d'une bien meilleure connexion que la moyenne (c'est à dire celle proposée par Free, Orange, SFR, Bouygues, ... aux particuliers). Donc, le serveur peut envoyer des données à plusieurs personnes à la fois, qui exploiteront toutes leur bande passante au maximum.
    Un autre facteur est la puissance de calcul. En effet, cela fait maintenant un certain temps que la majorité des sites Web sont dynamiques, c'est à dire que chaque page nécessite un peu de "réflexion" de la part du serveur. Et il s'avère que bloquer toutes les personnes en attente pendant que le serveur "réfléchit", ce n'est pas une bonne idée du tout, il vaut mieux traiter ces demandes en parallèle, surtout quand le serveur dispose de plusieurs processeurs.
    De plus, certaines connexions peuvent durer plusieurs heures, notamment pour SSH, FTP et IRC par exemple. C'est plus rare pour le HTTP, SMTP, et POP, mais également présent (quand on a un gros fichier à télécharger, ou une grosse pièce jointe à envoyer/recevoir).

    ProgVal

  4. #3
    Harmz0

    Re : Echange client-serveur : fonctionnement

    Merci de ta réponse !

    Dans le but d'une approche, on pourrait donc essayer de modéliser cet échange par une file d'attente avec un grand nombre de caisses/files, dont le nombre est proportionnel à la bande passante ? Ensuite, pour ce qui est du temps de service (quand on arrive à la caisse), il dépendrait de la puissance de calcul.
    Ça se fait ou c'est complètement délirant ?

    Merci et bonne journée !


  5. #4
    Harmz0

    Thumbs up Re : Echange client-serveur : fonctionnement

    UP ! Merci !

  6. #5
    Harmz0

    Re : Echange client-serveur : fonctionnement

    Etant donné l'absence de réponse, je réup mon sujet

  7. A voir en vidéo sur Futura
  8. #6
    Harmz0

    File d'attente ?

    UP encore, vu l’absence de réponse...
    Merci d'avance !

  9. #7
    photon57

    Re : Echange client-serveur : fonctionnement

    Ton sujet est confus, je pense que c'est pour cela que les réponses sont rares. Difficile de développer plus loin que ProgVal.

    Il faudrait avant de te lancer essayer de définir clairement le scope de ton sujet. De quoi veux-tu parler exactement ?

    Que se passe-t-il quand je demande une page WEB ?
    Quelles sont les méthodes utilisées pour accéder à des ressources distantes ?
    Comment gérer la disponibilité de ressources ?

  10. Publicité
  11. #8
    LeFrileux

    Re : Echange client-serveur : fonctionnement

    Bonsoir,

    Si on prends un cas simple :
    Tu decides de faire un site web, tu l'installes sur un ordinateur (pas necessairement un serveur d'ailleurs).
    Quelqu'un veut acceder a ton serveur, il tape son adresse et envoi un message au serveur (affiche moi telle page).
    Le serveur web recois ta demande, la traite et te renvois la page.
    Il y a donc 3 temps reception, traitement, renvois (pour chaque demande).
    C'est aussi simple que cela.

    Apres vont venir les goulets d'etranglement : la carte reseau et le traitement.
    Pour la carte reseau , la premiere solution est d'en mettre plus dans la machine, apres on va diviser le serveur en plusieurs serveurs.
    Idem sur la partie traitement.
    Pour paralleliser afin de repondre le plus rapidement aux multiples demandes.

    A la fin tu auras toutes une serie de serveurs d'entrees, une serie de serveur de traitement et idem pour les serveurs de sortie. (Sans meme parler des serveurs de base de donnees.)

    En fait ta question est triple à ce que j'en comprends, cela touche :
    - aux protocoles de communication
    - a l'architectures des serveurs web (architecture trois/n tiers)
    - a la haute disponibilte des serveurs

    Progval juste une chose par un cable (electrique) ne peut passer qu'une seule info a la fois. (electrique car avec la fibre on peut theoriquement en faire passer plus)
    La vitesse ne change rien aux problemes de connexion.
    C'est pas une attaque envers toi juste que en general ont oubli cette verite physique

  12. #9
    Tlaloc

    Re : Echange client-serveur : fonctionnement

    Citation Envoyé par LeFrileux Voir le message
    par un cable (electrique) ne peut passer qu'une seule info a la fois
    Et le multiplexage alors ?

    Pour en revenir au sujet, Harmz0, je ne pense pas que ta modelisation soit correcte. Comme l'a précisé lefrileux, il n'est pas que question de bande passante, mais aussi du serveur et de la façon qu'il a de gérer les demandes.

  13. #10
    LeFrileux

    Re : Echange client-serveur : fonctionnement

    Bonsoir

    Citation Envoyé par Tlaloc Voir le message
    Et le multiplexage alors ?
    Il est en amont a ma connaissance, non ?
    Et pas au niveau de la carte reseau des serveurs.
    Dernière modification par LeFrileux ; 19/09/2011 à 00h04.

  14. #11
    Harmz0

    Question Re : Echange client-serveur : fonctionnement

    Merci de vos réponses !

    En fait, vous avez à peu près répondu à ma question, que je vais essayer de formuler plus clairement quand même :

    Je voudrais étudier le traitement d'une requête par un serveur/site web, non mas dans le sens technique du terme, mais plutôt en essayant de modéliser la gestions des clients par un site web comme la caisse d'un supermarché. Ma question était alors de savoir si ce modèle était judicieux.
    Dans ce cas, on pourrait ainsi modéliser un site web (ou en tout cas le traitement des réquêtes) par un système de plein de caisses qui demande :
    * un temps d'attente pour pouvoir être pris en charge par le serveur, qui serait d'une durée proportionnel à la demande golbale des utilisateurs
    * un temps de service pendant lequel le serveur s'est décidé à nous envoyer les données et nous les communique.
    * le temps total correspondrait alors en gros au délai entre requête client et réponse affichée à l'écran (si l'on néglige les taux de transfert).
    De plus, on pourrait distinguer les gros sites web devant faire face à plus de demandes donc nécessitant plus de caisses et les petits serveurs où une caisse suffit vu que personne n'y va

    Voila, j'espère avoir été plus clair, même si ça a l'air mal parti d'après vos réponses pour être un modèle satisfaisant.

    Encore merci et bonne journée !

  15. #12
    LeFrileux

    Re : Echange client-serveur : fonctionnement

    Bonjour,

    Je trouve que ton modele ne vas pas, car bcp trop simple donc ce modele confond un peu tout.
    Si tu veux utiliser le supermarche il te faut au moins prendre en compte : la porte d'entree, la deambulation dans le magasin, et les caisses.

    En fait il serait (pour moi) plus judicieux d'utiliser par exemple une boucherie.
    Les clients rentrent dans la boucherie, ils prennent un ticket et attendent d'etre servis, un boucher arrive et sert le premier client, qui apres passe a la caisse et s'en va.
    Cet image est plus proche de la realite pour plein de raison.

    D'une tu ne peux pas avoir plus de client en attente dans la boucherie que de place dans l'espace client de la boucherie.
    (il y a aussi possibilite d'avoir une file d'attente en dehors de la boucherie sur le trottoir ce qui corresponds à la realite quand un serveur satture, il y a des client qui essaient d'entrer mais ne peuvent pas)
    De deux avec plusieurs boucher (ce qui est le cas de tous les serveurs meme de base) le premier client ne ressort pas forcement en premier car sa demande peut etre plus longue à traiter que le second client. (une simple demande de la page d'acceuil est plus simple que une demande dans une base de donnee)
    De trois tu peux aussi avoir un boucher qui demande a un autre boucher a l'arriere de preparer quelquechose, qui donc passe la main et va aller servir un autre client.
    Il peut y avoir aussi soucis a la caisse et surtout a la sortie, si le magasin est plein les clients ont du mal a franchir la porte de sortie vu ceux qui entrent.

    La porte d'entree/sortie est la/les cartes reseaux.
    La prise de ticket/caisse est les pile in/out
    Le/les bouchers devant et arriere le traitement.
    Dernière modification par LeFrileux ; 20/09/2011 à 12h16.

  16. #13
    Harmz0

    Re : Echange client-serveur : fonctionnement

    Merci à toi ! Ta réponse est bien plus clair que ma question, mais du coup, la modélisation mathématique que je voulais est comme tu le dis malheureusement trop simpliste.

    Par contre, elle tient bien compte du fait :
    * qu'il peut y avoir un nombre limité de place, ce qui saturerait le serveur
    * qu'il peut y avoir plusieurs serveurs en parallèle qui traite chacun indépendamment
    * que la demande client peut varier (en fait, le modéle dit que les temps de service se répartissent autour d'une valeur moyenne en loi de poisson)

    Mais il ne prend pas en compte :
    * qu'un serveur peut passer la main à un autre (même si c'est possible en prétendant que certains cleints devront suivre plusieurs serveurs à la suite, mais ça complique les calculs)
    * que la sortie est à la même position que l'entrée donc qu'il y a engorgement du système

    On peut donc donc une certaine mesure l'utiliser, mais plus pour la beauté du truc que pour le réalisme. L'enjeu d'un élargissement serait alors d'essayer, justement, d'apporter toutes les modifs nécessaires pour arranger le coup et le rendre plus réaliste (avec des petites magouilles -mathématiques ou non- par-ci par-là)

    Bonne soirée !


    EDIT: le premier schéma de ce cours est assez explicite sur les qualités/défauts du modèle : http://www.rogp.hec.ulg.ac.be/Crama/...hap2_Files.pdf
    EDIT2: si j'ai posé cette question sur le forum, c'est parce que ça me paraissait possible d’utiliser la théorie des files d'attente mais tout de même étrange que personne ne l'ai mis en application explicitement, au cas d'un site web. Toutes vos réponses montrent que je suis globalement gourré
    Dernière modification par Harmz0 ; 20/09/2011 à 20h31.

  17. #14
    Bryou

    Re : Echange client-serveur : fonctionnement

    Pour le multiplexage, étant donner que chaque applis envoi des trames, elle peuvent très bien être mélanger. C'est le serveur qui va traiter les trames une par une (ou plusieurs à la fois). (Sur un protocole Ethernet par exemple)

  18. #15
    JPL

    Re : Echange client-serveur : fonctionnement

    La modélisation de LeFrileux est pédgogique. Il lui manque un détail : le fait qu'un site très sollicité, non seulement utilise plusieurs serveurs mais utilise des caches pour optimiser l'accès car ils évitent une sollicitation trop fréquente des serveurs si la page demandée est déjà en cache. Ces caches peuvent être locaux, c'est le cas pour www.futura-sciences.com (et cela explique pourquoi une actualité récente qui apparaît dans le forum Commentez les actus, dossiers et définitions peut ne pas être encore visible sur la page d'accueil du site ; il faut en effet un certain temps pour que les caches se mettent à jour). Mais ils peuvent aussi utiliser la solution Akamai qui possède un réseau mondial de caches disponibles sur abonnement des sites.

    Bien entendu tout ceci est inutilisable pour le forum qui doit se mettre à jour en temps réel.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  19. #16
    Harmz0

    Re : Echange client-serveur : fonctionnement

    Ok, donc mon modèle est valable si je ne prend pas en compte :
    * le cache
    * l'engorgement à la sortie
    * le serveur qui jongle avec les requêtes

    Ca reste donc un modèle envisageable malgré quelques incohérences, qui sont justement à corriger après avoir fait l'étude.


    Merci à tous pour vos réponses !

  20. #17
    LeFrileux

    Re : Echange client-serveur : fonctionnement

    Bonjour,

    Citation Envoyé par JPL Voir le message
    La modélisation de LeFrileux est pédgogique.
    Oui !

    Citation Envoyé par JPL Voir le message
    Il lui manque un détail : le fait qu'un site très sollicité, non seulement utilise plusieurs serveurs mais utilise des caches pour optimiser l'accès.
    En quoi ca change mon modele ?
    Soit le cache est oriente a l'entree de la boucherie (pour tout ce qui est embale a l'avance aller a cote)
    Soit il est dans le choix de la boucherie. (a telle adresse poulet a telle adresse plat cuisine sur demande)
    Non ?

Discussions similaires

  1. client - serveur sous builder
    Par LTHOMAS dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 04/06/2008, 15h41
  2. Client/serveur
    Par tariq_qui dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 30/01/2007, 19h11
  3. client torrent?
    Par Titie3325 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 05/10/2006, 12h00
  4. Client FTP
    Par Tom-Tom dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 02/08/2004, 12h42
  5. Architecture Client/Serveur
    Par Atipoutou dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 22/04/2004, 13h18