This is a bit of an archaeological question, but RFC 821, page 31, paragraph 3 describes a syntax for mailbox addresses that is of the form local_path@#123, where the pound and the following number is some sort of address. It doesn't mention what sort of address that is. It might have ben common knowledge at the time, but I couldn't find a reference for what sort of address that is.

Sometimes a host is not known to the translation function and communication is blocked. To bypass this barrier two numeric forms are also allowed for host "names". One form is a decimal integer prefixed by a pound sign, "#", which indicates the number is the address of the host. Another form is four small decimal integers separated by dots and enclosed by brackets, e.g., "[]", which indicates a 32-bit ARPA Internet Address in four 8-bit fields.

RFC 821 - page 31

  • 2
    I believe that these host numbers predated the ARPAnet. You can find out about them in the Appendix of RFC752. It writes that, for example, « MIT-AI (host 2 on IMP 6 or 2/6) is compiled as 6002 » – roaima Jun 16 '17 at 10:42
  • Could be a DECNet or IBM SDLC address - These were single bytes. – tofro Jun 16 '17 at 14:12

It's called a #-literal. It's basically an Internet host number (IP address) written as a decimal number and it's been obsolete for almost as long as the Internet has existed. The current version of the SMTP protocol - RFC5321 (appendix F.4) - states it as being deprecated and it must not be used.

RFC 821 provided for specifying an Internet address as a decimal integer host number prefixed by a pound sign, "#". In practice, that form has been obsolete since the introduction of TCP/IP. It is deprecated and MUST NOT be used.

  • 1
    Are you sure it was an IP address, and not something that predated IP addressing? I was reading early RFCs and it seemed to suggest that the then-current numbering scheme was about to be replaced by this new fangled IP stuff. See RFC 752, for example – roaima Jun 16 '17 at 22:59
  • @roaima I think it was network dependent. If the SMTP server was using NCP over ARPANET then it would be an ARPANET address. If it was using TCP over the "ARPA Internet" then it would be be an Internet address. – user722 Jun 17 '17 at 1:09
  • It's unfortunate that the RFC that deprecated the syntax was as vague as the RFC that introduced it. At this point I think a non-normative example might be the best we can hope for unless Jon Klensin feels like clarifying. – Huckle Jun 17 '17 at 8:13
  • 1
    @roaima The wording of RFC 821 is that it was a "host number". It could be referring to the original Arpanet protocol in which host addresses were (I believe) a single 8 bit number (when 256 computers was considered to be a lot). – JeremyP Jun 17 '17 at 9:28

The "32-bit ARPA Internet Address" seems to be just what we call "IP address" today (IPv4, of course).

I would interpret the "# followed by decimal form" as just a variant representation of the same kind of address: Instead of treating each byte as a a decimal number in the 0-255 range, treat the whole 4-byte word as a decimal number.

That's the sort of hack I'd expect for easier parsing in the "damn, DNS doesn't work, what do I do" situation, where you'd just call atoi and have done with it. And then the hack becomes part of the standard...

But that's just a conjecture, one would have to dig up a mailer that actually implements this form of addressing to find out.

  • 1
    This stuff predated DNS. There was an equivalent to today's /etc/hosts that contained all hosts. – roaima Jun 16 '17 at 22:58

I believe that these host numbers predated the ARPAnet. You can find out about them in the Appendix of RFC752.

It writes that, for example, « MIT-AI (host 2 on IMP 6 or 2/6) is compiled as 6002 »

  • 1
    What a simple time it was in 1979, when all networked computers in the world could be included in the appendix of an RFC. – Huckle Jun 17 '17 at 8:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.