< draft-ietf-netconf-distributed-notif-01.txt   draft-ietf-netconf-distributed-notif-02.txt >
NETCONF T. Zhou NETCONF T. Zhou
Internet-Draft G. Zheng Internet-Draft G. Zheng
Intended status: Standards Track Huawei Intended status: Standards Track Huawei
Expires: May 6, 2021 E. Voit Expires: November 7, 2021 E. Voit
Cisco Systems Cisco Systems
T. Graf T. Graf
Swisscom Swisscom
P. Francois P. Francois
INSA-Lyon INSA-Lyon
November 02, 2020 May 06, 2021
Subscription to Distributed Notifications Subscription to Distributed Notifications
draft-ietf-netconf-distributed-notif-01 draft-ietf-netconf-distributed-notif-02
Abstract Abstract
This documents describes extensions to the YANG notifications This document describes extensions to the YANG notifications
subscription to allow metrics being published directly from subscription to allow metrics being published directly from
processors on line cards to target receivers, while subscription is processors on line cards to target receivers, while subscription is
still maintained at the route processor in a distributed forwarding still maintained at the route processor in a distributed forwarding
system. system.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
skipping to change at page 1, line 46 skipping to change at page 1, line 46
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 6, 2021. This Internet-Draft will expire on November 7, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 46 skipping to change at page 2, line 46
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
15.1. Normative References . . . . . . . . . . . . . . . . . . 11 15.1. Normative References . . . . . . . . . . . . . . . . . . 11
15.2. Informative References . . . . . . . . . . . . . . . . . 12 15.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 13 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 13
A.1. Dynamic Subscription . . . . . . . . . . . . . . . . . . 13 A.1. Dynamic Subscription . . . . . . . . . . . . . . . . . . 13
A.2. Configured Subscription . . . . . . . . . . . . . . . . . 17 A.2. Configured Subscription . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
The mechanism to support a subscription to a continuous and The mechanism to support a subscription of a continuous and
customized stream of updates from a YANG datastore is defined in customized stream of updates from a YANG datastore is defined in
[RFC8639] and [RFC8641]. Requirements for Subscription to YANG [RFC8639] and [RFC8641]. Requirements for Subscription to YANG
Datastores are defined in [RFC7923] Datastores are defined in [RFC7923]
By streaming data from publishers to receivers, much better By streaming data from publishers to receivers, much better
performance and fine-grained sampling can be achieved than with performance and fine-grained sampling can be achieved than with
polling. In a distributed forwarding system, the packet forwarding polling. In a distributed forwarding system, the packet forwarding
is delegated to multiple processors on line cards. To not to is delegated to multiple processors on line cards. To not to
overhelm the route processor resources, it is not uncomon that data overwhelm the route processor resources, it is not uncommon that data
records are published directly from processors on line cards to records are published directly from processors on line cards to
target Receivers to further increase efficency on the routing system. target Receivers to further increase efficiency on the routing
system.
This documents complement the general subscription requirements This documents complement the general subscription requirements
defined in section 4.2.1 of [RFC7923] by the paragraph: A defined in section 4.2.1 of [RFC7923] by the paragraph: A
Subscription Service MAY support the ability to export from multiple Subscription Service MAY support the ability to export from multiple
software processes on a single routing system and expose the software processes on a single routing system and expose the
information which software process produced which message to maintain information which software process produced which message to maintain
data integrity. data integrity.
2. Terminologies 2. Terminologies
skipping to change at page 3, line 49 skipping to change at page 3, line 50
group of Publishers can expose to the Subscriber. group of Publishers can expose to the Subscriber.
Component Capability: is the subscription capability that each Component Capability: is the subscription capability that each
Publisher can expose to the Subscriber. Publisher can expose to the Subscriber.
Master: is the Publisher that interacts with the Subscriber to deal Master: is the Publisher that interacts with the Subscriber to deal
with the Global Subscription. It decomposes the Global Subscription with the Global Subscription. It decomposes the Global Subscription
to multiple Component Subscriptions and interacts with the Agents. to multiple Component Subscriptions and interacts with the Agents.
Agent: is the Publisher that interacts with the Master to deal with Agent: is the Publisher that interacts with the Master to deal with
the Component Subscription and pushing the data to the collector. the Component Subscription and pushing the data to the Receiver.
Observation Domain: An Observation Domain is the largest set of Observation Domain: An Observation Domain is the largest set of
Observation Points for which metrics can be collected by a metering Observation Points for which metrics can be collected by a metering
process. For example, a router line card may be an Observation process. For example, a router line card may be an Observation
Domain if it is composed of several interfaces, each of which is an Domain if it is composed of several interfaces, each of which is an
Observation Point. In the YANG notification messages it generates, Observation Point. In the YANG notification messages it generates,
the Observation Domain includes its Observation Domain ID, which is the Observation Domain includes its Observation Domain ID, which is
unique per publisher process. That way, the collecting process can unique per publisher process. That way, the collecting process can
identify the specific Observation Domain from the publisher that identify the specific Observation Domain from the publisher that
sends the YANG notification messages. Every Observation Point is sends the YANG notification messages. Every Observation Point is
associated with an Observation Domain. associated with an Observation Domain.
Observation Domain ID: A 32-bit identifier of the Observation Domain Observation Domain ID: A 32-bit identifier of the Observation Domain
that is locally unique to the publisher process. The publisher that is locally unique to the publisher process. The publisher
process uses the Observation Domain ID to uniquely identify to the processes uses the Observation Domain ID to uniquely identify to the
collecting process the Observation Domain that meters the metrics. collecting process the Observation Domain that meters the metrics.
Receivers SHOULD use the transport session and the Observation Domain Receivers SHOULD use the transport session and the Observation Domain
ID field to separate different publisher streams originating from the ID field to separate different publisher streams originating from the
same publisher. same publisher.
3. Motivation 3. Motivation
Lost and corrupt YANG notification messages need to be recognized at Lost and corrupt YANG notification messages need to be recognized at
the receiver to ensure data integrity even when multiple publisher the receiver to ensure data integrity even when multiple publisher
processes publishing from the same transport session. processes publishing from the same transport session.
skipping to change at page 4, line 43 skipping to change at page 4, line 43
is described in Section 3.2 of UDP based transport is described in Section 3.2 of UDP based transport
[I-D.ietf-netconf-udp-notif]. [I-D.ietf-netconf-udp-notif].
4. Solution Overview 4. Solution Overview
Figure 2 below shows the distributed data export framework. Figure 2 below shows the distributed data export framework.
A collector usually includes two components, A collector usually includes two components,
o the Subscriber generates the subscription instructions to express o the Subscriber generates the subscription instructions to express
what and how the collector want to receive the data; what and how the Receiver want to receive the data;
o the Receiver is the target for the data publication. o the Receiver is the target for the data publication.
For one subscription, there are one or more Receivers. And the For one subscription, there can be one or more Receivers. And the
Subscriber does not necessarily share the same IP address as the Subscriber does not necessarily share the same IP address as the
Receivers. Receivers.
In this framework, the Publisher pushes data to the Receiver In this framework, the Publisher pushes data to the Receiver
according to the subscription. The Publisher is either in the Master according to the subscription. The Publisher is either in the Master
or Agent role. The Master knows all the capabilities that his Agents or Agent role. The Master knows all the capabilities that his Agents
are able to provide and exposes the Global Capability to the are able to provide and exposes the Global Capability to the
collector. The Subscriber maintains the Global Subscription at the collector. The Subscriber maintains the Global Subscription at the
Master and disassembles the Global Subscription to multiple Component Master and disassembles the Global Subscription to multiple Component
Subscriptions, depending from which source data is needed. The Subscriptions, depending from which source data is needed. The
skipping to change at page 9, line 25 skipping to change at page 9, line 25
grouping message-observation-domain-ids { grouping message-observation-domain-ids {
description description
"Provides a reusable list of message-observation-domain-ids."; "Provides a reusable list of message-observation-domain-ids.";
leaf-list message-observation-domain-id { leaf-list message-observation-domain-id {
type string; type string;
config false; config false;
ordered-by user; ordered-by user;
description description
"Software process which created the message (e.g., "Software process which created the message (e.g.,
processor 1 on linecard 1). This field is processor 1 on line card 1). This field is
used to notify the collector the working originator."; used to notify the collector the working originator.";
} }
} }
augment "/sn:subscriptions/sn:subscription" { augment "/sn:subscriptions/sn:subscription" {
description description
"This augmentation allows the message "This augmentation allows the message
Observation Domain ID to be exposed for a subscription."; Observation Domain ID to be exposed for a subscription.";
uses message-observation-domain-ids; uses message-observation-domain-ids;
skipping to change at page 12, line 46 skipping to change at page 12, line 46
<https://www.rfc-editor.org/info/rfc8639>. <https://www.rfc-editor.org/info/rfc8639>.
[RFC8641] Clemm, A. and E. Voit, "Subscription to YANG Notifications [RFC8641] Clemm, A. and E. Voit, "Subscription to YANG Notifications
for Datastore Updates", RFC 8641, DOI 10.17487/RFC8641, for Datastore Updates", RFC 8641, DOI 10.17487/RFC8641,
September 2019, <https://www.rfc-editor.org/info/rfc8641>. September 2019, <https://www.rfc-editor.org/info/rfc8641>.
15.2. Informative References 15.2. Informative References
[I-D.ietf-netconf-https-notif] [I-D.ietf-netconf-https-notif]
Jethanandani, M. and K. Watsen, "An HTTPS-based Transport Jethanandani, M. and K. Watsen, "An HTTPS-based Transport
for Configured Subscriptions", draft-ietf-netconf-https- for YANG Notifications", draft-ietf-netconf-https-notif-08
notif-05 (work in progress), October 2020. (work in progress), February 2021.
[I-D.ietf-netconf-notification-messages] [I-D.ietf-netconf-notification-messages]
Voit, E., Jenkins, T., Birkholz, H., Bierman, A., and A. Voit, E., Jenkins, T., Birkholz, H., Bierman, A., and A.
Clemm, "Notification Message Headers and Bundles", draft- Clemm, "Notification Message Headers and Bundles", draft-
ietf-netconf-notification-messages-08 (work in progress), ietf-netconf-notification-messages-08 (work in progress),
November 2019. November 2019.
[I-D.ietf-netconf-udp-notif] [I-D.ietf-netconf-udp-notif]
Zhou, T., Zheng, G., Lucente, P., Graf, T., and P. Zhou, T., Zheng, G., Lucente, P., Graf, T., and P.
Francois, "UDP-based Transport for Configured Francois, "UDP-based Transport for Configured
 End of changes. 15 change blocks. 
16 lines changed or deleted 17 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/