Groupe de travail Réseau	Zaw-Sing Su, SRI International	
Request for Comments : 830	Octobre 1982	
Traduction Claude Brière de L’Isle		

Système réparti pour le service des noms Internet

La présente RFC propose un service de noms réparti pour l’Internet DARPA. Son objet est de concentrer la discussion sur ce sujet. On espère qu’un consensus général émergera, conduisant finalement à l’adoption d’une norme.

1.	Introduction

Pendant de nombreuses années, la convention de désignation ARPANET "<usager>@<hôte>" a servi à la communauté de ses utilisateurs pour son système de messagerie. La sous chaîne "<hôte>" a été utilisée pour d’autres applications d’utilisateur telles que le transfert de fichiers (FTP) et l’accès au terminal (Telnet). Avec l’arrivée de l’interconnexion des réseaux, cette convention de désignation a besoin d’être généralisée pour s’accommoder de l’inter réseautage. La convention de désignation de l’Internet [1] décrit une structure hiérarchique de désignation pour servir aux applications d’utilisateurs de l’Internet comme SMTP pour la messagerie électronique, FTP et Telnet pour le transfert de fichiers et l’accès au terminal. Elle fait partie intégrante de la généralisation des facilités réseau pour s’accommoder de l’inter réseautage.

La mise en œuvre de la convention de désignations de l’Internet exige l’établissement à la fois d’une autorité de désignation et d’un service de noms. Dans le présent document, on propose une architecture pour un système réparti pour le service de noms de l’Internet (SINS, System for Internet Name Service). On suppose que le lecteur est familiarisé avec [1], qui décrit la convention de désignation de l’Internet.

Le service des noms de l’Internet fournit un service réseau pour la résolution des noms et la négociation de ressource pour l’établissement de communications directes entre une paire de processus d’application de source et de destination. Le processus d’application de source est supposé être en possession du nom de la destination. Afin d’établir la communication, le processus d’application de source demande le service des noms. SINS résout le nom de destination pour son adresse réseau, et fournit la négociation pour les ressources réseau. À l’achèvement réussi du service de noms, le processus d’application de source fournit l’adresse de destination au service de transport pour établir une communication directe avec le processus d’application de destination.

2.	Généralités
2.1	Organisation du système
SINS est un système réparti pour le service de noms. Il consiste logiquement en deux parties : le service des noms de domaines et l’interface d’application (Figure 1). Le service des noms de domaine est un service réseau indépendant de l’application pour la résolution des noms de domaines. Cette résolution est fournie par la coopération d’un ensemble de serveurs de noms de domaine (DNS, domain name server). Au sein de chaque domaine est associé un DNS. Le lecteur se réfèrera à [2] pour la spécification d’un serveur de nom de domaine. Comme noté dans [1], un domaine est une entité administrative mais pas nécessairement topologique. Il est représenté dans les réseaux par son DNS associé. La résolution d’un nom de domaine résulte en l’adresse de son DNS associé.

   Processus d’application                      Processus d’application
   SINS   |                                             |
   -------|---------------------------------------------|-----  Interface
   |     AIP                                           AIP   |  d’application
   |      |                                             |    |  . . . . . . .
   |     DNS  - - -  DNS  - - -  DNS  - -  . . .  - -  DNS   |  Service des
   ----------------------------------------------------------- noms de domaine

Figure 1 : Séparation des interfaces d’application

L’interface d’application fournit des mécanismes pour la résolution au delà du domaine de destination et de la négociation pour assurer la disponibilité et la compatibilité des ressources. On appelle parfois cette négociation une négociation "que peux-tu m’offrir". L’interface d’application isole le service de nom de domaine de la dépendance de l’application. Elle permet donc de partager le service des noms de domaine entre diverses applications d’utilisateur.

L’interface d’application consiste en un ensemble de processus d’interface d’application (AIP, application interface process) un pour chaque domaine d’extrémité. Pour l’efficacité du fonctionnement, l’AIP est supposé combiné avec son DNS associé pour former un DNS d’extrémité (Figure 2).

   Processus d’application                      Processus d’application
            |                                             |
     SINS   |                                             |
     -------|---------------------------------------------|--------
     |                                                            |
     |     DNS  - - -  DNS  - - -  DNS  - -  . . .  - -  DNS      |
     |  d’extrémité                                    d’extrémité|
     --------------------------------------------------------------

Figure 2 : Distribution des composants du service de noms entre les domaines

Note  : Pour des raisons de fiabilité, plus d’un DNS par domaine peut être nécessaire. Ce peuvent être des DNS qui coopèrent ou des DNS identiques pour avoir une redondance. Dans l’un ou l’autre cas, on peut sans perte de substance voir logiquement l’association comme un seul DNS par domaine.

2.2	Résolution de domaine
Pour le service de noms, le processus d’application de source présente à son AIP local le nom de destination, et le service d’application qu’il demande. Pour la plupart des applications, le service d’application que demande le processus d’application de source sera le service qu’il offre. Le nom de destination est supposé pleinement qualifié sous la forme :

	<nom local>@<domaine>.<domaine>. ... .<domaine>

Les domaines désignés dans l’enchaînement sont en relation hiérarchique [1]. La chaîne de gauche à droite de noms simples dans l’enchaînement procède du domaine le plus spécifique au domaine le plus général. L’enchaînement de deux domaines,

		... .<domaine A>.<domaine B>. ...

implique que celui de gauche, le domaine A, est un membre immédiat (c’est-à-dire, un descendant de première génération) de celui de droite, le domaine B. Le nom simple le plus à droite désigne un domaine de niveau supérieur, un descendant à la première génération de l’univers de désignation.

Pour la résolution de domaine, l’AIP consulte le service de noms de domaines. Il présente le DNS colocalisé avec la spécification du domaine pleinement qualifié:

		<domaine>.<domaine>. ... .<domaine>

Les DNS qui participent à une résolution résolvent l’enchaînement depuis la droite. Le DNS d’extrémité de source résout le nom simple de droite et agit comme station pivot en interrogeant les autres DNS. Il résout le nom simple le plus à droite en l’adresse du DNS du domaine de niveau supérieur spécifié, puis interroge ce DNS avec une requête pour pousser plus loin la résolution. Lorsque il est interrogé, un DNS résout le prochain nom de domaine le plus à droite. Si la résolution réussit, un DNS intermédiaire peut avoir à faire un choix entre retourner l’adresse résultante ou transmettre la requête au prochain DNS pour continuer la résolution. Lorsque un DNS intermédiaire reçoit une réponse du prochain DNS, il doit répondre à la requête qu’il a reçue. Pour simplifier le protocole du service des noms de domaines, il n’est pas permis à un DNS intermédiaire d’agir comme station pivot pour la suite des interrogations.

2.3	Interface d’application
L’adresse du domaine d’extrémité de destination n’est en général pas suffisante pour que le processus d’application de source établisse une communication directe avec le processus d’application de destination. Afin d’établir une communication directe, un adressage plus poussé peut être nécessaire. Un adressage au delà du domaine d’extrémité de destination peut être nécessaire lorsque l’adressage du processus d’application ne peut pas être déduit de l’adresse du domaine d’extrémité. Pour assurer une telle capacité de déduction, il peut être nécessaire d’avoir un lien permanent et une convention de lien universelle, telle qu’une allocation de numéro d’accès TCP.

Au delà de l’adressage, la négociation de la disponibilité et de la compatibilité des ressources est souvent nécessaire. L’interface d’application fournit une capacité de négociation "que peux-tu m’offrir" entre les domaines d’extrémité de source et de destination. De tels mécanismes de négociation fournis dans cette construction incluent ceux de la disponibilité et de la compatibilité du service de transport, par exemple, TCP ou UDP, et du service d’application, par exemple, SMTP pour le transport de la messagerie. La disponibilité de tels services de négociation peut permettre des liens dynamiques et des variations dans la conception des systèmes.

L’interface d’application offre un service intégré pour diverses capacités de négociation "que peux-tu m’offrir".

2.4	Exemple
Supposons qu’une requête soit faite à ISID pour un transfert de fichier à distance utilisant NIFTP pour SRI-TSC. Le nom de domaine pour ISID est D.ISI.USC.ARPA,* et c’est TSC.SRI.ARPA pour SRI-TSC. La relation hiérarchique entre ces deux domaines est décrite à la Figure 3 ci-dessous. Le processus NIFTP (processus d’application) à ISID transmet le nom de domaine TSC.SRI.ARPA" à l’AIP local dans le domaine D pour le service de noms. L’AIP transmet le nom de domaine pleinement qualifié, "TSC.SRI.ARPA", à son DNS colocalisé pour la résolution de domaine. ARPA, le nom simple de droite, est supposé désigner un domaine de niveau supérieur. Le DNS de D reconnaît ce nom simple, le résout en l’adresse du DNS du domaine ARPA, et transmet la requête à ce DNS avec un pointeur sur le prochain domaine "SRI". Le DNS ARPA reconnaît "SRI" comme un de ses sous-domaines, résout l’adresse du DNS du sous-domaine. Il a à ce moment le choix entre retourner cette adresse au DNS d’extrémité de source et transmettre la requête au DNS de SRI.

                                 univers de désignation
                                      /          \
                               --- ARPA (DNS)
                             /       |
                           /        SRI (DNS)
                         /           |  \
                       USC (DNS)        TSC (DNS/AIP)
                        |                |
                        |          [TCP/FTP/RFT]
                       ISI (DNS)
                        |
                        D (DNS/AIP)
                      /   \
        [TCP/NIFTP/RFT]   [TCP/FTP/RFT]
                    |
                  usager

Note : Les noms de domaines utilisés dans cet exemples ne sont que pour l’illustration du schéma. L’allocation des noms de domaines sort du domaine d’application du présent document.

Si il retourne l’adresse, le DNS d’extrémité de source à D va continuer l’interrogation en transmettant la requête au DNS SRI. Lorsque le DNS de SRI détecte TSC comme le dernier domaine dans l’enchaînement, il résout l’adresse pour le DNS à TSC, et la retourne au DNS de source au domaine D. À réception d’une résolution de domaine réussie, le DNS de source retourne l’adresse obtenue à son AIP associé.

Comme l'AIP de destination est colocalisé à cette adresse, l’AIP de source est capable de transmettre une requête avec la désignation de service "TCP/NIFTP/RFT" pour la négociation "que peux tu m’offrir". En réalisant qu’au sein de TSC il n’y a pas de NIFTP mais que FTP est fourni pour le transfert de fichier à distance, l’AIP de destination va répondre en conséquence. Comme ISID offre aussi le service FTP, la négociation "que peux tu m’offrir" peut se conclure ave succès. La demande de l’usager pour le transfert de fichier peut donc être satisfaite.

3.	Composants système
3.1	Traitement de composant
Les deux composants de base répartis de SINS sont les DNS d’extrémité et le DNS intermédiaire. Un DNS d’extrémité est associé à chaque domaine d’extrémité. Un DNS intermédiaire est associé à un domaine sans aucun processus d’application associé.

Le DNS intermédiaire est assez simple. Il a la capacité de résolution pour traduire les noms simples des sous domaines de première génération en adresses de leur DNS associé. Il communique aussi avec d’autres DNS pour la résolution de domaines.

Un DNS d’extrémité consiste en un AIP et un DNS de source. Le DNS de source met en œuvre le mécanisme d’interrogation qui communique avec les autres DNS comme une station pivot d’interrogation. Il a aussi des capacités pour la résolution des domaines de niveau supérieur. Il répond aux requêtes provenant de l’AIP local pour la résolution de domaines (paragraphe 4.2.3).

La fonction majeure d’un AIP met en œuvre l’intelligence de la négociation "que peux-tu faire pour moi". Un module de communication réalise les échanges de la négociation entre les AIP de source et de destination (paragraphe 4.2.2). Comme interface entre les processus d’application et le DNS local, il doit aussi mettre en œuvre les capacités de communication pour les échanges avec le DNS et les processus d’application.

3.2	Bases de données pour la résolution des noms
Une base de données est associée à chaque module de résolution. La base de données associée à un domaine d’extrémité contient des correspondances de nom à adresse pour les domaines de niveau supérieur, les descendants de première génération de l’univers des désignations. Cela facilite la résolution par le DNS d’extrémité du nom simple de droite de la spécification d’un domaine pleinement qualifié.

La base de données associée à un domaine intermédiaire contient des correspondances de nom à adresse pour les sous domaines de première génération de ce domaine. Donc, les contenus de base de données requis parmi les bases de données de DNS intermédiaire sont disjoints, et les mises à jour sont locales.

On remarque aussi qu’avec la mise en œuvre du SINS, il n’y a pas besoin de normaliser le format de la base de données.

3.3	Mise en antémémoire
Les processus composants et les bases de données de résolution constituent la base du système du service des noms de l’Internet. Les composants répartis sont en relation selon la hiérarchie des domaines. Les bases de données associées aux domaines d’extrémité sont toutes identiques. Ne contenant que la correspondance de nom à adresse pour les domaines de niveau supérieur, la base de donnée de point d’extrémité devrait être d’assez petite taille. La nature disjointe des bases de données de DNS intermédiaire permet une mise à jour locale facile.

Cependant, les communications seront très inefficaces si le service des noms de l’Internet est appelé pour tout établissement de transaction. Une solution standard pour obvier une telle inefficacité est d’utiliser la mise en antémémoire.

La mise en antémémoire est un mécanisme qui réutilise les résultats des résolutions précédentes. Pour accélérer l’établissement de la communication, le résultat de la résolution est mémorisé pour les références futures. On n’incorpore pas la mise en antémémoire dans les dispositifs standard du SINS. Cependant, on suppose l’utilisation de la mise en antémémoire pour un fonctionnement efficace à la discrétion des mises en œuvre individuelles.

4.	Communications inter composant (protocoles du service des noms de l’Internet)

On présente dans cette section une spécification du format pour les correspondances entre diverses paires de composants. Pour les composants colocalisés, la communication devient interprocessus, et le format exact est moins important. Pour les communications inter hôtes, la spécification de format donnée ici définit un protocole du service des noms.

Les paires de composants en communication qui nous intéressent ici sont celles de processus d’application/AIP, AIP/DNS, et AIP/AIP. Les communications emploient des commandes requête/réponse. Une seule structure de commande est adoptée pour les trois paires, tandis que les communications entre une paire particulière peuvent employer un sous-ensemble de commandes. Une telle uniformité permet à la mise en œuvre un minimum de traitement et un maximum de partage de code.

La structure de base de commande commence par deux octets qui indiquent le type de commande et le nombre. Ils sont suivis par le nombre d’éléments indiqués. Le type d’un élément est indiqué dans son premier octet, suivi par une longueur de contenu d’un octet, et ensuite le contenu de l’élément. Les exigences de présence ou d’absence et d’ordre des éléments pour chaque paire de composant sont spécifiées dans la présente section.

Type de commande   Nombre d’éléments   Indicateur d’élément   Longueur de contenu   Contenu d’élément
          .
          .

Type de commande
Ce type codé en binaire indique si cette commande est une requête, une réponse affirmative, ou quelque autre type de réponse (voir à l’Appendice A les types de commandes et les codes correspondants). Cette spécification de type implique la présence ou l’absence et l’ordre des éléments suivants.

Nombre d’éléments
Ce nombre est exprimé en binaire. Il spécifie le nombre d’éléments qui suivent. Du fait de la possibilité d’une réponse multiple, ce nombre peut varier pour une commande particulière.

Indicateur d’élément
Cet indicateur définit le type d’élément. Les types possibles incluent le service, le nom, l’adresse, et le commentaire. Le type d’un élément implique la structure de son contenu.

Longueur de contenu
Cette spécification de longueur, en binaire, indique la longueur en octets du contenu qui suit. Le maximum qui peut être spécifié est 255, qui est donc la longueur maximale du contenu. Cependant, ce maximum peut aussi être contraint par la longueur totale de la commande (paragraphe 4.3).

Contenu de l’élément
Pour les différents éléments, les contenus sont :
Service 	Protocole de transport /protocole de service/type de service (ASCII). (Voir à l’Appendice A les identifiants standard pour les spécifications de service.)
Nom 	Chaîne de nom total ou partiel selon la convention de désignation de l’Internet [1] (ASCII).
Adresse 	L’adresse est présentée en binaire. Dans ce mémoire, des guillemets, " ", sont utilisés autour des valeurs en décimal séparées par une espace pour représenter des octets en forme binaire. L’analyse de l’adresse est impliquée par le protocole de transport spécifié. Dans le cas de TCP, les quatre premiers octets donnent les 32 bits de l’adresse IP, le cinquième octet le numéro de protocole spécifique d’IP, et le sixième octet le numéro d’accès TCP ou UDP pour le service d’application.
Commentaire	L’élément est essentiellement facultatif. Sa présence peut permettre à un serveur intermédiaire de passer des commentaires à l’usager final. Des commentaires d’erreur expliquant un échec de résolution en sont un exemple.

4.2	Spécification de commande
On définit ici les commandes du service de noms pour les diverses paires de communication.

4.2.1	Communication Processus d’application/AIP
Du point de vue du service de noms, il n’est pas besoin de communication entre l’AIP et un processus d’application à la destination. On discute donc ici des communications au domaine d’origine.

Un processus d’application initie un dialogue en faisant une requête de service de noms à son AIP local. Il fournit le service d’application demandé et un nom de destination à résoudre.

Requête :
Type de commande   Nombre d’éléments   
Indicateur de service   Longueur   Protocole de Transport/Service/Type de service   
Indicateur de nom   Longueur de nom   Chaîne de nom

Exemples :
1  2
3 13 TCP/SMTP/mail
1 21 Postel@F.ISI.USC.ARPA

1  2
3 13 TCP/NIFTP/RFT
1 12 TSC.SRI.ARPA

Le premier exemple est une requête de résolution pour le nom "Postel@F.ISI.USC.ARPA". Elle fait 21 octets. Le service d’application demandé est TCP/SMTP/mail. Le second exemple est une requête de résolution pour le service d’application NIFTP à TSC.SRI.ARPA.

Réponse affirmative  :
Type de commande   Nombre d’éléments
Indicateur de service   Longueur   Protocole de transport/service/type de service
Indicateur d’adresse Longueur d’adresse   Adresse

Exemples :
2  33 13 TCP/SMTP/mail
1 21 Postel@F.ISI.USC.ARPA
2  6 "10  2  0 52  6 25"

2  4
3 13 TCP/NIFTP/RFT
1 12 TSC.SRI.ARPA
2  6 "10  3  0  2  6 47"
2  6 "39  0  0  5  6 47"

Une réponse affirmative implique que la destination offre le service demandé. L’analyse d’une adresse est impliquée par le protocole de transport indiqué. Dans le premier exemple, le protocole de transport est TCP. Donc, l’adresse est composée de trois champs : l’adresse internet ("10 2 0 52") le numéro de protocole ("6" pour TCP [3]) et le numéro d’accès ("25" pour SMTP [3]). Une réponse avec plusieurs adresses dans le second exemple indique que TSC est multi-rattachements via ARPANET (réseau 10) et SRINET (réseau 39). Une réponse à résolution multiple est préférée. Elle offre un choix à la source.

Réponse négative  :
Type de commande   Nombre d’éléments
Indicateur de service   Longueur   Protocole de transport/service/type de service
Indicateur de nom   Longueur de nom   Chaîne de nom
Indicateur de nom   Longueur de nom   Chaîne de nom partiel
[Indicateur de commentaire   Longueur de commentaire   Commentaire]

Cela indique des difficultés de résolution. Retournée avec cette commande, il y a la portion de gauche du nom spécifié qui inclut la difficulté rencontrée. Un élément de commentaire facultatif peut être inclus.

Exemples :
3  4
3 13 TCP/SMTP/mail
1 16 Postel@F.ISI.USC
1 16 Postel@F.ISI.USC
9 18 Échec de résolution

3  4
3 13 TCP/NIFTP/RFT
1 13 TSC..SRI.ARPA
1  5 TSC..
9 17 Anomalie de syntaxe

Dans le premier exemple, la résolution a échoué parce que USC n’est pas un domaine. L’erreur de syntaxe des points adjacents dans le second exemple est évidente.

Service incompatible :
Cette réponse indique qu’aucune application compatible et/ou service de transport n’est disponible à la destination. Par exemple, le service d’application demandé peut être SMTP, alors que seul FTP-mail est disponible à la destination. Le service disponible correspondant (s’il en est) est retourné avec cette commande, ainsi que son adresse. Si aucun service n’est disponible pour ce type de service, une chaîne vide est retournée pour la spécification de service.

Type de commande   Nombre d’éléments
Indicateur de service   Longueur   Protocole de transport/service/type de service
Indicateur de nom   Longueur de nom   Chaîne de nom
Indicateur de service   Longueur   Protocole de transport/service/type de service
[Indicateur d’adresse   Longueur d’adresse   Adresse]

Exemples :
9  3
3 14 TCP/NIFTP/mail
1 21 Postel@F.ISI.USC.ARPA
3  0

9  5
3 13 TCP/NIFTP/RFT
1 12 TSC.SRI.ARPA
3 11 TCP/FTP/RFT
2  6 "10  3  0  2  6 21"
2  6 "39  0  0  5  6 21"

4.2.2	Communication AIP/AIP
La communication entre les AIP accomplit la négociation "que peux-tu m’offrir". Les exemples de ce paragraphe correspondent à ceux du paragraphe 4.2.1.

Requête :
Type de commande   Nombre d’éléments
Indicateur de service   Longueur   Protocole de transport/service/type de service

Exemples :
1  1
3 13 TCP/SMTP/mail

1  1
3 13 TCP/NIFTP/RFT

Réponse affirmative  :
Type de commande   Nombre d’éléments
Indicateur de service   Longueur   Protocole de transport/service/type de service
Indicateur d’adresse   Longueur d’adresse   Adresse

Exemples :
2  2
3 13 TCP/SMTP/mail
2  6 "10  2  0 52  6 25"

2  3
3 14 TCP/NIFTP/RFT
2  6 "10  3  0  2  6 47"
2  6 "39  0  0  5  6 47"

Une réponse affirmative implique que la destination offre le même service que celui de l’origine. Une réponse multi-résolution est possible. L’analyse d’une adresse est impliquée par le protocole de transport indiqué. Dans le second exemple, le protocole de transport est TCP. Donc, l’adresse se compose de trois champs : l’adresse internet (10 2 0 52) le numéro de protocole (6 pour TCP) et le numéro d’accès (25 pour SMTP). La ou les adresses retournées sont à relayer au processus d’application d’origine.

Service incompatible  :
Type de commande   Nombre d’éléments
Indicateur de service   Longueur   Protocole de transport/service/type de service
Indicateur d’adresse   Longueur d’adresse   Adresse

Cette réponse indique qu’aucune application compatible et/ou service de transport n’est disponible pour servir la destination. Par exemple, SMTP peut être le service d’application demandé, alors que seul NIFTP-mail est disponible pour desservir la destination. Le service disponible de ce type est retourné avec cette commande. Si il n’y a aucun service disponible pour ce type de service, une chaîne de texte vide est retournée.

Exemples :
9  2
3 14 TCP/NIFTP/mail
3  0

9  4
3 13 TCP/NIFTP/RFT
3 11 TCP/FTP/RFT
2  6 "10  3  0  2  6 21"
2  6 "39  0  0  5  6 21"

Dans le premier exemple, la destination n’offre aucune sorte de service de messagerie. Le second exemple indique qu’il n’y a pas de NIFTP, mais que FTP est disponible pour le service de transfert de fichiers à distance à la destination.

4.2.3	Communication AIP/DNS
L’AIP de source présente son DNS associé avec une spécification de domaine pleinement qualifié à résoudre. Le résultat de la résolution attendue est l’adresse réseau du DNS d’extrémité de destination. On suppose qu’il n’y a aucun besoin de communication entre le DNS et l’AIP à la destination.

Requête :
Type de commande   Nombre d’éléments
Indicateur de nom   Longueur de nom   Chaîne de nom

Exemples :
1  1
1 14 F.ISI.USC.ARPA

1  1
1 12 TSC.SRI.ARPA

Réponse affirmative  :
Type de commande   Nombre d’éléments
Indicateur de nom   Longueur de nom    Chaîne de nom
Indicateur de service   Longueur de service   Protocole de transport
Indicateur d’adresse   Longueur d’adresse   Adresse

Exemples :
2  3
1 14 F.ISI.USC.ARPA
3  3 UDP
2  6 "10  2  0 52 17 42"

2  4
1  7 TSC.SRI.ARPA
3  3 UDP
2  6 "10  3  0  2 17 42"
2  6 "39  0  0  5 17 42"

Une réponse affirmative retourne une adresse du DNS d’extrémité de destination. Cette adresse retournée est celle du DNS de destination. Il faut que le service de transport de destination soit indiqué pour guider l’analyse de l’adresse de destination.

Réponse négative :
Type de commande   Nombre d’éléments
Indicateur de nom   Longueur de nom    Chaîne de nom
Indicateur de nom   Longueur de nom    Chaîne de nom partiel
[Indicateur de commentaire   Longueur de commentaire   Commentaire]

Cette réponse indique que le service des noms de domaines est incapable de résoudre le nom de domaine de destination donné. Cela pourrait être causé par un nom simple inconnu, ce qui peut résulter, par exemple, d’une faute d’orthographe. La portion de gauche du nom spécifié qui contient la cause de l’échec de résolution est retournée avec cette commande.

Exemple :
1  3
1  9 F.ISI.USC
1  9 F.ISI.USC
9 18 Échec de résolution

4.2.4	Communication DNS/DNS
Le service de noms de domaines est un service réseau indépendant de l’application. Il fournit la résolution des noms de domaines. Pour la spécification de ce service, le lecteur se réfèrera à [2].

4.3	Protocole de transport
D’une façon générale, cette spécification est intentionnellement indépendante du protocole de transport. Les implications pour l’utilisation de TCP et d’UDP sont spécifiquement considérées.

Normalement, pour un service de noms réparti, un serveur A fait une requête à un serveur B, le serveur B peut avoir besoin à son tour de contacter d’autres serveurs pour achever la résolution. TCP est un protocole en mode connexion. Il offre un transport fiable, mais impose aussi une certaine quantité de redondance pour l’établissement de la connexion et sa maintenance. Dans la plupart des cas, l’utilisation de TCP n’est pas recommandée.

UDP est un service de datagrammes qui offre une capacité de transport par datagrammes de plus de 500 octets. Une telle capacité devrait être suffisante pour la plupart des commandes concevables dans la présente spécification. Cependant, il impose une limite à la longueur totale d’une commande. Afin d’améliorer la fiabilité, la requête est incorporée au titre de chaque commande de réponse.

5.	Transition de NCP à TCP

La convention de désignation de l’Internet , "<usager>@<domaine>.  ...  . <domaine>" [1], est une généralisation de "<usager>@<hôte>", la convention de désignation de l’ARPANET. C’est une généralisation dans ce sens que la convention de désignation de l’ARPANET peut être considérée comme une forme partiellement qualifiée du sous ensemble "<usager>@<hôte>.ARPANET". (On suppose ici que ARPANET est un nom de domaine de niveau supérieur.)

Pour la transition de NCP à TCP, on peut initialement traiter chaque entrée de nom d’hôte dans le tableau courant des hôtes comme un sous domaine du domaine de niveau supérieur ARPANET. Donc, il y aurait initialement une structure de domaine très plate. Cette structure peut être changée graduellement après la transition vers une structure hiérarchique lorsque seront définis de plus en plus de domaines et sous domaines et que les serveurs de noms seront installés. Dans le processus de ce changement, le tableau des hôtes sera graduellement converti en tableaux de domaines répartis (bases de données). Pou les nouveaux tableaux de domaines créés, aucun format standard ne sera requis. Chaque tableau individuel de domaines peut avoir son propre format convenable pour la conception de son serveur de noms de domaines associé.

Références

[1]	[RFC0819] Z. Su et J. Postel, "Convention de désignation des domaines pour les applications d’utilisateurs de l’Internet", août 1982.

[2]	Postel, J., "Serveur de nom de domaines," RFC XXX, USC/Information Sciences Institute (non publié comme RFC).

[3]	[RFC0790] J. Postel, "Numéros alloués", septembre 1981.

Adresse de l’auteur

Zaw-Sing Su
SRI International
333 Ravenswood Avenue
Menlo Park, California 94025
téléphone : (415) 859-4576

Appendice A	Allocations conventionnelles

Types de commandes
Demande	1
Réponse affirmative	2
Réponse négative	3
Service incompatible	9

Indicateurs
Indicateur de nom	1
Indicateur d’adresse	2
Indicateur de service	3
Indicateur de commentaire	9

Protocoles de transport :  TCP, UDP, NCP

Services
Protocoles de service 	Type de service
MTP	messagerie
SMTP	messagerie
FTP    (FTP mail)	messagerie
NIFTP  (NIFTP mail)	messagerie
MMDF	messagerie
FTP	RFT (transfert de fichier à distance)
Telnet	RTA (accès au terminal à distance)