Logo Spiria

Comprendre l’Internet – Partie 2, les noms de domaine

16 mai 2019.

Après nous avoir expliqué les mystères de l’adressage IP et des ports, Jacques Morrisseau nous explique comment fonctionnent les noms de domaines et ce que sont les DNS, TLD, FQDN, URL, etc.

[Comprendre l’Internet – Partie 1, l’adressage IP et les ports.]

Au risque de me répéter, les adresses IP ne sont pas très intuitives ni faciles à retenir. Pour remédier à ceci, le DNS a été inventé et ce protocole, l’une des pierres angulaires de l’internet, est ce qui permet de rejoindre les millions de sites existant sans connaître leurs adresses IP. Si l’on poursuit avec l’exemple du service postal, le DNS est comme les Pages jaunes de l’internet qui vous permettent de trouver l’adresse d’une compagnie par le biais de son nom. Si vous avez besoin de vous rendre à google.ca, le DNS fait la recherche de l’adresse IP pour vous. Dans la plupart des cas, les fureteurs web font ceci de façon transparente de façon à ce que vous n’ayez jamais à le faire vous-même.

Afin de vous prévaloir d’un nom de domaine sur internet, vous devez d’abord passer par un registraire. Le registraire, c’est comme un notaire. Il va donner force de loi à la possession du nom de domaine désiré et généralement, il va aussi vous permettre de définir les adresses IP liées à votre nom de domaine. Un nom de domaine, ça peut être n’importe quoi, pourvu qu’il soit terminé par un TLD (Top Level Domain) reconnu. Parmi les TLD les plus connus, nous avons :

  • com
  • gov
  • biz
  • net

Et il y a aussi les TLD de pays qui sont gérés par des organismes gouvernementaux (ca, fr, us, etc.) et de nouveaux TLD qui ont récemment fait leur apparition comme :

  • ninja
  • museum
  • food

Si vous désirez en savoir plus sur les TLD existants, une liste exhaustive est disponible sur Wikipedia à cette adresse.

Si le nom est valide et disponible chez le registraire de votre choix, il vous suffit de l’acheter et de commencer à l’utiliser. Dans le cas d’un site web, une fois que vous avez programmé l’adresse IP statique d’un service d’hébergement dans votre service DNS, en l’espace de quelques minutes, de n’importe où sur la planète, on peut venir consulter votre site web simplement en tapant votre nom de domaine dans un fureteur web.

Supposons que vous avez besoin d’héberger plusieurs pages, ou documents distincts, avec votre nom de domaine. Vous pouvez le faire en utilisant des FQDN (Fully Qualified Domain Name) ou en les logeant sous une ou plusieurs adresses URL (Uniform Resource Locator) distincts.

Lorsque vous êtes sur un fureteur web et que vous demandez une page quelconque, le service DNS que votre logiciel utilise va aller chercher l’adresse IP vers laquelle se rendre. Une fois que le service DNS a donné l’adresse IP correspondant au nom de domaine recherché, votre fureteur envoie une demande d’information (protocole HTTP) à cette adresse en passant par un point d’entrée spécifique (le port). Il va alors demander le premier document disponible pour le nom de domaine ou encore un document indiqué dans l’URL. Pour le commun des mortels, le protocole HTTP vise essentiellement à récupérer des fichiers spécifiques par le biais d’une adresse URL afin qu’ils soient interprétés par un fureteur web pour les afficher de façon lisible.

Pour l’amour des patates

Voici un exemple concret pour illustrer tout cela. Vous aimez les patates, vous décidez donc d’acquérir le nom de domaine patates.com. Une fois le domaine acheté, vous configurez le tout chez un hébergeur web et l’information DNS qui fait pointer patates.com vers l’adresse IP 1.2.3.4 (fictive) est enregistrée. Vous décidez alors de coder votre première page. Vous l’appelez frites.html et vous la déposez à la racine de votre serveur web.

À noter : des noms comme patates.com peuvent être disponibles ou non à l’achat. La plupart du temps, un terme général (comme patate, pizza, steak, automobile, etc.) est populaire et est donc déjà acheté par quelqu’un. Il est soit utilisé pour un site web, soit offert à la vente pour une somme faramineuse. Parfois, une subtile variation de la graphie du nom sera utilisée à des fins de piratage (nous en discuterons quelque peu dans la prochaine partie). Gardez à l’esprit que les noms utilisés dans les exemples qui suivent ne pointent pas nécessairement vers des sites réels et que si c’est le cas, ce n’est qu’une simple coïncidence.

De façon générale, un FQDN désigne un nom de domaine comportant un préfixe, souvent significatif des ressources offertes à cette adresse. On peut utiliser n’importe quoi, mais le plus connu est le préfixe « www », qui a longtemps été utilisé par convention pour les sites web. Si l’on traduisait ça dans le monde physique, cela donnerait cela :

  • Le nom de domaine serait un nom d’organisation.
    • patates.com
  • Le FQDN serait le nom d’un département à l’intérieur de ladite organisation.
    • www.patates.com
  • Et l’URL désigne quant à lui une ressource spécifique que l’on souhaite atteindre au sein de l’organisation.
    • www.patates.com/frites.html

Voyons un exemple d’URL vers une ressource spécifique :

http://www.patates.com:80/frites.html
  • http est le protocole.
  • www.patates.com est le FQDN et patates.com est le nom de domaine.
  • 80 est le port à utiliser sur ce serveur.
    • Note importante :
      • Le port 80 est le port conventionnel du protocole HTTP ;
      • Si aucun port n’est spécifié, le port 80 est toujours présumé – il est ainsi inutile de le renseigner dans la plupart des cas. L’inclusion dans l’exemple est simplement à titre éducatif.
  • frites.html est le nom du fichier à récupérer sur le serveur.

Si la configuration de notre exemple était réelle, voici la séquence générale des événements qui se produiraient après avoir validé notre URL dans un fureteur :

  1. Recherche de l’adresse IP de patates.com sur le DNS.
    • L’adresse 1.2.3.4 est retournée au fureteur.
  2. Le fureteur envoie ensuite une requête à l’adresse 1.2.3.4 sur le port 80 spécifiant ceci :
    • 1. Déclaration d’utilisation du protocole HTTP ;
    • 2. Demande du fichier frites.html. Si aucun nom de fichier n’est précisé, le serveur peut retourner selon sa configuration :
      • Une liste de documents pour le domaine patates.com ;
      • Le premier document disponible ;
      • Un document spécifié par l’opérateur du serveur web.
  3. Le serveur envoie le fichier frites.html au fureteur.
  4. Finalement, le fureteur effectue l’affichage du contenu du fichier frites.html pour l’utilisateur.
    • a. Un fichier HTML contient normalement du texte ainsi que des codes qui servent à définir la mise en forme du texte et qui appellent des ressources externes comme les images.
    • b. Les standards HTML sont définis et généralement uniformes, ce qui fait que tous les fureteurs interprètent ces codes de façon similaire, bien que des exceptions peuvent parfois exister entre différents fureteurs. (Et expliquer tout ceci demanderait un autre article...)
    • c. Les problèmes d’affichage générés par ces exceptions sont généralement repérés par les équipes d’assurance qualité avant la mise en production, mais des mises à jour logicielles et des évolutions des standards peuvent briser certaines fonctionnalités ou certains formatages du jour au lendemain.

Subséquemment, vous pourriez très bien décider de faire un site secondaire dédié aux frites, avec un FQDN modifié. Par exemple :

http://frites.patates.com/index.html

Tant que le DNS a l’information que le FQDN frites.patates.com doit pointer vers l’adresse 1.2.3.4, ce « nouveau » site est également joignable. Ce dernier peut ainsi servir des informations liées aux frites tandis que le site patates.com parlerait des patates en général.

Si vous aviez le contrôle de l’adresse (fictive) 1.2.3.4, vous pourriez y faire pointer autant de FQDN et de noms de domaine que la capacité du serveur le permet.

Aussi, votre amour grandissant des frites pourrait vous pousser à acheter le nom de domaine frites.com. Encore une fois, tant que le serveur web est configuré pour répondre, l’adresse IP 1.2.3.4 peut servir à la fois les pages web de frites.com et de patates.com. Dans le monde physique, ça serait comme avoir deux compagnies à l’intérieur du même bureau physique.

Si par la suite, si vous gagnez des fans avec lesquels vous désirez correspondre, vous allez devoir monter un serveur de courriel. Pour se faire, il faut configurer 3 autres entrées DNS spécifiques :

  • Une entrée DNS de type A pour le FQDN mail.patates.com.
    • Cette entrée DNS est nécessaire pour signifier que l’adresse 1.2.3.4 répond pour le FQDN mail.patates.com.
    • Si nous avons installé un service de courriel sur le même serveur que notre serveur web, cette entrée peut très bien pointer vers la même adresse IP que le serveur.
  • Une entrée DNS de type MX.
    • Une entrée MX est un type standard d’adressage DNS pour signifier l’emplacement d’un serveur de courriel lié au nom de domaine.
    • Dans le cas présent, nous indiquons que le FQDN mail.patates.com est l’adresse d’un serveur de courriel de patates.com.
    • Dans la pratique, ces entrées pointent souvent vers des serveurs de courriel robustes comme ceux de Gmail ou Outlook.
  • Une entrée DNS de type TXT pour le SPF.
    • Une entrée SPF (Sender Policy Framework) est une entrée DNS spéciale qui sert de référence à tous les serveurs de courriels de la planète pour vérifier l’origine d’un courriel et éviter les usurpations d’identité.
    • Dans notre cas, nous spécifierons que seuls l’adresse 1.2.3.4 et le nom mail.patates.com sont autorisés à envoyer du courriel pour le domaine patates.com.

Avec ces entrées, non seulement vos fans pourront vous envoyer du courriel afin de partager leur amour inconditionnel du célèbre tubercule, mais de plus, si jamais un diabolique amateur de brocoli tentait d’envoyer des courriels provenant prétendument de l’adresse brocoli@patates.com, les serveurs de courriel du monde entier seraient immédiatement en mesure de voir que l’adresse IP d’envoi ne correspond pas aux instructions SPF du serveur de courrier associé à patates.com. Ces courriels seraient considérés comme étant du spam et jetés à la corbeille (le meilleur emplacement pour le brocoli, à mon humble avis).

Tout cela peut sembler quelque peu compliqué et tordu, mais croyez-moi sur parole, il ne s’agit que de la pointe de l’iceberg. Vous vous demanderez sûrement pour quelle raison vous devriez tenter de comprendre tous ces concepts. La réponse vous apparaîtra plus clairement dans mon troisième et dernier article dans lequel je vous partagerai des conseils pratiques qui vous aideront à mieux gérer votre vie numérique. Mais pour l’instant, faites acte de foi. Je vous assure que comprendre ce qu’est un FQDN, un nom de domaine, une adresse IP ou une entrée SPF va prendre tout son sens lorsque je vous donnerai des exemples et outils utiles pour vérifier ce qui se passe.