RFC 3813 - Multiprotocol Label Switching (MPLS) Label Switch

时间:2006-10-31 来源: 作者: 点击:
NetworkWorkingGroupC.Srinivasan RequestforComments:3813BloombergL.P. Category:StandardTrackA.Viswanathan Force10Networks,Inc. T.Nadeau CiscoSystems,Inc. June2004 MultiprotocolLabelSwitching(MPLS)LabelSwitching Router(LSR)ManagementInformationBase(MIB
  Network Working Group                                      C. Srinivasan
Request for Comments: 3813                                Bloomberg L.P.
Category: Standard Track                                  A. Viswanathan
                                                  Force10 Networks, Inc.
                                                               T. Nadeau
                                                     Cisco Systems, Inc.
                                                               June 2004

         Multiprotocol Label Switching (MPLS) Label Switching
             Router (LSR) Management Information Base (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.

Copyright Notice

   Copyright (C) The Internet Society (2004).

Abstract

   This memo defines an portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects to configure and/or
   monitor a Multiprotocol Label Switching (MPLS) Label Switching Router
   (LSR).

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology. . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  The SNMP Management Framework. . . . . . . . . . . . . . . . .  3
   4.  Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
       4.1.  Summary of LSR MIB Module. . . . . . . . . . . . . . . .  4
   5.  Brief Description of MIB Module Objects. . . . . . . . . . . .  4
       5.1.  mplsInterfaceTable . . . . . . . . . . . . . . . . . . .  4
       5.2.  mplsInterfacePerfTable . . . . . . . . . . . . . . . . .  4
       5.3.  mplsInSegmentTable . . . . . . . . . . . . . . . . . . .  5
       5.4.  mplsInSegmentPerfTable . . . . . . . . . . . . . . . . .  5
       5.5.  mplsOutSegmentTable. . . . . . . . . . . . . . . . . . .  5
       5.6.  mplsOutSegmentPerfTable. . . . . . . . . . . . . . . . .  5
       5.7.  mplsXCTable. . . . . . . . . . . . . . . . . . . . . . .  5
       5.8.  mplsLabelStackTable. . . . . . . . . . . . . . . . . . .  6
       5.9.  mplsInSegmentMapTable. . . . . . . . . . . . . . . . . .  6
   6.  Use of 32-bit and 64-bit Counters. . . . . . . . . . . . . . .  6
   7.  Example of LSP Setup . . . . . . . . . . . . . . . . . . . . .  6
   8.  Application of the Interface Group to MPLS . . . . . . . . . .  8
       8.1.  Support of the MPLS Layer by ifTable . . . . . . . . . .  9
   9.  The Use of RowPointer. . . . . . . . . . . . . . . . . . . . . 10
   10. MPLS Label Switching Router MIB Module Definitions . . . . . . 11
   11. Security Considerations. . . . . . . . . . . . . . . . . . . . 55
   12. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 56
   13. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 56
       13.1. IANA Considerations for MPLS-LSR-STD-MIB . . . . . . . . 56
   14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 57
       14.1. Normative References . . . . . . . . . . . . . . . . . . 57
       14.2. Informative References . . . . . . . . . . . . . . . . . 58
   15. Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . . 59
   16. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 60

1.  Introduction

   This memo defines an portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects for modeling a
   Multiprotocol Label Switching (MPLS) [RFC3031] Label Switching Router
   (LSR).

   Comments should be made directly to the MPLS mailing list at
   mpls@uu.net.

   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,
   reference [RFC2119].

2.  Terminology

   This document uses terminology from the document describing the MPLS
   architecture [RFC3031].  A label switched path (LSP) is modeled as a
   connection consisting of one or more incoming segments (in-segments)
   and/or one or more outgoing segments (out-segments) at a LSR.  The
   association or interconnection of the in-segments and out-segments is
   accomplished by using a cross-connect.  We use the terminology
   "connection" and "LSP" interchangeably where the meaning is clear
   from the context.

      in-segment        This is analogous to an MPLS label.
      out-segment       This is analogous to an MPLS label.
      cross-connect     This describes the conceptual connection
                        between a set of in-segments and out-segments.
                        Note that either set may be 0; that is, a
                        cross-connect may connect only out-segments
                        together with no in-segments in the case
                        where an LSP is originating on an LSR.

3.  The SNMP Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   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].

4.  Outline

   Configuring LSPs through an LSR involves the following steps:

   -  Enabling MPLS on MPLS capable interfaces.

   -  Configuring in-segments and out-segments.

   -  Setting up the cross-connect table to associate segments and/or to
      indicate connection origination and termination.

   -  Optionally specifying label stack actions.

   -  Optionally specifying segment traffic parameters.

4.1.  Summary of LSR MIB Module

   The MIB objects for performing these actions consist of the following
   tables:

   -  The interface table (mplsInterfaceTable), which is used for
      revealing the MPLS protocol on MPLS-capable interfaces.

   -  The in-segment (mplsInSegmentTable) and out-segment
      (mplsOutSegmentTable) tables, which are used for configuring LSP
      segments at an LSR.

   -  The cross-connect table (mplsXCTable), which is used to associate
      in and out segments together, in order to form a cross-connect.

   -  The label stack table (mplsLabelStackTable), which is used for
      specifying label stack operations.

   Further, the MPLS in-segment and out-segment performance tables,
   mplsInSegmentPerfTable and mplsOutSegmentPerfTable, contain the
   objects necessary to measure the performance of LSPs, and
   mplsInterfacePerfTable has objects to measure MPLS performance on a
   per-interface basis.

   These tables are described in the subsequent sections.

5.  Brief Description of MIB Module Objects

   Sections 5.1-5.2 describe objects pertaining to MPLS-capable
   interfaces of an LSR.  The objects described in Sections 5.3-5.8,
   were derived from the Incoming Label Map (ILM) and Next Hop Label
   Forwarding Entry (NHLFE) as specified in the MPLS architecture
   document [RFC3031].  It is appropriate to note that the in-segment,
   out-segment, and cross-connect tables were modeled after similar
   tables found in [RFC2515].

5.1.  mplsInterfaceTable

   This table represents the interfaces that are MPLS capable.  An LSR
   creates an entry in this table for every MPLS capable interface on
   that LSR.

5.2.  mplsInterfacePerfTable

   This table contains objects to measure the MPLS performance of MPLS
   capable interfaces and is an AUGMENT to mplsInterfaceTable.

5.3.  mplsInSegmentTable

   This table contains a description of the incoming MPLS segments to an
   LSR and their associated parameters.  This index for this table is
   mplsInSegmentIndex.  The index structure of this table is
   specifically designed to handle many different MPLS implementations
   that manage their labels both in a distributed and centralized
   manner.

   The table is designed to handle existing MPLS labels as well as
   future label strategies that may require labels longer than the ones
   defined in RFC3031.  In these cases, the object mplsInSegmentLabelPtr
   may be used indicate the first accessible object in a separate table
   that can be used to represent the label because it is too long to be
   represented in a single 32-bit value (mplsInSegmentLabel).

5.4.  mplsInSegmentPerfTable

   The MPLS in-Segment Performance Table has objects to measure the
   performance of an incoming segment configured on an LSR.  It is an
   AUGMENT to mplsInSegmentTable.  High capacity counters are provided
   for objects that are likely to wrap around quickly on high-speed
   interfaces.

5.5.  mplsOutSegmentTable

   The out-Segment Table contains a description of the outgoing MPLS
   segments at an LSR and their associated parameters.

5.6.  mplsOutSegmentPerfTable

   The MPLS out-Segment Table contains objects to measure the
   performance of an outgoing segment configured on an LSR.  It is an
   AUGMENT to mplsOutSegmentTable.  High capacity counters are provided
   for objects that are likely to wrap around quickly on high-speed
   interfaces.

5.7.  mplsXCTable

   The mplsXCTable specifies information for associating segments
   together in order to instruct the LSR to switch between the specified
   segments.  It supports point-to-point, point-to-multipoint and
   multipoint-to-point connections.

   The operational status object indicates the packet forwarding state
   of a cross-connect entry.  For example, when the operational status
   objects is ’down’ it indicates that the specified cross-connect entry
   will not forward packets.  Likewise, when it is set to ’up’ it
   indicates that packets will be forwarded.

   The administrative status object indicates the forwarding state
   desired by the operator.

5.8.  mplsLabelStackTable

   The mplsLabelStackTable specifies the label stack to be pushed onto a
   packet, beneath the top label.  Entries to this table are referred to
   from mplsXCTable.

5.9   mplsInSegmentMapTable

   The mplsInSegmentMapTable specifies the mapping from the
   mplsInSegmentIndex to the corresponding mplsInSegmentInterface and
   mplsInSegmentLabel objects.  The purpose of this table is to provide
   the manager with an alternative means by which to locate in-segments.
   For instance, this table can be useful when tracing LSPs from LSR to
   LSR by first following the in-segment to out-segment, retrieving the
   outgoing label and out-going interface, and then proceeding to
   interrogate this table at the next-hop LSR to continue the trace.

6.  Use of 32-bit and 64-bit Counters

   64-bit counters are provided in this MIB module for high speed
   interfaces where the use of 32-bit counters might be impractical. The
   requirements on the use of 32-bit and 64-bit counters (copied
   verbatim from [RFC2863]) are as follows.

   For interfaces that operate at 20,000,000 (20 million) bits per
   second or less, 32-bit byte and packet counters MUST be supported.
   For interfaces that operate faster than 20,000,000 bits/second, and
   slower than 650,000,000 bits/second, 32-bit packet counters MUST be
   supported and 64-bit octet counters MUST be supported.  For
   interfaces that operate at 650,000,000 bits/second or faster, 64-bit
   packet counters AND 64-bit octet counters MUST be supported.

7.  Example of LSP Setup

   In this section we provide a brief example of setting up an LSP using
   this MIB module’s objects.  While this example is not meant to
   illustrate every nuance of the MIB module, it is intended as an aid
   to understanding some of the key concepts. It is meant to be read
   after going through the MIB module itself.

   Suppose that one would like to manually create a best-effort,
   unidirectional LSP.  Assume that the LSP enters the LSR via MPLS
   interface A with ifIndex 12 and exits the LSR via MPLS interface B
   with ifIndex 13.  Let us assume that we do not wish to impose any
   additional label stack beneath the top label on the outgoing labeled
   packets.  The following example illustrates which rows and
   corresponding objects might be created to accomplish this.  Those
   objects relevant to illustrating the relationships amongst different
   tables are shown here.  Other objects may be needed before conceptual
   row activation can happen.

   The RowStatus values shown in this section are those to be used in
   the set request, typically createAndGo(4) which is used to create the
   conceptual row and have its status immediately set to active.  Note
   that the proper use of createAndGo(4) requires that all columns that
   do not have a DEFVAL to be specified in order for the SET to succeed.
   In the example below we have not specify all such columns for the
   sake of keeping the example short.  Please keep in mind that all such
   fields must be send during a real SET operation.  A subsequent
   retrieval operation on the conceptual row will return a different
   value, such as active(1).  Please see [RFC2579] for a detailed
   discussion on the use of RowStatus.

   We first create a cross-connect entry that associates the desired
   segments together.

   In mplsXCTable:
   {
      mplsXCIndex                = 0x02,
      mplsXCInSegmentIndex       = 0x00000015,
      mplsXCOutSegmentIndex      = 0x01,

      mplsXCLspId                = 0x0102 -- unique ID
      mplsXCLabelStackIndex      = 0x00, -- only a single
                                         -- outgoing label
      mplsXCRowStatus            = createAndGo(4)
   }

   Next, we create the appropriate in-segment and out-segment entries
   based on the cross-connect.  Note that some agents may wish to
   automatically create the in and out-segments based on the cross-
   connect creation.

   In mplsInSegmentTable:
   {
      mplsInSegmentIndex              = 0x00000015

      mplsInSegmentLabel              = 21, -- incoming label

      mplsInSegmentNPop               = 1,
      mplsInSegmentInterface          = 12, -- incoming interface

      -- RowPointer MUST point to the first accessible column.
      mplsInSegmentLabelPtr           = 0.0,
      mplsInSegmentTrafficParamPtr    = 0.0,

      mplsInSegmentRowStatus          = createAndGo(4)
   }

   In mplsOutSegmentTable:
   {
      mplsOutSegmentIndex             = 0x01,
      mplsOutSegmentInterface         = 13, -- outgoing interface
      mplsOutSegmentPushTopLabel      = true(1),
      mplsOutSegmentTopLabel          = 22, -- outgoing label

      -- RowPointer MUST point to the first accessible column.
      mplsOutSegmentTrafficParamPtr   = 0.0,
      mplsOutSegmentLabelPtr          = 0.0,

      mplsOutSegmentRowStatus         = createAndGo(4)
   }

   Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex objects
   will automatically be populated with the string 0x02 when these
   segments are referred to from the corresponding cross-connect entry.

8.  Application of the Interface Group to MPLS

   RFC2863 defines generic managed objects for managing interfaces.
   This memo contains the media-specific extensions to the Interfaces
   Group for managing MPLS interfaces.

   This memo assumes the interpretation of the Interfaces Group to be in
   accordance with [RFC2863] which states that the interfaces table
   (ifTable) contains information on the managed resource’s interfaces
   and that each sub-layer below the internetwork layer of a network
   interface is considered an interface.  Thus, the MPLS interface is
   represented as an entry in the ifTable.  The inter-relation of
   entries in the ifTable is defined by Interfaces Stack Group defined
   in [RFC2863].

   When using MPLS interfaces, the interface stack table might appear as
   follows:

      +----------------------------------------+
      |   MPLS interface; ifType = mpls(166)   +
      +----------------------------------------+
      |            Underlying Layer            +
      +----------------------------------------+

   In the above diagram, "Underlying Layer" refers to the ifIndex of any
   interface type for which MPLS interworking has been defined.
   Examples include ATM, Frame Relay, Ethernet, etc.

8.1.  Support of the MPLS Layer by ifTable

   Some specific interpretations of ifTable for the MPLS layer follow.

   Object        Use for the MPLS layer

   ifIndex       Each MPLS interface is represented by an ifEntry.

   ifDescr       Description of the MPLS interface.

   ifType        The value that is allocated for MPLS is 166.

   ifSpeed       The total bandwidth in bits per second for use by
                 the MPLS layer.

   ifPhysAddress Unused.

   ifAdminStatus This variable indicates the administrator’s intent
                 as to whether MPLS should be enabled, disabled, or
                 running in some diagnostic testing mode on this
                 interface.  Also see [RFC2863].

   ifOperStatus  This value reflects the actual operational status
                 of MPLS on this interface.

   ifLastChange  See [RFC2863].

   ifInOctets    The number of received octets over the interface,
                 i.e., the number of received, octets received as
                 labeled packets.

   ifOutOctets   The number of transmitted octets over the
                 interface, i.e., the number of octets transmitted
                 as labeled packets.

   ifInErrors    The number of labeled packets dropped due to
                 uncorrectable errors.

   ifInUnknownProtos
                 The number of received packets discarded during
                 packet header validation, including packets with
                 unrecognized label values.

   ifOutErrors   See [RFC2863].

   ifName        Textual name (unique on this system) of the
                 interface or an octet string of zero length.

   ifLinkUpDownTrapEnable
                 Default is disabled (2).

   ifConnectorPresent
                 Set to false (2).

   ifHighSpeed   See [RFC2863].

   ifHCInOctets  The 64-bit version of ifInOctets; supported if
                 required by the compliance statements in [RFC2863].

   ifHCOutOctets The 64-bit version of ifOutOctets; supported if
                 required by the compliance statements in [RFC2863].

   ifAlias       The non-volatile ’alias’ name for the interface as
                 specified by a network manager.

   ifCounterDiscontinuityTime
                 See [RFC2863].

9.  The Use of RowPointer

   RowPointer is a textual convention used to identify a conceptual row
   in a MIB Table by pointing to the first accessible object in that
   row.  In this MIB module, the trafficParamPtr object from either the
   mplsInSegmentTable or mplsOutSegmentTable SHOULD indicate the first
   accessible column in an entry in the MplsTunnelResourceEntry in the
   MPLS-TE-STD-MIB [RFC3812] to indicate the traffic parameter settings
   for this segment, if it represents an LSP used for a TE tunnel.

   The trafficParamPtr object may optionally point at an externally
   defined traffic parameter specification table.  A value of
   zeroDotZero indicates best-effort treatment.  By having the same
   value of this object, two or more segments can indicate resource
   sharing of such things as LSP queue space, etc.

10.  MPLS Label Switching Router MIB Module Definitions

MPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Integer32, Counter32, Unsigned32, Counter64, Gauge32,
   zeroDotZero
      FROM SNMPv2-SMI                                    -- [RFC2578]
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF                                   -- [RFC2580]
   TruthValue, RowStatus, StorageType, RowPointer,
   TimeStamp, TEXTUAL-CONVENTION
      FROM SNMPv2-TC                                     -- [RFC2579]
   InterfaceIndexOrZero, ifGeneralInformationGroup,
   ifCounterDiscontinuityGroup
      FROM IF-MIB                                        -- [RFC2863]
   mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate,
   MplsOwner
      FROM MPLS-TC-STD-MIB                               -- [RFC3811]
   AddressFamilyNumbers
      FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB               -- [IANAFamily]
   InetAddress, InetAddressType
      FROM INET-ADDRESS-MIB                              -- [RFC3291]
   ;

mplsLsrStdMIB MODULE-IDENTITY
   LAST-UPDATED "200406030000Z"  -- June 3, 2004
   ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
   CONTACT-INFO
       "        Cheenu Srinivasan
                Bloomberg L.P.
        Email:  cheenu@bloomberg.net

                Arun Viswanathan
                Force10 Networks, Inc.
        Email:  arunv@force10networks.com

                Thomas D. Nadeau
                Cisco Systems, Inc.
        Email:  tnadeau@cisco.com

        Comments about this document should be emailed
        directly to the MPLS working group mailing list at
        mpls@uu.net."

   DESCRIPTION
       "This MIB module contains managed object definitions for
        the Multiprotocol Label Switching (MPLS) Router as

        defined in: Rosen, E., Viswanathan, A., and R.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容