The Internet has grown in size at rapid rates since BGP records
began, and continues to do so. This has raised concerns about the
scalability of the current BGP routing system, given that the
routing state at each router in a shortest-path routing protocol
will grow at a supra-linearly faster rate as the network grows. The
concerns are that the memory capacity of routers will not be able
to keep up with demands, and that the growth of the Internet will
become ever more cramped as more and more of the world seeks the
benefits of being connected.
Compact routing schemes, where the routing state grows only
sub-linearly relative to the growth of the network, could solve
this problem and ensure router memory would not be a bottleneck to
Internet growth. These schemes trade away shortest-path routing for
scalable memory state, by allowing some paths to have a certain
amount of bounded stretch.
The most promising such scheme is Cowen Routing, which can provide
scalable, compact routing state for Internet routing, while still
providing shortest-path routing to nearly all other nodes, with
only slightly stretched paths to a very small subset of the
network. Currently, there is no fully distributed form of Cowen
Routing that would be practical for the Internet.
This dissertation describes a fully distributed and compact
protocol for Cowen routing, using the k-core graph decomposition.
Previous compact routing work showed the k-core graph decomposition
is useful for Cowen Routing on the Internet, but no distributed
form existed. This dissertation gives a distributed k-core
algorithm optimised to be e cient on dynamic graphs, along with
with proofs of its correctness. The performance and e ciency of
this distributed k-core algorithm is evaluated on large, Internet
AS graphs, with excellent results.
This dissertation then goes on to describe a fully distributed and
compact Cowen Routing protocol. This protocol being comprised of a
landmark selection process for Cowen Routing using the k-core
algorithm, with mechanisms to ensure compact state at all times,
including at bootstrap; a local cluster routing process, with
mechanisms for policy application and control of cluster sizes,
ensuring again that state can remain compact at all times; and a
landmark routing process is described with a prioritisation
mechanism for announcements that ensures compact state at all
times.