Network Working Group R. Presuhn Internet Draft BMC Software, Inc. Expires: April 27 October 2002 Referential Integrity Considerations in Management Information Base (MIB) Design Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This memo identifies some of referential integrity considerations of which management information base (MIB) designers should be aware. It is intended to promote discussion and the identification of additional related issues. Comments are welcomed, from the Operations and Management Area in general, from MIB writers, and from participants in the sming and eos working groups and the xmlconf BOF in particular. Please send comments to the mibs@ops.ietf.org mailing list. Presuhn Expires April 2003 [Page 1] Internet Draft Referential Integrity Issues 27 October 2002 Table of Contents 1. Introduction ................................................ 3 2. Notice on Intellectual Property ............................. 4 3. Security Considerations ..................................... 5 4. References .................................................. 5 4.1. Informative References .................................... 5 4.2. Normative References ...................................... 6 5. Author's Address ............................................ 6 6. Full Copyright Statement .................................... 6 Presuhn Expires April 2003 [Page 2] Internet Draft Referential Integrity Issues 27 October 2002 1. Introduction This memo identifies some of referential integrity considerations of which management information base (MIB) deisgners should be aware. It is intended to promote discussion and the identification of additional related issues. This initial draft is just a strawman, so we'll have something to discuss. Referential integrity, a concept from the world of relational databases, is useful in the design and use of MIBs as well. In [RFC2571] how instances of management information are named is spelled out in detail. When we look at how MIBs and management applications handle references, we see several potential sources of problems: - In some MIBs, only the human-readable decription reveals that two tables share a common index; - When two tables share one or more common indexes, the nature of the relationship between them, if it is spelled out at all, is not machine-readable; - When RowPointers and related textual conventions are used, they are frequently used without an associated ContextName object, limiting the scope of the relationship; - In a few notorious cases, such as ifIndex, instance names are not guaranteed to be stable across reboots. The lack of specification (or, in some cases, the over-specification) of inter-table relationships causes much consternation during the processes of row creation and deletion. However, instance name instability causes the most grief when it interacts with other objects which have a requirement for persistance of some kind, whether within the managed deviced or across the larger systems which is the network. It impacts not only MIBs with shared indexes or row pointers, but also things like disman script / expression MIBs, configuration file formats, and system configuration version management. A family of problems that has surfaced in several MIBs arises from the need to ensure that the references (e.g., RowPointers and indexes) to persistent data remain consistent across reboots. An example of where things become problematic is the use of ifIndex, which is not guaranteed to keep its value across reboots. In Presuhn Expires April 2003 [Page 3] Internet Draft Referential Integrity Issues 27 October 2002 addition to keeping direct references consistent, there are also cases where keeping references stable across reboots is a requirement. For example, a VACM access control policy could be subverted if the indexes don't remain the same. A similar problem results in MIBs that use "profiles" to reduce the amount of configuration data. The ADSL extension MIB encountered this problem. The solution adopted there, to require implementations to adjust their indexes to match whatever happened to ifIndex, is not terribly satisfying. First, it interacts badly with VACM. Secondly, it requires configuration management applications to somehow be able to figure out whether two or more configurations, in which the indexes may have all been renumbered, are equivalent. (This can be done, but it's not cheap.) The problem only gets worse with things like scripts, the [RFC2573] notification filtering mechanism, thresholds, alarms, and common log management use cases, Consequently, this memo recommends that objects like ifIndex be implemented so that their values do not change across reboots, and that in future MIB design the needs of configuration management systems, scripts, and so on be taken into account. 2. Notice on Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Presuhn Expires April 2003 [Page 4] Internet Draft Referential Integrity Issues 27 October 2002 3. Security Considerations Needless to say, there are lots of security considerations here. The index structure of the view-based access control model [VACM] reflects the naming of the resources to which access is being controlled. Consequently, if resource names change across reboots, the semantics of a stored access control configuration would not be preserved. 4. References 4.1. Informative References [RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [OpsReq] Woodcock, B., "Operator Requirements of Infrastructure Management Methods", draft-ops-operator-req-mgmt-02.txt, February 2002. [ConfBcp] MacFaden, M., Saperia, J. and W. Tackabury, "Configuring Networks and Devices With SNMP", draft-ietf-snmpconf- bcp-07.txt, November 2001. [RFC2575] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. Presuhn Expires April 2003 [Page 5] Internet Draft Referential Integrity Issues 27 October 2002 [RFC2574] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [RFC3231] Levi, D. and J. Schoenwaelder, "Definitions of Managed Objects for Scheduling Management Operations", RFC 3231, January 2002. [RFC3231] Levi, D. and J. Schoenwaelder, "Definitions of Managed Objects for Scheduling Management Operations", RFC 3231, January 2002. [RFC3014] Kavasseri, R., "Notification Log MIB", RFC 3014, November 2000. 4.2. Normative References 5. Author's Address Randy Presuhn BMC Software, Inc. 2141 North First Street San Jose, CA 95131 USA Phone: +1 408 546 1006 EMail: randy_presuhn@bmc.com 6. Full Copyright Statement Copyright (C) The Internet Society (2002). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be Presuhn Expires April 2003 [Page 6] Internet Draft Referential Integrity Issues 27 October 2002 revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Presuhn Expires April 2003 [Page 7]