RFC 4188 Definitions of Managed Objects for Bridges

Network Working Group                                    K. Norseth, Ed.
Request for Comments: 4188                            L-3 Communications
Obsoletes: 1493                                             E. Bell, Ed.
Category: Standards Track                            3Com Europe Limited
                                                          September 2005

Определения управляемых объектов для мостов

Definitions of Managed Objects for Bridges

PDF

Статус документа

В документе содержится проект стандартного протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола. Состояние стандартизации протокола можно узнать из Internet Official Protocol Standards (STD 1). Документ можно распространять без ограничений.

Авторские права

Copyright (C) The Internet Society (2005).

Аннотация

Документ определяет часть MIB1 для использования с протоколами сетевого управления в сетях TCP/IP. В частности, определены объекты для управления мостами MAC на основе стандарта IEEE 802.1D-1998 между сегментами локальных сетей (ЛВС или LAN). Обеспечивается поддержка прозрачных мостов, а также применимость этих объектов к мостам, соединенным подсетями, которые на являются сегментами ЛВС.

Модуль MIB, представленный в этом документе, является трансляцией в синтаксис SMIv2 модуля BRIDGE-MIB, определенного в RFC 1493.

Этот документ заменяет RFC 1493.

1. Стандартная схема управления Internet

Подробный обзор документов, описывающих стандартную схему управления Internet приведен в разделе 7 RFC 3410 [RFC3410].

Доступ к объектам управления осуществляется через виртуальное хранилище, называемое MIB. Для работы с объектами MIB обычно используется простой протокол сетевого управления (SNMP2). Объекты MIB определяются с использованием механизмов, описанных в SMI3. Этот документ задает модуль MIB, соответствующий спецификации SMIv2, которая описана в STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] и STD 58, RFC 2580 [RFC2580].

2. Уровни требований

Ключевые слова необходимо (MUST), недопустимо (MUST NOT), требуется (REQUIRED), нужно (SHALL), не следует (SHALL NOT), следует (SHOULD), не нужно (SHOULD NOT), рекомендуется (RECOMMENDED), возможно (MAY), необязательно (OPTIONAL) в данном документе интерпретируются в соответствии с BCP 14, RFC 2119 [RFC2119].

3. Обзор

Базовым устройством многих сетей является мост (Bridge). Такие устройства используются для соединения ЛВС ниже сетевого уровня и часто их называют коммутаторами уровня 2 (layer 2 switch).

Для этих мостов существует два основных режима – transparent (прозрачный) и source route (маршрут, заданный отправителем). Режим прозрачного моста определен в спецификации IEEE 802.1D [IEEE8021D]. Этот документ определяет объекты, требуемые для управления мостом, работающим в прозрачном режиме, а также некоторые объекты для управления всеми типами мостов.

Для совместимости с директивами IAB и имеющимся инженерным опытом была предпринята явная попытка максимально упростить этот модуль MIB. Это достигнуто путем применения к объектам приведенных ниже требований.

  1. Начинать с небольшого набора объектов и дополнять его лишь по необходимости.

  2. Каждый объект должен быть важен для настройки или контроля отказов.

  3. Учет текущего использования и полезности.

  4. Ограничение общего числа объектов.

  5. Исключение объектов, которые выводятся из других объектов этого или других модулей MIB.

  6. Сокращение числа критических сессий. Рекомендуется использовать один счетчик на критическую секцию уровня.

3.1 Структура модуля MIB

Объекты в этом модуле MIB организованы в субдеревья, каждое из которых является набором связанных объектов. Общая структура и распределение объектов по субдеревьям показаны ниже. В тех случаях, когда это возможно, указаны также соответствующие объекты управления IEEE 802.1D [IEEE8021D].

Имя в Bridge MIB

Имя в IEEE 802.1D

dot1dBridge
  dot1dBase

    BridgeAddress
Bridge.BridgeAddress
    NumPorts
Bridge.NumberOfPorts
    Type
    PortTable

      Port                       
      IfIndex
      Circuit
BridgePort.PortNumber
      DelayExceededDiscards
  .DiscardTransitDelay
      MtuExceededDiscards
  .DiscardOnError
  dot1dStp
    ProtocolSpecification

    Priority
SpanningTreeProtocol
  .BridgePriority
    TimeSinceTopologyChange
  .TimeSinceTopologyChange
    TopChanges
  .TopologyChangeCount
    DesignatedRoot
  .DesignatedRoot
    RootCost
  .RootCost
    RootPort
  .RootPort
    MaxAge
  .MaxAge
    HelloTime
  .HelloTime
    HoldTime
  .HoldTime
    ForwardDelay
  .ForwardDelay
    BridgeMaxAge
  .BridgeMaxAge
    BridgeHelloTime
  .BridgeHelloTime
    BridgeForwardDelay
  .BridgeForwardDelay
    PortTable

      Port
SpanningTreeProtocolPort
  .PortNumber
      Priority
  .PortPriority
      State                         
      Enable
  .SpanningTreeState
      PathCost
  .PortPathCost
      DesignatedRoot
  .DesignatedRoot
      DesignatedCost
  .DesignatedCost
      DesignatedBridge
  .DesignatedBridge
      DesignatedPort                
      ForwardTransitions
  .DesignatedPort
  dot1dTp

    LearnedEntryDiscards
BridgeFilter.DatabaseSize
  .NumDynamic,NumStatic
    AgingTime                     
    FdbTable
      Address
      Port
      Status
    PortTable
      Port
      MaxInfo
BridgeFilter.AgingTime
      InFrames
BridgePort.FramesReceived
      OutFrames
  .ForwardOutbound
      InDiscards                    
  dot1dStatic
    StaticTable
      Address
      ReceivePort
      AllowedToGoTo
      Status
  .DiscardInbound

Ниже перечислены объекты управления IEEE 802.1D, которые не были включены в BRIDGE-MIB, в указанием причин.

Объект IEEE 802.1D

Причина исключения

Bridge.BridgeName

Совпадает с sysDescr (SNMPv2-MIB).

Bridge.BridgeUpTime

Совпадает с sysUpTime (SNMPv2-MIB).

Bridge.PortAddresses

Совпадает с ifPhysAddress (IF-MIB).

BridgePort.PortName

Совпадает с ifDescr (IF-MIB).

BridgePort.PortType

Совпадает с ifType (IF-MIB).

BridgePort.RoutingType

Выводится из реализованных субдеревьев.

SpanningTreeProtocol

.BridgeIdentifier

Комбинация dot1dStpPriority и dot1dBaseBridgeAddress.

.TopologyChange

Не считается полезным по причине временного характера.

SpanningTreeProtocolPort

.Uptime

Совпадает с ifLastChange (IF-MIB).

.PortIdentifier

Комбинация dot1dStpPort и dot1dStpPortPriority.

.TopologyChangeAcknowledged

Не считается полезным по причине временного характера.

.DiscardLackOfBuffers

Избыточно.

Приоритет передачи

.TransmissionPriorityName

Эти объекты не требуются в соответствии с Pics Proforma и не считаются полезными.

.OutboundUserPriority

.OutboundAccessPriority

3.1.1 Субдерево dot1dBase

Это субдерево содержит объекты, применимые для всех типов мостов.

3.1.2 Субдерево dot1dStp

Это субдерево содержит объекты, которые указывают состояние моста применительно к протоколу STP4. Если узел не поддерживает протокол STP, это субдерево не реализуется.

3.1.3 Субдерево dot1dSr

Это субдерево содержит объекты, которые описывают состояние элемента применительно к мосту source route. Это субдерево описано в RFC 1525 [RFC1525] и применимо только к мостам source route.

3.1.4 Субдерево dot1dTp

Это субдерево содержит объекты, которые описывают состояние элемента применительно к прозрачному мосту. Если прозрачный мост не поддерживается, это субдерево не реализуется. Субдерево применимо лишь к прозрачным и мостам и мостам SRT.

3.1.5 Субдерево dot1dStatic

Это субдерево содержит объекты, которые описывают состояние элемента применительно к фильтрации по адресам получателей. Если такая фильтрация не поддерживается, данное дерево не реализуется. Субдерево применимо ко всем мостам, выполняющим фильтрацию по адресам получателей.

3.2 Связи с другими модулями MIB

Как описано выше, некоторые объекты управления IEEE 802.1D не включены в данный модуль MIB, поскольку они перекрываются с другими объектами MIB, которые применимы к мостам, реализующим этот модуль MIB.

3.2.1 Связь с SNMPv2-MIB

Модуль SNMPv2-MIB [RFC3418] определяет объекты, которые в общем случае применимы к управляемым устройствам. Эти объекты применимы к устройству в целом, независимо от того, выполняет ли устройство только функции моста или эти функции являются лишь частью выполняемых устройством задач.

Как разъяснено в параграфе 3.1, полная поддержка управляемых объектов 802.1D требует реализации объектов SNMPv2-MIB sysDescr и sysUpTime. Отметим, что для совместимости с текущим модулем SNMPv2-MIB требуется реализация дополнительных объектов и уведомлений, как указано в RFC 3418 [RFC3418].

3.2.2 Связь с IF-MIB

Модуль IF-MIB [RFC2863] определяет объекты для управления сетевыми интерфейсами. Сетевой интерфейс рассматривается как подключенный к «подсети» (subnetwork). Отметим, что термин «подсеть» в данном случае имеет иное значение, нежели подсеть в смысле схем адресации, используемых в стеке протоколов IP. В этом документе для таких подсетей используется термин «сегмент», независимо от того, является подсеть сегментом Ethernet, кольцом, каналом WAN или виртуальным устройством X.25.

Как разъяснено в параграфе 3.1, полная поддержка управляемых объектов 802.1D требует реализации объектов IF-MIB ifIndex, ifType, ifDescr, ifPhysAddress и ifLastChange. Отметим, что для совместимости с текущим модулем IF-MIB требуется реализация дополнительных объектов и уведомлений, как указано в RFC 2863 [RFC2863].

Неявным в этом модуле BRIDGE-MIB является обозначение портов моста. Каждый порт связывается с одним из интерфейсов в субдереве interfaces и в большинстве случаев каждый порт связан со своим интерфейсом. Однако в некоторых случаях с одним интерфейсом может быть связано множество портов. Примером может служить ситуация, когда несколько портов, связанных взаимно-однозначно с виртуальными устройствами X.25, относятся к одному интерфейсу.

Каждый порт однозначно указывается номером, который не обязательно связан с номером интерфейса, но в простом случае номер порта совпадает с номером соответствующего интерфейса. Номера портов лежат в диапазоне (1..dot1dBaseNumPorts).

Некоторые элементы выполняют другие функции в дополнение к функциям моста по приему и передаче данных на своих интерфейсах. В таких ситуациях лишь часть принятых и переданных интерфейсом данных относится к функциональности моста. Это подмножество считается выделенным в соответствии с набором протоколов, из которых лишь часть относится к протоколам, передаваемым мостом. Например, для элемента, выполняющий лишь функции моста, все протоколы будут передаваться мостом, тогда как элемент, выполняющий функции маршрутизации IP для дейтаграмм IP и служащий мостом для остальных протоколов, будет мостом лишь для данных, не относящихся к IP.

Таким образом, BRIDGE-MIB (и, в частности, счетчики модуля) применимы лишь к подмножеству данных на интерфейсах устройства, которые принимаются или передаются с использованием функций моста. Все такие данные принимаются и передаются через порты моста.

4. Определения

   BRIDGE-MIB DEFINITIONS ::= BEGIN

   -- ---------------------------------------------------------- --
   -- MIB для устройств IEEE 802.1D 
   -- ---------------------------------------------------------- --
   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       Counter32, Integer32, TimeTicks, mib-2
           FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, MacAddress
           FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
           FROM SNMPv2-CONF
       InterfaceIndex FROM IF-MIB
       ;

   dot1dBridge MODULE-IDENTITY
       LAST-UPDATED "200509190000Z"
       ORGANIZATION "IETF Bridge MIB Working Group"
       CONTACT-INFO
           "Email: bridge-mib@ietf.org
                    K.C. Norseth (Editor)
                    L-3 Communications
               Tel: +1 801-594-2809
             Email: kenyon.c.norseth@L-3com.com
            Postal: 640 N. 2200 West.
                    Salt Lake City, Utah 84116-0850
                    Les Bell (Editor)
                    3Com Europe Limited
             Phone: +44 1442 438025
             Email: elbell@ntlworld.com
            Postal: 3Com Centre, Boundary Way
                    Hemel Hempstead
                    Herts.  HP2 7YU
                    UK
            Send comments to <bridge-mib@ietf.org>"
       DESCRIPTION
           "Модуль Bridge MIB для управления устройствами, 
           поддерживающими IEEE 802.1D.

           Copyright (C) The Internet Society (2005). Эта версия данного
           модуля MIB является частью RFC 4188, где авторские права 
           указаны полностью."
       REVISION     "200509190000Z"
       DESCRIPTION
            "Третий выпуск, опубликованный как часть RFC 4188.

            Модуль MIB был преобразован в формат SMIv2. Было
            добавлено заявление о совместимости, а также обновлено
            описание и ссылки.

            Был добавлен объект dot1dStpPortPathCost32 для поддержки
            IEEE 802.1t и разъяснены допустимые значения 
            dot1dStpPriority и dot1dStpPortPriority для мостов,
            поддерживающих IEEE 802.1t или IEEE 802.1w.

            Разъяснена интерпретация dot1dStpTimeSinceTopologyChange
            для мостов, поддерживающих протокол RSTP5."
       REVISION     "199307310000Z"
       DESCRIPTION
            "Второй выпуск, опубликованный в RFC 1493."
       REVISION     "199112310000Z"
       DESCRIPTION
            "Первоначальный выпуск, опубликованный в RFC 1286."
       ::= { mib-2 17 }

   -- ---------------------------------------------------------- --
   -- Текстовые соглашения
   -- ---------------------------------------------------------- --

   BridgeId ::= TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "BridgeId в рамках протокола STP однозначно указывает
           мост. Первые 2 октета (в сетевом порядке байтов)
           содержат значение приоритета, а последние 6 октетов -
           MAC-адрес, используемый для однозначного указания моста
           (обычно это численно меньшее значение из MAC-адресов
           всех портов моста)."
       SYNTAX      OCTET STRING (SIZE (8))

   Timeout ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS      current
       DESCRIPTION
           "Таймер протокола STP в сотых долях секунды. Несколько
           объектов в данном модуле MIB представляют значения
           таймеров, используемых протоколом STP. Все эти таймеры
           в данном модуле MIB указывают время в сотых долях секунды.

           Таймеры в STP BPDU указывают время в 1/256 секунды. Отметим
           однако, что 802.1D-1998 задает настраиваемую дискретность
           (не более 1 сек.) для таких таймеров. Для предотвращения
           неоднозначности ниже определен алгоритм преобразования,
           переводящий из одних единиц в другие.
           Для преобразования значений Timeout в единицы 1/256 сек.
           Используется выражение
               b = floor((n * 256) / 100)
           где
               floor   =  целая часть [остаток игнорируется]
               n — значение в 1/100 сек.
               b — значение в 1/256 сек.

           Для преобразования из 1/256 сек. в сотые доли секунды
           используется выражение
               n = ceiling((b * 100) / 256)
           где
               ceiling = целая часть [если остаток равен 0] или
                         целая часть + 1 [если остаток больше 0]
               n — значение в 1/100 сек.
               b — значение в 1/256 сек.

           Примечание. Важно выполнять арифметические операции в 
           указанном порядке (т. е. сначала умножение, затем деление)."
       SYNTAX      Integer32

   -- ---------------------------------------------------------- --
   -- субдеревья в Bridge MIB
   -- ---------------------------------------------------------- --

   dot1dNotifications  OBJECT IDENTIFIER ::= { dot1dBridge 0 }

   dot1dBase           OBJECT IDENTIFIER ::= { dot1dBridge 1 }
   dot1dStp            OBJECT IDENTIFIER ::= { dot1dBridge 2 }

   dot1dSr             OBJECT IDENTIFIER ::= { dot1dBridge 3 }
   -- документировано в RFC 1525

   dot1dTp             OBJECT IDENTIFIER ::= { dot1dBridge 4 }
   dot1dStatic         OBJECT IDENTIFIER ::= { dot1dBridge 5 }

   -- Субдеревья, используемые расширениями Bridge MIB:
   --      pBridgeMIB  MODULE-IDENTITY   ::= { dot1dBridge 6 }
   --      qBridgeMIB  MODULE-IDENTITY   ::= { dot1dBridge 7 }
   -- Отметим, что от практики регистрации связанных модулей MIB
   -- под dot1dBridge отказались по причине отсутствия надежного
   -- механизма отслеживания таких регистраций.

   dot1dConformance    OBJECT IDENTIFIER ::= { dot1dBridge 8 }

   -- ---------------------------------------------------------- --
   -- субдерево dot1dBase
   -- ---------------------------------------------------------- --
   -- Реализация dot1dBase обязательна для всех мостов
   -- ---------------------------------------------------------- --

   dot1dBaseBridgeAddress OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "MAC-адрес, используемый мостом в тех случаях, когда требуется
           обеспечить однозначность. Рекомендуется использовать для этого
           численно меньшее значение MAC-адреса среди всех портов моста.
           Однако требуется лишь уникальность значения. При конкатенации
           с dot1dStpPriority образуется уникальное значение 
           BridgeIdentifier, используемое в протоколе STP."
       REFERENCE
           "IEEE 802.1D-1998: clauses 14.4.1.1.3 and 7.12.5"
       ::= { dot1dBase 1 }

   dot1dBaseNumPorts OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "ports"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число портов, контролируемых данным мостом."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.4.1.1.3"
       ::= { dot1dBase 2 }
   dot1dBaseType OBJECT-TYPE
       SYNTAX      INTEGER {
                       unknown(1),
                       transparent-only(2),
                       sourceroute-only(3),
                       srt(4)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Indicates what type of bridging this bridge can
           perform.  If a bridge is actually performing a
           certain type of bridging, this will be indicated by
           entries in the port table for the given type."
       ::= { dot1dBase 3 }

   -- ---------------------------------------------------------- --
   -- Базовая таблица портов моста
   -- ---------------------------------------------------------- --
   dot1dBasePortTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Dot1dBasePortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Таблица с базовой информацией для каждого порта, связанного
           с этим мостом. Включаются прозрачные, source-route и srt-порты."
       ::= { dot1dBase 4 }

   dot1dBasePortEntry OBJECT-TYPE
       SYNTAX      Dot1dBasePortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Список информации для каждого порта этого моста."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.4.2, 14.6.1"
       INDEX  { dot1dBasePort }
       ::= { dot1dBasePortTable 1 }

   Dot1dBasePortEntry ::=
       SEQUENCE {
           dot1dBasePort
               Integer32,
           dot1dBasePortIfIndex
               InterfaceIndex,
           dot1dBasePortCircuit
               OBJECT IDENTIFIER,
           dot1dBasePortDelayExceededDiscards
               Counter32,
           dot1dBasePortMtuExceededDiscards
               Counter32
       }

   dot1dBasePort OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Номер порта, для которого эта запись содержит данные
           управления мостом."
       ::= { dot1dBasePortEntry 1 }

   dot1dBasePortIfIndex OBJECT-TYPE
       SYNTAX      InterfaceIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Значение экземпляра объекта ifIndex, определенного в
           IF-MIB, для соответствующего этому порту интерфейса."
       ::= { dot1dBasePortEntry 2 }

   dot1dBasePortCircuit OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Для порта, который (потенциально) имеет такое же значение
           dot1dBasePortIfIndex как у другого порта в том же мосту.
           Этот объект содержит имя экземпляра объекта, уникальное для
           этого порта. Например, в случае когда множество портов,
           взаимно-однозначно соответствует виртуальным устройствам X.25,
           это значение может указывать (например, первый) экземпляр
           объекта, связанного с виртуальным устройством X.25,
           соответствующим этому порту.

           Для порта, имеющего уникальное значение 
           dot1dBasePortIfIndex, этот объект имеет значение { 0 0 }."
       ::= { dot1dBasePortEntry 3 }

   dot1dBasePortDelayExceededDiscards OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число кадров, отброшенных этим портом по причине избыточной
           задержки при передаче через мост. Счетчик инкрементируется
           прозрачными и source route мостами."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.6.1.1.3"
       ::= { dot1dBasePortEntry 4 }

   dot1dBasePortMtuExceededDiscards OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число кадров, отброшенных этим портом по причине избыточного
           размера. Счетчик инкрементируется прозрачными и source route
           мостами."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.6.1.1.3"
       ::= { dot1dBasePortEntry 5 }

   -- ---------------------------------------------------------- --
   -- субдерево dot1dStp 
   -- ---------------------------------------------------------- --
   -- Реализация dot1dStp не обязательна. Оно реализуется мостами,
   -- поддерживающими протокол STP
   -- ---------------------------------------------------------- --

   dot1dStpProtocolSpecification OBJECT-TYPE
       SYNTAX      INTEGER {
                       unknown(1),
                       decLb100(2),
                       ieee8021d(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Индикация используемой версии протокола STP. Значение decLb100(2)
           указывает протокол DEC LANbridge 100 STP. Реализации IEEE 802.1D
           будут возвращать значение ieee8021d(3). При выпуске в будущем
           новых версий протокола IEEE STP, не совместимых с текущей версией,
           будут определены новые значения."
       ::= { dot1dStp 1 }

   dot1dStpPriority OBJECT-TYPE
       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Значение разрешенной для записи части Bridge ID (т. е.
           первые 2 октета 8-октетного Bridge ID). Последние 6 
           октетов Bridge ID заданы значением dot1dBaseBridgeAddress.
           На мостах, поддерживающих IEEE 802.1t или IEEE 802.1w,
           разрешены значения от 0 до 61440 с шагом 4096."
       REFERENCE
           "IEEE 802.1D-1998 clause 8.10.2, Table 8-4,
           IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."
       ::= { dot1dStp 2 }


   dot1dStpTimeSinceTopologyChange OBJECT-TYPE
       SYNTAX      TimeTicks
       UNITS       "centi-seconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Время (в сотых долях секунды) с момента последнего
           изменения топологии, обнаруженного мостом.
           Для RSTP с момента, когда таймер tcWhile любого из
           портов этого моста принял ненулевое значение."
       REFERENCE
           "IEEE 802.1D-1998 clause 14.8.1.1.,
           IEEE 802.1w clause 14.8.1.1."
       ::= { dot1dStp 3 }

   dot1dStpTopChanges OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Общее число изменений топологии, обнаруженных этим
           мостом с момента последнего сброса или инициализации
           элемента управления."
       REFERENCE
           "IEEE 802.1D-1998 clause 14.8.1.1."
       ::= { dot1dStp 4 }

   dot1dStpDesignatedRoot OBJECT-TYPE
       SYNTAX      BridgeId
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Идентификатор моста, служащего корнем остовного дерева,
           определенный протоколом STP, выполняемым на этом узле.
           Это значение служит параметром Root Identifier во всех 
           Configuration Bridge PDU, создаваемых этим узлом."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.1"
       ::= { dot1dStp 5 }

   dot1dStpRootCost OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Стоимость пути к корню с точки зрения этого моста."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.2"
       ::= { dot1dStp 6 }

   dot1dStpRootPort OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Номер порта, который предлагает самый дешевый путь
           от данного моста к корневому мосту."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.3"
       ::= { dot1dStp 7 }

   dot1dStpMaxAge OBJECT-TYPE
       SYNTAX      Timeout
       UNITS       "centi-seconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Максимальный возраст информации протокола STP, полученной
           из сети на любом порту, по достижении которого данные 
           отбрасываются (в сотых долях секунды). Это значение,
           используемое мостом в данный момент."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.4"
       ::= { dot1dStp 8 }

   dot1dStpHelloTime OBJECT-TYPE
       SYNTAX      Timeout
       UNITS       "centi-seconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Интервал между передачей Configuration bridge PDU через
           любой порт данного моста, когда он является или пытается 
           стать корнем STP (в сотых долях секунды). Это значение,
           используемое мостом в данный момент."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.5"
       ::= { dot1dStp 9 }

   dot1dStpHoldTime OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "centi-seconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Это значение определяет интервал (в сотых долях секунды),
           в течение которого данным узлом должно передаваться не 
           более двух Configuration bridge PDU."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.14"
       ::= { dot1dStp 10 }

   dot1dStpForwardDelay OBJECT-TYPE
       SYNTAX      Timeout
       UNITS       "centi-seconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Это значение (в сотых долях секунды) задает как быстро
           порт меняет свое состояние STP при переходе в направлении
           к состоянию Forwarding. Значение определяет время
           пребывания порта в каждом из состояний Listening и
           Learning, предшествующих состоянию Forwarding. Это значение 
           используется также в случае обнаружения происходящей смены
           топологии, чтобы «состарить» все динамические записи в 
           базе данных пересылки. 
           [Отметим, что это значение является одним из тех, которые 
           этот мост использует в настоящий момент в отличие от 
           dot1dStpBridgeForwardDelay, с которым этот и все другие мосты
           начинают работу, когда мост становится корневым.]"
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.6"
       ::= { dot1dStp 11 }

   dot1dStpBridgeMaxAge OBJECT-TYPE
       SYNTAX      Timeout (600..4000)
       UNITS       "centi-seconds"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Значение, которое все мосты используют в качестве MaxAge,
           когда мост работает в качестве корневого. Отметим, что 802.1D-1998
           задает привязку диапазона для этого параметра к значению параметра
           dot1dStpBridgeHelloTime. Дискретность для этого таймера установлена
           стандартом 802.1D-1998 в 1 сек. Агент может возвращать ошибку
           badValue при попытке установить нецелое число секунд."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.8"
       ::= { dot1dStp 12 }

   dot1dStpBridgeHelloTime OBJECT-TYPE
       SYNTAX      Timeout (100..1000)
       UNITS       "centi-seconds"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Значение, которое все мосты используют в качестве HelloTime, когда
           мост работает в качестве корневого.  Дискретность для этого таймера
           установлена стандартом 802.1D-1998 в 1 сек. Агент  может возвращать
           ошибку badValue при попытке установить нецелое число секунд."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.9"
       ::= { dot1dStp 13 }
   dot1dStpBridgeForwardDelay OBJECT-TYPE
       SYNTAX      Timeout (400..3000)
       UNITS       "centi-seconds"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Значение, которое все мосты используют в качестве ForwardDelay,
           когда мост работает в качестве корневого. Отметим, что 802.1D-1998
           задает привязку диапазона для этого параметра к значению параметра
           dot1dStpBridgeMaxAge. Дискретность для этого таймера установлена
           стандартом 802.1D-1998 в 1 сек. Агент может возвращать ошибку
           badValue при попытке установить нецелое число секунд."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.3.10"
       ::= { dot1dStp 14 }

   -- ---------------------------------------------------------- --
   -- Таблица портов STP
   -- ---------------------------------------------------------- --

   dot1dStpPortTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Dot1dStpPortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Таблица, содержащая специфическую для порта информацию STP."
       ::= { dot1dStp 15 }

   dot1dStpPortEntry OBJECT-TYPE
       SYNTAX      Dot1dStpPortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Список поддерживаемой каждым портом информации о состоянии
           протокола STP для данного порта."
       INDEX   { dot1dStpPort }
       ::= { dot1dStpPortTable 1 }

   Dot1dStpPortEntry ::=
       SEQUENCE {
           dot1dStpPort
               Integer32,
           dot1dStpPortPriority
               Integer32,
           dot1dStpPortState
               INTEGER,
           dot1dStpPortEnable
               INTEGER,
           dot1dStpPortPathCost
               Integer32,
           dot1dStpPortDesignatedRoot
               BridgeId,
           dot1dStpPortDesignatedCost
               Integer32,
           dot1dStpPortDesignatedBridge
               BridgeId,
           dot1dStpPortDesignatedPort
               OCTET STRING,
           dot1dStpPortForwardTransitions
               Counter32,
           dot1dStpPortPathCost32
               Integer32
       }

   dot1dStpPort OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Номер порта, для которого эта запись содержит управляющую
           информацию протокола STP."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.8.2.1.2"
       ::= { dot1dStpPortEntry 1 }

   dot1dStpPortPriority OBJECT-TYPE
       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Значение поля приоритета, содержащегося в первых 2 октетах
           Port ID. Остальные октеты Port ID задаются значением
           dot1dStpPort. Для мостов с поддержкой IEEE 802.1t или
           IEEE 802.1w допустимы значения от 0 до 240 с шагом 16."
       REFERENCE
           "IEEE 802.1D-1998 clause 8.10.2, Table 8-4,
           IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."
       ::= { dot1dStpPortEntry 2 }

   dot1dStpPortState OBJECT-TYPE
       SYNTAX      INTEGER {
                       disabled(1),
                       blocking(2),
                       listening(3),
                       learning(4),
                       forwarding(5),
                       broken(6)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Текущее состояние порта, определенное приложением STP.
           Это состояние определяет действия порта при получении
           кадра. При обнаружении неработоспособного порта мост
           устанавливает для него состояние broken(6). Для отключенных
           портов (см. dot1dStpPortEnable), имеет значение disabled(1)."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.5.2"
       ::= { dot1dStpPortEntry 3 }

   dot1dStpPortEnable OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Статус порта enabled/disabled (включен/выключен)."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.5.2"
       ::= { dot1dStpPortEntry 4 }

   dot1dStpPortPathCost OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Вклад данного порта в стоимость пути к корню STP через
           этот порт. 802.1D-1998 рекомендует по умолчанию использовать 
           значение, обратно пропорциональное скорости подключенной ЛВС.

           Новым реализациям следует поддерживать dot1dStpPortPathCost32.
           Если стоимость пути через порт превосходит  максимальное
           значение для этого объекта, объекту следует возвращать 
           максимальное значение 65535. Если данный объект возвращает 
           максимальное значение, приложению следует попытаться прочитать
           объект dot1dStpPortPathCost32."
       REFERENCE "IEEE 802.1D-1998: clause 8.5.5.3"
           ::= { dot1dStpPortEntry 5 }

   dot1dStpPortDesignatedRoot OBJECT-TYPE
       SYNTAX      BridgeId
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Уникальный идентификатор моста, записанного в качестве Root 
           в Configuration BPDU, передаваемых Designated Bridge для 
           сегмента, к которому порт подключен."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.5.4"
       ::= { dot1dStpPortEntry 6 }
   dot1dStpPortDesignatedCost OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Стоимость пути Designated Port сегмента, подключенного
           к данному порту. Это значение сравнивается с полем
           Root Path Cost в полученных PDU."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.5.5"
       ::= { dot1dStpPortEntry 7 }

   dot1dStpPortDesignatedBridge OBJECT-TYPE
       SYNTAX      BridgeId
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Идентификатор моста, который данный порт считает
           Designated Bridge для своего сегмента."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.5.6"
       ::= { dot1dStpPortEntry 8 }

   dot1dStpPortDesignatedPort OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (2))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Идентификатор порта на Designated Bridge 
           для сегмента данного порта."
       REFERENCE
           "IEEE 802.1D-1998: clause 8.5.5.7"
       ::= { dot1dStpPortEntry 9 }

   dot1dStpPortForwardTransitions OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число переходов данного порта из состояния Learning 
           в состояние Forwarding."
       ::= { dot1dStpPortEntry 10 }

   dot1dStpPortPathCost32 OBJECT-TYPE
       SYNTAX      Integer32 (1..200000000)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Вклад данного порта в стоимость пути в направлении
           корня STP через этот порт. 802.1D-1998 рекомендует по
           умолчанию использовать значение, обратно 
           пропорциональное скорости подключенной ЛВС.

           Этот объект заменяет dot1dStpPortPathCost для поддержки
           IEEE 802.1t."
       REFERENCE
           "IEEE 802.1t clause 8.10.2, Table 8-5."
       ::= { dot1dStpPortEntry 11 }

   -- ---------------------------------------------------------- --
   -- субдерево dot1dTp 
   -- ---------------------------------------------------------- --
   -- Реализация dot1dTp не обязательна. Субдерево реализуется
   -- мостами, поддерживающими прозрачный режим, и мостами SRT
   -- ---------------------------------------------------------- --

   dot1dTpLearnedEntryDiscards OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Общее число записей Forwarding Database, которые были 
           получены путем обучения, но отброшены по причине нехватки
           места в Forwarding Database. Если значение счетчика растет,
           это показывает регулярное переполнение Forwarding Database
           (негативное влияние на работу сети). Если значение счетчика
           достаточно велико, но не растет, это показывает, что
           проблема переполнения была временной."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.7.1.1.3"
       ::= { dot1dTp 1 }

   dot1dTpAgingTime OBJECT-TYPE
       SYNTAX      Integer32 (10..1000000)
       UNITS       "seconds"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Время (в секундах) старения динамически определенной 
           информации о пересылке. 802.1D-1998 рекомендует 
           использовать по умолчанию 300 секунд."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.7.1.1.3"
       ::= { dot1dTp 2 }

   -- ---------------------------------------------------------- --
   --  База данных пересылки для прозрачных мостов
   -- ---------------------------------------------------------- --

   dot1dTpFdbTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Dot1dTpFdbEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Таблица с информацией об индивидуальных записях, которые
           мост может использовать для пересылки и/или фильтрации.
           Эта информация применяется функциями прозрачного моста
           для определения действий по отношению к принятому пакету."
       ::= { dot1dTp 3 }

   dot1dTpFdbEntry OBJECT-TYPE
       SYNTAX      Dot1dTpFdbEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Информация о конкретном индивидуальном MAC-адресе, для
           которого мост имеет информацию о пересылке и/или фильтрации."
       INDEX   { dot1dTpFdbAddress }
       ::= { dot1dTpFdbTable 1 }

   Dot1dTpFdbEntry ::=
       SEQUENCE {
           dot1dTpFdbAddress
               MacAddress,
           dot1dTpFdbPort
               Integer32,
           dot1dTpFdbStatus
               INTEGER
       }

   dot1dTpFdbAddress OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Индивидуальный MAC-адрес, для которого мост имеет
           имеет информацию о пересылке и/или фильтрации."
       REFERENCE
           "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"
       ::= { dot1dTpFdbEntry 1 }

   dot1dTpFdbPort OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "0 или номер порта, на котором был обнаружен кадр с адресом
           отправителя, совпадающим со значением соответствующего
           экземпляра dot1dTpFdbAddress. 0 показывает, что номер порта
           не был определен, но у моста имеется некая информация
           о пересылке/фильтрации для этого адреса (например, в
           dot1dStaticTable). Разработчикам рекомендуется
           назначать этому объекту номер порта, когда он определен,
           даже для адресов, у которых соответствующее значение
           dot1dTpFdbStatus не равно learned(3)."
       ::= { dot1dTpFdbEntry 2 }

   dot1dTpFdbStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       other(1),
                       invalid(2),
                       learned(3),
                       self(4),
                       mgmt(5)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Статус записи, который может принимать значения:
               other(1) — ни одно из перечисленных ниже. Это включает
                   ситуации, когда некий другой объект MIB (не
                   соответствующий экземпляру dot1dTpFdbPort и не
                   запись в dot1dStaticTable) используется для 
                   определения пересылки кадра, направленного по 
                   адресу из соответствующего dot1dTpFdbAddress.
               invalid(2) — запись больше не пригодна (например,
                   она уже устарела), но еще остается в таблице.
               learned(3) — значение соответствующего экземпляра
                   dot1dTpFdbPort определено и используется.
               self(4) - значение соответствующего экземпляра
                   dot1dTpFdbAddress представляет один из адресов
                   моста. Соответствующий экземпляр dot1dTpFdbPort
                   показывает, какой из портов имеет этот адрес.
               mgmt(5) - значение соответствующего экземпляра
                   dot1dTpFdbAddress является также значением
                   имеющегося экземпляра dot1dStaticAddress."
       ::= { dot1dTpFdbEntry 3 }

   -- ---------------------------------------------------------- --
   --  Таблица портов для прозрачных мостов
   -- ---------------------------------------------------------- --

   dot1dTpPortTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Dot1dTpPortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Таблица с информацией для каждого порта, связанного 
           с этим прозрачным мостом."
       ::= { dot1dTp 4 }

   dot1dTpPortEntry OBJECT-TYPE
       SYNTAX      Dot1dTpPortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Список информации для каждого порта прозрачного моста."
       INDEX   { dot1dTpPort }
       ::= { dot1dTpPortTable 1 }

   Dot1dTpPortEntry ::=
       SEQUENCE {
           dot1dTpPort
               Integer32,
           dot1dTpPortMaxInfo
               Integer32,
           dot1dTpPortInFrames
               Counter32,
           dot1dTpPortOutFrames
               Counter32,
           dot1dTpPortInDiscards
               Counter32
       }

   dot1dTpPort OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Номер порта, для которого данная строка содержит
           информацию управления прозрачным мостом."
       ::= { dot1dTpPortEntry 1 }

   -- Было бы хорошо использовать ifMtu в качестве максимального
   -- размера поля INFO, но это невозможно, поскольку ifMtu
   -- определяется как размер, который может использовать
   -- (меж)сетевой уровень, а он может отличаться от уровня MAC
   -- (особенно при использовании нескольких уровней инкапсуляции).

   dot1dTpPortMaxInfo OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "bytes"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Максимальный размер поля INFO (не MAC), который этот 
           порт будет принимать и передавать."
       ::= { dot1dTpPortEntry 2 }

   dot1dTpPortInFrames OBJECT-TYPE
       SYNTAX      Counter32
       UNITS       "frames"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число кадров, принятых данным портом из своего сегмента.
           Отметим, что кадры, принятые соответствующим порту
           интерфейсом, учитываются тогда и только тогда, когда они
           относятся к протоколу, обрабатываемому локальной функцией
           моста, включая кадры управления мостом."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.6.1.1.3"
       ::= { dot1dTpPortEntry 3 }

   dot1dTpPortOutFrames OBJECT-TYPE
       SYNTAX      Counter32
       UNITS       "frames"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число кадров, переданных данным портом в свой сегмент.
           Отметим, что кадры, переданные соответствующим порту 
           интерфейсом, учитываются тогда и только тогда, когда они
           относятся к протоколу, обрабатываемому локальной функцией
           моста, включая кадры управления мостом."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.6.1.1.3"
       ::= { dot1dTpPortEntry 4 }

   dot1dTpPortInDiscards OBJECT-TYPE
       SYNTAX      Counter32
       UNITS       "frames"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Число полученных корректных кадров, которые были отброшены
           (например, отфильтрованы) процессом пересылки."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.6.1.1.3"
       ::= { dot1dTpPortEntry 5 }

   -- ---------------------------------------------------------- --
   -- Статическая база данных фильтрации по адресам получателей
   -- ---------------------------------------------------------- --
   -- Реализация этого субдерева не обязательна.
   -- ---------------------------------------------------------- --

   dot1dStaticTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Dot1dStaticEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Таблица, содержащая данные фильтрации, настроенной в
           мосту (локальной или сетевой) системой управления, и 
           задающая набор портов, в которые разрешено пересылать
           кадры из определенных портов, направленные заданным 
           адресатам. Нулевое значение в качестве номера порта в
           этой таблице, из которого приняты кадры для заданного 
           получателя, служит для указания всех портов, которые не 
           имеют специальной записи в этой таблице для данного
           адресата. Записи действуют для индивидуальных, групповых
           и широковещательных адресов."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.7.2"
       ::= { dot1dStatic 1 }

   dot1dStaticEntry OBJECT-TYPE
       SYNTAX      Dot1dStaticEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Данные фильтрации, заданные в мосту (локальной или
           сетевой) системой управления, которые указывают набор
           портов, куда разрешено пересылать кадры, принятые из
           заданного порта и направленные по указанному адресу."
       REFERENCE
           "IEEE 802.1D-1998: clause 14.7.2"
       INDEX   { dot1dStaticAddress, dot1dStaticReceivePort }
       ::= { dot1dStaticTable 1 }

   Dot1dStaticEntry ::=
       SEQUENCE {
           dot1dStaticAddress       MacAddress,
           dot1dStaticReceivePort   Integer32,
           dot1dStaticAllowedToGoTo OCTET STRING,
           dot1dStaticStatus        INTEGER
       }

   dot1dStaticAddress OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "MAC-адрес получателя  в кадре, к которому относится
           данная запись фильтра. Адрес может быть групповым,
           широковещательным или индивидуальным."
       REFERENCE
           "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"
       ::= { dot1dStaticEntry 1 }

   dot1dStaticReceivePort OBJECT-TYPE
       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "0 или номер порта, из которого должен быть принят кадр,
           чтобы к нему применялась данная запись фильтра. Нулевое 
           значение указывает все порты моста, для которых нет 
           других применимых записей."
       ::= { dot1dStaticEntry 2 }

   dot1dStaticAllowedToGoTo OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (0..512))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Набор портов, в которые разрешено пересылать кадры,
           принятые из заданного порта и направленные по указанному
           MAC-адресу. Каждый октет значения этого объекта задает
           набор из 8 портов — первому октету соответствуют порты 
           1 — 8, второму 9 — 16 и т. д. В каждом октете старший бит 
           представляет порт с меньшим номером, младший — с большим.
           Таким образом, каждый порт моста представлен одним битом
           в значении этого объекта. Установленный бит (1) говорит
           о включении порта в число разрешенных, сброшенный (0)
           исключает пересылку в порт. Отметим, что значение для порта
           из которого принят кадр не принимается во внимание. По
           умолчанию значением этого объекта является строка
           установленных (1) битов соответствующего размера.

           Значение этого поля может выходить за пределы требуемого 
           минимума максимального размера сообщения для 
           некоторых видов транспорта SNMP (484 байтов для UDP, см.
           параграф 3.2 в RFC 3417). Машины SNMP на мостах с 
           большим числом портов должны поддерживать подходящий
           максимальный размер сообщений."
       ::= { dot1dStaticEntry 3 }

   dot1dStaticStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       other(1),
                       invalid(2),
                       permanent(3),
                       deleteOnReset(4),
                       deleteOnTimeout(5)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Объект показывает статус записи. По умолчанию permanent(3).
               other(1) — запись используется в настоящее время, но 
                   условия, при которых она будет сохраняться,
                   отличаются от перечисленных ниже значений.
               invalid(2) — запись этого значения в объект удалит
                   соответствующий элемент.
               permanent(3) - запись используется в настоящее время и
                   сохраниться после следующего сброса (перезапуска) моста.
               deleteOnReset(4) - запись используется в настоящее время и
                   будет сохраняться до сброса (перезапуска) моста.
               deleteOnTimeout(5) - запись используется в настоящее время и
                   будет сохраняться, пока не устареет.
       ::= { dot1dStaticEntry 4 }

   -- ---------------------------------------------------------- --
   -- Уведомления, используемые мостами
   -- ---------------------------------------------------------- --
   -- Уведомления для протокола STP
   -- ---------------------------------------------------------- --

   newRoot NOTIFICATION-TYPE
       -- OBJECTS     { }
       STATUS      current
       DESCRIPTION
           "Уведомление (trap) newRoot указывает, что передающий агент
           стал новым корнем STP. Уведомление передается мостом сразу
           после его выбора новым корнем (например, после завершения
           отсчета таймера Topology Change непосредственно после его
           выбора). Реализация этого уведомления не обязательна."
       ::= { dot1dNotifications 1 }

   topologyChange NOTIFICATION-TYPE
       -- OBJECTS     { }
       STATUS      current
       DESCRIPTION
           "Уведомление topologyChange передается мостом, когда любой 
           из его настроенных портов переходит из состояния Learning в
           состояние Forwarding или из состояния Forwarding в состояние
           Blocking. Уведомление не передается, если для того же перехода
           было передано прерывание newRoot. Реализация этого уведомления
           не обязательна."
       ::= { dot1dNotifications 2 }

   -- ---------------------------------------------------------- --
   -- IEEE 802.1D MIB — информация о соответствии
   -- ---------------------------------------------------------- --

   dot1dGroups         OBJECT IDENTIFIER ::= { dot1dConformance 1 }
   dot1dCompliances    OBJECT IDENTIFIER ::= { dot1dConformance 2 }

   -- ---------------------------------------------------------- --
   -- блоки соответствия
   -- ---------------------------------------------------------- --

   -- ---------------------------------------------------------- --
   -- группа dot1dBase
   -- ---------------------------------------------------------- --

   dot1dBaseBridgeGroup OBJECT-GROUP
       OBJECTS {
           dot1dBaseBridgeAddress,
           dot1dBaseNumPorts,
           dot1dBaseType
       }
       STATUS      current
       DESCRIPTION
           "Информация для моста в целом."
       ::= { dot1dGroups 1 }

   dot1dBasePortGroup OBJECT-GROUP
       OBJECTS {
           dot1dBasePort,
           dot1dBasePortIfIndex,
           dot1dBasePortCircuit,
           dot1dBasePortDelayExceededDiscards,
           dot1dBasePortMtuExceededDiscards
       }
       STATUS      current
       DESCRIPTION
           "Информация для каждого порта устройства."
       ::= { dot1dGroups 2 }

   -- ---------------------------------------------------------- --
   -- группа dot1dStp 
   -- ---------------------------------------------------------- --

   dot1dStpBridgeGroup OBJECT-GROUP
       OBJECTS {
           dot1dStpProtocolSpecification,
           dot1dStpPriority,
           dot1dStpTimeSinceTopologyChange,
           dot1dStpTopChanges,
           dot1dStpDesignatedRoot,
           dot1dStpRootCost,
           dot1dStpRootPort,
           dot1dStpMaxAge,
           dot1dStpHelloTime,
           dot1dStpHoldTime,
           dot1dStpForwardDelay,
           dot1dStpBridgeMaxAge,
           dot1dStpBridgeHelloTime,
           dot1dStpBridgeForwardDelay
       }
       STATUS      current
       DESCRIPTION
           "Данные STP для устройства в целом."
       ::= { dot1dGroups 3 }

   dot1dStpPortGroup OBJECT-GROUP
       OBJECTS {
           dot1dStpPort,
           dot1dStpPortPriority,
           dot1dStpPortState,
           dot1dStpPortEnable,
           dot1dStpPortPathCost,
           dot1dStpPortDesignatedRoot,
           dot1dStpPortDesignatedCost,
           dot1dStpPortDesignatedBridge,
           dot1dStpPortDesignatedPort,
           dot1dStpPortForwardTransitions
       }
       STATUS      current
       DESCRIPTION
           "Данные STP для каждого порта устройства."
       ::= { dot1dGroups 4 }

   dot1dStpPortGroup2 OBJECT-GROUP
       OBJECTS {
           dot1dStpPort,
           dot1dStpPortPriority,
           dot1dStpPortState,
           dot1dStpPortEnable,
           dot1dStpPortDesignatedRoot,
           dot1dStpPortDesignatedCost,
           dot1dStpPortDesignatedBridge,
           dot1dStpPortDesignatedPort,
           dot1dStpPortForwardTransitions,
           dot1dStpPortPathCost32
       }
       STATUS      current
       DESCRIPTION
           "Данные STP для каждого порта устройства."
       ::= { dot1dGroups 5 }

   dot1dStpPortGroup3 OBJECT-GROUP
       OBJECTS {
           dot1dStpPortPathCost32
       }
       STATUS      current
       DESCRIPTION
           "Данные STP для устройств, поддерживающих 32-битовые
            значения стоимости пути."
       ::= { dot1dGroups 6 }

   -- ---------------------------------------------------------- --
   -- группа dot1dTp 
   -- ---------------------------------------------------------- --

   dot1dTpBridgeGroup OBJECT-GROUP
       OBJECTS {
           dot1dTpLearnedEntryDiscards,
           dot1dTpAgingTime
       }
       STATUS      current
       DESCRIPTION
           "Данные прозрачного моста для устройства в целом."
       ::= { dot1dGroups 7 }

   dot1dTpFdbGroup OBJECT-GROUP
       OBJECTS {
           dot1dTpFdbAddress,
           dot1dTpFdbPort,
           dot1dTpFdbStatus
       }

       STATUS      current
       DESCRIPTION
           "Данные Filtering Database для моста в целом."
       ::= { dot1dGroups 8 }

   dot1dTpGroup OBJECT-GROUP
       OBJECTS {
           dot1dTpPort,
           dot1dTpPortMaxInfo,
           dot1dTpPortInFrames,
           dot1dTpPortOutFrames,
           dot1dTpPortInDiscards
       }
       STATUS      current
       DESCRIPTION
           "Динамические данные Filtering Database для каждого порта."
       ::= { dot1dGroups 9 }

   -- ---------------------------------------------------------- --
   -- База данных статической фильтрации по адресам получателей
   -- ---------------------------------------------------------- --

   dot1dStaticGroup OBJECT-GROUP
       OBJECTS {
           dot1dStaticAddress,
           dot1dStaticReceivePort,
           dot1dStaticAllowedToGoTo,
           dot1dStaticStatus
       }
       STATUS      current
       DESCRIPTION
           "Статические данные Filtering Database для каждого порта."
       ::= { dot1dGroups 10 }

   -- ---------------------------------------------------------- --
   -- Группа Trap Notification
   -- ---------------------------------------------------------- --

   dot1dNotificationGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
           newRoot,
           topologyChange
       }
       STATUS      current
       DESCRIPTION
           "Группа объектов, описывающих уведомления (trap)."
       ::= { dot1dGroups 11 }

   -- ---------------------------------------------------------- --
   -- заявления о соответствии
   -- ---------------------------------------------------------- --

   bridgeCompliance1493 MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "Заявление о поддержке функций моста в соответствии с RFC 1493."

       MODULE
           MANDATORY-GROUPS {
               dot1dBaseBridgeGroup,
               dot1dBasePortGroup
           }

       GROUP   dot1dStpBridgeGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих протокол STP."

       GROUP   dot1dStpPortGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих протокол STP."

       GROUP   dot1dTpBridgeGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих прозрачный режим. Группу будут 
           реализовать прозрачные и SRT мосты."

       GROUP   dot1dTpFdbGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих прозрачный режим. Группу будут 
           реализовать прозрачные и SRT мосты."

       GROUP   dot1dTpGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих прозрачный режим. Группу будут 
           реализовать прозрачные и SRT мосты."

       GROUP   dot1dStaticGroup
       DESCRIPTION
           "Реализация этой группы не обязательна."

       GROUP dot1dNotificationGroup
       DESCRIPTION
           "Реализация этой группы не обязательна."
       ::= { dot1dCompliances 1 }

   bridgeCompliance4188 MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "Заявление о соответствии для устройства, поддерживающего 
           функции моста. Это включает поддержку 32-битовых значений 
           Path Cost и более ограниченные по сравнению с IEEE 802.1t
           приоритеты моста и портов.

           Полная поддержка объектов управления 802.1D требует реализации
           объектов SNMPv2-MIB [RFC3418] sysDescr и sysUpTime, а также
           объектов IF-MIB [RFC2863] ifIndex, ifType, ifDescr, 
           ifPhysAddress и ifLastChange."

       MODULE
           MANDATORY-GROUPS {
               dot1dBaseBridgeGroup,
               dot1dBasePortGroup
           }

       GROUP   dot1dStpBridgeGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих протокол STP."

       OBJECT dot1dStpPriority
       SYNTAX Integer32 (0|4096|8192|12288|16384|20480|24576
                        |28672|32768|36864|40960|45056|49152
                        |53248|57344|61440)
       DESCRIPTION
           "Возможные значения определены стандартом IEEE 802.1t."

       GROUP   dot1dStpPortGroup2
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих протокол STP."

       GROUP   dot1dStpPortGroup3
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих протокол STP и 32-битовые значения
           стоимости пути. В частности, это устройства, 
           поддерживающие IEEE 802.1t и IEEE 802.1w."

       OBJECT dot1dStpPortPriority
       SYNTAX Integer32 (0|16|32|48|64|80|96|112|128
                        |144|160|176|192|208|224|240)
       DESCRIPTION
           "Возможные значения определены стандартом IEEE 802.1t."

       GROUP   dot1dTpBridgeGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих прозрачный режим. Группу будут 
           реализовать прозрачные и SRT мосты."

       GROUP   dot1dTpFdbGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих прозрачный режим. Группу будут 
           реализовать прозрачные и SRT мосты."

       GROUP   dot1dTpGroup
       DESCRIPTION
           "Реализация этой группы обязательна для мостов, 
           поддерживающих прозрачный режим. Группу будут 
           реализовать прозрачные и SRT мосты."

       GROUP   dot1dStaticGroup
       DESCRIPTION
           "Реализация этой группы не обязательна."

       GROUP dot1dNotificationGroup
       DESCRIPTION
           "Реализация этой группы не обязательна."
       ::= { dot1dCompliances 2 }

   END

5. Взаимодействие с IANA

Описанный в этом документе модуль MIB использует назначенное IANA значение OBJECT IDENTIFIER, записанное в реестр SMI Numbers.

 

Дескриптор

Значение OBJECT IDENTIFIER

dot1dBridge

{ mib-2 17 }

 

6. Вопросы безопасности

В этом модуле MIB определено множество объектов с MAX-ACCESS, разрешающим запись (read-write и/или read-create). Такие объекты могут быть уязвимыми в некоторых сетевых средах. Поддержка операций SET в небезопасной среде без подобающей защиты может оказывать негативное влияние на работу сети.

Некоторые из доступных для чтения объектов в данном модуле MIB (объекты, у которых MAX-ACCESS отличается от not-accessible), могут быть уязвимыми в некоторых сетевых средах. Важно контролировать даже операции GET и/или NOTIFY для таких объектов и возможно даже шифровать их значения при передаче через сеть по протоколу SNMP.

Ниже перечислены таблицы и объекты, требующие внимания в плане конфиденциальности и уязвимости.

  • Открытые для записи объекты dot1dStpPriority, dot1dStpBridgeMaxAge, dot1dStpBridgeHelloTime, dot1dStpBridgeForwardDelay, dot1dStpPortPriority, dot1dStpPortEnable, dot1dStpPortPathCost и dot1dStpPortPathCost32 влияют на протокол STP. Несанкционированная запись в эти объекты может привести к изменению принятой по умолчанию топологии или повлиять на скорость расчета остовного дерева.

  • Открытый для записи объект dot1dTpAgingTime управляет сроком старения определенной динамически информации о пересылке. Установка слишком большого значения может упростить организацию атак с переполнением таблицы пересылки.

  • Открытый для записи объект dot1dStaticTable обеспечивает механизм фильтрации, в какие порты могут пересылаться кадры от конкретного отправителя. Запись в эту таблицу может использоваться для отключения фильтрации или добавления фильтров, препятствующих корректной работе сети.

  • Открытые для чтения объекты в модуле BRIDGE-MIB содержат информацию о сети на базе мостов и подключенных к ней активных станциях. Адреса в таблице dot1dTpFdbTable обычно показывают производителя оборудования MAC и это может помочь при организации атак.

  • Два уведомления newRoot и topologyChange, передаваемые в процессе расчета STP, могут инициировать проверку системой управления состояния мостов и перерасчета внутренней топологической информации. Это позволяет с помощью обманных уведомлений вынудить систему управления выполнять ненужные расчеты и генерировать дополнительный трафик SNMP, направленный мостам сети. Такие ложные уведомления могут быть частью атаки на отказ сетевых служб.

Протокол SNMP до версии SNMPv3 не обеспечивает адекватной защиты. Даже в защищенной сети (например, с помощью IPSec) нет возможности персонально контролировать доступ GET/SET (чтение, изменение, создание, удаление) к объектам данного модуля MIB.

Разработчикам рекомендуется рассмотреть функции защиты, обеспечиваемые SNMPv3 (см. раздел 8 [RFC3410]), включая полную поддержку криптографических механизмов SNMPv3 (для аутентификации и конфиденциальности).

Более того, развертывание версий SNMP до SNMPv3 не рекомендуется. Вместо этого рекомендуется использовать SNMPv3 и включать криптографическую защиту. Тогда на абонентов/операторов ложится ответственность за обеспечение того, чтобы объект SNMP, предоставляющий доступ к экземпляру этого модуля MIB, был правильно настроен для предоставления доступа к объектам лишь тем элементам (пользователям), которые имеют легитимные права выполнять операции GET или SET (изменить, создать, удалить).

7. Благодарности

Представленный здесь модуль MIB является трансляцией модуля BRIDGE-MIB, определенного в [RFC1493], с использованием синтаксиса SMIv2. Авторами исходного модуля SMIv1 были E. Decker, P. Langille, A. Rijsinghani и K. McCloghrie. Большое спасибо членам исходной рабочей группы Bridge за подготовку [RFC1493].

Документ был подготовлен от имени рабочей группы Bridge MIB в рамках направления Operations and Management под эгидой IETF. Авторы благодарны членам группы Bridge MIB, особенно Mike MacFadden, John Flick и Bert Visscher за их замечания и предложения, которые позволили улучшить документ. Juergen Schoenwaelder помог подготовить документ к публикации.

8. Контактная информация

Основной вклад в создание исходной версии этого документа внесли четыре человека, перечисленных ниже.

E. Decker

P. Langille

A. Rijsinghan

Accton Technology Corporation

5 Mount Royal Ave

Marlboro, MA 01752

USA

K. McCloghrie

Cisco Systems, Inc.

170 West Tasman Drive

San Jose, CA 95134

USA

Преобразование в формат SMIv2 обеспечили перечисленные ниже участники работы.

Kenyon C. Norseth

L-3 Communications

640 N. 2200 West

Salt Lake City, Utah 84116-0850

USA

E. Bell

3Com Europe Limited

3Com Centre, Boundary Way

Hemel Hempstead Herts. HP2 7YU

UK

9. Отличия от RFC 1493

Ниже перечислены изменения, внесенные в RFC 1493.

  1. Определения MIB переведены в SMIv2. Это включает добавление заявлений о совместимости. Определения ASN.1 были преобразованы в тестовые соглашения, а также добавлено несколько пунктов UNITS.

  2. Добавлен объект dot1dStpPortPathCost32 для поддержки IEEE 802.1t.

  3. Разрешенные значения dot1dStpPriority и dot1dStpPortPriority были дополнительно разъяснены для мостов, поддерживающих IEEE 802.1t или IEEE 802.1w.

  4. Разъяснена интерпретация dot1dStpTimeSinceTopologyChange для мостов, поддерживающих протокол RSTP.

  5. Обновлен вводный текст шаблона, раздел, посвященный безопасности и ссылки с учетом стандартов и рекомендаций IETF.

  6. Обновлены ссылки на документы IEEE 802.1d.

  7. Дополнения и разъяснения в текстах описаний.

10. Литература

10.1 Нормативные документы

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

[RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Structure of Management Information Version 2 (SMIv2)”, STD 58, RFC 2578, April 1999.

[RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Textual Conventions for SMIv2”, STD 58, RFC 2579, April 1999.

[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2”, STD 58, RFC 2580, April 1999.

[RFC3418] Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)”, STD 62, RFC 3418, December 2002.

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

[IEEE8021D] IEEE Project 802 Local and Metropolitan Area Networks, “ANSI/IEEE Standard 802.1D-1998 MAC Bridges”, March 1998.

10.2 Дополнительная литература

[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework”, RFC 3410, December 2002.

[RFC1493] Decker, E., Langille, P., Rijsinghani, A., and K. McCloghrie, “Definitions of Managed Objects for Bridges”, RFC 1493, July 1993.

[RFC1525] Decker, E., McCloghrie, K., Langille, P., and A. Rijsinghani, “Definitions of Managed Objects for Source Routing Bridges”, RFC 1525, September 1993.

Адреса авторов

Kenyon C. Norseth (редактор)

L-3 Communications

640 N. 2200 West

Salt Lake City, Utah 84116-0850

USA

Phone: +1 801-594-2809

EMail: kenyon.c.norseth@L-3com.com

E. Bell (редактор)

3Com Europe Limited

3Com Centre, Boundary Way

Hemel Hempstead Herts. HP2 7YU

UK

Phone: +44 1442 438025

EMail: elbell@ntlworld.com


Перевод на русский язык

Николай Малых

nmalykh@gmail.com

Полное заявление авторских прав

Copyright (C) The Internet Society (2005).

К этому документу применимы права, лицензии и ограничения, указанные в BCP 78, и, за исключением указанного там, авторы сохраняют свои права.

Этот документ и содержащаяся в нем информация представлены “как есть” и автор, организация, которую он/она представляет или которая выступает спонсором (если таковой имеется), Internet Society и IETF отказываются от каких-либо гарантий (явных или подразумеваемых), включая (но не ограничиваясь) любые гарантии того, что использование представленной здесь информации не будет нарушать чьих-либо прав, и любые предполагаемые гарантии коммерческого использования или применимости для тех или иных задач.

Интеллектуальная собственность

IETF не принимает какой-либо позиции в отношении действительности или объема каких-либо прав интеллектуальной собственности (Intellectual Property Rights или IPR) или иных прав, которые, как может быть заявлено, относятся к реализации или использованию описанной в этом документе технологии, или степени, в которой любая лицензия, по которой права могут или не могут быть доступны, не заявляется также применение каких-либо усилий для определения таких прав. Сведения о процедурах IETF в отношении прав в документах RFC можно найти в BCP 78 и BCP 79.

Копии раскрытия IPR, предоставленные секретариату IETF, и любые гарантии доступности лицензий, а также результаты попыток получить общую лицензию или право на использование таких прав собственности разработчиками или пользователями этой спецификации, можно получить из сетевого репозитория IETF IPR по ссылке http://www.ietf.org/ipr.

IETF предлагает любой заинтересованной стороне обратить внимание на авторские права, патенты или использование патентов, а также иные права собственности, которые могут потребоваться для реализации этого стандарта. Информацию следует направлять в IETF по адресу ietf-ipr@ietf.org.

Подтверждение

Финансирование функций RFC Editor обеспечено Internet Society.


1Management Information Base — база данных для управления.

2Simple Network Management Protocol.

3Structure of Management Information — структура управляющей информации.

4Spanning Tree Protocol — протокол остовного (связующего) дерева.

5Rapid Spanning Tree Protocol — ускоренный протокол остовного дерева.

Запись опубликована в рубрике RFC. Добавьте в закладки постоянную ссылку.