Network Working Group                            Dimitri Papadimitriou
    Internet Draft                                        Martin Vigoureux
    Intended status: Informational                          Alcatel-Lucent
    
                                                          Wouter Tavernier
    Expires: April 14, 2013                                   Didier Colle
                                                                     UGent
                                                           October 15 2012
    
    
                            IRS Architectural Framework
                        draft-dimitri-irs-arch-frame-00.txt
    
    
    Abstract
    
       This document details the possible architectural and design choices
       in order to determine i) the spatial location of the so-called "IRS
       interface" and the functional entities it directly and/or indirectly
       involves, ii) the number of levels of redirection between routing
       modules and application (and associated identifier space), and iii)
       the various constraints that can be anticipated when dealing with the
       coupling of functional planes including the prevention of
       oscillations between two or more routing system states, coupling
       effects (leading to amplification chains) and, concurrency (leading
       to antagonistic action-reaction).
    
       Disclaimer: this document doesn't intend to promote any specific
       architecture; its purpose is to understand (some of) the
       architectural challenges when designing interaction between routing
       system and applicative levels/systems.
    
    Status of this Memo
    
       This Internet-Draft is submitted in full conformance with the
       provisions of BCP 78 and BCP 79.
    
       Internet-Drafts are working documents of the Internet Engineering
       Task Force (IETF), its areas, and its working groups.  Note that
       other groups may also distribute working documents as Internet-
       Drafts.
    
       Internet-Drafts are draft documents valid for a maximum of six months
       and may be updated, replaced, or obsoleted by other documents at any
       time.  It is inappropriate to use Internet-Drafts as reference
       material or to cite them other than as "work in progress."
    
       The list of current Internet-Drafts can be accessed at
       http://www.ietf.org/ietf/1id-abstracts.txt
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 1]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       The list of Internet-Draft Shadow Directories can be accessed at
       http://www.ietf.org/shadow.html
    
       This Internet-Draft will expire on April 14 2013.
    
    Copyright Notice
    
       Copyright (c) 2012 IETF Trust and the persons identified as the
       document authors. All rights reserved.
    
       This document is subject to BCP 78 and the IETF Trust's Legal
       Provisions Relating to IETF Documents
       (http://trustee.ietf.org/license-info) in effect on the date of
       publication of this document. Please review these documents
       carefully, as they describe your rights and restrictions with respect
       to this document. Code Components extracted from this document must
       include Simplified BSD License text as described in Section 4.e of
       the Trust Legal Provisions and are provided without warranty as
       described in the Simplified BSD License.
    
    Table of Contents
    
       1. Introduction.................................................3
       Conventions used in this document...............................4
       2. Terminology, Notation and Acronyms...........................5
          2.1. Terminology and Notation................................5
          2.2. Acronyms................................................6
       3. Use Cases....................................................7
       4. Architectures................................................9
          4.1. Dual architectures......................................9
             4.1.1. Boundary on external interface.....................9
             4.1.2. Boundary on internal interface....................13
          4.2. Star architecture......................................15
             4.2.1. Co-located Dispatch Function......................15
             4.2.2. Non Co-located Dispatch Function..................16
          4.3. Meshed architecture....................................18
       5. Comparative Analysis........................................19
       6. Security Considerations.....................................19
       7. IANA Considerations.........................................19
       8. Conclusions.................................................19
       9. References..................................................20
          9.1. Normative References...................................20
          9.2. Informative References.................................20
       10. Acknowledgments............................................20
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 2]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    1. Introduction
    
       Nowadays, applicative layers don't only rely on the shared
       infrastructure for information communication purposes but also for
       information storage (e.g., content delivery/caching, large date sets)
       and processing (e.g., grid computing, virtual machines). The
       expansion of the functional role of the shared infrastructure has in
       turn induced the rise of intermediate systems/application level hubs
       under the control / supervision of providers (usually ranging from
       application providers to mediators).
    
       With the current Internet model where the routing system is a closed
       system, applications have to run their own measurement end-to-end to
       determine forwarding path characteristics through traffic monitoring
       but also have no means by which some network path can be enforced (by
       network path we refer here to the path as computed on-line by routing
       algorithms or those made available by off-line means). The best
       example is the triangular inequality violation where the shortest
       path between two end points (shortcut) may not be the best bandwidth
       x delay path between these two points. Indeed, as there is no
       deployed mean (e.g., source routing) by which applicative layers can
       tell the network which path IP datagrams shall follow, measurements
       don't allow any subsequent decision tuning on which network path to
       follow to reach a given destination. The alternative is to drive the
       routing table entries by applicative-triggers exchanged by means of
       an API (referred to as IRS since one end of this interface terminates
       in the "routing system") assuming applications share with the routing
       system a common understanding of distance and resource usage metrics.
       In other terms, compared to the decoupling between traffic
       engineering decisions concerning network path and applicative layers
       needs, such model would allow cooperation in the routing decision
       process.
    
       In this context, the actual objectives of the present document are
       the following:
    
       i) Enumerate possible architectural and design choices to determine
       the spatial location of the so-called "IRS interface" and the
       functional entities it directly and/or indirectly involves. In turn,
       this enables determining internal vs. external interfaces (those that
       MAY be standardized and those that MUST be standardized, and those
       that require specific architectural focus when dealing with security
       aspects).
    
       ii) Determine the number of levels of redirection between routing
       modules and application (and the associated identifier space).
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 3]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       iii) Identify pro's and con's of possible architectures depending on
       use cases (bottom-up) that in general will combine one or more of
       these elements: distance/path, topology ((abstract) nodes, (abstract)
       links), location/mobility (end-point, data, etc.); note that the
       inclusion of traffic properties leads de facto to the introduction of
       monitoring points.
    
       iv) Anticipate the constraints (from base distributed control and
       decision theory) when dealing with the coupling of functional planes
       and some architectural invariants identified (top-down). These
       includes the prevention of i) oscillations between two or more
       routing system states, ii) coupling effects (leading to amplification
       chains) and, iii) concurrency (leading to antagonistic action-
       reaction).
    
       v) Even if the initial architectural scope would be limited to single
       autonomous system as starting point, propose a generic enough
       description to enable inter-domain use cases in the future.
    
       It is anticipated that the time dimension will limit applicability of
       such information exchange to the control part of the routing system
       (i.e. not the forwarding component). Indeed, the closer to the
       forwarding component the smaller the time scale to ensure proper
       functionality. The full Shortest Path Tree (SPT) computation takes of
       the order of 10microsec per IGP destination prefix, optimizations can
       be obtained using incremental Shortest Path First (iSPF) algorithms.
       Updating the central node Routing Table (RT) ranges in the same order
       of magnitude per destination prefix. The consecutive time the routing
       engine CPU is spending to update the RT entries or their distribution
       to the Forwarding Table (FT) is determined by the quantum of the
       swapping process. The quantum time can typically be configured
       between an order of 10 to 100ms. If we would consider an upper level
       components and interactions not directly associated to the routing
       system, it would logically operate in the order of the order 100ms or
       more generally of the order of seconds and above. The routing system
       is thus expected to remain the entity in charge of short-term
       adaptations to network "topological" or "reachability" changes.
    
    Conventions used in this document
    
       In examples, "C:" and "S:" indicate lines sent by the client and
       server respectively.
    
       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
       document are to be interpreted as described in RFC-2119 [RFC2119].
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 4]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       In this document, these words will appear with that interpretation
       only when in ALL CAPS. Lower case uses of these words are not to be
       interpreted as carrying RFC-2119 significance.
    
       In this document, syntax specification uses the augmented Backus-Naur
       Form (BNF) as described in RFC-2234 [RFC2234].
    
    2. Terminology, Notation and Acronyms
    
    2.1. Terminology and Notation
    
       - Agent: in general terms equipping a given function (in present
         context an exchange function) with memory property leads to the
         notion of object. Providing these objects with the capacity to
         adapt and to modify their behavior with respect to changing/
         variable conditions leads to the notion of adaptive agent.
    
       - Application: for the sake of clarity, application refers here to
         computer software (organized collections of computer data and
         instructions) performing tasks such as data processing and/or
         storage, running on top of TCP/IP and accessible directly (or
         indirectly) to the its end-users on terminals/hosts/servers to
         accomplish these specific tasks.
    
         Note: in practice, it is expected that the IRS will be initially
         used in the context of "network applications", i.e., programs
         receiving access to the routing modules and routing table in order
         to associate specific routing protocol decision/execution and
         routing table entries to specific needs as explained in Section 3.
    
       - APP_i: agent associated to application i (where index i = 1,..,L)
         that enables information exchanges with the dispatch function d.
    
       - Boundary: determines/indicates the logical intersecting edge/area
         between the routing system and the application system. The
         existence as well as to the proper operation and management of
         this edge/area is key in developing and maintaining coherence
         across the intersecting systems.
    
       - Co-located: refers to the placement of entities in close
         physical/logical proximity so that remotely/distantly they appear
         as occupying a single position/location.
    
       - Dispatch function (D and d): generic term describing the functional
         block redirecting information. Redirection of information is
         defined either between dispatch functions or between dispatch
         function and agents.
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 5]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
         Additionally the following functionality may be associated to this
         functional block: syntax and semantic information processing,
         aggregation/abstraction of information, orchestration, and
         scheduling.
    
         Equipping this function with (at least some of) these
         additional functionality is also part of the architectural
         discussion and specification.
    
       - External interface: interface that is addressable by objects/
         components outside of the objects/components they interconnect/put
         in relation and which usually belong to different entities; each
         object/component defining an entry point to the entity to which
         they individually belong thus resulting in higher security
         requirements.
    
       - Internal interface: interface that is not addressable by objects/
         components outside of the objects/components it interconnects/puts
         in relation or the single entity that comprises them. The objects/
         components interacting through an internal interface are co-
         located.
    
       - M_m: traffic monitoring module/point m (where index m = 1,..P).
         Monitoring modules capture traffic and interface either with the
         IRS or with other routing modules via the dispatch function.
    
       - RTR_j (Router j, where index j = 1,..,M): entity hosting multiple
         routing modules (RM).
    
       - RM_k (Routing module k, where index k = 1,..,N): functional entity
         such as Interior Gateway Protocols (IGP), Exterior Gateway
         Protocol (EGP), etc. including the node global Routing Table
         (database structure and controller) as well as shared routing path
         computation functions (which for RSVP-TE is referred to as Path
         Computation Element or PCE). An agent indexed in the same way is
         associated to each routing module interacting with a dispatch
         function.
    
    2.2.  Acronyms
    
         EGP    Exterior Gateway Protocol
         FT     Forwarding Table
         IGP    Interior Gateway Protocol
         IRS    Interface to the RS
         RM     Routing Module
         RS     Routing System
         RT     Routing Table
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 6]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
         RTR    Router
    
    3. Use Cases
    
       The general purpose of the IRS is to enable the augmentation or the
       enhancement of the IGP (and even the EGP) based routing system with
       i) functionality it is not able to perform when operating on a pure
       IGP prefix basis with or without additional state information
       associated to their link (e.g. spatial traffic engineering
       information), ii) functionality involving time varying information at
       a higher rate than what IGP (and even EGP) can sustain by design,
       and/or iii) functionality it has not been initially designed for but
       that strongly influence the working of the routing system (this
       category includes anomaly detection, intrusion detection, etc.).
       Cases belonging to the sets i) and ii) would increase the memory cost
       and adaptation cost if the IGP would be directly involved in the
       corresponding routing information exchange process.
    
       From this perspective, use cases can be further classified as
       follows:
    
       - Isolation of source (some of which may be included in IGP prefixes
       and/or prefixes included in the routing table) and/or destination
       addresses subset of the prefixes stored by the routing table (some of
       which being derived from the IGP routing information base).
    
       - Tuning of the routing entries parameters associated to destination
       prefix(es) (with as particular case, host-based prefixes) being
       subset of IGP destination prefixes from which routing table entries
       are derived.
    
       - Sequencing/ordering of the computation and activation of routing
       table entries (where the sequence if left to the IGP alone would for
       instance delay convergence).
    
       Note that the cases outlined here below are not claimed to be genuine
       but expectedly illustrative of the possible usage of the "IRS
       interface". The proposed classes are expected to be generic enough
       in order to "unify" its design.
    
       Isolation refers to cases dealing with distributed intrusion
       detection and distributed traffic anomaly detection (e.g., dDoS)
       where the objective is to detect and identify the intrusion/anomaly
       and possible prevent this intrusion/anomaly to further propagate. The
       latter typically involves determining through which router the
       corresponding traffic enters and possibly leaves the routing domain
       as well as determining the best router from where and to which the
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 7]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       incriminated traffic should be deflected. The term distributed means
       that several routers monitors collect traffic traces/records from the
       routing domain and the IRS is used as interface to a network
       application module capable of processing traffic records taken out of
       various monitors. Techniques enabling detection of never-seen-before
       patterns are now available (see e.g., [ECODE]) that limit the amount
       of configuration and maintenance required on each node (as long as the
       information captured on multiple monitors can be cross-processed). In
       case of isolation, the propagation of the information by means of the
       IGP would increase the number of entries to be stored at each router
       while only some of them require the corresponding information.
    
       Tuning refers to use cases dealing with traffic engineering path
       computation and decision on a finer granularity than the one
       enforced by the destination prefixes distributed by means of the IGP.
       Parameter setting includes the possibility to associate a given
       incoming traffic flow to a specific routing entry (instead of using
       the "default" entry as determined by the destination address). Such
       parameters include in particular the bandwidth x delay product that
       can be computed for some of the (edge-to-edge) segments crossing the
       routing domain. The IRS can also be used to tune the parameter of the
       active monitors used to compute the available and residual capacity
       together with the edge-to-edge delay. On the other hand, passive
       monitors would not need to be activated on edge routers but placed so
       as to monitor specific spatial patterns of traffic. Moreover, instead
       of running at a default rate, the rate of packet / flow capture could
       be individually adapted depending on the applicative needs and the
       topological location of the router following that pattern.
    
       Sequencing typically involves cases related to distributed decisions
       that need to be taken more rapidly and/or executions that need to be
       performed more rapidly than the convergence time IGP would impose
       (with all associated detrimental effects, e.g., routing loops, loss-
       of-traffic, etc.). This class includes fast re-routing (activation of
       a loop-free alternate routing/forwarding entry) but also
       configuration and maintenance operations involving for instance link
       metric changes, activation/deactivation of interfaces, etc.
    
       As stated above, enabling several of these use cases would increase
       the memory and adaptation cost if the IGP would be directly involved
       in the corresponding routing information exchange process. Instead by
       assuming that i) not all additional entries are needed during the
       same period of time and ii) the number of active entries << total
       number of routing entries, one should be able to ensure higher
       "scaling" (or equivalently lower cost of scale) compared to the
       default situation IGP imposes (resulting from flooding of routing
       information).
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 8]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    4. Architectures
    
       The below section/sub-sections detail the architectures as far as our
       understanding goes in providing an interaction channel between the
       routing system (and its individual routers) and the applicative level
       (and its numerous applications).
    
    4.1. Dual architectures
    
       These architectures are characterized by three levels (or tiers) of
       redirection and a logical boundary between the routing system and the
       application system defined by the interface between their respective
       dispatch function.
    
    4.1.1. Boundary on external interface
    
       This architecture is similar to the one exposed in the [RTG_Area]
       presentation, where each routing entity or router (RTR) owns its
       individual dispatch function D and each APP agent is associated to a
       dispatch function d, distinct from the function D. This architecture
       involves three levels of redirection as depicted in Fig.1a. The
       logical boundary between the routing system and the application
       system is determined by the external interface between the dispatch
       function d and D (see below).
    
       From this figure, the following relationships can be derived:
    
       - Relationship APP to d: n:m (particular case: 1:1)
    
       - Relationship d to D: m:n (particular case: 1:1)
    
       - Relationship D to RM (same RTR): 1:n (particular case: 1:1)
    
        -------       -------        -------   . . . . . . . .
       | APP_1 | ... | APP_i | ...  | APP_L |    ^
        -------       -------        -------     |
           |             |              |        |
           |             |              |        | 3rd Level
           |             |              |        |
           |           -----            |        v
            ---- ... -|  d  |- ... -----       . . . . . . . .
                       -----                     ^
                       / | \                     |
                         |                       |
       __________________|_____ Boundary         | 2nd Level
                         |                       |
                         |                       |
    
    
    D.Papadimitriou         Expires Apr.14, 2013                  [Page 9]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
                 -----------------               |
       RTR_1... | RTR_j  |        | ... RTR_M    |
                |      -----      |              v
                |     |  D  |     |            . . . . . . . .
                |      -----      |              ^
                |     /  |  \     |              |
                |    /   |   \    |              | 1st Level
                |   |    |    |   |              |
                | RM_1 RM_k RM_N  |              v
                 -----------------             . . . . . . . .
    
       Fig.1a: Boundary on external interface d-D (co-located dispatch
       function D)
    
       From Fig.1a, one can identify the following:
    
       * Dual dispatch function:
         . One dispatch function D is associated to each RTR entity.
           This dispatch function D is co-located with the RTR to which it
           is associated.
         . One dispatch function d is associated to a set of one or more APP
           agents.
           This dispatch function d is not co-located with the APP agents
           to which it is associated.
    
       * RTR level:
         . Includes co-located dispatch function D
         . Agents running on each routing module RM_k communicate with the
           dispatch function D via an internal interface (the associated
           routing modules may be known to the local dispatch function D by
           means of a registration process).
    
       * Interfaces:
         . External interface between APP agents and d
         . External interface between dispatch functions d and D
         . Internal interface between D and RM_k agent of RTR_j
    
         . In terms of IRS:
           - The IRS would include the interface defined between the
             dispatch functions D and d (which is an external interface)
           - The question which remains is: does the IRS span the
             interfaces defined between i) RM_k and the dispatch function D
             and/or ii) APP_i and the dispatch function d. If not then the
             dispatch function will have to provide the syntax and semantic
             functionality to process messages receives from various
             agents.
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 10]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       Note that one can extend this architecture and assume that the
       dispatch function D is not co-located to its associated RTR as
       depicted in Fig.1b. This architecture also involves three levels of
       redirection as depicted in Fig.1b. In that case, the following
       relationships can be derived:
    
       - Relationship APP to d: n:m (particular case: 1:1)
    
       - Relationship d to D: m:n (particular case: 1:1)
    
       - Relationship D to RTR: m:n (particular case: 1:1), meaning that a
       given dispatch function D can be shared among multiple RTRs.
    
    
        -------       -------        -------  . . . . . . . .
       | APP_1 | ... | APP_i | ...  | APP_L |   ^
        -------       -------        -------    |
           |             |              |       |
           |             |              |       | 3rd Level
           |             |              |       |
           |           -----            |       v
            ---- ... -|  d  |- ... -----      . . . . . . . .
                       -----                    ^
                       / | \                    |
                         |                      |
       __________________|_____ Boundary        | 2nd Level
                         |                      |
                         |                      |
                       -----                    v
        --------------|  D  |-----------      . . . . . . . .
       |               -----            |       ^
       |               | | |            |       |
       |         ------|-|-|------      |       |
       RTR_1    |RTR_j | | |      |   RTR_M     |
                |     /  |  \     |             | 1st Level
                |    /   |   \    |             |
                |   |    |    |   |             |
                | RM_1 RM_k RM_N  |             v
                 -----------------            . . . . . . . .
    
       Fig.1b: Boundary on external interface d-D (non co-located dispatch
       function D)
    
    
       From Fig.1b, one can identify the following:
    
       * Dual dispatch function:
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 11]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
         . One dispatch function D is associated to a set of one or more
           RTR.
           This dispatch function D is not co-located with either of the
           RTR to which it is associated.
         . One dispatch function d is associated to a set of one or more APP
           This dispatch function d is not co-located with either of the
           APP to which it is associated.
         . The dispatch functions d and D are themselves not co-located,
           i.e., exchanges are performed by means of an external interface.
    
       * RTR level:
         . No co-located dispatch function D
         . Agents running on each routing module RM_k communicate with the
           dispatch function D via an external interface (the associated
           routing module may be known to the local function D by means of
           a registration process).
    
       * Interfaces:
         . External interface between APP agents and d
         . External interface between dispatch functions d and D
         . External interface between D and RM_k agents of RTR_j
    
          . In terms of IRS:
            - The IRS would include the interface defined between the
              dispatch function D and d (which is an external interface)
            - Here too, the question which remains is: does the IRS span the
              interfaces defined between i) RM_k and the dispatch function D
              and/or ii) APP_i and the dispatch function d. If not then the
              dispatch function will have to provide the syntax and semantic
              functionality to process messages receives from various
              agents.
    
       Remark: this architecture mandates/imposes to standardize all
       interfaces involved in the exchange process between the routing
       system and the applicative level.
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 12]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    4.1.2. Boundary on internal interface
    
       This architecture involves three levels of redirection as depicted in
       Fig.1c. The main differences with the architecture depicted in
       Section 4.1.1/Fig.1a are i) non co-located dispatch function D (with
       its associated RTR) and ii) an internal interface between the
       dispatch function D and d (instead of an external interface). The
       main differences with the architecture depicted in Section
       4.1.1/Fig.1b is the internal interface between dispatch functions D
       and d (instead of an external interface). The logical boundary
       between the routing system and the application system is determined
       by the internal interface between the dispatch function d and D.
    
       The following relationships can be derived:
    
       - Relationship APP to d: n:m (particular case: 1:1)
    
       - Relationship d to D: m:n (particular case: 1:1)
    
       - Relationship D to RTR: m:n (particular case: 1:1)
    
        -------       -------        -------  . . . . . . . .
       | APP_1 | ... | APP_i | ...  | APP_L |   ^
        -------       -------        -------    |
           |             |              |       |
           |             |              |       | 3rd Level
           |         ---------          |       |
           |        |  -----  |         |       v
            ---- ...|-|  d  |-|... -----      . . . . . . . .
                    |  -----  |                 ^
                    |    |    |                 |
       _____________|____|____|___ Boundary     | 2nd Level
                    |    |    |                 |
                    |  -----  |                 v
        ------------|-|  D  |-|---------      . . . . . . . .
       |            |  -----  |         |       ^
       |             ---------          |       |
       |               | | |            |       |
       |         ------|-|-|------      |       |
       RTR_1    |RTR_j | | |      |   RTR_M     |
                |     /  |  \     |             | 1st Level
                |    /   |   \    |             |
                |   |    |    |   |             |
                | RM_1 RM_k RM_N  |             v
                 -----------------            . . . . . . . .
       Fig.1c: Boundary on internal interface d-D (non co-located dispatch
       function D)
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 13]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    
    
       From Fig.1c, one can identify the following:
    
       * Dual dispatch function:
         . One dispatch function D is associated to a set of one or more
           RTR.
         . One dispatch function d is associated to a set of one or more
           APP.
         . The dispatch functions d and D are themselves co-located,
           i.e., exchanges are performed by means of an internal interface.
    
       * RTR level:
         . No co-located dispatch function D
         . Agents running on each routing module RM_k communicate with the
           dispatch function D via external interface (associated routing
           module may be known to the local function D by means of a
           registration process).
    
       * Interfaces:
         . External interface between APP agents and d
         . Internal interface between dispatch functions d and D
         . External interface between D and RM_k agents of RTR_j
    
         . In terms of IRS:
            - The IRS would include the interface defined between the
              dispatch function D and d (which is an internal interface)
            - Here too, the question which remains is: does the IRS span
              the interfaces defined between i) RM_k and the dispatch
              function D and/or ii) APP_i and the dispatch function d. If
              not then the dispatch function will have to provide the
              syntax and semantic functionality to process messages
              receives from various agents.
    
       Remark: this architecture doesn't require standardizing the interface
       between dispatch functions (only procedures performed by the dispatch
       functions would need specification).
    
    
    
    
    
    
    
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 14]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    4.2. Star architecture
    
       These architectures are characterized by i) two levels of
       redirection, and ii) common dispatch function (dD) between APP and
       RTR. The boundary in these architectures can be seen as determined by
       the intersecting/common function dD. When this function is supplied
       with memory property, it is referred to as a boundary object.
    
    4.2.1. Co-located Dispatch Function
    
       In this case, the following relationships can be derived:
    
       - Relationship APP to dD: n:m (particular case: 1:1)
    
       - Relationship dD to RM (same RTR): 1:n (particular case: 1:1)
    
        -------       -------       -------   . . . . . . . .
       | APP_1 | ... | APP_i | ... | APP_N |    ^
        -------       -------       -------     |
           |             |             |        |
           |             |             |        | 2nd Level
           |    -------------------    |        |
           |   | RTR_j   |         |   |        |
           |   |       -----       |   |        v
            ---|- .. -| dD  |- .. -|---       . . . Boundary
               |       -----       |            ^
               |       | | |       |            |
               |      /  |  \      |            | 1st Level
               |     /   |   \     |            |
               |    |    |    |    |            |
               |  RM_1 RM_k  RM_N  |            v
                -------------------           . . . . . . . .
    
       Fig.2a: Star architecture - Co-located common dispatch function
    
       From Fig.2a, one can identify:
    
       * Common dispatch function:
         . A dispatch function dD is associated to each RTR. The same
           dispatch function dD is associated to a set of one or more APP.
           One can thus refer the function dD to as a common dispatch
           function
         . The dispatch function dD associated to the RTR_j is co-located
           with the RTR_j
    
       * RTR level:
         . Includes co-located dispatch function dD
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 15]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
         . Agents running on each routing module RM_k communicate with the
           dispatch function dD via internal interface (associated routing
           module may be known to the local function D by means of a
           registration process).
    
       * Interfaces:
         . External interface between APP agents and dispatch function dD
         . Internal interface between dispatch function dD and RM_k agents
           of RTR_j
    
         . In terms of IRS:
           - In this case, the IRS would span the interfaces defined
             between APP_i and the dispatch function dD. The question
           - The question which remains is: does the IRS span the
             interfaces defined between RM_k and the dispatch function D.
             If not then the dispatch function will have to provide the
             syntax and semantic functionality to process messages receives
             from various agents.
    
    
    4.2.2. Non Co-located Dispatch Function
    
       In this case, the following relationships can be derived:
    
       - Relationship APP to dD: n:m (particular case: 1:1)
    
       - Relationship dD to RTR: m:n (particular case: 1:1)
    
    
        -------       -------        -------  . . . . . . . .
       | APP_1 | ... | APP_i | ...  | APP_N |   ^
        -------       -------        -------    |
           |             |              |       |
           |             |              |       | 2nd Level
           |             |              |       |
           |           -----            |       v
            ---- ... -| dD  |- ... -----      . . . Boundary
                       -----                    ^
                -------|-|-|-------             |
               | RTR_j | | |       |            |
               |      /  |  \      |            | 1st Level
               |     /   |   \     |            |
               |    |    |    |    |            |
               |  RM_1 RM_k RM_N   |            v
                -------------------           . . . . . . . .
    
       Fig.2b: Star Architecture - Non co-located common dispatch function
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 16]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    
       From Fig.2b, one can identify:
    
       * Common dispatch function:
         . One common dispatch function dD is associated to a set of one or
           more RTR and to a set of one or more APP.
         . This dispatch function is neither co-located with the router
           (RTR) (or its routing modules) nor with the APP agents. In this
           case, one can refer to a commonly shared dispatch function dD.
    
       * RTR level:
         . No co-located dispatch function dD
         . Agents running on each routing module RM_k communicate with the
           dispatch function dD via external interface (associated routing
           module agents may be known to the local function D by means of a
           registration process).
    
       * Interfaces:
         . External interface between APP agents and dispatch function dD
         . External interface between dispatch function dD and RM_k agents
           of RTR_j
    
         . In terms of IRS:
           - In this case the IRS would span i) the interfaces defined
             between APP_i and the dispatch function dD and ii) the
             interfaces defined between RM_k and the dispatch function dD.
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 17]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    4.3. Meshed architecture
    
       Alternatively, one may consider that each agent executes its own
       dispatch function and the relationship between APP_i and RM_k agents
       is n:m. In this architecture, the boundary is thus determined by the
       set of APP agent to RM agent relationships.
    
       This architecture however implies that i) APP and RM agents are
       knowledgeable of each other, and ii) the individual routers must
       provide means to ensure consistency and coherence of decisions (by
       their routing modules) but also to prevent concurrency between
       decisions (leading to antagonistic action-reaction). For this
       purpose, a decision control function (hD), performing decision
       verification, consistency-check, etc. is to be considered that is co-
       located with individual RTR (see Fig.3). The interface between each
       routing module RM_k_and the function hD (indicated with asterisks in
       Fig.3) falls beyond the scope of IRS.
    
        -------       -------        -------
       | APP_1 | ... | APP_i | ...  | APP_N |
        -------       -------        -------
           |             |              ||
           |             |              ||
           |             |              ||
            -----------  | ------------- |
                       | ||  ------------
                       | || |
                -------|-||-|-------
               | RTR_j | || |       |
               |      /  ||  \      |
               |     /   ||   \     |
               |    |    ||    |    |
               |  RM_1  RM_k  RM_N  |
               |    *     *    *    |
               |    *     *    *    |
               |    *   ----   *    |
               |    ***| hD |***    |
               |        ----        |
                --------------------
    
       Fig.3: Meshed architecture
    
       In a sense, the architectures presented in Section 3.1 and 3.2
       perform inbound decision control whereas the architecture depicted in
       Fig.3 performs outbound decision control. Inbound (to RM) means that
       the function D (in the Fig.1 and Fig.2) processes the incoming
       information to ensure that the proper decision left subsequently to
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 18]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       individual RM but the function D is not part of the decision control
       process (verification, consistency-check, etc.). This process is
       performed by the RM themselves. On the other hand, outbound (to RM)
       means that the function hD (in Fig.3) performs verification,
       consistency-check, etc. of the (individual) decisions taken by the
       RMs.
    
    
    5. Comparative Analysis
    
       TBD.
    
    
    
    6. Security Considerations
    
       There are multiple levels at which security considerations shall be
       embedded and from the start as part of the architecture. Indeed,
       application and routing systems may (and often will) be under the
       control of different parties/administrative unit and communication
       between them (using the various external interfaces outlined in this
       document) may be established across the Internet.
    
       - Accessibility and communication: prevent denial of system/service
       and overloads, enforce authentication of individual communicating
       entities and prevent unauthorized access/masquerades (authorization).
    
       - Information exchange: enforce information integrity and validity
       (verification process) as well as prevent information/data spoofing;
       information confidentiality may be critical for certain environments,
       not necessarily for others (e.g., NREN).
    
       - Semantic processing: assuming that routing modules would receive
       information to derive decisions, individual information can be valid
       but its interpretation and resulting decisions may lead to executions
       weakening the routing system.
    
    7. IANA Considerations
    
       None
    
    8. Conclusions
    
       TBD
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 19]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    9. References
    
    9.1. Normative References
    
       [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
                 Requirement Levels", BCP 14, RFC 2119, March 1997.
    
       [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
                 Syntax Specifications: ABNF", RFC 2234, Internet Mail
                 Consortium and Demon Internet Ltd., November 1997.
    
    9.2. Informative References
    
       [RTG_Area] Atlas, A., et al. "Interface to the Internet Routing
                 System (IRS)", Routing Area Meeting, Vancouver (BC),
                 Canada, July 2012.
    
       [ECODE]  Project website: http://www.ecode-project.eu
    
       [OFELIA]  Project website: http://www.fp7-ofelia.eu
    
    10. Acknowledgments
    
       This document was prepared using 2-Word-v2.0.template.dot.
    
       Copyright (c) 2012 IETF Trust and the persons identified as authors
       of the code. All rights reserved.
    
       Part of the input that led to this document has been derived from the
       outcomes of the [ECODE] project (Grant No.223936) that is funded by
       the Framework Program 7 (FP7) of the European Commission and from the
       [OFELIA] FP7 project; both projects are part of the Future Internet
       Research and Experimentation Initiative (FIRE) of the European
       Commission.
    
       Redistribution and use in source and binary forms, with or without
       modification, are permitted provided that the following conditions
       are met:
    
       o Redistributions of source code must retain the above copyright
          notice, this list of conditions and the following disclaimer.
    
       o Redistributions in binary form must reproduce the above copyright
          notice, this list of conditions and the following disclaimer in
          the documentation and/or other materials provided with the
          distribution.
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 20]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
       o Neither the name of Internet Society, IETF or IETF Trust, nor the
          names of specific contributors, may be used to endorse or promote
          products derived from this software without specific prior written
          permission.
    
       THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
       "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
       LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
       A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
       OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
       SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
       LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
       DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
       THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 21]


    Internet-Draft       IRS Architectural Framework           Oct.15 2012
    
    
    Authors' Addresses
    
       Dimitri Papadimitriou
       Alcatel-Lucent Bell N.V.
       Dep.: Bell Labs Benelux
       Copernicuslaan 50
       2018 Antwerpen
       Belgium
       Email: dimitri.papadimitriou@alcatel-lucent.com
       Tel: +32 3 2408491
    
       Martin Vigoureux
       Alcatel-Lucent Bell Labs France
       Dep.: Bell Labs France
       Route de Villejust
       Nozay 91620
       France
       Email: martin.vigoureux@alcatel-lucent.com
    
       Didier Colle
       Ghent University
       Dep.: INTEC
       Gaston Crommenlaan 8 bus 201
       9050 Ledeberg - Gent
       Belgium
       Email: didier.colle@intec.ugent.be
       Tel: +32 9 3314900
    
       Wouter Tavernier
       Ghent University
       Dep.: INTEC
       Gaston Crommenlaan 8 bus 201
       9050 Ledeberg - Gent
       Belgium
       Email: wouter.tavernier@intec.ugent.be
       Tel: +32 9 3314900
    
    
    
    
    
    
    
    
    
    
    
    
    D.Papadimitriou         Expires Apr.14, 2013                 [Page 22]