[mod.protocols.tcp-ip] Contact names, WKS RRs, redesigning known universe

SRA@XX.LCS.MIT.EDU (Rob Austein) (06/05/86)

(This is going to TCP-IP because the discussion started there.  Any
 followup should be conducted on NAMEDROPPERS, I think.)

I'd like to (belatedly) second Joe Weening's suggestion that we use
the domain system to supply a contact name service.

If we were designing the Internet from scratch, I'd say to use
Chaosnet style contact names, which are a big win.  But we're not
designing from scratch.

Using the domain system would solve two distinct problems that have
arisen lately.  One is the contact-names problem under discussion on
TCP-IP, the other is the inadaquacy of the current IN WKS RR format
(see NAMEDROPPERS archives for details).

Here's my proposed RR formats

<service>.<domain-name>	 IN	SERV	<ip-address> <port>
<service>.<domain-name>	 CH	SERV	<chaos-address>

<Service> is the service name (contact name analog).  Domain name is
the name of the host supporting it.  <Ip-address> and <chaos-address>
are as in A RRs (note that <chaos-address is two fields, see
NAMEDROPPERS archives).  <port> is a 16 bit port number.  Chaosnet
doesn't need this, since chaosnet has contact names, but it would be
nice to be able to have a WKS analog for Chaosnet.

The address fields are there for the same reason as in the WKS RR;
some host might offer different services on different network
interfaces.  I'm not convinced this is reasonable, but it was
considered necessary in the original WKS format.  We might want to add
a <ip-protocol-number> field to the IN class format, same logic (the
analog for Chaosnet would be another text string)

Examples:

SMTP.XX.LCS.MIT.EDU	IN SERV		10.0.0.44	25
TFTP.XX.LCS.MIT.EDU	IN SERV		10.0.0.44	69
FILE.XX.LCS.MIT.EDU	CH SERV		MIT.EDU		2420
TIME.XX.LCS.MIT.EDU	CH SERV		MIT.EDU		2420

or (with protocols ids)

SMTP.XX.LCS.MIT.EDU	IN SERV		10.0.0.44	6	25
TFTP.XX.LCS.MIT.EDU	IN SERV		10.0.0.44	17	69
FILE.XX.LCS.MIT.EDU	CH SERV		MIT.EDU		2420	CHANNEL
TIME.XX.LCS.MIT.EDU	CH SERV		MIT.EDU		2420	SIMPLE

We might also want to put RRs for all the standard services (ie, the
ones known to the protocol czar) in at the root node.  This would be
useful for people who want to code with a contact name approach, and
shouldn't be too much overhead.

Queries like {IN SERV *.XX.LCS.MIT.EDU} should work fine and give a
series of RRs listing all funny IP protocols supported by XX.

I think this proposal solves serveral problems without creating any
new ones.  It is not the optimal solution to the contact name problem,
but it will work and uses existing technology.

Comments?

--Rob