diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7920.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7920.txt')
-rw-r--r-- | doc/rfc/rfc7920.txt | 675 |
1 files changed, 675 insertions, 0 deletions
diff --git a/doc/rfc/rfc7920.txt b/doc/rfc/rfc7920.txt new file mode 100644 index 0000000..bfafb5b --- /dev/null +++ b/doc/rfc/rfc7920.txt @@ -0,0 +1,675 @@ + + + + + + +Internet Engineering Task Force (IETF) A. Atlas, Ed. +Request for Comments: 7920 Juniper Networks +Category: Informational T. Nadeau, Ed. +ISSN: 2070-1721 Brocade + D. Ward + Cisco Systems + June 2016 + + + Problem Statement for the Interface to the Routing System + +Abstract + + Traditionally, routing systems have implemented routing and signaling + (e.g., MPLS) to control traffic forwarding in a network. Route + computation has been controlled by relatively static policies that + define link cost, route cost, or import and export routing policies. + Requirements have emerged to more dynamically manage and program + routing systems due to the advent of highly dynamic data-center + networking, on-demand WAN services, dynamic policy-driven traffic + steering and service chaining, the need for real-time security threat + responsiveness via traffic control, and a paradigm of separating + policy-based decision-making from the router itself. These + requirements should allow controlling routing information and traffic + paths and extracting network topology information, traffic + statistics, and other network analytics from routing systems. + + This document proposes meeting this need via an Interface to the + Routing System (I2RS). + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + 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). Not all documents + approved by the IESG are a candidate for any level of Internet + Standard; see 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 + http://www.rfc-editor.org/info/rfc7920. + + + + + + +Atlas, et al. Informational [Page 1] + +RFC 7920 I2RS Problem Statement June 2016 + + +Copyright Notice + + Copyright (c) 2016 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 + (http://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 Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction ....................................................3 + 2. I2RS Model and Problem Area for the IETF ........................4 + 3. Standard Data Models of Routing State for Installation ..........6 + 4. Learning Router Information .....................................7 + 5. Aspects to be Considered for an I2RS Protocol ...................8 + 6. Security Considerations .........................................9 + 7. References .....................................................10 + 7.1. Normative References ......................................10 + 7.2. Informative References ....................................10 + Appendix A. Existing Management Interfaces .......................11 + Acknowledgements ..................................................12 + Authors' Addresses ................................................12 + + + + + + + + + + + + + + + + + + + + + + +Atlas, et al. Informational [Page 2] + +RFC 7920 I2RS Problem Statement June 2016 + + +1. Introduction + + Traditionally, routing systems have implemented routing and signaling + (e.g., MPLS) to control traffic forwarding in a network. Route + computation has been controlled by relatively static policies that + define link cost, route cost, or import and export routing policies. + The advent of highly dynamic data-center networking, on-demand WAN + services, dynamic policy-driven traffic steering and service + chaining, the need for real-time security threat responsiveness via + traffic control, and a paradigm of separating policy-based decision- + making from the router itself has created the need to more + dynamically manage and program routing systems in order to control + routing information and traffic paths and to extract network topology + information, traffic statistics, and other network analytics from + routing systems. + + As modern networks continue to grow in scale and complexity and + desired policy has become more complex and dynamic, there is a need + to support rapid control and analytics. The scale of modern networks + and data centers and the associated operational expense drives the + need to automate even the simplest operations. The ability to + quickly interact via more complex operations to support dynamic + policy is even more critical. + + In order to enable network applications to have access to and control + over information in the different vendors' routing systems, a + publicly documented interface is required. The interface needs to + support real-time, asynchronous interactions using efficient data + models and encodings that are based on and extend those previously + defined. Furthermore, the interface must be tailored to provide a + solid base on which a variety of use cases can be supported. + + To support the requirements of orchestration software and automated + network applications to dynamically modify the network, there is a + need to learn topology, network analytics, and existing state from + the network as well as to create or modify routing information and + network paths. A feedback loop is needed so that changes made can be + verifiable and so that these applications can learn and react to + network changes. + + Proprietary solutions to partially support the requirements outlined + above have been developed to handle specific situations and needs. + Standardizing an interface to the routing system will make it easier + to integrate use of it into a network. Because there are proprietary + partial solutions already, the standardization of a common interface + should be feasible. + + + + + +Atlas, et al. Informational [Page 3] + +RFC 7920 I2RS Problem Statement June 2016 + + + It should be noted that during the course of this document, the term + "applications" is used. This is meant to refer to an executable + program of some sort that has access to a network, such as an IP or + MPLS network, via a routing system. + +2. I2RS Model and Problem Area for the IETF + + Managing a network of systems running a variety of routing protocols + and/or providing one or more additional services (e.g., forwarding, + classification and policing, firewalling) involves interactions + between multiple components within these systems. Some of these + systems or system components may be virtualized, co-located within + the same physical system, or distributed. In all cases, it is + desirable to enable network applications to manage and control the + services provided by many, if not all, of these components, subject + to authenticated and authorized access and policies. + + A data-model-driven interface to the routing system is needed. This + will allow expansion of what information can be read and controlled + and allow for future flexibility. At least one accompanying protocol + with clearly defined operations is needed; the suitable protocol(s) + can be identified and expanded to support the requirements of an + Interface to the Routing System (I2RS). These solutions must be + designed to facilitate rapid, isolated, secure, and dynamic changes + to a device's routing system. These would facilitate wide-scale + deployment of interoperable applications and routing systems. + + The I2RS model and problem area for IETF work is illustrated in + Figure 1. This document uses terminology defined in [RFC7921]. The + I2RS agent is associated with a routing element, which may or may not + be co-located with a data plane. The I2RS client could be integrated + in a network application or controlled and used by one or more + separate network applications. For instance, an I2RS client could be + provided by a network controller or a network orchestration system + that provides a non-I2RS interface to network applications and an + I2RS interface to I2RS agents on the systems being managed. The + scope of the data models used by I2RS extends across the entire + routing system and the selected protocol(s) for I2RS. + + As depicted in Figure 1, the I2RS client and I2RS agent in a routing + system are objects with in the I2RS scope. The selected protocol(s) + for I2RS extend between the I2RS client and I2RS agent. All other + objects and interfaces in Figure 1 are outside the I2RS scope for + standardization. + + + + + + + +Atlas, et al. Informational [Page 4] + +RFC 7920 I2RS Problem Statement June 2016 + + + +***************+ +***************+ +***************+ + * Application * * Application * * Application * + +***************+ +***************+ +***************+ + | I2RS Client | ^ ^ + +---------------+ * * + ^ * **************** + | * * + | v v + | +---------------+ +-------------+ + | | I2RS Client |<------->| Other I2RS | + | +---------------+ | Agents | + | ^ +-------------+ + |________________ | + | | <== I2RS Protocol + | | + ...........................|..|.................................. + . v v . + . +*************+ +---------------+ +****************+ . + . * Policy * | | * Routing & * . + . * Database *<***>| I2RS Agent |<****>* Signaling * . + . +*************+ | | * Protocols * . + . +---------------+ +****************+ . + . ^ ^ ^ ^ . + . +*************+ * * * * . + . * Topology * * * * * . + . * Database *<*******+ * * v . + . +*************+ * * +****************+ . + . * +********>* RIB Manager * . + . * +****************+ . + . * ^ . + . v * . + . +*******************+ * . + . * Subscription & * * . + . * Configuration * v . + . * Templates for * +****************+ . + . * Measurements, * * FIB Manager * . + . * Events, QoS, etc. * * & Data Plane * . + . +*******************+ +****************+ . + ................................................................. + + + + + + + + + + + + +Atlas, et al. Informational [Page 5] + +RFC 7920 I2RS Problem Statement June 2016 + + + <--> interfaces inside the scope of I2RS Protocol + + +--+ objects inside the scope of I2RS-defined behavior + + <**> interfaces NOT within the scope of I2RS Protocol + + +**+ objects NOT within the scope of I2RS-defined behavior + + <== used to point to the interface where the I2RS Protocol + would be used + + .... boundary of a router supporting I2RS + + Figure 1: I2RS Model and Problem Area + + The protocol(s) used to carry messages between I2RS clients and I2RS + agents should provide the key features specified in Section 5. + + I2RS will use a set of meaningful data models for information in the + routing system and in a topology database. Each data model should + describe the meaning and relationships of the modeled items. The + data models should be separable across different features of the + managed components, versioned, and extendable. As shown in Figure 1, + I2RS needs to interact with several logical components of the routing + element: policy database, topology database, subscription and + configuration for dynamic measurements/events, routing and signaling + protocols, and its Routing Information Base (RIB) manager. This + interaction is both for writing (e.g., to policy databases or RIB + manager) as well as for reading (e.g., dynamic measurement or + topology database). An application should be able to combine data + from individual routing elements to provide network-wide data + model(s). + + The data models should translate into a concise transfer syntax, sent + via the I2RS protocol, that is straightforward for applications to + use (e.g., a web services design paradigm). The information transfer + should use existing transport protocols to provide the reliability, + security, and timeliness appropriate for the particular data. + +3. Standard Data Models of Routing State for Installation + + As described in Section 1, there is a need to be able to precisely + control routing and signaling state based upon policy or external + measures. One set of data models that I2RS should focus on is for + interacting with the RIB layer (e.g., RIB, Label Information Base + (LIB), multicast RIB, policy-based routing) to provide flexibility + and routing abstractions. As an example, the desired routing and + signaling state might range from simple static routes to policy-based + + + +Atlas, et al. Informational [Page 6] + +RFC 7920 I2RS Problem Statement June 2016 + + + routing to static multicast replication and routing state. This + means that, to usefully model next hops, the data model employed + needs to handle next-hop indirection and recursion (e.g., a prefix X + is routed like prefix Y) as well as different types of tunneling and + encapsulation. + + Efforts to provide this level of control have focused on + standardizing data models that describe the forwarding plane (e.g., + Forwarding and Control Element Separation (ForCES) [RFC3746]). I2RS + recognizes that the routing system and a router's OS provide useful + mechanisms that applications could usefully harness to accomplish + application-level goals. Using routing indirection, recursion, and + common routing abstractions (e.g., tunnels, Label Switched Paths + (LSPs), etc.) provides significant flexibility and functionality over + collapsing the state to individual routes in the Forwarding + Information Base (FIB) that need to be individually modified when a + change occurs. + + In addition to interfaces to control the RIB layer, there is a need + to dynamically configure policies and parameter values for the + various routing and signaling protocols based upon application-level + policy decisions. + +4. Learning Router Information + + A router has information that applications may require so that they + can understand the network, verify that programmed state is + installed, measure the behavior of various flows, and understand the + existing configuration and state of the router. I2RS should provide + a framework so that applications can register for asynchronous + notifications and can make specific requests for information. + + Although there are efforts to extend the topological information + available, even the best of these (e.g., BGP-LS [RFC7752]) still only + provide the current active state as seen at the IGP and BGP layers. + Detailed topological state that provides more information than the + current functional status (e.g., active paths and links) is needed by + applications. Examples of missing information include paths or links + that are potentially available (e.g., administratively down) or + unknown (e.g., to peers or customers) to the routing topology. + + For applications to have a feedback loop that includes awareness of + the relevant traffic, an application must be able to request the + measurement and timely, scalable reporting of data. While a + mechanism such as IP Flow Information Export (IPFIX) [RFC5470] may be + the facilitator for delivering the data, providing the ability for an + application to dynamically request that measurements be taken and + data delivered is important. + + + +Atlas, et al. Informational [Page 7] + +RFC 7920 I2RS Problem Statement June 2016 + + + There is a wide range of events that applications could use to + support verification of router state before other network state is + changed (e.g., that a route has been installed) and to allow timely + action in response to changes of relevant routes by others or to + router events (e.g., link up/down). While a few of these (e.g., link + up/down) may be available via MIB notifications today, the full range + is not (e.g., route installed, route changed, primary LSP changed, + etc.) + +5. Aspects to be Considered for an I2RS Protocol + + This section describes required aspects of a protocol that could + support I2RS. Whether such a protocol is built upon extending + existing mechanisms or requires a new mechanism requires further + investigation. + + The key aspects needed in an interface to the routing system are: + + Multiple Simultaneous Asynchronous Operations: A single application + should be able to send multiple independent atomic operations via + I2RS without being required to wait for each to complete before + sending the next. + + Very Fine Granularity of Data Locking for Writing: When an I2RS + operation is processed, it is required that the data locked for + writing be very granular (e.g., a particular prefix and route) + rather than extremely coarse, as is done for writing + configuration. This should improve the number of concurrent I2RS + operations that are feasible and reduce blocking delays. + + Multi-Headed Control: Multiple applications may communicate to the + same I2RS agent in a minimally coordinated fashion. It is + necessary that the I2RS agent can handle multiple requests in a + well-known policy-based fashion. Data written can be owned by + different I2RS clients at different times; data may even be + overwritten by a different I2RS client. The details of how this + should be handled are described in [RFC7921]. + + Duplex: Communications can be established by either the I2RS client + (i.e., that resides within the application or is used by it to + communicate with the I2RS agent) or the I2RS agent. Similarly, + events, acknowledgements, failures, operations, etc., can be sent + at any time by both the router and the application. The I2RS is + not a pure pull model where only the application queries to pull + responses. + + + + + + +Atlas, et al. Informational [Page 8] + +RFC 7920 I2RS Problem Statement June 2016 + + + High Throughput: At a minimum, the I2RS agent and associated router + should be able to handle a considerable number of operations per + second (for example, 10,000 per second to handle many individual + subscriber routes changing simultaneously). + + Low Latency: Within a sub-second timescale, it should be possible + to complete simple operations (e.g., reading or writing a single + prefix route). + + Multiple Channels: It should be possible for information to be + communicated via the interface from different components in the + router without requiring going through a single channel. For + example, for scaling, some exported data or events may be better + sent directly from the forwarding plane, while other interactions + may come from the control plane. One channel, with authorization + and authentication, may be considered primary; only an authorized + client can then request that information be delivered on a + different channel. Writes from a client are only expected on + channels that provide authorization and authentication. + + Scalable, Filterable Information Access: To extract information in a + scalable fashion that is more easily used by applications, the + ability to specify filtering constructs in an operation requesting + data or requesting an asynchronous notification is very valuable. + + Secure Control and Access: Any ability to manipulate routing state + must be subject to authentication and authorization. Sensitive + routing information also may need to be provided via secure access + back to the I2RS client. Such communications must be integrity + protected. Most communications will also require confidentiality. + + Extensibility and Interoperability: Both the I2RS protocol and + models must be extensible and interoperate between different + versions of protocols and models. + +6. Security Considerations + + Security is a key aspect of any protocol that allows state + installation and extracting of detailed router state. The need for + secure control and access is mentioned in Section 5. More + architectural security considerations are discussed in [RFC7921]. + Briefly, the I2RS agent is assumed to have a separate authentication + and authorization channel by which it can validate both the identity + and the permissions associated with an I2RS client. Mutual + authentication between the I2RS agent and I2RS client is required. + Different levels of integrity, confidentiality, and replay protection + are relevant for different aspects of I2RS. + + + + +Atlas, et al. Informational [Page 9] + +RFC 7920 I2RS Problem Statement June 2016 + + +7. References + +7.1. Normative References + + [RFC7921] Atlas, A., Halpern, J., Hares, S., Ward, D., and T. + Nadeau, "An Architecture for the Interface to the Routing + System", RFC 7921, DOI 10.17487/RFC7921, June 2016, + <http://www.rfc-editor.org/info/rfc7921>. + +7.2. Informative References + + [RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal, + "Forwarding and Control Element Separation (ForCES) + Framework", RFC 3746, DOI 10.17487/RFC3746, April 2004, + <http://www.rfc-editor.org/info/rfc3746>. + + [RFC5470] Sadasivan, G., Brownlee, N., Claise, B., and J. Quittek, + "Architecture for IP Flow Information Export", RFC 5470, + DOI 10.17487/RFC5470, March 2009, + <http://www.rfc-editor.org/info/rfc5470>. + + [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, + <http://www.rfc-editor.org/info/rfc6241>. + + [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and + S. Ray, "North-Bound Distribution of Link-State and + Traffic Engineering (TE) Information Using BGP", RFC 7752, + DOI 10.17487/RFC7752, March 2016, + <http://www.rfc-editor.org/info/rfc7752>. + + + + + + + + + + + + + + + + + + + + +Atlas, et al. Informational [Page 10] + +RFC 7920 I2RS Problem Statement June 2016 + + +Appendix A. Existing Management Interfaces + + This section discusses as a single entity the combination of the + abstract data models, their representation in a data language, and + the transfer protocol commonly used with them. While other + combinations of these existing standard technologies are possible, + the ways described are ones that have significant deployment. + + There are three basic ways that routers are managed. The most + popular is the command-line interface (CLI), which allows both + configuration and learning of device state. This is a proprietary + interface resembling a UNIX shell that allows for very customized + control and observation of a device, and, specifically of interest in + this case, its routing system. Some form of this interface exists on + almost every device (virtual or otherwise). Processing of + information returned to the CLI (called "screen scraping") is a + burdensome activity because the data is normally formatted for use by + a human operator and because the layout of the data can vary from + device to device and between different software versions. Despite + its ubiquity, this interface has never been standardized and is + unlikely to ever be standardized. CLI standardization is not + considered as a candidate solution for the problems motivating I2RS. + + The second most popular interface for interrogation of a device's + state, statistics, and configuration is the Simple Network Management + Protocol (SNMP) and a set of relevant standards-based and proprietary + Management Information Base (MIB) modules. SNMP has a strong history + of being used by network managers to gather statistical and state + information about devices, including their routing systems. However, + SNMP is very rarely used to configure a device or any of its systems + for reasons that vary depending upon the network operator. Some + example reasons include complexity, the lack of desired configuration + semantics (e.g., configuration rollback, sandboxing, or configuration + versioning) and the difficulty of using the semantics (or lack + thereof) as defined in the MIB modules to configure device features. + Therefore, SNMP is not considered as a candidate solution for the + problems motivating I2RS. + + Finally, the IETF's Network Configuration Protocol (NETCONF) + [RFC6241] has made many strides at overcoming most of the limitations + around configuration that were just described. However, as a new + technology and with the initial lack of standard data models, the + adoption of NETCONF has been slow. As needed, I2RS will identify and + define information and data models to support I2RS applications. + Additional extensions to handle multi-headed control may need to be + added to NETCONF and/or appropriate data models. + + + + + +Atlas, et al. Informational [Page 11] + +RFC 7920 I2RS Problem Statement June 2016 + + +Acknowledgements + + The authors would like to thank Ken Gray, Ed Crabbe, Nic Leymann, + Carlos Pignataro, Kwang-koog Lee, Linda Dunbar, Sue Hares, Russ + Housley, Eric Grey, Qin Wu, Stephen Kent, Nabil Bitar, Deborah + Brungard, and Sarah Banks for their suggestions and review. + +Authors' Addresses + + Alia Atlas (editor) + Juniper Networks + + Email: akatlas@juniper.net + + + Thomas D. Nadeau (editor) + Brocade + + Email: tnadeau@lucidvision.com + + + Dave Ward + Cisco Systems + + Email: wardd@cisco.com + + + + + + + + + + + + + + + + + + + + + + + + + + +Atlas, et al. Informational [Page 12] + |