ANIMA WG B. Liu INTERNET-DRAFT S. Jiang Intended Status: Standard Track Huawei Technologies Expires: August 15, 2018 X. Xiao A. Hecker Z. Despotovic MRC, Huawei Technologies February 11, 2018 Information Distribution in Autonomic Networking draft-liu-anima-grasp-distribution-05 Abstract This document discusses the requirement of capability of information distribution among autonomic nodes in autonomic networks. In general, information distribution can be categorized into two different modes: 1) one autonomic node instantly sends information to other nodes in the domain; 2) one autonomic node can publish some information and then some other interested nodes can subscribe the published information. These capabilities are fundamental and basic elements to a network system and an autonomic network infrastructure (ANI) should consider to integrate them, rather than assisted by other transport or routing protocols (HTTP, BGP/IGP as bearing protocols etc.). Thus, this document clarifies possible use cases and requirements to ANI so that information distribution can be natively supported. Possible options realizing the information distribution function are also briefly discussed. Status of this Memo This Internet-Draft is submitted to IETF 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 Liu, et al. Expires August 15, 2018 [Page 1] INTERNET DRAFT Information Distribution in ANI February 11, 2018 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/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright and License Notice Copyright (c) 2018 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 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Scenarios and Requirements of Information Distribution . . . . . 3 3.1 Point-to-Point (P2P) Communications . . . . . . . . . . . . 3 3.2 One-to-Many Communications . . . . . . . . . . . . . . . . . 4 3.3 Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Node Requirements . . . . . . . . . . . . . . . . . . . . . . . 5 4.1 Requirements for Instant Information Distribution . . . . . 6 4.1.1 Instant P2P and Flooding Communications . . . . . . . . 6 4.1.2 Instant Selective Flooding Communication . . . . . . . 6 4.2 Requirements for Asynchronous Information Distribution . . . 7 4.2.1 Event Queue . . . . . . . . . . . . . . . . . . . . . . 8 4.2.2 Information Storage . . . . . . . . . . . . . . . . . . 8 4.2.3 Interface between IS and EQ Modules . . . . . . . . . . 9 4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Integration with GRASP . . . . . . . . . . . . . . . . . . . . . 9 6 Security Considerations . . . . . . . . . . . . . . . . . . . 11 7 IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8 References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Liu, et al. Expires August 15, 2018 [Page 2] INTERNET DRAFT Information Distribution in ANI February 11, 2018 1 Introduction In autonomic networking, autonomic functions (AFs) running on autonomic nodes utilize autonomic control plane (ACP) to realize various control purposes [RFC7575]. Due to the distributed nature of a network system, AFs need to exchange information constantly, either for control plane signaling, for data plane service or for both. This document discusses the information distribution capability of an autonomic network. We classify the communication models of information distribution into the following two: 1) An instant communication model where a sender builds a connection to send information (e.g. control messages, synchronization data and so on) to the receiver(s). 2) An asynchronous communication model where an autonomic node publishes information and any other nodes that are interested in the information can later subscribe that and will be notified if the information become available. The two communication models should be integrated within the Autonomic Network Infrastructure (ANI) [I-D.behringer-anima- reference-model], rather than assisted by other transport or routing protocols (HTTP, BGP/IGP as bearing protocols etc.). In fact, GRASP already provides some capabilities to support parts of the distribution function, utilized for stable connectivity as in [I- D.ietf-anima-stable-connectivity-10]. In this document, we summary possible scenarios of information distribution in autonomic networks (Section 2), and then discuss the technical requirements (Section 3) that an autonomic node has to fulfill. Moreover, possible ways to realize the information distribution module are presented. 2. Terminology 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]. 3. Scenarios and Requirements of Information Distribution We first summarize possible scenarios into the following categories. After that, we discuss the requirements of communication capabilities for the scenarios. 3.1 Point-to-Point (P2P) Communications Liu, et al. Expires August 15, 2018 [Page 3] INTERNET DRAFT Information Distribution in ANI February 11, 2018 This is a common scenario in most of network systems. Information are exchanged between two communicating parties from one node to another node. Specifically, the information can be either pushed to the receiver or pulled from a sender. Therefore, we have two sub-cases: 1) One node acquires some information from another one. This is a very common scenario that can already be covered by GRASP. 2) One node actively pushes some information to another one. For example, when some common information are propagated to the network, it is possible that some nodes are sleeping/off-line, so when these nodes get online again, their neighbors could push the information to them immediately. 3.2 One-to-Many Communications Some information exchange involve an information source and multiple receivers. This scenario can be divided into two situations: 1) When some information are relevant to all or most of the nodes in the domain, the node that firstly handle the information should use a mechanism to propagate it to all the other nodes. One typical case is the Intent distribution, which is briefly discussed in Section 4.7 of [I-D.ietf-anima-reference-model]. A flood mechanism, which can guarantee the information could reach to every node, is the most proper approach to do this. 2) A more general case is that some information is only relevant to a specific group of nodes belonging to the same sub-domain or sharing the same interests. Then, the information needs to be propagated to the nodes that fit for certain conditions. This could reduce some unnecessary signaling amplification. 3.3 Requirements Clearly, either the P2P scenario or the one-to-many scenario can be directly carried by the instant communication model. Especially, if the information exchange is simple and short, this can be done instantly. In practice, however, information distribution is not always simple. As examples, in the following cases, a combination of the instant and asynchronous communication models is more appropriate. 1) Long Communication Intervals. The time interval of the communication is not necessarily always short and instant. Advanced AFs may rather involve heavy jobs/tasks when gearing the network, so the direct mode may introduce unnecessary pending time and become less efficient. For example, an AF accesses another AF Liu, et al. Expires August 15, 2018 [Page 4] INTERNET DRAFT Information Distribution in ANI February 11, 2018 for a database lookup. Similar use cases include AF migration, AF authentication and authorization. If simply using an instant mode, the AF has to wait until the tasks finish and return. A better way is that an AF instantly sends the request but switches to an synchronous mode, once the jobs are finished, AFs will get notified. 2) Common Interest Distribution. As mentioned, some information are common interests among AFs. For example, the network intent is distributed to network nodes enrolled, which is a typical one-to- many scenario. We can also finish the intent distribution by an instant flooding (e.g. via GRASP) to every network nodes across the network domain. Because of network dynamic, however, not every node can be just ready at the moment when the network intent is flooded. Actually, nodes may join in the network sequentially. In this situation, an asynchronous communication model could be a better choice where every (newly joining) node can subscribe the intent information and will get notified if it is ready (or updated). 3) Distributed Coordination. With computing and storage resources on autonomic nodes, alive AFs not only consumes but also generates data information. For example, AFs coordinating with each other as distributed schedulers, responding to service requests and distributing tasks. It is critical for those AFs to make correct decisions based on local information, which might be asymmetric as well. AFs may also need synthetic/aggregated data information (e.g. statistic info, like average values of several AFs, etc.) to make decisions. In these situations, AFs will need an efficient way to form a global view of the network (e.g. about resource consumption, bandwidth and statistics). Obviously, purely relying on instant communication model is inefficient, while a scalable, common, yet distributed data layer, on which AFs can store and share information in an asynchronous way, should be a better choice. For ANI, in order to support various communication scenarios, an information distribution module is required, and both instant and asynchronous communication models are needed. 4. Node Requirements In this section, we discuss how each autonomic node should behave in order to realize the information distribution module. In other words, we discuss the node requirement if an information distribution module is required across the ANI. Supporting the two communication models that may happen in the ANI necessarily involves node interactions and information data exchange. Specifically, we first introduce the node Liu, et al. Expires August 15, 2018 [Page 5] INTERNET DRAFT Information Distribution in ANI February 11, 2018 requirement for the instant communication model, and after that we introduce the node requirement for the asynchronous communication model. 4.1 Requirements for Instant Information Distribution In this case, sender(s) and receiver(s) are explicitly and immediately specified (e.g. the addresses of the receivers). Information will be directly distributed from the sender(s) to the receiver(s). This requires that every node is equipped by some signaling/transport protocols so that they can coordinate with each other and correctly deliver the information. 4.1.1 Instant P2P and Flooding Communications We consider that the GRASP in the existing ANI more or less already can provide instant P2P and flooding communications with minimum efforts. Straightforwardly, it is natural to use the GRASP Synchronization message directly for P2P distribution. Furthermore, it is also natural to use the GRASP Flood Synchronization message for 1-to-all distribution, because the Flood Synchronization behavior specified in GRASP is identical to the the whole domain distribution scenario described in Section 3.2. However, as mentioned in Section 3.1, in some scenarios one node needs to actively send some information to another. GRASP Synchronization just lacks such capability. An un-solicited synchronization mechanism is needed. 4.1.2 Instant Selective Flooding Communication When doing selective flooding, the distributed information needs to contain the criteria for nodes to judge which interfaces should be sent the distributed information and which are not. Specifically, the criteria contain: o Matching condition: a set of matching rules. o Matching object: the object that the match condition would be applied to. For example, the matching object could be node itself or its neighbors. o Action: what behavior the node needs to do when the matching object matches or failed the matching condition. For example, the action could be forwarding or discarding the distributed message. Liu, et al. Expires August 15, 2018 [Page 6] INTERNET DRAFT Information Distribution in ANI February 11, 2018 The sender has to includes the criteria information in the message that carries the distributed information. The receiving node decides the action according to the criteria carried in the message. Still considering the criteria attached with the distributed information, the node behaviors can be: o When the Matching Object is "Neighbors", then the node matches the relevant information of its neighbors to the Matching Condition. If the node finds one neighbor matches the Matching Condition, then it forwards the distributed message to the neighbor. If not, the node discards forwarding the message to the neighbor. o When the Matching Object is the node itself, then the node matches the relevant information of its own to the Matching Condition. If the node finds itself matches the Matching Condition, then it forwards the distributed message to its neighbors; if not, the node discards forwarding the message to the neighbors. 4.2 Requirements for Asynchronous Information Distribution Asynchronous information distribution happens in a different way where sender(s) and receiver(s) are normally not immediately specified. In other words, both the sender and the receiver may come up in an asynchronous way. First of all, this requires that the information can be stored; secondly, it requires an information publication and subscription (Pub/Sub) mechanism. Specifically, an information publisher 1) receives publishing requests from local AFs (also from ASAs), 2) decides where to store the published information, 3) updates corresponding event queues. On the other hand, an information subscriber registers its interests, 2) monitors event queues in the system and 3) trigger information retrieval if information of registered events are ready. In general, each node requires two modules: 1) event queue (EQ) module and 2) information storage (IS) module shown in Figure. 1. These two modules should be integrated with the information distribution module. We introduce details of the two modules in the following sections. +---------------------------------------+ | +---------------+ +---------------+ | | | Event Queue |-|-| Info. Storage | | | +---------------+ +---------------+ | +---------------------------------------+ Figure 1. Components for asynchronous comm. Liu, et al. Expires August 15, 2018 [Page 7] INTERNET DRAFT Information Distribution in ANI February 11, 2018 4.2.1 Event Queue Event Queue (EQ) module is responsible for event classification, event prioritization and event matching. Firstly, EQ module provides isolated event queues customized for different event groups. Specifically, two groups of AFs could have completely different purposes or interests, therefore EQ classification allows to create multiple message queues where only AFs interested in the same category of events will be aware of the corresponding event queue. Secondly, events generated may have to be processed with different priorities. Some of them are more urgent than the normal and regular ones. Also between two event queues, their priorities may be different. EQ prioritization allows AFs to set different priorities on the information they published. Based on the priority settings in the event queue, matching and delivery of them will be adjusted. EQ module can provide several pre-defined priority levels for both intra-queue and inter-queue prioritizations. Third, events in queues will be listened and if a publishing event is found and matched by a registration event, information retrieval will be triggered. 4.2.2 Information Storage Events are closely related to the information. IS module handles how to efficiently save and retrieve information for AFs across the network according to announced events. Any information that is published by AFs will be sent to the IS module, and the IS module decides where to store the information and how to index and retrieve it. The IS module defines a syntax to index information, not only generating the hash index value (e.g. a key) for the information, but also mapping the hash index to a certain network node in ANI. When data information is published by an AF (i.e. publishing events), it will be sent to the IS module. The IS module calculates its hash index (i.e. the key) and the location responsible for storing the information. The IS module confirms with the node chosen to store the information by negotiation. After that, if available, the IS module sends the information to there. When data information has to be retrieved (i.e. subscribing events), a request from an AF will be also received by the IS module. IS module, by parsing the request, identifies the hash index of the Liu, et al. Expires August 15, 2018 [Page 8] INTERNET DRAFT Information Distribution in ANI February 11, 2018 information, which tells the location of the information as well. After that, the IS module requests the desired information and retrieves it once it is ready. IS module can reuse distributed databases and key value stores like NoSQL, Cassandra, DHT technologies. storage and retrieval of information are all event-driven responsible by the EQ module. 4.2.3 Interface between IS and EQ Modules EQ and IS modules are correlated. When an AF publishes information, not only an publishing event is translated and sent to EQ module, but also the information is indexed and stored simultaneously. Similarly, when an AF subscribes information, not only subscribing event is triggered and sent to EQ module, but also the information will be retrieved by IS module at the same time. 4.3 Summary In summary, the general requirements for the information distribution module on each autonomic node are two sub-modules handling instant communications and asynchronous communications, respectively. For instant communications, node requirements are simple, in which signaling protocols have to be supported. With minimum efforts, reusing the existing GRASP is possible. For asynchronous communications, information distribution module requires event queue and information storage mechanism to be supported. 5. Integration with GRASP There are multiple ways to integrate the information distribution module. The principle we follow is to minimize modifications made to the current ANI. We consider to use GRASP as an interface to access the information distribution module. The main reason is that the current version of GRASP is already an information distribution module for the cases of P2P and flooding. What is missing are the support of 1) 1-to-Many instant communications and 2) asynchronous communications. In the following discussions, we introduce how to complete the missing part. 5.1 GRASP for instant communications GRASP already supports instant communications for the cases of P2P and flooding. In order to support 1-to-Many communication scenario, where not all nodes in the network have to be the recipients, a selective flooding is required. Liu, et al. Expires August 15, 2018 [Page 9] INTERNET DRAFT Information Distribution in ANI February 11, 2018 GRASP includes flooding criteria together with the delivered information so that every node will process and act according to the criteria specified in the message. An example of extending GRASP with selective criteria can be: o Matching condition: "Device role=IPRAN_RSG" o Matching objective: "Neighbors" o Action: "Forward" This example means: only distributing the information to the neighbors who are IPRAN_RSG. With selective flooding, GRASP covers the instant communication of the information distribution module. 5.2 GRASP for asynchronous communications For the asynchronous communication part, it is not covered by the current GRASP. Trivially adding the Event Queue and Information Storage modules spoils the current protocol design architecture of GRASP. Our idea is to treat the asynchronous communication module as a black box and design a reference point in GRASP, through which ASAs could call the service of the black box. The reference point mainly refers to a set of new messages that will trigger asynchronous communications (e.g. Pub/Sub). We suggest that the reference point contains the following messages: o Message for publishing information: o Message for subscribing information: o Message for unsubscribing information: o Message for unsubscribing information: o Message for even more: Note that so far we do not specify the details of those potential new messages for GRASP, to which more considerations are needed. Another point is that the reference point suggested here can also refer to some new objectives, instead of creating new messages. In summary, with the selective flooding and the reference point of Liu, et al. Expires August 15, 2018 [Page 10] INTERNET DRAFT Information Distribution in ANI February 11, 2018 accessing the asynchronous communication module, full communication types can be fulfilled by the ANI. This provides a common interface for the upper layer ASAs to communicate with each other for not only control plane, but also data plane if needed. 6 Security Considerations The distribution source authentication could be done at multiple layers: o Outer layer authentication: the GRASP communication is within ACP (Autonomic Control Plane, [I-D.ietf-anima-autonomic-control-plane]). This is the default GRASP behavior. o Inner layer authentication: the GRASP communication might not be within a protected channel, then there should be embedded protection in distribution information itself. Public key infrastructure might be involved in this case. 7 IANA Considerations TBD. 8 References [RFC7575] Behringer, M., "Autonomic Networking: Definitions and Design Goals", RFC 7575, June 2015 [I-D.ietf-anima-autonomic-control-plane] Eckert, T., Behringer, M., and S. Bjarnason, "An Autonomic Control Plane (ACP)", draft-behringer-anima-autonomic- control-plane-13, December 2017. [I-D.ietf-anima-stable-connectivity-10] Eckert, T., Behringer, M., "Using Autonomic Control Plane for Stable Connectivity of Network OAM", draft-ietf-anima- stable-connectivity-10, February 2018. [I-D.ietf-anima-reference-model] Behringer, M., Carpenter, B., Eckert, T., Ciavaglia, L., Liu, et al. Expires August 15, 2018 [Page 11] INTERNET DRAFT Information Distribution in ANI February 11, 2018 Pierre P., Liu, B., Nobre, J., and J. Strassner, "A Reference Model for Autonomic Networking", draft-ietf- anima-reference-model-05, October 2017. [I-D.du-anima-an-intent] Du, Z., Jiang, S., Nobre, J., Ciavaglia, L., and M. Behringer, "ANIMA Intent Policy and Format", draft- duanima-an-intent-05 (work in progress), February 2017. [I-D.ietf-anima-grasp] Bormann, D., Carpenter, B., and B. Liu, "A Generic Autonomic Signaling Protocol (GRASP)", draft-ietf- animagrasp-15 (Standard Track), October 2017. [I-D.ietf-anima-grasp-api] Carpenter, B., Liu, B., Wang, W., and X. Gong, "Generic Autonomic Signaling Protocol Application Program Interface (GRASP API)", draft-ietf-anima-grasp-api-00 (work in progress), December 2017. Authors' Addresses Bing Liu Huawei Technologies Q27, Huawei Campus No.156 Beiqing Road Hai-Dian District, Beijing 100095 P.R. China Email: leo.liubing@huawei.com Sheng Jiang Huawei Technologies Q27, Huawei Campus No.156 Beiqing Road Hai-Dian District, Beijing 100095 P.R. China Email: jiangsheng@huawei.com Xun Xiao Munich Research Center Huawei technologies Riesstr. 25, 80992, Muenchen, Germany Emails: xun.xiao@huawei.com Liu, et al. Expires August 15, 2018 [Page 12] INTERNET DRAFT Information Distribution in ANI February 11, 2018 Artur Hecker Munich Research Center Huawei technologies Riesstr. 25, 80992, Muenchen, Germany Emails: artur.hecker@huawei.com Zoran Despotovic Munich Research Center Huawei technologies Riesstr. 25, 80992, Muenchen, Germany Emails: zoran.despotovic@huawei.com Liu, et al. Expires August 15, 2018 [Page 13]