📄 rfc2257.txt
字号:
Network Working Group M. DanieleRequest for Comments: 2257 Digital Equipment CorporationCategory: Standards Track B. Wijnen T.J. Watson Research Center, IBM Corp. D. Francisco, Ed. Cisco Systems, Inc. January 1998 Agent Extensibility (AgentX) Protocol Version 1Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved.Table of Contents 1 Introduction......................................................4 2 The SNMP Framework................................................4 2.1 A Note on Terminology.........................................4 3 Extending the MIB.................................................5 3.1 Motivation for AgentX.........................................5 4 AgentX Framework..................................................6 4.1 AgentX Roles..................................................7 4.2 Applicability.................................................8 4.3 Design Features of AgentX.....................................9 4.4 Non-Goals....................................................10 5 AgentX Encodings.................................................10 5.1 Object Identifier............................................11 5.2 SearchRange..................................................13 5.3 Octet String.................................................14 5.4 Value Representation.........................................14 6 Protocol Definitions.............................................16 6.1 AgentX PDU Header............................................16Daniele, et. al. Standards Track [Page 1]RFC 2257 AgentX January 1998 6.1.1 Context..................................................19 6.2 AgentX PDUs..................................................20 6.2.1 The agentx-Open-PDU......................................20 6.2.2 The agentx-Close-PDU.....................................21 6.2.3 The agentx-Register-PDU..................................22 6.2.4 The agentx-Unregister-PDU................................25 6.2.5 The agentx-Get-PDU.......................................27 6.2.6 The agentx-GetNext-PDU...................................29 6.2.7 The agentx-GetBulk-PDU...................................30 6.2.8 The agentx-TestSet-PDU...................................31 6.2.9 The agentx-CommitSet, -UndoSet, -CleanupSet PDUs.....................................................33 6.2.10 The agentx-Notify-PDU...................................33 6.2.11 The agentx-Ping-PDU.....................................34 6.2.12 The agentx-IndexAllocate-PDU............................35 6.2.13 The agentx-IndexDeallocate-PDU..........................36 6.2.14 The agentx-AddAgentCaps-PDU.............................37 6.2.15 The agentx-RemoveAgentCaps-PDU..........................38 6.2.16 The agentx-Response-PDU.................................39 7 Elements of Procedure............................................41 7.1 Processing AgentX Administrative Messages....................42 7.1.1 Processing the agentx-Open-PDU...........................42 7.1.2 Processing the agentx-IndexAllocate-PDU..................43 7.1.3 Using the agentx-IndexAllocate-PDU.......................45 7.1.4 Processing the agentx-IndexDeallocate-PDU................47 7.1.5 Processing the agentx-Register-PDU.......................48 7.1.5.1 Handling Duplicate OID Ranges........................50 7.1.6 Processing the agentx-Unregister-PDU.....................51 7.1.7 Processing the agentx-AddAgentCaps-PDU...................51 7.1.8 Processing the agentx-RemoveAgentCaps-PDU................52 7.1.9 Processing the agentx-Close-PDU..........................52 7.1.10 Detecting Connection Loss...............................53 7.1.11 Processing the agentx-Notify-PDU........................53 7.1.12 Processing the agentx-Ping-PDU..........................54 7.2 Processing Received SNMP Protocol Messages...................54 7.2.1 Dispatching AgentX PDUs..................................55 7.2.1.1 agentx-Get-PDU.......................................57 7.2.1.2 agentx-GetNext-PDU...................................58 7.2.1.3 agentx-GetBulk-PDU...................................59 7.2.1.4 agentx-TestSet-PDU...................................60 7.2.1.5 Dispatch.............................................60 7.2.2 Subagent Processing of agentx-Get, GetNext, GetBulk-PDUs.............................................61 7.2.2.1 Subagent Processing of the agentx-Get-PDU............61 7.2.2.2 Subagent Processing of the agentx-GetNext-PDU...................................62Daniele, et. al. Standards Track [Page 2]RFC 2257 AgentX January 1998 7.2.2.3 Subagent Processing of the agentx-GetBulk-PDU...................................62 7.2.3 Subagent Processing of agentx-TestSet, -CommitSet, -UndoSet, -CleanupSet-PDUs...................63 7.2.3.1 Subagent Processing of the agentx-TestSet-PDU...................................64 7.2.3.2 Subagent Processing of the agentx-CommitSet-PDU.................................65 7.2.3.3 Subagent Processing of the agentx-UndoSet-PDU...................................65 7.2.3.4 Subagent Processing of the agentx-CleanupSet-PDU................................65 7.2.4 Master Agent Processing of AgentX Responses..............66 7.2.4.1 Common Processing of All AgentX Response PDUs.................................................66 7.2.4.2 Processing of Responses to agentx-Get-PDUs...........66 7.2.4.3 Processing of Responses to agentx-GetNext-PDU and agentx-GetBulk-PDU............67 7.2.4.4 Processing of Responses to agentx-TestSet-PDUs..................................68 7.2.4.5 Processing of Responses to agentx-CommitSet-PDUs................................68 7.2.4.6 Processing of Responses to agentx-UndoSet-PDUs..................................69 7.2.5 Sending the SNMP Response-PDU............................69 7.2.6 MIB Views................................................69 7.3 State Transitions............................................70 7.3.1 Set Transaction States...................................70 7.3.2 Transport Connection States..............................71 7.3.3 Session States...........................................73 8 Transport Mappings...............................................74 8.1 AgentX over TCP..............................................74 8.1.1 Well-known Values........................................74 8.1.2 Operation................................................74 8.2 AgentX over UNIX-domain Sockets..............................75 8.2.1 Well-known Values........................................75 8.2.2 Operation................................................75 9 Security Considerations..........................................76 10 Acknowledgements................................................77 11 Authors' and Editor's Addresses.................................77 12 References......................................................78 13 Full Copyright Statement........................................80Daniele, et. al. Standards Track [Page 3]RFC 2257 AgentX January 19981. Introduction This memo defines a standardized framework for extensible SNMP agents. It defines processing entities called master agents and subagents, a protocol (AgentX) used to communicate between them, and the elements of procedure by which the extensible agent processes SNMP protocol messages.2. The SNMP Framework A management system contains: several (potentially many) nodes, each with a processing entity, termed an agent, which has access to management instrumentation; at least one management station; and, a management protocol, used to convey management information between the agents and management stations. Operations of the protocol are carried out under an administrative framework which defines authentication, authorization, access control, and privacy policies. Management stations execute management applications which monitor and control managed elements. Managed elements are devices such as hosts, routers, terminal servers, etc., which are monitored and controlled via access to their management information. Management information is viewed as a collection of managed objects, residing in a virtual information store, termed the Management Information Base (MIB). Collections of related objects are defined in MIB modules. These modules are written using a subset of OSI's Abstract Syntax Notation One (ASN.1) [1], termed the Structure of Management Information (SMI) (see RFC 1902 [2]).2.1. A Note on Terminology The term "variable" refers to an instance of a non-aggregate object type defined according to the conventions set forth in the SMI (RFC 1902, [2]) or the textual conventions based on the SMI (RFC 1903 [3]). The term "variable binding" normally refers to the pairing of the name of a variable and its associated value. However, if certain kinds of exceptional conditions occur during processing of a retrieval request, a variable binding will pair a name and an indication of that exception. A variable-binding list is a simple list of variable bindings. The name of a variable is an OBJECT IDENTIFIER, which is the concatenation of the OBJECT IDENTIFIER of the corresponding object type together with an OBJECT IDENTIFIER fragment identifying theDaniele, et. al. Standards Track [Page 4]RFC 2257 AgentX January 1998 instance. The OBJECT IDENTIFIER of the corresponding object-type is called the OBJECT IDENTIFIER prefix of the variable. For the purpose of exposition, the original Internet-standard Network Management Framework, as described in RFCs 1155 (STD 16), 1157 (STD 15), and 1212 (STD 16), is termed the SNMP version 1 framework (SNMPv1). The current framework, as described in RFCs 1902-1908, is termed the SNMP version 2 framework (SNMPv2).3. Extending the MIB New MIB modules that extend the Internet-standard MIB are continuously being defined by various IETF working groups. It is also common for enterprises or individuals to create or extend enterprise-specific or experimental MIBs. As a result, managed devices are frequently complex collections of manageable components that have been independently installed on a managed node. Each component provides instrumentation for the managed objects defined in the MIB module(s) it implements. Neither the SNMP version 1 nor version 2 framework describes how the set of managed objects supported by a particular agent may be changed dynamically.3.1. Motivation for AgentX This very real need to dynamically extend the management objects within a node has given rise to a variety of "extensible agents", which typically comprise - a "master" agent that is available on the standard transport address and that accepts SNMP protocol messages - a set of "subagents" that each contain management instrumentation - a protocol that operates between the master agent and subagents, permitting subagents to "connect" to the master agent, and the master agent to multiplex received SNMP protocol messages amongst the subagents. - a set of tools to aid subagent development, and a runtime (API) environment that hides much of the protocol operation between a subagent and the master agent.Daniele, et. al. Standards Track [Page 5]RFC 2257 AgentX January 1998 The wide deployment of extensible SNMP agents, coupled with the lack of Internet standards in this area, makes it difficult to field SNMP-manageable applications. A vendor may have to support several different subagent environments (APIs) in order to support different target platforms. It can also become quite cumbersome to configure subagents and (possibly multiple) master agents on a particular managed node. Specifying a standard protocol for agent extensibility (AgentX) provides the technical foundation required to solve both of these problems. Independently developed AgentX-capable master agents and subagents will be able to interoperate at the protocol level. Vendors can continue to differentiate their products in all other respects.4. AgentX Framework Within the SNMP framework, a managed node contains a processing entity, called an agent, which has access to management information. Within the AgentX framework, an agent is further defined to consist of - a single processing entity called the master agent, which sends and receives SNMP protocol messages in an agent role (as specified by the SNMP version 1 and version 2 framework documents) but typically has little or no direct access to management information.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -