Academia.eduAcademia.edu

Functional Model of a Routing System Architecture

We propose a functional model of the routing system that aims to be used as a common framework from which any specific routing scheme can be derived: the traditional routing schemes OSPF, RIP, BGP, etc., the compact routing schemes, the greedy routing schemes, and new ones. The proposed model will provide a common language to develop routing schemes and will facilitate the comparison between them. The design of a functional model of the routing system is part of the work being done in the FP7 European project EULER (Experimental UpdateLess Evolutive Routing), which aims to investigate new interdomain routing schemes for the Future Internet.

Functional Model of a Routing System Architecture Miguel H. Camelo, Pere Vilà, Lluís Fàbrega Dimitri Papadimitriou Institut d’Informàtica i Aplicacions Universitat de Girona Girona (Spain) {miguel.camelo|pere.vila|lluis.fabrega}@udg.edu Alcatel-Lucent Bell Antwerp (Belgium) [email protected] Pedro Pedroso, Davide Careglio Broadband Communications Research group Universitat Politècnica de Catalunya Barcelona (Spain) {ppedroso|careglio}@ac.upc.edu Abstract—We propose a functional model of the routing system that aims to be used as a common framework from which any specific routing scheme can be derived: the traditional routing schemes OSPF, RIP, BGP, etc., the compact routing schemes, the greedy routing schemes, and new ones. The proposed model will provide a common language to develop routing schemes and will facilitate the comparison between them. The design of a functional model of the routing system is part of the work being done in the FP7 European project EULER (Experimental UpdateLess Evolutive Routing), which aims to investigate new interdomain routing schemes for the Future Internet. and metrics for the routing schemes and provide relevant experimental scenarios. The project will develop appropriate tools to evaluate the performance of the proposed routing schemes on large-scale topologies (order of 10k nodes). Prototype of the routing protocols as well as their functional validation and performance benchmarking on the iLab.t experimental facility [2] and/or virtual experimental facilities such as OFELIA [3] will allow validating under realistic conditions the overall behavior of the proposed routing schemes. Keywords- routing architecture; functional decomposition; EFFBD diagrams; Future Internet One of the initial objectives is to design a generic routing architecture from where all the specific routing schemes will be derived. The motivations for initiating the architecture work by means of a systematic approach include the following: I. INTRODUCTION The main objective of the EULER exploratory research project [1] is to investigate new routing paradigms so as to design, develop, and validate experimentally a distributed and dynamic routing scheme suitable for the future Internet and its evolution. The resulting routing scheme(s) is/are intended to address the fundamental limits of current stretch-1 shortestpath routing in terms of routing table scalability but also topology and policy dynamics (perform efficiently under dynamic network conditions). Therefore, this project will investigate trade-offs between routing table size (to enhance scalability), routing scheme stretch (to ensure routing quality) and communication cost (to efficiently and timely react to various failures). The driving idea of this research project is to make use of the structural and statistical properties of the Internet topology (some of which are hidden), as well as the stability and convergence properties of the Internet policy, in order to specialize the design of a distributed routing scheme known to perform efficiently under dynamic network and policy conditions when these properties are met. The project will develop new models and tools to exhaustively analyze the Internet topology, to accurately and reliably measure its properties, and to precisely characterize its evolution. These models, that will better reflect the network and its policy dynamics, will be used to derive useful properties This research work is conducted and funded by the European Commission through the EULER project (Grant No.258307) part of the Future Internet Research and Experimentation (FIRE) objective of the 7th Framework Programme (FP7). This paper is also partially supported by Spanish MICINN projects FIERRO under contract TEC2010-12250-E and TRION under contract TEC2009-10724.     To determine a common baseline with a common architecture that covers all/part of the routing models/schemes. To facilitate comparison between the different routing schemes that will be designed. To define a common "language"; thus, preventing misinterpretation among different dimensions and actors involved in the design of routing system. To lead to modular software development (preventing duplicates). In other words, by starting from a top-level view down to the design of the routing scheme, it results into a holistic approach of the problem that is complementary to experimental /bottom-up approach. Past experiences show that without a well defined system architecture, adding or removing functionality leads to further complexity (see IP control plane design today); in practice, finding the suitable tradeoff between evolutivity, flexibility, and performance is critical to ensure longevity of the architecture. A. Definitions A “system architecture” is defined in [4][5][6] as a set of functions, states, and objects/information (referred to as “elements”) together with their behavior, structure (relationships and interactions), composition and spatiotemporal distribution. The specification of these elements is referred to the functional model architecture, the information model architecture and the state model architecture, respectively. Note that the architectural specification includes the principles and guidelines governing their design and evolution over time. In this paper we focus on the functional model. Functional (routing) model determines a systematic decomposition of the (routing) system by defining the routing system functional design, its inputs/outputs, and its various interfaces. This modeling technique (or methodology) enables thus to systematically describe the automated processing that a complex system must perform to transform available inputs to the desired outputs. The fundamental underlying idea is the following: the system is viewed as a distributed computing function. The processing performed by the system can be explained by iteratively decomposing the more complex toplevel functions or functional areas into a set of simpler functions (subfunctions). Each subfunction is computed by an organized sub-system. This decomposition is performed up to the level of atomic functions that cannot be further decomposed. B. Enhanced Functional Flow Block Diagrams (EFFBD) It is necessary to select a technique for generating the different diagrams and decompositions of the functional model. In this case the Functional Flow Block Diagram (FFBD) has been selected and specifically the Enhanced version (EFFBD), which models both the “control” and the “data” aspects of the system [7][8][9]. FFBD provides a hierarchical decomposition of the system's function with a control structure that dictates the order in which the subfunctions can be executed at each level of the decomposition. The FFBD presents thus the logical sequencing of the same subfunctions as those identified through functional decomposition by displaying them in their logical, sequential relationship. Typically a function shall be represented by a rectangle containing the title of the function (an action verb followed by a noun phrase) and its unique identifier, usually a number. A single arrowhead line indicates the functional flow from one function to another. The AND constructor is a condition in which all preceding or succeeding paths are required. The symbol may contain a single input with multiple outputs or multiple inputs with a single output, but not multiple inputs and outputs combined. See the example in Fig. 1, where F2 and F3 begin in parallel after completion of F1, and F4 begins after completion of F2 and F3. In a similar way to the AND constructor there is also an OR constructor which is in fact an exclusive OR: only one of multiple preceding or succeeding paths is required, but not many. An inclusive OR can be build combining AND and OR constructors. EFFBD displays the control dimension of the functional model in an FFBD format (extended with new constructors: iteration, loops, and multiple exit from functions) with a data flow overlay to effectively capture data dependencies. Thus, EFFBD represents: (1) functions, (2) control flows, and (3) data flows. The logic constructs allow you to indicate the control structure and sequencing relationships of all functions accomplished by the system being analyzed and specified. When displaying the data flow as an overlay on the control flow, the EFFBD graphically distinguishes between triggering and non-triggering data inputs. Triggering data is required before a function can begin execution. Therefore, triggers are actually data items with control implications. In EFFBD, a function can begin execution if it is both enabled (by control) and triggered (by data). In the case where there is no data trigger specified, a function begins execution upon being enabled. A function is enabled if the function(s) that precedes it in the control flow specification have completed execution (e.g., satisfied their completion criteria). A function is triggered when the required stimulus data item becomes available to the function. See the example in Fig. 2, where F4 is enabled by F1 and triggered by data D2, and F5 is enabled by F2 and “F3 or F4” and triggered by data D3. Figure 2. An EFFBD example. C. Outline of the paper The paper is structured as follows. In Section II we describe our proposed functional model of the routing system architecture. In section III we use this generic architecture to describe a specific scheme of compact multicast routing. Finally, in Section IV we present the conclusions and the future work. II. DESCRIPTION OF THE ROUTING SYSTEM ARCHITECTURE FUNCTIONAL MODEL In this section we present our proposal of a functional model of the routing system architecture. The “Route” function is decomposed iteratively in a set of functions and subfunctions (1st and 2nd level decompositions), which are all shown in Fig. 3. Then, for each function, we provide a definition and describe its sequential relationship with other functions using EFFBD diagrams. The “Route” function is defined as:  Figure 1. An FFBD example. The process of finding a path in a network from any source to any destination along which to send traffic. It Figure 3. Functional Hierarchical Decomposition of the Routing System Architecture. consists in discovering information about the network topology and about the routing paths obtained by other nodes, processing this information, computing new paths and selecting one of them. The results are stored in the Routing Table (RT). It is decomposed into the following functions (Fig. 3):  Discover Topology Information (DTI), Discover Routing Information (DRI), Process Topology and Routing Information (PTRI), Determine Routing Path (DRP), Generate Routing and Forwarding Tables (GRFT) and Relate Name to Locator/Coordinate (RNLC). The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 4. A. “Discover Topology Information” (DTI) function The “Discover Topology Information” function is defined as:  The acquisition, dissemination and maintenance of information about the topology, i.e., states and properties of interfaces, links and nodes. Topology Information Units (TIUs) are obtained through the exchange of information with other (neighbor and remote) nodes, and from processing this information. The Topology Information Base (TIB) is the database where TIUs are maintained. It is enabled/triggered by the following functions (Fig. 4):    Enabled by the DTI function of other nodes, when TIUs are received from other nodes through the external interfaces. Auto-enabled by certain changes in the TIB, internal timers or others. Enabled by the PTRI function, when its processing results in terms of TIUs are to be stored in the TIB, or when it requests TIUs from the TIB to be processed. It enables/triggers the following functions (Fig. 4):    It enables the DTI function of other nodes, when TIUs are sent to other nodes through the external interfaces It enables the PTRI function in order to process TIUs for structuring and analysing topology information. It enables the DRP function in order to process TIUs for computing new routing paths. It is decomposed into the following functions (Fig. 3):  Send and Receive. Sending and reception of TIUs to/from other nodes through the external interfaces, including the operations related to packet scheduling Figure 4. EFFBD of the “Route” function.   and management of input and output queues (storage, sending priorities, discarding rules, etc.) Exchange Topology Information. Activation and control of the operations for the acquisition, dissemination and maintenance of TIUs (i.e., it initiates the sending of TIUs to other nodes, the processing of received TIUs and the related operations in the TIB), for the processing of TIUs in order to structure and analyse topology information, and for the processing of TIUs to compute new routing paths. It can be triggered by changes in the TIB, by internal timers or others. Operate Topology Information Base. Creation, maintenance and use of the TIB database, including the control to access the data, the enforcement of data integrity, the management of concurrency, the recovery and restoration of the database after failures, and the maintenance of the database security.         The acquisition, dissemination and maintenance of information about the routing paths and/or distances to reachable destinations. Routing Information Units (RIUs) are obtained through the exchange of information with other (neighbour and remote) nodes, and from processing this information. The Routing Information Base (RIB) is the database where RIUs are maintained. It enables the DRI function of other nodes, when RIUs are sent to other nodes through the external interfaces. It enables the PTRI function in order to process RIUs for structuring and analysing routing path information. It enables the DRP function in order to obtain “selected” RIUs. It is decomposed into the following functions (Fig. 3):  B. “Discover Routing Information” (DRI) function The “Discover Routing Information” function is defined as: Enabled by the GRTE function in order to retrieve the “selected” RIUs from the RIB. It enables/triggers the following functions (Fig. 4): The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 5. Figure 5. EFFBD of the DTI function. Enabled by the DRP function in order to store “computed” and “selected” RIUs in the RIB. Send and Receive. Sending and reception of RIUs to/from other nodes through the external interfaces, including the operations related to packet scheduling and management of input and output queues (storage, sending priorities, discarding rules, etc.). Exchange Routing Information. Activation and control of the operations for the acquisition, dissemination and maintenance of RIUs (i.e., it initiates the sending of RIUs to other nodes, the processing of received RIUs and the related operations in the RIB), for the processing of RIUs in order to structure and analyse routing information, and for the selection of RIUs based on some criteria. It can be triggered by changes in the RIB, by internal timers or others. Operate Routing Information Base. Creation, maintenance and use of the RIB database, including the control to access the data, the enforcement of data integrity, the management of concurrency, the recovery and restoration of the database after failures, and the maintenance of the database security. The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 6. It is enabled/triggered by the following functions (Fig. 4):    Enabled by the DRI function of other nodes, when RIUs are received from other nodes through the external interfaces. Auto-enabled by certain changes in the RIB, internal timers or others. Enabled by the PTRI function, when its processing results in terms of RIUs are to be stored in the RIB, or when it requests RIUs from the RIB to be processed. Figure 6. EFFBD of the DRI function. C. “Process Topology and Routing Information” (PTRI) function The “Process Topology and Routing Information” function is defined as:  The structuring and analysis of information about the topology (in terms of TIUs) and the routing paths (in terms of RIUs) using advanced techniques which permit: (1) to obtain patterns, features, properties and hidden relationships in the information, by applying statistical and artificial intelligence methods over large data sets; (2) to derive complex information from simple information; (3) to transform a coordinate space to another space with new properties, which allow to compute better paths It is decomposed into the following functions (Fig. 3):    It is enabled/triggered by the following functions (Fig. 4):    Auto-enabled by means of internal timers and others in order to process information. Enabled by the DTI function, when this function requires processing TIUs for structuring and analysing topology information.    It enables the DTI function for requesting TIUs from the TIB that are to be processed or for storing TIUs in the TIB that have been processed. It enables the DRI function for requesting RIUs from the RIB that are to be processed or for storing RIUs in the RIB that have been processed. It enables the DRP function in order to process “structured” RIUs or TIUs for computing new routing paths. Compose. Production of combinations from TIUs or RIUs so as to build more complex TIUs and RIUs (called “structured” TIUs or RIUs). Map/Embed. Transformation of a given metric space (in terms of TIUs) into another metric space (in terms of TIUs) with new properties, which allow to compute better paths. The transformation is given by a mapping function. The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 7. D. “Determine Routing Path” (DRP) function The “Determine Routing Path” function is defined as:  Enabled by the DRI function, when this function requires processing RIUs for structuring and analysing routing path information. It enables/triggers the following functions (Fig. 4): Mine. Given a set of TIUs or RIUs, finding of (hidden) relationships, patterns, features/properties or classes between them (in terms of TIUs), by applying statistical and artificial intelligence methods over large data sets. The computation of new routing paths (called “computed”) from the information about the topology (in terms of TIUs) and the routing paths (in terms of RIUs), and the selection of some of these computed paths (called “selected”) based on some criteria. It is enabled/triggered by the following functions (Fig. 4):    Enabled by the DTI function in order to process TIUs for computing new routing paths. Enabled by the DRI function in order to obtain “selected” RIUs. Enabled by the PTRI function in order to process “structured” RIUs or TIUs for computing new routing paths. Figure 7. EFFBD of the PTRI function. It enables/triggers the following functions (Fig. 4):   It enables the DRI function in order to store “computed” and “selected” RIUs in the RIB. It enables the RNLC function in order to resolve or locate a node identifier as well as to identify itself (in terms of IIUs). It is decomposed into the following functions (Fig. 3):   Compute. Obtaining of new routing paths (called “computed”) in terms of RIUs from (“structured”) RIUs and/or TIUs. It can be seen as the operation of finding the routing paths that minimize or maximize a multi-constrained multi-objective function.  It enables the DRI function, in order to retrieve the “selected” RIUs from the RIB. It is decomposed into the following functions (Fig. 3):   Derive Routing Table Entries. Derivation of the RTEs from the “selected” routing paths (“selected” RIUs) stored in the RIB, and the storage in the RT. Transfer to Forwarding Table. Derivation of the FTEs from the RTEs stored in the RIB, and the storage in the FT. The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 9. Select/Filter Path. Given a set of RIUs, choice of a limited number of RIUs (called “selected”) either by enforcing selection rules, by applying filters, or by multi-criteria decision. Note that RTEs are derived from these “selected” RIUs. The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 8. Figure 9. EFFBD of the GRFT function. F. “Relate Name to Locator / Coordinate” (RNLC) function The “Relate Name to Locator / Coordinate” function is defined as:  Figure 8. EFFBD of the DRP function. E. “Generate Routing and Forwarding Table” (GRFT) function The “Generate Routing and Forwarding Table” function is defined as:  The generation of the Routing Table (RT) and the Forwarding Table (FT). Routing Table Entries (RTEs) are derived from the “selected” routing paths (“selected” RIUs) stored in the RIB, and Forwarding Table Entries (FTEs) are derived from these RTEs. It enables/triggers the following functions (Fig. 4): The identification, resolution and location of nodes (associated to routing), based on Identification Information Units (IIUs). This function is mainly “external” since the identification information is not maintained by the nodes but by an external entity. Internally, in the nodes, this function is responsible of managing the requests of identification, resolution and location with this external entity and/or an internal database where the identification information is cached. It is enabled/triggered by the following functions (Fig. 4):  Enabled by the DRP function, in order to resolve or locate a node identifier as well as to identify (in terms of IIUs). It is decomposed into the following functions (Fig. 3):    Identify. Assignment of identifiers to nodes. These identifiers can be either topology-dependent (locators) or topology-independent (names). A locator can take the form of a label, a topology-dependent address or a coordinate. Resolve. Translation, conversion, or mapping from the name of the destination to its associated locator. Locate. The functionality allowing destinations to be located by means of the resolution function. The sequential relationship between these functions using an EFFBD diagram is shown in Fig. 10. Figure 10. EFFBD of the RNLC function. III. AN APPLICATION EXAMPLE: A COMPACT MULTICAST ROUTING SCHEME A. Compact multicast routing Compact routing schemes address the fundamental tradeoff between the memory space required to store the routing table entries and the length of the routing paths that these schemes produce [10]. As recently formalized in [11], dynamic compact multicast routing algorithms enable the construction of pointto-multipoint routing paths from any source to any set of destinations referred to as leaves. The tree determined by this point-to-multipoint routing path is commonly referred to as the Multicast Distribution Tree (MDT) as it enables the distribution of multicast traffic. In [12] we recently proposed a name-independent compact multicast routing (CMR) scheme for leaf-initiated, distributed and dynamic construction of MDT. In this context, “leafinitiated” means that the join/leave requests are initiated by the leaves; “distributed” implies that transit nodes process the join/leave requests and compute the routing table entries (no centralized processing by the root); and “dynamic” refers to the on-line capability to timely process the join/leave requests as they arrive without re-computing and rebuilding the MDT from scratch. The objective of the proposed algorithm is to minimize the routing table sizes of each node n ∈ V at the expense of i) routing the packets on paths with relative small deviation compared to the optimal stretch obtained by the Steiner Tree algorithm as well as ii) higher communication cost compared to the Shortest Path Tree algorithm. To this end, CMR reduces the local storage of routing information by keeping only (direct) neighbor-related entries rather than tree structures (as in ST) or network graph entries (as in both SPT and ST). As such, it is actually a true “protocol independent” multicast routing scheme. In other terms, the novelty of this algorithm is on maintaining local topology information (|deg(n)| routing table entries) instead of global topology information (|V-1| entries) providing the least cost next hop during the MDT construction. As a first contribution, in [12] we only focused on a leaf node u joining MDT. B. Hierarchical decomposition of CMR The hierarchical decomposition of CMR is shown in Fig. 11. The problem consists in joining a leaf node u to a multicast tree sourced in s. If node u is already part of MDT then it is either a transit or branching node of the already deployed MDT. Otherwise, node u is not part of MDT and it must search for the least cost branching path towards a node v belongs to MDT. As said above, nodes do not store topology information and only keeps local storage of routing information knowing only (direct) neighbor-related entries. The information needed to reach a given multicast source s is acquired by means of a discovering search mechanism (details explained in [12]) that returns the upstream node along the least cost branching path to the MDT sourced at s. Such mechanism is triggered whenever a node decides to join a given multicast source s as part of a multicast group. Two types of messages are involved in this process, namely the request (type-R) messages flowing in the upstream Figure 11. Functional Hierarchical Decomposition of CMR. direction, i.e., towards the multicast source, and response (typeA) messages sent in the downstream direction, i.e., towards the joining leaf node u. Higher cost may hinder CMR applicability to large-scale topologies such as the Internet. Hence, to keep the communication cost as low as possible, the algorithm's search process is segmented in two different stages by executing first a local search covering the leaf's neighborhood (the so-called vicinity B), and, if unsuccessful (no nodes belonging MDT are found), executing a global search over the remaining topology. For this very reason, a flag e distinguishes the messages exchanged during the search stages, both type-R and type-A messages are flagged as internal, e=0, if belonging to the local search procedure, and as external, e=1, otherwise. Besides, type-R messages comprise a maximum path budget, pbudget, to define the vicinity B. Being decremented at each hop with the vicinity node’s out-degree, pbudget settles the maximum reachability of type-R messages with flag e=0 by determining the size of the vicinity B, whenever pbudget = 0. This algorithm needs to keep only the Multicast Routing Information Base (MRIB) and Tree Information Base (TrIB) type of routing entries. MRIB is the MDT topology description, i.e., it indicates the upstream neighbor to which to send the join requests along the MDT. After a node becomes member of a MDT, a multicast routing entry is dynamically created and stored in the local Tree Information Base (TrIB). From these routing table entries, multicast forwarding entries are created. IV. CONCLUSIONS AND FUTURE WORK In this paper we have presented a proposal of a functional model of the routing system architecture. This generic routing architecture aims to be used as a common framework from which any specific routing scheme can be derived. We have decomposed the route function in a set of subfunctions and described their sequential relationship using EFFBD diagrams. In order to show the validity of the proposal, we have used this generic architecture to describe a specific compact multicast routing scheme. Next step is the integration of this functional model with an information model (which is already being developed), in order to create a complete architecture of the routing system. REFERENCES [1] EULER research project, EU-FP7-258307, http://www.euler-fireproject.eu. [2] iLab.t experimental facility at IBBT, http://www.ibbt.be/en/ilab/ilab-t [3] OFELIA experimental facility, http://www.fp7-ofelia.eu/ [4] D.E.Perry and A.L.Wolf, “Foundations for the Study of Software Architecture", ACM SIGSOFT Software Engineering Notes, Vol.17, No.4, October 1992. [5] D. Garlan and D. E. Perry, “Introduction to the special issue on software architecture”, IEEE Transactions on Software Engineering, 21(4), Apr. 1995, pp. 269-274. [6] G. Booch, Presentation at the Software Developers’ Conference, 1999. [7] A. McInnes, B. Eames, R. Grover, “Formalizing Functional Flow Block Diagrams Using Process Algebra and Metamodels”, IEEE Transactions On Systems, Man, and Cybernetics—Part A: Systems And Humans, Vol. 41, No. 1, January 2011. [8] J. Long, “Relationships between Common Graphical Representations in System Engineering”, 2002 Vitech Corporation, Accessed June 2011, available at: http://www.coinsweb.nl/wiki/ccdownloads/CommonGraphicalRepresent ations_2002.pdf. [9] B.F. Blanchard, BF and W. Fabrycky, “Systems Engineering and Analysis”, Prentice Hall, Second Ed., 1990, (Fifth Ed., 2011) and Defense Systems Management College 1990. [10] D. Peleg and E. Upfall, “A trade-off between space and efficiency for routing tables,” J. ACM, vol. 36, no. 3, pp. 510–530, Jul. 1989. [11] I. Abraham, D. Malkhi, D. Ratajczak, “Compact multicast routing,” Proc. 23rd Int. Symp. DISC'09, Elche, Spain, pp.364–378, Sep. 2009. [12] P. Pedroso, D. Papadimitriou, D. Careglio, “A name-independent compact multicast routing algorithm”, available as Technical Report, UPC-DAC-RR-CBA-2011-15, March 2011