nmop O. G. D. Dios Internet-Draft Telefonica Intended status: Standards Track S. B. Giraldo Expires: 24 January 2025 V. Lopez Nokia 23 July 2024 A YANG Data Model for Border Gateway Protocol (BGP) Topology draft-ogondio-nmop-bgp-topology-latest Abstract This document defines a YANG data model for representing an abstracted view of a network topology that contains Border Gateway Protocol (BGP) information. This document augments the 'ietf- network' data model by adding BGP concepts. The aim of the model is to, from a SDN controller perspective, obtain iBGP and MP-BGP topology information from the network and to export it towards NBI interface to the service orchestration layer. The YANG data model defined in this document conforms to the Network Management Datastore Architecture (NMDA). Status of This Memo 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 24 January 2025. Copyright Notice 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. Table of Contents 1. Introduction 1.1. Terminology and Notations 1.2. Requirements Language 1.3. Tree Diagram 1.4. Prefix in Data Node Names 2. Use Cases 2.1. Relationship with the BGP YANG Model 2.2. Relationship with Digital Map 3. Description of the YANG Data Model for BGP Topology 4. BGP Topology Tree Diagram 5. YANG Model for BGP topology 6. Security Considerations 7. IANA Considerations 8. Implementation Status 9. References 9.1. Normative References 9.2. Informative References Acknowledgments Authors' Addresses 1. Introduction Network operators perform the capacity planning for their networks and run regular what-if scenarios analysis based on representations of the real network. Those what-if analysis and capacity planning processes require, among other information, a topological view (domains, nodes, links, network interconnection) of the deployed network. This document defines a YANG data model representing an abstracted view of a network topology containing Border Gateway Protocol (BGP) with the following assumption: * Areas can be explicit, depending on which IGP protocol is used. + Metrics can be provided to the operations team for greater control of the network. - A view of the topology of the network built on the basis of the neighbors can be presented. This YANG data model can be used to export the BGP related topology directly from a network controller to Operation Support System (OSS) tools or to a higher level controller. This document defines a YANG data model for representing, managing and controlling the BGP topology. The data model augments ietf- network module [RFC8345] by adding the BGP information. This document explains the scope and purpose of the BGP topology model and how the topology and service models fit together. The YANG data model defined in this document conforms to the Network Management Datastore Architecture [RFC8342]. 1.1. Terminology and Notations This document assumes that the reader is familiar with BGP and the contents of [RFC8345]. The document uses terms from those documents. The terminology for describing YANG data models is found in [RFC7950], [RFC8795] and [RFC8346]. The term Digital Twin, Digital Map, Digital Map Modelling, Digital Map Model, Digital Map Data, and Topology are specified in [I-D.draft-havel-nmop-digital-map]. 1.2. Requirements Language 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 [RFC2119], [RFC8174] when, and only when, they appear in all capitals, as shown here. 1.3. Tree Diagram Authors include a simplified graphical representation of the data model specified in Section 4 of this document. The meaning of the symbols in these diagrams is defined in [RFC8340]. 1.4. Prefix in Data Node Names In this document, names of data nodes and other data model objects are prefixed using the standard prefix associated with the corresponding YANG imported modules, as shown in the following table. +========+======================+===========+ | Prefix | Yang Module | Reference | +========+======================+===========+ | bgpnt | ietf-l3-bgp-topology | RFCXXX | +--------+----------------------+-----------+ | yang | ietf-yang-types | [RFC6991] | +--------+----------------------+-----------+ Table 1: Prefixes and corresponding YANG modules RFC Editor Note: Please replace XXXX with the RFC number assigned to this document. Please remove this note. 2. Use Cases Use cases for this document are the same than explained in [I-D.draft-ogondio-nmop-isis-topology]. Here are included for completeness and discussion. Future versions may consider removing them. This information is required in the IP/MPLS planning process to properly assess the required network resources to meet the traffic demands in normal and failure scenarios. Network operators perform the capacity planning for their networks and run regular what-if scenarios analysis based on representations of the real network. Those what-if analysis and capacity planning processes require, among other information, a topological view (domains, nodes, links, network interconnection) of the deployed network. The standardization of an abstracted view of the BGP topology model as NorthBound Interface (NBI) of Software Defined Networking (SDN) controllers allows the unified query of the BGP topology in order to inject this information into third party tools covering specialized cases. The BGP topological model should export enough BGP information to permit these tools to simulate the IP routing. By mapping the traffic demand, ideally at the IP flow level, to the topology, we can simulate the traffic growth, evaluating this way its effect on the routing and quality of service. That is, simulating how IP-level traffic demands would be forwarded, after BGP convergence is reached, and from there estimating, using appropriate mathematical models, related KPIs like the occupation in the links or end-to-end latencies. In summary, the network-wide view of the BGP topology enables multiple use cases: * Network design: verifying that the actual deployed BGP network conforms to the planned design. * Capacity planning. Dimensioning or redesign of the IP infrastructure to satisfy target KPI metrics under existing or forecasted traffic demands. * What-if analysis. Estimation of the network KPIs in modified network situations. For instance, failure situations, traffic anomaly situations, addition or deletion of new adjacencies, IGP weight reconfigurations, etc. * Failure analysis. Systematic and massive test of the network under multiple simulated failure situations, evaluating the network fault tolerance properties, and using mathematical models to derive statistical network availability metrics. 2.1. Relationship with the BGP YANG Model TBD 2.2. Relationship with Digital Map As described in [I-D.draft-havel-nmop-digital-map], the Digital Map provides the core multi-layer topology model and data for the digital twin and connects them to the other digital twin models and data. The Digital Map Modelling defines the core topological entities, their role in the network, core properties, and relationships both inside each layer and between the layers. The Digital Map Model is a basic topological model that is linked to other functional parts of the digital twin and connects them all: configuration, maintenance, assurance (KPIs, status, health, symptoms), Traffic Engineering (TE), different behaviors and actions, simulation, emulation, mathematical abstractions, AI algorithms, etc. As such the BGP topology of the Digital Map is just one of the layers of the Digital Map, for specific user (the network operator in charge of the BGP) for the specific use cases as described before. 3. Description of the YANG Data Model for BGP Topology The abstract (base) network data model is defined in the "ietf- network" module of [RFC8345]. The BGP-topology builds on the network data model defined in the "ietf-network" module [RFC8345], augmenting the nodes with BGP information, which anchor the links and are contained in nodes. There is a set of parameters and augmentations that are included at the node level. Each parameter and description are detailed following: * Network-types /restconf/data/ietf-network:networks/network/ network-types: Its presence identifies the BGP topology type. Thus, the network type MUST be bgp-topology. * Local-as /restconf/data/ietf-networks/network/node/l3t:l3-node- attributes/bgp:local-as: Identifies the Local-AS configured in the Network-Element. * Neighbors /restconf/data/ietf-network:networks/network/node/ l3t:l3-node-attributes/bgp:neighbours: list of Neighbors of the Node. Each Neighbor has the same set of parameters to describe the BGP session. * Neighbour neighbour is identified by the IP address. Description for troubleshooting purposes. * Peer-As attributes/bgp:neighbours/bgp:peer-as: Autonomous System of the peer. In case of iBGP sessions the Local -As and Peer-As is the same. * Address-Family: Address Families shared by the nodes in the session. This is a leaf-list, because more than one AFI + SAFI address family can be shared. The options are alligned to the ones available in the IETF-BGP-TYPES (ipv4-unicast, ipv6-unicast, ipv4-labeled-unicast, ...) The following figure is based on the Figure 1 from [RFC8346], where the example-bgp-topology is replaced with ietf-l3-bgp-topology and where arrows show how the modules augment each other. +-----------------------------+ | +-----------------------+ | | | ietf-network | | | +----------^------------+ | | | | | +-----------------------+ | | | ietf-network-topology | | | +----------+------------+ | +-------------^---------------+ | | +------------^-------------+ | ietf-l3-unicast-topology | +------------^-------------+ | | +-----------^-----------+ | ietf-l3-bgp-topology | +-----------------------+ Figure 1: BGP Topology module structure 4. BGP Topology Tree Diagram Figure 2 below shows the tree diagram of the YANG data model defined in module ietf-l3-bgp-topology.yang (Figure 3). module: ietf-l3-bgp-topology augment /nw:networks/nw:network/nw:network-types: +--rw bgp-topology! augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: +--rw local-as? uint32 +--rw neighbours +--rw neighbor? inet:ip-address +--rw description? string +--rw peer-as? uint32 +--rw address-family* identityref Figure 2: BGP Topology tree diagram 5. YANG Model for BGP topology This module imports types from [RFC8343] and [RFC8345]. file "ietf-l3-bgp-topology@2024-07-23.yang" module ietf-l3-bgp-topology { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-l3-bgp-topology"; prefix "bgpnt"; import ietf-yang-types { prefix "yang"; } import ietf-network { prefix "nw"; } import ietf-l3-unicast-topology { prefix "l3t"; } import ietf-inet-types { prefix "inet"; } organization "IETF NMOP (Network Management Operations) Working Group"; contact "WG Web: WG List: Editor: Oscar Gonzalez de Dios Editor: Samier Barguil Editor: Victor Lopez "; description "This module defines a model for Layer 3 BGP topologies. 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."; revision 2024-07-23 { description "Initial version"; reference "RFC XXXX: A YANG Data Model for Border Gateway Protocol (BGP) Topology"; } typedef area-id-type { type yang:dotted-quad; description "Area ID type"; } identity afi-safi-type { description "Base identity type for AFI,SAFI tuples for BGP-4"; reference "RFC4760: Multi-protocol extensions for BGP-4"; } identity ipv4-unicast { base afi-safi-type; description "IPv4 unicast (AFI,SAFI = 1,1)"; reference "RFC4760: Multi-protocol extensions for BGP-4"; } identity ipv6-unicast { base afi-safi-type; description "IPv6 unicast (AFI,SAFI = 2,1)"; reference "RFC4760: Multi-protocol extensions for BGP-4"; } identity ipv4-labeled-unicast { base afi-safi-type; description "Labeled IPv4 unicast (AFI,SAFI = 1,4)"; reference "RFC 3107: Carrying Label Information in BGP-4."; } identity ipv6-labeled-unicast { base afi-safi-type; description "Labeled IPv6 unicast (AFI,SAFI = 2,4)"; reference "RFC 3107: Carrying Label Information in BGP-4"; } identity l3vpn-ipv4-unicast { base afi-safi-type; description "Unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128)"; reference "RFC 4364: BGP/MPLS IP Virtual Private Networks (VPNs)"; } identity l3vpn-ipv6-unicast { base afi-safi-type; description "Unicast IPv6 MPLS L3VPN (AFI,SAFI = 2,128)"; reference "RFC 4659: BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN"; } identity l3vpn-ipv4-multicast { base afi-safi-type; description "Multicast IPv4 MPLS L3VPN (AFI,SAFI = 1,129)"; reference "RFC 6514: BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs."; } identity l3vpn-ipv6-multicast { base afi-safi-type; description "Multicast IPv6 MPLS L3VPN (AFI,SAFI = 2,129)"; reference "RFC 6514: BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs."; } identity l2vpn-vpls { base afi-safi-type; description "BGP-signalled VPLS (AFI,SAFI = 25,65)"; reference "RFC 4761: Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling."; } identity l2vpn-evpn { base afi-safi-type; description "BGP MPLS Based Ethernet VPN (AFI,SAFI = 25,70)"; reference "RFC 7432: BGP MPLS-Based Ethernet VPN"; } grouping bgp-topology-type { description "Identifies the topology type to be BGP."; container bgp-topology { presence "Indicates BGP topology"; description "The presence of the container node indicates BGP topology"; } } grouping bgp-node-attributes { description "BGP node scope attributes"; leaf local-as { type uint32; description "Local Autonomous System (AS) number"; } container neighbours { description "Contains node timer attributes"; leaf neighbor { type inet:ip-address; description "Neighbor IP address"; } leaf description { type string; description "Neighbor description";; } leaf peer-as { type uint32; description "Peer autonomous system (AS) number"; } leaf-list address-family { type identityref { base afi-safi-type; } description "Address Family type"; } } } augment "/nw:networks/nw:network/nw:network-types" { description "Introduces new network type for L3 Unicast topology"; uses bgp-topology-type; } augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { when "/nw:networks/nw:network/nw:network-types/bgp:bgp-topology" { description "Augmentation parameters apply only for networks with BGP topology"; } description "BGP node-level attributes "; uses bgp-node-attributes; } } Figure 3: BGP Topology YANG module 6. Security Considerations The YANG module specified in this document defines 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 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. There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. 7. IANA Considerations This document registers the following namespace URIs in the IETF XML registry [RFC3688]: -------------------------------------------------------------------- URI: urn:ietf:params:xml:ns:yang:ietf-l3-bgp-topology Registrant Contact: The IESG. XML: N/A, the requested URI is an XML namespace. -------------------------------------------------------------------- This document registers the following YANG module in the YANG Module Names registry [RFC6020]: -------------------------------------------------------------------- name: ietf-l3-bgp-topology namespace: urn:ietf:params:xml:ns:yang:ietf-l3-bgp-topology maintained by IANA: N prefix: ietf-l3-bgp-topology reference: RFC XXXX -------------------------------------------------------------------- 8. Implementation Status This section will be used to track the status of the implementations of the model. It is aimed at being removed if the document becomes RFC. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, . [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013, . [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, . [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, . [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, . [RFC8343] Bjorklund, M., "A YANG Data Model for Interface Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, . [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/RFC8345, March 2018, . [RFC8346] Clemm, A., Medved, J., Varga, R., Liu, X., Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346, March 2018, . [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, . [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and O. Gonzalez de Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", RFC 8795, DOI 10.17487/RFC8795, August 2020, . 9.2. Informative References [I-D.draft-havel-nmop-digital-map] Havel, O., Claise, B., de Dios, O. G., Elhassany, A., and T. Graf, "Modeling the Digital Map based on RFC 8345: Sharing Experience and Perspectives", Work in Progress, Internet-Draft, draft-havel-nmop-digital-map-01, 5 July 2024, . [I-D.draft-ogondio-nmop-isis-topology] de Dios, O. G., Barguil, S., Lopez, V., Ceccarelli, D., and B. Claise, "A YANG Data Model for Intermediate System to intermediate System (IS-IS) Topology", Work in Progress, Internet-Draft, draft-ogondio-nmop-isis- topology-00, 4 March 2024, . Acknowledgments The authors of this document would like to thank XXX. Authors' Addresses Oscar González de Dios Telefonica Email: oscar.gonzalezdedios@telefonica.com Samier Barguil Giraldo Nokia Email: samier.barguil_giraldo@nokia.com Victor Lopez Nokia Email: victor.lopez@nokia.com