Now this is interesting

When I came across RFC-2782 [1], which proposes some extentions to DNS (Domain Name Service) I said the heck with it and added the experimental records to my zone files for conman.org.

The idea itself is interesting. For instance, the MX record allows one to specify several hosts in a priority scheme that can handle SMTP (Simple Mail Transfer Protocol) traffic on TCP (Transmission Control Protocol) port 25. The experiemental records proposed in RFC-2782, SRV extends that to any service on any port. So for instance, the setup I have for my own domain using MX records:

conman.org.	IN	MX	10 tower.conman.org.
		IN	MX	20 ophelia.kill9.org.

Can also be specified using the SRV records as:

_smtp._tcp.conman.org.	IN	SRV	10 0 25 tower.conman.org.
			IN	SRV	20 0 25 ophelia.kill9.org.

The first field is a priority field that works the same was as the MX priority field. The second field is a weight field, which allows one to choose the order among hosts at the same priority level. The third field is I think the most interesting one—the port number. The MX record always defaults to TCP port 25, but with the SRV record type, you can specify other ports! And any service can be specified. So you could do something like:

_http._tcp.example.com.	IN	SRV	10 1 80   www1.example.com.
			IN	SRV	10 1 80   www2.example.com.
			IN	SRV	10 1 80   www3.example.com.
			IN	SRV	10 1 80   www4.example.com.
			IN	SRV	10 2 80   www5.example.com.
			IN	SRV	10 2 80   www6.example.com.
			IN	SRV	20 1 8080 backup1.example.com.
			IN	SRV	20 1 8080 backup2.example.com.
			IN	SRV	30 1 8008 backup3.example.com.
			IN	SRV	30 1 1234 backup4.example.com.

So that you can spread the load around to several webservers (of which www5 and www6 are not to be hit as hard), and if none of the default ones are running, hit the backup servers where the webserver is running on a non-standard port.

Of course software that makes DNS quiries has to be rewritten to take advantage of this, so it will be some time before this is in common use.

Now, the real interesting part is the company that is actively using this—Microsoft! [2]

Spring [3] and I were visiting Russ, a friend who runs a web hosting company out of his house and uses mostly Microsoft servers. He was complaining about running DNS under Windows 2000 as it uses all these wierd records. When he started describing them I knew exactly what records he was talking about and I think Microsoft is using them as a form of resource discovery.

And as I found out later, Kerberos authentication services use SRV records as well.

[1] http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2782.html

[2] http://www.microsoft.com/

[3] http://www.springdew.com/

Gemini Mention this post

Contact the author