Stupid Question maybe?

Joel Halpern jmh at joelhalpern.com
Tue Dec 18 22:30:15 UTC 2018


History of non-contiguous network masks, as I observed it.

The rules did not prohibit discontiguous network masks.  But no one was 
sure how to make them work.  In particular, how to allocate subnets from 
discontiguous networks in a sensible fashion.

In the early 90s, during the efforts to solve the swamp and classful 
exhaustion problems, Paul Francis (then Tsuchia) and I each worked out 
table structures that would allow for discontiguous masks with 
well-defined "prefixes" / "parents".  Both approaches were based on 
extensions of Knuth's Patricia trees.  (It took some interesting 
analysis and extensions.)

When we were done, other folks looked at the work (I don't know if the 
Internet Drafts are still in repositories, but they shoudl be.)  And 
concluded that while this would work, no network operations staff would 
ever be able to do it correctly.  So as a community we decided not to go 
down that path.

Yours,
Joel

On 12/18/18 5:12 PM, David Edelman wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> I seem to remember that before the advent of VLSM and CIDR there was no requirement for the 1 bits in the netmask to be contiguous with no intervening 0 bits and there was always someone who tested it out on a production network just to prove a point (usually only once)
> 
> Dave
> 
> - -----Original Message-----
> From: NANOG <nanog-bounces at nanog.org> On Behalf Of Naslund, Steve
> Sent: Tuesday, December 18, 2018 3:37 PM
> To: nanog at nanog.org
> Subject: RE: Stupid Question maybe?
> 
> It is a matter of machine readability vs human readability.  Remember the IP was around when routers did not have a lot of horsepower.  The dotted decimal notation was a compromise between pure binary (which the equipment used) and human readability.  VLSM seems obvious now but in the beginning organizing various length routes into very expensive memory and low horsepower processors meant that it was much easier to break routes down along byte boundaries.  This meant you only had four different lengths of route to deal with.  It was intended to eliminate multiple passes sorting the tables.  I am not quite sure what you mean about interspersing zeros, that would be meaningless.  Remember that it is a mask.  The address bits which are masked as 1s are significant to routing.  The bits that are masked with 0s are the host portion and don't matter to the network routing table.
> 
> Steven Naslund
> Chicago IL
> 
> 
>> /24 is certainly cleaner than 255.255.255.0.
>>
>> I seem to remember it was Phil Karn who in the early 80's suggested that expressing subnet masks as the number of bits from the top end of the address word was efficient, since subnet masks were always a series of ones followd >by zeros with no interspersing, which was incorporated (or independently invented) about a decade later as CIDR a.b.c.d/n notation in RFC1519.
>> 	- Brian
> -----BEGIN PGP SIGNATURE-----
> 
> iF0EARECAB0WIQQP+UHquEepll566aqXCCyZOY1FIQUCXBlw1AAKCRCXCCyZOY1F
> IYkTAJ98Gh+IGhDcyIB92H9JyWtbCVDhugCfZXq60pnHCqttKfw2fpUCBagTxYo=
> =RimM
> -----END PGP SIGNATURE-----
> 
> 




More information about the NANOG mailing list