[TUHS] conventions around zero padding in ip4

Noel Chiappa jnc at mercury.lcs.mit.edu
Tue May 10 02:14:16 AEST 2022


    > There were other ways of specifying a IP address numerically, initially;

I decided to set the Way-Back Machine to as close to 0 as I could get, and
looked to see what the Terminal Interface Unit:

  https://gunkies.org/wiki/Terminal_Interface_Unit

whose source I recently recovered, did. This is an interesting
implementation, because it was definitely one of the first 4 TCP
implementations done (before any UNIX ones); likely one of the first two,
along with the TENEX one. (Actually, they both likely originally predate the
split of TCP and IP into separate protocols, although this version post-dates
that split.)

The manual:

  http://ana-3.lcs.mit.edu/~jnc/tech/mos/docs/tiunv1.lpt

(in "B. TELNET Commands") and the source:

  http://ana-3.lcs.mit.edu/~jnc/tech/mos/tiu/telnet-1.mac

disagree on how the user gave addresses in numeric form in an 'open' command;
both agree that it was '@O <rest>,<net>,<socket>', but the manual claims
that 'rest' "may be specified symbolically, or numerically in decimal", but the
code shows that '#xxx' could also be used, to give it in hex. (Although if hex
were used, the number could be a max of 16 bits; decimal alloweded up to 42 bits.)


    > From: Michael Kjörling

    > Looks like [A/B/C addresses] happened in 1978 or thereabouts?
    > https://www.rfc-editor.org/ien/ien46.txt

No; it post-dates the IEN era; "Assigned Numbers" of September 1981 (RFC-790)
is the first mention I could find of it. (That Dave Clark IEN is talking
about what later became 'IP subnets' - which ironically long pre-date A/B/C -
see IEN-82, February 1979.)

The Internet Protocol spec of September 1981 (RFC-791) also has A/B/C; my
memory is that this change was _not_ discussed in the INWG, Postel just
sprung it on us in these two RFCs.

I suspect what happened is that Jon (as keeper of the network numbers)
realized that there was an increasing demand for network numbers, and 256
would only last so long, so he sprung into action and did the A/B/C thing.
(If this topic is of more interest, it should get moved to the
'internet-history' list, it's off-topic here.)

Interestingly, RFC-790 says: "One notation for internet host addresses
commonly used divides the 32-bit address into four 8-bit fields and specifies
the value of each field as a decimal number with the fields separated by
periods." Note the "one notation", implying that it wasn't any kind of
standard at that point.

	Noel


More information about the TUHS mailing list