L’établissement d’une connexion sur internet

Dans un précédent article, j'expliquais le fonctionnent général d'internet : Internet : comment ça marche ?
Ils existent plusieurs méthodes et modèles pour échanger des données sur internet, par exemple le P2P, ou client/serveur.
A chaque fois des connexions sont établies notamment avec le protocole TCP/IP.

Dans cet article, nous allons voir en détails comment l'établissement d'une connexion sur internet.
Vous aurez donc le processus pas à pas de l'établissement d'une connexion entre un client et un serveur sur internet.

L'établissement d'une connexion sur internet (en TCP)

L'établissement d'une connexion sur internet

Dans cet exemple, on image un PC qui tente de se connecter au site internet www.malekal.com

L'établissement d'une connexion sur internet peut se décomposer en trois grandes étapes :

  • La résolution DNS qui vise à obtenir l'adresse IP du serveur
  • Le PC client qui configure une session vers le serveur
  • La communication entre le client et le serveur s'effectue et les données transitent entre les deux.

La plupart des communications sur internet se basent sur le protocole TCP/IP.
Pour plus d'informations sur ce dernier :

Un PC veut envoyer une requête et trafic vers un serveur

Nous avons dons un PC dans un réseau local LAN.
Ce dernier possède une configuration réseau

Le routeur se charge de partager la connexion internet.
En France, il s'agit en général de box internet fournit par le fournisseur d'accès internet.
En général, avec les routeurs grands publics et box, la passerelle par défaut et le DNS sont les mêmes.

Voici un résumé et schéma de l'établissement d'une connexion sur internet.

La plupart des communications se font sur la base de l'architecture client/serveur :

Effectuer la requête DNS

La première chose à faire est d'obtenir l'adresse IP de l'adresse www.malekal.com.
Cela afin d'identifier le serveur WEB sur le réseau pour se connecter à ce dernier.
Pour cela, on effectue une résolution DNS.

Vérifier le cache DNS

La première chose est de vérifier si l'adresse du serveur n'est pas présent dans le cache DNS.
En effet, cela évite de refaire une résolution DNS et permet d'obtenir l'adresse IP plus rapidement tout en préservant de la bande passante.

Ainsi, le système d'exploitation regarde dans son cache DNS.

Dans cet exemple, on part du principe que l'adresse IP ne se trouve pas dans le cache DNS.
De ce fait, le PC va devoir effectuer une requête DNS.

Assembler une requête DNS

Ainsi, le PC doit envoyer une résolution DNS sur le serveur DNS configurés sur son interface réseau.
En général, il s'agit du routeur ou box internet qui a pour adresse IP 192.168.1.1.
Ainsi la requête DNS a pour source 192.168.1.10 et destination 192.168.1.1

DNS utilise UDP comme protocole de transport. Le port de destination des requêtes DNS est 53 / UDP.
Plus tard, lorsque la requête DNS atteindra le serveur DNS, ce dernier sera en mesure de dire en regardant le port de destination 53 / UDP que le message est destiné à un programme de serveur DNS.
Ainsi la requête est transféré et traité par le programme DNS en cours d'exécution sur le système d'exploitation du serveur.

La résolution DNS

Mais lorsque l'ordinateur rassemble la requête DNS, il remarque qu'il doit vérifier à quelle adresse MAC de destination il doit envoyer le paquet.
Donc, pour l'instant, le système d'exploitation place le paquet dans une file d'attente en mémoire, puis commence à travailler sur la détermination de l'adresse MAC de destination à utiliser.

Interrogation ARP pour une adresse MAC valide

L'ordinateur va maintenant vérifier sa table ARP pour voir s'il sait quelle adresse MAC est associée à l'adresse IP du routeur, 192.168.1.1

Demande ARP au réseau

Maintenant, l'ordinateur doit effectuer une requête ARP vers le reste du réseau.
La demande sera envoyée à l'adresse MAC de destination FF: FF: FF: FF: FF: FF qui est l'adresse de diffusion broadcast soit donc tout le réseau.
Le résultat est que tous les autres ordinateurs et périphériques du réseau local recevront la demande et liront le contenu.

Le routeur ou box internet reçoit la requête ARP et lit le message puisque la requête est envoyée à l'adresse MAC de diffusion FF: FF: FF: FF: FF: FF
Il répond et communiquer son adresse MAC.

Broadcast dans le réseau pour obtenir l'adresse MAC

Le PC stocke l'information et inscrit l'adresse MAC dans ton cache ARP afin de ne pas renouveler la même demande dans le future.

Plus de détails :

Envoyez la requête DNS

Le PC a maintenant l'adresse MAC du routeur et peut envoyer la trame et requêtes DNS à ce dernier.

La box internet reçoit la requête, voit qu'il s'agit d'une requête DNS visant la propre adresse IP et l'adresse MAC du routeur, et comprend qu'il doit gérer cette requête DNS et renvoyer une réponse.

Le routeur prépare et envoie sa requête DNS

Le routeur possède un service DNS capable de gérer les résolutions DNS.
Lorsqu'il reçoit une demande de résolution DNS, il vérifie dans un premier temps si cette adresse se trouve dans le cache DNS.
Si c’est le cas, il renvoie l'adresse IP connue.
Là aussi le but est d'économiser la bande passante et accélérer les temps de réponse aux demandes de résolutions DNS.

Si l'adresse ne se trouve pas dans le cache, il va devoir faire une interrogation DNS aux serveurs configurés.

La requête DNS est acheminée sur Internet

Le routeur prépare maintenant une requête DNS qu'il enverra à son serveur DNS.
Ce dernier est obtenu via DHCP auprès du fournisseur d'accès Internet lorsque le routeur a démarré pour la première fois et a obtenu sa propre adresse IP publique du FAI.
Dans notre exemple, nous avons forcé les DNS de Google 8.8.8.8 donc la requête DNS ira plus vers ce dernier.

Ainsi, le routeur domestique prépare une requête DNS pour la transmission en plaçant la requête dans un message UDP avec le port de destination 53 / UDP et un port source UDP aléatoire.
Il mettra ensuite le message dans un paquet IP. Le paquet IP est envoyé de l’adresse IP publique du routeur domestique à l’adresse du serveur DNS.

Lorsque le routeur a préparé le paquet et est prêt à l'envoyer, il recherche dans sa table de routage de quelle manière il doit envoyer le paquet.
Il peut voir dans la table de routage que le meilleur chemin vers le LAN intérieur 192.168.1.0 passe par les ports LAN, mais ce paquet doit être envoyé à un autre réseau IP sur Internet.
Le routeur domestique choisit donc le port WAN comme la meilleure destination.

Résolution DNS sur internet

À ce stade du processus, il est possible que le routeur doive effectuer une requête ARP pour connaître l'adresse MAC du routeur de saut suivant, soit le routeur du FAI.
Mais on peut supposer que que la box internet possède déjà cette information dans son cache ARP.

Le routeur du FAI achemine le paquet vers le saut suivant et ainsi de suite jusqu'à parvenir au serveur DNS final.

Le routeur peut envoyer une réponse DNS à l'ordinateur

Puis le serveur DNS répond à la demande et une connexion de réponse est faites qui est envoyée au routeur.
Ce dernier la transmet au PC initial.

A partir de là, le PC connaît l'adresse IP du serveur WEB de l'adresse www.malekal.com
Il va pouvoir initialiser une connexion vers ce dernier.

L'ordinateur effectue connexion TCP/IP pour communiquer avec le serveur

Le PC a maintenant toutes les informations disponibles pour interroger le serveur WEB du site malekal.com
Dans du protocole applicatif HTTP, la connexion se fait en TCP (du moins en HTTP/2).

Ainsi on retrouve les étapes classiques de l'établissement d'une connexion TCP/I. Notamment avec TCP three-way handshake, la prise de contact TCP à trois poignée de main.

Établissement de la connexion à un site internet

Liens