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:

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:
$INCLUDE /usr/named/data/mailbox
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

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:

aus.century.com.      IN      NS   fran.aus.century.com.
fran.aus.century.com. IN      A    192.9.201.14

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 Domain-Name Pointer record allows special names to point to some other location in the domain. This record is indicated by PTR in the RecordType field. PTR resource records are mainly used in IN-ADDR.ARPA records to translate addresses to names.
Note: PTR records should use official host names, not aliases.

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.

The gateway host named gw, for example, connects three different networks, one for each class, A, B, and C. The gw gateway has the standard resource records for a host in the csl.sri.com zone:
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