Groupe de travail Réseau	A. Conta, Lucent	
Request for Comments : 2590	A. Malis, Ascend	
Catégorie : En cours de normalisation	M. Mueller, Lucent	
Traduction claude Brière de L’Isle	mai 1999	

Spécification de la transmission de paquets IPv6 sur des réseaux en relais de trame

Statut de ce mémoire
Le présent document spécifie un protocole Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et des suggestions pour son amélioration. Prière de se reporter à l’édition actuelle du STD 1 "Normes des protocoles officiels de l’Internet" pour connaître l’état de normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.

Notice de copyright
Copyright (C) The Internet Society (1999). Tous droits réservés.

Résumé
Le présent mémoire décrit les mécanismes de transmission des paquets IPv6 sur les réseaux en relais de trame.

Table des Matières
1. Introduction	1
2. Unité de transmission maximum	2
3. Format de trame IPv6	2
4. Autoconfiguration sans état	4
4.1 Génération du champ "Mid"	5
5. Adresses de liaison locale	6
6. Transposition d’adresse – envoi individuel, diffusion groupée	6
7. Envoi des messages de découverte de voisin	8
8. Réception des messages de découverte de voisin	9
9. Considérations pour la sécurité	9
10. Remerciements	9
11. Références	9
12. Adresse des auteurs	10
13. Déclaration complète de droits de reproduction	10

1.	Introduction

Le présent document spécifie le format de trame pour la transmission de paquets IPv6 sur les réseaux en relais de trame, la méthode de formation d’adresses IPv6 de liaison locale sur des liaisons en relais de trame, et la transposition des adresses IPv6 en adresses de relais de trame. Il spécifie aussi le contenu de l’option Source/cible de couche liaison utilisée dans les messages de découverte de voisin [RFC2461] et de découverte inverse de voisin [RFC3122] lorsque ces messages sont transmis sur une liaison en relais de trame. Il fait partie d’un ensemble de spécifications qui définissent des mécanismes IPv6 pour les supports multi accès non en diffusion (NBMA, Non Broadcast Multi Access) [RFC2491], [RFC2492], et un ensemble plus large qui définit de tels mécanismes pour les couches liaisons spécifiques [RFC2464], [RFC2467], [RFC2472], [RFC2492], etc...

Les informations du présent document s’appliquent aux appareils (DTE, data terminal equipment) en relais de trame qui servent de stations d’extrémité sur un réseau public ou privé en relais de trame (par exemple, fourni par un exploitant public ou une administration des télécommunications). Les stations terminales de relais de trame peuvent être des hôtes ou routeurs IPv6. Dans le présent document,  on les appelle des nœuds.

Dans un réseau en relais de trame, un certain nombre de circuits virtuels forment les connexions entre les stations (nœuds) rattachées. L’ensemble résultant d’appareils interconnectés forme un groupe privé de relais de trame qui peut être pleinement interconnecté avec un "maillage" complet de circuits virtuels, ou seulement partiellement interconnecté. Dans l’un et l’autre cas, chaque circuit virtuel est identifié de façon univoque à chaque interface (carte) de relais de trame par un identifiant de connexion de liaison de données (DLCI, Data Link Connection Identifier). Dans la plupart des circonstances, les DLCI ont une signification strictement locale pour chaque interface de relais de trame.

Un circuit virtuel de relais de trame agit comme une liaison virtuelle (qu’on appelle aussi une liaison logique) avec ses propres paramètres de liaison, distincts des paramètres des autres circuits virtuels établis sur le même fil ou fibre. De tels paramètres sont la taille maximum de trame d’entrée/sortie, le débit entrant/sortant demandé/accepté, le débit entrant/sortant acceptable, la taille de salve entrante/sortante, le taux de trame entrante/sortante.

Par défaut, un DLCI fait 10 bits de long. Les spécifications de relais de trame définissent aussi des DLCI de 16, 17, ou 23  bits. Le premier n’est pas utilisé, mais les deux derniers sont suggérés pour les circuits virtuels commutés (SVC, Switched Virtual Circuit) .

Les circuits virtuels en relais de trame peuvent être créés administrativement comme circuits virtuels permanents (PVC, Permanent Virtual Circuits) ou de façon dynamique comme circuits virtuels commutés (SVC). Les mécanismes définis dans le présent document sont destinés à s’appliquer aux circuits virtuels aussi bien permanents que commutés, qu’ils soient en point à point ou en point à multipoint.

Les mots clés "DOIT", "NE DOIT PAS", "EXIGE", "DEVRA", "NE DEVRA PAS, "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDE", "PEUT", et "FACULTATIF" dans ce document sont à interpréter comme décrit dans la [RFC2119].

2.	Unité de transmission maximum

La MTU IPv6 minimum est définie dans la [RFC2460].

En général, les appareils en relais de trame sont configurés à avoir une taille de trame maximum d’au moins 1600 octets. Donc, la taille de MTU IPv6 par défaut d’une interface en relais de trame est considérée comme étant de 1592.

Une taille de trame plus petite que la taille par défaut peut être configurée mais bien sûr, pas plus petite que la MTU IPv6 minimum.

Une taille adéquate de trame de relais de trame supérieure à la MTU IPv6 par défaut peut être configurée pour éviter la fragmentation. La taille de trame maximum est contrôlée par les mécanismes de génération de CRC (contrôle de redondance cyclique) employés au niveau de HDLC. Un CRC16 va protéger les trames jusqu’à une longueur de 4096 octets, ce qui réduit la taille maximum effective à approximativement 4088 octets. Une taille de trame désirée supérieure (comme celle utilisée par FDDI ou un anneau à jetons) exigerait un mécanisme de CRC32, ce qui n’est pas encore largement utilisé et n’est pas obligatoire pour les systèmes de relais de trame conformes aux normes du Frame Relay Forum et de l’UIT-T.

En général, si les couches supérieures fournissent des mécanismes adéquats de protection/détection d’erreur, les mises en œuvre peuvent permettre de configurer une liaison en relais de trame avec une taille de trame supérieure à 4080 octets, mais avec un mécanisme moindre de protection/détection d’erreur à la couche liaison. Cependant, parce que IPv6 s’appuie sur la détection d’erreur de couche supérieure et inférieure, la configuration de la MTU IPv6 à une valeur supérieure à 4080 est fortement déconseillée.

Bien qu’un circuit en relais de trame permette la définition de tailles de trame maximum distinctes pour l’entrée et la sortie, à des fins de simplification, la présente spécification suppose la symétrie, c’est-à-dire, la même MTU pour l’entrée et la sortie.

De plus, les mises en œuvre peuvent limiter l’établissement de la taille maximum de la trame de relais de trame au niveau de l’interface (liaison, ou carte) ce qui est alors mis en application sur tous les PVC ou SVC de cette interface (sur cette liaison, ou carte). Pour un SVC, le paramètre de taille maximum de trame négocié durant l’établissement de circuit ne va pas excéder la taille de trame maximum configurée.

3.	Format de trame IPv6

L’encapsulation de trame IPv6 pour le relais de trame (aussi bien pour les PVC que les SVC) suit la [RFC2427], qui permet qu’un VC porte des paquets IPv6 avec des paquets d’autres protocoles. Le format de trame NLPID est utilisé, dans lequel le NLPID IPv6 a une valeur de 0x8E :

            0                       1                       (Octets)
           +-----------------------+-----------------------+
(Octets)0  |                                               |
           /                Adresse Q.922                  /
           /           (longueur 'n' égale 2 ou 4)         /
           |                                               |
           +-----------------------+-----------------------+
        n  | Contrôle (UI) 0x03    |      NLPID  0x8E      |  NLPID
           +-----------------------+-----------------------+  indiquant
      n+2  |                       .                       |  IPv6
           /                       .                       /
           /                 paquet IPv6                   /
           |                       .                       |
           +-----------------------+-----------------------+
           |                                               |
           +                      FCS                      +
           |                                               |
           +-----------------------+-----------------------+

"n" est la longueur de l’adresse Q.922 qui peut être de 2 ou 4 octets.

La représentation Q.922 d’un DLCI (en ordre canonique – le premier bit est mémorisé dans le bit de moindre poids, c’est-à-dire, le bit de droite d’un octet dans la mémoire) [RFC2469] est la suivante :

            7     6     5     4     3     2     1     0      (ordre des bits)
           +-----+-----+-----+-----+-----+-----+-----+-----+
(octet) 0  |            DLCI(poids fort)       |  0  |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----+
        1  |  DLCI(moindre poids)  |  0  |  0  |  0  |  1  |
           +-----+-----+-----+-----+-----+-----+-----+-----+

DLCI de 10 bits

            7     6     5     4     3     2     1     0      (ordre des bits)
           +-----+-----+-----+-----+-----+-----+-----+-----+
(octet) 0  |            DLCI(poids fort)       |  0  |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----+
        1  |  DLCI                 |  0  |  0  |  0  |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----+
        2  |             DLCI(moindre poids)         |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----+
        3  |   non utilisé (mis à 0)           |  1  |  1  |
           +-----+-----+-----+-----+-----+-----+-----+-----+

DLCI de 17 bits

            7     6     5     4     3     2     1     0      (ordre des bits)
           +-----+-----+-----+-----+-----+-----+-----+-----+
(octet) 0  |            DLCI(poids fort)       |  0  |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----|
        1  |  DLCI                 |  0  |  0  |  0  |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----+
        2  |             DLCI                        |  0  |
           +-----+-----+-----+-----+-----+-----+-----+-----+
        3  |       DLCI (moindre poids)        |  0  |  1  |
           +-----+-----+-----+-----+-----+-----+-----+-----+

DLCI de 23 bits

L’encapsulation de messages de données ou de contrôle échangés par les divers protocoles qui utilisent l’encapsulation SNAP (avec leurs propres PID) n’est pas affectée. Le codage de l’identifiant de protocole IPv6 dans de tels messages DOIT être fait conformément aux spécifications de ces protocoles, et de la [RFC1700].

4.	Autoconfiguration sans état

Un identifiant d’interface [RFC2373] pour une interface de relais de trame IPv6 doit être unique sur la liaison de relais de trame [RFC2373], et doit être unique sur chacune des liaisons virtuelles représentées par les VC se terminant sur l’interface.

L’identifiant d’interface pour l’interface de relais de trame est généré en local par le module IPv6.

Chaque circuit virtuel d’un réseau en relais de trame est identifié de façon univoque sur une interface de relais de trame par un DLCI. De plus, un DLCI peut être vu comme une identification du point d’extrémité d’un circuit virtuel sur une interface de relais de trame. Comme chaque VC en relais de trame est configuré ou établi séparément, et agit comme une liaison virtuelle indépendante des autres VC du réseau, ou de l’interface, liaison, fil ou fibre, il semble avantageux de voir chaque point de terminaison de VC sur l’interface de relais de trame comme une "pseudo-interface" ou "interface logique" superposée à l’interface de relais de trame. De plus, il semble avantageux d’être capable de générer et associer une adresse IPv6 autoconfigurée (incluant une adresse IPv6 de liaison locale) pour chaque "pseudo-interface", c’est-à-dire, point d’extrémité d’un VC, c’est-à-dire, à chaque DLCI d’une interface de relais de trame.

Afin d’obtenir les avantages décrits ci-dessus, les mécanismes spécifiés dans ce document suggèrent de construire l’identifiant d’interface de relais de trame à partir de trois champs distincts (Figure1) :
(a)	Le champ "bits EUI"  : les bits 6 et 7 du premier octet, représentant respectivement les bits EUI-64 "universel/local" et "individuel/groupe" convertis à l’usage de IPv6. Le premier est réglé à zéro pour refléter que la valeur de l’identifiant d’interface de 64 bits a une signification locale [RFC2373]. Le dernier est réglé à 0 pour indiquer l’adresse d’envoi individuel [RFC2373].
(b)	Le champ "Mid" : champ de 38 bits qui est généré dans le but d’ajouter l’unicité de l’identifiant d’interface.
(c)	Le champ "DLCI"  : champ de 24 bits qui PEUT contenir une valeur de DLCI de 10, 17, ou 23 bits qui DOIT être étendu avec des zéros jusqu’à 24 bits. Un identifiant d’interface fondé sur DLCI -- qui contient un DLCI valide -- DEVRAIT être généré par suite de la réussite de l’établissement d’un VC -- PVC ou SVC.

Si un DLCI n’est pas connu, le champ DOIT être réglé à la valeur"DLCI non spécifié" qui consiste à régler chacun des 24  bits à 1.

Comme les DLCI sont locaux pour un nœud de relais de trame, il est possible d’avoir des circuits virtuels de relais de trame distincts au sein d’un réseau en relais de trame qui soient identifiés par les mêmes valeurs de DLCI.

             7     6     5     4     3     2     1     0   (ordre des bits)
            +-----+-----+-----+-----+-----+-----+-----+-----+
(Octets) 0  |                                   |"EUI bits" |
            +                                   +-----+-----+
         1  |                                               |
            +                                               +
         2  |                   "Mid"                       |
            +                                               +
         3  |                                               |
            +                                               +
         4  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+
         5  |                                               |
            +                                               +
         6  |                   "DLCI"                      |
            +                                               +
         7  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+

Figure 1 : Identifiant de pseudo-interface de relais de trame

La détection d’adresse dupliquée spécifiée dans la [RFC2462] est utilisée de façon répétée durant le processus de génération d’identifiant d’interface et d’adresse de liaison locale, jusqu’à ce que l’identifiant généré et par conséquent, l’adresse de liaison locale, soit unique sur la liaison -- VC --.

4.1	Génération du champ "Mid"

Le "Mid" peut être généré de plusieurs façons. La présente spécification suggère deux mécanismes :
(b.1)	"Utilisation de numéros administratifs locaux"  : le "Mid" est rempli avec le résultat de la fusion de :
(b.1.1)	Un nombre aléatoire long de 6 bits (Figure 2).
(b.1.2)	L’identifiant de nœud de relais de trame -- 16 bits -- est une valeur administrée par l’usager utilisée pour identifier localement un nœud en relais de trame (Figure 2).
(b.1.3)	L’identifiant de liaison en relais de trame -- 16 bits – est une représentation numérique de l’interface ou liaison de relais de trame (Figure 2).

             7     6     5     4     3     2     1     0  (ordre des bits)
            +-----+-----+-----+-----+-----+-----+-----+-----+
(Octets) 0  |         Numéro aléatoire          |    MBZ    |
            +-----------------------------------+-----+-----+
         1  |                                               |
            +      Identifiant de nœud en relais de trame   +
         2  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+
         3  |                                               |
            +  Identifiant de liaison en relais de trame    +
         4  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+
         5  |                                               |
            +                                               +
         6  |                    "DLCI"                     |
            +                                               +
         7  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+

Figure 2 : Identifiant de pseudo-interface de relais de trame

ou,
(b.2)	"Utilisation de l’adresse de relais de trame – de numéros E.164 [E164], X.121 [X25] ou d’adresse NSAP [NSAP]"
Si une interface de relais de trame a un numéro E.164 ou X.121, ou une adresse NSAP, le champ "Mid" DOIT être rempli avec un nombre qui en résulte comme suit : le nombre représenté par le codage décimal codé en binaire (BCD, Binary Coded Decimal) du numéro E.164 ou X.121, ou le codage en binaire de l’adresse NSAP est tronqué à 38 bits (Figure 3). Comme l’identifiant d’interface de relais de trame a une signification "locale", l’utilisation d’une telle valeur n’a pas d’autre objet pratique que d’ajouter à l’unicité de l’identifiant d’interface sur la liaison. Donc, la troncature peut être effectuée sur les bits de poids fort ou sur ceux de moindre poids. Si la troncature sur les bits de poids fort ne donne pas l’unicité sur la liaison – peut être que la valeur du DLCI n’est pas unique – cela signifie très vraisemblablement que le VC s’étend sur plus qu’une zone de destination nationale et/ou internationale pour un numéro E.164 par exemple, et donc que la troncature des bits de moindre poids devrait être effectuée ensuite, ce qui va très probablement assurer l’unicité désirée.

             7     6     5     4     3     2     1     0     (ordre des bits)
            +-----+-----+-----+-----+-----+-----+-----+-----+
(Octets) 0  |                                   |    MBZ    |
            +                                   +-----+-----+
         1  |                                               |
            +          E.164, X.121 (codage en BCD)         +
         2  |               ou adresse NSAP                 |
            +                                               +
         3  |             (tronqué à 38 bits)               |
            +                                               +
         4  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+
         5  |                                               |
            +                                               +
         6  |                    "DLCI"                     |
            +                                               +
         7  |                                               |
            +-----+-----+-----+-----+-----+-----+-----+-----+

Figure 3 : Identifiant de (Pseudo) interface de relais de trame

5.	Adresses de liaison locale

L’adresse IPv6 de liaison locale [RFC2373] pour une interface de relais de trame IPv6 est formée en ajoutant devant l’identifiant d’interface, formé comme défini ci-dessus, le préfixe FE80::/64 [RFC2373].

       10 bits            54 bits                  64 bits
     +----------+-----------------------+--------------------------------+
     |1111111010|         (zéros)       |Ident. interface relais de trame|
     +----------+-----------------------+--------------------------------+

6.	Transposition d’adresse – envoi individuel, diffusion groupée

La procédure pour transposer les adresses IPv6 en adresses de couche liaison est décrite dans la [RFC2461]. De plus, les extensions à la découverte de voisin (ND, Neighbor Discovery) qui permettent la transposition des adresses de couche liaison en adresses IPv6 sont définies comme découverte inverse de voisin (IND, Inverse Neighbor Discovery) dans la [RFC3122]. Le présent document définit les formats des champs d’adresse de couche liaison utilisés par ND et IND. La présente spécification ne définit pas une transposition algorithmique des adresses IPv6 de diffusion groupée en adresses de couche liaison de relais de trame.

L’option Adresse de couche liaison de source/cible utilisée dans les messages de découverte de voisin et de découverte inverse de voisin pour une liaison de relais de trame suit les règles générales définies par la [RFC2461]. Les adresses IPv6 peuvent transposer deux types d’identifiants équivalents aux adresses de couche liaison : les DLCI, et les adresses de relais de trame. Donc, pour le relais de trame, le présent document définit deux formats distincts pour le champ Adresse de couche liaison des messages ND et IND :

(a)	Format DLCI – utilisé dans les messages ND et/ou IND sur les VC qui ont été établis avant l’échange de messages ND ou IND – pour la plupart, des PVC. L’utilisation sur les SVC a un sens avec les messages de découverte inverse de voisin [RFC3122] si IND est employé après la réussite de l’établissement d’un SVC pour rassembler des informations sur les autres adresses IPv6 allouées au nœud distant et à ce SVC.

(b)	Format d’adresse de relais de trame – utilisé principalement avant d’établir un nouveau SVC, pour avoir la transposition de l’identifiant du nœud de relais de trame distant (son adresse de couche liaison) en une certaine adresse IPv6.

Note : Une mise en œuvre peut détenir les deux types d’identifiants de couche liaison dans l’antémémoire de découverte de voisin. De plus, en cas de VC multiples entre deux nœuds, l’antémémoire de découverte de voisin d’un des nœuds peut détenir une transposition des adresses IPv6 d’un des nœuds distants avec chacun des DLCI qui identifient les VC. Les mécanismes qui dans une telle mise en œuvre feraient la distinction entre la transposition de l’antémémoire de découverte de voisin d’une adresse IPv6 en "format d’adresse de relais de trame" et un "format DLCI" d’adresse de couche liaison, ou entre plusieurs transpositions en adresses au "format DLCI" sortent du domaine d’application de la présente spécification. L’utilisation du bit "O" (outrepasser) dans les messages d’annonce qui contiennent les formats ci-dessus d’adresse de couche liaison DEVRAIENT être cohérente avec les spécifications de la [RFC2461]. De plus, cela devrait être cohérent par rapport au type du format d’adresse de couche liaison : une mise en œuvre devrait remplacer un format d’adresse dans son antémémoire de découverte de voisin  par le même type de format d’adresse.

Le "format DLCI" est défini comme suit :

              7     6     5     4     3     2     1     0    (ordre des bits)
             +-----+-----+-----+-----+-----+-----+-----+-----+
          0  |                      Type                     |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          1  |                     Longueur                  |
             +-----+-----+-----+-----+-----+-----+-----+-----+

avec un DLCI (adresse Q.922) codé comme valeur d’option :

              7     6     5     4     3     2     1     0    (ordre des bits)
             +-----+-----+-----+-----+-----+-----+-----+-----+
          2  |                                   |  1  |  1  |
             +             non utilisé           +-----+-----+
          3  |                                               |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          4  |            DLCI(poids fort)       |  0  |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          5  |  DLCI(moindre poids)  |  0  |  0  |  0  |  1  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          6  |                                               |
             +                   Bourrage                    +
          7  |                   (zéros)                     |
             +-----+-----+-----+-----+-----+-----+-----+-----+
DLCI de 10 bits

              7     6     5     4     3     2     1     0    (ordre des bits)
             +-----+-----+-----+-----+-----+-----+-----+-----+
          2  |                                   |  1  |  1  |
             +             non utilisé           +-----+-----+
          3  |                                               |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          4  |            DLCI(poids fort)       |  0  |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          5  |  DLCI                 |  0  |  0  |  0  |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          6  |             DLCI(moindre poids)         |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          7  |     non utilisé (à 0)             |  1  |  1  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
DLCI de 17 bits

              7     6     5     4     3     2     1     0    (ordre des bits)
             +-----+-----+-----+-----+-----+-----+-----+-----+
          2  |                                   |  1  |  1  |
             +            non utilisé            +-----+-----+
          3  |                                               |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          4  |            DLCI(poids fort)       |  0  |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----
          5  |  DLCI                 |  0  |  0  |  0  |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          6  |             DLCI                        |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          7  |       DLCI (moindre poids)        |  0  |  1  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
DLCI de 23 bits

Champs d’option :

Type	1 pour une adresse de couche liaison de source.
	2 pour une adresse de couche liaison de cible.

Longueur : Longueur de l’option (incluant les champs Type et Longueur) en unités de 8 octets. Elle a la valeur 1.

Adresse de couche liaison : DLCI codé comme une adresse Q.922.

Description : Le champ de valeur d’option "Format DLCI" a deux composants :
(a)	Type d’adresse – codé dans les deux premiers bits des deux premiers octets. Les deux bits sont réglés à 1 pour indiquer le format DLCI. Le reste des bits des deux premiers octets n’est pas utilisé – ils DOIVENT être réglés à zéro à l’émission et DOIVENT être ignorés par le receveur.
(b)	DLCI – codé comme une adresse Q.922 bourrée de zéros jusqu’au dernier des 6 octets disponibles pour le champ entier d’adresse de couche liaison de ce format.

Le "format d’adresse de relais de trame" est défini comme suit :

              7     6     5     4     3     2     1     0    (ordre des bits)
             +-----+-----+-----+-----+-----+-----+-----+-----+
          0  |                      Type                     |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          1  |                     Longueur                  |
             +-----+-----+-----+-----+-----+-----+-----+-----+

avec un numéro E.164, X.121, ou une adresse NSAP codé comme valeur d’option :

              7     6     5     4     3     2     1     0    (ordre des bits)
             +-----+-----+-----+-----+-----+-----+-----+-----+
          2  |            Taille                 |  1  |  0  |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          3  |            E.164 ou X.121, ou                 |
             +---      numéro de famille d’adresse NSAP   ---+
          4  |               (Numéros alloués)               |
             +-----+-----+-----+-----+-----+-----+-----+-----+
          5  |                                               |
             /      Numéro E.164, ou X.121 (codé en BCD)     /
             /               or adresse NSAP                 /
    4+taille |                                               |
             +-----+-----+-----+-----+-----+-----+-----+-----+
    5+taille |                                               |
             /                   Bourrage                    /
             /                    (zéros)                    /
 8*Longueur-1|                                               |
             +-----+-----+-----+-----+-----+-----+-----+-----+

Champs d’option :

Type	1 pour une adresse de couche liaison de source.
	2 pour une adresse de couche liaison de cible.

Longueur :	Longueur de l’option (incluant les champs Type et Longueur) en unités de 8 octets. Elle peut avoir la valeur :
2 -- pour les numéros E.164, ou X.121 ou les adresses NSAP pas plus longues que 11 octets [E164], [X25], [NSAP].
3 -- pour les adresses NSAP de plus de 11 mais pas de plus que 19 octets.
4 -- pour les adresses NSAP plus longues que 19 octets (pas plus longues que le maximum d’adresse NSAP) [NSAP].

Adresse de couche liaison :	Le numéro E.164, X.121, codé en décimal codé en binaire (BCD, Binary Coded Decimal), ou l’adresse NSAP.

Description : La valeur de l’option "Adresse de relais de trame" a trois composants :
(a)	Type d’adresse – codé dans les deux premiers bits du premier octet. Le premier bit est à 0, le second bit est mis à 1.
(b)	Taille – codée sur les six bits (de poids fort) du premier octet. La valeur maximum du champ est la taille maximum des adresses E.164, X.121, ou NSAP.
(c)	Numéro de famille d’adresse – numéro alloué pour la famille d’adresses E.164, X.121, ou NSAP [RFC1700].
(d)	Numéro E.164, X.121, -- codé en BCD (deux chiffres par octet). Si le numéro E.164, ou X.121 a un nombre pair de chiffres, le codage va remplir tous les octets – la moitié du nombre de chiffres. Si le numéro E.164, ou X.121 a un nombre impair de chiffres, le chiffre de moindre poids remplit seulement la moitié d’un octet – il est placé dans les 4 premiers bits du dernier octet du codage BCD du numéro E.164, ou X.121. Le reste du champ jusqu’au dernier octet des 11 octets disponibles est bourré avec des zéros.

Adresse NSAP – Elles est bourrée avec des zéros si elle ne tient pas dans un nombre d’octets qui fasse de la longueur de l’option un multiple pair de 8 octets.

7.	Envoi des messages de découverte de voisin

Les réseaux en relais de trame ne fournissent pas de mécanismes natif de diffusion groupée de couche de liaison. Pour le fonctionnement correct du mécanisme de découverte de voisin, la diffusion groupée de couche de liaison doit être émulée.

Pour émuler la diffusion groupée pour la découverte de voisin (ND) le nœud DOIT envoyer des trames portant des paquets ND en diffusion groupée à tous les VC sur une interface de relais de trame. Cela s’applique aux messages ND adressés aux adresses de diffusion groupe aussi bien de tous les nœuds que des nœuds sollicités. Cette méthode fonctionne bien avec les PVC. Un maillage de PVC PEUT être configuré et dédié seulement au trafic de diffusion groupée. Une solution de remplacement à un maillage de PVC est un ensemble de PVC en point à multipoint.

8.	Réception des messages de découverte de voisin

Si un message de sollicitation de découverte de voisin reçu par un nœud contient l’option Adresse de source de couche de liaison avec un DLCI, le message DOIT subir le prétraitement spécifique du relais de trame requis pour l’interprétation correcte du champ durant le processus moteur du protocole de ND. Ce traitement est effectué avant que le message de découverte de voisin soit traité par le moteur de protocole de découverte de voisin.

La motivation de ce traitement est la signification locale des champs de DLCI dans le message de découverte de voisin : la signification du DLCI au nœud envoyeur est différente de celle du DLCI au nœud receveur. En d’autres termes, le DLCI qui identifie le circuit virtuel en relais de trame chez l’envoyeur peut être différent du DLCI qui identifie le circuit virtuel au nœud receveur. De plus, le nœud envoyeur peut n’avoir pas connaissance de la valeur du DLCI chez le receveur. Donc, le prétraitement spécifique du relais de trame consiste à modifier le message de sollicitation de découverte de voisin reçu, en mémorisant dans l’option Adresse de source de couche de liaison la valeur de DLCI du circuit virtuel sur lequel la trame a été reçue, telle qu’en a connaissance le nœud receveur. La valeur de DLCI qui est mémorisée doit être codée sous le format approprié (voir les paragraphes précédents). Le passage de la valeur du DLCI du module de relais de trame au module de prétraitement de découverte de voisin est un choix de la mise en œuvre.

9.	Considérations pour la sécurité

Les mécanismes définis dans le présent document pour générer un identifiant d’interface de relais de trame IPv6 sont destinés à assurer l’unicité au niveau liaison/circuit virtuel. La protection contre la duplication est réalisée au moyen des mécanismes IPv6 de détection d’adresse autoconfigurée sans état dupliquée. La protection de la sécurité contre les falsifications ou les accidents au niveau des mécanismes décrits ici est fournie par les mécanismes de sécurité d’IPv6 [RFC2401], [RFC2402], [RFC2406] appliqués aux messages de découverte de voisin [RFC2461] ou de découverte inverse de voisin [RFC3122].

Pour éviter un échec de la vérification d’authentification IPsec, le prétraitement spécifique du relais de trame d’un message de sollicitation de découverte de voisin qui contient une option Adresse de source de couche liaison au format DLCI DOIT  être fait par le nœud receveur après qu’il a achevé le traitement de la sécurité IP.

10.	Remerciements

Merci à D. Harrington, et M. Merhar pour leur relecture du présent document et la fourniture de suggestions utiles. Merci aussi à G. Armitage pour sa relecture et ses suggestions. Un grand merci aussi à Thomas Narten pour ses suggestions pour l’amélioration du document.

11.	Références

[E164]	Recommandation UIT-T E.164, "Fonctionnement du réseau téléphonique et RNIS, numérotation, acheminement, et service mobile", 1991.

[NSAP]	ISO/CEI JTC1, "Systèmes de traitement de l’information – Communications de données – Définition du service réseau, Addendum 2 : Adressage à la couche réseau". Norme internationale 8348/Addendum 2, Genève 1988.

[RFC1700]	J. Reynolds et J. Postel, "Numéros alloués", STD 2, octobre 1994. (Historique, voir http://www.iana.org/numbers.html )

[RFC2119]	S. Bradner, "Mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence", BCP 14, mars 1997.

[RFC2373]	R. Hinden, S. Deering, "Architecture d'adressage IP version 6", juillet 1998. (Obsolète, voir RFC4291) (PS) 

[RFC2401]	S. Kent et R. Atkinson, "Architecture de sécurité pour le protocole Internet", novembre 1998. (Obsolète, voir RFC4301)

[RFC2402]	S. Kent et R. Atkinson, "En-tête d'authentification IP", novembre 1998. (Obsolète, voir RFC4302, 4305)

[RFC2406]	S. Kent et R. Atkinson, "Encapsulation de charge utile de sécurité IP (ESP)", novembre 1998. (Obsolète, voir RFC4303)

[RFC2427]	C. Brown, A. Malis, "Interconnexion multi protocole sur relais de trame", septembre 1998. (STD0055)

[RFC2460]	S. Deering et R. Hinden, "Spécification du protocole Internet, version 6 (IPv6) ", décembre  1998. (MàJ par 5095,6564  ; D.S)

[RFC2461]	T. Narten, E. Nordmark, W. Simpson, "Découverte de voisins pour IP version 6 (IPv6)", décembre 1998. (Obsolète, voir RFC4861) (D.S.)

[RFC2462]	S. Thomson, T. Narten, "Autoconfiguration d'adresse IPv6 sans état", décembre 1998. (Obsolète, voir RFC4862) (D.S.)

[RFC2464]	M. Crawford, "Transmission de paquets IPv6 sur réseaux Ethernet", décembre 1998. (P.S.)

[RFC2467]	M. Crawford, "Transmission de paquets IPv6 sur réseaux FDDI", décembre 1998. (P.S.)

[RFC2469]	T. Narten, C. Burton, "Avertissement sur l'ordre canonique des adresses de couche Liaison", décembre 1998. (Info.)

[RFC2470]	M. Crawford, T. Narten, S. Thomas, "Transmission des paquets IPv6 sur les réseaux en anneau à jetons", décembre 1998. (P.S.)

[RFC2472]	D. Haskin, E. Allen, "IP version 6 sur PPP", décembre 1998. (Obsolète, voir RFC5072, RFC5172) (P.S.)

[RFC2491]	G. Armitage et autres, "IPv6 sur réseaux en accès multiple sans diffusion (NBMA)", janvier 1999. (P.S.)

[RFC2492]	G. Armitage, P. Schulter, M. Jork, "IPv6 sur réseaux ATM", janvier 1999. (P.S.)

[RFC3122]	A. Conta, "Extensions à la découverte de voisin IPv6 pour la spécification de découverte inverse", juin  2001.

[X25]	ISO/CEI JTC1,"Technologies de l’information -- Communications de données – Protocole de couche paquet X.25 pour terminal de données", Norme internationale 8208, mars 1988.

12.	Adresse des auteurs

Alex Conta	Andrew Malis	Martin Mueller	
Lucent Technologies Inc.	Ascend Communications	Lucent Technologies Inc.	
300 Baker Ave, Suite 100	1 Robbins Rd	300 Baker Ave, Suite 100	
Concord, MA 01742	Westford, MA 01886	Concord, MA 01742	
USA	USA	USA	
téléphone : +1-978-287-2842	téléphone : +1-978-952-7414	téléphone : +1-978-287-2833	
mél : aconta@lucent.com 	mél : malis@ascend.com 	mél :  memueller@lucent.com 	

13.	Déclaration complète de droits de reproduction

Copyright (C) The Internet Society (1999). Tous droits réservés.

Ce document et les traductions de celui-ci peuvent être copiés et diffusés, et les travaux dérivés qui commentent ou expliquent autrement ou aident à sa mise en œuvre peuvent être préparés, copiés, publiés et distribués, partiellement ou en totalité, sans restriction d'aucune sorte, à condition que l'avis de copyright ci-dessus et ce paragraphe soit inclus sur toutes ces copies et œuvres dérivées. Toutefois, ce document lui-même ne peut être modifié en aucune façon, par exemple en supprimant le droit d'auteur ou les références à l'Internet Society ou d'autres organisations Internet, sauf si c'est nécessaire à l'élaboration des normes Internet, auquel cas les procédures pour les droits de reproduction définis dans les processus des normes pour l'Internet doivent être suivies, ou si nécessaire pour le traduire dans des langues autres que l'anglais.

Les permissions limitées accordées ci-dessus sont perpétuelles et ne seront pas révoquées par la Société Internet, ses successeurs ou ayants droit.

Ce document et les renseignements qu'il contient sont fournis "TELS QUELS" et l'INTERNET SOCIETY et l'INTERNET ENGINEERING TASK FORCE déclinent toute garantie, expresse ou implicite, y compris mais sans s'y limiter, toute garantie que l'utilisation de l'information ici présente n'enfreindra aucun droit ou aucune garantie implicite de commercialisation ou d'adaptation a un objet particulier.

Remerciement
Le financement de la fonction d’éditeur des RFC est actuellement fourni par la Internet Society.