I've come across two types of oddities in a network map. The first is an
"empty" PID. For example, consider this map:
PID1: 0.0.0.0/7
PID2: 0.0.0.0/8
PID3: 1.0.0.0/8
PID1 is legal, but it contains no endpoints. Every address in 0.0.0.0/7 is
also in 0.0.0.0/8 or 1.0.0.0/8, and because those CIDRs have longer masks,
every endpoint that might be in PID1 is really in PID2 or PID3. Hence PID1
is empty.
The second oddity deals with "unreduced" PIDs. That is, a PID whose set of
CIDRs could be simplified by combining "adjacent" CIDRs and dropping
"overlapped" CIDRs. For example, consider:
PIDa: 0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 3.0.0.0/8
Those four CIDRs are adjacent, and are equivalent to 0.0.0.0/6. So why not
combine them? Eg, reduce the CIDRs in a PID to the least number? I believe
the reduced form is unique, so each PID would have a canonical set of
CIDRs.
However, in some cases, that reduction can change the endpoint-to-pid
mapping. Consider this network:
PIDa: 0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 3.0.0.0/8
PIDb: 0.0.0.0/7
With that definition, any endpoint that starts with 7 zeros is in PIDa.
However, if we deduce PIDa and redefine the map as:
PIDa: 0.0.0.0/6
PIDb: 0.0.0.0/7
Then any endpoint that starts with 7 zeros moves to PIDb.
But you'll also notice that in the first, unreduced map, 0.0.0.0/7 in PIDb
was empty. I believe that CIDR-reduction can only shift endpoints if the
map has empty CIDRs.
So that leads to two questions:
1. Should the ALTO spec forbid "empty" CIDRs in the network map?
2. Should the ALTO spec require the CIDRs in a PID to be reduced to
"lowest terms"?
If we do both, then each network map has a unique canonical representation.
- Bill Roome
_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto