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

Re: [RRG] Geographic aggregation-based routing is at odds with reality



Tony Li wrote:
Hi Iljitsch,
|If I want to shrink my routing tables I can filter out any Canadian |more specifics all over the world except in Canada, and |instead put in |an aggregate that covers the address space used in Canada.


True, but if you do that unilaterally, you affect the flow of traffic as
most specifcs draw the traffic around your network, and you incur the phone
calls from Canada, who will kindly ask you to cease and desist, eh?  ;-)


Yeah. We're mad as heck, and we're not going to take it for very much longer. :-)

We discovered this when we tried to do proxy aggregation the first time: the
abstraction action boundary MUST be carefully and thoughtfully engineered to
avoid unintended consequences.  This requires cooperation.


The problem is not the generation of covering aggregates, but rather the suppression of more-specifics.

I think there is a very suitable boundary at which this can occur, without impacting anything non-local.

And that is, in the RIB->FIB stage.

We are much more concerned about the size of, and to a slightly lesser degree, the stability of, the FIB.

It would be nice to reduce the rate of change in the RIB, and to curtail the growth of the RIB, but except where it leads to bloat in the FIB, the size of the RIB isn't really important per se.

If there were a suitable attribute (e.g. a new BGP attribute, or a well-known community) that could be applied to arbitrary prefixes in the BGP table, which triggered their suppression only in the RIB->FIB, but not in any other place, then shrinking the FIB could be done locally, with no impact at all outside of the local system.

BGP table entries would not be suppressed, and thus would continue to be propagated and usable beyond the local system.

This would differ considerably from the proxy aggregation method that suppresses *in bgp*, the more-specific prefixes.

And, having given it quite a bit of thought, I think this mechanism (coupled with appropriate allocation schemes and reasonable means of calculating and generating tables of aggregates and RIB->FIB suppression maps) could be just the thing needed to achieve
the goals of the RRG. (The devil is in the parentheses, BTW.)

What about the allocation schemes?
It should be noted that one size never fits all, and knowing that in advance should inform any allocation scheme.

I think that schemes that acknowledge the scope of the recipient, are most likely to be useful, widely accepted, and
even self-documenting.

For example, hierarchy of scopes for geographic allocation pools, such as:
Planets {
 earth;
 continents {
   north america;
      countries {
         canada;
            provinces {
               ontario;
                  cities {
                     toronto;
                     [etc...]
                     }
                  counties {
                      durham;
                      york;
                      [etc...]
                     }
         usa;
         mexico;
   south america;
   [etc...]
   }
}

Requests would be directed to the region+scope that best matches the need of the requester, based on the expected routing policy.

A bunch of small satellite sites, would each get an individual entry from the appropriate pools. A big entity that has its own internal infrastructure would get an entry from the pool of corresponding location and scope, e.g. city-wide, state-wide, continent-wide, or even global (for really big telcos or multinationals).

Whatever aggregation is able to be done, is a consequence on the eventual alignment that naturally occurs due to economics.

Over the long-haul networks, aggregation is generally going to occur because there are just fewer long-haul links, and the unit cost of large capacity is smaller, as a general rule.

The alignment of allocation pools with topology can be expected to be proportional to the difference in scope, because of the long-haul aggregation. The number of paths to all destinations in a near-by city in the same state/province, are generally going to be orders of magnitude greater than the number of paths to all destinations in a remote city on another continent.

The relationship between scope size, and number of entities getting address space at that scope, globally, is likely to be order-of-magnitude. If there are O(N) entities with global prefixes, there will likely be O(N^2) continental prefixes, O(N^3) country-level, O(N^4) province/state, O(N^5) city/county, and O(N^6) neighborhood prefixes.

This happens to have very nice properties, BTW. If you are in any given scope, you would expect to be able to aggregate, to some degree, non-local prefixes, and need to keep all the local prefixes. Here, "local" has more than one meaning, but the number of local entries contributed by each scope can expect to be nearly constant, and very well behaved, the sum of linear terms.

Yes, maintaining this hierarchy of pools would have administrative costs - but any allocation scheme has such costs. Minimizing the costs by taking advantage of existing schemes for parameterization, e.g. CLLI codes, NANP info, ISO country codes, etc., would certainly be advisable. Making the aggregation itself a local activity, avoids many of the pit-falls such as cost/benefit asymmetry, changing the economic model(s) of the various players, etc.

The point is to make it possible, and to do so without making aggregation itself mandatory.

Not having to rely on anyone else to *do* the aggregation, but only on the RIRs to assign addresses (and specifically, PI prefixes) according to geography and scope, means the problems *can* be reduced to network engineering problems - hardware and software.

Brian

|If you are also a large network with customers in Canada, I |don't care |whether you also implement this aggregation or not. I can either do |hot potato and give you the Canadian traffic close to the source and |thus optimize for traffic flow, or filter those more specific, |transport the traffic to Canada and then give it to you, optimizing |for routing table size.


Almost every carrier operates with hot potato in mind, out of vested
self-interest.

Tony


--
to unsubscribe send a message to rrg-request@psg.com with the
word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/rrg/> & ftp://psg.com/pub/lists/rrg


--
to unsubscribe send a message to rrg-request@psg.com with the
word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/rrg/> & ftp://psg.com/pub/lists/rrg