Resource Records are containers for data. There are several different types of records, each useful for another type of data. Quite often Resource Record is abbreviated to "RR" or "record".
Each node can hold zero or more RRs. It is perfectly OK to have a node with no records at all, this does not make the name disappear from the tree (despite what djbdns and powerdns would like you to believe).
Some frequently seen types are:
- A
- holding an address (like 192.0.2.1)
- MX
- holding a Mail eXchange with preference number, such as "10 mail1.example.com." and "100 mail2.example.com."
- CNAME
- roughly saying: "this is not an official name. Look there instead." If a domain has a CNAME RR, there cannot be another kind of RR (there's one exception, which will not be discussed here). For e-mail, and thus for SPF, you will need to look at the official domain name. Example: "alias.example.org. CNAME canonicalname.example.org." means you need to define an SPF policy for canonicalname.example.org and not for alias.example.org.
- SOA
- Start Of Authority, see delegation.
- NS
- Name Server, see delegation.
- TXT
- can contain any kind of text. The SPF project uses (some say: abuses) this RR type for their own purpose
Also existing:
- SPF
- a new RR type, created for the SPF project. It will take some time for all DNS software manufacturers to implement this type.
N.B. You create an SPF policy, which can be stored in an SPF record and/or in a TXT record.