RFC Network Working Group Request for Comments: P. Mockapetris ISI November Obsoletes: RFCs , , comments publication. RFC; Domain names - implementation and specification .. teshimaryokan.info 1 reference. stated in. This RFC was published in Download links. Click here to download RFC TXT format PDF. comments publication. RFC; Domain names.
|Language:||English, Spanish, German|
|Genre:||Science & Research|
|ePub File Size:||18.72 MB|
|PDF File Size:||14.87 MB|
|Distribution:||Free* [*Regsitration Required]|
[Docs] [txt|pdf] [Tracker] [Errata] Updated by: , , , , , , INTERNET STANDARD , , , , , , , Canonical URL: teshimaryokan.info; File formats: Plain Text PDF Discuss this RFC: Send questions or comments to [email protected] host teshimaryokan.info wants IP address of teshimaryokan.info 1. Contacts its local DNS server, teshimaryokan.info 2. teshimaryokan.info contacts root name server, if.
Thus while data for x. Non-alphabetic codes must match exactly. The high order two bits of every length octet must be zero. Mockapetris [Page 11]. TTL a 32 bit signed integer that specifies the time interval that the resource record may be cached before the source of the information should again be consulted. Zero values can also be used for extremely volatile data.
Format All RRs have the same top level format shown below: NAME an owner name. Zero values are interpreted to mean that the RR can only be used for the transaction in progress. In particular. Mockapetris [Page 13]. The owner name is an alias. HINFO records are used to acquire general information about a host. The main use is for protocols such as FTP that can use special procedures when talking between machines or operating systems of the same type.
See the description of name server logic in [RFC] for details. MD is obsolete. The recommended policy for dealing with MD RRs found in a master file is to reject them.
Mockapetris [Page 15]. MF is obsolete. Msgroup-request for Msgroup. If this domain name names the root. This field provides a more general mechanism.
MG records cause no additional section processing. Mockapetris [Page 16]. Although these records can be associated with a simple mailbox. MINFO records cause no additional section processing. MR records cause no additional section processing. The main use for MR is as a forwarding entry for a user who has moved to a different mailbox. Lower values are preferred. Mockapetris [Page 17]. Note that the class may not indicate the protocol family which should be used to communicate with the host.
These records are simple data. ARPA domain for an example. The NS RR states that the named host should be expected to have a zone starting at owner name of the specified class.
These RRs are used in special domains to point to some other location in the domain space. NS records cause both the usual additional section processing to locate a type A record. PTR records cause no additional section processing. Mockapetris [Page 18]. Mockapetris [Page 19].
Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. EXPIRE A 32 bit time value that specifies the upper limit on the time interval that can elapse before the zone is no longer authoritative.
Most of these fields are pertinent only for name server maintenance operations. TXT RRs are used to hold descriptive text. All times are in units of seconds. The semantics of the text 3. The reason for this provison is to allow future dynamic update facilities to change the SOA RR with known semantics. Mockapetris [Page 20].
Whenever a RR is sent in a response to a query. SOA records cause no additional section processing. Internet specific RRs 3. Hosts that have multiple Internet addresses will have multiple A records.
Mockapetris [Page 21]. The bit map must be a The WKS record is used to describe the well known services supported by a particular protocol on a particular internet address. If the bit map does not include a bit for a protocol of interest. The first bit corresponds to port 0. SMTP service is not supported on the specified address. WKS RRs cause no additional section processing. The appropriate values and mnemonics for ports and protocols are specified in [RFC].
The RDATA section of an A line in a master file is an Internet address expressed as four decimal numbers separated by dots without any imbedded spaces e.
If this bit is set. In master files. Address nodes are used to hold pointers to primary host names in the normal domain space. Thus data for Internet address ARPA and has a substructure which follows the Internet addressing structure. The intent of this domain is to provide a guaranteed method to perform host address to host name mapping.
Host addresses are represented by domain names that have all four labels specified. Other classes may employ a similar strategy in other domains. ARPA domain. Network nodes are used to hold pointers to the primary host names of gateways attached to that network. Gateways will also have host level pointers at their fully qualified addresses. Since a gateway is. Note that both of these services are similar to functions that could be performed by inverse queries. Both the gateway pointers at network nodes and the normal host pointers at full address nodes use the PTR RR to point back to the primary domain names of the corresponding hosts.
ARPA suffix. Each label represents one octet of an Internet address. The reversal. Mockapetris [Page 23]. ARPA special domain and the normal domain for a particular host or gateway will be in different zones. It would receive two RRs in response: A resolver which wanted to find the host name corresponding to Internet host address Systems that use the domain database to initialize their routing tables must start with enough gateway information to guarantee that they can access the appropriate name server.
Assuming that ISI gateway has addresses The gateway data only reflects the existence of a gateway in a manner equivalent to the current HOSTS. TXT file. Gateways will often have two names in separate domains. PTR GW. Several cautions apply to the use of these services: New classes are appropriate when the DNS is to be used for a new protocol.
New definitions should be expected. In defining a new type of data.
This approach is preferred because it avoids the opportunity for inconsistency. Defining new types. The redesigned Mockapetris [Page 24]. Designers should attempt to define types and their RDATA formats that are generally applicable to all classes. The multiple RRs assumption is incorporated in some experimental work on dynamic update methods. This is less efficient for most applications.
ARPA is the forum where general discussion of design issues takes place. New types and classes need mnemonics for master files. The present system attempts to minimize the duplication of data in the database in order to insure consistency.
This section makes some recommendations to designers considering additions to the existing facilities. The last three sections have the same format: The header includes fields that specify which of the remaining sections are present. Mockapetris [Page 25]. Format All communications inside of the domain protocol are carried in a single format called a message. The answer section contains RRs that answer the question.
The question section contains fields that describe a question to a name server. The top level format of message is divided into 5 sections some of which are empty in certain cases shown below: The names of the sections after the header are derived from their use in standard queries. QR A one bit field that specifies whether this message is a query 0.
The AA bit Mockapetris [Page 26]. Note that the contents of the answer section may have multiple owner names because of aliases. Header section format The header contains the following fields: ID A 16 bit identifier assigned by the program that generates any kind of query.
This identifier is copied the corresponding reply and can be used by the requester to match up replies to outstanding queries. The values are: This value is set by the originator of a query and copied into the response. The name server does not support the requested kind of query. Recursive query support is optional. The name server refuses to perform the specified operation for policy reasons.
Z Reserved for future use. The name server was unable to process this query due to a problem with the name server.. RD Recursion Desired. The name server was unable to interpret the query. Meaningful only for responses from an authoritative name server. TC TrunCation. RA Recursion Available. The values have the following interpretation: Mockapetris Must be zero in all queries 0 No error condition 1 Format error. If RD is set. QNAME a domain name represented as a sequence of labels. NSCOUNT an unsigned 16 bit integer specifying the number of name server resource records in the authority records section.
Note that this field may be an odd number of octets. Mockapetris [Page 28]. Question section format The question section is used to carry the "question" in most queries. QTYPE a two octet code which specifies the type of the query. The domain name terminates with the zero length octet for the null label of the root.
The values for this field include all codes valid for a TYPE field. Each resource record has the following format: NAME a domain name to which this resource record pertains.
Mockapetris [Page 29]. Resource record format The answer. TTL a 32 bit unsigned integer that specifies the time interval in seconds that the resource record may be cached before it should be discarded. The pointer takes the form of a two octet sequence: In this scheme. A zero offset specifies the first byte of the ID field.
As yet. This allows a pointer to be distinguished from a label. Message compression In order to reduce the size of messages. RDATA a variable length string of octets that describes the resource. If this were not the case. The compression scheme allows a domain name in a message to be represented as either: The 10 and 01 combinations are reserved for future use. Programs are free to avoid using pointers in messages they generate.
The domain name FOO. The root domain name is Mockapetris [Page 31]. ARPA is shown at offset However all programs are required to understand arriving messages that contain pointers. ARPA at Ignoring the other fields of the message. UDP is not acceptable for zone transfers. The retransmission interval should be based on prior statistics if possible. Zone refresh activities must use virtual circuits because of the need for reliable transfer.
Transport The DNS assumes that messages will be transmitted as datagrams or in a byte stream carried by a virtual circuit.
Queries or their responses may be reordered by the network. The client should try other servers and server addresses before repeating a query to a specific address of a server. Depending on how well connected the client is to its expected servers. The message is prefixed with a two byte length field which gives the message Mockapetris [Page 32]. While virtual circuits can be used for any DNS activity. The optimal UDP retransmission policy will vary with performance of the Internet and the needs of the client.
Queries sent using UDP may be lost. Too aggressive retransmission can easily slow responses for the community at large. Longer messages are truncated and the TC bit is set in the header. More suggestions on server selection and retransmission policy can be found in the resolver section of this memo. The server should assume that the client will initiate connection closing. The server should not block other activities waiting for TCP data.
Several connection management policies are recommended: The following entries are defined: Any combination of tabs and spaces act as a delimiter between the separate items that make up an entry. Entries are predominantly line-oriented. If the server needs to close a dormant connection to reclaim resources. The comment starts with a ". Since the server would be unable to answer queries anyway.
The server should support multiple connections. Format The format of these files is a sequence of entries. This length field allows the low-level processing to assemble a complete message before beginning to parse it.
The end of any line in the master file can end with a comment. Since the contents of a zone can be expressed in the form of a list of RRs a master file is most often used to define a zone.
TTL is a decimal integer. Domain names that end in a dot are called absolute. If an entry for an RR begins with a blank. Note that this order is different from the order used in examples and the order used in the actual RRs. The last two forms represent RRs. Mockapetris [Page 34]. Omitted class and TTL values are default to the last explicitly stated values.
A relative name is an error when no origin is available. Two control entries are defined: Since type and class mnemonics are disjoint. Quoting conventions allow arbitrary characters to be stored in domain names. The labels in the domain name are expressed as character strings and separated by dots. Class and type use the standard mnemonics.
Domain names which do not end in a dot are called relative. Parentheses are used to group data that crosses a line boundary. Semicolon is used to start a comment. In particular: In effect. Because these files are text files several special encodings are necessary to allow arbitrary data to be loaded. The rationale for this is that a single error can have widespread consequences. Several other validity checks that should be performed in addition to insuring that the file is syntactically correct: Mockapetris [Page 35].
If delegations are present and glue information is required. All RRs in the file should have the same class. Use of master files to define zones When a master file is used to load a zone. A free standing is used to denote the current origin. The resulting octet is assumed to be text and is not checked for special meaning. RETRY Information present outside of the authoritative nodes in the zone should be glue information. Mockapetris [Page 36]. TXT is: Master file example The following is an example file which might be used to define the ISI.
EDU zone. The main purpose of this structure is to find the nearest ancestor zone. Separate data structures for each of the zones held by the name server. A data structure for cached data. This section discusses implementation considerations for a name server which shares a database with a resolver. Database While name server implementations are free to use any internal data structures they choose. In designing the tree framework the designer should recognize that query processing will need to traverse the tree using case-insensitive label comparisons.
Control A name server must employ multiple concurrent activities. A name server should not substantially delay requests while it reloads a zone from master files or while it incorporates a newly refreshed zone into its database. It is simply not acceptable for a name server to block the service of UDP requests while it waits for TCP data for refreshing or query activities.
A "catalog" data structure which lists the zones available to this server. Architecture The optimal structure for the name server will depend on the host operating system and whether the name server is integrated with resolver operations.
The individual data structures for zones allow a zone to be replaced simply by changing a pointer in the catalog.
Errors in zone definitions that cause overlapping zones. This structure can also be used to store parameters used to control refreshing activities. Since the cache is most frequently updated. It is very important that when a zone is refreshed. State information which a name server should save across system crashes Mockapetris [Page 38].
The use of separate structures for the different parts of the database is motivated by several factors: Zone refresh operations can build a new structure and. The catalog structure can be an almost static structure that need change only when the system administrator changes the zones supported by the server.
One way to solve the case problem is to store the labels for each node in two pieces: With the proper search procedures. It can also become full of expired RR data. In any case. The branching factor diversity can be handled using a simple linked list for a node until the branching factor exceeds some threshold. Thus if there is any data for the authority section. When composing a response. RRs which are to be inserted in the additional section.
One way to do this is to use positive 32 bit numbers for one type and negative numbers for the other. The RRs in zones use relative times. When a response is so long that truncation is required. Absolute numbers are taken with respect to some known origin and converted to relative values when placed in the response to a query. RFC Domain Implementation and Specification November includes the catalog structure including the state of refreshing for each zone and the zone data itself.
When an absolute TTL is negative after conversion to relative. Inside the database. This floor function should be done when the data is copied into a response.
In this case. Standard query processing The major algorithm for standard query processing is presented in [RFC]. Time Both the TTL data for RRs and the timing data for refreshing activities depends on 32 bit timers in units of seconds. A recommended implementation strategy is to store time in two ways: Since no name server knows about all of the domain name space.
The contents of inverse queries and responses Inverse queries reverse the mappings performed by standard query operations. When a name server processes an inverse query. Inverse queries are NOT an acceptable method of mapping host addresses to host names. Inverse queries take the form of a single RR in the answer section of the message. Where possible. Name servers are not required to support any form of inverse queries. RFC Domain Implementation and Specification November should answer queries as if it were not supposed to possess the zone.
If completion is not possible. While inverse query support is optional. Thus inverse queries are primarily useful for database management and debugging activities. If a name server receives an inverse query that it does not support. If a master is sending a zone out via AXFR. ARPA domain instead. Since the owner name is not known. Inverse query and response example The overall structure of an inverse query for retrieving the domain name that corresponds to Internet address RRs returned in the inverse queries cannot be cached using the same mechanism as is used for the replies to standard queries.
The response to this query might be: Mockapetris [Page 41]. One reason for this is that a name might have multiple RRs of the same type. A single octet of zero. Inverse query processing Name servers that support inverse queries can support these operations through exhaustive searches of their databases. Support for transfer of this type of inversion may be included in future versions of the domain system.
An alternative approach is to invert the database according to the search key. If the question section in the response is not empty. For name servers that support multiple zones and a large amount of data. Responses to inverse queries may contain multiple questions when the inverse is not unique. Mockapetris [Page 42]. When a particular zone is changed during a refresh. Redesigned services may become available in the future.
This timestamp uses the absolute time format previously discussed for RR storage in zones and caches. The amount of work which a resolver will do in response to a client request must be limited to guard against errors in the database.
Since a resolver must be able to multiplex multiple requests if it is to perform its function efficiently. November RFC Domain system changes and observations. Domain names: Concepts and facilities. Implementation specification. DNS encoding of network names and other types. Serial Number Arithmetic. Domain Name System Security Extensions. Clarifications to the DNS Specification. Binary Labels in the Domain Name System.
DNS Stateful Operations. RfC ID. Wikipedia 0 entries edit. Wikibooks 0 entries edit. Wikinews 0 entries edit.
Wikiquote 0 entries edit.