Internet-Draft | TVR Contact Plan | July 2024 |
Blanchet, et al. | Expires 7 January 2025 | [Page] |
Some networks, such as in space, have links that are up and down based on a known schedule. The links characteristics, such as latency and bandwidth, are often also known in advance and are important information for routing decisions. This document describes a YANG data model, also known as contact plan. This specification applies to the Bundle Protocol.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 7 January 2025.¶
Copyright (c) 2024 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Some networks, such as in space, have links that are up and down based on a known schedule. The links characteristics, such as latency and bandwidth, are also known in advance and are important information for routing decisions. This document describes a Yang data model, also known as contact plan. This specification applies to the Bundle Protocol.¶
For delay-tolerant networks using the Bundle Protocol(BP) [RFC9171], implementations have defined different formats and data models ([iondtncp], [ionipncp], [ud3tncgf], [hdtncp]) for such data. This specification aims to specify a common interoperable data model.¶
While this work is related to space communications, it could be applied to any use case that is using a contact plan.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This document uses the graphical representation of data models defined in [RFC8340].¶
The following figure shows the tree diagram of the ietf-tvr-bundle-schedule module.¶
module: ietf-tvr-bundle-schedule augment /bundle:node/bundle:neighbors/bundle:neighbor: +--rw contact-schedule +--rw schedules* [schedule-id] | +--rw schedule-id uint32 | +--rw (schedule-type)? | | +--:(period) | | | +--rw period-description? string | | | +--rw period-start yang:date-and-time | | | +--rw time-zone-identifier? sys:timezone-name | | | +--rw (period-type)? | | | +--:(explicit) | | | | +--rw period-end? yang:date-and-time | | | +--:(duration) | | | +--rw duration? duration | | +--:(recurrence) | | +--rw recurrence-first | | | +--rw utc-start-time? yang:date-and-time | | | +--rw duration? uint32 | | +--rw (recurrence-bound)? | | | +--:(until) | | | | +--rw utc-until? yang:date-and-time | | | +--:(count) | | | +--rw count? uint32 | | +--rw recurrence-description? string | | +--rw frequency identityref | | +--rw interval? uint32 | +--rw attr-value | +--rw bandwidth? yang:gauge64 +--rw bandwidth? yang:gauge64¶
The YANG data model augments the Bundle Protocol YANG data model[draft-blanchet-dtn-bp-yang-model] by adding the TVR schedule YANG data model [draft-ietf-tvr-schedule-yang] to the neighbors of a Bundle protocol node.¶
In the case of DTN networks using Bundle Protocol, additional attributes are used on the contact, such as the bandwidth of the convergence layer adapter link at the time of the contact. It is added to the augmentation.¶
<CODE BEGINS> file "ietf-tvr-bundle-schedule@2024-07-06.yang" module ietf-tvr-bundle-schedule { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-tvr-bundle-schedule"; prefix bundle-schedule; import ietf-bundle-protocol { prefix bundle; } import ietf-tvr-schedule { prefix tvr-schd; } import ietf-yang-types { prefix yang; } organization "IETF TVR - Time Variant Routing Working Group"; contact "WG Web: <http://datatracker.ietf.org/wg/tvr> WG List: <mailto:tvr@ietf.org> Author: Marc Blanchet <mailto:marc.blanchet@viagenie.ca> Author: Yingzhen Qu <mailto:yingzhen.ietf@gmail.com> Author: Leigh Jordan Torgerson <mailto:jordan.l.torgerson@jpl.nasa.gov>"; description "The YANG module defines an augmentation to the Bundle protocol YANG model. This YANG model conforms to the Network Management Datastore Architecture (NMDA) as described in RFC 8342. Copyright (c) 2024 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 Revised 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 (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; reference "RFC XXXX: Contact Plan YANG Model for Time-Variant Routing of the Bundle Protocol"; revision 2024-07-06 { description "Initial Version"; reference "RFC XXXX: Contact Plan YANG Model for Time-Variant Routing of the Bundle Protocol."; } augment "/bundle:node/bundle:neighbors/bundle:neighbor" { container contact-schedule { description "Augment Bundle node neighbor with a contact schedule."; uses tvr-schd:tvr-schedule { augment "schedules/attr-value" { description "Augment the power state within each period."; leaf bandwidth { type yang:gauge64; units "bits/second"; description "An estimate of the convergence layer bandwidth in bits per second during the scheduled time."; } } } leaf bandwidth { type yang:gauge64; units "bits/second"; default "0"; description "The convergence layer default bandwidth in bits per second."; } } description "Augment the neighbor with a contact schedule."; } } <CODE ENDS>¶
The YANG modules specified in this document define a schema for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446].¶
The NETCONF access control model [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a pre-configured subset of all available NETCONF or RESTCONF protocol operations and content.¶
Augmenting neighbors with a contact plan could be used by an adversary to influence the routing and the base function of the networking config of the node, the end-result may be a denial of service.¶
This document registers an URI in the IETF XML registry [RFC3688]. Following the format in [RFC3688], the following registration is requested to be made:¶
URI: urn:ietf:params:xml:ns:yang:ietf-tvr-bundle-schedule Registrant Contact: The IESG. XML: N/A, the requested URI is an XML namespace.¶
This document registers a YANG module in the YANG Module Names registry [RFC6020].¶
name: ietf-tvr-bundle-schedule namespace: urn:ietf:params:xml:ns:yang:ietf-tvr-bundle-schedule prefix: bundle-schedule reference: RFC XXXX¶
This work is vastly inspired by Scott Burleigh's' Contact Graph Routing for DTN as implemented in ION as well as the contact plan of HDTN and uD3TN implementations.¶
The following people have provided comments to improve this document (in no particular order): Felix Walter, Scott Burleigh, Dean Bogdanovic, Tony Li, Brian Sipos, Jordan Leigh Torgerson, Yingzhen Qu.¶