[TUHS] conventions around zero padding in ip4

Steffen Nurpmeso steffen at sdaoden.eu
Sun May 8 04:49:15 AEST 2022


ron minnich wrote in
 <CAP6exY++wLs+qqAaHL-7bJGfahS6AE1uitxZG1=yP4Se7sZ_rg at mail.gmail.com>:
 |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.

It was/is called compression there, and it was optional ("may") at
first (in RFC 1884).  RFC 1884 was an overall wonderful RFC,
uppercase or lowercase are possible, leading zeros in a field were
optional ("not necessary") etc.

Unfortunately RFC 5952 loaded too much Sushi and Sake first, and
turned this to a soldiers dream, "Leading zeros MUST be
suppressed", "Shorten as Much as Possible", " "::" MUST NOT be
used to shorten just one 16-bit 0 field", "longest run [.] MUST be
shortened", "MUST [.] lowercase".

Luckily SMTP seems to keep the elder 

 |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?

I did not even know this is possible, but for special software
like postfix SMTP etc., where it de-facto means "substring", so
10.2 is 10.2.0.0/16 (unless i am totally mistakent now).
I could imagine that the introduction of CIDR notation as such
(RFC 1519) played a role?

I have had no idea of networks but modem beeps at all, coming from
a staid pupils' desk with C64 -> DOS -> 4DOS / Windows 3.1 -> 4DOS
/ Windows95B (and then, and then!!  It became real) , and there
you had the GUI boxes which "zero padded" anything, unless i am
mistaken.

Btw ipcalc(1) (of RedHat aka https://gitlab.com/ipcalc) is
incapable to deal with that abbreviation at all.
So it maybe is a generation issue, like most other things.
"'Hope i die before i get old".

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)


More information about the TUHS mailing list