Le processus qu'un client utilise pour contacter un serveur après qu'un utilisateur a spécifié un nom de domaine implique plusieurs étapes, utilisant principalement le système de noms de domaine (DNS) et la suite de protocoles TCP/IP. Voici une répartition :
1. Entrée utilisateur : L'utilisateur saisit le nom de domaine (par exemple, « www.example.com ») dans son navigateur ou son application.
2. Résolution DNS :
* Résolveur récursif : Le système d'exploitation du client contacte un résolveur DNS récursif. Ceci est souvent fourni par le fournisseur d'accès Internet (FAI) du client ou configuré manuellement. Le résolveur récursif agit comme intermédiaire, gérant le processus d'interrogation de différents serveurs DNS.
* Serveurs de noms racine : Le résolveur récursif commence par interroger les serveurs de noms racine. Ces serveurs ne connaissent pas l'adresse IP de « www.example.com », mais ils savent où trouver les serveurs qui *connaissent* le domaine de premier niveau « .com ».
* Serveurs de noms TLD : Le résolveur récursif contacte ensuite les serveurs de noms du domaine de premier niveau (TLD) (par exemple, les serveurs de noms « .com »). Ces serveurs connaissent les serveurs de noms faisant autorité pour « exemple.com ».
* Serveurs de noms faisant autorité : Le résolveur récursif contacte les serveurs de noms faisant autorité pour « exemple.com ». Ces serveurs sont responsables de la maintenance des enregistrements DNS pour ce domaine. Ils détiennent l'adresse (ou les adresses) IP associée(s) à « www.example.com ».
* Résultat : Les serveurs de noms faisant autorité renvoient l'adresse IP (ou les adresses – souvent multiples pour l'équilibrage de charge) correspondant à « www.example.com ». Le résolveur récursif renvoie cette adresse IP au client.
3. Établissement d'une connexion TCP/IP :
* Adresse IP : Le client dispose désormais de l'adresse IP du serveur.
* Position de liaison TCP à trois voies : Le client initie une connexion TCP au serveur en utilisant l'adresse IP et le port souhaité (généralement le port 80 pour HTTP ou 443 pour HTTPS). Cela implique une poignée de main à trois :
* SYN : Le client envoie un paquet SYN (synchronisation) au serveur, demandant une connexion.
* SYN-ACK : Le serveur répond avec un paquet SYN-ACK (synchronize-acknowledge), accusant réception de la demande et envoyant ses propres informations de synchronisation.
* ACK : Le client envoie un paquet ACK (accusé de réception), confirmant la connexion.
* Connexion réussie : Une fois la négociation à trois terminée, une connexion TCP est établie entre le client et le serveur.
4. Transfert de données : Le client peut désormais envoyer des requêtes (par exemple, des requêtes HTTP) au serveur via la connexion TCP établie. Le serveur traite ces requêtes et renvoie les réponses.
5. Fermeture de la connexion : Une fois la communication terminée, la connexion TCP est gracieusement fermée.
En bref : Le client utilise DNS pour traduire le nom de domaine en adresse IP, puis utilise TCP pour établir une connexion avec le serveur à cette adresse IP avant d'échanger des données. L'ensemble du processus se déroule de manière transparente pour l'utilisateur, qui ne voit que le chargement du site Web ou de l'application.
|