RFC 6123

Inclusion of Manageability Sections in Path Computation Element (PCE) Working Group Drafts

πŸ“… published February 2011, from ietf

Inclusion of Manageability Sections in Path Computation Element (PCE) Working Group Drafts πŸŽ€

Okay bestie, RFC 6123 is giving archive energy πŸ“œβœ¨ It's from the IETF, written by A. Farrel of Old Dog Consulting, and it's dated February 2011. The category is Historic, and the ISSN is 2070-1721. The title block doesn't list anything it obsoletes or updates, so it's a standalone little gem πŸ’–

Abstract πŸŽ€

Okay so manageability stuff keeps getting bolted onto protocols after they've been specified, standardized, implemented, or even deployed 😭 Literally sub-optimal. New protocols and extensions also get designed without enough thought about manageability requirements, which is so frustrating πŸ’€

The Operations Area put together "Guidelines for Considering Operations and Management of New Protocols and Protocol Extensions" (RFC 5706), and the Path Computation Element (PCE) Working Group adopted those guidelines 🫢

Before that, the PCE Working Group used the recommendations in this document to guide authors of Internet-Drafts on what goes in their "Manageability Considerations" sections πŸ’… Now it's kept around purely for historic reference πŸ¦‹

Status of This Memo πŸ“œ

This one isn't an Internet Standards Track specification. It's published for the historical record, so no spec vibes here 🌸

It's a Historic Document for the Internet community πŸ’œ It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is a candidate for any level of Internet Standard, so see Section 2 of RFC 5741 for that πŸ‘‘

Want the current status, errata, or a way to send feedback? Check http://www.rfc-editor.org/info/rfc6123 ✨

Copyright (c) 2011 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) as in effect on the publication date. Read them carefully, because they spell out your rights and restrictions. Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License πŸ’…


1. Introduction 🧚

This doc is produced purely for historic reference πŸ“œ

When new protocols or protocol extensions get developed, not enough thought usually goes into their manageability or into how operators will run them on the network πŸ™ˆ So manageability considerations only get understood once the protocols are implemented, and sometimes not until after they're deployed 😭

Those retrofit attempts aren't always easy or architecturally pretty. Also, some protocol designs make manageability especially hard to achieve πŸ’€

Manageability is fundamental to how useful and successful IETF protocols are, and defining a MIB module doesn't automatically give you adequate manageability. So this document was written to set out recommendations for including Manageability Considerations sections in all Internet-Drafts produced within the PCE Working Group ✨ The goal was that following these recommendations would make sure manageability gets proper consideration at every stage of protocol development, from Requirements and Architecture through to Specification and Applicability πŸ”₯

Just so we're clear, having that section in an Internet-Draft doesn't guarantee the protocol is well designed or manageable πŸ™ƒ What it does do is make sure the authors get the chance to think through the issues, and reading this material gives them some guidance πŸ¦‹

The PCE Working Group developed this document and used it to help authors and editors produce Manageability Considerations sections in the Internet-Drafts and RFCs the group put out πŸ’–

[RFC5706] gives general guidance from the IETF's Operations Area on considering the Operations and Management of new protocols and protocol extensions. The PCE Working Group adopted it to guide its editors and authors, so this document is no longer required 🌸 The working group still thinks it's worth archiving this one as Historic for future reference πŸ“š

1.1. Requirements Notation πŸŽ€

This document isn't a protocol specification. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119], so that the contents of a Manageability Considerations section can be clearly understood 🧠

1.2. What Is Manageability? πŸ’…

Here, "manageability" means the interactions between a network operator (a human or an application) and the network components (hosts, routers, switches, applications, and protocols). Those interactions happen to make sure the network keeps operating correctly 🫢

Manageability issues often get grouped under the collective acronym FCAPS [X.700], which stands for:

  • Fault management
  • Configuration
  • Accounting
  • Performance
  • Security

Security is already covered in an Internet-Draft's own Security Considerations section, and this document doesn't diminish the need for that section in any way πŸ” As Section 6 points out, a full look at the other parts of manageability may actually increase the text that should go into the Security Considerations section 😳

The author of a Manageability Considerations section should definitely think about all aspects of FCAPS 🧐 They should also reflect on how the manageability of a new protocol affects the manageability and operation of the entire network 🌍 Specific optional subsections (see Section 2.3) should be added as needed to describe pertinent FCAPS features that the recommended subsections don't cover. More on what manageability is and what can go in a Manageability Considerations section is in [RFC5706] πŸ“š

When you document manageability for a new protocol or protocol extensions, remember that one of the goals of specifying protocols in the IETF is to ensure interoperability of implementations 🀝 That extends to the manageability function too, so the ideal is implementation independence between management applications and managed entities. Standardized management protocols and standard information models can help get there πŸ¦‹

Also, you'll sometimes hear the term "management plane" πŸ‘€ It describes the exchange of management messages through management protocols (often carried over IP and IP transport protocols) between management applications and managed entities like network nodes. The management plane may use distinct addressing schemes, virtual links or tunnels, or a physically separate management control network. It should be seen as separate from, but possibly overlapping with, the control plane (where signaling and routing messages get exchanged) and the forwarding plane (sometimes called the data plane or user plane, where user traffic gets transported) 🌈


2. Presence and Placement of Manageability Considerations Sections 🌸

Examples of the sections described here can be found in the documents listed in Appendix A πŸ“–

2.1. Null Manageability Considerations Sections 🫧

If an Internet-Draft has no manageability requirements, the draft SHOULD still contain a Manageability Considerations section. Having that section tells the reader that manageability got due consideration and that there are no (or no new) requirements πŸ’–

In that case, the section SHOULD contain a simple statement such as "There are no new manageability requirements introduced by this document", and SHOULD briefly explain why that's true, with a summary of the manageability mechanisms that already exist 🧁

A null Manageability Considerations section might take some effort to write, ngl πŸ˜… It's important to show the reader that no extra manageability mechanisms are needed, and proving that something is not needed is honestly hard. A null Manageability Considerations section SHOULD NOT consist only of the simple statement that there are no new manageability requirements πŸ™…β€β™€οΈ

If an Internet-Draft genuinely has no manageability impact, it should be possible to put together a simple null Manageability Considerations section that explains why πŸŽ€

If the Manageability Considerations section isn't null, it SHOULD contain at least the following subsections. Guidance on what goes in these subsections is in Section 3 of this document πŸ“š

  • Control of Function through Configuration and Policy
  • Information and Data Models, e.g., MIB modules
  • Liveness Detection and Monitoring
  • Verifying Correct Operation
  • Requirements on Other Protocols and Functional Components
  • Impact on Network Operation

If one or more of these subsections isn't relevant, it SHOULD still be present and SHOULD contain a simple statement explaining why the subsection isn't relevant 🫢 So null subsections are allowed, and each should be formed by following the advice in Section 2.1 ✨

2.3. Optional Subsections πŸ¦‹

The list above isn't meant to be strictly limiting. Other subsections can and SHOULD be added based on the requirements of each individual Internet-Draft πŸ’œ If a topic doesn't fit neatly into any of the listed subsections, the authors should feel free to add new subsections as needed 🌈

2.4. Placement of Manageability Considerations Sections πŸ“

The Manageability Considerations section SHOULD be placed immediately before the Security Considerations section in any Internet-Draft πŸ’…


3. Guidance on the Content of Subsections 🧚

This section gives guidance on the information to include in each of the recommended subsections listed above πŸŽ€ Just as other subsections may be included, additional information MAY also be included in these subsections ✨

3.1. Control of Function through Configuration and Policy ✨

okay so this bit is all about the stuff you can control through configuration and/or policy πŸŽ€

for example, lots of protocol specs have timers ticking away in the background ⏰ these timers usually come with default values suggested in the spec, and they don't have to be configurable πŸ™ˆ but it's super common that the protocol needs the operator to be able to tweak the timers, so the implementation behaves exactly the way it should πŸ’…

even if every configurable item already got described in the body of the document, they SHOULD be identified in this subsection too πŸ’– a reference to another section is enough, as long as the full description lives somewhere else πŸ¦‹

other protocol elements can be controlled by local or network-wide policy 🌸 this subsection isn't meant to go into the nitty-gritty of how policy gets implemented, because that's covered by the bigger policy framework specs like [RFC3060] and [RFC3460] 🧚 and specific policy frameworks for protocol or functional architectures usually get their own documents too, like [RFC5394] πŸ’œ

still, this section SHOULD identify which protocol elements might be subject to policy, and it should give guidance on applying policy so the protocol keeps working well πŸ‘‘ if this material is already covered in the body of the document, this subsection SHOULD still call out the issues and point to the other sections of the document 🫢

3.2. Information and Data Models πŸ“š

this subsection SHOULD describe the information and data models needed for the protocol or the protocol extensions πŸ’… that includes, but isn't necessarily limited to, the MIB modules built specifically for the protocol functions in the document πŸ“

if new or extended MIB modules are recommended, it's super helpful for this section to give an overview of the items being modeled 🌈 it doesn't need an object-by-object breakdown of everything, but it could explain the high-level "object groupings" (maybe even down to suggesting the MIB tables), and it should definitely explain the major manageable entities ✨ for example, a spec might have separate "sender" and "receiver" roles, or be split into a "session" and individual "transactions" πŸ¦‹ if so, this section could list those functionalities as separate manageable entities πŸ’–

[RFC3444] may be useful in figuring out what information to include here πŸŽ€

the description in this section can just be by reference where other documents already exist 🫢

it should be noted that the significance of MIB modules may be decreasing πŸ“‰ but there's still a requirement to consider the managed objects needed for successful operation of the protocol or protocol extensions 😀 so due consideration should go not only to what objects need to be managed, but also to what management model should be used πŸ’… there are several options now, including the MIB/SNMP (Simple Network Management Protocol) model and the Network Configuration Protocol (NETCONF) model, which the NETCONF Data Modeling Language (NETMOD) Working Group is developing [YANG] πŸ”₯

3.3. Liveness Detection and Monitoring πŸ’“

liveness detection and monitoring apply to both the control plane and the data plane, bestie 🧚

mechanisms for detecting faults in the control plane, or for monitoring its liveness, are usually built right into the control plane protocols or inherited from underlying data plane or forwarding plane protocols 🌸 they don't typically need extra management capabilities, but they're essential for the protocol to be usable and manageable πŸ‘‘ so this section SHOULD highlight the mechanisms in the new protocol or protocol extensions that are required to ensure liveness detection and monitoring within the protocol πŸ’–

also, when a control plane fault gets detected, there's often a need to coordinate recovery through management applications, or at least to record the fact in an event log πŸ“ this section SHOULD identify the management actions expected when the protocol detects a control plane fault 🚨

where the protocol is responsible for establishing data or user plane connectivity, liveness detection and monitoring usually need to be handled through other mechanisms πŸ¦‹ sometimes those already exist in other protocols that maintain lower layer connectivity, but it's very often the case that new procedures are needed so that data path failures can be detected and reported rapidly, which lets remedial action happen fast πŸƒβ€β™€οΈ this section SHOULD refer to other mechanisms that are assumed to monitor data plane liveness, and SHOULD identify requirements for new mechanisms as appropriate 🫢

this section SHOULD describe the need for liveness and detection monitoring, SHOULD highlight existing tools, SHOULD identify requirements and specifications for new tools (as appropriate for the level of the document being written), and SHOULD describe how the tools get coordinated with each other, with management applications, and with the base protocol being specified πŸ’…πŸ”₯

3.4. Verifying Correct Operation βœ…

an important function that Operations and Management (OAM) can provide is a toolset for verifying that a protocol is operating correctly πŸ” to some extent, that can be done by accessing information and data models that report the protocol's status and the state installed on network devices πŸ“Š but it can also be valuable to offer techniques for testing the effect the protocol has had on the network, by sending data through the network and watching how it behaves πŸ§ͺ

so this section SHOULD include details of how the correct operation of the protocols described by the Internet-Draft can be tested πŸ’– and, as far as the Internet-Draft impacts the operation of the network, this section SHOULD include a discussion about how correct end-to-end operation of the network can be tested, and how correct data or forwarding plane function of each network element can be verified 🌈

there may be some overlap between this section and the one on liveness detection and monitoring, since the same tools can be used in some cases 🫢

3.5. Requirements on Other Protocols and Functional Components 🧩

the text in this section SHOULD describe the requirements the new protocol puts on other protocols and functional components, as well as the requirements from other protocols that were considered when designing the new protocol πŸ’œ this matters for manageability because those other protocols may already be deployed and operational, and they also need to be managed too πŸ™ˆ

it's not appropriate to consider the interaction between the new protocol and every other protocol in this section πŸ™…β€β™€οΈ but it IS important to identify the specific interactions that are assumed for the new protocol or protocol extensions to function correctly πŸŽ€

3.6. Impact on Network Operation 🌍

introducing a new protocol, or extensions to an existing protocol, may have an impact on the operation of existing networks 😳 this section SHOULD outline such impacts (which may be positive), including scaling concerns and interactions with other protocols πŸ¦‹

for example, a new protocol that doubles the number of active, reachable addresses in use within a network might need to be looked at in light of its impact on the scalability of the IGPs operating within that network πŸ“ˆ

a very important feature that SHOULD be addressed in this section is backward compatibility 🚨 if protocol extensions are being introduced, what impact will that have on a network running an earlier version of the protocol? will it be necessary to upgrade all nodes in the network? can the protocol versions operate side by side? can the new version be tunneled through the old version? can existing services be migrated without causing a traffic hit, or is a "maintenance period" required to do the upgrade? what are the configuration implications for the new and old protocol variants? 🀯

where a new protocol is introduced, issues similar to backward compatibility may exist and SHOULD be described 🫢 how does migration from an old protocol to the new one get achieved? do existing protocols need to be interfaced to the new protocol? 🧐

3.7. Other Considerations πŸ’«

anything that isn't covered in one of the recommended subsections above, but is still needed to understand the manageability situation, SHOULD be covered in an additional section 🌸 this can be a catch-all section named "Other Considerations", or it can be one or more additional optional sections as described in Section 2.3 🧚


4. IANA Considerations πŸŽ€

this document doesn't introduce any new codepoints or name spaces for registration with IANA πŸ™Œ it makes no request to IANA for action, so there's nothing to do here, bestie πŸ’…

Internet-Drafts SHOULD NOT introduce new codepoints, name spaces, or requests for IANA action within the Manageability Considerations section 🚫

5. Manageability Considerations 🌸

this document defines Manageability Considerations sections that are recommended for inclusion in all PCE Working Group Internet-Drafts πŸ’œ so, as such, the whole document is relevant to manageability 🫢

note that the impact of applying this document to Internet-Drafts produced within the PCE Working Group should be that PCE protocols and associated protocols are designed and extended with manageability in mind 🧠 that should result in more robust and more easily deployed protocols ✨

however, since this document doesn't describe any specific protocol, protocol extensions, or protocol usage, no manageability considerations need to be discussed here πŸ™ˆ

(This is an example of a null Manageability Considerations section). πŸ“

6. Security Considerations πŸ”

this document is Historic and describes the format and content of Internet-Drafts πŸ“œ as such, it introduces no new security concerns πŸ’–

however, there is a clear overlap between security, operations, and management 😬 the manageability aspects of security SHOULD be covered within the mandatory Security Considerations of each Internet-Draft πŸ”’ new security considerations introduced by the Manageability Considerations section MUST be covered in the Security Considerations section 🚨

okay this part is SERIOUS bestie 😭 retrofitting manageability onto a protocol after the fact can make it way more vulnerable to security attacks, including attacks through the brand-new manageability facilities πŸ’€

note that fully designing a protocol before it's implemented (including designing the manageability aspects) is likely to result in a more robust protocol πŸ‘‘ and that's a benefit to network security πŸ›‘οΈ therefore, the use of this document is RECOMMENDED in order to help ensure the security of all protocols to which it is applied πŸ«ΆπŸ’œ

7. Acknowledgements ✨

This doc grew out of earlier work on why every Internet-Draft in the Routing Area needs a Manageability Considerations section πŸŽ€. That earlier doc was written by Avri Doria and Loa Andersson, with the current author. Their input was both sensible and constructive πŸ’–.

Peka Savola gave super valuable feedback on an early version of the original document 🌸. Huge thanks also to Bert Wijnen, Dan Romascanu, David Harrington, Lou Berger, Spender Dawkins, Tom Petch, Matthew Meyer, Dimitri Papdimitriou, Stewart Bryant, and Jamal Hadi Salim for their comments 🫢.

Thank you to the PCE Working Group for adopting the ideas in this doc and for including Manageability Considerations sections in their Internet-Drafts and RFCs πŸ‘‘. They really ran with it, bestie πŸ’….

8. References

8.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
          Requirement Levels", BCP 14, RFC 2119, March 1997.

8.2. Informative References

[RFC3060] Moore, B., Ellesson, E., Strassner, J., and A. Westerinen,
          "Policy Core Information Model -- Version 1 Specification",
          RFC 3060, February 2001.

[RFC3460] Moore, B., Ed., "Policy Core Information Model (PCIM)
          Extensions", RFC 3460, January 2003.

[RFC3444] Pras, A. and J. Schoenwaelder, "On the Difference between
          Information Models and Data Models", RFC 3444, January
          2003.

[RFC5394] Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash,
          "Policy-Enabled Path Computation Framework", RFC 5394,
          December 2008.

[RFC5706] Harrington, D., "Guidelines for Considering Operations and
          Management of New Protocols and Protocol Extensions", RFC
          5706, November 2009.

[X.700]   CCITT Recommendation X.700 (1992), Management framework for
          Open Systems Interconnection (OSI) for CCITT applications.

[YANG]    Bjorklund, M., Ed., "YANG - A Data Modeling Language for
          the Network Configuration Protocol (NETCONF)", RFC 6020,
          October 2010.

Appendix A. Example Manageability Considerations Sections 🧚

Readers are referred to the following documents for example Manageability Considerations sections that got positive comments during IESG review πŸ“. Go look at these, they're so good ✨.

Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element
(PCE)-Based Architecture", RFC 4655, August 2006.

Le Roux, J., Ed., "Requirements for Path Computation Element (PCE)
Discovery", RFC 4674, October 2006.

Le Roux, JL., Ed., Vasseur, JP., Ed., Ikejiri, Y., and R. Zhang,
"OSPF Protocol Extensions for Path Computation Element (PCE)
Discovery", RFC 5088, January 2008.

Vasseur, JP., Ed., and JL. Le Roux, Ed., "Path Computation Element
(PCE) Communication Protocol (PCEP)", RFC 5440, March 2009.

Bradford, R., Ed., Vasseur, JP., and A. Farrel, "Preserving Topology
Confidentiality in Inter-Domain Path Computation Using a Path-Key-
Based Mechanism", RFC 5520, April 2009.

Oki, E., Takeda, T., Le Roux, JL., and A. Farrel, "Framework for PCE-
Based Inter-Layer MPLS and GMPLS Traffic Engineering", RFC 5623,
September 2009.

Author's Address πŸ¦‹

Adrian Farrel
Old Dog Consulting
EMail: adrian@olddog.co.uk
πŸ“¦ where this page comes from