-1

When I check the SOA for cloudflare.com, I get,

cloudflare.com has SOA record ns3.cloudflare.com. dns.cloudflare.com. 2027217413 10000 2400 604800 300

it returns the email as dns.cloudflare.com and not dns@cloudflare.com.

Why is this ?

rusty009
  • 101
  • 3

1 Answers1

5

First of all, DNS is a binary protocol with distinct data types for each field, it's not free-form text.

The SOA RNAME field (which holds something that is supposed to represent an email address), in terms of its data type, is a domain-name.

The domain-name type is not a perfect match for an email address, but presumably the one-off needs for SOA RNAME field did not warrant an extra data type to be introduced.

A domain-name in DNS consist of a sequence of labels, which in text format are separated by dots (like you are used to see).

Without introducing some new type, if you were to write eg dns@cloudflare.com., there would be one label dns@cloudflare, one com and the empty (root) label at the end.
While this would look reasonable in text format, it would also be strange (just in a different way), with how two distinctly different parts of the email address are now unnaturally fused together and only the text representation makes sense.

Another option could have been to use a character-string (like in eg TXT), but then it'd be completely unstructured and could have any kind of string value.

I think the solution we have is probably the least strange approach (at least from a technical perspective) to how to represent an email address without a adding a specialized data type for this purpose.

Håkan Lindqvist
  • 33,741
  • 5
  • 65
  • 90