Leaky Abstraction: An Example

The paper in question is from 2008, and the remedies have already been implemented in every BGP implementation I know of (in fact, getting rid of the scanner is something that just went into FR Routing). The paper can be found here, and a presentation based on the paper can be found here. They use a different example than mine in the paper—it’s a bit more subtle.

In this case, the abstraction is treating an AS as a single “thing” to provide stability in the larger routing system. But any time you have an abstraction, including summarization and aggregation, there is always some possibility the abstraction will leak. Here the leak is an internal route metric change “leaking” into an actual change in the path through the network, although both paths still exist. There are more subtle changes, such as a route metric change causing an update to be sent even though the path itself hasn’t even changed, but I chose this example to make it easier to understand.