Standard Resource Record Format for TCP/IP
Purpose
Defines the format of lines in the named data files.
Description
Records in the named files are called resource records. Files using the standard resource record format are:
- DOMAIN data file
- DOMAIN reverse data file
- DOMAIN cache file
- DOMAIN local file
Resource records in the named files have the following general format:
{Name} {TTL} AddressClass RecordType RecordSpecificData
Field Definitions | |
---|---|
Name | Varies depending on the RecordType field. The Name field can specify the name of a domain, a zone of authority, the name of a host, the alias of a host or of a mailbox, or a user login ID. The Name field must begin in column one. If this field is left blank, the name defaults to the value of the previous resource record. |
TTL | Time to live. This specifies how long the record is stored in the database. If this field is left blank, the time to live defaults to the time to live specified in the start of authority record. This field is optional. |
AddressClass | Address class of the record. There are three valid entries for this field: ANY for all address classes, IN for Internet, and CHAOS for Chaos net. |
RecordType | The type of resource record. Valid record types are: |
SOA | Start of authority record |
NS | Name server record |
A | Address record |
HINFO | Host information record |
WKS | Well-known services record |
CNAME | Canonical name record |
PTR | Domain name pointer record |
MB | Mailbox record |
MR | Mail rename name record |
MINFO | Mailbox information record |
MG | Mail group member record |
MX | Mail exchanger record Details and examples of record types are given below. |
RecordSpecificData | These fields are dependent on the RecordType field. |
Although case distinctions are kept when loading databases, all queries to the name server database are case insensitive.
The following characters have special meanings:
Special Characters | |
---|---|
. | If used in the Name field, a . (period) indicates
the current domain. Note: Use the . (period) at the end of resource
records to append the path of the current domain.
|
. . | If used in the Name field, two periods indicate the null domain name of the root domain. |
@ | If used in the Name field, an @ (at sign) indicates the current origin. |
\X | Where X is any character except numbers 0 through 9 or the character . (period), a backslash preceding a character indicates that the character's special meaning should not be used. For example, \@ (backslash, at sign) can be used to put an @ character in the label of an entry in the Name field. |
\DDD | Where each D is any number between 0 and 9. Each number is
identified as the binary octet corresponding to the number. These
octets are not checked for special meaning. Note: The \DDD character
is not used in the Name field of a resource record.
|
( ) | Parentheses indicate that data broken into more than one line should be grouped together. The () (parentheses) are currently used in the SOA and WKS resource records. |
; | Indicates a comment line. All characters after the ; (semicolon) are ignored. |
* | An * (asterisk) indicates wildcards. Note: The * (asterisk)
character is not used in the Name field of a resource record.
|
There are two special types of lines that are not data lines. Instead they specify special processing. These lines are the $INCLUDE and $ORIGIN lines.
Special Types of Lines | |
---|---|
$INCLUDE FileName | This line begins in column one and is followed by a file
name. It indicates that the specified file should be included in the
name server database. This is useful in separating different types
of data into multiple files. For example: indicates that this file should be loaded into the name server's
database. Data files specified by the $INCLUDE line are not
treated differently from any other named data file. |
$ORIGIN OriginName | This line begins in column one and is followed by the name of a domain. This line indicates that the origin from more than one domain in a data file should be changed. |
Resource Record Types
Following is a list of the resource record types used in the named data files:
- Start of authority record
- Name server record
- Address record
- Host information record
- Well-known services record
- Canonical name record
- IN-ADDR.ARPA record
- Domain-name pointer record
- Gateway PTR record
- Mailbox record
- Mail rename name record
- Mailbox information record
- Mail group member record
- Mail exchanger record
Start of Authority Record
The start of authority (SOA) record indicates the start of a zone of authority. There should be only one start of authority record per zone, indicated by a value of SOA in the RecordType field. However, the SOA record for the zone should be in each named.data and named.rev file on each name server in the zone. Its structure corresponds to the following format:
{Name}{TTL} AddressClass RecordType Origin PersonInCharge @ IN SOA merl.century.com jane.merl.century.com (1.1 ;Serial 3600 ;Refresh 600 ;Retry 3600000 ;Expire 86400) ;Minimum
Fields
Item | Description |
---|---|
Name | Name of the zone. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Start of authority (SOA). |
Origin | Name of the host on which this data file resides. |
PersonInCharge | Person responsible for keeping the data file current. The format is similar to a mailing address, but the @ (at sign) that normally separates the user from the host name is replaced by a . (period). |
Serial | Version number of this data file. This number should be incremented each time a change is made to the data. The upper limit for the number to the right of the decimal point is 9999. |
Refresh | The number of seconds after which a secondary name server checks with the primary name server to see if an update is needed. A suggested value for this field is 3600 (1 hour). |
Retry | The number of seconds after which a secondary name server is to retry after a refresh attempt fails. A suggested value for this field is 600 (10 minutes). |
Expire | The upper limit in seconds that a secondary name server can use the data before it expires because it has not been refreshed. This value should be fairly large, and a suggested value is 3600000 (42 days). |
Minimum | The minimum time, in seconds, to use as time-to-live values in resource records. A suggested value is 86400 (one day). |
Name Server Record
The name server record specifies the name server responsible for a given domain. There should be one name server record for each primary server for the domain, indicated by a value of NS in the RecordType field. The name server record can be in the named.data file, the named.rev file, the named.ca file, and the named.local file. Its structure corresponds to the following format:
{Name} {TTL} AddressClass RecordType NameServerName
IN NS arthur.century.com
Fields
Item | Description |
---|---|
Name | Indicates the domain serviced by the specified name server. In this case, the domain defaults to the value in the previous resource record. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Name server (NS). |
NameServerName | The name server responsible for the specified domain. |
Address Record
The address record specifies the address for the host and is indicated by a value of A in the RecordType field. Address records can be entries in the named.ca, named.data, and named.rev files. Its structure corresponds to the following format:
{Name} {TTL} AddressClass RecordType Address
arthur IN A 132.10.8.1
IN A 10.0.4.1
Fields
Item | Description |
---|---|
Name | Name of the host. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Address (A). |
Address | Internet address of the host in dotted decimal form. There
should be one address record for each Internet address of the host.
If the name server host for a particular domain resides inside the domain, then an A (address) resource record that specifies the address of the server is required. This address record is only needed in the server delegating the domain, not in the domain itself. If, for example, the server for domain aus.century.com was fran.aus.century.com, then the NS record and the required A record would look like:
|
Host Information Record
The host information (HINFO) record lists host specific information, and is indicated by HINFO in the RecordType field. This lists the hardware and operating system that are running at the specified host. Note that the hardware and operating system information is separated by a single space. There must be one host information record for each host. The HINFO record is a valid entry in the named.data and the named.rev files. Its structure corresponds to the following format:
{Name} {TTL} AddressClass RecordType Hardware OS
Fields
Item | Description |
---|---|
Name | Name of the host. |
TTL | Time to live. |
AddressClass | Address class. Valid values are IN for Internet and CHAOS for Chaos net. |
RecordType | Host information (HINFO). |
Hardware | Make and model of hardware. |
OS | Name of the operating system running on the host. |
Well-Known Services Record
The well-known services (WKS) record lists the well-known services supported by a particular protocol at a specified address. This record is indicated by WKS in the RecordType field. Although TCP/IP provides the record for backward compatibility, it is now obsolete.
The services and port numbers come from the list of services in the /etc/services file. There should be only one WKS record per protocol per address. The WKS record is a valid entry in the named.data file. Its structure corresponds to the following format:
{Name}{TTL} AddressClass RecordType Address Protocol ListOfServices
IN WKS 125.10.0.4 UDP (who route timed domain)
IN WKS 125.10.0.4 TCP (echo telnet ftp netstat finger)
Fields
Item | Description |
---|---|
Name | Name of the host. In this case, the name of the host defaults to the value in the previous resource record. |
TTL | Time to live |
AddressClass | Internet (IN) |
RecordType | Well-known services (WKS) |
Address | Internet address of the adapter in dotted decimal form |
Protocol | Protocol used by the list of services at the specified address |
ListOfServices | Services supported by a protocol at the specified address |
Canonical Name Record
The canonical name record specifies an alias for a canonical name (CNAME), and is indicated by CNAME in the RecordType field. The CNAME record is the only Resource record that can use the alias of a canonical name. All other resource records must use the full canonical (or domain) name. The CNAME record is a valid entry in the named.data file. For each CNAME record, there must be a corresponding address (A) record. Its structure corresponds to the following format:
{Aliases} {TTL} AddressClass RecordType CanonicalName
knight IN CNAME lancelot
john IN CNAME lancelot
Fields
Item | Description |
---|---|
Aliases | Alias by which the host is known |
TTL | Time to live |
AddressClass | Internet (IN) |
RecordType | Canonical name (CNAME) |
CanonicalName | Official name associated with the alias |
IN-ADDR.ARPA Record
The structure of names in the domain system is set up in a hierarchical fashion. The address of a name can be found by tracing down the domain structure, contacting a server for each label in the name. Because the structure is based on names, there is no easy way to translate a host address back into its host name.
In order to allow simple reverse translation, the IN-ADDR.ARPA domain was created. This domain uses host addresses as part of a name that points to the data for that host. The IN-ADDR.ARPA domain provides an index to the resource records of each host based on its address. There are subdomains within the IN-ADDR.ARPA domain for each network, based on network number. Also, to maintain consistency and natural groupings, the 4 octets of a host number are reversed. The IN-ADDR.ARPA domain is defined by the IN-ADDR.ARPA record in the named.boot files and the DOMAIN hosts data file.
For example, the ARPANET is net 10, which means that there is a domain called 10.in-addr.arpa. Within this domain, there is a PTR resource record at 51.0.0.10.IN-ADDR, which points to the resource records for the host sri-nic.arpa (whose address is 10.0.0.51). Since the NIC is also on the MILNET (net 26, address 26.0.0.73), there is also a PTR resource record at 73.0.0.26.in-addr.arpa that points to the same resource records for SRI-NIC.ARPA. The format of these special pointers is defined in the following section on PTR resource records, along with the examples for the NIC.
Domain-Name Pointer Record
The PTR record is a valid entry in the named.rev file. Its structure corresponds to the following format:
{Aliases} {TTL} AddressClass RecordType RealName
7.0 IN PTR arthur.century.com.
Fields
Item | Description |
---|---|
Aliases | Specifies where this record should point in the domain. Also specifies the Internet address of the host with the octets in reverse order. If you have not defined the IN-ADDR.ARPA domain in your named.boot file, this address must be followed by .in-addr.arpa. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Pointer (PTR). |
RealName | The domain name of the host to which this record points. |
Gateway PTR Record
The IN-ADDR domain is also used to locate gateways on a particular network. Gateways have the same kind of PTR resource records as hosts, but they also have other PTR records used to locate them by network number alone. These records have 1, 2, or 3 octets as part of the name, depending on whether they are class A, B, or C networks, respectively.
gw.csl.sri.com. IN A 10.2.0.2
IN A 128.18.1.1
IN A 192.12.33.2
In addition, this gateway has one of the following pairs of number-to-name translation pointers and gateway location pointers in each of the three different zones (one for each network). In each example, the number-to-name pointer is listed first, followed by the gateway location pointer.
Class A
2.0.2.10.in-addr.arpa. IN PTR gw.csl.sri.com.
10.in-addr.arpa. IN PTR gw.csl.sri.com.
Class B
1.1.18.128.in-addr.arpa. IN PTR gw.csl.sri.com.
18.128.in-addr.arpa. IN PTR gw.csl.sri.com.
Class C
2.33.12.192.in-addr.arpa. IN PTR gw.csl.sri.com.
33.12.192.in-addr.arpa. IN PTR gw.csl.sri.com.
For example, a user named elizabeth used the following resource record to have her mail delivered to host venus.abc.aus.century.com:
elizabeth IN MB venus.abc.aus.century.com.
Mailbox Record
The mailbox (MB) record defines the machine where a user wants to receive mail, and is indicated by MB in the RecordType field. The MB record is a valid entry in the named.data file. Its structure corresponds to the following format:
{Aliases} {TTL} AddressClass RecordType Machine
jane IN MB merlin.century.com
Fields
Item | Description |
---|---|
Aliases | The user login ID |
TTL | Time to live |
AddressClass | Internet (IN) |
RecordType | Mailbox (MB) |
Machine | Name of the machine at which the user wants to receive mail |
Mail Rename Name Record
The mail rename (MR) name record allows a user to receive mail addressed to a list of aliases. This record is indicated by MR in the RecordType field. The MR record is a valid entry in the named.data file. Its structure corresponds to the following format:
{Aliases} {TTL} AddressClass RecordType CorrespondingMB
merlin IN MR jane
Fields
Item | Description |
---|---|
Aliases | Alias for the mailbox name listed in the last field. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Mail rename (MR). |
CorrespondingMB | The name of the mailbox. This record should have a corresponding MB record. |
Mailbox Information Record
The mailbox information (MINFO) record creates a mail group for a mailing list, and is indicated by MINFO in the RecordType field. This record usually has a corresponding mail group record, but may also be used with a mailbox record. The MINFO record is a valid entry in the named.data file. Its structure corresponds to the following format:
{Name} {TTL} AddressClass RecordType Requests Maintainer
postmaster IN MINFO post-request greg.century.com
Fields
Item | Description |
---|---|
Name | The name of the mailbox. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Mail Information record (MINFO). |
Requests | Where mail requests (such as a request to be added to the mailing list) should be sent. |
Maintainer | The mailbox that should receive error messages. This is particularly useful when mail errors should be reported to someone other than the sender. |
Mail Group Member Record
The mail group member (MG) record lists the members of a mail group. This record is indicated by MG in the RecordType field. The MG record is a valid entry in the named.data file. Its structure corresponds to the following format:
{MailGroupName} {TTL} AddressClass RecordType MemberName
dept IN MG Tom
Fields
Item | Description |
---|---|
MailGroupName | Name of the mail group. |
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Mail group member record (MG). |
MemberName | The login ID of the group member. |
Mail Exchanger Record
The mail exchanger (MX) records identify machines (gateways) that know how to deliver mail to a machine that is not directly connected to the network. This record is indicated by MX in the RecordType field. Wildcard names containing an * (asterisk) can be used for mail routing with MX records. There may be servers on the network that state that any mail to a domain is to be routed through a relay. The MX record is a valid entry in the named.data file. Its structure corresponds to the following format:
{Name} {TTL} AddressClass RecordType PrefValue MailExchanger
Ann.bus.com IN MX 0 Hamlet.Century.Com
*.dev.bus.com IN MX 0 Lear.Century.Com
Fields
Item | Description |
---|---|
Name | Specifies the full name of the host to which the mail exchanger
knows how to deliver mail. Note: The * (asterisk) in the second name entry is a wildcard name entry. It indicates that any mail
to the domain dev.bus.com should be routed through the mail
gateway Lear.Century.Com.
|
TTL | Time to live. |
AddressClass | Internet (IN). |
RecordType | Mail Exchanger (MX). |
PrefValue | Indicates the order the mailer should follow when there is more than one way to deliver mail to a host. |
MailerExchanger | The full name of the mail gateway. See RFC 974 for more information. |
Examples
The following is an example of a mailing list:
dept IN MINFO dept-request jane.merlin.century.com
IN MG greg.arthur.century.com
IN MG tom.lancelot.century.com
IN MG gary.guinevere.century.com
IN MG kent.gawain.century.com