conclude successfully. The user request for file transfer may thus be
satisfied.
3 SYSTEM COMPONENTS
3.1 Component Processes
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.
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.
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).
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.
3.2 Databases for Name Resolution
There is a database associated with each resolution module. The
database associated with an endpoint domain contains name-to-address
5
RFC 830 October 1982
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.
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.
It is also noticed that with the implementation of the SINS, there
is no need for database format standardization.
3.3 Caching
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.
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.
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.
4 INTER-COMPONENT COMMUNICATIONS (THE INTERNET NAME SERVICE PROTOCOLS)
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.
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.
6
=4= |