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]