draft-ietf-babel-information-model-09.txt   draft-ietf-babel-information-model-10.txt 
Babel routing protocol B. Stark Babel routing protocol B. Stark
Internet-Draft AT&T Internet-Draft AT&T
Intended status: Informational M. Jethanandani Intended status: Informational M. Jethanandani
Expires: February 22, 2020 VMware Expires: April 11, 2020 VMware
August 21, 2019 October 9, 2019
Babel Information Model Babel Information Model
draft-ietf-babel-information-model-09 draft-ietf-babel-information-model-10
Abstract Abstract
This Babel Information Model can be used to create data models under This Babel Information Model provides structured data elements for a
various data modeling regimes. It allows a Babel implementation (via Babel implementation reporting its current state and may allow
a management protocol or interface) to report on its current state limited configuration of some such data elements. This information
and may allow some limited configuration of protocol constants. model can be used as a basis for creating data models under various
data modeling regimes.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 February 22, 2020. This Internet-Draft will expire on April 11, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
skipping to change at page 2, line 19 skipping to change at page 2, line 21
1.2. Notation . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Notation . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. The Information Model . . . . . . . . . . . . . . . . . . . . 7 3. The Information Model . . . . . . . . . . . . . . . . . . . . 7
3.1. Definition of babel-information-obj . . . . . . . . . . . 7 3.1. Definition of babel-information-obj . . . . . . . . . . . 7
3.2. Definition of babel-constants-obj . . . . . . . . . . . . 8 3.2. Definition of babel-constants-obj . . . . . . . . . . . . 8
3.3. Definition of babel-interfaces-obj . . . . . . . . . . . 9 3.3. Definition of babel-interfaces-obj . . . . . . . . . . . 9
3.4. Definition of babel-if-stats-obj . . . . . . . . . . . . 11 3.4. Definition of babel-if-stats-obj . . . . . . . . . . . . 11
3.5. Definition of babel-neighbors-obj . . . . . . . . . . . . 12 3.5. Definition of babel-neighbors-obj . . . . . . . . . . . . 12
3.6. Definition of babel-routes-obj . . . . . . . . . . . . . 14 3.6. Definition of babel-routes-obj . . . . . . . . . . . . . 14
3.7. Definition of babel-mac-key-sets-obj . . . . . . . . . . 15 3.7. Definition of babel-mac-key-sets-obj . . . . . . . . . . 15
3.8. Definition of babel-mac-keys-obj . . . . . . . . . . . . 15 3.8. Definition of babel-mac-keys-obj . . . . . . . . . . . . 16
3.9. Definition of babel-dtls-cert-sets-obj . . . . . . . . . 17 3.9. Definition of babel-dtls-cert-sets-obj . . . . . . . . . 17
3.10. Definition of babel-dtls-certs-obj . . . . . . . . . . . 17 3.10. Definition of babel-dtls-certs-obj . . . . . . . . . . . 17
4. Extending the Information Model . . . . . . . . . . . . . . . 18 4. Extending the Information Model . . . . . . . . . . . . . . . 18
5. Security Considerations . . . . . . . . . . . . . . . . . . . 18 5. Security Considerations . . . . . . . . . . . . . . . . . . . 18
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19
7.1. Normative References . . . . . . . . . . . . . . . . . . 19 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.2. Informative References . . . . . . . . . . . . . . . . . 20 8.1. Normative References . . . . . . . . . . . . . . . . . . 19
8.2. Informative References . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
Babel is a loop-avoiding distance-vector routing protocol defined in Babel is a loop-avoiding distance-vector routing protocol defined in
[I-D.ietf-babel-rfc6126bis]. [I-D.ietf-babel-hmac] defines a [I-D.ietf-babel-rfc6126bis]. [I-D.ietf-babel-hmac] defines a
security mechanism that allows Babel packets to be cryptographically security mechanism that allows Babel packets to be cryptographically
authenticated, and [I-D.ietf-babel-dtls] defines a security mechanism authenticated, and [I-D.ietf-babel-dtls] defines a security mechanism
that allows Babel packets to be encrypted. This document describes that allows Babel packets to be encrypted. This document describes
an information model for Babel (including implementations using one an information model for Babel (including implementations using one
or both of these security mechanisms) that can be used to create or both of these security mechanisms) that can be used to create
management protocol data models (such as a NETCONF [RFC6241] YANG management protocol data models (such as a NETCONF [RFC6241] YANG
[RFC7950] data model). [RFC7950] data model.
Due to the simplicity of the Babel protocol, most of the information Due to the simplicity of the Babel protocol, most of the information
model is focused on reporting Babel protocol operational state, and model is focused on reporting Babel protocol operational state, and
very little of that is considered mandatory to implement (for an very little of that is considered mandatory to implement for an
implementation claiming compliance with this information model). implementation claiming compliance with this information model. Some
Some parameters may be configurable. However, it is up to the Babel parameters may be configurable. However, it is up to the Babel
implementation whether to allow any of these to be configured within implementation whether to allow any of these to be configured within
its implementation. Where the implementation does not allow its implementation. Where the implementation does not allow
configuration of these parameters, it may still choose to expose them configuration of these parameters, it MAY still choose to expose them
as read-only. as read-only.
The Information Model is presented using a hierarchical structure. The Information Model is presented using a hierarchical structure.
This does not preclude a data model based on this Information Model This does not preclude a data model based on this Information Model
from using a referential or other structure. from using a referential or other structure.
1.1. Requirements Language 1.1. 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
skipping to change at page 3, line 36 skipping to change at page 3, line 38
parameter or object is read-only. "rw" means it is read-write. For parameter or object is read-only. "rw" means it is read-write. For
an object, read-write means instances of the object can be created or an object, read-write means instances of the object can be created or
deleted. If an implementation is allowed to choose to implement a deleted. If an implementation is allowed to choose to implement a
"rw" parameter as read-only, this is noted in the parameter "rw" parameter as read-only, this is noted in the parameter
description. description.
The object definitions use base types that are defined as follows: The object definitions use base types that are defined as follows:
binary A binary string (sequence of octets). binary A binary string (sequence of octets).
boolean A type representing a Boolean value. boolean A type representing a Boolean (true or false) value.
counter A non-negative integer that monotonically increases. counter A non-negative integer that monotonically increases.
Counters may have discontinuities and they are not Counters may have discontinuities and they are not
expected to persist across restarts. expected to persist across restarts.
datetime A type representing a date and time using the Gregorian datetime A type representing a date and time using the Gregorian
calendar. The datetime format MUST conform to RFC 3339 calendar. The datetime format MUST conform to RFC 3339
[RFC3339]. [RFC3339].
ip-address A type representing an IP address. This type supports ip-address A type representing an IP address. This type supports
skipping to change at page 6, line 36 skipping to change at page 6, line 42
o Interface: set of DTLS certificates o Interface: set of DTLS certificates
o Interface: use cached info extensions o Interface: use cached info extensions
o Interface: preferred order of certificate types o Interface: preferred order of certificate types
o Interface: enable/disable packet log o Interface: enable/disable packet log
o MAC-keys: create/delete entries o MAC-keys: create/delete entries
o MAC-keys: use to sign packets o MAC-keys: key used to sign packets
o MAC-keys: use to verify packets o MAC-keys: key used to verify packets
o DTLS-certs: create/delete entries o DTLS-certs: create/delete entries
The following parameters are required to return no value when read: The following parameters are required to return no value when read:
o MAC key values o MAC key values
o DTLS certificate values o DTLS certificate values
Note that this overview is intended simply to be informative and is Note that this overview is intended simply to be informative and is
not normative. If there is any discrepancy between this overview and not normative. If there is any discrepancy between this overview and
the detailed information model definitions in subsequent sections, the detailed information model definitions in subsequent sections,
the error is in this overview. the error is in this overview.
3. The Information Model 3. The Information Model
3.1. Definition of babel-information-obj 3.1. Definition of babel-information-obj
object { object {
skipping to change at page 16, line 21 skipping to change at page 16, line 32
babel-key-use-sign: Indicates whether this key value is used to sign babel-key-use-sign: Indicates whether this key value is used to sign
sent Babel packets. Sent packets are signed using this key if the sent Babel packets. Sent packets are signed using this key if the
value is "true". If the value is "false", this key is not used to value is "true". If the value is "false", this key is not used to
sign sent Babel packets. An implementation MAY choose to expose sign sent Babel packets. An implementation MAY choose to expose
this parameter as read-only ("ro"). this parameter as read-only ("ro").
babel-key-use-verify: Indicates whether this key value is used to babel-key-use-verify: Indicates whether this key value is used to
verify incoming Babel packets. This key is used to verify verify incoming Babel packets. This key is used to verify
incoming packets if the value is "true". If the value is "false", incoming packets if the value is "true". If the value is "false",
no MAC is computed from this key for comparing an incoming packet. no MAC is computed from this key for comparing with the MAC in an
An implementation MAY choose to expose this parameter as read-only incoming packet. An implementation MAY choose to expose this
("ro"). parameter as read-only ("ro").
babel-key-value: The value of the MAC key. An implementation MUST babel-key-value: The value of the MAC key. An implementation MUST
NOT allow this parameter to be read. This can be done by always NOT allow this parameter to be read. This can be done by always
providing an empty string when read, or through permissions, or providing an empty string when read, or through permissions, or
other means. This value MUST be provided when this instance is other means. This value MUST be provided when this instance is
created, and is not subsequently writable. This value is of a created, and is not subsequently writable. This value is of a
length suitable for the associated babel-mac-key-algorithm. If length suitable for the associated babel-mac-key-algorithm. If
the algorithm is based on the HMAC construction [RFC2104], the the algorithm is based on the HMAC construction [RFC2104], the
length MUST be between 0 and the block size of the underlying hash length MUST be between 0 and the block size of the underlying hash
inclusive (where "HMAC-SHA256" block size is 64 bytes as described inclusive (where "HMAC-SHA256" block size is 64 bytes as described
skipping to change at page 19, line 16 skipping to change at page 19, line 23
credentials (e.g., [I-D.ietf-babel-dtls], [I-D.ietf-babel-hmac]) credentials (e.g., [I-D.ietf-babel-dtls], [I-D.ietf-babel-hmac])
identify what credentials can be used with those mechanisms. identify what credentials can be used with those mechanisms.
MAC keys are allowed to be as short as zero-length. This is useful MAC keys are allowed to be as short as zero-length. This is useful
for testing. Network operators are advised to follow current best for testing. Network operators are advised to follow current best
practices for key length and generation of keys related to the MAC practices for key length and generation of keys related to the MAC
algorithm associated with the key. Short (and zero-length) keys and algorithm associated with the key. Short (and zero-length) keys and
keys that make use of only alphanumeric characters are highly keys that make use of only alphanumeric characters are highly
susceptible to brute force attacks. susceptible to brute force attacks.
6. Acknowledgements 6. IANA Considerations
This document has no IANA actions.
7. Acknowledgements
Juliusz Chroboczek, Toke Hoeiland-Joergensen, David Schinazi, Acee Juliusz Chroboczek, Toke Hoeiland-Joergensen, David Schinazi, Acee
Lindem, and Carsten Bormann have been very helpful in refining this Lindem, and Carsten Bormann have been very helpful in refining this
information model. information model.
The language in the Notation section was mostly taken from [RFC8193]. The language in the Notation section was mostly taken from [RFC8193].
7. References 8. References
7.1. Normative References 8.1. Normative References
[I-D.ietf-babel-rfc6126bis] [I-D.ietf-babel-rfc6126bis]
Chroboczek, J. and D. Schinazi, "The Babel Routing Chroboczek, J. and D. Schinazi, "The Babel Routing
Protocol", draft-ietf-babel-rfc6126bis-14 (work in Protocol", draft-ietf-babel-rfc6126bis-14 (work in
progress), August 2019. progress), August 2019.
[libpcap] Wireshark, "Libpcap File Format", 2015, [libpcap] Wireshark, "Libpcap File Format", 2015,
<https://wiki.wireshark.org/Development/ <https://wiki.wireshark.org/Development/
LibpcapFileFormat>. LibpcapFileFormat>.
skipping to change at page 20, line 5 skipping to change at page 20, line 13
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC7468] Josefsson, S. and S. Leonard, "Textual Encodings of PKIX, [RFC7468] Josefsson, S. and S. Leonard, "Textual Encodings of PKIX,
PKCS, and CMS Structures", RFC 7468, DOI 10.17487/RFC7468, PKCS, and CMS Structures", RFC 7468, DOI 10.17487/RFC7468,
April 2015, <https://www.rfc-editor.org/info/rfc7468>. April 2015, <https://www.rfc-editor.org/info/rfc7468>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
7.2. Informative References 8.2. Informative References
[I-D.ietf-babel-dtls] [I-D.ietf-babel-dtls]
Decimo, A., Schinazi, D., and J. Chroboczek, "Babel Decimo, A., Schinazi, D., and J. Chroboczek, "Babel
Routing Protocol over Datagram Transport Layer Security", Routing Protocol over Datagram Transport Layer Security",
draft-ietf-babel-dtls-09 (work in progress), August 2019. draft-ietf-babel-dtls-09 (work in progress), August 2019.
[I-D.ietf-babel-hmac] [I-D.ietf-babel-hmac]
Do, C., Kolodziejak, W., and J. Chroboczek, "MAC Do, C., Kolodziejak, W., and J. Chroboczek, "MAC
authentication for the Babel routing protocol", draft- authentication for the Babel routing protocol", draft-
ietf-babel-hmac-10 (work in progress), August 2019. ietf-babel-hmac-10 (work in progress), August 2019.
 End of changes. 18 change blocks. 
29 lines changed or deleted 34 lines changed or added

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