Representation, Configuration, and Route Information Distribution in Nimrod Ram Ramanathan December, 1993 In this write-up, I have put down my thoughts on representation, configuration and route information distribution. Much of this, especially representation, is what I believe to be status quo (from our discussions), expressed perhaps in a different manner and in slightly more detail. The sections on configuration and route information distribution may be fait accompli to you. Please quip if you don't understand something (it is probably because of sloppy writing) or if you have differences of opinions. Hopefully, using the latter, we can converge to a common viewpoint on things before we start writing the Architectural document. Representation is discussed in section 1, mainly as a basis for discussing section 2 on configuration and route information distribution. Each section has a "theme" that summarizes ideas of the section for those of you that don't have time to go through the entire rant. 1. Representational Entities 1.1. Theme There are four entities that are used for representing topology in Nimrod. These are : cluster, boundary point, intercluster link, intracluster link. A "cluster" is a Nimrod addressable entity. Data flows into and out of a cluster by means of "intercluster links" incident to that cluster at "boundary points". An intercluster link connects two boundary points in distinct clusters. Characteristics of a cluster are expressed by "intracluster links" between a pair of boundary points belonging to the same cluster. All of these entities have "locators" associated with them. An entity's locator is composed using labels and/or locators of other entities. 1.2. Elaboration A set of clusters and the links between them may be aggregated to form a cluster. The former clusters are then said to be "contained" within the latter cluster. Recursive aggregation of clusters in this manner results in a (cluster) "hierarchy". [Remarks : Note that no mention has been made of any "basic" entities. There is no basic entity other than a cluster. Within a cluster, a "local mechanism" determines transfer of data entering the cluster to physical entities within the cluster. These entities may be whatever you want - interfaces, routers, networks, processes and so on. From Nimrod's viewpoint, its job is to get it to the destination cluster indicated, it does not need to worry about the basic entities within the cluster. Note also that there is no representational entity "node". In a sense, the boundary points will behave as "nodes" and the links as "edges/arcs" for a route calculation. However, I see no reason to impose strict graph theoretical notions or structures and have to define notions such as "what is a node" if unnecessary. Maps will be represented in terms of the abovementioned basic representational entities and routes calculated by doing a search on them (you don't need "traditional" graphs for a route).] Very informally, clusters represent network elements that are to be treated somewhat uniformly. Intercluster links represent connectivity between clusters and intracluster links represent the transit characteristics of that cluster. Thus, they are quite different things and have different locator construction schemes (explained later). Note that if there is an intercluster link L between clusters A and B and both A and B are contained within cluster C, then L is *not* an intracluster link for C. Intracluster links always run between boundary points of the same cluster. [Remark : In a sense, the names "intra" and "inter" are misleading and should probably be changed, although I cannot think of anything better at the moment]. Boundary points effect an association between intercluster and intracluster links. The entire transit characteristics of the cluster are expressed in the individual characteristics of the intracluster links between each pair of boundary points. [Remarks : Here we have the famous N^2 problem, ie, the possibility of the number of intracluster links growing as square of the boundary points. Curtailing this is of course necessary, but that is the problem of "abstraction". Abstraction takes a representation and converts it into another, less space consuming one. Any abstraction scheme desired may be used; however, the abstraction must be expressed in a "language" that everybody understands. One such "language", a simple one similar to the one used in IDPR, is given in section 2.2.1] All of the entities discussed above, namely, clusters, boundary points, intercluster links and intracluster links are associated with a unique "locator" that identifies the location of the entity within a particular cluster hierarchy. The basic constituent of a locator is a "label". The locator for an entity, typically, combines in some manner, labels or other locators. The rules for forming the locators could be as follows : Cluster ::- l1.l2.l3...lk, such that l1 is U the universal cluster. lk is the label assigned to the concerned cluster and for all n from 1 to k, ln is contained in l(n-1). Boundary point :- ,[