Network Working Group                                          T. Nadeau
Request for Comments: 3814                           Cisco Systems, Inc.
Category: Standards Track                                  C. Srinivasan
                                                          Bloomberg L.P.
                                                          A. Viswanathan
                                                  Force10 Networks, Inc.
                                                               June 2004
        
Network Working Group                                          T. Nadeau
Request for Comments: 3814                           Cisco Systems, Inc.
Category: Standards Track                                  C. Srinivasan
                                                          Bloomberg L.P.
                                                          A. Viswanathan
                                                  Force10 Networks, Inc.
                                                               June 2004
        

Multiprotocol Label Switching (MPLS) Forwarding Equivalence Class To Next Hop Label Forwarding Entry (FEC-To-NHLFE) Management Information Base (MIB)

多协议标签交换(MPLS)转发等价类到下一跳标签转发条目(FEC到NHLFE)管理信息库(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).

版权所有(C)互联网协会(2004年)。

Abstract

摘要

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for defining, configuring, and monitoring Forwarding Equivalence Class (FEC) to Next Hop Label Forwarding Entry (NHLFE) mappings and corresponding actions for use with Multiprotocol Label Switching (MPLS).

此备忘录定义了管理信息库(MIB)的一部分,用于Internet社区中的网络管理协议。特别是,它描述了用于定义、配置和监视转发等价类(FEC)到下一跳标签转发条目(NHLFE)映射的托管对象,以及用于多协议标签交换(MPLS)的相应操作。

Table of Contents

目录

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology. . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Conventions Used In This Document. . . . . . . . . . . . . . .  3
   4.  The Internet-Standard Management Framework . . . . . . . . . .  3
   5.  Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
       5.1.  mplsFTNTable . . . . . . . . . . . . . . . . . . . . . .  4
             5.1.1.  Advantages of Address Ranges Over CIDR Prefixes.  4
       5.2.  mplsFTNMapTable. . . . . . . . . . . . . . . . . . . . .  5
             5.2.1.  Indexing Requirements. . . . . . . . . . . . . .  5
             5.2.2.  How the Current Indexing Works . . . . . . . . .  5
       5.3.  mplsFTNPerfTable . . . . . . . . . . . . . . . . . . . .  7
   6.  Avoiding Retrieval-Modification Interactions . . . . . . . . .  7
        
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology. . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Conventions Used In This Document. . . . . . . . . . . . . . .  3
   4.  The Internet-Standard Management Framework . . . . . . . . . .  3
   5.  Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
       5.1.  mplsFTNTable . . . . . . . . . . . . . . . . . . . . . .  4
             5.1.1.  Advantages of Address Ranges Over CIDR Prefixes.  4
       5.2.  mplsFTNMapTable. . . . . . . . . . . . . . . . . . . . .  5
             5.2.1.  Indexing Requirements. . . . . . . . . . . . . .  5
             5.2.2.  How the Current Indexing Works . . . . . . . . .  5
       5.3.  mplsFTNPerfTable . . . . . . . . . . . . . . . . . . . .  7
   6.  Avoiding Retrieval-Modification Interactions . . . . . . . . .  7
        
   7.  Example Illustrating MIB Module Components . . . . . . . . . .  8
       7.1.  Sample FTN Rules . . . . . . . . . . . . . . . . . . . .  8
       7.2.  Creating FTN Entries and Applying them to Interfaces . .  9
       7.3.  Mapping an FTN Entry to Multiple Interfaces. . . . . . . 10
       7.4.  Inserting an Entry Into Existing List. . . . . . . . . . 11
       7.5.  Pictorial Tabular Relationship . . . . . . . . . . . . . 13
       7.6.  Deleting an Entry. . . . . . . . . . . . . . . . . . . . 14
   8.  The Use of RowPointer. . . . . . . . . . . . . . . . . . . . . 16
   9.  MPLS-FTN-STD-MIB Definitions . . . . . . . . . . . . . . . . . 16
   10. Security Considerations. . . . . . . . . . . . . . . . . . . . 38
   11. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 39
       11.1. IANA Considerations for MPLS-FTN-STD-MIB . . . . . . . . 39
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39
       12.1. Normative References . . . . . . . . . . . . . . . . . . 39
       12.2. Informative References . . . . . . . . . . . . . . . . . 40
   13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 41
   14. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 41
   15. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 42
        
   7.  Example Illustrating MIB Module Components . . . . . . . . . .  8
       7.1.  Sample FTN Rules . . . . . . . . . . . . . . . . . . . .  8
       7.2.  Creating FTN Entries and Applying them to Interfaces . .  9
       7.3.  Mapping an FTN Entry to Multiple Interfaces. . . . . . . 10
       7.4.  Inserting an Entry Into Existing List. . . . . . . . . . 11
       7.5.  Pictorial Tabular Relationship . . . . . . . . . . . . . 13
       7.6.  Deleting an Entry. . . . . . . . . . . . . . . . . . . . 14
   8.  The Use of RowPointer. . . . . . . . . . . . . . . . . . . . . 16
   9.  MPLS-FTN-STD-MIB Definitions . . . . . . . . . . . . . . . . . 16
   10. Security Considerations. . . . . . . . . . . . . . . . . . . . 38
   11. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 39
       11.1. IANA Considerations for MPLS-FTN-STD-MIB . . . . . . . . 39
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39
       12.1. Normative References . . . . . . . . . . . . . . . . . . 39
       12.2. Informative References . . . . . . . . . . . . . . . . . 40
   13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 41
   14. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 41
   15. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 42
        
1. Introduction
1. 介绍

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for specifying Forwarding Equivalence Class (FEC) to Next Hop Label Forwarding Entry (NHLFE) mappings and corresponding actions for Multiprotocol Label Switching (MPLS).

此备忘录定义了管理信息库(MIB)的一部分,用于Internet社区中的网络管理协议。特别是,它描述了用于指定转发等价类(FEC)到下一跳标签转发条目(NHLFE)映射的托管对象,以及多协议标签交换(MPLS)的相应操作。

At the ingress of an MPLS network, packets entering the MPLS domain are assigned to an FEC. Those packets belonging to an FEC are associated with an NHLFE (i.e., MPLS label) via the FEC-to-NHLFE (FTN) mapping [RFC3031]. This relationship defines how ingress LSRs will impose MPLS labels onto incoming packets. It also defines how egress LSRs will decapsulate the MPLS shim header from MPLS packets.

在MPLS网络的入口,进入MPLS域的分组被分配给FEC。属于FEC的那些分组通过FEC到NHLFE(FTN)映射[RFC3031]与NHLFE(即MPLS标签)相关联。此关系定义了入口LSR将如何将MPLS标签施加到传入数据包上。它还定义了出口LSR将如何从MPLS数据包中解除MPLS填充头的封装。

Conceptually, some of the FTN table functionality could be implemented using the Forwarding Information Base (FIB) to map all packets destined for a prefix to an LSP. However, this mapping is coarse in nature.

从概念上讲,一些FTN表功能可以使用转发信息库(FIB)来实现,以将目的地为前缀的所有分组映射到LSP。然而,这种映射本质上是粗糙的。

Similar functionality is already being used in other contexts such as security filters, access filters, and RSVP flow identification. All of these require various combinations of matching based on IP header and upper-layer header information to identify packets for a particular treatment. When packets match a particular rule, a corresponding action is executed on those packets. For example, two popular actions to take when a successful match is identified are allowing the packet to be forwarded or to discard it. However, other

类似的功能已经在其他上下文中使用,例如安全过滤器、访问过滤器和RSVP流标识。所有这些都需要基于IP报头和上层报头信息的各种匹配组合来识别用于特定处理的数据包。当数据包与特定规则匹配时,将对这些数据包执行相应的操作。例如,识别成功匹配时要采取的两种常用操作是允许转发数据包或丢弃数据包。然而,其他

actions are possible, such as modifying the TOS byte, or redirecting a packet to a particular outgoing interface. In the context of MPLS, the possible actions performed by an NHLFE are to redirect packets to either an MPLS Label Switched Path (LSP) or an MPLS Traffic Engineered (TE) Tunnel.

操作是可能的,例如修改TOS字节,或将数据包重定向到特定的传出接口。在MPLS的上下文中,NHLFE执行的可能动作是将分组重定向到MPLS标签交换路径(LSP)或MPLS流量工程(TE)隧道。

This document attempts to consolidate the various matching requirements and associated action options needed for MPLS into a single specification.

本文档试图将MPLS所需的各种匹配需求和相关操作选项整合到一个规范中。

2. Terminology
2. 术语

Although all of the terminology used in this document is either covered in the MPLS Architecture [RFC3031] or in the SNMP Architecture [RFC3411], it is informational to define some immediately pertinent acronyms/terminology here.

尽管本文档中使用的所有术语都包含在MPLS体系结构[RFC3031]或SNMP体系结构[RFC3411]中,但在此定义一些直接相关的首字母缩略词/术语具有参考意义。

MPLS Multiprotocol Label Switching FEC Forwarding Equivalence Class NHLFE Next-Hop Label Forwarding Entry FTN FEC-to-NHLFE MIB Management Information Base

MPLS多协议标签交换FEC转发等价类NHLFE下一跳标签转发条目FTN FEC到NHLFE MIB管理信息库

3. Conventions Used In This Document
3. 本文件中使用的公约

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照BCP 14、RFC 2119[RFC2119]中的说明进行解释。

4. The Internet-Standard Management Framework
4. 因特网标准管理框架

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]所述。

5. Outline
5. 概述

This MIB module resides on any LSR which does the FEC-to-NHLFE mapping in order to map traffic into the MPLS domain. This MIB module consists of three tables:

此MIB模块驻留在任何LSR上,该LSR进行FEC到NHLFE映射,以便将流量映射到MPLS域。此MIB模块由三个表组成:

- mplsFTNTable defines the rule base against which incoming packets are matched and defines the actions to be taken on matching packets;

- MPLSTNTABLE定义匹配传入数据包的规则库,并定义对匹配数据包采取的操作;

- mplsFTNMapTable defines the application of these rules to specific interfaces;

- MPLSTNMAPTABLE定义了这些规则对特定接口的应用;

- mplsFTNPerfTable provides performance counters for every entry in mplsFTNTable that is active on one or more interfaces, on a per-interface basis.

- MPLSTNPerfTable为MPLSTNTABLE中在一个或多个接口上处于活动状态的每个条目提供性能计数器(基于每个接口)。

5.1. mplsFTNTable
5.1. MPLSTNTABLE

This table allows FEC to NHLFE mappings to be specified. Each entry in this table (also referred to as an "FTN entry" in this document) defines a rule to be applied to incoming packets (on interfaces that the entry is activated on using mplsFTNMapTable as explained in Section 5.2) and an action to be taken on matching packets. mplsFTNTable allows 6-tuple matching rules based on one or more of source address range, destination address range, source port range, destination port range, IPv4 Protocol field [RFC791] or IPv6 next-header field [RFC2460], and the DiffServ Code Point (DSCP, [RFC2474]) to be specified. Packet redirection is based on an action pointer which points either at an mplsXCEntry in MPLS-LSR-STD-MIB [RFC3813] when the NHLFE is a non-TE LSP, or at an mplsTunnelEntry in MPLS-TE-STD-MIB [RFC3812] when the NHLFE is the origin of a TE tunnel.

此表允许指定FEC到NHLFE的映射。此表中的每个条目(在本文档中也称为“FTN条目”)定义了应用于传入数据包的规则(如第5.2节所述,在使用MPLSTNMAPTABLE激活条目的接口上)以及对匹配数据包采取的操作。MPLSTNTABLE允许基于一个或多个源地址范围、目标地址范围、源端口范围、目标端口范围、IPv4协议字段[RFC791]或IPv6下一报头字段[RFC2460]以及要指定的区分服务代码点(DSCP[RFC2474])的六元组匹配规则。数据包重定向基于一个操作指针,当NHLFE是非TE LSP时,该指针指向MPLS-LSR-STD-MIB[RFC3813]中的mplsXCEntry,或者当NHLFE是TE隧道的原点时,该指针指向MPLS-TE-STD-MIB[RFC3812]中的mplsXCEntry。

5.1.1. Advantages of Address Ranges Over CIDR Prefixes
5.1.1. 地址范围相对于CIDR前缀的优势

One possible way of specifying a set of addresses as part of an FTN rule is to use CIDR prefixes [RFC1519]. We have instead chosen to allow FTN rules to be expressed in terms of address ranges in mplsFTNTable because they have the following advantages.

指定一组地址作为FTN规则的一部分的一种可能方法是使用CIDR前缀[RFC1519]。我们选择允许FTN规则在MPLSTNTABLE中以地址范围表示,因为它们具有以下优点。

- The number of CIDR prefixes needed to represent some address ranges is very large. For example, we need the following 6 CIDR prefixes to represent the range of addresses [192.0.2.0- 192.0.2.62]: 192.0.2.0/27, 192.0.2.32/28, 192.0.2.48/29, 192.0.2.56/30, 192.0.2.60/31, and 192.0.2.62/32. A rule such as "redirect all packets with a source address in the range [192.0.2.0-192.0.2.62] and destination address in the range [192.0.2.128-192.0.2.190] to tunnel #2" would require the creation

- 表示某些地址范围所需的CIDR前缀数量非常大。例如,我们需要以下6个CIDR前缀来表示地址范围[192.0.2.0-192.0.2.62]:192.0.2.0/27、192.0.2.32/28、192.0.2.48/29、192.0.2.56/30、192.0.2.60/31和192.0.2.62/32。“将源地址在[192.0.2.0-192.0.2.62]范围内且目标地址在[192.0.2.128-192.0.2.190]范围内的所有数据包重定向到隧道#2”等规则需要创建

of 36 conceptual rows in mplsFTNTable if the rules were expressed as CIDR prefixes, but only a single conceptual row would be required if we used address ranges instead.

如果将规则表示为CIDR前缀,则MPLSTNTABLE中的36个概念行中的一个概念行,但如果改用地址范围,则只需要一个概念行。

- Every CIDR prefix can be expressed as a single equivalent address range.

- 每个CIDR前缀都可以表示为单个等效地址范围。

- A particular implementation is free to translate the address ranges specified in mplsFTNTable internally to equivalent CIDR prefixes, if it so chooses. However, given that powerful range matching algorithms are available, many implementations may prefer to implement these directly.

- 一个特定的实现可以自由地将mplsFTNTable中指定的地址范围内部转换为等效的CIDR前缀(如果它选择的话)。然而,考虑到强大的范围匹配算法可用,许多实现可能更倾向于直接实现这些算法。

5.2. mplsFTNMapTable
5.2. 不可接受的

This table provides the capability to activate or map FTN entries defined in mplsFTNTable to specific interfaces in the system. Packets received on an interface are compared against FTN entries in the order in which entries are applied to the interface.

此表提供了将MPLSTNTABLE中定义的FTN条目激活或映射到系统中特定接口的功能。在接口上接收的数据包按照条目应用于接口的顺序与FTN条目进行比较。

5.2.1. Indexing Requirements
5.2.1. 索引要求

The indexing structure of mplsFTNMapTable was designed to satisfy the following requirements.

MPLSTNMAPTABLE的索引结构旨在满足以下要求。

- We must be able to insert a new entry into an existing list of entries on an interface with a single SET operation. Thus, we must be able to support an insertion operation that does not require manual reindexing of existing entries.

- 我们必须能够使用单个集合操作将新条目插入到接口上的现有条目列表中。因此,我们必须能够支持不需要手动重新索引现有条目的插入操作。

- A management application must be able to traverse entries that have been applied to a particular interface in the order of application. The number of (non-bulk) retrieval operations to obtain this information as dictated by the particular indexing scheme that we choose for mplsFTNMapTable must be no more than that dictated by any other indexing scheme. For example, the indexing scheme must not force the Network Management Application to retrieve all the entries in the table and sift through them offline to obtain this information.

- 管理应用程序必须能够按照应用程序的顺序遍历已应用于特定接口的条目。根据我们为MPLSTNAMAPTABLE选择的特定索引方案,获取此信息的(非批量)检索操作的数量不得超过任何其他索引方案所指定的数量。例如,索引方案不得强制网络管理应用程序检索表中的所有条目并脱机筛选以获取此信息。

5.2.2. How the Current Indexing Works
5.2.2. 当前索引的工作原理

The natural data-structure for implementing constant time insertions between two existing entries and for supporting in-order traversals is a linked-list.

实现两个现有条目之间的固定时间插入和支持顺序遍历的自然数据结构是链表。

The chosen indexing structure of mplsFTNMapTable makes the entries in the table behave like items in a linked-list. Each conceptual row

选择的MPLSTNMAPTABLE索引结构使表中的条目的行为类似于链表中的项。每个概念行

has an object, mplsFTNMapPrevIndex, which is a pointer to the previous entry that is applied to a particular interface. This object is self-adjusting, i.e., its value is automatically adjusted by the agent, if necessary, after an insertion or deletion operation.

具有一个对象MPLSTNAMPPREVINDEX,该对象是指向应用于特定接口的上一个条目的指针。此对象是自调整的,即在插入或删除操作后,如果需要,代理会自动调整其值。

This indexing scheme provides a mechanism to 'insert' an FTN entry between two existing entries already applied on an interface. This is done by specifying the entry after which a new entry should be inserted in mplsFTNMapPrevIndex.

此索引方案提供了一种机制,可在接口上已应用的两个现有条目之间“插入”FTN条目。这是通过指定条目来完成的,在该条目之后,应在MPLSTNAMPPREVINDEX中插入新条目。

Using this linked-list structure, one can retrieve FTN entries in the order of application on a per-interface basis as follows:

使用此链表结构,可以按应用程序的顺序在每个接口的基础上检索FTN条目,如下所示:

- To determine the first FTN entry on an interface with index ifIndex, perform a GETNEXT retrieval operation on mplsFTNMapRowStatus.ifIndex.0.0; the returned object, if one exists, is (say) mplsFTNMapRowStatus.ifIndex.0.n (mplsFTNMapRowStatus is the first accessible columnar object in the conceptual row). Then, the index of the first FTN entry applied on this interface is n.

- 要确定索引为ifIndex的接口上的第一个FTN条目,请在MPLSTNAMAPROWSTATUS.ifIndex.0.0上执行GETNEXT检索操作;返回的对象(如果存在)是(比如)MPLSTNAMAPROWSTATUS.ifIndex.0.n(MPLSTNAMAPROWSTATUS是概念行中第一个可访问的列对象)。然后,该接口上应用的第一个FTN条目的索引为n。

- To determine the FTN entry applied to an interface after the one indexed by n, perform a GETNEXT retrieval operation on mplsFTNMapRowStatus.ifIndex.n.0. If such an entry exists, the returned object would be of the form mplsFTNMapRowStatus.ifIndex.n.m. Then, the index of the next FTN entry applied on this interface is m.

- 要确定应用于由n索引的接口之后的FTN条目,请在MPLSTNAMAPROWSTATUS.ifIndex.n.0上执行GETNEXT检索操作。如果存在这样一个条目,则返回的对象的格式为mplstftnmaprowstatus.ifIndex.n.m。然后,此接口上应用的下一个FTN条目的索引为m。

- If the FTN entry indexed by n is the last entry applied to the interface with index ifIndex, then the object returned would either be:

- 如果由n索引的FTN条目是应用于具有索引ifIndex的接口的最后一个条目,则返回的对象可能是:

1. mplsFTNMapRowStatus.ifIndexNext.0.k, where ifIndexNext is the index of the next interface in ifTable to which an FTN entry has been applied, in which case k is the index of the first FTN entry applied to the interface with index ifIndexNext;

1. MPLSTNAMAPROWSTATUS.ifIndexNext.0.k,其中ifIndexNext是已应用FTN条目的ifTable中的下一个接口的索引,在这种情况下,k是应用于具有索引ifIndexNext的接口的第一个FTN条目的索引;

or:

或:

2. mplsFTNMapStorageType.firstIfIndex.0.p, if there are no more entries in mplsFTNMapTable, where firstIfIndex is the first entry in ifTable to which an FTN entry has been mapped.

2. 如果MPLSTNMAPTORAGETYPE.FIRSTINDEX.0.p中没有更多条目,其中FIRSTINDEX是FTN条目映射到的ifTable中的第一个条目。

The above steps can be used to retrieve all the applied entries on a per-interface basis in application order. Note that the number of retrieval operations is equal to the number of applied FTN entries (i.e., the minimum number of GETNEXT operations needed using any indexing scheme).

以上步骤可用于按应用程序顺序检索每个接口上的所有应用项。请注意,检索操作的数量等于应用的FTN条目的数量(即,使用任何索引方案所需的GETNEXT操作的最小数量)。

Also note that we could not have created this linked-list structure using a 'next' pointer object instead of the 'previous' pointer object that we chose because this would not allow us to determine the first FTN entry that has been mapped to a specific interface using a single SNMP (non-bulk) retrieval operation.

还请注意,我们无法使用“下一个”指针对象而不是我们选择的“上一个”指针对象创建此链表结构,因为这将不允许我们使用单个SNMP(非批量)检索操作确定已映射到特定接口的第一个FTN条目。

The use of this indexing structure is further illustrated using an example in Section 7.

使用第7节中的示例进一步说明了该索引结构的使用。

5.3. mplsFTNPerfTable
5.3. mplstftnperformable

If an FTN entry has been applied to one or more interfaces, this table provides high-capacity performance counters to monitor each such FTN entry on a per-interface basis.

如果一个FTN条目已应用于一个或多个接口,则此表提供了高容量性能计数器,用于根据每个接口监控每个此类FTN条目。

6. Avoiding Retrieval-Modification Interactions
6. 避免检索修改交互

The problem of an ongoing traversal or retrieval operation on an SNMP table being affected by a concurrent modification operation on that table is not unique to this MIB module. However, it is useful to note that a cautious application can keep track of the state of the modifiable tables in this MIB module using the objects mplsFTNTableLastChanged and mplsFTNMapTableLastChanged.

SNMP表上正在进行的遍历或检索操作受到该表上并发修改操作影响的问题并非此MIB模块独有。但是,值得注意的是,谨慎的应用程序可以使用对象mplsFTNTableLastChanged和mplsftnmatablelastchanged跟踪此MIB模块中可修改表的状态。

For instance, before performing a traversal of mplsFTNMapTable, the application should retrieve the value of mplsFTNMapTableLastChanged. Each subsequent GETNEXT operation on the table should include this object as well. For example, GETNEXT(mplsFTNMapTableLastChanged.0, mplsFTNMapRowStatus.ifIndex.n.0) can be used to:

例如,在执行MPLSTNAPTABLE的遍历之前,应用程序应该检索MPLSTNAPTABLELASTCHANGED的值。表上的每个后续GETNEXT操作也应包括此对象。例如,GETNEXT(MPLSTNAMAPTABLELASTCHANGED.0、MPLSTNAMAPROWSTATUS.ifIndex.n.0)可用于:

- Determine the FTN entry after the one indexed by n (in linked-list order) mapped to the interface with index ifIndex, as explained in Section 5.2.2;

- 如第5.2.2节所述,在映射到具有索引ifIndex的接口的以n(按链表顺序)索引的FTN条目之后确定FTN条目;

- Verify that the value of mplsFTNMapTable has not been modified during the retrieval process by comparing the value of mplsFTNMapTableLastChanged retrieved by this operation with the value retrieved before the traversal was begun.

- 通过将此操作检索到的MPLSTNAPTABLELASTCHANGED的值与遍历开始前检索到的值进行比较,验证在检索过程中没有修改MPLSTNAPTABLE的值。

Using this technique, an application can ensure the validity of the retrieved information with minimal overhead. This is particularly important while retrieving information from frequently modified tables.

使用这种技术,应用程序可以以最小的开销确保检索到的信息的有效性。这在从频繁修改的表中检索信息时尤为重要。

7. Example Illustrating MIB Module Components
7. 说明MIB模块组件的示例

In this section, we use an example to illustrate how the objects defined in MPLS-FTN-STD-MIB work together to perform FEC to NHLFE mapping.

在本节中,我们使用一个示例来说明MPLS-FTN-STD-MIB中定义的对象如何协同工作以执行FEC到NHLFE的映射。

Note that for the various table entries involved in this example, we only show the objects that help illustrate each case.

请注意,对于本例中涉及的各种表项,我们仅显示有助于说明每种情况的对象。

7.1. Sample FTN Rules
7.1. FTN规则示例

Suppose that we wish to activate the following two FTN rules.

假设我们希望激活以下两个FTN规则。

Rule #1: On interface ifIndex = 1, redirect packets with source IPv4 address matching 192.0.2.63 to an LSP with outgoing ifIndex = 50 and outgoing label = 150 where the specified LSP is represented by the following entries in mplsXCTable and mplsOutSegmentTable.

规则#1:在接口ifIndex=1上,将源IPv4地址与192.0.2.63匹配的数据包重定向到输出ifIndex=50、输出label=150的LSP,其中指定的LSP由mplsXCTable和MPLSSoutSegmentTable中的以下条目表示。

In mplsXCTable:

在mplsXCTable中:

      {
         mplsXCIndex = 0x02,
         mplsXCInSegmentIndex = 0x00,
         mplsXCOutSegmentIndex = 0x03,
         mplsXCLabelStackIndex = 0
      }
        
      {
         mplsXCIndex = 0x02,
         mplsXCInSegmentIndex = 0x00,
         mplsXCOutSegmentIndex = 0x03,
         mplsXCLabelStackIndex = 0
      }
        

The value 0x00 for mplsXCInSegmentIndex represents an originating LSP [RFC3813].

mplsXCInSegmentIndex的值0x00表示原始LSP[RFC3813]。

In mplsOutSegmentTable:

在mplsOutSegmentTable中:

      {
         mplsOutSegmentIndex = 0x03,
         mplsOutSegmentIfIndex = 50,
         mplsOutSegmentPushTopLabel = true,
         mplsOutSegmentTopLabel = 150
      }
        
      {
         mplsOutSegmentIndex = 0x03,
         mplsOutSegmentIfIndex = 50,
         mplsOutSegmentPushTopLabel = true,
         mplsOutSegmentTopLabel = 150
      }
        

Rule #2: On interface ifIndex = 1, redirect packets with destination IPv4 addresses in the range [192.0.2.32, 192.0.2.96] to tunnel #4, where the specified tunnel is represented by the following entry in mplsTunnelTable:

规则#2:在接口ifIndex=1上,将目标IPv4地址在[192.0.2.32,192.0.2.96]范围内的数据包重定向到隧道#4,其中指定的隧道由mplsTunnelTable中的以下条目表示:

      {
         mplsTunnelIndex = 4,
         -- primary tunnel
         mplsTunnelInstance = 0,
         mplsTunnelIngressLSRID = 192.0.2.1,
         mplsTunnelEgressLSRID = 192.0.2.2
      }
        
      {
         mplsTunnelIndex = 4,
         -- primary tunnel
         mplsTunnelInstance = 0,
         mplsTunnelIngressLSRID = 192.0.2.1,
         mplsTunnelEgressLSRID = 192.0.2.2
      }
        
7.2. Creating FTN Entries and Applying them to Interfaces
7.2. 创建FTN条目并将其应用于接口

The action "redirect packets with source IPv4 address matching 192.0.2.63 to an LSP with outgoing ifIndex = 50 and outgoing label = 150" in Rule #1 can be implemented by the following entry in mplsFTNTable:

规则#1中的操作“将源IPv4地址与192.0.2.63匹配的数据包重定向到出站ifIndex=50且出站标签=150的LSP”可以通过MPLSTNTABLE中的以下条目实现:

      {
         mplsFTNIndex = 1,
         mplsFTNDescr = "Rule #1",
         -- source address only
         mplsFTNMask = 0x80,
         mplsFTNAddrType = ipv4,
         mplsFTNSourceAddrMin = 192.0.2.63,
         mplsFTNSourceAddrMax = 192.0.2.63,
         mplsFTNActionType = redirectLsp(1),
         mplsFTNActionPointer = mplsXCLspId.1.2.1.0.1.3
      }
        
      {
         mplsFTNIndex = 1,
         mplsFTNDescr = "Rule #1",
         -- source address only
         mplsFTNMask = 0x80,
         mplsFTNAddrType = ipv4,
         mplsFTNSourceAddrMin = 192.0.2.63,
         mplsFTNSourceAddrMax = 192.0.2.63,
         mplsFTNActionType = redirectLsp(1),
         mplsFTNActionPointer = mplsXCLspId.1.2.1.0.1.3
      }
        

This indicates to which LSP the LSR should redirect packets by setting mplsFTNActionPointer to the first accessible columnar object instance in mplsXCEntry that corresponds of the LSP to use, in this case mplsXCLspId.1.2.1.0.1.3.

这表明LSR应该将数据包重定向到哪个LSP,方法是将mplsFTNActionPointer设置为mplsXCEntry中对应于要使用的LSP的第一个可访问的列对象实例,在本例中为mplsXCLspId.1.2.1.0.1.3。

This action is then activated on "interface ifIndex = 1" by the following entry in mplsFTNMapTable to complete the implementation of Rule #1:

然后,通过MPLSTNAMAPTABLE中的以下条目在“接口ifIndex=1”上激活此操作,以完成规则#1的实施:

      {
         -- apply rule to interface ifIndex = 1
         mplsFTNMapIndex = 1,
         -- first FTN entry on this interface
         mplsFTNPrevIndex = 0,
         -- index of current entry in mplsFTNTable, i.e., Rule #1
         mplsFTNMapCurrIndex = 1
      }
        
      {
         -- apply rule to interface ifIndex = 1
         mplsFTNMapIndex = 1,
         -- first FTN entry on this interface
         mplsFTNPrevIndex = 0,
         -- index of current entry in mplsFTNTable, i.e., Rule #1
         mplsFTNMapCurrIndex = 1
      }
        

The action "redirect packets with destination IPv4 addresses in the range [192.0.2.32, 192.0.2.96] to tunnel #4" in Rule #2 can be implemented by the following entry in mplsFTNTable:

规则#2中的操作“将目标IPv4地址在[192.0.2.32,192.0.2.96]范围内的数据包重定向到隧道#4”可以通过MPLSTNTABLE中的以下条目实现:

      {
         mplsFTNIndex = 2,
         mplsFTNDescr = "Rule #2",
         -- destination address only
         mplsFTNMask = 0x40,
         mplsFTNAddrType = ipv4,
         mplsFTNDestAddrMin = 192.0.2.32,
         mplsFTNDestAddrMax = 192.0.2.96,
         mplsFTNActionType = redirectTunnel(2),
         mplsFTNActionPointer = mplsTunnelName.4.0.3221225985.3221225986
      }
        
      {
         mplsFTNIndex = 2,
         mplsFTNDescr = "Rule #2",
         -- destination address only
         mplsFTNMask = 0x40,
         mplsFTNAddrType = ipv4,
         mplsFTNDestAddrMin = 192.0.2.32,
         mplsFTNDestAddrMax = 192.0.2.96,
         mplsFTNActionType = redirectTunnel(2),
         mplsFTNActionPointer = mplsTunnelName.4.0.3221225985.3221225986
      }
        

where 3221225985 and 3221225986 are representations of the addresses 192.0.2.1 and 192.0.2.2, respectively, as Unsigned32 (the underlying data type) entities.

其中,3221225985和3221225986分别是地址192.0.2.1和192.0.2.2的表示,作为无符号32(基础数据类型)实体。

This rule needs to be activated on "interface ifIndex = 1" after Rule #1 which was previously activated on this interface. This is done by the following entry in mplsFTNMapTable to complete the implementation of Rule #2:

此规则需要在之前在此接口上激活的规则#1之后的“接口ifIndex=1”上激活。这通过MPLSTNAMAPTABLE中的以下条目完成,以完成规则#2的实施:

      {
         -- apply rule to interface ifIndex = 1
         mplsFTNMapIndex = 1,
         -- insert after Rule #1 (mplsFTNIndex = 1)
         mplsFTNPrevIndex = 1,
         -- index of current entry in mplsFTNTable, i.e., Rule #2
         mplsFTNMapCurrIndex = 2
      }
        
      {
         -- apply rule to interface ifIndex = 1
         mplsFTNMapIndex = 1,
         -- insert after Rule #1 (mplsFTNIndex = 1)
         mplsFTNPrevIndex = 1,
         -- index of current entry in mplsFTNTable, i.e., Rule #2
         mplsFTNMapCurrIndex = 2
      }
        
7.3. Mapping an FTN Entry to Multiple Interfaces
7.3. 将FTN条目映射到多个接口

Suppose we now wish to activate the following rule:

假设我们现在希望激活以下规则:

Rule #2b: On interface ifIndex = 2, redirect packets with destination IPv4 addresses in the range [192.0.2.32, 192.0.2.96] to tunnel #4.

规则#2b:在接口ifIndex=2上,将目标IPv4地址在[192.0.2.32,192.0.2.96]范围内的数据包重定向到隧道#4。

Notice that the FEC and corresponding action associated with this rule (i.e., "redirect packets with destination IPv4 addresses in the range [192.0.2.32, 192.0.2.96] to tunnel #4") are the same as that associated with Rule #2. Hence, we can reuse the existing entry with mplsFTNIndex = 2 from mplsFTNTable.

请注意,与此规则关联的FEC和相应操作(即,“将目标IPv4地址在[192.0.2.32,192.0.2.96]范围内的数据包重定向到隧道#4”)与与规则#2关联的操作相同。因此,我们可以从MPLSTNTABLE重用MPLSTNINDEX=2的现有条目。

However, we have to create the following new entry in mplsFTNMapTable to activate this FTN entry as the first one on the interface with ifIndex = 2.

但是,我们必须在MPLSTNMAPTABLE中创建以下新条目,以将此FTN条目激活为ifIndex=2的接口上的第一个条目。

   {
      -- apply rule to interface ifIndex = 2
      mplsFTNMapIndex = 2,
      -- first FTN entry on this interface
      mplsFTNPrevIndex = 0,
      -- index of current entry in mplsFTNTable
      mplsFTNMapCurrIndex = 2
   }
        
   {
      -- apply rule to interface ifIndex = 2
      mplsFTNMapIndex = 2,
      -- first FTN entry on this interface
      mplsFTNPrevIndex = 0,
      -- index of current entry in mplsFTNTable
      mplsFTNMapCurrIndex = 2
   }
        
7.4. Inserting an Entry Into Existing List
7.4. 将条目插入现有列表

At a later point, suppose that we wish to introduce the following Rule between Rules #1 and #2.

稍后,假设我们希望在规则#1和#2之间引入以下规则。

Rule #3: On interface ifIndex = 1, redirect all packets with destination IPv4 address matching the prefix 192.0.2.32/28 to tunnel #3, where the tunnel we wish to redirect traffic to is represented by the following entry in mplsTunnelTable:

规则#3:在接口ifIndex=1上,将目标IPv4地址与前缀192.0.2.32/28匹配的所有数据包重定向到隧道#3,其中我们希望将流量重定向到的隧道由mplsTunnelTable中的以下条目表示:

      {
         mplsTunnelIndex = 3,
         -- primary tunnel
         mplsTunnelInstance = 0,
         mplsTunnelIngressLSRID = 192.0.2.3,
         mplsTunnelEgressLSRID = 192.0.2.4
      }
        
      {
         mplsTunnelIndex = 3,
         -- primary tunnel
         mplsTunnelInstance = 0,
         mplsTunnelIngressLSRID = 192.0.2.3,
         mplsTunnelEgressLSRID = 192.0.2.4
      }
        

Note that the ordering of the rules on a particular interface is critical since the range of addresses specified in Rule #3 is a subset of the ones specified in Rule #2.

请注意,特定接口上规则的顺序至关重要,因为规则#3中指定的地址范围是规则#2中指定的地址范围的子集。

Without the linked-list style insertion feature supported by mplsFTNMapTable, we would possibly have had to reindex existing entries (or plan for such changes by leaving sufficient gaps between indexes, something that only postpones the problem). With the existing tables, we solve this problem by creating the following entries.

如果没有MPLSTNAMAPTABLE支持的链表样式插入功能,我们可能不得不重新索引现有条目(或者通过在索引之间留出足够的间隙来计划此类更改,这只会推迟问题的发生)。对于现有的表,我们通过创建以下条目来解决这个问题。

We implement the phrase "redirect all packets with destination IPv4 address matching the prefix 1.4.0.0/16 to tunnel #3" in Rule #3 by creating the following entry in mplsFTNTable:

我们通过在MPLSTNTABLE中创建以下条目来实现规则#3中的短语“将目标IPv4地址与前缀1.4.0.0/16匹配的所有数据包重定向到隧道#3”:

      {
         mplsFTNIndex = 3,
         mplsFTNDescr = "Rule #3",
         -- destination address only
         mplsFTNMask = 0x40,
         mplsFTNAddrType = ipv4,
         -- address range equivalent to CIDR prefix 192.0.2.32/28
         mplsFTNDestAddrMin = 192.0.2.32,
         mplsFTNDestAddrMax = 192.0.2.47,
         mplsFTNActionType = redirectTunnel,
         mplsFTNActionPointer = mplsTunnelName.3.0.3221225987.3221225988
      }
        
      {
         mplsFTNIndex = 3,
         mplsFTNDescr = "Rule #3",
         -- destination address only
         mplsFTNMask = 0x40,
         mplsFTNAddrType = ipv4,
         -- address range equivalent to CIDR prefix 192.0.2.32/28
         mplsFTNDestAddrMin = 192.0.2.32,
         mplsFTNDestAddrMax = 192.0.2.47,
         mplsFTNActionType = redirectTunnel,
         mplsFTNActionPointer = mplsTunnelName.3.0.3221225987.3221225988
      }
        

where 3221225987 and 3221225988 are representations of the addresses 192.0.2.3 and 192.0.2.4, respectively, as Unsigned32 (the underlying data type) entities.

其中,3221225987和3221225988分别是地址192.0.2.3和192.0.2.4的表示,作为无符号32(基础数据类型)实体。

We next insert this rule in mplsFTNMapTable just after Rule #1 as follows:

接下来,我们将在规则#1之后的MPLSTNAMAPTABLE中插入此规则,如下所示:

      {
         -- apply rule to interface ifIndex = 1
         mplsFTNMapIndex = 1,
         -- insert after Rule #1 (mplsFTNIndex = 1)
         mplsFTNPrevIndex = 1,
         -- index of current entry in mplsFTNTable i.e., Rule #3
         mplsFTNMapCurrIndex = 3
      }
        
      {
         -- apply rule to interface ifIndex = 1
         mplsFTNMapIndex = 1,
         -- insert after Rule #1 (mplsFTNIndex = 1)
         mplsFTNPrevIndex = 1,
         -- index of current entry in mplsFTNTable i.e., Rule #3
         mplsFTNMapCurrIndex = 3
      }
        

After the insertion of Rule #3 in mplsFTNMapTable, the 'previous' pointer object mplsFTNMapPrevIndex of the next entry (corresponding to Rule #2) adjusts automatically to point to this entry.

在MPLSTNAMAPTABLE中插入规则#3后,下一个条目(对应于规则#2)的“上一个”指针对象MPLSTNAMPPREVINDEX将自动调整为指向此条目。

Note that, of the existing entries in the table, the only one that is impacted by an insertion operation is the entry on that particular interface immediately after the newly inserted one, if one exists. None of the other entries in mplsFTNMapTable are impacted. For instance, in this particular example, when the entry for Rule #3 was inserted between those for Rules #1 and #2, the entries for Rules #1 and #2b were not impacted.

请注意,在表中现有的条目中,唯一受插入操作影响的条目是新插入的条目(如果存在)之后的特定接口上的条目。MPLSTNMAPTABLE中的其他条目均不受影响。例如,在此特定示例中,当在规则1和规则2之间插入规则3的条目时,规则1和规则2b的条目不受影响。

7.5. Pictorial Tabular Relationship
7.5. 图形表格关系

At this point, the relationship between different table entries can be represented pictorially as follows. For each conceptual row instance, we show the table that it belongs to, along with its indices in parentheses. (Note that various conceptual rows are depicted in a way that is convenient for showing the interrelationships and are not necessarily in lexicographical order.)

此时,不同表项之间的关系可以用图形表示如下。对于每个概念行实例,我们将显示它所属的表以及括号中的索引。(请注意,各种概念行的描述方式便于显示相互关系,并且不一定按字典顺序。)

             ifTable, The Interfaces Group MIB [RFC2863]:
          +-> ifEntry (1)
          |    (ifIndex = 1)
          |
          |  mplsFTNMapTable:
          |   mplsFTNMapEntry (1.0.1): <--------------------+
          +<-- (mplsFTNMapIndex = 1,                        |
          |     mplsFTNMapPrevIndex = 0, ---> (NULL)        |
          |     mplsFTNMapCurrIndex = 1) ------------+      |
          |                                          |      |
          |   mplsFTNMapEntry (1.1.3): <------------------+ |
          +<-- (mplsFTNMapIndex = 1,                 |    | |
          |     mplsFTNMapPrevIndex = 1, ----------->+    | |
          |     mplsFTNMapCurrIndex = 3) ---------+  |    | |
          |                                       |  |    | |
          |   mplsFTNMapEntry (1.3.2): <----------------+ | |
          +<-- (mplsFTNMapIndex = 1,              |  |  | | |
                mplsFTNMapPrevIndex = 3, -------->+  |  | | |
                mplsFTNMapCurrIndex = 2) ----+    |  |  | | |
                                             |    |  |  | | |
             mplsFTNTable:                   |    |  |  | | |
              mplsFTNEntry (2):              |    |  |  | | |
          +--> (mplsFTNIndex = 2) <----------+    |  |  | | |
          |                                       |  |  | | |
          |   mplsFTNEntry (3):                   |  |  | | |
          |    (mplsFTNIndex = 3) <---------------+  |  | | |
          |                                          |  | | |
          |   mplsFTNEntry (1):                      |  | | |
          |    (mplsFTNIndex = 1) <------------------+  | | |
          |                                             | | |
          |  mplsFTNPerfTable:                          | | |
          |   mplsFTNPerfEntry (1.2):                   | | |
          |    (mplsFTNPerfIndex = 1,                   | | |
          |     mplsFTNPerfCurrIndex = 2) --------------+ | |
          |                                               | |
          |   mplsFTNPerfEntry (1.3):                     | |
          |    (mplsFTNPerfIndex = 1,                     | |
          |      mplsFTNPerfCurrIndex = 3) ---------------+ |
          |                                                 |
        
             ifTable, The Interfaces Group MIB [RFC2863]:
          +-> ifEntry (1)
          |    (ifIndex = 1)
          |
          |  mplsFTNMapTable:
          |   mplsFTNMapEntry (1.0.1): <--------------------+
          +<-- (mplsFTNMapIndex = 1,                        |
          |     mplsFTNMapPrevIndex = 0, ---> (NULL)        |
          |     mplsFTNMapCurrIndex = 1) ------------+      |
          |                                          |      |
          |   mplsFTNMapEntry (1.1.3): <------------------+ |
          +<-- (mplsFTNMapIndex = 1,                 |    | |
          |     mplsFTNMapPrevIndex = 1, ----------->+    | |
          |     mplsFTNMapCurrIndex = 3) ---------+  |    | |
          |                                       |  |    | |
          |   mplsFTNMapEntry (1.3.2): <----------------+ | |
          +<-- (mplsFTNMapIndex = 1,              |  |  | | |
                mplsFTNMapPrevIndex = 3, -------->+  |  | | |
                mplsFTNMapCurrIndex = 2) ----+    |  |  | | |
                                             |    |  |  | | |
             mplsFTNTable:                   |    |  |  | | |
              mplsFTNEntry (2):              |    |  |  | | |
          +--> (mplsFTNIndex = 2) <----------+    |  |  | | |
          |                                       |  |  | | |
          |   mplsFTNEntry (3):                   |  |  | | |
          |    (mplsFTNIndex = 3) <---------------+  |  | | |
          |                                          |  | | |
          |   mplsFTNEntry (1):                      |  | | |
          |    (mplsFTNIndex = 1) <------------------+  | | |
          |                                             | | |
          |  mplsFTNPerfTable:                          | | |
          |   mplsFTNPerfEntry (1.2):                   | | |
          |    (mplsFTNPerfIndex = 1,                   | | |
          |     mplsFTNPerfCurrIndex = 2) --------------+ | |
          |                                               | |
          |   mplsFTNPerfEntry (1.3):                     | |
          |    (mplsFTNPerfIndex = 1,                     | |
          |      mplsFTNPerfCurrIndex = 3) ---------------+ |
          |                                                 |
        
          |   mplsFTNPerfEntry (1.1):                       |
          |    (mplsFTNPerfIndex = 1,                       |
          |     mplsFTNPerfCurrIndex = 1) ------------------+
          |
          |   mplsFTNPerfEntry (2.2):
          |    (mplsFTNPerfIndex = 2,
          |     mplsFTNPerfCurrIndex = 2) ------------------+
          |                                                 |
          |  ifTable, The Interfaces Group MIB [RFC2863]:   |
        +---> ifEntry (2):                                  |
        | |    (ifIndex = 2)                                |
        | |                                                 |
        | |   mplsFTNMapEntry (2.1.2): <--------------------+
        +----- (mplsFTNMapIndex = 2
          |     mplsFTNMapPrevIndex = 0 ---> (NULL)
          +---- mplsFTNMapCurrIndex = 2)
        
          |   mplsFTNPerfEntry (1.1):                       |
          |    (mplsFTNPerfIndex = 1,                       |
          |     mplsFTNPerfCurrIndex = 1) ------------------+
          |
          |   mplsFTNPerfEntry (2.2):
          |    (mplsFTNPerfIndex = 2,
          |     mplsFTNPerfCurrIndex = 2) ------------------+
          |                                                 |
          |  ifTable, The Interfaces Group MIB [RFC2863]:   |
        +---> ifEntry (2):                                  |
        | |    (ifIndex = 2)                                |
        | |                                                 |
        | |   mplsFTNMapEntry (2.1.2): <--------------------+
        +----- (mplsFTNMapIndex = 2
          |     mplsFTNMapPrevIndex = 0 ---> (NULL)
          +---- mplsFTNMapCurrIndex = 2)
        
7.6. Deleting an Entry
7.6. 删除条目

Let us next look at how we can remove the recently applied Rule #3 and how the existing conceptual rows behave in this situation.

接下来让我们看看如何删除最近应用的规则#3,以及现有概念行在这种情况下的行为。

The conceptual row corresponding to the application of Rule #3 to interface ifIndex = 1 has the following index values: mplsFTNMapIndex = 1, mplsFTNMapPrevIndex = 1, and mplsFTNMapCurrIndex = 3. To delete this conceptual row, the Network Management Application performs a SET operation setting the object instance mplsFTNMapRowStatus.1.1.3 to the value destroy(6). The agent then destroys this conceptual row. It also automatically adjusts the object instance of mplsFTNMapPrevIndex corresponding to Rule #2 from the value 3 (i.e., pointing to the recently destroyed Rule #3) to the value 1 (i.e., to Rule #1).

对应于将规则#3应用于接口ifIndex=1的概念行具有以下索引值:MPLSTNAMAPINDEX=1、MPLSTNAMPPREVINDEX=1和MPLSTNAMAPCURRINDEX=3。要删除此概念行,网络管理应用程序将执行一个SET操作,将对象实例MPLSTNAMAPROWSTATUS.1.1.3的值设置为destroy(6)。然后代理将销毁此概念行。它还自动将与规则#2对应的MPLSTNAMPPREVINDEX的对象实例从值3(即指向最近销毁的规则#3)调整为值1(即规则#1)。

At this point, the rules applied to interface ifIndex = 1 are Rule #1 and Rule #2, in that order. The relationship between different table entries can be represented pictorially as follows.

此时,应用于接口ifIndex=1的规则依次为规则1和规则2。不同表项之间的关系可以用图形表示如下。

             ifTable, The Interfaces Group MIB [RFC2863]:
          +-> ifEntry (1)
          |    (ifIndex = 1)
          |
          |  mplsFTNMapTable:
          |   mplsFTNMapEntry (1.0.1): <--------------------+
          +<-- (mplsFTNMapIndex = 1,                        |
          |     mplsFTNMapPrevIndex = 0, ---> (NULL)        |
          |     mplsFTNMapCurrIndex = 1) ------------+      |
          |                                          |      |
          |   mplsFTNMapEntry (1.1.2): <----------------+   |
          +<-- (mplsFTNMapIndex = 1,                 |  |   |
                mplsFTNMapPrevIndex = 1, ------------+  |   |
                mplsFTNMapCurrIndex = 2) ----+       |  |   |
                                             |       |  |   |
             mplsFTNTable:                   |       |  |   |
              mplsFTNEntry (2):              |       |  |   |
          +--> (mplsFTNIndex = 2) <----------+       |  |   |
          |                                          |  |   |
          |   mplsFTNEntry (3):                      |  |   |
          |    (mplsFTNIndex = 3)                    |  |   |
          |                                          |  |   |
          |   mplsFTNEntry (1):                      |  |   |
          |    (mplsFTNIndex = 1) <------------------+  |   |
          |                                             |   |
          |  mplsFTNPerfTable:                          |   |
          |   mplsFTNPerfEntry (1.2):                   |   |
          |    (mplsFTNPerfIndex = 1,                   |   |
          |     mplsFTNPerfCurrIndex = 2) --------------+   |
          |                                                 |
          |   mplsFTNPerfEntry (1.1):                       |
          |    (mplsFTNPerfIndex = 1,                       |
          |     mplsFTNPerfCurrIndex = 1) ------------------+
          |
          |   mplsFTNPerfEntry (2.2):
          |    (mplsFTNPerfIndex = 2,
          |     mplsFTNPerfCurrIndex = 2) ------------------+
          |                                                 |
          |  ifTable, The Interfaces Group MIB [RFC2863]:   |
        +---> ifEntry (2):                                  |
        | |    (ifIndex = 2)                                |
        | |                                                 |
        | |   mplsFTNMapEntry (2.1.2): <--------------------+
        +----- (mplsFTNMapIndex = 2
          |     mplsFTNMapPrevIndex = 0 ---> (NULL)
          +---- mplsFTNMapCurrIndex = 2)
        
             ifTable, The Interfaces Group MIB [RFC2863]:
          +-> ifEntry (1)
          |    (ifIndex = 1)
          |
          |  mplsFTNMapTable:
          |   mplsFTNMapEntry (1.0.1): <--------------------+
          +<-- (mplsFTNMapIndex = 1,                        |
          |     mplsFTNMapPrevIndex = 0, ---> (NULL)        |
          |     mplsFTNMapCurrIndex = 1) ------------+      |
          |                                          |      |
          |   mplsFTNMapEntry (1.1.2): <----------------+   |
          +<-- (mplsFTNMapIndex = 1,                 |  |   |
                mplsFTNMapPrevIndex = 1, ------------+  |   |
                mplsFTNMapCurrIndex = 2) ----+       |  |   |
                                             |       |  |   |
             mplsFTNTable:                   |       |  |   |
              mplsFTNEntry (2):              |       |  |   |
          +--> (mplsFTNIndex = 2) <----------+       |  |   |
          |                                          |  |   |
          |   mplsFTNEntry (3):                      |  |   |
          |    (mplsFTNIndex = 3)                    |  |   |
          |                                          |  |   |
          |   mplsFTNEntry (1):                      |  |   |
          |    (mplsFTNIndex = 1) <------------------+  |   |
          |                                             |   |
          |  mplsFTNPerfTable:                          |   |
          |   mplsFTNPerfEntry (1.2):                   |   |
          |    (mplsFTNPerfIndex = 1,                   |   |
          |     mplsFTNPerfCurrIndex = 2) --------------+   |
          |                                                 |
          |   mplsFTNPerfEntry (1.1):                       |
          |    (mplsFTNPerfIndex = 1,                       |
          |     mplsFTNPerfCurrIndex = 1) ------------------+
          |
          |   mplsFTNPerfEntry (2.2):
          |    (mplsFTNPerfIndex = 2,
          |     mplsFTNPerfCurrIndex = 2) ------------------+
          |                                                 |
          |  ifTable, The Interfaces Group MIB [RFC2863]:   |
        +---> ifEntry (2):                                  |
        | |    (ifIndex = 2)                                |
        | |                                                 |
        | |   mplsFTNMapEntry (2.1.2): <--------------------+
        +----- (mplsFTNMapIndex = 2
          |     mplsFTNMapPrevIndex = 0 ---> (NULL)
          +---- mplsFTNMapCurrIndex = 2)
        

Note that the FTN entry for Rule #3 still exists in mplsFTNTable at this point but is not referenced by any conceptual row in mplsFTNMapTable or mplsFTNPerfTable.

请注意,此时规则#3的FTN条目仍存在于MPLSTNTABLE中,但未被MPLSTNMAPTABLE或MPLSTNPERFTABLE中的任何概念行引用。

Also note that the deletion of an entry from mplsFTNMapTable only impacts the entry on that particular interface immediately after the deleted entry, if one exists. None of the other conceptual rows in mplsFTNMapTable are impacted. For instance, in this particular example, when the entry for Rule #3 was deleted, the entries for Rules #1 and #2b were not impacted.

还请注意,从MPLSTNMAPTABLE中删除条目只会在删除条目(如果存在)后立即影响该特定接口上的条目。MPLSTNMAPTABLE中的其他概念行均不受影响。例如,在此特定示例中,当删除规则#3的条目时,规则#1和#2b的条目不受影响。

8. The Use of RowPointer
8. RowPointer的使用

RowPointer is a textual convention used to identify a conceptual row in a conceptual table in a MIB by pointing to the first accessible object. In this MIB module, in mplsFTNTable, the RowPointer object mplsFTNActionPointer indicates the LSP or TE Tunnel to redirect packets matching an FTN entry to. This object MUST point to the first instance of the first accessible columnar object in the appropriate conceptual row in order to allow the manager to find the appropriate corresponding entry in either MPLS-LSR-STD-MIB [RFC3813] or MPLS-TE-STD-MIB [RFC3812]. If this object returns zeroDotZerok, it implies that there is no currently defined action that is associated with that particular FTN entry.

RowPointer是一种文本约定,用于通过指向第一个可访问对象来标识MIB中概念表中的概念行。在此MIB模块中,在MPLSTNTABLE中,行指针对象MPLSTNATIONPOINTER表示要将与FTN条目匹配的数据包重定向到的LSP或TE隧道。此对象必须指向相应概念行中第一个可访问列对象的第一个实例,以便管理器能够在MPLS-LSR-STD-MIB[RFC3813]或MPLS-TE-STD-MIB[RFC3812]中找到相应的条目。如果此对象返回zeroDotZerok,则表示当前没有定义与该特定FTN条目关联的操作。

9. MPLS-FTN-STD-MIB Definitions
9. MPLS-FTN-STD-MIB定义
   MPLS-FTN-STD-MIB DEFINITIONS ::= BEGIN
        
   MPLS-FTN-STD-MIB DEFINITIONS ::= BEGIN
        
   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter64, Integer32
          FROM SNMPv2-SMI                                   -- [RFC2578]
      RowStatus, StorageType, RowPointer,
      TEXTUAL-CONVENTION, TimeStamp
          FROM SNMPv2-TC                                    -- [RFC2579]
      MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF                                  -- [RFC2580]
      InterfaceIndexOrZero,
      ifGeneralInformationGroup, ifCounterDiscontinuityGroup
          FROM IF-MIB                                       -- [RFC2863]
      SnmpAdminString
          FROM SNMP-FRAMEWORK-MIB                           -- [RFC3411]
      Dscp
          FROM DIFFSERV-DSCP-TC                             -- [RFC3289]
      InetAddressType, InetAddress, InetPortNumber
          FROM INET-ADDRESS-MIB                             -- [RFC3291]
      mplsStdMIB
          FROM MPLS-TC-STD-MIB                              -- [RFC3811]
        
   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter64, Integer32
          FROM SNMPv2-SMI                                   -- [RFC2578]
      RowStatus, StorageType, RowPointer,
      TEXTUAL-CONVENTION, TimeStamp
          FROM SNMPv2-TC                                    -- [RFC2579]
      MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF                                  -- [RFC2580]
      InterfaceIndexOrZero,
      ifGeneralInformationGroup, ifCounterDiscontinuityGroup
          FROM IF-MIB                                       -- [RFC2863]
      SnmpAdminString
          FROM SNMP-FRAMEWORK-MIB                           -- [RFC3411]
      Dscp
          FROM DIFFSERV-DSCP-TC                             -- [RFC3289]
      InetAddressType, InetAddress, InetPortNumber
          FROM INET-ADDRESS-MIB                             -- [RFC3291]
      mplsStdMIB
          FROM MPLS-TC-STD-MIB                              -- [RFC3811]
        

;

;

mplsFTNStdMIB MODULE-IDENTITY LAST-UPDATED "200406030000Z" -- June 6, 2004 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Thomas D. Nadeau Postal: Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA 01824 Tel: +1-978-244-3051 Email: tnadeau@cisco.com

MPLSFTNSTMIB模块标识最后一次更新“200406030000Z”-2004年6月6日组织“多协议标签交换(MPLS)工作组”联系方式Thomas D.Nadeau邮政:思科系统公司马萨诸塞州切尔姆斯福德阿波罗大道250号01824电话:+1-978-244-3051电子邮件:tnadeau@cisco.com

Cheenu Srinivasan Postal: Bloomberg L.P. 499 Park Avenue New York, NY 10022 Tel: +1-212-893-3682 Email: cheenu@bloomberg.net

Cheenu Srinivasan邮政:纽约州纽约市帕克大道499号彭博社L.P.10022电话:+1-212-893-3682电子邮件:cheenu@bloomberg.net

Arun Viswanathan Postal: Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035 Tel: +1-408-571-3516 Email: arunv@force10networks.com

Arun Viswanathan邮政:Force10 Networks,Inc.加利福尼亚州米尔皮塔斯麦卡锡大道1440号95035电话:+1-408-571-3516电子邮件:arunv@force10networks.com

IETF MPLS Working Group email: mpls@uu.net"

IETF MPLS工作组电子邮件:mpls@uu.net"

DESCRIPTION "Copyright (C) The Internet Society (2004). The initial version of this MIB module was published in RFC 3814. For full legal notices see the RFC itself or see: http://www.ietf.org/copyrights/ianamib.html

描述“版权所有(C)互联网协会(2004)。此MIB模块的初始版本发布在RFC 3814中。有关完整的法律通知,请参阅RFC本身或参阅:http://www.ietf.org/copyrights/ianamib.html

This MIB module contains managed object definitions for specifying FEC to NHLFE (FTN) mappings and corresponding performance for MPLS."

此MIB模块包含用于指定FEC到NHLFE(FTN)映射的托管对象定义以及MPLS的相应性能。”

-- Revision history.

--修订历史。

REVISION "200406030000Z" -- June 3, 2004

修订版“200406030000Z”-2004年6月3日

DESCRIPTION "Initial version issued as part of RFC 3814."

说明“作为RFC 3814的一部分发布的初始版本。”

       ::= { mplsStdMIB 8 }
        
       ::= { mplsStdMIB 8 }
        
   -- TEXTUAL-CONVENTIONs used in this MIB.
   MplsFTNEntryIndex ::= TEXTUAL-CONVENTION
      STATUS              current
      DESCRIPTION
          "Index for an entry in mplsFTNTable."
      SYNTAX              Unsigned32 (1..4294967295)
        
   -- TEXTUAL-CONVENTIONs used in this MIB.
   MplsFTNEntryIndex ::= TEXTUAL-CONVENTION
      STATUS              current
      DESCRIPTION
          "Index for an entry in mplsFTNTable."
      SYNTAX              Unsigned32 (1..4294967295)
        
   MplsFTNEntryIndexOrZero ::= TEXTUAL-CONVENTION
      STATUS              current
      DESCRIPTION
          "Index for an entry in mplsFTNTable or the special value
           zero. The value zero is object-specific and must
           therefore be defined as part of the description of any
           object which uses this syntax.  Examples of the usage
           of zero might include situations when none or all
           entries in mplsFTNTable need to be referenced."
      SYNTAX              Unsigned32 (0..4294967295)
        
   MplsFTNEntryIndexOrZero ::= TEXTUAL-CONVENTION
      STATUS              current
      DESCRIPTION
          "Index for an entry in mplsFTNTable or the special value
           zero. The value zero is object-specific and must
           therefore be defined as part of the description of any
           object which uses this syntax.  Examples of the usage
           of zero might include situations when none or all
           entries in mplsFTNTable need to be referenced."
      SYNTAX              Unsigned32 (0..4294967295)
        

-- Top-Level Components of this MIB.

--此MIB的顶级组件。

   mplsFTNNotifications OBJECT IDENTIFIER ::= { mplsFTNStdMIB 0 }
   mplsFTNObjects       OBJECT IDENTIFIER ::= { mplsFTNStdMIB 1 }
   mplsFTNConformance   OBJECT IDENTIFIER ::= { mplsFTNStdMIB 2 }
        
   mplsFTNNotifications OBJECT IDENTIFIER ::= { mplsFTNStdMIB 0 }
   mplsFTNObjects       OBJECT IDENTIFIER ::= { mplsFTNStdMIB 1 }
   mplsFTNConformance   OBJECT IDENTIFIER ::= { mplsFTNStdMIB 2 }
        

-- Next free index in mplsFTNTable. mplsFTNIndexNext OBJECT-TYPE SYNTAX MplsFTNEntryIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next available valid value to be used for mplsFTNIndex when creating entries in the mplsFTNTable.

--MPLSTNTABLE中的下一个可用索引。MPLSTNINDEXNEXT对象类型语法MPLSTNENTRYINDEXORZERO MAX-ACCESS只读状态当前描述“此对象包含在MPLSTNTABLE中创建条目时用于MPLSTNINDEX的下一个可用有效值。

When creating a new conceptual row (configuration entry) in mplsFTNTable with an SNMP SET operation the command generator (Network Management Application) must first issue a management protocol retrieval operation to obtain the current value of this object.

在使用SNMP设置操作在MPLSTNTABLE中创建新概念行(配置条目)时,命令生成器(网络管理应用程序)必须首先发出管理协议检索操作,以获取此对象的当前值。

If the command responder (agent) does not wish to allow creation of more entries in mplsFTNTable, possibly because of resource exhaustion, this object MUST return a value of 0.

如果命令响应程序(代理)不希望允许在MPLSTNTABLE中创建更多条目,可能是因为资源耗尽,则此对象必须返回值0。

If a non-zero value is returned the Network Management

如果返回非零值,则网络管理

Application must determine whether the value is indeed still unused since two Network Management Applications may attempt to create a row simultaneously and use the same value.

应用程序必须确定该值是否仍然未使用,因为两个网络管理应用程序可能试图同时创建一行并使用相同的值。

If it is currently unused and the SET succeeds, the agent MUST change the value of this object to a currently unused non-zero value (according to an implementation specific algorithm) or zero (if no further row creation will be permitted).

如果当前未使用且集合成功,则代理必须将此对象的值更改为当前未使用的非零值(根据特定于实现的算法)或零(如果不允许进一步创建行)。

           If the value is in use, however, the SET fails and the
           Network Management Application must then reread this
           object to obtain a new usable value."
      ::= { mplsFTNObjects 1 }
        
           If the value is in use, however, the SET fails and the
           Network Management Application must then reread this
           object to obtain a new usable value."
      ::= { mplsFTNObjects 1 }
        
   -- Last time an object in mplsFTNTable changed.
   mplsFTNTableLastChanged OBJECT-TYPE
      SYNTAX              TimeStamp
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Indicates the last time an entry was added, deleted or
           modified in mplsFTNTable.  Management stations should
           consult this object to determine if mplsFTNTable
           requires their attention.  This object is particularly
           useful for applications performing a retrieval on
           mplsFTNTable to ensure that the table is not modified
           during the retrieval operation."
      ::=  { mplsFTNObjects 2 }
        
   -- Last time an object in mplsFTNTable changed.
   mplsFTNTableLastChanged OBJECT-TYPE
      SYNTAX              TimeStamp
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Indicates the last time an entry was added, deleted or
           modified in mplsFTNTable.  Management stations should
           consult this object to determine if mplsFTNTable
           requires their attention.  This object is particularly
           useful for applications performing a retrieval on
           mplsFTNTable to ensure that the table is not modified
           during the retrieval operation."
      ::=  { mplsFTNObjects 2 }
        

-- Table of FTN entries. mplsFTNTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFTNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the currently defined FTN entries. This table allows FEC to NHLFE mappings to be specified. Each entry in this table defines a rule to be applied to incoming packets (on interfaces that the FTN entry is activated on using mplsFTNMapTable) and an action to be taken on matching packets (mplsFTNActionPointer).

--FTN条目表。MPLSTNTABLE MPLSTNENTRY MAX-ACCESS的对象类型语法序列不可访问状态当前描述“此表包含当前定义的FTN条目。此表允许指定FEC到NHLFE的映射。此表中的每个条目定义应用于传入数据包的规则(在使用MPLSTNAPTABLE激活FTN条目的接口上)以及对匹配数据包采取的操作(MPLSTNATIONPOINTER)。

This table supports 6-tuple matching rules based on one or more of source address range, destination address range, source port range, destination port range, IPv4

此表支持基于一个或多个源地址范围、目标地址范围、源端口范围、目标端口范围和IPv4的6元组匹配规则

Protocol field or IPv6 next-header field and the DiffServ Code Point (DSCP) to be specified.

协议字段或IPv6下一个标头字段以及要指定的区分服务代码点(DSCP)。

The action pointer points either to instance of mplsXCEntry in MPLS-LSR-STD-MIB when the NHLFE is a non-TE LSP, or to an instance of mplsTunnelEntry in the MPLS-TE-STD-MIB when the NHLFE is an originating TE tunnel." REFERENCE "J. Postel, Internet Protocol, RFC 791, STD 5, September 1981

当NHLFE为非TE LSP时,动作指针指向MPLS-LSR-STD-MIB中的mplsXCEntry实例,或当NHLFE为原始TE隧道时,动作指针指向MPLS-TE-STD-MIB中的mplsXCEntry实例。“参考”J.Postel,互联网协议,RFC 791,STD 5,1981年9月

Deering, S., and R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, RFC 2460, December 1998

Deering,S.和R.Hinden,互联网协议,第6版(IPv6)规范,RFC24601998年12月

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

Nichols,K,Blake,S.,Baker,F.和D.Black,IPv4和IPv6标头中区分服务字段(DS字段)的定义,RFC 2474,1998年12月

Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS Label Switch Router Management Information Base, RFC 3813

Srinivasan,C.,A.Viswanathan和T.Nadeau,MPLS标签交换机路由器管理信息库,RFC 3813

           Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS
           Traffic Engineering Management Information Base,
           RFC 3812"
      ::=  { mplsFTNObjects 3 }
        
           Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS
           Traffic Engineering Management Information Base,
           RFC 3812"
      ::=  { mplsFTNObjects 3 }
        
   mplsFTNEntry  OBJECT-TYPE
      SYNTAX          MplsFTNEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "Each entry represents one FTN entry which defines a
           rule to compare incoming packets with and an action to
           be taken on matching packets."
      INDEX { mplsFTNIndex }
      ::=  { mplsFTNTable 1 }
        
   mplsFTNEntry  OBJECT-TYPE
      SYNTAX          MplsFTNEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "Each entry represents one FTN entry which defines a
           rule to compare incoming packets with and an action to
           be taken on matching packets."
      INDEX { mplsFTNIndex }
      ::=  { mplsFTNTable 1 }
        
   MplsFTNEntry  ::=  SEQUENCE {
         mplsFTNIndex               MplsFTNEntryIndex,
         mplsFTNRowStatus           RowStatus,
         mplsFTNDescr               SnmpAdminString,
         mplsFTNMask                BITS,
         mplsFTNAddrType            InetAddressType,
         mplsFTNSourceAddrMin       InetAddress,
         mplsFTNSourceAddrMax       InetAddress,
        
   MplsFTNEntry  ::=  SEQUENCE {
         mplsFTNIndex               MplsFTNEntryIndex,
         mplsFTNRowStatus           RowStatus,
         mplsFTNDescr               SnmpAdminString,
         mplsFTNMask                BITS,
         mplsFTNAddrType            InetAddressType,
         mplsFTNSourceAddrMin       InetAddress,
         mplsFTNSourceAddrMax       InetAddress,
        

mplsFTNDestAddrMin InetAddress, mplsFTNDestAddrMax InetAddress, mplsFTNSourcePortMin InetPortNumber, mplsFTNSourcePortMax InetPortNumber, mplsFTNDestPortMin InetPortNumber, mplsFTNDestPortMax InetPortNumber, mplsFTNProtocol Integer32, mplsFTNDscp Dscp, mplsFTNActionType INTEGER, mplsFTNActionPointer RowPointer, mplsFTNStorageType StorageType }

mplsFTNDestAddrMin InetAddress、mplsFTNDestAddrMax InetAddress、mplsFTNSourcePortMin InetPortNumber、mplsFTNSourcePortMax InetPortNumber、mplsFTNDestPortMax InetPortNumber、mplsFTNProtocol整数32、mplsFTNDscp Dscp、mplsFTNActionType整数、mplsFTNActionPointer行指针、mplsFTNStorageType存储类型}

mplsFTNIndex OBJECT-TYPE SYNTAX MplsFTNEntryIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This is the unique index for a conceptual row in mplsFTNTable.

MPLSTNINDEX对象类型语法MPLSTNENTRYINDEX MAX-ACCESS not ACCESS STATUS current DESCRIPTION“这是MPLSTNTABLE中概念行的唯一索引。

           To create a new conceptual row in mplsFTNTable a
           Network Management Application SHOULD retrieve the
           current value of mplsFTNIndexNext to determine the next
           valid available value of mplsFTNIndex."
      ::= { mplsFTNEntry 1 }
        
           To create a new conceptual row in mplsFTNTable a
           Network Management Application SHOULD retrieve the
           current value of mplsFTNIndexNext to determine the next
           valid available value of mplsFTNIndex."
      ::= { mplsFTNEntry 1 }
        
   mplsFTNRowStatus OBJECT-TYPE
      SYNTAX              RowStatus
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "Used for controlling the creation and deletion of this
           row. All writeable objects in this row may be modified
           at any time. If a Network Management Application
           attempts to delete a conceptual row by setting this
           object to 'destroy' and there are one or more entries
           in mplsFTNMapTable pointing to the row (i.e., when
           mplsFTNIndex of the conceptual row being deleted is
           equal to mplsFTNMapCurrIndex for one or more entries in
           mplsFTNMapTable), the agent MUST also destroy the
           corresponding entries in mplsFTNMapTable."
      ::= { mplsFTNEntry 2 }
        
   mplsFTNRowStatus OBJECT-TYPE
      SYNTAX              RowStatus
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "Used for controlling the creation and deletion of this
           row. All writeable objects in this row may be modified
           at any time. If a Network Management Application
           attempts to delete a conceptual row by setting this
           object to 'destroy' and there are one or more entries
           in mplsFTNMapTable pointing to the row (i.e., when
           mplsFTNIndex of the conceptual row being deleted is
           equal to mplsFTNMapCurrIndex for one or more entries in
           mplsFTNMapTable), the agent MUST also destroy the
           corresponding entries in mplsFTNMapTable."
      ::= { mplsFTNEntry 2 }
        

mplsFTNDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current

MPLSTFNDESCR对象类型语法SnmpAdminString MAX-ACCESS read create STATUS current

      DESCRIPTION
          "The description of this FTN entry. Since the index for
           this table has no particular significance or meaning,
           this object should contain some meaningful text that an
           operator could use to further distinguish entries in
           this table."
      ::= { mplsFTNEntry 3 }
        
      DESCRIPTION
          "The description of this FTN entry. Since the index for
           this table has no particular significance or meaning,
           this object should contain some meaningful text that an
           operator could use to further distinguish entries in
           this table."
      ::= { mplsFTNEntry 3 }
        
   mplsFTNMask OBJECT-TYPE
      SYNTAX             BITS {
                          sourceAddr(0),
                          destAddr(1),
                          sourcePort(2),
                          destPort(3),
                          protocol(4),
                          dscp(5)
                         }
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "This bit map indicates which of the fields described
           next, namely source address range, destination address
           range, source port range, destination port range, IPv4
           Protocol field or IPv6 next-header field and
           Differentiated Services Code Point (DSCP) is active for
           this FTN entry. If a particular bit is set to zero then
           the corresponding field in the packet MUST be ignored
           for comparison purposes."
      ::= { mplsFTNEntry 4 }
        
   mplsFTNMask OBJECT-TYPE
      SYNTAX             BITS {
                          sourceAddr(0),
                          destAddr(1),
                          sourcePort(2),
                          destPort(3),
                          protocol(4),
                          dscp(5)
                         }
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "This bit map indicates which of the fields described
           next, namely source address range, destination address
           range, source port range, destination port range, IPv4
           Protocol field or IPv6 next-header field and
           Differentiated Services Code Point (DSCP) is active for
           this FTN entry. If a particular bit is set to zero then
           the corresponding field in the packet MUST be ignored
           for comparison purposes."
      ::= { mplsFTNEntry 4 }
        

mplsFTNAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object determines the type of address contained in the source and destination address objects (mplsFTNSourceAddrMin, mplsFTNSourceAddrMax, mplsFTNDestAddrMin and mplsFTNDestAddrMax) of a conceptual row.

MPLSTNADRTYPE对象类型语法InetAddressType MAX-ACCESS读取创建状态当前描述“此对象确定概念行的源地址对象和目标地址对象(MPLSTNSOURCEADDRMIN、MPLSTNSOURCEADDRMAX、MPLSTNDESTADDRMIN和MPLSTNDESTADDRMAX)中包含的地址类型。

This object MUST NOT be set to unknown(0) when mplsFTNMask has bit positions sourceAddr(0) or destAddr(1) set to one.

当MPLSTNMAK的位位置sourceAddr(0)或destAddr(1)设置为1时,不得将此对象设置为未知(0)。

When both these bit positions of mplsFTNMask are set to zero the value of mplsFTNAddrType SHOULD be set to unknown(0) and the corresponding source and destination

当MPLSTNMAK的这两个位位置都设置为零时,MPLSTNADRDRTYPE的值应设置为未知(0),并设置相应的源和目标

           address objects SHOULD be set to zero-length strings."
      ::= { mplsFTNEntry 5 }
        
           address objects SHOULD be set to zero-length strings."
      ::= { mplsFTNEntry 5 }
        
   mplsFTNSourceAddrMin OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The lower end of the source address range. The type of
           this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 6 }
        
   mplsFTNSourceAddrMin OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The lower end of the source address range. The type of
           this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 6 }
        
   mplsFTNSourceAddrMax OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The upper end of the source address range. The type of
           this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 7 }
        
   mplsFTNSourceAddrMax OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The upper end of the source address range. The type of
           this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 7 }
        
   mplsFTNDestAddrMin OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The lower end of the destination address range. The
           type of this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 8 }
        
   mplsFTNDestAddrMin OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The lower end of the destination address range. The
           type of this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 8 }
        
   mplsFTNDestAddrMax OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The higher end of the destination address range. The
           type of this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 9 }
        
   mplsFTNDestAddrMax OBJECT-TYPE
      SYNTAX             InetAddress
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The higher end of the destination address range. The
           type of this object is determined by the corresponding
           mplsFTNAddrType object."
      ::= { mplsFTNEntry 9 }
        

mplsFTNSourcePortMin OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION

mplsFTNSourcePortMin对象类型语法InetPortNumber MAX-ACCESS读取创建状态当前描述

          "The lower end of the source port range."
      DEFVAL { 0 }
      ::= { mplsFTNEntry 10 }
        
          "The lower end of the source port range."
      DEFVAL { 0 }
      ::= { mplsFTNEntry 10 }
        
   mplsFTNSourcePortMax OBJECT-TYPE
      SYNTAX             InetPortNumber
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The higher end of the source port range "
      DEFVAL { 65535 }
      ::= { mplsFTNEntry 11 }
        
   mplsFTNSourcePortMax OBJECT-TYPE
      SYNTAX             InetPortNumber
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The higher end of the source port range "
      DEFVAL { 65535 }
      ::= { mplsFTNEntry 11 }
        
   mplsFTNDestPortMin OBJECT-TYPE
      SYNTAX             InetPortNumber
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The lower end of the destination port range."
      DEFVAL { 0 }
      ::= { mplsFTNEntry 12 }
        
   mplsFTNDestPortMin OBJECT-TYPE
      SYNTAX             InetPortNumber
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The lower end of the destination port range."
      DEFVAL { 0 }
      ::= { mplsFTNEntry 12 }
        
   mplsFTNDestPortMax OBJECT-TYPE
      SYNTAX             InetPortNumber
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The higher end of the destination port range."
      DEFVAL { 65535 }
      ::= { mplsFTNEntry 13 }
        
   mplsFTNDestPortMax OBJECT-TYPE
      SYNTAX             InetPortNumber
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The higher end of the destination port range."
      DEFVAL { 65535 }
      ::= { mplsFTNEntry 13 }
        
   mplsFTNProtocol OBJECT-TYPE
      SYNTAX             Integer32 (0..255)
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The IP protocol to match against the IPv4 protocol
           number or IPv6 Next-Header number in the packet. A
           value of 255 means match all.  Note that the protocol
           number of 255 is reserved by IANA, and Next-Header
           number of 0 is used in IPv6."
      DEFVAL { 255 }
      ::= { mplsFTNEntry 14 }
        
   mplsFTNProtocol OBJECT-TYPE
      SYNTAX             Integer32 (0..255)
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The IP protocol to match against the IPv4 protocol
           number or IPv6 Next-Header number in the packet. A
           value of 255 means match all.  Note that the protocol
           number of 255 is reserved by IANA, and Next-Header
           number of 0 is used in IPv6."
      DEFVAL { 255 }
      ::= { mplsFTNEntry 14 }
        

mplsFTNDscp OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-create STATUS current

mplsFTNDscp对象类型语法Dscp MAX-ACCESS read create STATUS current

      DESCRIPTION
          "The contents of the DSCP field."
      REFERENCE
          "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."
      ::= { mplsFTNEntry 15 }
        
      DESCRIPTION
          "The contents of the DSCP field."
      REFERENCE
          "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."
      ::= { mplsFTNEntry 15 }
        
   mplsFTNActionType OBJECT-TYPE
      SYNTAX    INTEGER {
                   redirectLsp(1),   -- redirect into LSP
                   redirectTunnel(2) -- redirect into tunnel
                }
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The type of action to be taken on packets matching this
           FTN entry."
      ::= { mplsFTNEntry 16 }
        
   mplsFTNActionType OBJECT-TYPE
      SYNTAX    INTEGER {
                   redirectLsp(1),   -- redirect into LSP
                   redirectTunnel(2) -- redirect into tunnel
                }
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The type of action to be taken on packets matching this
           FTN entry."
      ::= { mplsFTNEntry 16 }
        

mplsFTNActionPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsFTNActionType is redirectLsp(1), then this object MUST contain zeroDotZero or point to a instance of mplsXCEntry indicating the LSP to redirect matching packets to.

mplsFTNActionPointer对象类型语法RowPointer MAX-ACCESS读取创建状态当前描述“如果mplsFTNActionType为redirectLsp(1),则此对象必须包含zeroDotZero或指向mplsXCEntry的实例,该实例指示要将匹配数据包重定向到的LSP。

If mplsFTNActionType is redirectTunnel(2), then this object MUST contain zeroDotZero or point to a instance of mplsTunnelEntry indicating the MPLS TE tunnel to redirect matching packets to.

如果mplsFTNActionType是redirectTunnel(2),则此对象必须包含zeroDotZero或指向指示要将匹配数据包重定向到的MPLS TE隧道的mplsTunnelEntry实例。

If this object points to a conceptual row instance in a table consistent with mplsFTNActionType but this instance does not currently exist then no action will be taken on packets matching such an FTN entry till this instance comes into existence.

如果此对象指向与mplsFTNActionType一致的表中的概念行实例,但该实例当前不存在,则在该实例存在之前,不会对匹配此类FTN条目的数据包采取任何操作。

           If this object contains zeroDotZero then no action will
           be taken on packets matching such an FTN entry till it
           is populated with a valid pointer consistent with the
           value of mplsFTNActionType as explained above."
      ::= { mplsFTNEntry 17 }
        
           If this object contains zeroDotZero then no action will
           be taken on packets matching such an FTN entry till it
           is populated with a valid pointer consistent with the
           value of mplsFTNActionType as explained above."
      ::= { mplsFTNEntry 17 }
        
   mplsFTNStorageType OBJECT-TYPE
      SYNTAX             StorageType
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The storage type for this FTN entry. Conceptual rows
           having the value 'permanent' need not allow write-
           access to any columnar objects in the row."
      DEFVAL { nonVolatile }
      ::= { mplsFTNEntry 18 }
        
   mplsFTNStorageType OBJECT-TYPE
      SYNTAX             StorageType
      MAX-ACCESS         read-create
      STATUS             current
      DESCRIPTION
          "The storage type for this FTN entry. Conceptual rows
           having the value 'permanent' need not allow write-
           access to any columnar objects in the row."
      DEFVAL { nonVolatile }
      ::= { mplsFTNEntry 18 }
        

-- End of mplsFTNTable.

--MPLSTNTABLE的结尾。

-- Last time an object in mplsFTNMapTable changed.

--上次更改MPLSTNMAPTABLE中的对象时。

   mplsFTNMapTableLastChanged OBJECT-TYPE
      SYNTAX              TimeStamp
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Indicates the last time an entry was added, deleted or
           modified in mplsFTNMapTable. Management stations should
           consult this object to determine if the table requires
           their attention.  This object is particularly useful
           for applications performing a retrieval on
           mplsFTNMapTable to ensure that the table is not
           modified during the retrieval operation."
      ::=  { mplsFTNObjects 4 }
        
   mplsFTNMapTableLastChanged OBJECT-TYPE
      SYNTAX              TimeStamp
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Indicates the last time an entry was added, deleted or
           modified in mplsFTNMapTable. Management stations should
           consult this object to determine if the table requires
           their attention.  This object is particularly useful
           for applications performing a retrieval on
           mplsFTNMapTable to ensure that the table is not
           modified during the retrieval operation."
      ::=  { mplsFTNObjects 4 }
        

-- FTN to interface mapping table.

--FTN到接口映射表。

mplsFTNMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsFTNMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects which provide the capability to apply or map FTN rules as defined by entries in mplsFTNTable to specific interfaces in the system. FTN rules are compared with incoming packets in the order in which they are applied on an interface.

MPLSTNMPENTRY MAX-ACCESS的MPLSTNMAPTABLE对象类型语法序列不可访问状态当前描述“此表包含的对象提供了将MPLSTNTABLE中的条目定义的FTN规则应用或映射到系统中特定接口的能力。FTN规则按照在接口上应用的顺序与传入数据包进行比较。

The indexing structure of mplsFTNMapTable is as follows.

MPLSTNMAPTABLE的索引结构如下所示。

- mplsFTNMapIndex indicates the interface to which the rule is being applied. A value of 0 represents the application of the rule to all interfaces.

- MPLSTNAMAPINDEX指示应用规则的接口。值0表示规则对所有接口的应用。

- mplsFTNMapPrevIndex specifies the rule on the interface prior to the one being applied. A value of 0 specifies that the rule is being inserted at the head of the list of rules currently applied to the interface.

- MPLSTNAMPPREVINDEX指定应用接口之前接口上的规则。值0指定将规则插入当前应用于接口的规则列表的开头。

- mplsFTNMapCurrIndex is the index in mplsFTNTable corresponding to the rule being applied.

- MPLSTNAMPCURRINDEX是MPLSTNTABLE中与应用的规则相对应的索引。

This indexing structure makes the entries in the table behave like items in a linked-list. The object mplsFTNMapPrevIndex in each conceptual row is a pointer to the previous entry that is applied to a particular interface. This allows a new entry to be 'inserted' at an arbitrary position in a list of entries currently applied to an interface. This object is self-adjusting, i.e., its value is automatically adjusted by the agent, if necessary, after an insertion or deletion operation.

这种索引结构使表中的项的行为类似于链表中的项。每个概念行中的对象MPLSTNAMPPREVINDEX是指向应用于特定接口的上一个条目的指针。这允许在当前应用于接口的条目列表中的任意位置“插入”新条目。此对象是自调整的,即在插入或删除操作后,如果需要,代理会自动调整其值。

Using this linked-list structure, one can retrieve FTN entries in the order of application on a per-interface basis as follows:

使用此链表结构,可以按应用程序的顺序在每个接口的基础上检索FTN条目,如下所示:

- To determine the first FTN entry on an interface with index ifIndex perform a GETNEXT retrieval operation on mplsFTNMapRowStatus.ifIndex.0.0; the returned object, if one exists, is (say) mplsFTNMapRowStatus.ifIndex.0.n (mplsFTNMapRowStatus is the first accessible columnar object in the conceptual row). Then the index of the first FTN entry applied on this interface is n.

- 要确定索引为ifIndex的接口上的第一个FTN条目,请在MPLSTNAMAPROWSTATUS.ifIndex.0.0上执行GETNEXT检索操作;返回的对象(如果存在)是(比如)MPLSTNAMAPROWSTATUS.ifIndex.0.n(MPLSTNAMAPROWSTATUS是概念行中第一个可访问的列对象)。那么这个接口上应用的第一个FTN条目的索引是n。

- To determine the FTN entry applied to an interface after the one indexed by n perform a GETNEXT retrieval operation on mplsFTNMapRowStatus.ifIndex.n.0. If such an entry exists the returned object would be of the form mplsFTNMapRowStatus.ifIndex.n.m. Then the index of the next FTN entry applied on this interface is m.

- 要在由n索引的接口之后确定应用于该接口的FTN条目,请在MPLSTNAMAPROWSTATUS.ifIndex.n.0上执行GETNEXT检索操作。如果存在这样一个条目,则返回的对象的形式为MPLSTNAMAPROWSTATUS.ifIndex.n.m。那么这个接口上应用的下一个FTN条目的索引是m。

- If the FTN entry indexed by n is the last entry applied to the interface with index ifIndex then the object returned would either be:

- 如果由n索引的FTN条目是应用于具有索引ifIndex的接口的最后一个条目,则返回的对象可能是:

1.mplsFTNMapRowStatus.ifIndexNext.0.k, where ifIndexNext is the index of the next interface in

1.mplstftnmaprowstatus.ifIndexNext.0.k,其中ifIndexNext是中下一个接口的索引

ifTable to which an FTN entry has been applied, in which case k is the index of the first FTN entry applied to the interface with index ifIndexNext;

已应用FTN条目的ifTable,在这种情况下,k是应用于具有索引ifIndexNext的接口的第一个FTN条目的索引;

or:

或:

2.mplsFTNMapStorageType.firstIfIndex.0.p, if there are no more entries in mplsFTNMapTable, where firstIfIndex is the first entry in ifTable to which an FTN entry has been mapped.

2.mplstnmapstorageType.FirstiIndex.0.p,如果MPlstnmaptable中没有更多条目,其中FirstiIndex是FTN条目映射到的ifTable中的第一个条目。

Use the above steps to retrieve all the applied FTN entries on a per-interface basis in application order. Note that the number of retrieval operations is the same as the number of applied FTN entries (i.e., the minimum number of GETNEXT operations needed using any indexing scheme).

使用上述步骤以应用程序顺序检索每个接口上应用的所有FTN条目。请注意,检索操作的数量与应用的FTN条目的数量相同(即,使用任何索引方案所需的GETNEXT操作的最小数量)。

Agents MUST NOT allow the same FTN entry as specified by mplsFTNMapCurrIndex to be applied multiple times to the same interface.

代理程序不得允许将MPLSTFNMAPCURRINDEX指定的同一FTN条目多次应用于同一接口。

Agents MUST NOT allow the creation of rows in this table until the corresponding rows are created in the mplsFTNTable.

在MPLSTNTABLE中创建相应的行之前,代理程序不得允许在此表中创建行。

           If a row in mplsFTNTable is destroyed, the agent MUST
           destroy the corresponding entries (i.e., ones with a
           matching value of mplsFTNCurrIndex) in this table as
           well."
      ::=  { mplsFTNObjects 5 }
        
           If a row in mplsFTNTable is destroyed, the agent MUST
           destroy the corresponding entries (i.e., ones with a
           matching value of mplsFTNCurrIndex) in this table as
           well."
      ::=  { mplsFTNObjects 5 }
        
   mplsFTNMapEntry OBJECT-TYPE
      SYNTAX              MplsFTNMapEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Each conceptual row represents the application of an
           FTN rule at a specific position in the list of FTN
           rules applied on an interface. "
      INDEX {
            mplsFTNMapIndex,
            mplsFTNMapPrevIndex,
            mplsFTNMapCurrIndex
      }
      ::=  { mplsFTNMapTable 1 }
        
   mplsFTNMapEntry OBJECT-TYPE
      SYNTAX              MplsFTNMapEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Each conceptual row represents the application of an
           FTN rule at a specific position in the list of FTN
           rules applied on an interface. "
      INDEX {
            mplsFTNMapIndex,
            mplsFTNMapPrevIndex,
            mplsFTNMapCurrIndex
      }
      ::=  { mplsFTNMapTable 1 }
        
   MplsFTNMapEntry  ::=  SEQUENCE {
        
   MplsFTNMapEntry  ::=  SEQUENCE {
        

mplsFTNMapIndex InterfaceIndexOrZero, mplsFTNMapPrevIndex MplsFTNEntryIndexOrZero, mplsFTNMapCurrIndex MplsFTNEntryIndex, mplsFTNMapRowStatus RowStatus, mplsFTNMapStorageType StorageType }

MPLSTNAMAPINDEX接口索引零、MPLSTNAMPPREVINDEX MPLSTNENTRYINDEX零、MPLSTNAMPCURREINDEX MPLSTNENTRYINDEX、MPLSTNAMAPROWSTATUS RowStatus、MPLSTNAMAPSTORAGETYPE StorageType}

mplsFTNMapIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "The interface index that this FTN entry is being applied to. A value of zero indicates an entry that is applied all interfaces.

MPLSTNAMAPINDEX对象类型语法接口INDEXORZERO MAX-ACCESS not ACCESS STATUS current DESCRIPTION“应用此FTN项的接口索引。值为零表示应用于所有接口的项。

           Entries mapped to an interface by specifying its (non-
           zero) interface index in mplsFTNMapIndex are applied
           ahead of entries with mplsFTNMapIndex equal to zero."
      ::= { mplsFTNMapEntry 1 }
        
           Entries mapped to an interface by specifying its (non-
           zero) interface index in mplsFTNMapIndex are applied
           ahead of entries with mplsFTNMapIndex equal to zero."
      ::= { mplsFTNMapEntry 1 }
        
   mplsFTNMapPrevIndex OBJECT-TYPE
      SYNTAX              MplsFTNEntryIndexOrZero
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The index of the previous FTN entry that was applied to
           this interface. The special value zero indicates that
           this should be the first FTN entry in the list."
      ::=  { mplsFTNMapEntry 2 }
        
   mplsFTNMapPrevIndex OBJECT-TYPE
      SYNTAX              MplsFTNEntryIndexOrZero
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The index of the previous FTN entry that was applied to
           this interface. The special value zero indicates that
           this should be the first FTN entry in the list."
      ::=  { mplsFTNMapEntry 2 }
        
   mplsFTNMapCurrIndex OBJECT-TYPE
      SYNTAX              MplsFTNEntryIndex
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Index of the current FTN entry that is being applied to
           this interface."
      ::=  { mplsFTNMapEntry 3 }
        
   mplsFTNMapCurrIndex OBJECT-TYPE
      SYNTAX              MplsFTNEntryIndex
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Index of the current FTN entry that is being applied to
           this interface."
      ::=  { mplsFTNMapEntry 3 }
        
   mplsFTNMapRowStatus OBJECT-TYPE
      SYNTAX              RowStatus {
                                active(1),
                                createAndGo(4),
                                destroy(6)
                             }
      MAX-ACCESS          read-create
      STATUS              current
        
   mplsFTNMapRowStatus OBJECT-TYPE
      SYNTAX              RowStatus {
                                active(1),
                                createAndGo(4),
                                destroy(6)
                             }
      MAX-ACCESS          read-create
      STATUS              current
        

DESCRIPTION "Used for controlling the creation and deletion of this row.

DESCRIPTION“用于控制此行的创建和删除。

All writable objects in this row may be modified at any time.

可以随时修改此行中的所有可写对象。

           If a conceptual row in mplsFTNMapTable points to a
           conceptual row in mplsFTNTable which is subsequently
           deleted, the corresponding conceptual row in
           mplsFTNMapTable MUST also be deleted by the agent."
      ::=  { mplsFTNMapEntry 4 }
        
           If a conceptual row in mplsFTNMapTable points to a
           conceptual row in mplsFTNTable which is subsequently
           deleted, the corresponding conceptual row in
           mplsFTNMapTable MUST also be deleted by the agent."
      ::=  { mplsFTNMapEntry 4 }
        
   mplsFTNMapStorageType OBJECT-TYPE
      SYNTAX              StorageType
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "The storage type for this entry.  Conceptual rows
           having the value 'permanent' need not allow write-
           access to any columnar objects in this row."
      DEFVAL { nonVolatile }
      ::= { mplsFTNMapEntry 5 }
        
   mplsFTNMapStorageType OBJECT-TYPE
      SYNTAX              StorageType
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "The storage type for this entry.  Conceptual rows
           having the value 'permanent' need not allow write-
           access to any columnar objects in this row."
      DEFVAL { nonVolatile }
      ::= { mplsFTNMapEntry 5 }
        

-- End of mplsFTNMapTable

--MPLSTFNTAMPTABLE的结尾

-- FTN entry performance table

--FTN入口性能表

   mplsFTNPerfTable OBJECT-TYPE
      SYNTAX              SEQUENCE OF MplsFTNPerfEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "This table contains performance statistics on FTN
           entries on a per-interface basis."
      ::= { mplsFTNObjects 6 }
        
   mplsFTNPerfTable OBJECT-TYPE
      SYNTAX              SEQUENCE OF MplsFTNPerfEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "This table contains performance statistics on FTN
           entries on a per-interface basis."
      ::= { mplsFTNObjects 6 }
        
   mplsFTNPerfEntry OBJECT-TYPE
      SYNTAX              MplsFTNPerfEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Each entry contains performance information for the
           specified interface and an FTN entry mapped to this
           interface."
      INDEX  { mplsFTNPerfIndex, mplsFTNPerfCurrIndex }
      ::=  { mplsFTNPerfTable 1 }
        
   mplsFTNPerfEntry OBJECT-TYPE
      SYNTAX              MplsFTNPerfEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Each entry contains performance information for the
           specified interface and an FTN entry mapped to this
           interface."
      INDEX  { mplsFTNPerfIndex, mplsFTNPerfCurrIndex }
      ::=  { mplsFTNPerfTable 1 }
        
   MplsFTNPerfEntry  ::=  SEQUENCE {
         mplsFTNPerfIndex                     InterfaceIndexOrZero,
         mplsFTNPerfCurrIndex                 MplsFTNEntryIndex,
         mplsFTNPerfMatchedPackets            Counter64,
         mplsFTNPerfMatchedOctets             Counter64,
         mplsFTNPerfDiscontinuityTime         TimeStamp
      }
        
   MplsFTNPerfEntry  ::=  SEQUENCE {
         mplsFTNPerfIndex                     InterfaceIndexOrZero,
         mplsFTNPerfCurrIndex                 MplsFTNEntryIndex,
         mplsFTNPerfMatchedPackets            Counter64,
         mplsFTNPerfMatchedOctets             Counter64,
         mplsFTNPerfDiscontinuityTime         TimeStamp
      }
        
   mplsFTNPerfIndex OBJECT-TYPE
      SYNTAX              InterfaceIndexOrZero
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The interface index of an interface that an FTN entry
           has been applied/mapped to.  Each instance of this
           object corresponds to an instance of mplsFTNMapIndex."
      ::= { mplsFTNPerfEntry 1 }
        
   mplsFTNPerfIndex OBJECT-TYPE
      SYNTAX              InterfaceIndexOrZero
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The interface index of an interface that an FTN entry
           has been applied/mapped to.  Each instance of this
           object corresponds to an instance of mplsFTNMapIndex."
      ::= { mplsFTNPerfEntry 1 }
        
   mplsFTNPerfCurrIndex OBJECT-TYPE
      SYNTAX              MplsFTNEntryIndex
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Index of an FTN entry that has been applied/mapped to
           the specified interface.  Each instance of this object
           corresponds to an instance of mplsFTNMapCurrIndex."
      ::=  { mplsFTNPerfEntry 2 }
        
   mplsFTNPerfCurrIndex OBJECT-TYPE
      SYNTAX              MplsFTNEntryIndex
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "Index of an FTN entry that has been applied/mapped to
           the specified interface.  Each instance of this object
           corresponds to an instance of mplsFTNMapCurrIndex."
      ::=  { mplsFTNPerfEntry 2 }
        
   mplsFTNPerfMatchedPackets OBJECT-TYPE
      SYNTAX              Counter64
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Number of packets that matched the specified FTN entry
           if it is applied/mapped to the specified interface.
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, and at
           other times as indicated by the value of
           mplsFTNDiscontinuityTime."
      ::= { mplsFTNPerfEntry 3 }
        
   mplsFTNPerfMatchedPackets OBJECT-TYPE
      SYNTAX              Counter64
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Number of packets that matched the specified FTN entry
           if it is applied/mapped to the specified interface.
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, and at
           other times as indicated by the value of
           mplsFTNDiscontinuityTime."
      ::= { mplsFTNPerfEntry 3 }
        

mplsFTNPerfMatchedOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of octets that matched the specified FTN entry if it is applied/mapped to the specified interface.

MPLSTNPerfMatchedOctets对象类型语法计数器64 MAX-ACCESS只读状态当前描述“匹配指定FTN条目(如果应用/映射到指定接口)的八位字节数。

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, and at
           other times as indicated by the value of
           mplsFTNDiscontinuityTime."
      ::= { mplsFTNPerfEntry 4 }
        
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, and at
           other times as indicated by the value of
           mplsFTNDiscontinuityTime."
      ::= { mplsFTNPerfEntry 4 }
        
   mplsFTNPerfDiscontinuityTime OBJECT-TYPE
      SYNTAX              TimeStamp
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
           which any one or more of this entry's counters suffered
           a discontinuity.  If no such discontinuities have
           occurred since the last re-initialization of the local
           management subsystem, then this object contains a zero
           value."
      ::= { mplsFTNPerfEntry 5 }
        
   mplsFTNPerfDiscontinuityTime OBJECT-TYPE
      SYNTAX              TimeStamp
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
           which any one or more of this entry's counters suffered
           a discontinuity.  If no such discontinuities have
           occurred since the last re-initialization of the local
           management subsystem, then this object contains a zero
           value."
      ::= { mplsFTNPerfEntry 5 }
        

-- End of mplsFTNPerfTable

--MPLSTFTNPerfTable的结尾

-- Module compliance.

--模块合规性。

-- Top level object IDs.

--顶级对象ID。

   mplsFTNGroups
      OBJECT IDENTIFIER ::= { mplsFTNConformance 1 }
   mplsFTNCompliances
      OBJECT IDENTIFIER ::= { mplsFTNConformance 2 }
        
   mplsFTNGroups
      OBJECT IDENTIFIER ::= { mplsFTNConformance 1 }
   mplsFTNCompliances
      OBJECT IDENTIFIER ::= { mplsFTNConformance 2 }
        

-- Compliance requirement for fully compliant implementations. mplsFTNModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support for MPLS-FTN-STD-MIB."

--完全合规实施的合规性要求。MPLSTNModuleFullCompliance MODULE-COMPLIANCE STATUS当前描述“为MPLS-FTN-STD-MIB提供完全支持的代理的符合性声明。”

      MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
      MANDATORY-GROUPS {
         ifGeneralInformationGroup,
         ifCounterDiscontinuityGroup
      }
        
      MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
      MANDATORY-GROUPS {
         ifGeneralInformationGroup,
         ifCounterDiscontinuityGroup
      }
        

MODULE -- This module. MANDATORY-GROUPS { mplsFTNRuleGroup, mplsFTNMapGroup, mplsFTNPerfGroup

模块——这个模块。强制组{MPLSTNRULEGROUP,MPLSTNMPGROUP,MPLSTNPERGROUP

}

}

OBJECT mplsFTNAddrType SYNTAX InetAddressType { ipv4(1), ipv6(2) } DESCRIPTION "An implementation is only required to support IPv4 and/or IPv6 addresses. An implementation is only required to support the address types that are actually supported on the LSR."

对象mplsFTNAddrType语法InetAddressType{ipv4(1),ipv6(2)}说明“实现仅需要支持ipv4和/或ipv6地址。实现仅需要支持LSR上实际支持的地址类型。”

OBJECT mplsFTNSourceAddrMin SYNTAX InetAddress (SIZE (4 | 20)) DESCRIPTION "An implementation is only required to support IPv4 and/or IPv6 addresses. An implementation is only required to support the address types that are actually supported on the LSR."

对象MPLSTNSOURCEADDRMIN语法InetAddress(大小(4 | 20))说明“实现仅需要支持IPv4和/或IPv6地址。实现仅需要支持LSR上实际支持的地址类型。”

OBJECT mplsFTNSourceAddrMax SYNTAX InetAddress (SIZE (4 | 20)) DESCRIPTION "An implementation is only required to support IPv4 and/or IPv6 addresses. An implementation is only required to support the address types that are actually supported on the LSR."

对象MPLSTNSOURCEADDRMAX语法InetAddress(大小(4 | 20))说明“实现仅需要支持IPv4和/或IPv6地址。实现仅需要支持LSR上实际支持的地址类型。”

OBJECT mplsFTNDestAddrMin SYNTAX InetAddress (SIZE (4 | 20)) DESCRIPTION "An implementation is only required to support IPv4 and/or IPv6 addresses. An implementation is only required to support the address types that are actually supported on the LSR."

对象mplsFTNDestAddrMin语法InetAddress(大小(4 | 20))说明“实现仅需要支持IPv4和/或IPv6地址。实现仅需要支持LSR上实际支持的地址类型。”

      OBJECT mplsFTNDestAddrMax
      SYNTAX       InetAddress (SIZE (4 | 20))
      DESCRIPTION
          "An implementation is only required to support IPv4
           and/or IPv6 addresses.  An implementation is only
           required to support the address types that are actually
           supported on the LSR."
      ::= { mplsFTNCompliances 1 }
        
      OBJECT mplsFTNDestAddrMax
      SYNTAX       InetAddress (SIZE (4 | 20))
      DESCRIPTION
          "An implementation is only required to support IPv4
           and/or IPv6 addresses.  An implementation is only
           required to support the address types that are actually
           supported on the LSR."
      ::= { mplsFTNCompliances 1 }
        

-- Compliance requirement for read-only implementations. mplsFTNModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that only

--只读实现的法规遵从性要求。MPLSTNMODULREADONLY符合性模块-符合性状态当前描述“仅适用于以下情况的实施的符合性要求”

provide read-only support for MPLS-FTN-STD-MIB. Such devices can then be monitored but cannot be configured using this MIB module."

为MPLS-FTN-STD-MIB提供只读支持。然后可以监视这些设备,但不能使用此MIB模块进行配置。”

      MODULE IF-MIB -- The interfaces Group MIB, RFC 2863
      MANDATORY-GROUPS {
         ifGeneralInformationGroup,
         ifCounterDiscontinuityGroup
      }
        
      MODULE IF-MIB -- The interfaces Group MIB, RFC 2863
      MANDATORY-GROUPS {
         ifGeneralInformationGroup,
         ifCounterDiscontinuityGroup
      }
        
      MODULE -- This module
      MANDATORY-GROUPS {
         mplsFTNRuleGroup,
         mplsFTNMapGroup,
         mplsFTNPerfGroup
      }
        
      MODULE -- This module
      MANDATORY-GROUPS {
         mplsFTNRuleGroup,
         mplsFTNMapGroup,
         mplsFTNPerfGroup
      }
        

OBJECT mplsFTNIndexNext MIN-ACCESS not-accessible DESCRIPTION "This object is not needed when mplsFTNTable is implemented as read-only."

对象MPLSTNINDEXNEXT MIN-ACCESS not ACCESS描述“当MPLSTNTABLE实现为只读时,不需要此对象。”

OBJECT mplsFTNRowStatus SYNTAX RowStatus { active(1) } MIN-ACCESS read-only DESCRIPTION "Write access is not required, and active is the only status that needs to be supported."

对象MPLSTNROWSTATUS语法RowStatus{active(1)}MIN-ACCESS只读说明“不需要写访问,并且active是需要支持的唯一状态。”

OBJECT mplsFTNDescr MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象mplsFTNDescr最小访问只读描述“不需要写访问。”

OBJECT mplsFTNMask MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象MPLSTNMAK最小访问只读描述“不需要写访问。”

OBJECT mplsFTNAddrType SYNTAX InetAddressType { ipv4(1), ipv6(2) } MIN-ACCESS read-only DESCRIPTION "Write access is not required. An implementation is only required to support IPv4 and IPv6 addresses."

对象mplsFTNAddrType语法InetAddressType{ipv4(1),ipv6(2)}MIN-ACCESS只读说明“不需要写访问。只需要实现来支持ipv4和ipv6地址。”

OBJECT mplsFTNSourceAddrMin

对象mplstftnsourceaddrmin

SYNTAX InetAddress (SIZE (4 | 20)) MIN-ACCESS read-only DESCRIPTION "Write access is not required. An implementation is only required to support IPv4 and IPv6 addresses."

语法InetAddress(大小(4 | 20))MIN-ACCESS只读说明“不需要写访问。只需要实现来支持IPv4和IPv6地址。”

OBJECT mplsFTNSourceAddrMax SYNTAX InetAddress (SIZE (4 | 20)) MIN-ACCESS read-only DESCRIPTION "Write access is not required. An implementation is only required to support IPv4 and IPv6 addresses."

对象MPLSTNSOURCEADDRMAX语法InetAddress(大小(4 | 20))最小访问只读说明“不需要写访问。只需要实现来支持IPv4和IPv6地址。”

OBJECT mplsFTNDestAddrMin SYNTAX InetAddress (SIZE (4 | 20)) MIN-ACCESS read-only DESCRIPTION "Write access is not required. An implementation is only required to support IPv4 and IPv6 addresses."

对象mplsFTNDestAddrMin语法InetAddress(大小(4 | 20))MIN-ACCESS只读说明“不需要写访问。只需要实现来支持IPv4和IPv6地址。”

OBJECT mplsFTNDestAddrMax SYNTAX InetAddress (SIZE (4 | 20)) MIN-ACCESS read-only DESCRIPTION "Write access is not required. An implementation is only required to support IPv4 and IPv6 addresses."

对象mplsFTNDestAddrMax语法InetAddress(大小(4 | 20))最小访问只读说明“不需要写访问。只需要实现来支持IPv4和IPv6地址。”

OBJECT mplsFTNSourcePortMin MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象MPLSTNSOURCEPORTMIN MIN-ACCESS只读描述“不需要写访问。”

OBJECT mplsFTNSourcePortMax MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象mplsFTNSourcePortMax最小访问只读描述“不需要写访问。”

OBJECT mplsFTNDestPortMin MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象MPLSTFNTestPortmin MIN-ACCESS只读描述“不需要写访问。”

OBJECT mplsFTNDestPortMax MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象MPLSTFNTestPortMax最小访问只读描述“不需要写访问。”

OBJECT mplsFTNProtocol

对象MPLSTFNProtocol

MIN-ACCESS read-only DESCRIPTION "Write access is not required."

MIN-ACCESS只读说明“不需要写访问。”

OBJECT mplsFTNActionType MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象mplsFTNActionType MIN-ACCESS只读描述“不需要写访问。”

OBJECT mplsFTNActionPointer MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象mplsFTNActionPointer MIN-ACCESS只读说明“不需要写访问。”

OBJECT mplsFTNDscp MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象mplsFTNDscp最小访问只读描述“不需要写访问。”

OBJECT mplsFTNStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required."

对象mplsFTNStorageType MIN-ACCESS只读说明“不需要写访问。”

OBJECT mplsFTNMapRowStatus SYNTAX RowStatus { active(1) } MIN-ACCESS read-only DESCRIPTION "Write access is not required, and active(1) is the only status that needs to be supported."

对象MPLSTNAMAPROWSTATUS语法RowStatus{active(1)}MIN-ACCESS只读说明“不需要写访问,active(1)是需要支持的唯一状态。”

      OBJECT mplsFTNMapStorageType
      MIN-ACCESS   read-only
      DESCRIPTION
          "Write access is not required."
      ::= { mplsFTNCompliances 2 }
        
      OBJECT mplsFTNMapStorageType
      MIN-ACCESS   read-only
      DESCRIPTION
          "Write access is not required."
      ::= { mplsFTNCompliances 2 }
        

-- Units of conformance. mplsFTNRuleGroup OBJECT-GROUP OBJECTS { mplsFTNIndexNext, mplsFTNTableLastChanged, mplsFTNRowStatus, mplsFTNDescr, mplsFTNMask, mplsFTNAddrType, mplsFTNSourceAddrMin, mplsFTNSourceAddrMax,

--一致性单位。MPLSTNRULEGROUP对象组对象{MPLSTNINDEXNEXT,MPLSTNTABLEASTCHANGED,MPLSTNROWSTATUS,MPLSTNDESCR,MPLSTNMASK,MPLSTNADDRTYPE,MPLSTNSOURCEADDRMIN,MPLSTNSOURCEADDRMAX,

            mplsFTNDestAddrMin,
            mplsFTNDestAddrMax,
            mplsFTNSourcePortMin,
            mplsFTNSourcePortMax,
            mplsFTNDestPortMin,
            mplsFTNDestPortMax,
            mplsFTNProtocol,
            mplsFTNActionType,
            mplsFTNActionPointer,
            mplsFTNDscp,
            mplsFTNStorageType
      }
      STATUS current
      DESCRIPTION
          "Collection of objects that implement MPLS FTN rules."
      ::= { mplsFTNGroups 1 }
        
            mplsFTNDestAddrMin,
            mplsFTNDestAddrMax,
            mplsFTNSourcePortMin,
            mplsFTNSourcePortMax,
            mplsFTNDestPortMin,
            mplsFTNDestPortMax,
            mplsFTNProtocol,
            mplsFTNActionType,
            mplsFTNActionPointer,
            mplsFTNDscp,
            mplsFTNStorageType
      }
      STATUS current
      DESCRIPTION
          "Collection of objects that implement MPLS FTN rules."
      ::= { mplsFTNGroups 1 }
        
   mplsFTNMapGroup OBJECT-GROUP
      OBJECTS {
            mplsFTNMapTableLastChanged,
            mplsFTNMapRowStatus,
            mplsFTNMapStorageType
      }
      STATUS current
      DESCRIPTION
          "Collection of objects that implement activation of MPLS
           FTN entries on interfaces."
      ::= { mplsFTNGroups 2 }
        
   mplsFTNMapGroup OBJECT-GROUP
      OBJECTS {
            mplsFTNMapTableLastChanged,
            mplsFTNMapRowStatus,
            mplsFTNMapStorageType
      }
      STATUS current
      DESCRIPTION
          "Collection of objects that implement activation of MPLS
           FTN entries on interfaces."
      ::= { mplsFTNGroups 2 }
        
   mplsFTNPerfGroup OBJECT-GROUP
      OBJECTS {
            mplsFTNPerfMatchedPackets,
            mplsFTNPerfMatchedOctets,
            mplsFTNPerfDiscontinuityTime
      }
      STATUS current
      DESCRIPTION
          "Collection of objects providing MPLS FTN performance
           information."
      ::= { mplsFTNGroups 3 }
        
   mplsFTNPerfGroup OBJECT-GROUP
      OBJECTS {
            mplsFTNPerfMatchedPackets,
            mplsFTNPerfMatchedOctets,
            mplsFTNPerfDiscontinuityTime
      }
      STATUS current
      DESCRIPTION
          "Collection of objects providing MPLS FTN performance
           information."
      ::= { mplsFTNGroups 3 }
        

END

终止

10. Security Considerations
10. 安全考虑

This MIB module can be used to configure LSRs to redirect non-MPLS traffic into an MPLS cloud. As such, improper manipulation of the objects represented in this MIB module may result in traffic being redirected to unintended destinations, potentially resulting in denial of service to end-users.

此MIB模块可用于配置LSR以将非MPLS流量重定向到MPLS云中。因此,对该MIB模块中表示的对象的不当操作可能会导致流量重定向到非预期目的地,从而可能导致拒绝向最终用户提供服务。

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 are the tables and objects and their sensitivity/vulnerability:

此MIB模块中定义了许多管理对象,其MAX-ACCESS子句为read-write和/或read-create。在某些网络环境中,此类对象可能被视为敏感或易受攻击。在没有适当保护的非安全环境中支持SET操作可能会对网络操作产生负面影响。以下是表和对象及其敏感度/漏洞:

- mplsFTNTable and mplsFTNMapTable can be used to create packet matching rules for classifying IPv4 or IPv6 traffic and redirecting matched packets into the MPLS cloud. Modifying objects in these tables can result in the misdirection of traffic and potential denial of service to end-users. It may also result in traffic which was intended to be redirected into the MPLS cloud being routed through the IP network instead, potentially resulting in degradation of service quality or outright denial of service.

- MPLSTNTABLE和MPLSTNMAPTABLE可用于创建数据包匹配规则,以对IPv4或IPv6流量进行分类,并将匹配的数据包重定向到MPLS云中。修改这些表中的对象可能会导致错误的流量方向和对最终用户的潜在拒绝服务。它还可能导致原本打算重定向到MPLS云的流量通过IP网络路由,从而可能导致服务质量下降或彻底拒绝服务。

Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:

在某些网络环境中,此MIB模块中的某些可读对象(即具有MAX-ACCESS而非not ACCESS的对象)可能被视为敏感或易受攻击。因此,在通过SNMP通过网络发送这些对象时,控制甚至获取和/或通知对这些对象的访问,甚至可能加密这些对象的值,这一点非常重要。以下是表和对象及其敏感度/漏洞:

- mplsFTNPerfTable provides counters for monitoring the performance of packet classification rules defined in mplsFTNTable and mplsFTNMapTable. Unauthorized read access to objects in these tables may be used to gain traffic flow information.

- MPLSTNPerfTable提供计数器,用于监视MPLSTNTABLE和MPLSTNMAPTABLE中定义的数据包分类规则的性能。对这些表中对象的未经授权的读取访问可用于获取交通流信息。

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), even then, 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, it is RECOMMENDED that SNMPv3 be deployed and cryptographic security be enabled. 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 to only those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

此外,不建议部署SNMPv3之前的SNMP版本。相反,建议部署SNMPv3并启用加密安全性。然后,客户/运营商有责任确保授予访问此MIB模块实例权限的SNMP实体正确配置为仅授予那些拥有确实获取或设置(更改/创建/删除)对象的合法权限的主体(用户)访问对象。

11. IANA Considerations
11. IANA考虑

As described in [MPLSMGMT] and as requested in [RFC3811], MPLS related standards-track MIB modules should be rooted under the mplsStdMIB subtree. New assignments can only be made by a standards action as specified in [RFC2434].

如[MPLSMGMT]中所述和[RFC3811]中所要求的,MPLS相关标准跟踪MIB模块应根在mplsStdMIB子树下。新分配只能通过[RFC2434]中规定的标准操作进行。

11.1. IANA Considerations for MPLS-FTN-STD-MIB
11.1. MPLS-FTN-STD-MIB的IANA注意事项

The IANA has assigned mplsStdMIB 8 to the MPLS-FTN-STD-MIB module specified in this document.

IANA已将MPLSTDMIB 8分配给本文件中指定的MPLS-FTN-STD-MIB模块。

12. References
12. 工具书类
12.1. Normative References
12.1. 规范性引用文件

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

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[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月。

[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.

[RFC2863]McCloghrie,K.和F.Kastenholz,“接口组MIB”,RFC 28632000年6月。

[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001.

[RFC3031]Rosen,E.,Viswanathan,A.,和R.Callon,“多协议标签交换体系结构”,RFC 30312001年1月。

[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月。

[RFC3291] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 3291, May 2002.

[RFC3291]Daniele,M.,Haberman,B.,Routhier,S.,和J.Schoenwaeld,“互联网网络地址的文本约定”,RFC 3291,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月。

[RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB)", RFC 3813, June 2004.

[RFC3813]Srinivasan,C.,Viswanathan,A.,和T.Nadeau,“多协议标签交换(MPLS)标签交换路由器(LSR)管理信息库(MIB)”,RFC 38132004年6月。

[RFC3811] Nadeau, T., and J. Cucchiara, J., Editors, "Definition of Textual Conventions (TCs) for Multi-Protocol Label Switching (MPLS) Management", RFC 3811, June 2004.

[RFC3811]Nadeau,T.和J.Cucchiara,J.编辑,“多协议标签交换(MPLS)管理的文本约定(TC)定义”,RFC 3811,2004年6月。

[RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB)", RFC 3812, June 2004.

[RFC3812]Srinivasan,C.,Viswanathan,A.,和T.Nadeau,“多协议标签交换(MPLS)流量工程(TE)管理信息库(MIB)”,RFC 3812,2004年6月。

12.2. Informative References
12.2. 资料性引用

[MPLSMGMT] Nadeau, T., Srinivasan, C., and A. Farrel, "Multiprotocol Label Switching (MPLS) Management Overview", Work in Progress, September 2003.

[MPLSMGMT]Nadeau,T.,Srinivasan,C.,和A.Farrel,“多协议标签交换(MPLS)管理概述”,正在进行的工作,2003年9月。

[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.

[RFC791]Postel,J.,“互联网协议”,标准5,RFC7911981年9月。

[RFC1519] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy", RFC 1519, September 1993.

[RFC1519]Fuller,V.,Li,T.,Yu,J.,和K.Varadhan,“无类域间路由(CIDR):地址分配和聚合策略”,RFC 1519,1993年9月。

[RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996.

[RFC2026]Bradner,S.,“互联网标准过程——第3版”,BCP 9,RFC 2026,1996年10月。

[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[RFC2434]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 2434,1998年10月。

[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.

[RFC2460]Deering,S.和R.Hinden,“互联网协议,第6版(IPv6)规范”,RFC 2460,1998年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月。

[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月。

13. Acknowledgements
13. 致谢

We would particularly like to thank Bert Wijnen for the substantial time and effort he spent in helping us improve this document. We would also like to thank David Perkins, Joan Cucchiara, Mike Piecuch, and Adrien Grise for their insightful comments and additions to this document.

我们要特别感谢Bert Wijnen花费大量时间和精力帮助我们改进本文件。我们还要感谢David Perkins、Joan Cucchiara、Mike Piecuch和Adrien Grise对本文件的深刻评论和补充。

14. Authors' Addresses
14. 作者地址

Thomas D. Nadeau Cisco Systems, Inc. 300 Apollo Drive Chelmsford, MA 01824

托马斯·纳多思科系统公司,马萨诸塞州切姆斯福德阿波罗大道300号,邮编01824

   Phone: +1-978-244-3051
   EMail: tnadeau@cisco.com
        
   Phone: +1-978-244-3051
   EMail: tnadeau@cisco.com
        

Cheenu Srinivasan Bloomberg L.P. 499 Park Avenue New York, NY 10022

Cheenu Srinivasan Bloomberg L.P.纽约州纽约市公园大道499号,邮编10022

   Phone: +1-212-893-3682
   EMail: cheenu@bloomberg.net
        
   Phone: +1-212-893-3682
   EMail: cheenu@bloomberg.net
        

Arun Viswanathan Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035

加利福尼亚州米尔皮塔斯麦卡锡大道1440号Arun Viswanathan Force10 Networks,Inc.95035

   Phone: +1-408-571-3516
   EMail: arunv@force10networks.com
        
   Phone: +1-408-571-3516
   EMail: arunv@force10networks.com
        
15. Full Copyright Statement
15. 完整版权声明

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编辑功能的资金目前由互联网协会提供。