| < draft-ietf-netconf-udp-notif-02.txt | draft-ietf-netconf-udp-notif-03.txt > | |||
|---|---|---|---|---|
| NETCONF G. Zheng | NETCONF G. Zheng | |||
| Internet-Draft T. Zhou | Internet-Draft T. Zhou | |||
| Intended status: Standards Track Huawei | Intended status: Standards Track Huawei | |||
| Expires: November 27, 2021 T. Graf | Expires: 13 January 2022 T. Graf | |||
| Swisscom | Swisscom | |||
| P. Francois | P. Francois | |||
| INSA-Lyon | INSA-Lyon | |||
| P. Lucente | P. Lucente | |||
| NTT | NTT | |||
| May 26, 2021 | 12 July 2021 | |||
| UDP-based Transport for Configured Subscriptions | UDP-based Transport for Configured Subscriptions | |||
| draft-ietf-netconf-udp-notif-02 | draft-ietf-netconf-udp-notif-03 | |||
| Abstract | Abstract | |||
| This document describes an UDP-based notification mechanism to | This document describes an UDP-based notification mechanism to | |||
| collect data from networking devices. A shim header is proposed to | collect data from networking devices. A shim header is proposed to | |||
| facilitate the data streaming directly from the publishing process on | facilitate the data streaming directly from the publishing process on | |||
| network processor of line cards to receivers. The objective is a | network processor of line cards to receivers. The objective is a | |||
| lightweight approach to enable higher frequency and less performance | lightweight approach to enable higher frequency and less performance | |||
| impact on publisher and receiver process compared to already | impact on publisher and receiver process compared to already | |||
| established notification mechanisms. | established notification mechanisms. | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
| 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 November 27, 2021. | This Internet-Draft will expire on 13 January 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 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/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Simplified BSD License text | |||
| include Simplified BSD License text as described in Section 4.e of | as described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Simplified BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Configured Subscription to UDP-Notif . . . . . . . . . . . . 4 | 2. Configured Subscription to UDP-Notif . . . . . . . . . . . . 4 | |||
| 3. UDP-Based Transport . . . . . . . . . . . . . . . . . . . . . 4 | 3. UDP-Based Transport . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Design Overview . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Design Overview . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Format of the UDP-Notif Message Header . . . . . . . . . 5 | 3.2. Format of the UDP-Notif Message Header . . . . . . . . . 5 | |||
| 3.3. Options . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.3. Data Encoding . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.3.1. Segmentation Option . . . . . . . . . . . . . . . . . 7 | 4. Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.4. Data Encoding . . . . . . . . . . . . . . . . . . . . . . 8 | 4.1. Segmentation Option . . . . . . . . . . . . . . . . . . . 8 | |||
| 4. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4.2. Private Encoding Option . . . . . . . . . . . . . . . . . 9 | |||
| 4.1. Congestion Control . . . . . . . . . . . . . . . . . . . 8 | 5. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4.2. Message Size . . . . . . . . . . . . . . . . . . . . . . 9 | 5.1. Congestion Control . . . . . . . . . . . . . . . . . . . 10 | |||
| 4.3. Reliability . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.2. Message Size . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 5. A YANG Data Model for Management of UDP-Notif . . . . . . . . 9 | 5.3. Reliability . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. A YANG Data Model for Management of UDP-Notif . . . . . . . . 11 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 7. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 15 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | 11.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
| 1. Introduction | 1. Introduction | |||
| Sub-Notif [RFC8639] defines a mechanism that lets a receiver | Sub-Notif [RFC8639] defines a mechanism that lets a receiver | |||
| subscribe to the publication of YANG-defined data maintained in a | subscribe to the publication of YANG-defined data maintained in a | |||
| YANG [RFC7950] datastore. The mechanism separates the management and | YANG [RFC7950] datastore. The mechanism separates the management and | |||
| control of subscriptions from the transport used to deliver the data. | control of subscriptions from the transport used to deliver the data. | |||
| Three transport mechanisms, namely NETCONF transport [RFC8640], | Three transport mechanisms, namely NETCONF transport [RFC8640], | |||
| RESTCONF transport [RFC8650], and HTTPS transport | RESTCONF transport [RFC8650], and HTTPS transport | |||
| [I-D.ietf-netconf-https-notif] have been defined so far for such | [I-D.ietf-netconf-https-notif] have been defined so far for such | |||
| notification messages. | notification messages. | |||
| While powerful in their features and general in their architecture, | While powerful in their features and general in their architecture, | |||
| the currently available transport mechanisms need to be complemented | the currently available transport mechanisms need to be complemented | |||
| to support data publications at high velocity from devices that | to support data publications at high velocity from devices that | |||
| feature a distributed architecture. The currently available | feature a distributed architecture. The currently available | |||
| transports are based on TCP and lack the efficiency needed to | transports are based on TCP and lack the efficiency needed to | |||
| continuously send notifications at high velocity. | continuously send notifications at high velocity. | |||
| skipping to change at page 3, line 33 ¶ | skipping to change at page 3, line 41 ¶ | |||
| stream. The centralized data collection mechanism can result in a | stream. The centralized data collection mechanism can result in a | |||
| performance bottleneck, especially when large amounts of data are | performance bottleneck, especially when large amounts of data are | |||
| involved. | involved. | |||
| What is needed is a mechanism that allows for directly publishing | What is needed is a mechanism that allows for directly publishing | |||
| from multiple network processors on line cards, without passing them | from multiple network processors on line cards, without passing them | |||
| through an additional processing stage for internal consolidation. | through an additional processing stage for internal consolidation. | |||
| The proposed UDP-based transport allows for such a distributed data | The proposed UDP-based transport allows for such a distributed data | |||
| publishing approach. | publishing approach. | |||
| o Firstly, a UDP approach reduces the burden of maintaining a large | * Firstly, a UDP approach reduces the burden of maintaining a large | |||
| amount of active TCP connections at the receiver, notably in cases | amount of active TCP connections at the receiver, notably in cases | |||
| where it collects data from network processors on line cards from | where it collects data from network processors on line cards from | |||
| a large amount of networking devices. | a large amount of networking devices. | |||
| o Secondly, as no connection state needs to be maintained, UDP | * Secondly, as no connection state needs to be maintained, UDP | |||
| encapsulation can be easily implemented by the hardware of the | encapsulation can be easily implemented by the hardware of the | |||
| publication streamer, which will further improve performance. | publication streamer, which will further improve performance. | |||
| o Ultimately, such advantages allow for a larger data analysis | * Ultimately, such advantages allow for a larger data analysis | |||
| feature set, as more voluminous, finer grained data sets can be | feature set, as more voluminous, finer grained data sets can be | |||
| streamed to the receiver. | streamed to the receiver. | |||
| The transport described in this document can be used for transmitting | The transport described in this document can be used for transmitting | |||
| notification messages over both IPv4 and IPv6. | notification messages over both IPv4 and IPv6. | |||
| This document describes the notification mechanism. It is intended | This document describes the notification mechanism. It is intended | |||
| to be used in conjunction with [RFC8639], extended by | to be used in conjunction with [RFC8639], extended by | |||
| [I-D.ietf-netconf-distributed-notif]. | [I-D.ietf-netconf-distributed-notif]. | |||
| Section 2 describes the control of the proposed transport mechanism. | Section 2 describes the control of the proposed transport mechanism. | |||
| Section 3 details the notification mechanism and message format. | Section 3 details the notification mechanism and message format. | |||
| Section 4.1 discusses congestion control. Section 4 covers the | Section 4 describes the use of options in the notification message | |||
| applicability of the proposed mechanism. | header. Section 5 covers the applicability of the proposed | |||
| mechanism. | ||||
| 2. Configured Subscription to UDP-Notif | 2. Configured Subscription to UDP-Notif | |||
| This section describes how the proposed mechanism can be controlled | This section describes how the proposed mechanism can be controlled | |||
| using subscription channels based on NETCONF or RESTCONF. | using subscription channels based on NETCONF or RESTCONF. | |||
| Following the usual approach of Sub-Notif, configured subscriptions | Following the usual approach of Sub-Notif, configured subscriptions | |||
| contain the location information of all the receivers, including the | contain the location information of all the receivers, including the | |||
| IP address and the port number, so that the publisher can actively | IP address and the port number, so that the publisher can actively | |||
| send UDP-Notif messages to the corresponding receivers. | send UDP-Notif messages to the corresponding receivers. | |||
| skipping to change at page 4, line 32 ¶ | skipping to change at page 4, line 40 ¶ | |||
| device. The first message MUST be a separate subscription-started | device. The first message MUST be a separate subscription-started | |||
| notification to indicate the Receiver that the stream has started | notification to indicate the Receiver that the stream has started | |||
| flowing. Then, the notifications can be sent immediately without | flowing. Then, the notifications can be sent immediately without | |||
| delay. All the subscription state notifications, as defined in | delay. All the subscription state notifications, as defined in | |||
| [RFC8639], MUST be encapsulated in separate notification messages. | [RFC8639], MUST be encapsulated in separate notification messages. | |||
| 3. UDP-Based Transport | 3. UDP-Based Transport | |||
| In this section, we specify the UDP-Notif Transport behavior. | In this section, we specify the UDP-Notif Transport behavior. | |||
| Section 3.1 describes the general design of the solution. | Section 3.1 describes the general design of the solution. | |||
| Section 3.2 specifies the UDP-Notif message format. Section 3.3 | Section 3.2 specifies the UDP-Notif message format. Section 4 | |||
| describes a generic optional sub TLV format. Section 3.3.1 uses such | describes a generic optional sub TLV format. Section 4.1 uses such | |||
| options to provide a segmentation solution for large UDP-Notif | options to provide a segmentation solution for large UDP-Notif | |||
| message payloads. Section 3.4 describes the encoding of the message | message payloads. Section 3.3 describes the encoding of the message | |||
| payload. | payload. | |||
| 3.1. Design Overview | 3.1. Design Overview | |||
| As specified in Sub-Notif, the telemetry data is encapsulated in the | As specified in Sub-Notif, the telemetry data is encapsulated in the | |||
| NETCONF/RESTCONF notification message, which is then encapsulated and | NETCONF/RESTCONF notification message, which is then encapsulated and | |||
| carried using transport protocols such as TLS or HTTP2. Figure 1 | carried using transport protocols such as TLS or HTTP2. This | |||
| illustrates the structure of an UDP-Notif message. | document defines a UDP based transport. Figure 1 illustrates the | |||
| structure of an UDP-Notif message. | ||||
| o The Message Header contains information that facilitate the | * The Message Header contains information that facilitate the | |||
| message transmission before deserializing the notification | message transmission before deserializing the notification | |||
| message. | message. | |||
| o Notification Message is the encoded content that the publication | * Notification Message is the encoded content that the publication | |||
| stream transports. The common encoding methods include, CBOR | stream transports. The common encoding methods include, CBOR | |||
| [RFC7049], JSON, and XML. | [RFC7049], JSON, and XML. | |||
| [I-D.ietf-netconf-notification-messages] describes the structure | [I-D.ietf-netconf-notification-messages] describes the structure | |||
| of the Notification Message for single notifications and bundled | of the Notification Message for single notifications and bundled | |||
| notifications. | notifications. | |||
| +-------+ +--------------+ +--------------+ | +-------+ +--------------+ +--------------+ | |||
| | UDP | | Message | | Notification | | | UDP | | Message | | Notification | | |||
| | | | Header | | Message | | | | | Header | | Message | | |||
| +-------+ +--------------+ +--------------+ | +-------+ +--------------+ +--------------+ | |||
| Figure 1: UDP-Notif Message Overview | Figure 1: UDP-Notif Message Overview | |||
| 3.2. Format of the UDP-Notif Message Header | 3.2. Format of the UDP-Notif Message Header | |||
| The UDP-Notif Message Header contains information that facilitate the | The UDP-Notif Message Header contains information that facilitate the | |||
| message transmission before deserializing the notification message. | message transmission before deserializing the notification message. | |||
| The data format is shown in Figure 2. | The data format is shown in Figure 2. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-----+-+-------+---------------+-------------------------------+ | +-----+-+-------+---------------+-------------------------------+ | |||
| skipping to change at page 5, line 36 ¶ | skipping to change at page 5, line 45 ¶ | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| | Message-ID | | | Message-ID | | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| ~ Options ~ | ~ Options ~ | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| Figure 2: UDP-Notif Message Header Format | Figure 2: UDP-Notif Message Header Format | |||
| The Message Header contains the following field: | The Message Header contains the following field: | |||
| o Ver represents the PDU (Protocol Data Unit) encoding version. The | * Ver represents the PDU (Protocol Data Unit) encoding version. The | |||
| initial version value is 0. | initial version value is 0. | |||
| o S represents the space of encoding type specified in the ET field. | * S represents the space of encoding type specified in the ET field. | |||
| When S is unset, ET represents the standard encoding types as | When S is unset, ET represents the standard encoding types as | |||
| defined in this document. When S is set, ET represents a private | defined in this document. When S is set, ET represents a private | |||
| space to be freely used for nonstandard encodings. | space to be freely used for non standard encodings. | |||
| o ET is a 4 bit identifier to indicate the encoding type used for | * ET is a 4 bit identifier to indicate the encoding type used for | |||
| the Notification Message. 16 types of encoding can be expressed. | the Notification Message. 16 types of encoding can be expressed. | |||
| When the S bit is unset, the following values apply: | When the S bit is unset, the following values apply: | |||
| * 0: CBOR; | - 0: CBOR; | |||
| * 1: JSON; | - 1: JSON; | |||
| * 2: XML; | ||||
| * others are reserved. | - 2: XML; | |||
| o Header Len is the length of the message header in octets, | - others are reserved. | |||
| * Header Len is the length of the message header in octets, | ||||
| including both the fixed header and the options. | including both the fixed header and the options. | |||
| o Message Length is the total length of the message within one UDP | * Message Length is the total length of the message within one UDP | |||
| datagram, measured in octets, including the message header. | datagram, measured in octets, including the message header. | |||
| o Observation-Domain-ID is a 32-bit identifier of the Observation | * Observation-Domain-ID is a 32-bit identifier of the Observation | |||
| Domain that led to the production of the notification message, as | Domain that led to the production of the notification message, as | |||
| defined in [I-D.ietf-netconf-notification-messages]. This allows | defined in [I-D.ietf-netconf-notification-messages]. This allows | |||
| disambiguation of an information source, such as the | disambiguation of an information source, such as the | |||
| identification of different line cards sending the notification | identification of different line cards sending the notification | |||
| messages. The source IP address of the UDP datagrams SHOULD NOT | messages. The source IP address of the UDP datagrams SHOULD NOT | |||
| be interpreted as the identifier for the host that originated the | be interpreted as the identifier for the host that originated the | |||
| UDP-Notif message. Indeed, the streamer sending the UDP-Notif | UDP-Notif message. Indeed, the streamer sending the UDP-Notif | |||
| message could be a relay for the actual source of data carried | message could be a relay for the actual source of data carried | |||
| within UDP-Notif messages. | within UDP-Notif messages. | |||
| o The Message ID is generated continuously by the sender of UDP- | * The Message ID is generated continuously by the sender of UDP- | |||
| Notif messages. Different subscribers share the same Message ID | Notif messages. Different subscribers share the same Message ID | |||
| sequence. | sequence. | |||
| o Options is a variable-length field in the TLV format. When the | * Options is a variable-length field in the TLV format. When the | |||
| Header Length is larger than 12 octets, which is the length of the | Header Length is larger than 12 octets, which is the length of the | |||
| fixed header, Options TLVs follow directly after the fixed message | fixed header, Options TLVs follow directly after the fixed message | |||
| header (i.e., Message ID). The details of the options are | header (i.e., Message ID). The details of the options are | |||
| described in the following section. | described in Section 4. | |||
| 3.3. Options | 3.3. Data Encoding | |||
| UDP-Notif message data can be encoded in CBOR, XML or JSON format. | ||||
| It is conceivable that additional encodings may be supported in the | ||||
| future. This can be accomplished by augmenting the subscription data | ||||
| model with additional identity statements used to refer to requested | ||||
| encodings. | ||||
| Private encodings can be supported through the use of the S bit of | ||||
| the header. When the S bit is set, the value of the ET field is left | ||||
| to be defined and agreed upon by the users of the private encoding. | ||||
| An option is defined in Section 4.2 for more verbose encoding | ||||
| descriptions than what can be described with the ET field. | ||||
| Implementation MAY support multiple encoding methods per | ||||
| subscription. When bundled notifications are supported between the | ||||
| publisher and the receiver, only subscribed notifications with the | ||||
| same encoding can be bundled in a given message. | ||||
| 4. Options | ||||
| All the options are defined with the following format, illustrated in | All the options are defined with the following format, illustrated in | |||
| Figure 3. | Figure 3. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +---------------+---------------+-------------------------------- | +---------------+---------------+-------------------------------- | |||
| | Type | Length | Variable-length data | | Type | Length | Variable-length data | |||
| +---------------+---------------+-------------------------------- | +---------------+---------------+-------------------------------- | |||
| Figure 3: Generic Option Format | Figure 3: Generic Option Format | |||
| o Type: 1 octet describing the option type; | * Type: 1 octet describing the option type; | |||
| o Length: 1 octet representing the total number of octets in the | * Length: 1 octet representing the total number of octets in the | |||
| TLV, including the Type and Length fields; | TLV, including the Type and Length fields; | |||
| o Variable-length data: 0 or more octets of TLV Value. | * Variable-length data: 0 or more octets of TLV Value. | |||
| 3.3.1. Segmentation Option | 4.1. Segmentation Option | |||
| The UDP payload length is limited to 65535. Application level | The UDP payload length is limited to 65535. Application level | |||
| headers will make the actual payload shorter. Even though binary | headers will make the actual payload shorter. Even though binary | |||
| encodings such as CBOR may not require more space than what is left, | encodings such as CBOR may not require more space than what is left, | |||
| more voluminous encodings such as JSON and XML may suffer from this | more voluminous encodings such as JSON and XML may suffer from this | |||
| size limitation. Although IPv4 and IPv6 senders can fragment | size limitation. Although IPv4 and IPv6 senders can fragment | |||
| outgoing packets exceeding their Maximum Transmission Unit(MTU), | outgoing packets exceeding their Maximum Transmission Unit(MTU), | |||
| fragmented IP packets may not be desired for operational and | fragmented IP packets may not be desired for operational and | |||
| performance reasons. | performance reasons. | |||
| Consequently, implementations of the mechanism SHOULD provide a | Consequently, implementations of the mechanism SHOULD provide a | |||
| configurable max-segment-size option to control the maximum size of a | configurable max-segment-size option to control the maximum size of a | |||
| payload. | payload. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +---------------+---------------+-----------------------------+-+ | +---------------+---------------+-----------------------------+-+ | |||
| | Type | Length | Segment Number |L| | | Type | Length | Segment Number |L| | |||
| +---------------+---------------+-----------------------------+-+ | +---------------+---------------+-----------------------------+-+ | |||
| Figure 4: Segmentation Option Format | Figure 4: Segmentation Option Format | |||
| The Segmentation Option is to be included when the message content is | The Segmentation Option is to be included when the message content is | |||
| segmented into multiple pieces. Different segments of one message | segmented into multiple pieces. Different segments of one message | |||
| share the same Message ID. An illustration is provided in Figure 4. | share the same Message ID. An illustration is provided in Figure 4. | |||
| The fields of this TLV are: | The fields of this TLV are: | |||
| o Type: Generic option field which indicates a Segmentation Option. | * Type: Generic option field which indicates a Segmentation Option. | |||
| The Type value is to be assigned. | The Type value is to be assigned. | |||
| o Length: Generic option field which indicates the length of this | * Length: Generic option field which indicates the length of this | |||
| option. It is a fixed value of 4 octets for the Segmentation | option. It is a fixed value of 4 octets for the Segmentation | |||
| Option. | Option. | |||
| o Segment Number: 15-bit value indicating the sequence number of the | * Segment Number: 15-bit value indicating the sequence number of the | |||
| current segment. The first segment of a segmented message has a | current segment. The first segment of a segmented message has a | |||
| Segment Number value of 0. | Segment Number value of 0. | |||
| o L: is a flag to indicate whether the current segment is the last | * L: is a flag to indicate whether the current segment is the last | |||
| one of the message. When 0 is set, the current segment is not the | one of the message. When 0 is set, the current segment is not the | |||
| last one. When 1 is set, the current segment is the last one, | last one. When 1 is set, the current segment is the last one, | |||
| meaning that the total number of segments used to transport this | meaning that the total number of segments used to transport this | |||
| message is the value of the current Segment Number + 1. | message is the value of the current Segment Number + 1. | |||
| An implementation of this specification MUST NOT rely on IP | An implementation of this specification MUST NOT rely on IP | |||
| fragmentation by default to carry large messages. An implementation | fragmentation by default to carry large messages. An implementation | |||
| of this specification MUST either restrict the size of individual | of this specification MUST either restrict the size of individual | |||
| messages carried over this protocol, or support the segmentation | messages carried over this protocol, or support the segmentation | |||
| option. | option. | |||
| 3.4. Data Encoding | 4.2. Private Encoding Option | |||
| UDP-Notif message data can be encoded in CBOR, XML or JSON format. | The space to describe private encodings in the ET field of the UDP- | |||
| It is conceivable that additional encodings may be supported in the | Notif header being limited, an option is provided to describe custom | |||
| future. This can be accomplished by augmenting the subscription data | encodings. The fields of this option are as follows. | |||
| model with additional identity statements used to refer to requested | ||||
| encodings. | ||||
| Implementation MAY support multiple encoding methods per | 0 1 2 3 | |||
| subscription. When bundled notifications are supported between the | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| publisher and the receiver, only subscribed notifications with the | +---------------+---------------+-------------------------------- | |||
| same encoding can be bundled in a given message. | | Type | Length | Variable length enc. descr. | |||
| +---------------+---------------+-------------------------------- | ||||
| 4. Applicability | Figure 5: Private Encoding Option Format | |||
| * Type: Generic option field which indicates a Private Encoding | ||||
| Option. The Type value is to be assigned. | ||||
| * Length: Generic option field which indicates the length of this | ||||
| option. It is a variable value. | ||||
| * Enc. Descr: The description of the private encoding used for this | ||||
| message. The values to be used for such private encodings is left | ||||
| to be defined by the users of private encodings. | ||||
| This option SHOULD only be used when the S bit of the header is set, | ||||
| as providing a private encoding description for standard encodings is | ||||
| meaningless. | ||||
| 5. Applicability | ||||
| In this section, we provide an applicability statement for the | In this section, we provide an applicability statement for the | |||
| proposed mechanism, following the recommendations of [RFC8085]. | proposed mechanism, following the recommendations of [RFC8085]. | |||
| The proposed mechanism falls in the category of UDP applications | The proposed mechanism falls in the category of UDP applications | |||
| "designed for use within the network of a single network operator or | "designed for use within the network of a single network operator or | |||
| on networks of an adjacent set of cooperating network operators, to | on networks of an adjacent set of cooperating network operators, to | |||
| be deployed in controlled environments". Implementations of the | be deployed in controlled environments". Implementations of the | |||
| proposed mechanism should thus follow the recommendations in place | proposed mechanism should thus follow the recommendations in place | |||
| for such specific applications. In the following, we discuss | for such specific applications. In the following, we discuss | |||
| recommendations on congestion control, message size guidelines, | recommendations on congestion control, message size guidelines, | |||
| reliability considerations. | reliability considerations. | |||
| 4.1. Congestion Control | 5.1. Congestion Control | |||
| The proposed application falls into the category of applications | The proposed application falls into the category of applications | |||
| performing transfer of large amounts of data. It is expected that | performing transfer of large amounts of data. It is expected that | |||
| the operator using the solution configures QoS on its related flows. | the operator using the solution configures QoS on its related flows. | |||
| As per [RFC8085], such applications MAY choose not to implement any | As per [RFC8085], such applications MAY choose not to implement any | |||
| form of congestion control, but follow the following principles. | form of congestion control, but follow the following principles. | |||
| It is NOT RECOMMENDED to use the proposed mechanism over congestion- | It is NOT RECOMMENDED to use the proposed mechanism over congestion- | |||
| sensitive network paths. The only environments where UDP-Notif is | sensitive network paths. The only environments where UDP-Notif is | |||
| expected to be used are managed networks. The deployments require | expected to be used are managed networks. The deployments require | |||
| skipping to change at page 9, line 20 ¶ | skipping to change at page 10, line 35 ¶ | |||
| burst mitigation SHOULD require the users to explicitly configure | burst mitigation SHOULD require the users to explicitly configure | |||
| such a mode of operation. | such a mode of operation. | |||
| Applications SHOULD monitor packet losses and provide means to the | Applications SHOULD monitor packet losses and provide means to the | |||
| user for retrieving information on such losses. The UDP-Notif | user for retrieving information on such losses. The UDP-Notif | |||
| Message ID can be used to deduce congestion based on packet loss | Message ID can be used to deduce congestion based on packet loss | |||
| detection. Hence the receiver can notify the device to use a lower | detection. Hence the receiver can notify the device to use a lower | |||
| streaming rate. The interaction to control the streaming rate on the | streaming rate. The interaction to control the streaming rate on the | |||
| device is out of the scope of this document. | device is out of the scope of this document. | |||
| 4.2. Message Size | 5.2. Message Size | |||
| [RFC8085] recommends not to rely on IP fragmentation for messages | [RFC8085] recommends not to rely on IP fragmentation for messages | |||
| whose size result in IP packets exceeding the MTU along the path. | whose size result in IP packets exceeding the MTU along the path. | |||
| The segmentation option of the current specification permits | The segmentation option of the current specification permits | |||
| segmentation of the UDP Notif message content without relying on IP | segmentation of the UDP Notif message content without relying on IP | |||
| fragmentation. Implementation of the current specification SHOULD | fragmentation. Implementation of the current specification SHOULD | |||
| allow for the configuration of the MTU. | allow for the configuration of the MTU. | |||
| 4.3. Reliability | 5.3. Reliability | |||
| The target application for UDP-Notif is the collection of data-plane | The target application for UDP-Notif is the collection of data-plane | |||
| information. The lack of reliability of the data streaming mechanism | information. The lack of reliability of the data streaming mechanism | |||
| is thus considered acceptable as the mechanism is to be used in | is thus considered acceptable as the mechanism is to be used in | |||
| controlled environments, mitigating the risk of information loss, | controlled environments, mitigating the risk of information loss, | |||
| while allowing for publication of very large amounts of data. | while allowing for publication of very large amounts of data. | |||
| Moreover, in this context, sporadic events when incomplete data | Moreover, in this context, sporadic events when incomplete data | |||
| collection is provided is not critical for the proper management of | collection is provided is not critical for the proper management of | |||
| the network, as information collected for the devices through the | the network, as information collected for the devices through the | |||
| means of the proposed mechanism is to be often refreshed. | means of the proposed mechanism is to be often refreshed. | |||
| A receiver implementation for this protocol SHOULD deal with | A receiver implementation for this protocol SHOULD deal with | |||
| potential loss of packets carrying a part of segmented payload, by | potential loss of packets carrying a part of segmented payload, by | |||
| discarding packets that were received, but cannot be re-assembled as | discarding packets that were received, but cannot be re-assembled as | |||
| a complete message within a given amount of time. This time SHOULD | a complete message within a given amount of time. This time SHOULD | |||
| be configurable. | be configurable. | |||
| 5. A YANG Data Model for Management of UDP-Notif | 6. A YANG Data Model for Management of UDP-Notif | |||
| The YANG model defined in Section 9 has two leaf's augmented into one | The YANG model defined in Section 7 has two leaves augmented into one | |||
| place of Sub-Notif [RFC8639], plus one identity. | place of Sub-Notif [RFC8639], plus one identity. | |||
| module: ietf-udp-subscribed-notifications | module: ietf-udp-subscribed-notifications | |||
| augment /sn:subscriptions/sn:subscription/sn:receivers/sn:receiver: | augment /sn:subscriptions/sn:subscription/sn:receivers/sn:receiver: | |||
| +--rw address inet:ip-address | +--rw address inet:ip-address | |||
| +--rw port inet:port-number | +--rw port inet:port-number | |||
| +--rw enable-fragment? boolean | +--rw enable-fragment? boolean | |||
| +--rw max-fragment-size? uint32 | +--rw max-fragment-size? uint32 | |||
| 6. YANG Module | 7. YANG Module | |||
| <CODE BEGINS> file "ietf-udp-notif@2020-04-27.yang" | ||||
| module ietf-udp-notif { | ||||
| yang-version 1.1; | ||||
| namespace | ||||
| "urn:ietf:params:xml:ns:yang:ietf-udp-notif"; | ||||
| prefix un; | ||||
| import ietf-subscribed-notifications { | ||||
| prefix sn; | ||||
| reference | ||||
| "RFC 8639: Subscription to YANG Notifications"; | ||||
| } | ||||
| import ietf-inet-types { | ||||
| prefix inet; | ||||
| reference | ||||
| "RFC 6991: Common YANG Data Types"; | ||||
| } | ||||
| organization "IETF NETCONF (Network Configuration) Working Group"; | ||||
| contact | ||||
| "WG Web: <http:/tools.ietf.org/wg/netconf/> | ||||
| WG List: <mailto:netconf@ietf.org> | ||||
| Authors: Guangying Zheng | ||||
| <mailto:zhengguangying@huawei.com> | ||||
| Tianran Zhou | ||||
| <mailto:zhoutianran@huawei.com> | ||||
| Thomas Graf | ||||
| <mailto:thomas.graf@swisscom.com> | ||||
| Pierre Francois | ||||
| <mailto:pierre.francois@insa-lyon.fr> | ||||
| Paolo Lucente | ||||
| <mailto:paolo@ntt.net>"; | ||||
| description | ||||
| "Defines UDP-Notif as a supported transport for subscribed | ||||
| event notifications. | ||||
| Copyright (c) 2018 IETF Trust and the persons identified as authors | ||||
| of the code. All rights reserved. | ||||
| Redistribution and use in source and binary forms, with or without | ||||
| modification, is permitted pursuant to, and subject to the license | ||||
| terms contained in, the Simplified BSD License set forth in Section | ||||
| 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see the RFC | ||||
| itself for full legal notices."; | ||||
| revision 2020-04-27 { | ||||
| description | ||||
| "Initial version"; | ||||
| reference | ||||
| "RFC XXXX: UDP-based Notifications for Streaming Telemetry"; | ||||
| } | ||||
| identity udp-notif { | <CODE BEGINS> file "ietf-udp-notif@2020-04-27.yang" | |||
| base sn:transport; | module ietf-udp-notif { | |||
| description | yang-version 1.1; | |||
| "UDP-Notif is used as transport for notification messages | namespace | |||
| and state change notifications."; | "urn:ietf:params:xml:ns:yang:ietf-udp-notif"; | |||
| } | prefix un; | |||
| import ietf-subscribed-notifications { | ||||
| prefix sn; | ||||
| reference | ||||
| "RFC 8639: Subscription to YANG Notifications"; | ||||
| } | ||||
| import ietf-inet-types { | ||||
| prefix inet; | ||||
| reference | ||||
| "RFC 6991: Common YANG Data Types"; | ||||
| } | ||||
| identity encode-cbor { | organization "IETF NETCONF (Network Configuration) Working Group"; | |||
| base sn:encoding; | contact | |||
| description | "WG Web: <http:/tools.ietf.org/wg/netconf/> | |||
| "Encode data using CBOR as described in RFC 7049."; | WG List: <mailto:netconf@ietf.org> | |||
| reference | ||||
| "RFC 7049: Concise Binary Object Representation"; | ||||
| } | ||||
| grouping target-receiver { | Authors: Guangying Zheng | |||
| description | <mailto:zhengguangying@huawei.com> | |||
| "Provides a reusable description of a UDP-Notif target receiver."; | Tianran Zhou | |||
| leaf address { | <mailto:zhoutianran@huawei.com> | |||
| type inet:ip-address; | Thomas Graf | |||
| mandatory true; | <mailto:thomas.graf@swisscom.com> | |||
| description | Pierre Francois | |||
| "IP address of target UDP-Notif receiver, which can be an | <mailto:pierre.francois@insa-lyon.fr> | |||
| IPv4 address or an IPV6 address."; | Paolo Lucente | |||
| } | <mailto:paolo@ntt.net>"; | |||
| leaf port { | ||||
| type inet:port-number; | ||||
| mandatory true; | ||||
| description | ||||
| "Port number of target UDP-Notif receiver, if not specified, | ||||
| the system should use default port number."; | ||||
| } | description | |||
| "Defines UDP-Notif as a supported transport for subscribed | ||||
| event notifications. | ||||
| leaf enable-fragment { | Copyright (c) 2018 IETF Trust and the persons identified as authors | |||
| type boolean; | of the code. All rights reserved. | |||
| default false; | ||||
| description | ||||
| "The switch for the fragment feature. When disabled, the | ||||
| publisher will not allow fragment for a very large data"; | ||||
| } | ||||
| leaf max-fragment-size { | Redistribution and use in source and binary forms, with or without | |||
| when "../enable-fragment = true"; | modification, is permitted pursuant to, and subject to the license | |||
| type uint32; | terms contained in, the Simplified BSD License set forth in Section | |||
| description "UDP-Notif provides a configurable max-fragment-size | 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents | |||
| to control the size of each message."; | (https://trustee.ietf.org/license-info). | |||
| } | ||||
| } | ||||
| augment "/sn:subscriptions/sn:subscription/sn:receivers/sn:receiver" { | This version of this YANG module is part of RFC XXXX; see the RFC | |||
| description | ||||
| "This augmentation allows UDP-Notif specific parameters to be | ||||
| exposed for a subscription."; | ||||
| uses target-receiver; | ||||
| } | ||||
| } | ||||
| <CODE ENDS> | ||||
| 7. IANA Considerations | itself for full legal notices."; | |||
| This RFC requests that IANA assigns one UDP port number in the | revision 2020-04-27 { | |||
| "Registered Port Numbers" range with the service name "udp-notif". | description | |||
| This port will be the default port for the UDP-based notification | "Initial version"; | |||
| Streaming Telemetry (UDP-Notif) for NETCONF and RESTCONF. Below is | reference | |||
| the registration template following the rules of [RFC6335]. | "RFC XXXX: UDP-based Notifications for Streaming Telemetry"; | |||
| } | ||||
| Service Name: udp-notif | identity udp-notif { | |||
| base sn:transport; | ||||
| description | ||||
| "UDP-Notif is used as transport for notification messages | ||||
| and state change notifications."; | ||||
| } | ||||
| Transport Protocol(s): UDP | identity encode-cbor { | |||
| base sn:encoding; | ||||
| description | ||||
| "Encode data using CBOR as described in RFC 7049."; | ||||
| reference | ||||
| "RFC 7049: Concise Binary Object Representation"; | ||||
| } | ||||
| grouping target-receiver { | ||||
| description | ||||
| "Provides a reusable description of a UDP-Notif target receiver."; | ||||
| leaf address { | ||||
| type inet:ip-address; | ||||
| mandatory true; | ||||
| description | ||||
| "IP address of target UDP-Notif receiver, which can be an | ||||
| IPv4 address or an IPV6 address."; | ||||
| } | ||||
| leaf port { | ||||
| type inet:port-number; | ||||
| mandatory true; | ||||
| description | ||||
| "Port number of target UDP-Notif receiver, if not specified, | ||||
| the system should use default port number."; | ||||
| } | ||||
| Assignee: IESG <iesg@ietf.org> | leaf enable-fragment { | |||
| type boolean; | ||||
| default false; | ||||
| description | ||||
| "The switch for the fragment feature. When disabled, the | ||||
| publisher will not allow fragment for a very large data"; | ||||
| } | ||||
| Contact: IETF Chair <chair@ietf.org> | leaf max-fragment-size { | |||
| when "../enable-fragment = true"; | ||||
| type uint32; | ||||
| description "UDP-Notif provides a configurable max-fragment-size | ||||
| to control the size of each message."; | ||||
| } | ||||
| } | ||||
| Description: UDP-based Publication Streaming Telemetry | augment "/sn:subscriptions/sn:subscription/sn:receivers/sn:receiver" { | |||
| description | ||||
| "This augmentation allows UDP-Notif specific parameters to be | ||||
| exposed for a subscription."; | ||||
| uses target-receiver; | ||||
| } | ||||
| } | ||||
| <CODE ENDS> | ||||
| Reference: RFC XXXX | 8. IANA Considerations | |||
| Port Number: PORT-X | ||||
| IANA is requested to assign a new URI from the IETF XML Registry | IANA is requested to assign a new URI from the IETF XML Registry | |||
| [RFC3688]. The following URI is suggested: | [RFC3688]. The following URI is suggested: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-udp-notif | URI: urn:ietf:params:xml:ns:yang:ietf-udp-notif | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
| This document also requests a new YANG module name in the YANG Module | This document also requests a new YANG module name in the YANG Module | |||
| Names registry [RFC7950] with the following suggestion: | Names registry [RFC7950] with the following suggestion: | |||
| name: ietf-udp-notif | name: ietf-udp-notif | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-udp-notif | namespace: urn:ietf:params:xml:ns:yang:ietf-udp-notif | |||
| prefix: un | prefix: un | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 8. Security Considerations | 9. Security Considerations | |||
| TBD | As stated in the Applicability analysis in Section 5, this protocol | |||
| is to be used in controlled environments, so that network operators | ||||
| might not require to secure the transport mechanism described in this | ||||
| document. An approach to secure this protocol is out of the scope of | ||||
| this document. | ||||
| 9. Acknowledgements | 10. Acknowledgements | |||
| The authors of this documents would like to thank Alexander Clemm, | The authors of this documents would like to thank Alexander Clemm, | |||
| Eric Voit, Huiyang Yang, Kent Watsen, Mahesh Jethanandani, Stephane | Eric Voit, Huiyang Yang, Kent Watsen, Mahesh Jethanandani, Stephane | |||
| Frenot, Timothy Carey, Tim Jenkins, and Yunan Gu for their | Frenot, Timothy Carey, Tim Jenkins, and Yunan Gu for their | |||
| constructive suggestions for improving this document. | constructive suggestions for improving this document. | |||
| 10. References | 11. References | |||
| 10.1. Normative References | 11.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41, | [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41, | |||
| RFC 2914, DOI 10.17487/RFC2914, September 2000, | RFC 2914, DOI 10.17487/RFC2914, September 2000, | |||
| <https://www.rfc-editor.org/info/rfc2914>. | <https://www.rfc-editor.org/info/rfc2914>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| [RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
| Security", RFC 4347, DOI 10.17487/RFC4347, April 2006, | ||||
| <https://www.rfc-editor.org/info/rfc4347>. | ||||
| [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | ||||
| Specifications: ABNF", STD 68, RFC 5234, | ||||
| DOI 10.17487/RFC5234, January 2008, | ||||
| <https://www.rfc-editor.org/info/rfc5234>. | ||||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | ||||
| (TLS) Protocol Version 1.2", RFC 5246, | ||||
| DOI 10.17487/RFC5246, August 2008, | ||||
| <https://www.rfc-editor.org/info/rfc5246>. | ||||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | ||||
| and A. Bierman, Ed., "Network Configuration Protocol | ||||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6241>. | ||||
| [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. | ||||
| Cheshire, "Internet Assigned Numbers Authority (IANA) | ||||
| Procedures for the Management of the Service Name and | ||||
| Transport Protocol Port Number Registry", BCP 165, | ||||
| RFC 6335, DOI 10.17487/RFC6335, August 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6335>. | ||||
| [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
| Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, | ||||
| January 2012, <https://www.rfc-editor.org/info/rfc6347>. | ||||
| [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object | [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object | |||
| Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, | Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, | |||
| October 2013, <https://www.rfc-editor.org/info/rfc7049>. | October 2013, <https://www.rfc-editor.org/info/rfc7049>. | |||
| [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
| RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
| <https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
| [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
| skipping to change at page 15, line 16 ¶ | skipping to change at page 15, line 33 ¶ | |||
| E., and A. Tripathy, "Dynamic Subscription to YANG Events | E., and A. Tripathy, "Dynamic Subscription to YANG Events | |||
| and Datastores over NETCONF", RFC 8640, | and Datastores over NETCONF", RFC 8640, | |||
| DOI 10.17487/RFC8640, September 2019, | DOI 10.17487/RFC8640, September 2019, | |||
| <https://www.rfc-editor.org/info/rfc8640>. | <https://www.rfc-editor.org/info/rfc8640>. | |||
| [RFC8650] Voit, E., Rahman, R., Nilsen-Nygaard, E., Clemm, A., and | [RFC8650] Voit, E., Rahman, R., Nilsen-Nygaard, E., Clemm, A., and | |||
| A. Bierman, "Dynamic Subscription to YANG Events and | A. Bierman, "Dynamic Subscription to YANG Events and | |||
| Datastores over RESTCONF", RFC 8650, DOI 10.17487/RFC8650, | Datastores over RESTCONF", RFC 8650, DOI 10.17487/RFC8650, | |||
| November 2019, <https://www.rfc-editor.org/info/rfc8650>. | November 2019, <https://www.rfc-editor.org/info/rfc8650>. | |||
| 10.2. Informative References | 11.2. Informative References | |||
| [I-D.ietf-netconf-distributed-notif] | [I-D.ietf-netconf-distributed-notif] | |||
| Zhou, T., Zheng, G., Voit, E., Graf, T., and P. Francois, | Zhou, T., Zheng, G., Voit, E., Graf, T., and P. Francois, | |||
| "Subscription to Distributed Notifications", draft-ietf- | "Subscription to Distributed Notifications", Work in | |||
| netconf-distributed-notif-01 (work in progress), June | Progress, Internet-Draft, draft-ietf-netconf-distributed- | |||
| 2020. | notif-02, May 2021, <https://tools.ietf.org/html/draft- | |||
| ietf-netconf-distributed-notif-02>. | ||||
| [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 YANG Notifications", draft-ietf-netconf-https-notif-08 | for YANG Notifications", Work in Progress, Internet-Draft, | |||
| (work in progress), February 2021. | draft-ietf-netconf-https-notif-08, 22 February 2021, | |||
| <https://www.ietf.org/archive/id/draft-ietf-netconf-https- | ||||
| notif-08.txt>. | ||||
| [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", Work in | |||
| ietf-netconf-notification-messages-08 (work in progress), | Progress, Internet-Draft, draft-ietf-netconf-notification- | |||
| November 2019. | messages-08, 17 November 2019, | |||
| <https://www.ietf.org/archive/id/draft-ietf-netconf- | ||||
| notification-messages-08.txt>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Guangying Zheng | Guangying Zheng | |||
| Huawei | Huawei | |||
| 101 Yu-Hua-Tai Software Road | 101 Yu-Hua-Tai Software Road | |||
| Nanjing, Jiangsu | Nanjing | |||
| Jiangsu, | ||||
| China | China | |||
| Email: zhengguangying@huawei.com | Email: zhengguangying@huawei.com | |||
| Tianran Zhou | Tianran Zhou | |||
| Huawei | Huawei | |||
| 156 Beiqing Rd., Haidian District | 156 Beiqing Rd., Haidian District | |||
| Beijing | Beijing | |||
| China | China | |||
| skipping to change at page 16, line 4 ¶ | skipping to change at page 16, line 26 ¶ | |||
| Email: zhengguangying@huawei.com | Email: zhengguangying@huawei.com | |||
| Tianran Zhou | Tianran Zhou | |||
| Huawei | Huawei | |||
| 156 Beiqing Rd., Haidian District | 156 Beiqing Rd., Haidian District | |||
| Beijing | Beijing | |||
| China | China | |||
| Email: zhoutianran@huawei.com | Email: zhoutianran@huawei.com | |||
| Thomas Graf | Thomas Graf | |||
| Swisscom | Swisscom | |||
| Binzring 17 | Binzring 17 | |||
| Zuerich 8045 | CH- Zuerich 8045 | |||
| Switzerland | Switzerland | |||
| Email: thomas.graf@swisscom.com | Email: thomas.graf@swisscom.com | |||
| Pierre Francois | Pierre Francois | |||
| INSA-Lyon | INSA-Lyon | |||
| Lyon | Lyon | |||
| France | France | |||
| Email: pierre.francois@insa-lyon.fr | Email: pierre.francois@insa-lyon.fr | |||
| Paolo Lucente | Paolo Lucente | |||
| NTT | NTT | |||
| Siriusdreef 70-72 | Siriusdreef 70-72 | |||
| Hoofddorp, WT 2132 | Hoofddorp, WT 2132 | |||
| NL | Netherlands | |||
| Email: paolo@ntt.net | Email: paolo@ntt.net | |||
| End of changes. 81 change blocks. | ||||
| 254 lines changed or deleted | 249 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/ | ||||