Fonctionnement d'Internet
Topic outline
-
Internet, c'est avant tout un réseau d'ordinateurs à l'échelle mondiale. Contrairement à un réseau local (intranet) qui fonctionne en circuit fermé, la conception de l'ensemble des briques qui forment Internet permet à n'importe quel ordinateur qui y est connecté de communiquer avec un autre ordinateur à travers le monde.
L'ancêtre d'Internet est ArpaNet. C'est un réseau développé par l'armée américaine dans les années 60 afin de faire communiquer les premiers ordinateurs entre eux. Par la suite, le monde universitaire s'est emparé de la technologie pour échanger des informations concernant leurs recherches plus facilement. Vient ensuite l’apparition du "web" au sens où on le connaît aujourd'hui avec l'invention du protocole HTTP et du HTML, l'arrivée dans le grand public au début des années 90, et la généralisation des navigateurs web liée au boom de la micro-informatique dans les 90's.
-
Afin de fonctionner, Internet a besoin de nombreuses choses :
- des infrastructures réseaux : câbles, réseau aérien, satellite, etc...
- des routeurs, qui "aiguillent" l'information
- des data-centers : théoriquement optionnels dans le fonctionnement d'Internet, ils sont tout de même une des clés de voûte de l'Internet moderne
- des logiciels, et des langages de programmation : les ordinateurs ne comprenant pas encore le français, nous devons nous mettre à leur niveau pour les faire fonctionner
- des internautes ! La richesse, la puissance, et la singularité d'Internet viennent du fait que n'importe qui peut l'utiliser et le modifier.
-
Internet est un réseau décentralisé. Cela veux dire que l'information circule librement à travers la toile, et ne suit pas forcément un chemin prédéfini. Les routeurs se chargent "d'aiguiller" vos paquets d'informations vers le meilleur chemin en fonction des conditions de circulation, des temps de réponses, et de la congestion du réseau (bref, le chemin optimal).
Si par exemple vous êtes en France, et que vous souhaitez consulter un site hébergé en Angleterre, il se peux très bien que le flux d'informations entre vous et le serveur passe par New-York. Ou par Berlin, ou Singapour. L'intelligence du réseau va orienter tout le trafic automatiquement, sans forcément passer au même endroit, ou passer par un serveur "central".
Il existe en revanche des "nœuds", qui concentrent beaucoup de trafic (ex : câble sous-marins intercontinentaux, plateforme populaires type Google ou Facebook, grandes villes, satellites, etc...).
-
Chaque machine à sa propre adresse (l'adresse IP) qui permet de la retrouver sur la toile mondiale (comme une adresse postale). La structure de l'adresse IPv4 est de cette forme : 123.456.789.123, mais une nouvelle norme à vue le jour il y a quelques années face à l'explosion du nombre de terminaux connectés. Les standards ont évolués vers IPv6 qui permet de créer beaucoup plus d'adresses "physiques".
Les IPv6 ont cette forme : 5800:10C3:E3C3:F1AA:48E3:D923:D494:AAFF. Compliquée à lire pour un humain, un logiciel décortique une adresse IP et la voit comme ça 3, rue des rosiers, appartement 23 bis, 31500 Toulouse France. Hop, le tour est joué ! On peut identifier un ordinateur facilement parmi des milliards d'autres terminaux...
Les adresses IP -
Les DNS, pour Domain Name System, sont la méthodes utilisés pour faire correspondre une adresse "machine (ipv4, ipv6) avec une adresse "humaine".
Par exemple : google.fr correspond à l'adresse IP : 2a00:1450:4007:80c::2003.
Lorsque vous achetez un nom de domaine sur Internet, vous devez faire pointer ce nom de domaine vers une machine physique, et c'est cette étape qui permet de faire correspondre un nom de domaine "humain" avec une adresse physique. Chez certains hébergeurs, souvent sur des offres mutualisées, cette procédure se fait automatiquement. C'est à dire que l'hébergeur va automatiquement faire pointer votre nom de domaine vers votre "espace web" (cqfd : la machine qui héberge vos sites). Sur des serveur dédiés, ce sera à vous de configurer votre DNS pour faire pointer le nom de domaine vers la bonne IP.
Il y a plusieurs niveaux de DNS :
Mais en tant que développeurs, notre champ d'action s’arrête bien souvent à la gestion des noms de domaines simples, et des sous domaines.
Tous les serveurs qui gèrent les DNS sont gérés par des sociétés privés ou des instituions de grandes envergures (universités, armée, etc...), et sont nommées par l'ICANN.
Propagation DNS
Le temps d'attente pour qu'un nom de domaine soit correctement mise en cache dans toute l'architecture d'Internet peut être variable (entre quelques heures et 48h en général). Donc il y a bien souvent un temps d'attente entre l'enregistrement d'un nouveau nom de domaine, et le fait qu'il soit accessible partout dans le monde. C'est ce que nous appelons le temps de propagation DNS.
En savoir plus : https://fr.wikipedia.org/wiki/Serveur_racine_du_DNS
-
Les Data Center (ou fermes de données en français), sont des lieux stratégiques du web tels que nous le connaissons. Ce sont des entrepôts qui stockent de nombreux ordinateurs reliés à Internet. Leurs rôles est d'héberger les logiciels et les données qui permettent de faire tourner toutes les applications disponibles sur Internet. Que ce soit un simple site web, ou Facebook.
Techniquement, grâce à la conception d'Internet, n'importe qui peux utiliser son PC comme serveur web (à condition d'avoir une configuration réseau et logiciel adéquate). Mais en réalité, ceci est bien plus pratique de centraliser tous les serveurs dans des lieux dédiés (notamment à cause de la différence importantes entre les débits montant et descendant).
Les data center Extérieur Intérieur La position centrale des data center les obligent à respecter certains critères pour être performant :
- rapidité des serveurs : un serveurs web doit être rapide. Cela dépend de la volumétrie des requêtes qu'il reçoit, mais un serveur est rarement sous employé. Surtout dans le cas des serveurs mutualisés qui font tourner des milliers de sites en parallèle
- large bande passante : un data center reçoit et émets de très nombreuses requêtes, il doit donc fournir une large bande passante et être correctement dimensionné (contrairement à votre serveur web personnel que vous pouvez avoir chez vous). Les data center ont donc des abonnements spéciaux leur offrant des débits très élevés.
- grands espaces de stockage : la aussi cela dépend des applications qui sont présentent sur le serveur, mais en général un serveur doit offrir un grand volume de stockage, car c'est dans les data center que l'on stocke le plus gros de l'information (documents, photos, vidéos, mails, base de données, backups, etc....)
- haute disponibilité : les data center n'ont quasiment pas le droit de tomber en panne. La plupart garantissent contractuellement une disponibilité de l'infrastructure à 99.8% voir 99.9% du temps
- haute sécurité : comme pour la disponibilité, les data center se protègent des avaries non-contrôlables (séismes, inondations, attaque nucléaire, etc...). Pour pallier à ça, les data center protègent leurs infrastructures avec différentes solutions : doublement voir triplement des sources électriques (groupe électrogène, etc...), redondance géographique, etc...
Les serveurs utilisés dans les data center sont rangés dans des racks, et ce sont des boîtiers type "lames" afin d'optimiser le stockage :
Exemple de serveur utilisé dans un data center
Un data center peux contenir des milliers de serveurs, qui tournent à plein régime. Donc le principal problème d'un data center va être de réguler la température à l'intérieur des locaux, ce qui consomme beaucoup d'énergie en climatisation.
Pour conclure, sachez que certaines entreprises sont spécialisées dans les data center (tel que OVH par exemple, cocorico), tandis que certains mastodontes du web disposent de leurs propre réseaux de data center réparti dans le monde (tel que Google ou Facebook par exemple), voir même de leur propre centrale électrique.
-
-
-