Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Internet - Le protocole IP

Le protocole IP Encyclopédie


Le rôle du protocole IP

Le protocole IP fait partie de la couche Internet de la suite de protocoles TCP/IP. C'est un des protocoles les plus importants d'Internet car il permet l'élaboration et le transport des datagrammes IP (les paquets de données), sans toutefois en assurer la « livraison ». En réalité, le protocole IP traite les datagrammes IP indépendamment les uns des autres en définissant leur représentation, leur routage et leur expédition.

Le protocole IP détermine le destinataire du message grâce à 3 champs :

  • Le champ adresse IP : adresse de la machine
  • Le champ masque de sous-réseau : un masque de sous-réseau permet au protocole IP de déterminer la partie de l'adresse IP qui concerne le réseau
  • Le champ passerelle par défaut : Permet au protocole Internet de savoir à quelle machine remettre le datagramme si jamais la machine de destination n'est pas sur le réseau local

Les datagrammes

Les données circulent sur Internet sous forme de datagrammes (on parle aussi de paquets). Les datagrammes sont des données encapsulées, c'est-à-dire des données auxquelles on a ajouté des en-têtes correspondant à des informations sur leur transport (telles que l'adresse IP de destination).

Les données contenues dans les datagrammes sont analysées (et éventuellement modifiées) par les routeurs permettant leur transit.

Voici ce à quoi ressemble un datagramme :

<-- 32 bits -->
Version
(4 bits)
Longueur d'en-tête
(4 bits)
Type de service
(8 bits)
Longueur totale
(16 bits)
Identification
(16 bits)
Drapeau
(3 bits)
Décalage fragment
(13 bits)
Durée de vie
(8 bits)
Protocole
(8 bits)
Somme de contrôle en-tête
(16 bits)
Adresse IP source (32 bits)
Adresse IP destination (32 bits)
Données

Voici la signification des différents champs :

  • Version (4 bits) : il s'agit de la version du protocole IP que l'on utilise (actuellement on utilise la version 4 IPv4) afin de vérifier la validité du datagramme. Elle est codée sur 4 bits.
  • Longueur d'en-tête, ou IHL pour Internet Header Length (4 bits) : il s'agit du nombre de mots de 32 bits constituant l'en-tête (nota : la valeur minimale est 5). Ce champ est codé sur 4 bits.
  • Type de service (8 bits) : il indique la façon selon laquelle le datagramme doit être traité.
  • Longueur totale (16 bits): il indique la taille totale du datagramme en octets. La taille de ce champ étant de 2 octets, la taille totale du datagramme ne peut dépasser 65536 octets. Utilisé conjointement avec la taille de l'en-tête, ce champ permet de déterminer où sont situées les données.
  • Identification, drapeaux (flags) et déplacement de fragment sont des champs qui permettent la fragmentation des datagrammes, ils sont expliqués plus bas.
  • Durée de vie appelée aussi TTL, pour Time To Live (8 bits) : ce champ indique le nombre maximal de routeurs à travers lesquels le datagramme peut passer. Ainsi ce champ est décrémenté à chaque passage dans un routeur, lorsque celui-ci atteint la valeur critique de 0, le routeur détruit le datagramme. Cela évite l'encombrement du réseau par les datagrammes perdus.
  • Protocole (8 bits) : ce champ, en notation décimale, permet de savoir de quel protocole est issu le datagramme
    • ICMP : 1
    • IGMP : 2
    • TCP : 6
    • UDP : 17
  • Somme de contrôle de l'en-tête, ou en anglais header checksum (16 bits) : ce champ contient une valeur codée sur 16 bits qui permet de contrôler l'intégrité de l'en-tête afin de déterminer si celui-ci n'a pas été altéré pendant la transmission. La somme de contrôle est le complément à un de tous les mots de 16 bits de l'en-tête (champ somme de contrôle exclu). Celle-ci est en fait telle que lorsque l'on fait la somme des champs de l'en-tête (somme de contrôle incluse), on obtient un nombre avec tous les bits positionnés à 1
  • Adresse IP source (32 bits) : Ce champ représente l'adresse IP de la machine émettrice, il permet au destinataire de répondre
  • Adresse IP destination (32 bits) : adresse IP du destinataire du message

La fragmentation des datagrammes IP

Comme nous l'avons vu précédemment, la taille d'un datagramme maximale est de 65536 octets. Toutefois cette valeur n'est jamais atteinte car les réseaux n'ont pas une capacité suffisante pour envoyer de si gros paquets. De plus, les réseaux sur Internet utilisent différentes technologies, si bien que la taille maximale d'un datagramme varie suivant le type de réseau.
La taille maximale d'une trame est appelée MTU (Maximum Transfer Unit), elle entraînera la fragmentation du datagramme si celui-ci a une taille plus importante que le MTU du réseau.

Type de réseau MTU (en octets)
Arpanet 1000
Ethernet 1500
FDDI 4470

La fragmentation d'un datagramme se fait au niveau des routeurs, c'est-à-dire lors de la transition d'un réseau dont le MTU est important à un réseau dont le MTU est plus faible. Si le datagramme est trop grand pour passer sur le réseau, le routeur va le fragmenter, c'est-à-dire le découper en fragments de tailles inférieures au MTU du réseau et de telle façon que la taille du fragment soit un multiple de 8 octets.

Le routeur va ensuite envoyer ces fragments de manière indépendante et les réencapsuler (ajouter un en-tête à chaque fragment) de telle façon à tenir compte de la nouvelle taille du fragment. De plus, le routeur ajoute des informations afin que la machine de destination puisse réassembler les fragments dans le bon ordre. Rien ne dit toutefois que les fragments arriveront dans le bon ordre, étant donné qu'ils sont acheminés indépendamment les uns des autres.

Pour tenir compte de la fragmentation, chaque datagramme possède plusieurs champs permettant leur réassemblage :

  • champ déplacement de fragment (13 bits) : champ permettant de connaître la position du début du fragment dans le datagramme initial. L'unité de mesure de ce champ est de 8 octets (le premier fragment ayant une valeur de zéro).
  • champ identification (16 bits) : numéro attribué à chaque fragment afin de permettre leur réassemblage.
  • champ longueur totale (16 bits) : il est recalculé pour chaque fragment.
  • champ drapeau (3 bits) : il est composé de trois bits :
    • Le premier n'est pas utilisé.
    • Le second (appelé DF : Don't Fragment) indique si le datagramme peut être fragmenté ou non. Si jamais un datagramme a ce bit positionné à un et que le routeur ne peut pas l'acheminer sans le fragmenter, alors le datagramme est rejeté avec un message d'erreur
    • Le dernier (appelé MF : More Fragments, en français Fragments à suivre) indique si le datagramme est un fragment de donnée (1). Si l'indicateur est à zéro, cela indique que le fragment est le dernier (donc que le routeur devrait être en possession de tous les fragments précédents) ou bien que le datagramme n'a pas fait l'objet d'une fragmentation

Le routage IP

Le routage IP fait partie intégrante de la couche IP de la suite TCP/IP. Le routage consiste à assurer l'acheminement d'un datagramme IP à travers un réseau en empruntant le chemin le plus court. Ce rôle est assuré par des machines appelées routeurs, c'est-à-dire des machines reliées (reliant) au moins deux réseaux.

Plus d'informations

Pour plus d'informations le mieux est de se reporter à la RFC 791 expliquant de manière détaillée le protocole IP :

Trucs & astuces pertinents trouvés dans la base de connaissances

24/11 15h30 Récupérer son IP publique (Shell)
23/09 17h36 Récupérer une adresse IP (Expressions régulières)
22/09 13h36 IP statique (fixe) ou dynamique ? (Sécurité)
21/09 10h28 IP fixe nécessaire pour se connecter à distance (Mythes et légendes)
19/01 13h13 Changer l'adresse IP en ligne de commande avec Netsh (Windows)
16/01 11h03 Comment connaitre mon/son adresse IP ? (Internet)
13/03 16h05 Comment afficher l'adresse IP d'un visiteur ? (PHP)
IP Plus d'astuces sur « IP »

Discussions pertinentes trouvées dans le forum

21/06 14h58 suivre adresse ip Comment suivre une adresse IP? Virus/Sécurité 27/06 02h04->aranjuez3145
19/10 18h07 ip forwarding IP forwarding ? Linux/Unix 26/10 09h58->lami20j40
19/10 15h39 virus 50% adresses ip bloquees [virus] 50% de mes adresses IP sont bloquees Virus/Sécurité 11/11 16h55->Séb0823
18/05 15h46 conflit adresse ip conflit d'adresse IP avec moi même Réseaux 18/02 20h51->serge22
04/02 14h39 routeur cisco son @ip [Routeur Cisco] Je n'ai pas son @IP... Réseaux 27/11 20h11->jiman20
11/05 15h36 serveur ftp proftpd no ip Serveur FTP (proftpd) avec No-Ip Linux/Unix 12/05 23h32->__fabrice18
24/12 15h21 ip ip Internet 26/12 06h11->boulepate6218
20/03 10h18 connaître adresse ip Comment connaître mon adresse IP ? SVP Internet 17/02 15h10->vieu bison b...17
06/06 15h35 ip partir email msn IP a partir d'un email msn Internet 21/12 21h48->djinimy17
17/08 02h28 adresse ip constante Une adresse IP constante Réseaux 18/08 22h29->sebsauvage16
Discussion fermée Problème résolu IP Plus de discussions sur « IP »

Ce document intitulé « Internet - Le protocole IP » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.