tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 16 year old bug

    Date:        Mon, 23 Aug 2010 11:48:58 -0700
    From:        Dennis Ferguson <>
    Message-ID:  <>

  | For that to work at all across multiple implementations would require a
  | standard to tell you, when your destination address matches more
  | than one route, which of those routes takes precedence.

This is actually a different issue - that's ambiguous netmasks, and
you're right, they were never supported - we did at one stage consider
whether or not they ever could be, but the reasons for using them were
so obscure, and the possible effects so scary, that no-one ever bothered
to define anything, so those things never worked, sensibly anyway, anywhere.

If they did, they would allow a whole set of new (not necessarily useful)
routing possibilities, that IPv4 (and IPv6 of course) can't handle today.

On the other hand, simple non-contig netmasks, with no ambiguity,
certainly were permitted originally.  They work just fine.   They
also offer essentially nothing over contig netmasks - they're just
a permutation of the bits in the addresses.

The one (the only) reason they were permitted, that I know of anyway,
was that by allowing them we apparently let some (perhaps hypothetical)
sites implement subnets without altering their existing IP numbering
scheme.   I personally never saw such a site, and have no direct evidence
one ever existed (or that anyone ever actually used non-contig netmasks
for this reason) - but that was the argument anyway.

Use of them effectively died when original MacOS IP used a GUI for its
netmask config (back before everyone used DHCP for this purpose) - with
a slider to set the division between the network and host parts - obviously
nothing non-contig was possible.   Since just about every site that could
conceivably have wanted to use non-contig netmasks was likely to also have
macs, and want to use IP on them - use of a non-contig mask simply failed.

So they just died away...

  | I was actually at the pre-CIDR IETF meeting where it was discussed
  | whether to standardize the forwarding lookup for routes with
  | non-contiguous masks or disallow them altogether.

As was I.

  | You are almost 20 years too late to influence that outcome.

Yes, they're dead.

  | If something else in the
  | kernel uses this functionality then that is an issue, but this shouldn't
  | be confused with anything related to standard IPv4.


And to correct (which you also kind of did just above) an earlier statement
on this issue from someone else - it wasn't CIDR that killed non-contig
netmasks, CIDR is pretty much irrelevant to this (CIDR affects external
routing, as in BGP, subnet masks are an intra-domain routing factor
(as in IGP rather than EGP).  If CIDR was relevant to the decision
(which I don't think it was, as you indicate, this was all pre-CIDR)
it would have only been in that it made people think more about netmasks,
and what else should be done with them.

Unfortunately, I'm not sure that much of this work ever got documented,
there was much interesting work done in the first router requirements
attempt (which was where much of this was discussed) but it essentially
all vanished into a black hole...


Home | Main Index | Thread Index | Old Index