RFC: 791

INTERNET PROTOCOL

SPECIFICATION



Crédits : Jon Postel / ISI
Traduction : V.G. FREMAUX

Précédent - Suivant - Retour au sommaire


1. INTRODUCTION

1.1. Motivation

Le Protocole Internet est conçu pour supporter l'intercommunication de systèmes informatiques sur une base de réseau par commutation de paquets. Un tel système est appelé "catenet" [1]. Le rôle du protocole Internet est la transmission de blocs de données, appelés datagrammes, d'une source vers une destination, la source et la destination étant des ordinateurs hôtes identifiés par une adresse de longueur fixe. Le protocole Internet dispose des mécanismes permettant la fragmentation de longs datagrammes et leur réassemblage, lors de leur transmission à travers des réseaux de "dimension" inférieure.

1.2. Cadre

Le protocole Internet est limité aux fonctions nécessaires à l'acheminement d'un paquet de bits (un datagramme Internet) depuis une source vers une destination via un ensemble de réseaux interconnectés. Aucun mécanisme particulier destiné à augmenter la fiabilité des données de "bout en bout" n'y est implémenté, ni mécanisme de contrôle de flux, de séquencement, ni aucun autre service communément fourni par d'autres protocoles "hôte vers hôte". Le protocole Internet capitalisera les services des réseaux qui le supportent pour offrir divers types et qualités de service.

1.3. Interfaces

Ce protocole est appelé par d'autres protocoles "hôte-vers-hôte" de l'environnement Internet. Ce protocole appelle à son tour un protocole de réseau local pour transporter le datagramme vers le routeur le plus proche ou directement vers l'hôte destinataire.

Par exemple, un module TCP s'appuiera sur le module Internet pour transporter un segment TCP (comprenant un en-tête TCP plus les données utilisateur) considéré lui-même comme le segment de données du datagramme Internet. Le module TCP renseignera les adresse et les autres paramètres de l'en-tête Internet par passage de paramètres lors de l'appel. Le module Internet constituera alors le datagramme Internet et appellera à son tour l'interface réseau local pour transmettre le datagramme.

Dans le cas d'ARPAnet, par exemple, le module Internet appellera le module réseau local qui ajoutera l'en-tête 1822 [2] en début de datagramme, constituant ainsi un message ARPANET à transmettre à l'IMP. L'adresse ARPANET sera déduite de l'adresse Internet par l'interface réseau local et sera l'adresse d'un hôte raccordé à l'ARPAnet, celui-ci pouvant être un routeur vers d'autres réseaux.

1.4. Fonctionnement

Le protocole Internet implémente deux fonctions de base : l'adressage et la fragmentation. Les modules Internet exploiteront les adresses inscrites dans l'en-tête Internet pour acheminer le datagramme vers sa destination. La sélection d'un chemin partant de la source vers la destination est appelée le routage.

Les modules Internet exploitent des champs de l'en-tête Internet pour fractionner et réassembler les datagrammes Internet lorsque le réseau à traverser n'accepte que des paquets de taille plus réduite.

Le modèle de fonctionnement est qu'il existera un module Internet dans chaque hôte concerné par la communication Internet ainsi que dans chaque routeur situé sur le chemin du datagramme. Ces modules partagent un certain nombre de règles communes pour l'interprétation des champs d'adresse et pour la fragmentation et le réassemblage des datagrammes Internet. De plus, ces modules (surtout dans les routeurs) disposeront de fonctions permettant de prendre des décisions de routage ainsi que quelques autres fonctions.

Le protocole Internet considère chaque datagramme Internet comme une entité indépendante et sans relation aucune avec d'autres datagrammes. Il n'y a dans ce concept aucune notion de circuit ou de communication (ni virtuelle ni d'aucun ordre).

Le protocole Internet utilise quatre mécanismes clefs pour procurer le service promis : Type de Service, Durée de Vie, Options, et Checksum d'en-tête.

Le Type de Service indique la qualité du service désiré. Le type de service est un ensemble générique de paramètres qui caractérisent les choix de service disponibles sur le réseau qui supporte la communication Internet. Cette indication de type de service sera utilisée par les routeurs pour commuter les paramètres de transmission actuels d'un réseau particulier, le réseau à utiliser sur le segment suivant, ou pour spécifier le routeur suivant lors du routage d'un datagramme.

La Durée de Vie indique une limite haute pour la durée d'existence d'un datagramme dans le réseau. Elle est initialisée par l'émetteur du datagramme et décrémentée par les éléments actifs situés sur le chemin que parcourt le datagramme. Si cette durée de vie atteint la valeur zéro avant que le datagramme Internet n'atteigne sa destination, ce dernier sera détruit. Cette durée de vie peut être vue comme une temporisation d'autodestruction du datagramme.

Les Options permettent le transport de signaux de contrôle utiles voire nécessaires dans certaines situations particulières mais secondaire pour la fonction essentielle de la communication. Les options permettent par exemple le marquage temporel, le codage de sécurité, et des commandes de routage spéciales.

Le Checksum d'en-tête permet de vérifier que les informations ajoutées par un module Internet ont été correctement transmises. Les données peuvent néanmoins contenir des erreurs. Si le Checksum échoue, le datagramme Internet est immédiatement rejeté par l'entité qui l'a reçu.

Le protocole Internet ne prend absolument pas en charge le contrôle d'intégrité des données transportées. Il n'intègre aucun mécanisme d'acquittement ni "bout en bout" ni "segment par segment". Aucun contrôle d'erreur n'est effectué sur les données, lequel sera à la charge des modules supérieurs, seule l'en-tête Internet est contrôlée. Il n'y a aucun mécanisme de retransmission de paquet. Il n'y a aucun mécanisme de contrôle de flux.

Les erreurs détectées pourront être signalées via l'Internet Control Message Protocol (ICMP) [3] implémenté dans le module Internet.


Précédent - Suivant - Retour au sommaire