Network Working Group H. Hazewinkel, Ed. Request for Comments: 3747 I.Net Category: Standards Track D. Partain, Ed. Ericsson April 2004
Network Working Group H. Hazewinkel, Ed. Request for Comments: 3747 I.Net Category: Standards Track D. Partain, Ed. Ericsson April 2004
The Differentiated Services Configuration MIB
区分服务配置MIB
Status 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.
本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (C) The Internet Society (2004). All Rights Reserved.
版权所有(C)互联网协会(2004年)。版权所有。
Abstract
摘要
This memo describes a MIB module that provides a conceptual layer between high-level "network-wide" policy definitions that effect configuration of the Differentiated Services (diffserv) subsystem and the instance-specific information that would include such details as the parameters for all the queues associated with each interface in a system. This essentially provides an interface for configuring differentiated services at a conceptually higher layer than that of the Differentiated Services MIB.
本备忘录描述了一个MIB模块,该模块在影响区分服务(diffserv)子系统配置的高级“网络范围”策略定义和实例特定信息之间提供了一个概念层,该信息将包括与系统中每个接口相关联的所有队列的参数等详细信息。这本质上提供了一个接口,用于在概念上高于区分服务MIB的层上配置区分服务。
Table of Contents
目录
1. The Internet-Standard Management Framework . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Other Documents. . . . . . . . . . . . . . . . . . . . . . . . 3 4. Relationship to other MIBs . . . . . . . . . . . . . . . . . . 3 4.1. The Policy-based Management MIB Module . . . . . . . . . 3 4.2. The Differentiated Services MIB Module . . . . . . . . . 4 5. The Differentiated Services Configuration MIB Module Design. . 5 6. Template Cloning . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. An Approach to Template Cloning. . . . . . . . . . . . . 6 6.2. Example. . . . . . . . . . . . . . . . . . . . . . . . . 7 6.2.1. The Initial Situation. . . . . . . . . . . . . . 8 6.2.2. The Configuration Template . . . . . . . . . . . 9 6.2.3. Applying the Template. . . . . . . . . . . . . . 11 6.2.4. Applying the Template Using SNMP Messages. . . . 14 7. Managed Objects Definitions (MIB Module) . . . . . . . . . . . 15 8. Security Considerations. . . . . . . . . . . . . . . . . . . . 20 9. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 22 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 10.1. Normative References . . . . . . . . . . . . . . . . . . 22 10.2. Informative References . . . . . . . . . . . . . . . . . 23 11. Editors' Addresses . . . . . . . . . . . . . . . . . . . . . . 23 12. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 24
1. The Internet-Standard Management Framework . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Other Documents. . . . . . . . . . . . . . . . . . . . . . . . 3 4. Relationship to other MIBs . . . . . . . . . . . . . . . . . . 3 4.1. The Policy-based Management MIB Module . . . . . . . . . 3 4.2. The Differentiated Services MIB Module . . . . . . . . . 4 5. The Differentiated Services Configuration MIB Module Design. . 5 6. Template Cloning . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. An Approach to Template Cloning. . . . . . . . . . . . . 6 6.2. Example. . . . . . . . . . . . . . . . . . . . . . . . . 7 6.2.1. The Initial Situation. . . . . . . . . . . . . . 8 6.2.2. The Configuration Template . . . . . . . . . . . 9 6.2.3. Applying the Template. . . . . . . . . . . . . . 11 6.2.4. Applying the Template Using SNMP Messages. . . . 14 7. Managed Objects Definitions (MIB Module) . . . . . . . . . . . 15 8. Security Considerations. . . . . . . . . . . . . . . . . . . . 20 9. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 22 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 10.1. Normative References . . . . . . . . . . . . . . . . . . 22 10.2. Informative References . . . . . . . . . . . . . . . . . 23 11. Editors' Addresses . . . . . . . . . . . . . . . . . . . . . . 23 12. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 24
For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].
有关描述当前互联网标准管理框架的文件的详细概述,请参阅RFC 3410[RFC3410]第7节。
Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].
托管对象通过虚拟信息存储(称为管理信息库或MIB)进行访问。MIB对象通常通过简单网络管理协议(SNMP)进行访问。MIB中的对象是使用管理信息结构(SMI)中定义的机制定义的。本备忘录规定了符合SMIv2的MIB模块,如STD 58、RFC 2578[RFC2578]、STD 58、RFC 2579[RFC2579]和STD 58、RFC 2580[RFC2580]所述。
This memo defines a MIB module that can be used to convey management information about desired network-wide Differentiated Services based policy behavior. This module is designed to integrate with the Differentiated Services MIB module [RFC3289] in order to provide template configurations for the Differentiated Services MIB module. The MIB module defined in this memo (the DIFFSERV-CONFIG-MIB) may be
此备忘录定义了一个MIB模块,可用于传递有关所需的基于网络范围的差异化服务策略行为的管理信息。该模块旨在与差异化服务MIB模块[RFC3289]集成,以便为差异化服务MIB模块提供模板配置。本备忘录中定义的MIB模块(DIFFSERV-CONFIG-MIB)可能是
used in combination with the Policy-based Management MIB module [PMMIBDR], but that is not a requirement. Without the Policy-based Management MIB module, a management application must emulate behavior provided by the Policy-based Management MIB using equivalent "low-level" SNMP operations in normal manager/agent communication.
与基于策略的管理MIB模块[PMMIBDR]结合使用,但这不是必需的。如果没有基于策略的管理MIB模块,管理应用程序必须在正常的manager/agent通信中使用等效的“低级”SNMP操作来模拟基于策略的管理MIB提供的行为。
Together, this memo, [RFC3289], and [PMMIBDR] represent an instance of an integrated architecture for both device-specific and network-wide policy (configuration) management, which is fully integrated with the Internet Standard Management Framework.
本备忘录[RFC3289]和[PMMIBDR]共同代表了设备特定和网络范围策略(配置)管理的集成体系结构的一个实例,该体系结构与Internet标准管理框架完全集成。
The Differentiated Services MIB module [RFC3289] operates on a device level. The MIB module in this memo, the DIFFSERV-CONFIG-MIB, creates a coherent configuration management view as an umbrella over [RFC3289]. That is, the DIFFSERV-CONFIG-MIB provides a conceptual Application Program Interface (API) for configuration of the Differentiated Services parameters. Since the Differentiated Services MIB module is able to maintain configuration information, the DIFFSERV-CONFIG-MIB configuration API consists only of configuration template information and the start of the so-called functional datapath.
区分服务MIB模块[RFC3289]在设备级别上运行。本备忘录中的MIB模块DIFFSERV-CONFIG-MIB创建了一个一致的配置管理视图,作为[RFC3289]的保护伞。也就是说,DIFFSERV-CONFIG-MIB提供了一个概念应用程序接口(API),用于配置区分服务参数。由于区分服务MIB模块能够维护配置信息,因此DIFFSERV-CONFIG-MIB配置API仅包含配置模板信息和所谓功能数据路径的开始。
It is assumed that the reader is familiar with Differentiated Services ([RFC2474] and [RFC2475]), the Policy-based Management MIB ([PMMIBDR]), and "Configuring Networks and Devices With SNMP" ([RFC3512]). These documents include all of the necessary terminology for understanding this memo. However, note that use of the MIB module in this memo does not require the use of [PMMIBDR]. [RFC3512] also provides an example MIB module which may help in understanding the relationship between DIFFSERV-CONFIG-MIB and the Differentiated Services MIB in [RFC3289].
假设读者熟悉区分服务([RFC2474]和[RFC2475])、基于策略的管理MIB([PMMIBDR])和“使用SNMP配置网络和设备”([RFC3512])。这些文件包括理解本备忘录所需的所有术语。但是,请注意,在本备忘录中使用MIB模块并不需要使用[PMMIBDR]。[RFC3512]还提供了一个示例MIB模块,该模块可能有助于理解[RFC3289]中DIFFSERV-CONFIG-MIB和区分服务MIB之间的关系。
In this section, we describe the relationship of this MIB module to other MIB modules. The overall architecture used for policy configuration management is described in [PMMIBDR].
在本节中,我们将描述此MIB模块与其他MIB模块的关系。[PMMIBDR]中描述了用于策略配置管理的总体架构。
[PMMIBDR] defines a MIB module that enables policy-based configuration management of infrastructure using the Internet Standard Management Framework. The document includes a table for configuring policies to be implemented, tables for storing the roles of elements on a particular device, a table for representing the capabilities of a device with respect to policy management, a table
[PMMIBDR]定义了一个MIB模块,该模块支持使用Internet标准管理框架对基础设施进行基于策略的配置管理。该文档包括用于配置要实施的策略的表、用于存储特定设备上的元素角色的表、用于表示设备在策略管理方面的能力的表、表
for referencing elements affected by a policy, as well as other infrastructure. There is no requirement that [PMMIBDR] be used in conjunction with the MIB module defined in this memo.
用于引用受策略影响的元素以及其他基础结构。无需将[PMMIBDR]与本备忘录中定义的MIB模块结合使用。
See [PMMIBDR] for a full description of the policy-based configuration framework it provides.
请参阅[PMMIBDR],了解其提供的基于策略的配置框架的完整描述。
The Differentiated Services MIB module [RFC3289] provides a common set of managed objects useful for configuring Differentiated Services parameters on a Differentiated Services capable device. This is what is referred to as instance-level configuration. It is the alteration of the instance-level information in that MIB module which may be done using the objects in the MIB module defined in this memo.
区分服务MIB模块[RFC3289]提供一组通用的托管对象,用于在支持区分服务的设备上配置区分服务参数。这就是所谓的实例级配置。它是对MIB模块中实例级信息的更改,可以使用本备忘录中定义的MIB模块中的对象来完成。
It is recognized that vendors may include additional managed objects in their devices (via vendor-specific MIB modules) for configuring Differentiated Services parameters. If a vendor chooses to use the objects defined in this memo for configuration, the vendor should provide additional managed objects in a similar approach as defined for the Differentiated Services MIB module.
众所周知,供应商可能在其设备中包括额外的托管对象(通过供应商特定的MIB模块),用于配置差异化服务参数。如果供应商选择使用本备忘录中定义的对象进行配置,则供应商应按照为Differentied Services MIB模块定义的类似方法提供其他托管对象。
Since the managed objects of the Differentiated Services MIB [RFC3289] are not directly associated with an instance (interface and interface direction), the same managed objects can be used for traffic treatment configuration templates in a Differentiated Services capable device and can then be applied on multiple instances. Therefore, the tables as defined in the Differentiated Services MIB can be used directly for template configuration purposes. Those tables are:
由于区分服务MIB[RFC3289]的受管对象与实例(接口和接口方向)没有直接关联,因此相同的受管对象可用于支持区分服务的设备中的流量处理配置模板,然后可应用于多个实例。因此,区分服务MIB中定义的表可以直接用于模板配置目的。这些表格是:
- diffServClfrTable - diffServClfrElementTable - diffServMultiFieldClfrTable - diffServMeterTable - diffServTBParamTable - diffServActionTable - diffServDscpMarkActTable - diffServCountActTable - diffServAlgDropTable - diffServRandomDropTable - diffServQTable - diffServSchedulerTable - diffServMinRateTable - diffServMaxRateTable
- diffServClfrTable-DiffServClfRementTable-DiffServMultiFieldCfRTable-diffServMeterTable-diffServTBParamTable-DiffServCpMarkActTable-diffServCountActTable-diffServAlgDropTable-diffServRandomDropTable-diffServQTable-diffServMinRateTable-diffServMaxRateTable
Readers familiar with the Differentiated Services MIB will notice that these are all templates. Only the diffServDataPathTable defines a managed instance for Differentiated Services traffic treatment by its indexes of the interface and its direction. This also allows the tables mentioned above to be used as a configuration template without defining anything directly related to a managed instance.
熟悉Differentied Services MIB的读者会注意到,这些都是模板。只有diffServDataPathTable通过其接口索引及其方向定义用于区分服务流量处理的托管实例。这还允许将上述表用作配置模板,而无需定义任何与托管实例直接相关的内容。
The Differentiated Services Configuration MIB module (in this memo) of the SNMP-based configuration management framework is positioned between the Policy-based Management MIB module and the instance-specific Differentiated Services MIB module as described above.
如上所述,基于SNMP的配置管理框架的差异化服务配置MIB模块(在本备忘录中)位于基于策略的管理MIB模块和特定于实例的差异化服务MIB模块之间。
The MIB module found in this memo is designed to maintain configuration templates for the Differentiated Services MIB [RFC3289] module. The module only has a template table that describes a Differentiated Services traffic treatment by providing the starting pointer of the functional datapath. The templates represent a specific configuration of traffic treatment in a functional datapath of a Differentiated Services capable device. To avoid duplication of managed objects, the actual templates defining the functional datapath are defined in the Differentiated Services MIB module. These are also used for the management of the instances. Therefore, the implementation of the DIFFSERV-CONFIG-MIB module uses the tables defined in the Differentiated Services MIB. As soon as a configuration is made active via the POLICY-MANAGEMENT-MIB or using normal SNMP operations, the configuration defined within this MIB module will be instantiated in the DIFFSERV-MIB.
本备忘录中的MIB模块旨在维护差异化服务MIB[RFC3289]模块的配置模板。该模块只有一个模板表,通过提供功能数据路径的起始指针来描述区分服务流量处理。这些模板表示支持区分服务的设备的功能数据路径中的流量处理的特定配置。为了避免托管对象的重复,定义功能数据路径的实际模板在Differentied Services MIB模块中定义。它们还用于实例的管理。因此,DIFFSERV-CONFIG-MIB模块的实现使用在区分服务MIB中定义的表。一旦通过POLICY-MANAGEMENT-MIB或使用正常SNMP操作激活配置,在该MIB模块中定义的配置将在DIFFSERV-MIB中实例化。
Note that this is a conceptual process. That is, the configuration may not actually go through an API available in the subsystem which implements the DIFFSERV-MIB module. However, configuration via the DIFFSERV-CONFIG-MIB module will alter the same instrumentation as the DIFFSERV-MIB module whether it does it via the DIFFSERV-MIB module or not.
请注意,这是一个概念性的过程。也就是说,配置可能不会实际通过实现DIFFSERV-MIB模块的子系统中可用的API。但是,无论是否通过DIFFSERV-MIB模块进行配置,通过DIFFSERV-CONFIG-MIB模块进行的配置都将改变与DIFFSERV-MIB模块相同的检测。
The Differentiated Services Configuration MIB module only needs to define a starting point of a traffic treatment configuration template. This table is similar to the diffServDataPathTable [RFC3289]. However, it has a semantic difference in that the diffServDataPathTable is associated with an instance (interface and interface direction), whereas the diffServConfigTable in this memo is not.
区分服务配置MIB模块只需定义流量处理配置模板的起点。此表类似于diffServDataPathTable[RFC3289]。但是,它有一个语义上的区别,即diffServDataPathTable与实例(接口和接口方向)相关联,而此备忘录中的diffServConfigTable不关联。
Unlike most MIB modules, changes to the managed objects in this MIB module do not cause a change in the external/traffic behavior of the device. This MIB module is used to set up per-hop-behavior configurations. As soon as configurations are made active via the POLICY-MANAGEMENT-MIB or SNMP operations, the configurations defined within this MIB module will be instantiated in the DIFFSERV-MIB.
与大多数MIB模块不同,对此MIB模块中的托管对象所做的更改不会导致设备的外部/通信行为发生更改。此MIB模块用于设置每跳行为配置。一旦通过POLICY-MANAGEMENT-MIB或SNMP操作激活配置,此MIB模块中定义的配置将在DIFFSERV-MIB中实例化。
The only table in this MIB module is the diffServConfigTable, which provides managed objects for registering traffic treatment configurations used in differentiated services. The sole purpose of this table is to provide the starting point for a traffic treatment configuration template. The traffic treatment itself is performed by functional datapath elements [RFC3289].
此MIB模块中唯一的表是diffServConfigTable,它提供用于注册差异化服务中使用的流量处理配置的托管对象。本表的唯一目的是为交通处理配置模板提供起点。流量处理本身由功能数据路径元素[RFC3289]执行。
The concept of the DIFFSERV-CONFIG-MIB is based on having traffic treatment configuration templates. The templates provide a set of configuration values that provide a particular behavior, such as Expedited Forwarding traffic treatment, in the functional datapath. The template (or functional datapath) is similar to a linked list from a starting point and each (functional datapath) element is connected to the next element via the so-called next RowPointer.
DIFFSERV-CONFIG-MIB的概念是基于具有流量处理配置模板。这些模板提供一组配置值,这些值在功能数据路径中提供特定行为,例如快速转发流量处理。模板(或功能数据路径)类似于从起点开始的链表,每个(功能数据路径)元素通过所谓的下一行指针连接到下一个元素。
The moment a template is activated (instantiated) on an interface and its interface direction, the template needs to be copied/cloned, so that the template remains as a template. Note that the template is logically "locked" through the cloning process. That is, the template cannot be changed part way through the cloning process. With the exception of the indices, the cloned template will be identical to the source template.
在接口及其接口方向上激活(实例化)模板的那一刻,需要复制/克隆该模板,以便将该模板保留为模板。请注意,在克隆过程中,模板在逻辑上是“锁定”的。也就是说,在克隆过程中不能部分更改模板。除索引外,克隆的模板将与源模板相同。
A literal copy/clone of the template is not possible, since the same indices inside the element tables cannot be re-used. The instantiation process must therefore generate a new index for each element. As a result of this, the 'NEXT' pointers also need to be updated. Otherwise, those will point to the template.
不可能对模板进行文字复制/克隆,因为元素表中的相同索引不能重复使用。因此,实例化过程必须为每个元素生成一个新索引。因此,“下一步”指针也需要更新。否则,这些将指向模板。
What should a system containing Differentiated Services capabilities and Differentiated Services configuration capabilities do conceptually at the moment a template is activated on an interface? The following approach should not be considered implementation guidelines, but rather a conceptual explanation of what should be done.
在界面上激活模板时,包含区分服务功能和区分服务配置功能的系统在概念上应该做什么?以下方法不应被视为实施指南,而应被视为对应该做什么的概念性解释。
1) Get the index of the template to be activated 2) Get RowPointer (current) from diffServConfigStart.index of the diffServConfigTable 3) Check if RowPointer (current) exists 4) Logically "lock" the entry (current) pointed to by RowPointer so that its values are not changed part way through the cloning process. 5) Copy/Clone the entry (current) pointed to by RowPointer a) Get a new index for the entry b) Configure the new entry with the values of the entry to be cloned c) Update the NEXT pointer with a new RowPointer that pointed to the previous entry that was copied part of this template 6) Store RowPointer of cloned entry as (previous) in order to update the NEXT pointer with the next cloned entry. 7) Get the RowPointer of the next element in the template as (current) 8) If (current) RowPointer does not equal zeroDotZero go to 4 9) Logically "unlock" all the locked entries done by step 4).
1) 获取要激活的模板的索引2)从diffServConfigStart.diffServConfigTable的索引获取RowPointer(当前)3)检查RowPointer(当前)是否存在4)逻辑上“锁定”RowPointer指向的条目(当前),以便在克隆过程中不会部分更改其值。5) 复制/克隆行指针指向的项(当前)a)获取项的新索引b)使用要克隆的项的值配置新项c)使用指向此模板一部分复制的上一个项的新行指针更新下一个指针6)将克隆项的行指针存储为(上一个)以使用下一个克隆条目更新下一个指针。7) 将模板中下一个元素的行指针设置为(当前)8)如果(当前)行指针不等于zeroDotZero,则转到4 9)逻辑上“解锁”步骤4完成的所有锁定项)。
If a configuration/template is activated via a means other than a direct SNMP SET request, such as via the Policy-based Management MIB, the handling of the activation and potential error response code must be provided via that mechanism. If a configuration/template is activated using SNMP SET requests, an accurate error response value must be returned. For example, if a configuration/template has inconsistent values, the SNMP SET should return an error. Whether the configuration is already finished is not of direct importance, since the SNMP SET response must be accurate. On systems where the activation may take a long time, a response may be given prior to completion, but extra mechanisms must be provided to detect any errors.
如果配置/模板通过直接SNMP设置请求以外的方式激活,例如通过基于策略的管理MIB激活,则必须通过该机制提供激活和潜在错误响应代码的处理。如果使用SNMP设置请求激活配置/模板,则必须返回准确的错误响应值。例如,如果配置/模板的值不一致,SNMP集应返回错误。配置是否已经完成并不直接重要,因为SNMP集响应必须准确。在激活可能需要很长时间的系统上,可以在完成之前给出响应,但必须提供额外的机制来检测任何错误。
This section provides an example of the process described in the previous section. This example will show a Differentiated Services capable incoming (ingress) interface that only counts the traffic stream. Then, with the policy-based configuration concept as defined in this document and in [PMMIBDR], a traffic marking configuration will be applied. The example will walk the reader through all of the steps involved in this process. Again, the use of [PMMIBDR] is simply an example and is not required.
本节提供了前一节中描述的流程示例。此示例将显示一个支持区分服务的传入(入口)接口,该接口仅统计流量流。然后,使用本文档和[PMMIBDR]中定义的基于策略的配置概念,将应用流量标记配置。本示例将引导读者完成此过程中涉及的所有步骤。同样,使用[PMMIBDR]只是一个示例,并不需要。
NOTE WELL: For brevity and clarity, the example does not always show the complete entry (row) of a table. The only objects shown are those needed for creating the row pointers to the next functional datapath element or needed to provide information about the specific parameters of the functional datapath elements. The column named 'INDEX' always defines the complete index as defined for the associated entry. In some cases, this is a combined index of multiple components. Therefore, the names of the columns are omitted.
请注意:为了简洁明了,该示例并不总是显示表的完整条目(行)。显示的唯一对象是创建指向下一个functional datapath元素的行指针所需的对象,或提供有关functional datapath元素的特定参数的信息所需的对象。名为“INDEX”的列始终定义为关联项定义的完整索引。在某些情况下,这是多个组件的组合索引。因此,列的名称被省略。
Also note that the values Assured Forwarding and Expedited Forwarding are abstracted as DSCP(AF) and DSCP(EF) (respectively) or simply as AF and EF. For the actual values refer to [RFC3289].
还请注意,保证转发和加速转发的值分别抽象为DSCP(AF)和DSCP(EF),或者简单地抽象为AF和EF。有关实际值,请参阅[RFC3289]。
The initial configuration is the existing configuration of an ingress interface.
初始配置是入口接口的现有配置。
+------------------------------------------------------------+ | ingress functional datapath | | +----------+ | -->|----------->----------->| count |----------->----------->|--> | +----------+ | +------------------------------------------------------------+
+------------------------------------------------------------+ | ingress functional datapath | | +----------+ | -->|----------->----------->| count |----------->----------->|--> | +----------+ | +------------------------------------------------------------+
This figure depicts a simple traffic treatment functional datapath for an ingress interface. The functional datapath only consists of a count action.
此图描述了入口接口的简单流量处理功能数据路径。功能数据路径仅包含计数操作。
Within the DIFFSERV-MIB, this would be instantiated as follows. Note that RowPointer objects must point to the first accessible columnar object in the conceptual row. Thus, while perhaps more instructive to use the index value for the RowPointer object's value (e.g., diffServCountActId.1) in the example, it would nonetheless be incorrect, and the first accessible columnar object has been used as should be done (e.g., diffServCountActOctets.1).
在DIFFSERV-MIB中,这将被实例化如下。请注意,RowPointer对象必须指向概念行中第一个可访问的列对象。因此,虽然在本例中为RowPointer对象的值(例如diffServCountActId.1)使用索引值可能更具指导意义,但它仍然是不正确的,并且第一个可访问的列对象已按应做的方式使用(例如DiffServCountActeTets.1)。
diffServDataPathTable +-----------------+-----------------------------+-- | INDEX | diffServDataPathStart | +-----------------+-----------------------------+-- | ifIndex.ingress | diffServActionNext.1 | +-----------------+-----------------------------+--
diffServDataPathTable +-----------------+-----------------------------+-- | INDEX | diffServDataPathStart | +-----------------+-----------------------------+-- | ifIndex.ingress | diffServActionNext.1 | +-----------------+-----------------------------+--
diffServActionTable +-------+--------------------+-------------------------+-- | INDEX | diffServActionNext |diffServActionSpecific | +-------+--------------------+-------------------------+-- | 1 | 0.0 |diffServCountActOctets.1 | +-------+--------------------+-------------------------+--
diffServActionTable +-------+--------------------+-------------------------+-- | INDEX | diffServActionNext |diffServActionSpecific | +-------+--------------------+-------------------------+-- | 1 | 0.0 |diffServCountActOctets.1 | +-------+--------------------+-------------------------+--
diffServCountActTable +-------+------------------------+-- | INDEX | diffServCountActOctets | +-------+------------------------+-- | 1 | | +-------+------------------------+--
diffServCountActTable +-------+------------------------+-- | INDEX | diffServCountActOctets | +-------+------------------------+-- | 1 | | +-------+------------------------+--
The following provides an example of a policy configuration in which traffic is classified by a specific IP filter, that results in two classifiers (one for the IP filter and one for match all). Both streams are then metered, marked, and counted. This is an example of usage on the edge (an ingress interface) of a Differentiated Services domain that wants to have Expedited Forwarding and Assured Forwarding marked traffic within the Differentiated Services domain.
下面提供了一个策略配置示例,在该策略配置中,流量由特定的IP筛选器分类,这将导致两个分类器(一个用于IP筛选器,另一个用于全部匹配)。然后对两条流进行计量、标记和计数。这是一个在差异化服务域的边缘(入口接口)上使用的示例,该域希望在差异化服务域内具有快速转发和有保证的转发标记流量。
+------------------------------------------------------------+ | ingress functional datapath | | +------------+ +-------+ +---------+ +---------+ | | | | | | | action: | | action: | | -->|-->| classifier |-->| meter |-->| mark EF |-->| count |-->|-----> | | match <IP> | | | | | | | | | +------------+ +-------+ +---------+ +---------+ | | | \ | | | \ +---------+ | | | \ | action: | |routing | | * -->| dropper | |core | | / | | | | | / +---------+ | | V / | | +------------+ +-------+ +---------+ +---------+ | | | | | | | action: | | action: | | | | classifier |-->| meter |-->| mark AF |-->| count |-->|-----> | | match all | | | | | | | | | +------------+ +-------+ +---------+ +---------+ | +------------------------------------------------------------+
+------------------------------------------------------------+ | ingress functional datapath | | +------------+ +-------+ +---------+ +---------+ | | | | | | | action: | | action: | | -->|-->| classifier |-->| meter |-->| mark EF |-->| count |-->|-----> | | match <IP> | | | | | | | | | +------------+ +-------+ +---------+ +---------+ | | | \ | | | \ +---------+ | | | \ | action: | |routing | | * -->| dropper | |core | | / | | | | | / +---------+ | | V / | | +------------+ +-------+ +---------+ +---------+ | | | | | | | action: | | action: | | | | classifier |-->| meter |-->| mark AF |-->| count |-->|-----> | | match all | | | | | | | | | +------------+ +-------+ +---------+ +---------+ | +------------------------------------------------------------+
This figure depicts a policy configuration for ingress traffic treatment in a Differentiated Services capable device. The
此图描述了在支持区分服务的设备中进行入口流量处理的策略配置。这个
configuration is represented as follows in the DIFFSERV-CONFIG-MIB module and the DIFFSERV-MIB module.
配置在DIFFSERV-CONFIG-MIB模块和DIFFSERV-MIB模块中表示如下。
Note that the original (existing) traffic treatment described in 6.2.1 is also in the tables.
请注意,表中还列出了6.2.1中所述的原始(现有)交通处理。
Note also that in the diffServDscpMarkActTable, DSCP(EF) represents the DSCP value for Expedited Forwarding and DSCP(AF) represents the DSCP value for Assured Forwarding.
还要注意,在diffServDscpMarkActTable中,DSCP(EF)表示快速转发的DSCP值,DSCP(AF)表示保证转发的DSCP值。
diffServConfigTable (in the MIB module in this memo) +-------+-------------------------+---------------------------+-- | INDEX | diffServConfigStart | diffServConfigDescr | +-------+-------------------------+---------------------------+-- | "foo" | diffServClfrStorage.1 | Example traffic treatment | +-------+-------------------------+---------------------------+--
diffServConfigTable (in the MIB module in this memo) +-------+-------------------------+---------------------------+-- | INDEX | diffServConfigStart | diffServConfigDescr | +-------+-------------------------+---------------------------+-- | "foo" | diffServClfrStorage.1 | Example traffic treatment | +-------+-------------------------+---------------------------+--
diffServClfrTable +-------+---------------------+--------------------+ | INDEX | diffServClfrStorage | diffServClfrStatus | +-------+---------------------+--------------------+ | 1 | | | +-------+---------------------+--------------------+
diffServClfrTable +-------+---------------------+--------------------+ | INDEX | diffServClfrStorage | diffServClfrStatus | +-------+---------------------+--------------------+ | 1 | | | +-------+---------------------+--------------------+
diffServClfrElementTable (shares index with diffServClfrTable) +-------+---------------------------+-------------------------------+-- | INDEX | diffServClfrElementNext | diffServClfrElementPrecedence | +-------+---------------------------+-------------------------------+-- | 1.1 |diffServMeterSucceedNext.1 | 1 | | 1.2 |diffServMeterSucceedNext.2 | 2 | +-------+---------------------------+-------------------------------+--
diffServClfrElementTable (shares index with diffServClfrTable) +-------+---------------------------+-------------------------------+-- | INDEX | diffServClfrElementNext | diffServClfrElementPrecedence | +-------+---------------------------+-------------------------------+-- | 1.1 |diffServMeterSucceedNext.1 | 1 | | 1.2 |diffServMeterSucceedNext.2 | 2 | +-------+---------------------------+-------------------------------+--
diffServMeterTable +-------+--------------------------+-----------------------+-- | INDEX | diffServMeterSucceedNext |diffServMeterFailNext | +-------+--------------------------+-----------------------+-- | 1 | diffServActionNext.2 | diffServAlgDropType.1 | | 2 | diffServActionNext.3 | diffServAlgDropType.1 | +-------+--------------------------+-----------------------+--
diffServMeterTable +-------+--------------------------+-----------------------+-- | INDEX | diffServMeterSucceedNext |diffServMeterFailNext | +-------+--------------------------+-----------------------+-- | 1 | diffServActionNext.2 | diffServAlgDropType.1 | | 2 | diffServActionNext.3 | diffServAlgDropType.1 | +-------+--------------------------+-----------------------+--
diffServActionTable +-------+----------------------+----------------------------+-- | INDEX | diffServActionNext | diffServActionSpecific | +-------+----------------------+----------------------------+-- | 1 | 0.0 | diffServCountActOctets.1 | | 2 | diffServActionNext.4 | diffServDscpMarkActDscp.EF | | 3 | diffServActionNext.5 | diffServDscpMarkActDscp.AF | | 4 | 0.0 | diffServCountActOctets.2 | | 5 | 0.0 | diffServCountActOctets.3 | +-------+----------------------+----------------------------+--
diffServActionTable +-------+----------------------+----------------------------+-- | INDEX | diffServActionNext | diffServActionSpecific | +-------+----------------------+----------------------------+-- | 1 | 0.0 | diffServCountActOctets.1 | | 2 | diffServActionNext.4 | diffServDscpMarkActDscp.EF | | 3 | diffServActionNext.5 | diffServDscpMarkActDscp.AF | | 4 | 0.0 | diffServCountActOctets.2 | | 5 | 0.0 | diffServCountActOctets.3 | +-------+----------------------+----------------------------+--
diffServCountActTable +-------+------------------------+-- | INDEX | diffServCountActOctets | +-------+------------------------+-- | 1 | | | 2 | | | 3 | | +-------+------------------------+--
diffServCountActTable +-------+------------------------+-- | INDEX | diffServCountActOctets | +-------+------------------------+-- | 1 | | | 2 | | | 3 | | +-------+------------------------+--
diffServAlgDropTable +-------+---------------------+-------------------------+-- | INDEX | diffServAlgDropType | diffServAlgDropSpecific | +-------+---------------------+-------------------------+-- | 1 | alwaysDrop(5) | 0.0 | +-------+---------------------+-------------------------+--
diffServAlgDropTable +-------+---------------------+-------------------------+-- | INDEX | diffServAlgDropType | diffServAlgDropSpecific | +-------+---------------------+-------------------------+-- | 1 | alwaysDrop(5) | 0.0 | +-------+---------------------+-------------------------+--
diffServDscpMarkActTable +-------------------------+ | diffServDscpMarkActDscp | +-------------------------+ | DSCP(EF) | | DSCP(AF) | +-------------------------+
diffServDscpMarkActTable +-------------------------+ | diffServDscpMarkActDscp | +-------------------------+ | DSCP(EF) | | DSCP(AF) | +-------------------------+
Now we have the original ingress interface configuration and the policy configuration we want to apply to the actual interface.
现在我们有了原始的入口接口配置和要应用于实际接口的策略配置。
The example policy must provide the required Differentiated Services traffic treatment to all interfaces used by system administrators. The traffic treatment required is described in 6.2.2 above.
示例策略必须为系统管理员使用的所有接口提供所需的区分服务流量处理。上述6.2.2中描述了所需的交通处理。
Therefore, we have the following example policy which is configured via the POLICY-BASED-MANAGEMENT-MIB module (see [PMMIBDR]):
因此,我们有以下通过基于策略的管理MIB模块配置的示例策略(请参见[PMMIBDR]):
if ( roleMatch("Administrator") )
if(角色匹配(“管理员”))
then /* * The $0 gets the "element" returned from the previous * statement. the .1 at the end is the ingress interface * This sets, for example, diffServDataPathStart.3.1 to be * "diffServConfigStart.3.f.o.o" if interface 3 has the role * "Administrator". */ setVar("diffServDataPathStart.$0.1", "diffServConfigStart.3.f.o.o", Oid)
然后,/**$0获取从上一条*语句返回的“元素”。最后的.1是入口接口*,例如,如果接口3的角色为*“管理员”,则将diffServDataPathStart.3.1设置为*“diffServConfigStart.3.f.o.o”。*/setVar(“diffServDataPathStart.$0.1”,“diffServConfigStart.3.f.o.o”,Oid)
For our purposes, we only apply this on the inbound (ingress) direction of the interface.
出于我们的目的,我们仅在接口的入站(入口)方向上应用此功能。
Note that although object descriptors are used in this PolicyScript example, the object identifiers must be used in the running script. For more information on policies and their syntax refer to [PMMIBDR].
请注意,尽管此PolicyScript示例中使用了对象描述符,但在运行的脚本中必须使用对象标识符。有关策略及其语法的更多信息,请参阅[PMMIBDR]。
The following tables in this section provide the cloned entries in the tables of the DIFFSERV-MIB module. All tables may have columns that contain contents or administrative objects that are not shown. These columns do not determine a function in the datapath and they are not shown for clarity of the cloning mechanism.
本节中的下表提供了DIFFSERV-MIB模块表中的克隆条目。所有表都可能有包含未显示的内容或管理对象的列。这些列不确定数据路径中的函数,为清楚克隆机制,未显示这些列。
Note that the original (existing) traffic treatment of 6.2.1 and 6.2.2 are also in the tables.
请注意,表中还列出了6.2.1和6.2.2的原始(现有)交通处理。
diffServConfigTable +-------+-------------------------+---------------------------+-- | INDEX | diffServConfigStart | diffServConfigDescr | +-------+-------------------------+---------------------------+-- | "foo" | diffServClfrStorage.1 | Example traffic treatment | +-------+-------------------------+---------------------------+--
diffServConfigTable +-------+-------------------------+---------------------------+-- | INDEX | diffServConfigStart | diffServConfigDescr | +-------+-------------------------+---------------------------+-- | "foo" | diffServClfrStorage.1 | Example traffic treatment | +-------+-------------------------+---------------------------+--
diffServDataPathTable +-----------------+-----------------------------+-- | INDEX | diffServDataPathStart | +-----------------+-----------------------------+-- | ifIndex.ingress | diffServActionNext.2 | +-----------------+-----------------------------+--
diffServDataPathTable +-----------------+-----------------------------+-- | INDEX | diffServDataPathStart | +-----------------+-----------------------------+-- | ifIndex.ingress | diffServActionNext.2 | +-----------------+-----------------------------+--
diffServClfrTable +-------+---------------------+--------------------+ | INDEX | diffServClfrStorage | diffServClfrStatus | +-------+---------------------+--------------------+ | 1 | | | | 2 | | | +-------+---------------------+--------------------+
diffServClfrTable +-------+---------------------+--------------------+ | INDEX | diffServClfrStorage | diffServClfrStatus | +-------+---------------------+--------------------+ | 1 | | | | 2 | | | +-------+---------------------+--------------------+
diffServClfrElementTable +-------+----------------------------+-------------------------------+-- | INDEX | diffServClfrElementNext | diffServClfrElementPrecedence | +-------+----------------------------+-------------------------------+-- | 1.1 | diffServMeterSucceedNext.1 | 1 | | 1.2 | diffServMeterSucceedNext.2 | 2 | | 2.3 | diffServMeterSucceedNext.3 | 1 | | 2.4 | diffServMeterSucceedNext.4 | 2 | +-------+----------------------------+-------------------------------+--
diffServClfrElementTable +-------+----------------------------+-------------------------------+-- | INDEX | diffServClfrElementNext | diffServClfrElementPrecedence | +-------+----------------------------+-------------------------------+-- | 1.1 | diffServMeterSucceedNext.1 | 1 | | 1.2 | diffServMeterSucceedNext.2 | 2 | | 2.3 | diffServMeterSucceedNext.3 | 1 | | 2.4 | diffServMeterSucceedNext.4 | 2 | +-------+----------------------------+-------------------------------+--
diffServMeterTable +-------+--------------------------+-----------------------+-- | INDEX | diffServMeterSucceedNext | diffServMeterFailNext | +-------+--------------------------+-----------------------+-- | 1 | diffServActionNext.2 | diffServAlgDropType.1 | | 2 | diffServActionNext.3 | diffServAlgDropType.1 | | 3 | diffServActionNext.6 | diffServAlgDropType.2 | | 4 | diffServActionNext.7 | diffServAlgDropType.2 | +-------+--------------------------+-----------------------+--
diffServMeterTable +-------+--------------------------+-----------------------+-- | INDEX | diffServMeterSucceedNext | diffServMeterFailNext | +-------+--------------------------+-----------------------+-- | 1 | diffServActionNext.2 | diffServAlgDropType.1 | | 2 | diffServActionNext.3 | diffServAlgDropType.1 | | 3 | diffServActionNext.6 | diffServAlgDropType.2 | | 4 | diffServActionNext.7 | diffServAlgDropType.2 | +-------+--------------------------+-----------------------+--
diffServActionTable +-------+----------------------+----------------------------+-- | INDEX | diffServActionNext | diffServActionSpecific | +-------+----------------------+----------------------------+-- | 1 | 0.0 | diffServCountActOctets.1 | | 2 | diffServActionNext.4 | diffServDscpMarkActDscp.EF | | 3 | diffServActionNext.5 | diffServDscpMarkActDscp.AF | | 4 | 0.0 | diffServCountActOctets.2 | | 5 | 0.0 | diffServCountActOctets.3 | | 6 | diffServActionNext.8 | diffServDscpMarkActDscp.EF | | 7 | diffServActionNext.9 | diffServDscpMarkActDscp.AF | | 8 | 0.0 | diffServCountActOctets.4 | | 9 | 0.0 | diffServCountActOctets.5 | +-------+----------------------+----------------------------+--
diffServActionTable +-------+----------------------+----------------------------+-- | INDEX | diffServActionNext | diffServActionSpecific | +-------+----------------------+----------------------------+-- | 1 | 0.0 | diffServCountActOctets.1 | | 2 | diffServActionNext.4 | diffServDscpMarkActDscp.EF | | 3 | diffServActionNext.5 | diffServDscpMarkActDscp.AF | | 4 | 0.0 | diffServCountActOctets.2 | | 5 | 0.0 | diffServCountActOctets.3 | | 6 | diffServActionNext.8 | diffServDscpMarkActDscp.EF | | 7 | diffServActionNext.9 | diffServDscpMarkActDscp.AF | | 8 | 0.0 | diffServCountActOctets.4 | | 9 | 0.0 | diffServCountActOctets.5 | +-------+----------------------+----------------------------+--
diffServCountActTable +-------+------------------------+-- | INDEX | diffServActCountOctets | +-------+------------------------+-- | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | +-------+------------------------+--
diffServCountActTable +-------+------------------------+-- | INDEX | diffServActCountOctets | +-------+------------------------+-- | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | +-------+------------------------+--
diffServAlgDropTable +-------+---------------------+-------------------------+-- | INDEX | diffServAlgDropType | diffServAlgDropSpecific | +-------+---------------------+-------------------------+-- | 1 | alwaysDrop(5) | 0.0 | +-------+---------------------+-------------------------+--
diffServAlgDropTable +-------+---------------------+-------------------------+-- | INDEX | diffServAlgDropType | diffServAlgDropSpecific | +-------+---------------------+-------------------------+-- | 1 | alwaysDrop(5) | 0.0 | +-------+---------------------+-------------------------+--
diffServDscpMarkActTable +-------------------------+ | diffServDscpMarkActDscp | +-------------------------+ | DSCP(EF) | | DSCP(AF) | +-------------------------+
diffServDscpMarkActTable +-------------------------+ | diffServDscpMarkActDscp | +-------------------------+ | DSCP(EF) | | DSCP(AF) | +-------------------------+
As one can see in the example, the main elements from which a functional datapath is constructed are duplicated/copied/cloned. That process is needed in order to preserve the policy configuration for reuse at a later time.
如示例中所示,构建功能数据路径的主要元素是复制/复制/克隆的。为了保留策略配置以供以后重用,需要该过程。
It is up to the SNMP agent to keep track of which network interfaces are under policy control and which policy rules are being used. This avoids duplication of policy enforcement. How the agent does this is an implementation issue.
由SNMP代理跟踪哪些网络接口受策略控制以及使用哪些策略规则。这避免了策略执行的重复。代理如何做到这一点是一个实现问题。
One can see that the old functional datapath configurations stay in the MIB module tables. It is up to the SNMP agent implementation to decide whether to delete stale entries or keep them. Garbage collection of stale entries is an implementation issue.
可以看到,旧的功能数据路径配置保留在MIB模块表中。由SNMP代理实现决定是删除陈旧条目还是保留它们。陈旧条目的垃圾回收是一个实现问题。
In this section, the above example is explained by using SNMP communication between the SNMP "manager" and the SNMP "agent".
在本节中,通过在SNMP“管理器”和SNMP“代理”之间使用SNMP通信来解释上述示例。
In order to apply the template to all interfaces that have a role match of "Administrator," the SNMP manager must have a list of the roles of the interface. This means the SNMP manager must do an SNMP-SET for all those interfaces. This is expressed in the following pseudo code function.
为了将模板应用于角色匹配为“管理员”的所有接口,SNMP管理器必须具有接口角色列表。这意味着SNMP管理器必须为所有这些接口执行SNMP-SET。这在下面的伪代码函数中表示。
set_template_if_administrator_interface( <interface_list>, <template_name> ) { template_oid = SNMP-GET("diffServConfigStart.<template_name>"); foreach interface (<ifRole_list>) { if (interface.role == "Administrator") { SNMP-SET("diffServDataPathStart.$interface.1", Oid, template_oid); } } }
set_template_if_administrator_interface( <interface_list>, <template_name> ) { template_oid = SNMP-GET("diffServConfigStart.<template_name>"); foreach interface (<ifRole_list>) { if (interface.role == "Administrator") { SNMP-SET("diffServDataPathStart.$interface.1", Oid, template_oid); } } }
For example, on a system with 3 interfaces, the following list would be known to the manager. The first value indicates the interface number (ifIndex) and the second value is its role.
例如,在一个有3个接口的系统上,经理应该知道以下列表。第一个值表示接口号(ifIndex),第二个值表示其角色。
interface_list IF_LIST = { { 1, ... , "Administrator", ... }, { 2, ... , "User", ... }, { 3, ... , "Administrator", ... } }
interface_list IF_LIST = { { 1, ... , "Administrator", ... }, { 2, ... , "User", ... }, { 3, ... , "Administrator", ... } }
This will result in the communication between a manager and agent of 1 SNMP-GET and 2 SNMP-SETs:
这将导致1个SNMP-GET和2个SNMP集的管理器和代理之间的通信:
- SNMP-GET("diffServConfigStart.3.f.o.o") - SNMP-SET("diffServDataPathStart.1.1", Oid, "diffServActionNext.1") - SNMP-SET("diffServDataPathStart.3.1", Oid, "diffServActionNext.1")
- SNMP-GET(“diffServConfigStart.3.f.o.o”)-SNMP-SET(“diffServDataPathStart.1.1”,Oid,“diffServActionNext.1”)-SNMP-SET(“diffServDataPathStart.3.1”,Oid,“diffServActionNext.1”)
DIFFSERV-CONFIG-MIB DEFINITIONS ::= BEGIN IMPORTS
DIFFSERV-CONFIG-MIB DEFINITIONS ::= BEGIN IMPORTS
OBJECT-TYPE, MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI -- [RFC2578]
SNMPv2 SMI中的对象类型、模块标识、zeroDotZero、mib-2--[RFC2578]
RowStatus, StorageType, RowPointer, DateAndTime FROM SNMPv2-TC -- [RFC2579]
来自SNMPv2 TC的行状态、存储类型、行指针、日期和时间--[RFC2579]
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
SNMPv2配置文件[RFC2580]中的模块合规性、对象组
SnmpAdminString FROM SNMP-FRAMEWORK-MIB; -- [RFC3411]
SNMP-FRAMEWORK-MIB中的snmpadmin安装;--[RFC3411]
diffServConfigMib MODULE-IDENTITY LAST-UPDATED "200401220000Z" -- 22 January 2004 ORGANIZATION "SNMPCONF WG" CONTACT-INFO "SNMPCONF Working Group http://www.ietf.org/html.charters/snmpconf-charter.html WG mailing list: snmpconf@snmp.com
diffServConfigMib模块标识最后一次更新“200401220000Z”-2004年1月22日组织“SNMPCONF工作组”联系方式“SNMPCONF工作组”http://www.ietf.org/html.charters/snmpconf-charter.html 工作组邮件列表:snmpconf@snmp.com
Editors: Harrie Hazewinkel I.Net via Darwin 85 20019 - Settimo Milanese (MI) Italy EMail: harrie@inet.it
编辑:Harrie Hazewinkel I.Net通过Darwin 85 20019-Settimo Milanese(密苏里州)意大利电子邮件:harrie@inet.it
David Partain Ericsson AB P.O. Box 1248 SE-581 12 Linkoping Sweden E-mail: David.Partain@ericsson.com" DESCRIPTION "This MIB module contains differentiated services specific managed objects to perform higher-level configuration management. This MIB allows policies to use 'templates' to instantiate Differentiated Services functional datapath configurations to be assigned (associated with an interface and direction) when a policy is activated.
David Partain Ericsson AB邮箱1248 SE-581 12 Linkoping Sweden电子邮件:David。Partain@ericsson.com“说明”此MIB模块包含区分服务特定的托管对象,用于执行更高级别的配置管理。此MIB允许策略使用“模板”实例化在激活策略时分配(与接口和方向关联)的差异化服务功能数据路径配置。
Copyright (C) The Internet Society (2004). This version of this MIB module is part of RFC 3747; see the RFC itself for full legal notices." REVISION "200401220000Z" -- 22 January 2004 DESCRIPTION "Initial version published as RFC 3747" ::= { mib-2 108 }
Copyright (C) The Internet Society (2004). This version of this MIB module is part of RFC 3747; see the RFC itself for full legal notices." REVISION "200401220000Z" -- 22 January 2004 DESCRIPTION "Initial version published as RFC 3747" ::= { mib-2 108 }
diffServConfigMIBObjects OBJECT IDENTIFIER ::= { diffServConfigMib 1 } diffServConfigMIBConformance OBJECT IDENTIFIER ::= { diffServConfigMib 2 }
diffServConfigMIBObjects OBJECT IDENTIFIER ::= { diffServConfigMib 1 } diffServConfigMIBConformance OBJECT IDENTIFIER ::= { diffServConfigMib 2 }
-- -- The Differentiated Services configuration objects --
----区分服务配置对象--
diffServConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table which defines the various per-hop-behaviors for which the system has default 'templates'." ::= { diffServConfigMIBObjects 2 }
diffServConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table which defines the various per-hop-behaviors for which the system has default 'templates'." ::= { diffServConfigMIBObjects 2 }
diffServConfigEntry OBJECT-TYPE SYNTAX DiffServConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry defining a per-hop-behavior. Each entry in this table combines the various parameters (entries) into a specific per-hop-behavior. Entries in this table might be defined by a vendor (pre-configured) or defined by a management application." INDEX { diffServConfigId } ::= { diffServConfigTable 1 }
diffServConfigEntry OBJECT-TYPE SYNTAX DiffServConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry defining a per-hop-behavior. Each entry in this table combines the various parameters (entries) into a specific per-hop-behavior. Entries in this table might be defined by a vendor (pre-configured) or defined by a management application." INDEX { diffServConfigId } ::= { diffServConfigTable 1 }
DiffServConfigEntry ::= SEQUENCE { diffServConfigId SnmpAdminString, diffServConfigDescr SnmpAdminString, diffServConfigOwner SnmpAdminString, diffServConfigLastChange DateAndTime, diffServConfigStart RowPointer, diffServConfigStorage StorageType, diffServConfigStatus RowStatus }
DiffServConfigEntry ::= SEQUENCE { diffServConfigId SnmpAdminString, diffServConfigDescr SnmpAdminString, diffServConfigOwner SnmpAdminString, diffServConfigLastChange DateAndTime, diffServConfigStart RowPointer, diffServConfigStorage StorageType, diffServConfigStatus RowStatus }
diffServConfigId OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..116)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique id for the per-hop-behavior policy for at least the SNMP agent. For ease of administration the value may be unique within an administrative domain, but this is not required.
diffServConfigId对象类型语法SnmpAdminString(大小(1..116))MAX-ACCESS不可访问状态当前描述“至少SNMP代理的每跳行为策略的唯一id。为便于管理,该值在管理域中可能是唯一的,但这不是必需的。
The range of up to 116 octets is chosen to stay within the SMI limit of 128 sub-identifiers in an object identifier." ::= { diffServConfigEntry 1 }
The range of up to 116 octets is chosen to stay within the SMI limit of 128 sub-identifiers in an object identifier." ::= { diffServConfigEntry 1 }
diffServConfigDescr OBJECT-TYPE
diffServConfigDescr对象类型
SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "A human-readable description to identify this defined per-hop-behavior. Note that this is an SnmpAdminString, which permits UTF-8 strings. An administratively assigned identifier for a template that would be unique within an administrative domain. It is up to the management applications to agree how these are assigned within the administrative domain. Once a description, such as 'EF' is assigned, that has a certain set of parameters that achieve 'EF' from box to box. Management application code or script code can then scan the table to find the proper template and then assign it." ::= { diffServConfigEntry 2 }
SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "A human-readable description to identify this defined per-hop-behavior. Note that this is an SnmpAdminString, which permits UTF-8 strings. An administratively assigned identifier for a template that would be unique within an administrative domain. It is up to the management applications to agree how these are assigned within the administrative domain. Once a description, such as 'EF' is assigned, that has a certain set of parameters that achieve 'EF' from box to box. Management application code or script code can then scan the table to find the proper template and then assign it." ::= { diffServConfigEntry 2 }
diffServConfigOwner OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The owner who created this entry." ::= { diffServConfigEntry 3 }
diffServConfigOwner OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The owner who created this entry." ::= { diffServConfigEntry 3 }
diffServConfigLastChange OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when this entry was last changed." ::= { diffServConfigEntry 4 }
diffServConfigLastChange OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time when this entry was last changed." ::= { diffServConfigEntry 4 }
diffServConfigStart OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The pointer to a functional datapath configuration template as set up in the DIFFSERV-MIB. This RowPointer should point to an instance of one of: diffServClfrEntry diffServMeterEntry diffServActionEntry diffServAlgDropEntry diffServQEntry
diffServConfigStart对象类型语法RowPointer MAX-ACCESS read create STATUS current DESCRIPTION“指向在DIFFSERV-MIB中设置的功能数据路径配置模板的指针。此RowPointer应指向以下之一的实例:diffServClfrEntry diffServMeterEntry diffServActionEntry DiffServalgProperty diffServQEntry
A value of zeroDotZero in this attribute indicates no further Diffserv treatment is performed on traffic of this functional datapath. This also means that the template described by this row is not defined.
此属性中的值zeroDotZero表示不对此功能数据路径的通信量执行进一步的Diffserv处理。这也意味着未定义此行描述的模板。
If the row pointed to does not exist, the treatment is as if this attribute contains a value of zeroDotZero." REFERENCE "Differentiated Services MIB module" DEFVAL { zeroDotZero } ::= { diffServConfigEntry 5 }
If the row pointed to does not exist, the treatment is as if this attribute contains a value of zeroDotZero." REFERENCE "Differentiated Services MIB module" DEFVAL { zeroDotZero } ::= { diffServConfigEntry 5 }
diffServConfigStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of storage used for this row.
diffServConfigStorage对象类型语法StorageType MAX-ACCESS读取创建状态当前描述“用于此行的存储类型。
Since an entry in this table serves as a starting point for a configuration, it is recommended that all entries comprising the configuration started by diffServConfigStart follow the storage type of this entry. Otherwise, after agent reboots a configuration may differ. It may very well be that the agent is not capable of detecting such changes and therefore, the management application should verify the correct configuration after a reboot. Rows with a StorageType of 'permanent' do not need to allow write access to any of the columnar objects in that row." DEFVAL { nonVolatile } ::= { diffServConfigEntry 6 }
Since an entry in this table serves as a starting point for a configuration, it is recommended that all entries comprising the configuration started by diffServConfigStart follow the storage type of this entry. Otherwise, after agent reboots a configuration may differ. It may very well be that the agent is not capable of detecting such changes and therefore, the management application should verify the correct configuration after a reboot. Rows with a StorageType of 'permanent' do not need to allow write access to any of the columnar objects in that row." DEFVAL { nonVolatile } ::= { diffServConfigEntry 6 }
diffServConfigStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "RowStatus object used for creation and deletion of rows in this table. All writable objects in this row may be modified at any time." DEFVAL { notInService } ::= { diffServConfigEntry 7 }
diffServConfigStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "RowStatus object used for creation and deletion of rows in this table. All writable objects in this row may be modified at any time." DEFVAL { notInService } ::= { diffServConfigEntry 7 }
-- -- MIB Compliance statements. --
----MIB合规性声明--
diffServConfigMIBCompliances OBJECT IDENTIFIER ::= { diffServConfigMIBConformance 1 } diffServConfigMIBGroups OBJECT IDENTIFIER ::= { diffServConfigMIBConformance 2 }
diffServConfigMIBCompliances OBJECT IDENTIFIER ::= { diffServConfigMIBConformance 1 } diffServConfigMIBGroups OBJECT IDENTIFIER ::= { diffServConfigMIBConformance 2 }
diffServConfigMIBFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The full compliance for this MIB module.
diffServConfigMIBFullCompliance MODULE-COMPLIANCE状态当前描述“此MIB模块的完全符合性。
For this compliance level the 'diffServMIBFullCompliance' must be met, since this MIB module depends on it in order to provide the configuration entries. " MODULE -- This module MANDATORY-GROUPS { diffServConfigMIBConfigGroup }
对于此符合性级别,必须满足“diffServMIBFullCompliance”,因为此MIB模块依赖于它来提供配置条目。“模块--此模块为强制组{diffServConfigMIBConfigGroup}”
OBJECT diffServConfigStatus SYNTAX RowStatus { active(1) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notInService is not required."
OBJECT diffServConfigStatus SYNTAX RowStatus { active(1) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notInService is not required."
::= { diffServConfigMIBCompliances 1 }
::= { diffServConfigMIBCompliances 1 }
diffServConfigMIBConfigGroup OBJECT-GROUP OBJECTS { diffServConfigDescr, diffServConfigOwner, diffServConfigLastChange, diffServConfigStart, diffServConfigStorage, diffServConfigStatus } STATUS current DESCRIPTION "The per-hop-behavior Group defines the MIB objects that describe the configuration template for the per-hop-behavior." ::= { diffServConfigMIBGroups 1 } END
diffServConfigMIBConfigGroup OBJECT-GROUP OBJECTS { diffServConfigDescr, diffServConfigOwner, diffServConfigLastChange, diffServConfigStart, diffServConfigStorage, diffServConfigStatus } STATUS current DESCRIPTION "The per-hop-behavior Group defines the MIB objects that describe the configuration template for the per-hop-behavior." ::= { diffServConfigMIBGroups 1 } END
There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. These managed objects are:
此MIB模块中定义了许多管理对象,其MAX-ACCESS子句为read-write和/或read-create。在某些网络环境中,此类对象可能被视为敏感或易受攻击。在没有适当保护的非安全环境中支持SET操作可能会对网络操作产生负面影响。这些托管对象是:
- The diffServConfigDescr, diffServConfigOwner, and diffServConfigStatus are not security sensitive since these three objects do not affect any direct operational behavior of a diffserv capable device.
- diffServConfigDescr、diffServConfigOwner和diffServConfigStatus对安全不敏感,因为这三个对象不会影响支持diffserv的设备的任何直接操作行为。
- Unauthorized change of the diffServConfigStart could lead to a different configuration, and the 'changed' configuration could lead to different traffic treatment for the diffserv capable device than desired.
- 未经授权更改diffServConfigStart可能会导致不同的配置,“更改”的配置可能会导致对支持diffserv的设备进行不同于预期的流量处理。
- Unauthorized change of the diffServConfigStorage could lead to unknown behavior of the diffserv capable device after a reboot of the SNMP agent. This may be caused by 'not having saved changes of the configuration' or unavailable configurations.
- 在SNMP代理重新启动后,未经授权更改diffServConfigStorage可能会导致支持diffserv的设备出现未知行为。这可能是由于“未保存配置更改”或配置不可用造成的。
In addition, the managed objects of the DIFFSERV-MIB are also security sensitive, since unauthorized changes may cause configuration changes. For more detail, refer to [RFC3289].
此外,DIFFSERV-MIB的托管对象也是安全敏感的,因为未经授权的更改可能会导致配置更改。有关更多详细信息,请参阅[RFC3289]。
Allowing read access to objects in this MIB module is generally not considered sensitive, as read access only provides information that a template exists. This is due to the fact that the managed objects that actually instantiate the template are in the DIFFSERV-MIB [RFC3289]. However, in environments where the template description (diffServConfigDescr) or owner (diffServConfigOwner) is considered sensitive information, appropriate access control should be exercised for these objects.
允许对此MIB模块中的对象进行读访问通常被认为是不敏感的,因为读访问只提供模板存在的信息。这是因为实际实例化模板的托管对象位于DIFFSERV-MIB[RFC3289]中。但是,在模板描述(diffServConfigDescr)或所有者(diffServConfigOwner)被视为敏感信息的环境中,应该对这些对象执行适当的访问控制。
SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.
SNMPv3之前的SNMP版本未包含足够的安全性。即使网络本身是安全的(例如通过使用IPSec),也无法控制安全网络上的谁可以访问和获取/设置(读取/更改/创建/删除)此MIB模块中的对象。
It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).
建议实施者考虑SNMPv3框架所提供的安全特性(参见[RCFC310],第8节),包括对SNMPv3加密机制的完全支持(用于身份验证和隐私)。
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, deployment of SNMPv3 with cryptographic security enabled is RECOMMENDED. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to GET or SET (change/create/delete) them.
此外,不建议部署SNMPv3之前的SNMP版本。相反,建议在启用加密安全的情况下部署SNMPv3。然后,客户/运营商有责任确保授予访问此MIB模块实例权限的SNMP实体正确配置为仅授予具有获取或设置(更改/创建/删除)对象的合法权限的主体(用户)访问对象。
The editors gratefully acknowledge the significant contributions to this work made by several members of both the SNMPCONF and DiffServ working groups.
编辑们非常感谢SNMPCONF和DiffServ工作组的几位成员对这项工作做出的重大贡献。
[RFC2578] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2578]McCloghrie,K.,Perkins,D.和J.Schoenwaeld,“管理信息的结构版本2(SMIv2)”,STD 58,RFC 2578,1999年4月。
[RFC2579] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2579]McCloghrie,K.,Perkins,D.和J.Schoenwaeld,“SMIv2的文本约定”,STD 58,RFC 2579,1999年4月。
[RFC2580] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[RFC2580]McCloghrie,K.,Perkins,D.和J.Schoenwaeld,“SMIv2的一致性声明”,STD 58,RFC 25801999年4月。
[RFC3289] Baker, F., Chan, K. and A. Smith, "Management Information Base for the Differentiated Services Architecture", RFC 3289, May 2002.
[RFC3289]Baker,F.,Chan,K.和A.Smith,“差异化服务体系结构的管理信息库”,RFC 3289,2002年5月。
[RFC3411] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002.
[RFC3411]Harrington,D.,Presohn,R.和B.Wijnen,“描述简单网络管理协议(SNMP)管理框架的体系结构”,STD 62,RFC 3411,2002年12月。
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002.
[RFC3410]Case,J.,Mundy,R.,Partain,D.和B.Stewart,“互联网标准管理框架的介绍和适用性声明”,RFC 34102002年12月。
[RFC2474] Nichols, K., Blake, S., Baker, F. and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998.
[RFC2474]Nichols,K.,Blake,S.,Baker,F.和D.Black,“IPv4和IPv6标头中区分服务字段(DS字段)的定义”,RFC 2474,1998年12月。
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998.
[RFC2475]Blake,S.,Black,D.,Carlson,M.,Davies,E.,Wang,Z.和W.Weiss,“差异化服务架构”,RFC 24751998年12月。
[RFC3512] MacFaden, M., Partain, D., Saperia, J. and W. Tackabury, "Configuring Networks and Devices with Simple Network Management Protocol (SNMP)", RFC 3512, April 2003.
[RFC3512]MacFaden,M.,Partain,D.,Saperia,J.和W.Tackabury,“使用简单网络管理协议(SNMP)配置网络和设备”,RFC 3512,2003年4月。
[PMMIBDR] Waldbusser, S., Saperia, J. and T. Hongal, "Policy-based Management MIB", Work in Progress.
[PMMIBDR]Waldbusser,S.,Saperia,J.和T.Hongal,“基于策略的管理MIB”,正在进行的工作。
Harrie Hazewinkel I.Net via Darwin 85 20019 - Settimo Milanese (MI) Italy
Harrie Hazewinkel I.Net途经达尔文85 20019-意大利密苏里州塞蒂莫·米兰尼斯
EMail: harrie@inet.it
EMail: harrie@inet.it
David Partain Ericsson AB P.O. Box 1248 SE-581 12 Linkoping Sweden
David Partain Ericsson AB邮政信箱1248 SE-581 12 Linkoping瑞典
EMail: David.Partain@ericsson.com
EMail: David.Partain@ericsson.com
Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78 and except as set forth therein, the authors retain all their rights.
版权所有(C)互联网协会(2004年)。本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
本文件及其包含的信息是按“原样”提供的,贡献者、他/她所代表或赞助的组织(如有)、互联网协会和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
Intellectual Property
知识产权
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights 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; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。
Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.
Acknowledgement
确认
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC编辑功能的资金目前由互联网协会提供。