Zoom sur IP, le Protocole Internet

Internet protocol (protocole internet, abrégé en IP) est une famille de protocoles de communication de réseaux informatiques conçus pour être utilisés sur Internet. Les protocoles IP sont au niveau 3 dans le modèle OSI. Les protocoles IP s’intègrent dans la suite des protocoles Internet et permettent un service d’adressage unique pour l’ensemble des terminaux connectés.

Le protocole Internet (IP) est un ensemble d’exigences pour l’adressage et le routage des données sur Internet. IP peut être utilisé avec plusieurs protocoles de transport, notamment TCP et UDP.

 

L’adressage IP

Lors d’une communication entre deux postes, le flux de données provenant de la couche transport — niveau 4 du modèle OSI — (par exemple des segments TCP) est encapsulé dans des paquets par le protocole IP lors de leur passage au niveau de la couche réseau. Ces paquets sont ensuite transmis à la couche liaison de données — niveau 2 du modèle OSI — afin d’y être encapsulés dans des trames (par exemple Ethernet).

Les données traversant Internet sont divisées en morceaux plus petits, appelés paquets. Des informations IP sont attachées à chaque paquet, et ces informations aident les routeurs à envoyer des paquets au bon endroit. Chaque appareil ou domaine qui se connecte à Internet se voit attribuer une adresse IP et, comme les paquets sont dirigés vers l’adresse IP qui leur est attachée, les données arrivent là où elles sont nécessaires.

Les paquets IP sont créés en ajoutant un en-tête IP à chaque paquet de données avant son envoi. Un en-tête IP n’est qu’une série de bits (uns et zéros) qui enregistre plusieurs informations sur le paquet, y compris l’adresse IP d’envoi et de réception. Les en-têtes IP indiquent également:

  • Longueur de l’en-tête ;
  • Longueur du paquet ;
  • Time To Live (TTL), ou le nombre de sauts de réseau qu’un paquet peut faire avant qu’il ne soit jeté ;
  • Quel protocole de transport est utilisé (TCP, UDP, etc.).

Au total, il existe 14 champs d’informations dans les en-têtes IPv4, bien que l’un d’entre eux soit facultatif.

Une adresse IP est un identifiant unique attribué à un appareil ou un domaine qui se connecte à Internet. Chaque adresse IP est une série de caractères, tels que «192.168.1.1». Grâce aux résolveurs DNS, qui traduisent les noms de domaine lisibles par l’homme en adresses IP, les utilisateurs peuvent accéder à des sites Web sans mémoriser cette série complexe de caractères.

Chaque paquet IP contiendra à la fois l’adresse IP de l’appareil ou du domaine envoyant le paquet et l’adresse IP du destinataire prévu, de la même façon que l’adresse de destination et l’adresse de retour sont incluses dans une pièce de courrier ou dans un email.

 

Le routage IP

Avec l’adressage, le routage est l’une des principales fonctions du protocole IP. Le routage consiste à transmettre des paquets IP de la source aux machines de destination sur un réseau, en fonction de leurs adresses IP. Cette transmission se produit généralement via un routeur.

Les protocoles IP assurent l’acheminement au mieux (best-effort delivery) des paquets. Ils ne se préoccupent pas du contenu des paquets, mais fournissent une méthode pour les mener à destination.

Les protocoles IP sont considérés comme « non fiables ». Cela ne signifie pas qu’ils n’envoient pas correctement les données sur le réseau, mais qu’ils n’offrent aucune garantie pour les paquets envoyés quant à :

  • la corruption de données ;
  • l’ordre d’arrivée des paquets (un paquet A peut être envoyé avant un paquet B, mais le paquet B peut arriver avant le paquet A) ;
  • la perte ou destruction de paquets ;
  • la duplication des paquets.

En termes de fiabilité, le seul service offert par un protocole IP est de s’assurer que les en-têtes de paquets transmis ne comportent pas d’erreurs grâce à l’utilisation de somme de contrôle (checksum). Si l’en-tête d’un paquet comprend une erreur, sa somme de contrôle ne sera pas valide et le paquet sera détruit sans être transmis.

 

Les versions IP : IPv4 et IPv6

IPv4 utilise des adresses codées sur 32 bits (soit en théorie 4 294 967 296 adresses possibles) tandis qu’IPv6 les code sur 128 bits (soit en théorie 3,4 × 1038 adresses possibles).

Le premier champ d’un paquet d’un protocole IP est composé de 4 bits qui indiquent la version du protocole utilisé. La valeur 0100 (4 en binaire) est utilisée pour IPv4, 0110 (6 en binaire) pour IPv6.

Les versions 1 à 3 du protocole sont restées expérimentales. Elles ont été utilisées entre 1977 et 1979.

La version 4 du protocole est une version qui a été très largement utilisée. Le nombre 4 est le numéro de version du protocole porté par les datagrammes IP qui l’utilisent. IPv4 est défini dans la RFC RFC 7919 de 1981.

La version 5 du protocole est une version expérimentale utilisée dans le cadre de l’étude du Internet Stream Protocol, protocole lui-même expérimental.

Le successeur officiel du protocole IPv4 est IPv6. Ce protocole est le résultat de plusieurs années d’expérimentation et d’échanges au cours desquels plusieurs protocoles ont été proposés (TP/IX, PIP, TUBA…).