further if landmarks are selected from a core set of nodes known to be more stable than the rest of the network, as Strowes and Perkins [66] found to be the case with the Internet. If Cowen Landmark Routing were to replace flat BGP in providing the name-dependent routing functionality for the Internet, it could bring
mode-shifting improvements in both routing table state and communication costs, with only minimal increases in stretch.
The resulting system of Cowen Landmark Routing, replacing BGP for
name-dependent routing, with DNS continuing to provide name-independence, would be a vast improvement in terms of routing state. Even if it did not meet the theoretical ideal, distributed landmark routing would provide significant practical benefits for Internet routing that make it well-worth pursuing.
In summary, the Cowen Landmark Routing scheme provides compact routing, with tremendously improved scaling for routing state compared to the scheme in-use on the Internet today. This scheme achieves that with the lowest possible constant-bounded stretch thought to be possible for compact routing, addressing the stretch-related issues of the previous hierarchical routing schemes. Its average stretch is very good, particularly on scale-free graphs.
The Cowen Landmark routing scheme is both simple and flexible in its operation, and also in its proofs. In particular, the scheme is quite flexible in how its
landmarks can be chosen, allowing the selection mechanism to be adapted to differing requirements. Already there are several different mechanisms for doing so. The question that arises out of Cowen Scheme Routing is how this scheme might be deployed in a distributed manner, implemented by co-operative nodes of a network. Particularly, in a way that would be suitable for deployment on large-scale, decentralised networks such as the Internet.
2.9
Distributed Cowen Landmark Routing
Cowen Landmark Routing appears to be promising, able to deliver significant improvements in routing table and communication scalability over traditional flat routing schemes. The problem remaining is how to distribute it as a workable, compact routing scheme. Portions of this problem have been tackled previously, in work on distributed routing schemes that share elements of Cowen Landmark Routing, as well as on distributed Cowen Landmark Routing directly. A sampling of these schemes are examined in this section, below, so as to help illustrate the challenges which remain.
Tsuchiya [70] had anticipated some aspects of Cowen [17], and described a
multi-level landmark routing scheme in more practical terms, including the bones of a distributed implementation. This uses two algorithms for its name-dependent routing, the first to select landmarks and build a landmark hierarchy in a
bottom-up way; the second a modified Distance Vector (DV) routing algorithm to implement the routing. The modification to the DV algorithm is to add a TTL to its update messages, and restrict the scope of those messages to the scope of the landmark in the hierarchy. Additionally, it specified a name-lookup algorithm, to implement name-independence. The landmark selection algorithm is wholly local and so can not ensure that the required bound on the growth of the landmark set for Cowen’s proof of compactness to apply is met. As noted earlier in
Subsection 2.8 on page 45, this scheme lacked an important constraint on the propagation of messages.
Gerla et al. [28], Pei et al. [58] described a landmark routing protocol, building on the concepts of [70], but using a hierarchy of Fish-Eye Routing (FSR) updates [40]. Their scheme provides for mobility, allowing nodes to “drift” outside of the scope of their landmarks by extending the landmark scope just for those “drifter” nodes. It ensures the landmark-forwarding constraint of Subsection 2.8 on page 44
remains true for such “drifter” nodes by setting up a DV route from the landmark all the way to the “drifter”. FSR is used for the local routing cluster, and DV for landmark routing. The DV messages are piggy-backed onto the FSR messages. The landmark selection scheme is to detect when there are no landmarks in FSR scope for a group larger than some size arbitrary size, X, in which case an election
process occurs. However, their papers do not specify how X should be selected, nor give any significant analysis of this value and its impact in bounding routing state. Mao et al. [51] describe a distributed landmark routing fashioned after Thorup and Zwick [68]. It claims O√N average routing state, though it’s not clear this is
justified4. Landmarks are chosen randomly, but no effort is made to split up any
clusters that end up overly large, as [68]’s random selection scheme does. The cluster condition is expanded, to also select nodes that are as close as their nearest landmark, as Strowes [65] does. In order to avoid having to use landmark ports in node labels, as the Cowen scheme does and described earlier in Subsection 2.8, landmarks also maintain a local routing cluster, again as [65] does. However, as Strowes [65] explains, this means state is no longer worst-case compact at
landmarks. Scoped, modified forms of DV are used for both local cluster routing and landmark routing.
4This claim is referenced as proven in Thorup and Zwick [69], however I have found it difficult
2.9 Distributed Cowen Landmark Routing 49
Singla et al. [64] described a distributed landmark routing scheme with random landmark selection, according to probabilities that require knowing the size of the network, N . To minimise the problem of landmark churn that arises from random selection, [64] uses a state-change heuristic, which depends on N again. The paper is somewhat light on details for the distributed protocol, but uses path-vector (PV) for both local and landmark routing. It claims that its state converges on compact, implying some uncertainty about the state requirements during
bootstrap. The paper notes its control plane actually stores δ√N log N entries due
to the path-vector, which is not at all compact. Unusually, the labels in [64] are source-routed lists, so as to avoid keeping state at landmarks, while also avoiding incorporating landmark output ports into the routing labels. However, these labels need not be compact. It uses a hand-shaking scheme to break big clusters and maintain the per-node bounds even for nodes with large degrees, including
landmarks. The paper argues this demands source-routing, as the distance-closest landmark need not be associated with a landmark.
Strowes and Perkins [66] had noted the suitability of the k-core graph
decomposition in choosing the landmarks for Internet-like networks. They left open the question of how to determine the k-core decomposition in a distributed
manner, required in order to allow a fully distributed Cowen Landmark Scheme to be specified. The solution to this will be given in Chapter 4.
Strowes [65] went on to describe a Cowen Landmark Routing protocol, based on path-vector routing. In the Strowes protocol, nodes announce paths. The
announced paths are forwarded within the scope allowed by the cluster condition, as each announcement contains the landmark distance of the originating node, which can be compared to the length of the path. Thus, every node builds up the required local routing table. As with Mao et al. [51], landmarks also maintain a local routing cluster, so that they can route to the identity label of the of the end-hosts, rather than requiring the forwarding label to contain the output port number. This weakens the state bound at the landmarks to O (N ) in the
general-case. Landmarks are advertised via path announcements which propagate globally. Update handling mechanisms are specified to deal with changes in the network, including the case where a path is updated to have shorter scope than before due to the landmark distance of the originating node becoming shorter. Additionally, the Strowes [65] protocol only converges on compact state, and potentially admits global state for the local cluster routing protocol. Assuming that if the landmark selection mechanism were distributed, that such a distributed landmark selection would run alongside the rest of this protocol continuously and thus bootstrap with it, that mean a boot-strap with an empty landmark set. When
the landmark set is empty, all its routing path-vector announcements are sent with their landmark-distance set to ∞. Thus, until the distributed landmark mechanism has had time to select a landmark set, the Strowes [65] protocol may send global messages. Even there-after, as the landmark set becomes known, the nodes’ initial messages that do have the landmark distance set to a non-global scope will still be propagated globally in order to clear the state of the earlier global scope messages. Bootstrapping a distributed Cowen Landmark Routing scheme with only compact state, avoiding global knowledge (including N ), is thus left open by [65].
The original Cowen Landmark scheme included the output port from a landmark to a node, as the node’s routing label, which allowed the landmark to avoid keeping routing state. This may not be useful in a distributed scheme, as the port number may be more dynamic than the landmark association of the node, and the landmark might have to maintain state anyway in order to determine the output port to nodes. Several of the schemes examined above try to address this, but none manage to do so and remain compact.