⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2741.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   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:Daniele, et al.             Standards Track                     [Page 6]RFC 2741                         AgentX                     January 2000      -  a single processing entity called the master agent, which sends         and receives SNMP protocol messages in an agent role (as         specified by the SNMP framework documents) but typically has         little or no direct access to management information.      -  zero or more processing entities called subagents, which are         "shielded" from the SNMP protocol messages processed by the         master agent, but which have access to management information.   The master and subagent entities communicate via AgentX protocol   messages, as specified in this memo.  Other interfaces (if any) on   these entities, and their associated protocols, are outside the scope   of this document.  While some of the AgentX protocol messages appear   similar in syntax and semantics to the SNMP, bear in mind that AgentX   is not SNMP.   The internal operations of AgentX are invisible to an SNMP entity   operating in a manager role.  From a manager's point of view, an   extensible agent behaves exactly as would a non-extensible   (monolithic) agent that has access to the same management   instrumentation.   This transparency to managers is a fundamental requirement of AgentX,   and is what differentiates AgentX subagents from SNMP proxy agents.4.1. AgentX Roles   An entity acting in a master agent role performs the following   functions:      -  Accepts AgentX session establishment requests from subagents.      -  Accepts registration of MIB regions by subagents.      -  Sends and accepts SNMP protocol messages on the agent's         specified transport addresses.      -  Implements the agent role Elements of Procedure specified for         the administrative framework applicable to the SNMP protocol         message, except where they specify performing management         operations.  (The application of MIB views, and the access         control policy for the managed node, are implemented by the         master agent.)      -  Provides instrumentation for the MIB objects defined in RFC         1907 [17], and for any MIB objects relevant to any         administrative framework it supports.Daniele, et al.             Standards Track                     [Page 7]RFC 2741                         AgentX                     January 2000      -  Sends and receives AgentX protocol messages to access         management information, based on the current registry of MIB         regions.      -  Forwards notifications on behalf of subagents.   An entity acting in a subagent role performs the following functions:      -  Initiates AgentX sessions with the master agent.      -  Registers MIB regions with the master agent.      -  Instantiates managed objects.      -  Binds OIDs within its registered MIB regions to actual         variables.      -  Performs management operations on variables.      -  Initiates notifications.4.2. Applicability   It is intended that this memo specify the smallest amount of required   behavior necessary to achieve the largest benefit, that is, to cover   a very large number of possible MIB implementations and   configurations with minimum complexity and low "cost of entry".   This section discusses several typical usage scenarios.   1) Subagents implement separate MIB modules -- for example, subagent      `A' implements "mib-2", subagent `B' implements "host-resources".      It is anticipated that this will be the most common subagent      configuration.   2) Subagents implement rows in a "simple table".  A simple table is      one in which row creation is not specified, and for which the MIB      does not define an object that counts entries in the table.      Examples of simple tables are rdbmsDbTable, udpTable, and      hrSWRunTable.      This is the most commonly defined type of MIB table, and probably      represents the next most typical configuration that AgentX would      support.Daniele, et al.             Standards Track                     [Page 8]RFC 2741                         AgentX                     January 2000   3) Subagents share MIBs along non-row partitions.  Subagents register      "chunks" of the MIB that represent multiple rows, due to the      nature of the MIB's index structure.  Examples include registering      ipNetToMediaEntry.n, where n represents the ifIndex value for an      interface implemented by the subagent, and tcpConnEntry.a.b.c.d,      where a.b.c.d represents an IP address on an interface implemented      by the subagent.   AgentX supports these three common configurations, and all   permutations of them, completely.  The consensus is that they   comprise a very large majority of current and likely future uses of   multi-vendor extensible agent configurations.   4) Subagents implement rows in tables that permit row creation, for      example, the RMON historyControlTable.  To implement row creation      in such tables, at least one AgentX subagent must register at a      point "higher" in the OID tree than an individual row (per      AgentX's dispatching procedure).   5) Subagents implement rows in tables whose MIB also defines an      object that counts entries in the table, for example the MIB-2      ifTable (due to ifNumber).  The subagent that implements such a      counter object (like ifNumber) must go beyond AgentX to correctly      implement it.  This is an implementation issue (and most new MIB      designs no longer include such objects).   Scenarios in these latter 2 categories were thought to occur somewhat   rarely in configurations where subagents are independently   implemented by different vendors.  The focus of a standard protocol,   however, must be in just those areas where multi-vendor   interoperability must be assured.   Note that it would be inefficient (due to AgentX registration   overhead) to share a table among AgentX subagents if the table   contains very dynamic instances, and each subagent registers fully   qualified instances.  ipRouteTable could be an example of such a   table in some environments.4.3. Design Features of AgentX   The primary features of the design described in this memo are:   1) A general architectural division of labor between master agent and      subagent: The master agent is MIB ignorant and SNMP omniscient,      while the subagent is SNMP ignorant and MIB omniscient (for the      MIB variables it instantiates).  That is, master agents,      exclusively, are concerned with SNMP protocol operations and the      translations to and from AgentX protocol operations needed toDaniele, et al.             Standards Track                     [Page 9]RFC 2741                         AgentX                     January 2000      carry them out; subagents are exclusively concerned with      management instrumentation; and neither should intrude on the      other's territory.   2) A standard protocol and "rules of engagement" to enable      interoperability between management instrumentation and extensible      agents.   3) Mechanisms for independently developed subagents to integrate into      the extensible agent on a particular managed node in such a way      that they need not be aware of any other existing subagents.   4) A simple, deterministic registry and dispatching algorithm.  For a      given extensible agent configuration, there is a single subagent      who is "authoritative" for any particular region of the MIB (where      "region" may extend from an entire MIB down to a single object-      instance).   5) Performance considerations.  It is likely that the master agent      and all subagents will reside on the same host, and in such cases      AgentX is more a form of inter-process communication than a      traditional communications protocol.      Some of the design decisions made with this in mind include:         - 32-bit alignment of data within PDUs         - Native byte-order encoding by subagents         - Large AgentX PDU payload sizes.4.4. Non-Goals   1) Subagent-to-subagent communication.  This is out of scope, due to      the security ramifications and complexity involved.   2) Subagent access (via the master agent) to MIB variables.  This is      not addressed, since various other mechanisms are available and it      was not a fundamental requirement.   3) The ability to accommodate every conceivable extensible agent      configuration option. This was the most contentious aspect in the      development of this protocol.  In essence, certain features      currently available in some commercial extensible agent products      are not included in AgentX.  Although useful or even vital in some      implementation strategies, the rough consensus was that these      features were not appropriate for an Internet Standard, or notDaniele, et al.             Standards Track                    [Page 10]RFC 2741                         AgentX                     January 2000      typically required for independently developed subagents to      coexist.  The set of supported extensible agent configurations is      described above, in Section 4.2, "Applicability".   Some possible future version of the AgentX protocol may provide   coverage for one or more of these "non-goals" or for new goals that   might be identified after greater deployment experience.5. AgentX Encodings   AgentX PDUs consist of a common header, followed by PDU-specific data   of variable length.  Unlike SNMP PDUs, AgentX PDUs are not encoded   using the BER (as specified in ISO 8824 [18]), but are transmitted as   a contiguous byte stream.  The data within this stream is organized   to provide natural alignment with respect to the start of the PDU,   permitting direct (integer) access by the processing entities.   The first four fields in the header are single-byte values.  A bit   (NETWORK_BYTE_ORDER) in the third field (h.flags) is used to indicate   the byte ordering of all multi-byte integer values in the PDU,   including those which follow in the header itself.  This is described   in more detail in Section 6.1, "AgentX PDU Header", below.   PDUs are depicted in this memo using the following convention (where   byte 1 is the first transmitted byte):   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |  byte 1       |  byte 2       |  byte 3       |  byte 4       |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |  byte 5       |  byte 6       |  byte 7       |  byte 8       |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   Fields marked "<reserved>" are reserved for future use and must be   zero-filled.5.1. Object Identifier   An object identifier is encoded as a 4-byte header, followed by a   variable number of contiguous 4-byte fields representing sub-   identifiers.  This representation (termed Object Identifier) is as   follows:Daniele, et al.             Standards Track                    [Page 11]RFC 2741                         AgentX                     January 2000

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -