Groupe de Travail sur les Réseaux
Requête pour Commentaires : RFC 894 - FR
STD : 41 
Catégorie : Standard 
 	Charles Hornig
Symbolics Cambridge Research Center
Avril 1984

traduction : N. Jourdan 
Ecole polytechnique de l'université de Nantes 	

Un Standard pour la Transmission des Datagrammes IP
sur les Réseaux Ethernet
A Standard for the Transmission of IP Datagrams
over Ethernet Networks

Note du traducteur 
Ce document est une traduction intégrale non officielle, mais sans ajouts (excepté cette note et celle de fin de document), sans commentaires et sans omissions, du RFC 894 tel qu'édité par son auteur, spécifiant un standard pour la transmission des datagrammes IP sur les réseaux Ethernet. L'auteur de cette traduction décline toute responsabilité sur l'utilisation de ce document et/ou sur d'éventuelles erreurs de traduction. 
Concernant les droits du traducteur : le traducteur renonce à ses droits sur la reproduction de ce document si l'ensemble de ces conditions est respecté : les reproductions doivent être complètes (contenant cette note), d'un seul tenant (un seul fichier ou un ensemble de pages physiquement reliées), sans aucune modification du contenu et réalisées à partir de la dernière version de ce document disponible gratuitement sur le site mentionné ci-après. 

Dernière version du document
http://abcdrfc.free.fr/

Adresse du traducteur 
M. Nicolas Jourdan 
3, Impasse du Clos des Pins 
30870 CLARENSAC 
France 
E-mail : njourdan@free.fr

Statut de ce Document 
Ce RFC spécifie une méthode standard d'encapsulation des datagrammes du Protocole Internet (IP) [1] sur un réseau Ethernet [2]. Ce RFC spécifie un protocole standard pour la communauté Internet - ARPA. 
  
Introduction
Ce document s'applique à Ethernet (10Mb/seconde, adresses sur 48 bits). La procédure pour la transmission des datagrammes IP sur l'Ethernet Expérimental (3Mb/s, adresses 8 bits) est décrite dans [3].
 
Format des trames
Les datagrammes IP sont transmis dans des trames Ethernet standards. Le champ type de la trame Ethernet doit contenir la valeur hexadécimale 0800. Le champ données contient l'en-tête IP immédiatement suivi des données IP.

La longueur minimale du champ de données d'un paquet émis sur Ethernet est de 46 octets. Si nécessaire, le champ de données devrait être complété par des octets nuls jusqu'à atteindre la taille minimale d'une trame Ethernet. Cet ajout en fin de paquet ne fait pas parti du paquet IP et n'est pas inclus dans le champ longueur totale de l'en-tête IP.
 
La longueur maximale du champ de données d'un paquet émis sur Ethernet est de 1500 octets, ainsi la longueur maximale d'un datagramme IP émis sur Ethernet est de 1500 octets. Les implémentations sont encouragées à supporter les paquets de longueur maximale. Les implémentations pour les passerelles doivent être prêtes à accepter des paquets de longueur maximale et à les fragmenter si nécessaire. Si un système ne peut pas recevoir des paquets de longueur maximale, il devrait commencer par décourager les autres d'envoyer de tels paquets, en utilisant par exemple l'option Taille Maximale du Segment de TCP (Maximum Segment Size) [4].
 
Note : les datagrammes sur Ethernet peuvent être plus long que la taille maximale des paquets par défaut de 576 octets sur Internet en général. Les hôtes connectés à Ethernet devraient se souvenir de cela lorsqu'ils envoient des datagrammes à des hôtes qui ne sont pas sur le même Ethernet. Envoyer des datagrammes plus petits peut être plus approprié afin d'éviter une fragmentation non nécessaire sur les passerelles intermédiaires. Merci de ce référer à [4] pour de plus amples informations sur ce point.
 
Mise en correspondance (Mapping) des adresses
La mise en correspondance des adresses Internet 32 bits avec les adresses Ethernet 48 bits peut être faite de différentes manières. Une table statique peut être utilisée ou alors une procédure de découverte dynamique.

Table Statique
Sur chaque hôte pourrait être installé une table de tous les autres hôtes du réseau local avec à la fois leurs adresses Ethernet et Internet.

Découverte Dynamique
La mise en correspondance des adresses Internet 32 bits avec les adresses Ethernet 48 bits pourrait être effectuée en utilisant le Protocole de Résolution d'Adresse (ARP, Address Resolution Protocol) [5]. Les adresses Internet sont affectées arbitrairement sur un même réseau Internet. Chaque implémentation d'hôte doit connaître sa propre adresse Internet et répondre aux paquets de Résolution d'Adresse Ethernet de façon appropriée. Il devrait aussi utiliser ARP pour traduire les adresses Internet en adresses Ethernet lorsque cela est nécessaire.

Adresse de diffusion collective (Broadcast Address)
L'adresse Internet de type broadcast (l'adresse de ce réseau avec la partie hôte de l'adresse entièrement constituée de uns binaires) devrait être mis en correspondance avec l'adresse de broadcast Ethernet (entièrement constituée de uns binaires, FF-FF-FF-FF-FF-FF en hexadécimal).
L'utilisation de la méthode de découverte dynamique ARP est fortement recommandée.
 
Formats "en fin de paquet" (Trailer Formats)
Quelques versions d'Unix 4.2bsd utilisent une méthode d'encapsulation différente afin d'obtenir de meilleures performances réseaux avec l'architecture de mémoire virtuelle du VAX. Les systèmes compatibles sur un même Ethernet peuvent utiliser ce format entre eux.
 
Aucun hôte n'est obligé d'implémenter cela, et aucun datagramme dans ce format ne devrait être envoyer à un hôte quelconque, sauf si l'émetteur sait que le récepteur sera capable de l'interpréter. Des détails sur l'encapsulation en fin de paquet peuvent être trouvés dans [6].
 
(Note : actuellement Unix 4.2bsd utilisera soit toujours l'encapsulation fin de paquet, soit jamais (pour un interface particulier), en fonction d'une option prise en compte au démarrage du système (boot-time option). Ceci est appelé à changer dans le futur. Unix 4.2bsd utilise aussi une adresse de broadcast Internet non standard avec une partie hôte de l'adresse entièrement à zéro, cela est aussi appelé à changer dans le futur.)
 
Ordre des octets
Comme décrit dans l'Appendice B des spécifications du Protocole Internet IP [1], le datagramme IP est transmis sur Ethernet comme une série d'octets de 8 bits.
 
Références
[1] J. Postel, "Protocole Internet" (Internet Protocol), RFC-791, USC/Information Sciences Institute, septembre 1981.
[2] "L'Ethernet - Un Réseau Local" (Ethernet - A Local Area Network), Version 1.0, Digital Equipment Corporation, Intel Corporation, Xerox Corporation, septembre 1980.
[3] J. Postel, "Un Standard pour la Transmission des Datagrammes IP sur les Réseaux Experimentaux Ethernet" (A Standard for the Transmission of IP Datagrams over Experimental Ethernet Networks), RFC-895, USC/Information Sciences Institute, avril 1984.
[4] J. Postel, "L'Option Taille Maximale des Segments de TCP et Sujets Similaires" (The TCP Maximum Segment Size Option and Related Topics), RFC-879, USC/Information Sciences Institute, novembre 1983.
[5] D. Plummer, "Un Protocole de Résolution d'Adresse Ethernet" (An Ethernet Address Resolution Protocol), RFC-826, Symbolics Cambridge Research Center, novembre 1982.
[6] S. Leffler et M. Karels, "Encapsulations en fin de paquet" (Trailer Encapsulations), RFC-893, Université de Californie à Berkeley, avril 1984.

NDT : Format de la trame Ethernet 

+-----------+--------------+----------+----------+-----------+----------+
| Préambule |   Adresse    | Adresse  | Type     | Données   | CRC      |
|           | destinataire | source   |          | 46 à 1500 |          |
| 8 octets  | 6 octets     | 6 octets | 2 octets | octets    | 4 octets |
+-----------+--------------+----------+----------+-----------+----------+

Préambule : 64 bits de synchronisation, alternance de 1 et 0 avec les deux derniers bits à 1.

Adresse destination : adresse physique (Ethernet) de la station devant recevoir la trame. Les trois premiers octets de cette adresse sont imposés par l'IEEE aux fabricants de contrôleurs, ce qui garantit son unicité. Il y a diffusion si tous les bits sont à 1.

Adresse source : adresse Ethernet de la station ayant émis la trame.
Type : identifie le protocole de niveau supérieur associé au paquet (Exemple : 0x0800 = IP, 0x0600 = XNS, 0x0806 = ARP, 0x8035 = RARP ... ces valeurs sont en hexadécimal). 

Données : les informations à transporter (ici, le datagramme IP et éventuellement des octets à zéro pour atteindre 46).

CRC : Contrôle de Redondance Cyclique (Cyclic Redundancy Check). C'est une somme de contrôle portant sur tout ce qui précède sauf le préambule.