SRV is a type of ResourceRecord which tries to get away from the traditional requirement in TCP/IP that every new application protocol needs its own fixed port number for clients to connect to. Since the DNS is good for looking up names, an SRV record defines a name for the service (which is easier for users to remember than a number, anyway), and equates that to a domain name and port number to which the client should connect. This way the service can run on any available port number; multiple services of the same type can run on the same machine (just using different ports); and a service can be moved from one machine to another, and provided the SRV record is suitably updated, users need never be the wiser.

Of course, all these capabilities were being offered by AppleTalk networking about two decades ago.

SRV records are defined in RFC2782.