[ih] The netmask

Grant Taylor gtaylor at tnetconsulting.net
Wed Jan 8 06:49:22 PST 2025


On 1/8/25 03:49, Michael Grant via Internet-history wrote:
> Might this have been useful in cases where an internal network of 
> machines was multi-homed on 2 separate networks?  As in, it had 2 
> separate prefixes but for simplicity the internal network and host 
> numbering was the same and the internal routing was the masked bits? You 
> wouldn't need this today with either NAT or a globally unique IP address 
> and routing.

Either I'm not understanding what you're suggesting or we're talking 
about two different things.

The OS/390 bit was specifically about what we would consider to be the 
24 contiguous bits for the /24 netmask.

The 192.0.2.0/24 network is in the class B range, thus it has a network 
mask of 255.255.0.0.  However we want it to be a subset of that network 
(mas), thus a sub-net(mask) therein.

11000000.00000000.00000010.00000000 192.0.2.0
NNNNNNNN.NNNNNNNN.xxxxxxxx.xxxxxxxx network mask
xxxxxxxx.xxxxxxxx.SSSSSSSS.xxxxxxxx sub-network mask
xxxxxxxx.xxxxxxxx.xxxxxxxx.HHHHHHHH host bits
NNNNNNNN.NNNNNNNN.SSSSSSSS.HHHHHHHH combination of network mask, 
sub-network mask, and host bits

Conversely for 10.0.0.0/24

00001010.00000000.00000000.00000000 10.0.0.0
NNNNNNNN.xxxxxxxx.xxxxxxxx.xxxxxxxx network mask
xxxxxxxx.SSSSSSSS.SSSSSSSS.xxxxxxxx sub-network mask
xxxxxxxx.xxxxxxxx.xxxxxxxx.HHHHHHHH host bits
NNNNNNNN.SSSSSSSS.SSSSSSSS.HHHHHHHH combination of network mask, 
sub-network mask, and host bits

In OS/390 (et al.) the sub-net(work) mask is a separate configuration 
from the net(work) mask which is based on the class of the IP address.

At least this is, and has been, my working understanding of OS/390's 
TCP/IP configuration on my P/390-E.

The point that I'm trying to emphasize is that the sub-net(work) mask is 
a separate configuration value than the net(work) mask.  The net(work) 
mask and the sub-net(work) mask are combined to get what we now consider 
to be one aggregate thing and call sub-net / net-mask in common parlance.

I suspect this harks back to an older version of the TCP/IP stack that 
only had support for the net(work) mask.  I speculate that newer 
versions of the software wanted to be compatible with configuration 
files for older versions and as such added the sub-net(work) portion as 
an additional parameter.

But I've seen reference to the difference in net(work) mask and 
sub-net(work) mask in other things.

We can also see some hints of this separation of net(work) mask ans 
bub-net(work) mask in Cisco IOS wherein `show ip route` groups multiple 
sub-et(work) prefixes under their net(work) prefix.  E.g.

17.0.0.0/8 is variably subnetted ...
    17.43.58.0/24 [200/0] via ...
    ...
170.187.0.0/16 is variably subnetted ...
    170.187.6.0/23 [200/0] via  ...
    ...
216.152.65.0/24 [200/0] via ...
136.237.0.0/24 is subnetted ...
    136.237.45.0 [200/0] via ...
    ...

So the sub-net(work) being separate from the net(work) is not strictly 
isolated to OS/390.

IMHO even the names suggest that they are, or at least were / used to 
be, separate things: "net(work) mask" and "sub-net(work) mask".

The sub-net(work) mask wasn't anything like Cisco wildcards like I think 
you might be alluding to or what we might consider to be host-bits in 
various IPv6 network prefixes today.

All of this is based on my observations and trying to understand them 
over the years and as such can be anywhere between not quite correct and 
completely wrong.



-- 
Grant. . . .


More information about the Internet-history mailing list