RFC 8944: A YANG Data Model for Layer 2 Network Topologies
- J. Dong,
- X. Wei,
- Q. Wu,
- M. Boucadair,
- A. Liu
Abstract
This document defines a YANG data model for Layer 2 network topologies. In particular, this data model augments the generic network and network topology data models with topology attributes that are specific to Layer 2.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2020 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://
1. Introduction
[RFC8345] defines the YANG [RFC6020]
[RFC7950] data models of the abstract (generic) network
and network topology. Such models can be augmented with
technology
This document defines the YANG data model for Layer 2 (L2) network topologies by augmenting the generic network (Section 6.1 of [RFC8345]) and network topology (Section 6.2 of [RFC8345]) data models with L2-specific topology attributes. An example is provided in Appendix B.¶
There are multiple applications for such a data model. For example, within the context of Interface to the Routing System (I2RS), nodes within the network can use the data model to capture their understanding of the overall network topology and expose it to a network controller. A network controller can then use the instantiated topology data to compare and reconcile its own view of the network topology with that of the network elements that it controls. Alternatively, nodes within the network may compare and reconcile this understanding either among themselves or with the help of a controller. Beyond the network element and the immediate context of I2RS itself, a network controller might even use the data model to represent its view of the topology that it controls and expose it to external applications. Further use cases where the data model can be applied are described in [I2RS-UR].¶
This document uses the common YANG types defined in [RFC6991] and adopts the Network Management Datastore Architecture (NMDA) [RFC8342].¶
2. Terminology
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.¶
The terminology for describing YANG modules is defined in [RFC7950]. The meanings of the symbols used in the tree diagram are defined in [RFC8340].¶
3. Layer 2 Topology Model
The Layer 2 network topology YANG module is designed to be generic and applicable to Layer 2 networks built with different Layer 2 technologies. It can be used to describe both the physical and the logical (virtual) Layer 2 network topologies.¶
The relationship between the Layer 2 topology module and the generic network and network topology module is shown in Figure 1. In order to represent a Layer 2 network topology, the generic network and topology models are augmented with L2-specific information, such as the identifiers, identities (e.g., Provider Backbone Bridging [IEEE802.1ah], QinQ [IEEE802.1ad], or Virtual eXtensible Local Area Network (VXLAN) [RFC7348]), attributes, and states of the Layer 2 networks, nodes, links, and termination points. Some of the information may be collected via Link Layer Discovery Protocol (LLDP) [IEEE802.1AB] or other Layer 2 protocols, and some of them may be locally configured.¶
The structure of the "ietf
The Layer 2 Topology YANG module augments the "ietf-network" and
"ietf
4. Layer 2 Topology YANG Module
This module uses types defined in [RFC6991], [RFC7224], [IEEE802.1Qcp], and [RFC8345]. It also references [IEEE802.1Q-2014], [IEEE802.1ad], [RFC7348], and [RFC7727].¶
5. IANA Considerations
IANA has registered the following URIs in the "ns" subregistry within "The IETF XML Registry" [RFC3688]:¶
- URI:
- urn
:ietf :params :xml :ns :yang :ietf -l2 -topology¶ - Registrant Contact:
- The IESG.¶
- XML:
- N/A; the requested URI is an XML namespace.¶
- URI:
- urn
:ietf :params :xml :ns :yang :ietf -l2 -topology -state¶ - Registrant Contact:
- The IESG.¶
- XML:
- N/A; the requested URI is an XML namespace.¶
IANA has registered the following YANG modules in the "YANG Module Names" subregistry [RFC6020] within the "YANG Parameters" registry.¶
- Name:
- ietf-l2-topology¶
- Namespace:
- urn
:ietf :params :xml :ns :yang :ietf -l2 -topology¶ - Prefix:
- l2t¶
- Reference:
- RFC 8944¶
- Name:
- ietf
-l2 -topology -state¶ - Namespace:
- urn
:ietf :params :xml :ns :yang :ietf -l2 -topology -state¶ - Prefix:
- l2t-s¶
- Reference:
- RFC 8944¶
These modules are not maintained by IANA.¶
6. Security Considerations
The YANG modules specified in this document define a schema for data
that is designed to be accessed via network management protocols, such as
Network Configuration Protocol (NETCONF) [RFC6241] or RESTCONF [RFC8040].
The lowest NETCONF layer is the secure transport layer, and the
mandatory
The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.¶
The Layer 2 topology module defines information that can be
configurable in certain instances, for example, in the case of virtual
topologies that can be created by client applications. In such cases, a
malicious client could introduce topologies that are undesired.
Specifically, a malicious client could attempt to remove or add a node,
a link, or a termination point by creating or deleting corresponding
elements in the node, link, and termination point lists, respectively.
In the case of a topology that is learned, the server will automatically
prohibit such misconfiguratio
There are a number of data nodes defined in this YANG module that are
writable
- l2
-network -attributes : - A malicious client could attempt to sabotage the configuration of any of the contained attributes, such as the name or the flag data nodes.¶
- l2
-node -attributes : - A malicious client could attempt to sabotage
the configuration of important node attributes, such as the name or
the management
-address .¶ - l2
-link -attributes : - A malicious client could attempt to sabotage the configuration of important link attributes, such as the rate or the delay data nodes.¶
- l2
-termination -point -attributes : - A malicious client could attempt
to sabotage the configuration of important termination point
attributes (e.g., 'maximum
-frame -size' ).¶
Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. In particular, the YANG module for Layer 2 topology may expose sensitive information, for example, the MAC addresses of devices or VLAN/VXLAN identifiers. Unrestricted use of such information can lead to privacy violations. For example, listing MAC addresses in a network allows monitoring of devices and their movements. Location information can be derived from MAC addresses of network devices, bypassing protection of location information by the Operating System.¶
7. References
7.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC3688]
-
Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10
.17487 , , <https:///RFC3688 www >..rfc -editor .org /info /rfc3688 - [RFC6020]
-
Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10
.17487 , , <https:///RFC6020 www >..rfc -editor .org /info /rfc6020 - [RFC6241]
-
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10
.17487 , , <https:///RFC6241 www >..rfc -editor .org /info /rfc6241 - [RFC6242]
-
Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10
.17487 , , <https:///RFC6242 www >..rfc -editor .org /info /rfc6242 - [RFC6991]
-
Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10
.17487 , , <https:///RFC6991 www >..rfc -editor .org /info /rfc6991 - [RFC7224]
-
Bjorklund, M., "IANA Interface Type YANG Module", RFC 7224, DOI 10
.17487 , , <https:///RFC7224 www >..rfc -editor .org /info /rfc7224 - [RFC7348]
-
Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, L., Sridhar, T., Bursell, M., and C. Wright, "Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", RFC 7348, DOI 10
.17487 , , <https:///RFC7348 www >..rfc -editor .org /info /rfc7348 - [RFC7950]
-
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10
.17487 , , <https:///RFC7950 www >..rfc -editor .org /info /rfc7950 - [RFC8040]
-
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10
.17487 , , <https:///RFC8040 www >..rfc -editor .org /info /rfc8040 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8341]
-
Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10
.17487 , , <https:///RFC8341 www >..rfc -editor .org /info /rfc8341 - [RFC8345]
-
Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan
, H. , and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10.17487 , , <https:///RFC8345 www >..rfc -editor .org /info /rfc8345 - [RFC8446]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10
.17487 , , <https:///RFC8446 www >..rfc -editor .org /info /rfc8446
7.2. Informative References
- [I2RS-UR]
-
Hares, S. and M. Chen, "Summary of I2RS Use Case Requirements", Work in Progress, Internet-Draft, draft
-ietf , , <https://-i2rs -usecase -reqs -summary -03 tools >..ietf .org /html /draft -ietf -i2rs -usecase -reqs -summary -03 - [IEEE802.1AB]
-
IEEE, "IEEE Standard for Local and metropolitan area networks - Station and Media Access Control Connectivity Discovery", IEEE Std 802.1AB-2016, DOI 10
.1109 , , <https:///IEEESTD .2016 .7433915 doi >..org /10 .1109 /IEEESTD .2016 .7433915 - [IEEE802.1ad]
-
IEEE, "IEEE Standard for Local and Metropolitan Area Networks
--Virtual Bridged Local Area Networks , IEEE Std 802.1ad-2005, DOI 10--Amendment 4: Provider Bridges" .1109 , , <https:///IEEESTD .2006 .6044678 doi >..org /10 .1109 /IEEESTD .2006 .6044678 - [IEEE802.1ah]
-
IEEE, "IEEE Standard for Local and metropolitan area networks -- Virtual Bridged Local Area Networks Amendment 7: Provider Backbone Bridges", IEEE Std 802.1ah-2008, DOI 10
.1109 , , <https:///IEEESTD .2008 .4602826 doi >..org /10 .1109 /IEEESTD .2008 .4602826 - [IEEE802
.1Q -2014] -
IEEE, "IEEE Standard for Local and metropolitan area networks
--Bridges and Bridged Networks" , IEEE 802.1Q-2014, DOI 10.1109 , , <https:///IEEESTD .2014 .6991462 doi >..org /10 .1109 /IEEESTD .2014 .6991462 - [IEEE802.1Qcp]
-
IEEE, "IEEE Standard for Local and metropolitan area networks
--Bridges and Bridged Networks , IEEE Std 802.1Qcp-2018, DOI 10--Amendment 30: YANG Data Model" .1109 , , <https:///IEEESTD .2018 .8467507 doi >..org /10 .1109 /IEEESTD .2018 .8467507 - [RFC7727]
-
Zhang, M., Wen, H., and J. Hu, "Spanning Tree Protocol (STP) Application of the Inter-Chassis Communication Protocol (ICCP)", RFC 7727, DOI 10
.17487 , , <https:///RFC7727 www >..rfc -editor .org /info /rfc7727 - [RFC7951]
-
Lhotka, L., "JSON Encoding of Data Modeled with YANG", RFC 7951, DOI 10
.17487 , , <https:///RFC7951 www >..rfc -editor .org /info /rfc7951 - [RFC8340]
-
Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10
.17487 , , <https:///RFC8340 www >..rfc -editor .org /info /rfc8340 - [RFC8342]
-
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10
.17487 , , <https:///RFC8342 www >..rfc -editor .org /info /rfc8342 - [TRILL-YANG]
-
Hao, W., Li, Y., Kumar, D., Durrani, M., Zhai, H., and L. Xia, "TRILL YANG Data Model", Work in Progress, Internet-Draft, draft
-ietf , , <https://-trill -yang -04 tools >..ietf .org /html /draft -ietf -trill -yang -04
Appendix A. Companion YANG Module for Non-NMDA-Compliant Implementations
The YANG module ietf
In order to be able to use the model for Layer 2 topologies defined
in this document in conjunction with non
The companion module "ietf
As the structure of this module mirrors that of its underlying modules, the YANG tree is not depicted separately.¶
Appendix B. An Example
This section contains an example of an instance data tree in JSON
encoding [RFC7951]. The example instantiates
"ietf
The corresponding instance data tree is depicted below:¶
Acknowledgements
The authors would like to acknowledge the comments and suggestions received from Susan Hares, Alia Atlas, Juergen Schoenwaelder, Mach Chen, Alexander Clemm, Sriganesh Kini, Oscar Gonzalez de Dios, Stig Venaas, Christian Huitema, Meral Shirazipour, Benjamin Kaduk, and Don Fedyk.¶
Many thanks to Ladislav Lhotka for the yang-doctors review.¶