3. The format of the SRV RR
Here is the format of the SRV RR, whose DNS type code is 33: Service.Proto.Name TTL Class SRV Priority Weight Port Target (There is an example near the end of this document.) Service The symbolic name of the desired service, as defined in Assigned Numbers or locally. Some widely used services, notably POP, don't have a single universal name. If Assigned Numbers names the service indicated, that name is the only name which is legal for SRV lookups. Only locally defined services may be named locally. The Service is case insensitive. Proto TCP and UDP are at present the most useful values for this field, though any name defined by Assigned Numbers or locally may be used (as for Service). The Proto is case insensitive. Name The domain this RR refers to. The SRV RR is unique in that the name one searches for is not this name; the example near the end shows this clearly. TTL Standard DNS meaning. Class Standard DNS meaning. Priority As for MX, the priority of this target host. A client MUST attempt to contact the target host with the lowest-numbered priority it can reach; target hosts with the same priority SHOULD be tried in pseudorandom order. The range is 0-65535. Weight Load balancing mechanism. When selecting a target host among the those that have the same priority, the chance of trying this one first SHOULD be proportional to its weight. The range of this number is 1-65535. Domain administrators are urged to use Weight 0 when there isn't any load balancing to do, to make the RR easier to read for humans (less noisy). Port The port on this target host of this service. The range is 0-65535. This is often as specified in Assigned Numbers but need not be. Target As for MX, the domain name of the target host. There MUST be one or more A records for this name. Implementors are urged, but not required, to return the A record(s) in the Additional Data section. Name compression is to be used for this field. A Target of "." means that the service is decidedly not available at this domain.
