The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] conventions around zero padding in ip4
@ 2022-05-09 16:14 Noel Chiappa
  0 siblings, 0 replies; 17+ messages in thread
From: Noel Chiappa @ 2022-05-09 16:14 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2437 bytes --]

    > 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

^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: [TUHS] conventions around zero padding in ip4
@ 2022-05-07 19:43 Noel Chiappa
  2022-05-08 14:54 ` Michael Kjörling
  0 siblings, 1 reply; 17+ messages in thread
From: Noel Chiappa @ 2022-05-07 19:43 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Ron Minnich

    > I first learned in the 80s that 127.1 meant 127.0.0.1. I always assumed
    > zero padding was defined in a standard *somewhere*, but am finding out
    > maybe not. I talked to the IP OG, and he tells me that padding was not
    > in any standard.

I don't think it was very standardized; I've been working on the Internet
since 1977, and this is the very first I ever recall hearing of it! :-)


    > From: Bakul Shah 

    > The converse question is who came up with the a.b.c.d format where each
    > of a,b,c,d is in 0..255?

Again, that was not standardized at an early stage, but was, as best I can now
recall, just adopted by general usage (i.e. without any formal discussion).

There were other ways of specifying a IP address numerically, initially;
e.g. for a while at MIT we were using w,x,y,z (with w-z in octal - note the
','s, which were a syntatic tag for the octal form), which was easier to
interpret when looking at a packet dump on a PDP-11. Here:

  http://ana-3.lcs.mit.edu/~jnc/tech/unix/arc/tftp.c.1

is the source for a user command (from July, 1979) which allowed host
addresses to be given in that form.

I'm not sure who came up with the dotted decimal form; I suspect you'd need to
find some really old email archives, and look in that. There was, early on, a
list called "tcp-ip", used by people who were getting their machines ready for
the NCP->TCP/IP conversion. However, I suspect the 'dotted quad' predates
that; there was an even earlier mailing list, used in early experimental work,
by the group working on internet technology, whose name escapes me (it was
something like "internet working group").

It's possible that an IEN:

  https://www.rfc-editor.org/ien/ien-index.html

might mention the 'dotted quad' syntax; TCP and IP meeting minutes
would be a good place to start.

	Noel

PS: The A/B/C addresses are actually a moderately late stage of IP
addresses. At the very start, they were all '8 bits network numbers, and 24
bits of 'rest''.

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [TUHS] conventions around zero padding in ip4
@ 2022-05-07 16:14 ron minnich
  2022-05-07 16:38 ` Bakul Shah
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: ron minnich @ 2022-05-07 16:14 UTC (permalink / raw)
  To: TUHS main list

I first learned in the 80s that 127.1 meant 127.0.0.1. I always
assumed zero padding was defined in a standard *somewhere*, but am
finding out maybe not. I talked to the IP OG, and he tells me that
padding was not in any standard. [side note: it's weird and wonderful
to still have so many people "present at the creation" of computing as
we know it still around, and to find they are so willing to answer
naive questions!]

Padding is a standard in ip6, possibly because the addresses are so
long. :: is your friend.

IP4 padding came up recently: the ip command interprets 10.2 as
10.2.0.0, whereas most things (golang libraries, ping, ...) interpret
it as 10.0.0.2. The latter interpretation accords with what I learned
40y ago.

But, I find myself wondering: where was the first use of the IP4 zero
padding convention?

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-05-10 10:52 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-09 16:14 [TUHS] conventions around zero padding in ip4 Noel Chiappa
  -- strict thread matches above, loose matches on Subject: below --
2022-05-07 19:43 Noel Chiappa
2022-05-08 14:54 ` Michael Kjörling
2022-05-07 16:14 ron minnich
2022-05-07 16:38 ` Bakul Shah
2022-05-07 16:48 ` Erik E. Fair
2022-05-07 18:49 ` Steffen Nurpmeso
2022-05-07 19:14 ` Warner Losh
2022-05-07 19:50   ` ron minnich
2022-05-07 19:57     ` ron minnich
2022-05-07 23:19   ` Bakul Shah
2022-05-07 23:49     ` Warner Losh
2022-05-08 10:28     ` Ralph Corderoy
2022-05-08  5:21 ` jason-tuhs
2022-05-08 10:22 ` Ralph Corderoy
2022-05-09 14:08   ` Steffen Nurpmeso
2022-05-10 10:49     ` Ralph Corderoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).