home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc0830.txt < prev    next >
Text File  |  1996-05-07  |  32KB  |  564 lines

  1. Network Working Group Request for Comments: 830 
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.              A Distributed System for Internet Name Service 
  10.  
  11.                                    by                               Zaw-Sing Su 
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.        +-------------------------------------------------------------+            |                                                             |       |   This RFC proposes a distributed name service for DARPA    |       |   Internet.  Its purpose is to focus discussion on the      |       |   subject.  It is hoped that a general consensus will       |       |   emerge leading eventually to the adoption of standards.   |       |                                                             |        +-------------------------------------------------------------+ 
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                               October 1982 
  28.  
  29.  
  30.  
  31.                            SRI International                          333 Ravenswood Avenue                      Menlo Park, California  94025 
  32.  
  33.                 (415)  859-4576 
  34.  
  35.  RFC 830                                                       October 1982 
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.              A Distributed System for Internet Name Service 
  44.  
  45.  
  46.  
  47.                             1   INTRODUCTION 
  48.  
  49.      For many years, the ARPANET Naming Convention "<user>@<host>" has served its user community for its mail system.  The substring "<host>" has been used for other user applications such as file transfer (FTP) and terminal access (Telnet).  With the advent of network interconnection, this naming convention needs to be generalized to accommodate internetworking.  The Internet Naming Convention [1] describes a hierarchical naming structure for serving Internet user applications such as SMTP for electronic mail, FTP and Telnet for file transfer and terminal access.  It is an integral part of the network facility generalization to accommodate internetworking. 
  50.  
  51.      Realization of Internet Naming Convention requires the establishment of both naming authority and name service.  In this document, we propose an architecture for a distributed System for Internet Name Service (SINS).  We assume the reader's familiarity with [1], which describes the Internet Naming Convention. 
  52.  
  53.      Internet Name Service provides a network service for name resolution and resource negotiation for the establishment of direct communication between a pair of source and destination application processes.  The source application process is assumed to be in possession of the destination name.  In order to establish communication, the source application process requests for name service. The SINS resolves the destination name for its network address, and provides negotiation for network resources.  Upon completion of successful name service, the source application process provides the destination address to the transport service for establishing direct communication with the destination application process. 
  54.  
  55.  
  56.  
  57.                               2   OVERVIEW 
  58.  
  59. 2.1  System Organization 
  60.  
  61.      SINS is a distributed system for name service.  It logically consists of two parts: the domain name service and the application interface (Figure 1).  The domain name service is an application independent network service for the resolution of domain names.  This resolution is provided through the cooperation among a set of domain 
  62.  
  63.                                     1 
  64.  RFC 830                                                       October 1982 
  65.  
  66.  
  67.  
  68. name servers (DNSs).  With each domain is associated a DNS.*  The reader is referred to [2] for the specification of a domain name server.  As noted in [1], a domain is an administrative but not necessarily a topological entity.  It is represented in the networks by its associated DNS.  The resolution of a domain name results in the address of its associated DNS. 
  69.  
  70.       Application                                   Application        Process                                       Process           |                                             |    SINS   |                                             |    -------|---------------------------------------------|-----  Application    |     AIP                                           AIP   |   Interface    |      |                                             |    |  . . . . . . .    |     DNS  - - -  DNS  - - -  DNS  - -  . . .  - -  DNS   |  Domain Name    -----------------------------------------------------------    Service 
  71.  
  72.            Figure 1   Separation of Application Interface 
  73.  
  74.      The application interface provides mechanisms for resolution beyond that of destination domain and negotiation to ensure resource availability and compatibility.  Such negotiation is sometimes referred to as the "what-can-you-do-for-me" negotiation.  The application interface isolates domain name service from application dependence.  It thus allows sharing of domain name service among various user applications. 
  75.  
  76.      The application interface consists of a set of application interface processes (AIPs) one for each endpoint domain.  For operation efficiency, the AIP is assumed to be combined with its associated DNS forming an endpoint DNS (Figure 2). 
  77.  
  78.         Application                                   Application          Process                                       Process             |                                             |      SINS   |                                             |      -------|---------------------------------------------|-------      |   Endpoint                                      Endpoint  |      |     DNS  - - -  DNS  - - -  DNS  - -  . . .  - -  DNS     |      |                                                           |      ------------------------------------------------------------- 
  79.  
  80.     Figure 2  Distribution of Name Service Components Among Domains 
  81.  
  82. -------------------- * For reasons such as reliability, more than one DNS per domain may be required.  They may be cooperating DNSs or identical for redundancy.  In either case, without loss of generality we may logically view the association as one DNS per domain. 
  83.  
  84.                     2 
  85.  RFC 830                                                       October 1982 
  86.  
  87. 2.2  Domain Resolution 
  88.  
  89.      For name service, the source application process presents to its local AIP the destination name, and the application service it requests. For most applications, the application service the source application process requests would be the service it offers.  The destination name is assumed to be fully qualified of the form: 
  90.  
  91.        <local name>@<domain>.<domain>. ... .<domain> 
  92.  
  93. The domains named in the concatenation are hierarchically related [1]. The left-to-right string of simple names in the concatenation proceeds from the most specific domain to the most general.  The concatenation of two domains, 
  94.  
  95.         ... .<domain A>.<domain B>. ... 
  96.  
  97. implies the one on the left, domain A, to be an immediate member (i.e., the first-generation descendent) of the one on the right, domain B.  The right-most simple name designates a top-level domain, a first-generation descendent of the naming universe. 
  98.  
  99.      For domain resolution, the AIP consults the domain name service.  It presents the co-located DNS with the fully qualified domain specification: 
  100.  
  101.         <domain>.<domain>. ... .<domain> 
  102.  
  103. The DNSs participating in a resolution resolve the concatenation from the right.  The source endpoint DNS resolves the right-most simple name and acts as a hub polling the other DNSs.  It resolves the right-most simple name into an address for the DNS of the specified top-level domain, then polls that DNS with a request for further resolution.  When polled, a DNS resolves the next right-most simple domain name.  Upon successful resolution, an intermediate DNS may have a choice of either returning the resulting address or forwarding the request to the next DNS for continuing resolution. When a intermediate DNS receives a reply from the next DNS, it must respond to the request it has received.  To simplify the domain name service protocol, an intermediate DNS is not allowed to act as a hub for further polling. 
  104.  
  105.  2.3  Application Interface 
  106.  
  107.      Addressing for destination endpoint domain is in general not sufficient for the source application process to establish direct communication with the destination application process.  In order to establish direct communication, further addressing may be necessary. Addressing beyond destination endpoin domain may be necessary when the addressing of application process cannot be derived from the address of the endpoint domain.  To provide such derivation capability permanent binding and universal binding convention, such as TCP port number assignment, may be necessary. 
  108.  
  109.                                    3 
  110.  RFC 830                                                       October 1982 
  111.  
  112.      Beyond addressing, negotiation for resource availability and compatibility is often found necessary.  The application interface provides a "what-can-you-do-for-me" negotiation capability between the source and destination endpoint domains.  Such negotiation mechanisms provided in this design include those for the availability and compatibility of transport service, e.g., TCP or UDP, and application service, e.g., SMTP for mail transport.  The availability of such negotiation service may allow dynamic binding and variations in system design. 
  113.  
  114.      The application interface offers an integrated service for various "what-can-you-do-for-me" negotiation capabilities. 
  115.  
  116. 2.4  Example 
  117.  
  118.      Let us assume that a request is made at ISID for remote file transfer using NIFTP to SRI-TSC.  The domain name for ISID is D.ISI.USC.ARPA,* and TSC.SRI.ARPA for SRI-TSC.  The hierarchical relationship between these two domains is as depicted in Figure 3 below. The NIFTP process (an application process) at ISID forwards the domain name TSC.SRI.ARPA" to the local AIP in domain D for name service.  The AIP forwards the fully qualified domain name, "TSC.SRI.ARPA", to its co- located DNS for domain resolution. 
  119.  
  120.      ARPA, the right-most simple name, is assumed to designate a top- level domain.  The DNS of D recognizes this simple name, resolves it into the address of the ARPA domain DNS, and forwards the request to that DNS with a pointer pointing to the next domain "SRI".  The ARPA DNS recognizes "SRI" as one of its subdomains, resolves the address of the subdomain's DNS.  It has a choice at this point whether to return this address to the source endpoint DNS or to forward the request to the DNS of SRI. 
  121.  
  122.                                          naming                                         universe                                       /          \                                --- ARPA (DNS)                              /       |                            /        SRI (DNS)                          /           |  \                        USC (DNS)        TSC (DNS/AIP)                         |                |                         |          [TCP/FTP/RFT]                        ISI (DNS)                         |                         D (DNS/AIP)                       /   \         [TCP/NIFTP/RFT]   [TCP/FTP/RFT]                     |                   user 
  123.  
  124. -------------------- * Domain names used in the examples are for illustration purposes only. The assignment of domain names is beyond the scope of this writeup. 
  125.  
  126.                                    4 
  127.  RFC 830                                                       October 1982 
  128.  
  129.  If it returns the address, the source endpoint DNS at D, would continue polling by forwarding the request to the SRI DNS.  When the DNS of SRI detects TSC as the last domain in the concatenation, it resolves the address for the DNS at TSC, and returns it to the source DNS at domain D.  Upon receiving a successful domain resolution, the source DNS returns the obtained address to its associated AIP. 
  130.  
  131.      Since the destination AIP is co-located at this address, the source AIP is able to forward a request with the service designation "TCP/NIFTP/RFT" for "what-can-you-do-for-me" negotiation.  Realizing that within TSC there is no NIFTP but FTP provided for remote file transfer, the destination AIP would respond accordingly.  Since ISID also offers FTP service, the "what-can-you-do-for-me" negotiation may conclude successfully.  The user request for file transfer may thus be satisfied. 
  132.  
  133.  
  134.  
  135.                          3   SYSTEM COMPONENTS 
  136.  
  137. 3.1  Component Processes 
  138.  
  139.      The two basic distributed components of SINS are the endpoint DNS and the intermediate DNS.  An endpoint DNS is associated with each endpoint domain.  An intermediate DNS is associated with a domain without any associated application process. 
  140.  
  141.      The intermediate DNS is rather simple.  It has the resolution capability for translating simple names of first-generation subdomains to addresses of their associated DNS.  It also communicates with other DNS for domain resolution. 
  142.  
  143.      An endpoint DNS consists of an AIP and a source DNS.  The source DNS implements the polling mechanism which communicates with other DNSs as a hub for polling.  It also has capability for the resolution of top- level domains.  It responds to requests from the local AIP for domain resolution (Section 4.2.3). 
  144.  
  145.      The major function of an AIP implements the intellegence of "what- can-you-do-for-me" negotiations.  A communication module realizes negotiation exchanges between the source and destination AIPs (Section 4.2.2).  As an interface between the application processes and the local DNS, it must also implement communication capabilities for exchanges with the DNS and the application processes. 
  146.  
  147.  3.2  Databases for Name Resolution 
  148.  
  149.      There is a database associated with each resolution module.  The database associated with an endpoint domain contains name-to-address 
  150.  
  151.  
  152.  
  153.                                    5 
  154.  RFC 830                                                       October 1982 
  155.  
  156.  
  157.  
  158. correspondences for the top-level domains, first-generation descendents of the naming universe.  It facilitates the endpoint DNS resolving the right-most simple name of a fully-qualified domain specification. 
  159.  
  160.      The database associated with an intermediate domain contains name- to-address correspondences for the first-generation subdomains of this domain.  Thus, the required database contents among the intermediate DNS databases are disjoint, and updates are local. 
  161.  
  162.      It is also noticed that with the implementation of the SINS, there is no need for database format standardization. 
  163.  
  164.  3.3  Caching 
  165.  
  166.      The component processes and resolution databases constitute the basic System for Internet Name Service.  The distributed components are related according to the domain hierarchy.  The databases associated with the endpoint domains are all identical.  Containing only name-to- address correspondence for top-level domains, the endpoint database should be rather small in size.  The disjoint nature of intermediate DNS databases allows easy local updates. 
  167.  
  168.      However, communications will be very inefficient if the Internet name service is called for the establishment of every transaction.  A standard solution to aleviate such inefficiency is the use of caching. 
  169.  
  170.      Caching is a mechanism reusing previous resolution results.  To expedite establishment of communication, the resolution results are stored for future reference.  We do not incorporate caching as a standard feature of the SINS.  However, we assume the use of caching for efficient operations at individual implementor's discretion. 
  171.  
  172.  
  173.  
  174. 4   INTER-COMPONENT COMMUNICATIONS (THE INTERNET NAME SERVICE PROTOCOLS) 
  175.  
  176.      In this section, we present a format specification for correspondences between various component pairs.  For co-located components, communication becomes interprocess, and the exact format less important.  For inter-host communication, the format specification here defines a name service protocol. 
  177.  
  178.      The communicating component pairs of concern here are application process/AIP, AIP/DNS, and AIP/AIP.  The communications employ request/response commands.  A single command structure is adopted for all three pairs; while communications between a particular pair may employ a subset of the commands.  Such uniformity allows minimum processing and maximum code sharing for implementation. 
  179.  
  180.  
  181.  
  182.                                     6 
  183.  RFC 830                                                       October 1982 
  184.  
  185. 4.1  Command Structure 
  186.  
  187.      The basic command structure begins with two octets indicating command type and the number of items in the command.  They are followed by the indicated number of items.  The type of an item is indicated in its first octet, followed by a one-octet content length, and then the item content.  Required presence or absence and order of the items for each component pair are specified in this section. 
  188.  
  189.     Command Type   Number of Items 
  190.  
  191.     Item Indicator   Content Length   Item Content           .           . 
  192.  
  193. Command Type 
  194.  
  195.      This type coded in binary number indicates whether this command is a request, an affirmative response, or some other type of response (see Appendix A for the command types and their corresponding code).  This type specification implies the presence or absence and order of the following items. 
  196.  
  197. Number of Items 
  198.  
  199.      This number is expressed in binary number.  It specifies the number of following items.  Owing to the possibility of a multiple response, this number may vary for a particular command. 
  200.  
  201. Item Indicator 
  202.  
  203.      This indicator defines the item type.  The possible types include: service, name, address, and comment.  The type of an item implies its content structure. 
  204.  
  205. Content Length 
  206.  
  207.      This length specification, in binary, indicates the length of the following content in octets.  The maximum can be specified is 255, thus the maximum length of the content.  However, this maximum may also be constrained by the total length of the command (Section 4.3). 
  208.  
  209. Item Content 
  210.  
  211.      The contents for different items are:      Service -- Transport protocol/service protocol/service type                 (ASCII). (See Appendix A for standard identifiers for                 service specifications.)      Name -- Whole or partial name string according to Internet Naming              Convention [1] (ASCII).      Address -- The address is presented in binary form.  In this                 writeup, double quotes, " ", are used around decimal                 values separated by a space to represent octets of the                 binary form. 
  212.  
  213.                                    7 
  214.  RFC 830                                                       October 1982 
  215.  
  216.  
  217.  
  218.                 Parsing of the address is implied by the specified                 transport protocol.  In the case of TCP, the first                 four octets gives the 32-bit IP address, the 5th octet                 the IP-specific protocol number, and the 6th the TCP or                 UDP port number for the application service. 
  219.  
  220.      Comment -- The item is mostly optional.  Its presence may allow                 an intermediate server passing comment to the end user.                 Error comments explaining resolution failure is an                 example of its use. 
  221.  
  222.  4.2  Command Specification 
  223.  
  224.      In this section, we define the name service commands for the various communication pairs. 
  225.  
  226.  4.2.1 Application Process/AIP Communication 
  227.  
  228.      From the name service point of view, there is no need for communication between the AIP and an application process at the destination.  Thus, here we discuss communications at the originating domain. 
  229.  
  230.      An application process initiates a dialogue by making a request for name service to its local AIP.  It provides the requested application service and a destination name for resolution. 
  231.  
  232. REQUEST 
  233.  
  234.    Command Type   Number of Items 
  235.  
  236.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  237.  
  238.    Name Indicator   Name Length   Name String 
  239.  
  240. Examples:     1  2    3 13 TCP/SMTP/mail    1 21 Postel@F.ISI.USC.ARPA 
  241.  
  242.    1  2    3 13 TCP/NIFTP/RFT    1 12 TSC.SRI.ARPA 
  243.  
  244.      The first example is a resolution request for the name "Postel@F.ISI.USC.ARPA".  It is 21 octets in length.  The requested application service is TCP/SMTP/mail.  The second example is a resolution request for application service NIFTP at TSC.SRI.ARPA. 
  245.  
  246.                                     8 
  247.  RFC 830                                                       October 1982 
  248.  
  249.  
  250.  
  251. AFFIRMATIVE RESPONSE 
  252.  
  253.    Command Type   Number of Items 
  254.  
  255.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  256.  
  257.    Name Indicator   Name Length    Name String 
  258.  
  259.    Address Indicator   Address Length   Address 
  260.  
  261. Examples: 
  262.  
  263.    2  3    3 13 TCP/SMTP/mail    1 21 Postel@F.ISI.USC.ARPA    2  6 "10  2  0 52  6 25" 
  264.  
  265.    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" 
  266.  
  267.      An affirmative response implies that the destination offers the requested service.  The parsing of an address is implied by the indicated transport protocol.  In the first example, the transport protocol is TCP.  Thus, the address is composed of three fields: the internet address ("10 2 0 52"), the protocol number ("6" for TCP [3]), and the port number ("25" for SMTP [3]).  A multiple-address response in the second example indicates that TSC is multi-homed via both ARPANET (net  10), and SRINET (net  39).  A multiple-resolution response is preferred.  It offers the source a choice. 
  268.  
  269. NEGATIVE RESPONSE 
  270.  
  271.    Command Type   Number of Items 
  272.  
  273.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  274.  
  275.    Name Indicator   Name Length   Name String 
  276.  
  277.    Name Indicator   Name Length   Partial Name String 
  278.  
  279.    [Comment Indicator   Comment Length   Comment] 
  280.  
  281.      This indicates difficulty in resolution.  Returned with this command is the left-most portion of the specified name including the difficulty encountered.  An optional comment item may be included. 
  282.  
  283.  
  284.  
  285.                                     9 
  286.  RFC 830                                                       October 1982 
  287.  
  288.  Examples: 
  289.  
  290.    3  4    3 13 TCP/SMTP/mail    1 16 Postel@F.ISI.USC    1 16 Postel@F.ISI.USC    9 18 Resolution Failure 
  291.  
  292.    3  4    3 13 TCP/NIFTP/RFT    1 13 TSC..SRI.ARPA    1  5 TSC..    9 17 Syntactic Anomaly 
  293.  
  294. In the first example, the resolution failed because USC is not top-level domain.  The syntactic error of adajacent dots in the second example is obvious. 
  295.  
  296. INCOMPATIBLE SERVICE 
  297.  
  298.      This response indicates no compatible application and/or transport service is available at the destination.  For example, the requested application service may be SMTP, while only FTP-mail is available at the destination.  Return with this command is the available corresponding available service, if any, and its address.  If no service is available for that service type, an empty string for service specification is returned. 
  299.  
  300.    Command Type   Number of Items 
  301.  
  302.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  303.  
  304.    Name Indicator   Name Length   Name String 
  305.  
  306.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  307.  
  308.    [Address Indicator   Address Length   Address] 
  309.  
  310. Examples: 
  311.  
  312.    9  3    3 14 TCP/NIFTP/mail    1 21 Postel@F.ISI.USC.ARPA    3  0 
  313.  
  314.    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" 
  315.  
  316.  
  317.  
  318.                                    10 
  319.  RFC 830                                                       October 1982 
  320.  
  321.  
  322.  
  323. 4.2.2 AIP/AIP Communication 
  324.  
  325.      Communication between the AIPs accomplishes the "what-can-you-do- for-me" negotiation.  Examples in this section correspond to those of Section 4.2.1. 
  326.  
  327. REQUEST 
  328.  
  329.    Command Type   Number of Items 
  330.  
  331.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  332.  
  333. Examples: 
  334.  
  335.    1  1    3 13 TCP/SMTP/mail 
  336.  
  337.    1  1    3 13 TCP/NIFTP/RFT 
  338.  
  339. AFFIRMATIVE RESPONSE 
  340.  
  341.    Command Type   Number of Items 
  342.  
  343.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  344.  
  345.    Address Indicator   Address Length   Address 
  346.  
  347. Examples: 
  348.  
  349.    2  2    3 13 TCP/SMTP/mail    2  6 "10  2  0 52  6 25" 
  350.  
  351.    2  3    3 14 TCP/NIFTP/RFT    2  6 "10  3  0  2  6 47"    2  6 "39  0  0  5  6 47" 
  352.  
  353.      An affirmative response implies that the destination offers the same service as that of the originator.  A multi-resolution response is possible.  The parsing of an address is implied by the indicated transport protocol.  In the second example, the transport protocol is TCP.  Thus, the address is composed of three fields: the internet address (10 2 0 52), the protocol number (6 for TCP), and the port number (25 for SMTP).  The returned address(es) is to be relayed to the originating application process. 
  354.  
  355.  
  356.  
  357.  
  358.  
  359.                                     11 
  360.  RFC 830                                                       October 1982 
  361.  
  362. INCOMPATIBLE SERVICE 
  363.  
  364.    Command Type   Number of Items 
  365.  
  366.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  367.  
  368.    Service Indicator   Length   Transport Protocol/Service/Service Type 
  369.  
  370.    Address Indicator   Address Length   Address 
  371.  
  372.      This response indicates no compatible application and/or transport service available serving the destination.  For example, SMTP may be the requested application service, while only NIFTP-mail is available serving the destination.  Return with this command is the available service of that type.  If no service available for that service type, a empty text string is returned. 
  373.  
  374. Examples: 
  375.  
  376.    9  2    3 14 TCP/NIFTP/mail    3  0 
  377.  
  378.    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" 
  379.  
  380. In the first example, the destination does not offer any kind of mail service.  The second example indicates that there is no NIFTP, but FTP available for remote file transfer service at the destination. 
  381.  
  382.  4.2.3 AIP/DNS Communication 
  383.  
  384.      The source AIP presents its associated DNS with a fully qualified domain specification for resolution.  The expected resolution result is the network address for the destination endpoint DNS.  We assume no need for communication between the DNS and AIP at the destination. 
  385.  
  386. REQUEST 
  387.  
  388.    Command Type   Number of Items 
  389.  
  390.    Name Indicator   Name Length   Name String 
  391.  
  392. Examples: 
  393.  
  394.    1  1    1 14 F.ISI.USC.ARPA 
  395.  
  396.    1  1    1 12 TSC.SRI.ARPA 
  397.  
  398.                                    12 
  399.  RFC 830                                                       October 1982 
  400.  
  401.  
  402.  
  403. AFFIRMATIVE RESPONSE 
  404.  
  405.    Command Type   Number of Items 
  406.  
  407.    Name Indicator   Name Length    Name String 
  408.  
  409.    Service Indicator   Service Length   Transport Protocol 
  410.  
  411.    Address Indicator   Address Length   Address 
  412.  
  413. Examples: 
  414.  
  415.    2  3    1 14 F.ISI.USC.ARPA    3  3 UDP    2  6 "10  2  0 52 17 42" 
  416.  
  417.    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" 
  418.  
  419. An affirmative response returns an address of the destination endpoint DNS.  This returned address is that of the destination DNS.  The destination transport service needs to be indicated for guiding the parsing of the destination address. 
  420.  
  421. NEGATIVE RESPONSE 
  422.  
  423.    Command Type   Number of Items 
  424.  
  425.    Name Indicator   Name Length   Name String 
  426.  
  427.    Name Indicator   Name Length   Partial Name String 
  428.  
  429.    [Comment Indicator  Comment Length   Comment] 
  430.  
  431.      This response indicates that the domain name service is unable to resolve the given destination domain name.  It could be caused by an unknown simple name, which may result from, for example, misspelling. Returned with this command is the left-most portion of the specified name containing the cause of resolution failure. 
  432.  
  433. Example: 
  434.  
  435.      1  3      1  9 F.ISI.USC      1  9 F.ISI.USC      9 18 Resolution Failure 
  436.  
  437.  
  438.  
  439.                                    13 
  440.  RFC 830                                                       October 1982 
  441.  
  442.  4.2.4 DNS/DNS Communication 
  443.  
  444.      The domain name service is an application independent network service.  It provides the resolution of domain names.  For the specification of this service the reader is referred to [2]. 
  445.  
  446.  4.3  Transport Protocol 
  447.  
  448.      For generality, this specification is intentionally transport protocol independent.  Implications for the use of TCP and UDP are specifically considered. 
  449.  
  450.      Typically, for distributed name service a server A makes a request to a server B, server B may need to in turn contact other servers to complete a resolution.  TCP is a connection-oriented protocol.  It offers reliable transport, but also imposes certain amount of overhead for connection establishment and maintenance.  For most cases, the use of TCP is not recommended. 
  451.  
  452.      UDP is a datagram service offering a transport capacity per datagram in excess of 500 octets.  Such capacity should suffice most conceivable commands within this specification.  However, it does impose a limit on the total length of a command.  In order to enhance reliability, the request is incorporated as part of every response command. 
  453.  
  454.  
  455.  
  456.                        5   NCP TO TCP TRANSITION 
  457.  
  458.      The Internet Naming Convention, "<user>@<domain>.  ...  . <domain>" [1], is a generalization of "<user>@<host>", the ARPANET Naming Convention.  It is a generalization in the sense that the ARPANET Naming Convention can be considered as a partially qualified form of the subset "<user>@<host>.ARPANET".  (We assume here ARPANET is a top-level domain name.) 
  459.  
  460.      For the transition from NCP to TCP, we may initially treat each host name entry in the current host table as a subdomain of the top- level domain ARPANET.  Thus, initially there would be a very flat domain structure.  This structure can be gradually changed after the transition toward a hierarchical structure when more and more domains and subdomains are defined and name servers installed.  In the process of this change, the host table would be gradually converted into distributed domain tables (databases).  For the newly created domain tables, no standard format would be required.  Each individual domain table may have its own format suitable to the design of its associated domain name server. 
  461.  
  462.  
  463.  
  464.                                     14 
  465.  RFC 830                                                       October 1982 
  466.  
  467.  
  468.  
  469. REFERENCES 
  470.  
  471. [1]  Su, Z. and J. Postel, "The Domain Naming Convention for Internet User Applications,"  RFC 819, SRI International (August 1982). 
  472.  
  473. [2]  Postel, J., "Domains Name Server," RFC XXX, USC/Information Sciences Institute (to appear). 
  474.  
  475. [3]  Postel, J., "Assigned Numbers," RFC 790, USC/Information Sciences Institute (September 1981). 
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.                                     15 
  518.  RFC 830                                                       October 1982 
  519.  
  520.  
  521.  
  522.                                Appendix A 
  523.  
  524.               CONVENTION ASSIGNMENTS 
  525.  
  526.      Command Types 
  527.  
  528.      Request              1      Affirmative Response 2      Negative Response    3      Imcompatible Service 9 
  529.  
  530.       INDICATORS 
  531.  
  532.      Name Indicator       1      Address Indicator    2      Service Indicator    3      Comment Indicator    9 
  533.  
  534.       TRANSPORT PROTOCOLS:  TCP, UDP, NCP 
  535.  
  536.       SERVICES 
  537.  
  538.      Service Protocols                  Service Type 
  539.  
  540.      MTP                                mail      SMTP                               mail      FTP    (FTP mail)                  mail      NIFTP  (NIFTP mail)                mail      MMDF                               mail 
  541.  
  542.      FTP                                RFT (remote file transfer) 
  543.  
  544.      Telnet                             RTA (remote terminal access) 
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.                                    16 
  561.  
  562.  
  563.  
  564.