RFC 4273 Definitions of Managed Objects for BGP-4

Network Working Group                                   J. Haas, Ed.
Request for Comments: 4273                             S. Hares, Ed.
Obsoletes: 1269, 1657                           NextHop Technologies
Category: Standards Track                               January 2006

Определения объектов управления для BGP-4

Definitions of Managed Objects for BGP-4

PDF

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

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

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

Copyright (C) The Internet Society (2006).

Аннотация

Этот документ определяет часть базы MIB1 для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет объекты управления для протокола BGP2 версии 4 и предыдущих версий.

Предтечей этого документа является RFC 1269 “Definitions of Managed Objects for the Border Gateway Protocol (Version 3)”, который был обновлен для поддержки BGP-4 в RFC 1657. В документе исправлены ошибки, внесенные при конвертировании модуля MIB для использования с языком SMIv2. В документе также даются обновленные ссылки на современные документы SNMP.

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

Этот документ отменяет действие RFC 1269 и RFC 1657.

1. Введение

Этот документ определяет часть базы MIB3 для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет объекты управления для протокола BGP4 версии 4 и предыдущих версий [BGP4, BGP4APP].

Этот документ отменяет действие RFC 1269 и RFC 1657.

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

Подробный обзор современной стандартной схемы сетевого управления Internet (Internet-Standard Management Framework) содержится в главе 7 документа RFC 3410 [RFC3410].

Доступ к объектам управления осуществляется через виртуальное информационное хранилище, называемое базой данных управления (Management Information Base) или MIB. Для доступа к объектам MIB обычно используется простой протокол SNMP5.

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

3. Обзор

Эти объекты используются для контроля и управления реализациями протокола BGP-4.

За исключением небольшого числа скалярных объектов системного уровня модуль MIB поделен на три таблицы: таблица партнеров (BGP Peer Table), таблица полученных атрибутов пути (BGP Received Path Attribute Table) и таблица принятых атрибутов BGP-4 (BGP-4 Received Path Attribute Table). Таблица партнеров содержит сведения о состоянии и текущей активности соединений с партнерами BGP. Таблица полученных атрибутов пути содержит атрибуты пути, принятые от всех партнеров, использующих протокол BGP версии 3 или ниже. Таблица BGP-4 Received Path Attribute содержит атрибуты пути, полученные от всех партнеров BGP-4. Атрибуты, используемые в действительности для определения маршрутов, являются подмножеством таблиц принятых атрибутов после применения к этим таблицам правил локальной политики маршрутизации.

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

    BGP4-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
            IpAddress, Integer32, Counter32, Gauge32, mib-2
                FROM SNMPv2-SMI
            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF;

        bgp MODULE-IDENTITY
            LAST-UPDATED "200601110000Z"
            ORGANIZATION "IETF IDR Working Group"
            CONTACT-INFO "E-mail:  idr@ietf.org

                          Jeffrey Haas, Susan Hares  (Editors)
                          NextHop Technologies
                          825 Victors Way
                          Suite 100
                          Ann Arbor, MI 48108-2738
                          Tel: +1 734 222-1600
                          Fax: +1 734 222-1602
                          E-mail: jhaas@nexthop.com
                                  skh@nexthop.com"

            DESCRIPTION1
                    "The MIB module for the BGP-4 protocol.
                    Copyright (C) The Internet Society (2006). This version of this MIB module
                    is part of RFC 4273; see the RFC itself for full legal notices."

            REVISION "200601110000Z"
            DESCRIPTION2
                   "Changes from RFC 1657:

                    1) Fixed the definitions of the notifications to make them equivalent to
                       their initial definition in RFC 1269.
                    2) Added compliance and conformance info.
                    3) Updated information for the values of  bgpPeerNegotiatedVersion,
                       bgp4PathAttrLocalPref, bgp4PathAttrCalcLocalPref,
                       bgp4PathAttrMultiExitDisc, bgp4PathAttrASPathSegement.
                    4) Added additional clarification comments where needed.
                    5) Noted where objects do not fully reflect the protocol as Known Issues.
                    6) Updated the DESCRIPTION for the bgp4PathAttrAtomicAggregate object.
                    7) The following objects have had their DESCRIPTION clause modified to
                       remove the text that suggested (using 'should' verb) initializing the
                       counter to zero on a transition to the established state:
                         bgpPeerInUpdates, bgpPeerOutUpdates,
                         bgpPeerInTotalMessages, bgpPeerOutTotalMessages
                       Those implementations that still do this are still compliant with this
                       new wording. Applications should not assume counters have started at
                       zero.

                     Published as RFC 4273."

            REVISION "199405050000Z"
            DESCRIPTION3
                    "Translated to SMIv2 and published as RFC 1657."

            REVISION "199110261839Z"
            DESCRIPTION4
                    "Initial version, published as RFC 1269."
            ::= { mib-2 15 }

        bgpVersion OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (1..255))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION5
                   "Vector of supported BGP protocol version numbers. Each peer negotiates the
                     version from this vector.  Versions are identified via the string of bits
                     contained within this object.  The first octet contains bits 0 to 7, the
                     second octet contains bits 8 to 15, and so on, with the most significant
                     bit referring to the lowest bit number in the octet (e.g., the MSB of the
                     first octet refers to bit 0).  If a bit, i, is present and set, then the
                     version (i+1) of the BGP is supported."
            REFERENCE
                    "RFC 4271, Section 4.2."
            ::= { bgp 1 }

        bgpLocalAs OBJECT-TYPE

            SYNTAX     Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION6
                    "The local autonomous system number."
            REFERENCE
                     "RFC 4271, Section 4.2, 'My Autonomous System'."
            ::= { bgp 2 }

        -- BGP Peer table.  This table contains, one entry per
        -- BGP peer, information about the BGP peer.7

        bgpPeerTable OBJECT-TYPE
            SYNTAX     SEQUENCE OF BgpPeerEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION8
                    "BGP peer table.  This table contains, one entry per BGP peer, information
                     about the connections with BGP peers."
            ::= { bgp 3 }

        bgpPeerEntry OBJECT-TYPE
            SYNTAX     BgpPeerEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION9
                    "Entry containing information about the connection with a BGP peer."
            INDEX { bgpPeerRemoteAddr }
            ::= { bgpPeerTable 1 }

        BgpPeerEntry ::= SEQUENCE {
                bgpPeerIdentifier
                    IpAddress,
                bgpPeerState
                    INTEGER,
                bgpPeerAdminStatus
                    INTEGER,
                bgpPeerNegotiatedVersion
                    Integer32,
                bgpPeerLocalAddr
                    IpAddress,
                bgpPeerLocalPort
                    Integer32,
                bgpPeerRemoteAddr
                    IpAddress,
                bgpPeerRemotePort
                    Integer32,
                bgpPeerRemoteAs
                    Integer32,
                bgpPeerInUpdates
                    Counter32,
                bgpPeerOutUpdates
                    Counter32,
                bgpPeerInTotalMessages
                    Counter32,
                bgpPeerOutTotalMessages
                    Counter32,
                bgpPeerLastError
                    OCTET STRING,
                bgpPeerFsmEstablishedTransitions
                    Counter32,
                bgpPeerFsmEstablishedTime
                    Gauge32,
                bgpPeerConnectRetryInterval
                    Integer32,
                bgpPeerHoldTime
                    Integer32,
                bgpPeerKeepAlive
                    Integer32,
                bgpPeerHoldTimeConfigured
                    Integer32,
                bgpPeerKeepAliveConfigured
                    Integer32,
                bgpPeerMinASOriginationInterval
                    Integer32,
                bgpPeerMinRouteAdvertisementInterval
                    Integer32,
                bgpPeerInUpdateElapsedTime
                    Gauge32
                }

        bgpPeerIdentifier OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION10
                    "The BGP Identifier of this entry's BGP peer. This entry MUST be 0.0.0.0
                     unless the bgpPeerState is in the openconfirm or the established state."
            REFERENCE
                    "RFC 4271, Section 4.2, 'BGP Identifier'."
            ::= { bgpPeerEntry 1 }

        bgpPeerState OBJECT-TYPE
            SYNTAX     INTEGER {
                                idle(1),
                                connect(2),
                                active(3),
                                opensent(4),
                                openconfirm(5),
                                established(6)
                       }
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION11
                    "The BGP peer connection state."
            REFERENCE
                    "RFC 4271, Section 8.2.2."
            ::= { bgpPeerEntry 2 }

        bgpPeerAdminStatus OBJECT-TYPE
            SYNTAX     INTEGER {
                                stop(1),
                                start(2)
                       }
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION12
                    "The desired state of the BGP connection. A transition from 'stop' to
                     'start' will cause the BGP Manual Start Event to be generated. A transition
                     from 'start' to 'stop' will cause the BGP Manual Stop Event to be
                     generated. This parameter can be used to restart BGP peer connections.
                     Care should be used in providing write access to this object without
                     adequate authentication."
            REFERENCE
                    "RFC 4271, Section 8.1.2."
            ::= { bgpPeerEntry 3 }

        bgpPeerNegotiatedVersion OBJECT-TYPE
            SYNTAX     Integer32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION13
                    "The negotiated version of BGP running between the two peers.

                     This entry MUST be zero (0) unless the bgpPeerState is in the openconfirm
                     or the established state.

                     Note that legal values for this object are between 0 and 255."
            REFERENCE
                    "RFC 4271, Section 4.2.
                     RFC 4271, Section 7."
            ::= { bgpPeerEntry 4 }

        bgpPeerLocalAddr OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION14
                    "The local IP address of this entry's BGP connection."
            ::= { bgpPeerEntry 5 }

        bgpPeerLocalPort OBJECT-TYPE
            SYNTAX     Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION15
                    "The local port for the TCP connection between the BGP peers."
            ::= { bgpPeerEntry 6 }

        bgpPeerRemoteAddr OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION16
                    "The remote IP address of this entry's BGP peer."
            ::= { bgpPeerEntry 7 }

        bgpPeerRemotePort OBJECT-TYPE
            SYNTAX     Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION17
                   "The remote port for the TCP connection between the BGP peers.  Note that
                   the objects bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr, and
                   bgpPeerRemotePort provide the appropriate reference to the standard MIB TCP
                   connection table."

            ::= { bgpPeerEntry 8 }

        bgpPeerRemoteAs OBJECT-TYPE
            SYNTAX     Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION18
                    "The remote autonomous system number received in the BGP OPEN message."
            REFERENCE
                    "RFC 4271, Section 4.2."
            ::= { bgpPeerEntry 9 }

        bgpPeerInUpdates OBJECT-TYPE
            SYNTAX     Counter32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION19
                    "The number of BGP UPDATE messages received on this connection."
            REFERENCE
                    "RFC 4271, Section 4.3."
            ::= { bgpPeerEntry 10 }

        bgpPeerOutUpdates OBJECT-TYPE
            SYNTAX     Counter32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION20
                    "The number of BGP UPDATE messages transmitted on this connection."
            REFERENCE
                    "RFC 4271, Section 4.3."
            ::= { bgpPeerEntry 11 }

        bgpPeerInTotalMessages OBJECT-TYPE
            SYNTAX     Counter32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION21
                    "The total number of messages received from the remote peer on this
                     connection."
            REFERENCE
                    "RFC 4271, Section 4."
            ::= { bgpPeerEntry 12 }

        bgpPeerOutTotalMessages OBJECT-TYPE
            SYNTAX     Counter32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION22
                    "The total number of messages transmitted to the remote peer on this 
                     connection."
            REFERENCE
                    "RFC 4271, Section 4."
            ::= { bgpPeerEntry 13 }

        bgpPeerLastError OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (2))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION23
                    "The last error code and subcode seen by this peer on this connection. If 
                     no error has occurred, this field is zero.  Otherwise, the first byte of
                     this two byte OCTET STRING contains the error code, and the second byte
                     contains the subcode."
            REFERENCE
                    "RFC 4271, Section 4.5."
            ::= { bgpPeerEntry 14 }

        bgpPeerFsmEstablishedTransitions OBJECT-TYPE
            SYNTAX     Counter32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION24
                    "The total number of times the BGP FSM transitioned into the established 
                     state for this peer."
            REFERENCE
                    "RFC 4271, Section 8."
            ::= { bgpPeerEntry 15 }

        bgpPeerFsmEstablishedTime OBJECT-TYPE
            SYNTAX     Gauge32
            UNITS      "seconds"
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION25
                   "This timer indicates how long (in seconds) this peer has been in the
                   established state or how long since this peer was last in the
                   established state.  It is set to zero when a new peer is configured or when
                   the router is booted."
            REFERENCE
                    "RFC 4271, Section 8."
            ::= { bgpPeerEntry 16 }

        bgpPeerConnectRetryInterval OBJECT-TYPE
            SYNTAX     Integer32 (1..65535)
            UNITS      "seconds"
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION26
                   "Time interval (in seconds) for the ConnectRetry timer. The suggested value
                   for this timer is 120 seconds."
            REFERENCE
                    "RFC 4271, Section 8.2.2.  This is the value used
                     to initialize the 'ConnectRetryTimer'."
            ::= { bgpPeerEntry 17 }

        bgpPeerHoldTime OBJECT-TYPE
            SYNTAX     Integer32  ( 0 | 3..65535 )
            UNITS      "seconds"
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION27
                    "Time interval (in seconds) for the Hold Timer established with the peer.
                     The value of this object is calculated by this BGP speaker, using the
                     smaller of the values in bgpPeerHoldTimeConfigured and the Hold Time
                     received in the OPEN message.

                     This value must be at least three seconds if it is not zero (0).

                     If the Hold Timer has not been established with the peer this object MUST
                     have a value of zero (0).

                     If the bgpPeerHoldTimeConfigured object has a value of (0), then this
                     object MUST have a value of (0)."
            REFERENCE
                    "RFC 4271, Section 4.2."
            ::= { bgpPeerEntry 18 }

        bgpPeerKeepAlive OBJECT-TYPE
            SYNTAX     Integer32 ( 0 | 1..21845 )
            UNITS      "seconds"
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION28
                    "Time interval (in seconds) for the KeepAlive timer established with the
                    peer.  The value of this object is calculated by this BGP speaker such
                    that, when compared with bgpPeerHoldTime, it has the same proportion that
                    bgpPeerKeepAliveConfigured has, compared with bgpPeerHoldTimeConfigured.

                    If the KeepAlive timer has not been established with the peer, this object
                    MUST have a value of zero (0).

                    If the of bgpPeerKeepAliveConfigured object has a value of (0), then this
                    object MUST have a value of (0)."
            REFERENCE
                    "RFC 4271, Section 4.4."
            ::= { bgpPeerEntry 19 }

        bgpPeerHoldTimeConfigured OBJECT-TYPE
            SYNTAX     Integer32 ( 0 | 3..65535 )
            UNITS      "seconds"
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION29
                    "Time interval (in seconds) for the Hold Time configured for this BGP
                    speaker with this peer.  This value is placed in an OPEN message sent to
                    this peer by this BGP speaker, and is compared with the Hold Time field in
                    an OPEN message received from the peer when determining the Hold Time
                    (bgpPeerHoldTime) with the peer. This value must not be less than three
                    seconds if it is not zero (0).  If it is zero (0), the Hold Time is NOT to
                    be established with the peer.  The suggested value for this timer is 90
                    seconds."
            REFERENCE
                    "RFC 4271, Section 4.2.
                     RFC 4271, Section 10."
            ::= { bgpPeerEntry 20 }

        bgpPeerKeepAliveConfigured OBJECT-TYPE

            SYNTAX     Integer32 ( 0 | 1..21845 )
            UNITS      "seconds"
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION30
                   "Time interval (in seconds) for the KeepAlive timer configured for this BGP
                    speaker with this peer.  The value of this object will only determine the
                    KEEPALIVE messages' frequency relative to the value specified in
                    bgpPeerHoldTimeConfigured; the actual time interval for the KEEPALIVE
                    messages is indicated by bgpPeerKeepAlive.  A reasonable maximum value for
                    this timer would be one third of that of bgpPeerHoldTimeConfigured.
                    If the value of this object is zero (0), no periodical KEEPALIVE messages
                    are sent to the peer after the BGP connection has been established.  The
                    suggested value for this timer is 30 seconds."
            REFERENCE
                    "RFC 4271, Section 4.4.
                     RFC 4271, Section 10."
            ::= { bgpPeerEntry 21 }

        bgpPeerMinASOriginationInterval OBJECT-TYPE
            SYNTAX     Integer32 (1..65535)
            UNITS      "seconds"
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION31
                    "Time interval (in seconds) for the MinASOriginationInterval timer.
                     The suggested value for this timer is 15 seconds."
            REFERENCE
                    "RFC 4271, Section 9.2.1.2.
                     RFC 4271, Section 10."
            ::= { bgpPeerEntry 22 }

        bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
            SYNTAX     Integer32 (1..65535)
            UNITS      "seconds"
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION32
                  "Time interval (in seconds) for the MinRouteAdvertisementInterval timer. The
                   suggested value for this timer is 30 seconds for EBGP connections and 5
                   seconds for IBGP connections."
            REFERENCE
                    "RFC 4271, Section 9.2.1.1.
                     RFC 4271, Section 10."
            ::= { bgpPeerEntry 23 }

        bgpPeerInUpdateElapsedTime OBJECT-TYPE
            SYNTAX     Gauge32
            UNITS      "seconds"
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION33
                    "Elapsed time (in seconds) since the last BGP UPDATE message was received
                     from the peer. Each time bgpPeerInUpdates is incremented,
                     the value of this object is set to zero (0)."
            REFERENCE
                    "RFC 4271, Section 4.3.
                     RFC 4271, Section 8.2.2, Established state."
            ::= { bgpPeerEntry 24 }

        bgpIdentifier OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION34
                    "The BGP Identifier of the local system."
            REFERENCE
                    "RFC 4271, Section 4.2."
            ::= { bgp 4 }

        -- BGP Received Path Attribute Table.  This table contains one entry per path to a 
        -- network, and path attributes received from all peers running BGP version 3 or less.
        -- This table is obsolete, having been replaced in
        -- functionality by the bgp4PathAttrTable35.

        bgpRcvdPathAttrTable OBJECT-TYPE
            SYNTAX     SEQUENCE OF BgpPathAttrEntry
            MAX-ACCESS not-accessible
            STATUS     obsolete
            DESCRIPTION36
                    "The BGP Received Path Attribute Table contains information about paths to
                     destination networks, received from all peers running BGP version 3 or
                     less."
            ::= { bgp 5 }

        bgpPathAttrEntry OBJECT-TYPE
            SYNTAX     BgpPathAttrEntry
            MAX-ACCESS not-accessible
            STATUS     obsolete
            DESCRIPTION37
                    "Information about a path to a network."
            INDEX { bgpPathAttrDestNetwork,
                    bgpPathAttrPeer        }
            ::= { bgpRcvdPathAttrTable 1 }

        BgpPathAttrEntry ::= SEQUENCE {
            bgpPathAttrPeer
                 IpAddress,
            bgpPathAttrDestNetwork
                 IpAddress,
            bgpPathAttrOrigin
                 INTEGER,
            bgpPathAttrASPath
                 OCTET STRING,
            bgpPathAttrNextHop
                 IpAddress,
            bgpPathAttrInterASMetric
                 Integer32
        }

        bgpPathAttrPeer OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     obsolete
            DESCRIPTION38
                    "The IP address of the peer where the path information was learned."
            ::= { bgpPathAttrEntry 1 }

        bgpPathAttrDestNetwork OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     obsolete
            DESCRIPTION
                    "The address of the destination network."
            REFERENCE
                    "RFC 1267, Section 4.3."
            ::= { bgpPathAttrEntry 2 }

        bgpPathAttrOrigin OBJECT-TYPE
            SYNTAX     INTEGER {
                           igp(1),-- networks are interior39
                           egp(2),-- networks learned via the EGP protocol40
                           incomplete(3) -- networks that are learned by some other means41
                       }
            MAX-ACCESS read-only
            STATUS     obsolete
            DESCRIPTION42
                    "The ultimate origin of the path information."
            REFERENCE
                    "RFC 1267, Section 4.3.
                     RFC 1267, Section 5."
            ::= { bgpPathAttrEntry 3 }

        bgpPathAttrASPath OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (2..255))
            MAX-ACCESS read-only
            STATUS     obsolete
            DESCRIPTION43
                    "The set of ASes that must be traversed to reach the network.  This object
                     is probably best represented as SEQUENCE OF INTEGER.  For SMI
                     compatibility, though, it is represented as OCTET STRING.  Each AS is
                     represented as a pair of octets according to the following algorithm:

                        first-byte-of-pair = ASNumber / 256;
                        second-byte-of-pair = ASNumber & 255;"
            REFERENCE
                    "RFC 1267, Section 4.3.
                     RFC 1267, Section 5."
            ::= { bgpPathAttrEntry 4 }

        bgpPathAttrNextHop OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     obsolete
            DESCRIPTION44
                    "The address of the border router that should
                     be used for the destination network."
            REFERENCE
                    "RFC 1267, Section 4.3.
                     RFC 1267, Section 5."
            ::= { bgpPathAttrEntry 5 }

        bgpPathAttrInterASMetric OBJECT-TYPE
            SYNTAX     Integer32
            MAX-ACCESS read-only
            STATUS     obsolete
            DESCRIPTION45
                   "The optional inter-AS metric.  If this attribute has not been provided for
                    this route, the value for this object is 0."
            REFERENCE
                    "RFC 1267, Section 4.3.
                     RFC 1267, Section 5."
            ::= { bgpPathAttrEntry 6 }

        -- BGP-4 Received Path Attribute Table.  This table contains one entry per path 
        -- to a network, and path attributes received from all peers running BGP-446.

        bgp4PathAttrTable OBJECT-TYPE
            SYNTAX     SEQUENCE OF Bgp4PathAttrEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION47
                  "The BGP-4 Received Path Attribute Table contains information about paths to
                   destination networks, received from all BGP4 peers."
            ::= { bgp 6 }

        bgp4PathAttrEntry OBJECT-TYPE
            SYNTAX     Bgp4PathAttrEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION48
                    "Information about a path to a network."
            INDEX { bgp4PathAttrIpAddrPrefix,
                    bgp4PathAttrIpAddrPrefixLen,
                    bgp4PathAttrPeer            }
            ::= { bgp4PathAttrTable 1 }

        Bgp4PathAttrEntry ::= SEQUENCE {
            bgp4PathAttrPeer
                 IpAddress,
            bgp4PathAttrIpAddrPrefixLen
                 Integer32,
            bgp4PathAttrIpAddrPrefix
                 IpAddress,
            bgp4PathAttrOrigin
                 INTEGER,
            bgp4PathAttrASPathSegment
                 OCTET STRING,
            bgp4PathAttrNextHop
                 IpAddress,
            bgp4PathAttrMultiExitDisc
                 Integer32,
            bgp4PathAttrLocalPref
                 Integer32,
            bgp4PathAttrAtomicAggregate
                 INTEGER,
            bgp4PathAttrAggregatorAS
                 Integer32,
            bgp4PathAttrAggregatorAddr
                 IpAddress,
            bgp4PathAttrCalcLocalPref
                 Integer32,
            bgp4PathAttrBest
                 INTEGER,
            bgp4PathAttrUnknown
                 OCTET STRING
        }

        bgp4PathAttrPeer OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION49
                    "The IP address of the peer where the path information was learned."
            ::= { bgp4PathAttrEntry 1 }

        bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
            SYNTAX     Integer32 (0..32)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION50
                    "Length in bits of the IP address prefix in the Network Layer Reachability
                     Information field."
            ::= { bgp4PathAttrEntry 2 }

        bgp4PathAttrIpAddrPrefix OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION51
                  "An IP address prefix in the Network Layer Reachability Information field.
                   This object is an IP address containing the prefix with length specified by
                   bgp4PathAttrIpAddrPrefixLen. Any bits beyond the length specified by
                   bgp4PathAttrIpAddrPrefixLen are zeroed."
            REFERENCE
                    "RFC 4271, Section 4.3."
            ::= { bgp4PathAttrEntry 3 }

        bgp4PathAttrOrigin OBJECT-TYPE
            SYNTAX     INTEGER {
                           igp(1),-- networks are interior52
                           egp(2),-- networks learned via the EGP protocol53
                           incomplete(3) -- networks that are learned by some other means54
                       }
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION55
                    "The ultimate origin of the path information."
            REFERENCE
                    "RFC 4271, Section 4.3.
                     RFC 4271, Section 5.1.1."
            ::= { bgp4PathAttrEntry 4 }

        bgp4PathAttrASPathSegment OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE (2..255))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION56
                  "The sequence of AS path segments.  Each AS path segment is represented by a
                   triple <type, length, value>.

                   The type is a 1-octet field that has two possible values:
                       1      AS_SET: unordered set of ASes that a route in the UPDATE message
                                   has traversed

                       2      AS_SEQUENCE: ordered set of ASes that a route in the UPDATE
                                   message has traversed.

                   The length is a 1-octet field containing the number of ASes in the value
               field. The value field contains one or more AS numbers.  Each AS is 
                   represented in the octet string as a pair of octets according to the 
                   following algorithm:

                        first-byte-of-pair = ASNumber / 256;
                        second-byte-of-pair = ASNumber & 255;

                   Known Issues:
                   o BGP Confederations will result in a type of either 3 or 4.
                   o An AS Path may be longer than 255 octets. This may result in this object
                       containing a truncated AS Path."
            REFERENCE
                    "RFC 4271, Section 4.3.
                     RFC 4271, Section 5.1.2."
            ::= { bgp4PathAttrEntry 5 }

        bgp4PathAttrNextHop OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION57
                    "The address of the border router that should be used for the destination
                     network. This address is the NEXT_HOP address received in the UPDATE
                     packet."
            REFERENCE
                    "RFC 4271, Section 4.3.
                     RFC 4271, Section 5.1.3."
            ::= { bgp4PathAttrEntry 6 }

        bgp4PathAttrMultiExitDisc OBJECT-TYPE
            SYNTAX     Integer32 (-1..2147483647)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION58
                    "This metric is used to discriminate between multiple exit points to an
                     adjacent autonomous system.  A value of -1 indicates the absence of this
                     attribute.

                     Known Issues:
                     o The BGP-4 specification uses an unsigned 32 bit number.  Thus, this
                       object cannot represent the full range of the protocol."
            REFERENCE
                    "RFC 4271, Section 4.3.
                     RFC 4271, Section 5.1.4."
            ::= { bgp4PathAttrEntry 7 }

        bgp4PathAttrLocalPref OBJECT-TYPE
            SYNTAX     Integer32 (-1..2147483647)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION59
                    "The originating BGP4 speaker's degree of preference for an advertised
                     route.  A value of -1 indicates the absence of this attribute.

                     Known Issues:
                     o The BGP-4 specification uses an unsigned 32 bit number and thus this
                       object cannot represent the full range of the protocol."
            REFERENCE
                    "RFC 4271, Section 4.3.
                     RFC 4271, Section 5.1.5."
            ::= { bgp4PathAttrEntry 8 }

        bgp4PathAttrAtomicAggregate OBJECT-TYPE
            SYNTAX     INTEGER {
                           lessSpecificRouteNotSelected(1), -- Typo corrected from RFC 165760
                           lessSpecificRouteSelected(2)
                       }
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION61
                    "If the ATOMIC_AGGREGATE attribute is present in the Path Attributes then
                     this object MUST have a value of 'lessSpecificRouteNotSelected'.

                     If the ATOMIC_AGGREGATE attribute is missing in the Path Attributes then
                     this object MUST have a value of 'lessSpecificRouteSelected'.

                     Note that ATOMIC_AGGREGATE is now a primarily informational attribute."
            REFERENCE
                    "RFC 4271, Sections 5.1.6 and 9.1.4."
            ::= { bgp4PathAttrEntry 9 }

        bgp4PathAttrAggregatorAS OBJECT-TYPE
            SYNTAX     Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION62
                    "The AS number of the last BGP4 speaker that performed route aggregation.  
                     A value of zero (0) indicates the absence of this attribute.

                     Note that propagation of AS of zero is illegal in the Internet."
            REFERENCE
                    "RFC 4271, Section 5.1.7.
                     RFC 4271, Section 9.2.2.2."
            ::= { bgp4PathAttrEntry 10 }

        bgp4PathAttrAggregatorAddr OBJECT-TYPE
            SYNTAX     IpAddress
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION63
                    "The IP address of the last BGP4 speaker that performed route aggregation.
                     A value of 0.0.0.0 indicates the absence of this attribute."
            REFERENCE
                    "RFC 4271, Section 5.1.7.
                     RFC 4271, Section 9.2.2.2."
            ::= { bgp4PathAttrEntry 11 }

        bgp4PathAttrCalcLocalPref OBJECT-TYPE
            SYNTAX     Integer32 (-1..2147483647)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION64
                    "The degree of preference calculated by the receiving BGP4 speaker for an
                     advertised route.  A value of -1 indicates the absence of this attribute.

                     Known Issues:
                     o The BGP-4 specification uses an unsigned 32 bit number and thus this
                       object cannot represent the full range of the protocol."

            REFERENCE
                    "RFC 4271, Section 9.1.1."
            ::= { bgp4PathAttrEntry 12 }

        bgp4PathAttrBest OBJECT-TYPE
            SYNTAX     INTEGER {
                           false(1),-- not chosen as best route65
                           true(2) -- chosen as best route66
                       }
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION67
                    "An indication of whether this route was chosen as the best BGP4 route for
                     this destination."
            REFERENCE
                    "RFC 4271, Section 9.1.2."
            ::= { bgp4PathAttrEntry 13 }

        bgp4PathAttrUnknown OBJECT-TYPE
            SYNTAX     OCTET STRING (SIZE(0..255))
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION68
                    "One or more path attributes not understood by this BGP4 speaker.

                     Path attributes are recorded in the Update Path
                     attribute format of type, length, value.

                     Size zero (0) indicates the absence of such attributes.

                     Octets beyond the maximum size, if any, are not recorded by this object.

                     Known Issues:
                     o Attributes understood by this speaker, but not represented in this MIB,
                       are unavailable to the agent."
            REFERENCE
                    "RFC 4271, Section 5."
            ::= { bgp4PathAttrEntry 14 }

        -- Traps.
        -- Note that in RFC 1657, bgpTraps was incorrectly assigned a value of { bgp 7 } and  
        -- each of the traps had the bgpPeerRemoteAddr object inappropriately removed from  
        -- their OBJECTS clause.  The following definitions restore the semantics of the traps 
        -- as they were initially defined in RFC 1269.69

        bgpNotification OBJECT IDENTIFIER ::= { bgp 0 }

        bgpEstablishedNotification NOTIFICATION-TYPE
            OBJECTS { bgpPeerRemoteAddr,
                      bgpPeerLastError,
                      bgpPeerState      }
            STATUS  current
            DESCRIPTION70
                    "The bgpEstablishedNotification event is generated
                     when the BGP FSM enters the established state.

                     This Notification replaces the bgpEstablished Notification."
            ::= { bgpNotification 1 }

        bgpBackwardTransNotification NOTIFICATION-TYPE
            OBJECTS { bgpPeerRemoteAddr,
                      bgpPeerLastError,
                      bgpPeerState      }
            STATUS  current
            DESCRIPTION71
                   "The bgpBackwardTransNotification event is generated when the BGP FSM moves
                    from a higher numbered state to a lower numbered state.

                    This Notification replaces the bgpBackwardsTransition Notification."
            ::= { bgpNotification 2 }

        -- { bgp 7 } is deprecated.  Do not allocate new objects or
        --           notifications underneath this branch.72

        bgpTraps        OBJECT IDENTIFIER ::= { bgp 7 } -- deprecated73

        bgpEstablished NOTIFICATION-TYPE
            OBJECTS { bgpPeerLastError,
                      bgpPeerState      }
            STATUS  deprecated
            DESCRIPTION74
                    "The bgpEstablished event is generated when
                     the BGP FSM enters the established state.

                     This Notification has been replaced by the
                     bgpEstablishedNotification Notification."

            ::= { bgpTraps 1 }

        bgpBackwardTransition NOTIFICATION-TYPE
            OBJECTS { bgpPeerLastError,
                      bgpPeerState      }
            STATUS  deprecated
            DESCRIPTION75
                   "The bgpBackwardTransition event is generated when the BGP FSM moves from a
                    higher numbered state to a lower numbered state.

                    This Notification has been replaced by the
                    bgpBackwardTransNotification Notification."
            ::= { bgpTraps 2 }

        -- Conformance information76

        bgp4MIBConformance OBJECT IDENTIFIER
            ::= { bgp 8 }
        bgp4MIBCompliances OBJECT IDENTIFIER
                    ::= { bgp4MIBConformance 1 }
        bgp4MIBGroups      OBJECT IDENTIFIER
            ::= { bgp4MIBConformance 2 }

        -- Compliance statements77

        bgp4MIBCompliance MODULE-COMPLIANCE
            STATUS  current
            DESCRIPTION78
                    "The compliance statement for entities which implement the BGP4 mib."
            MODULE  -- this module79
                MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
                                   bgp4MIBPeerGroup,
                                   bgp4MIBPathAttrGroup }
                GROUP bgp4MIBNotificationGroup
                DESCRIPTION80
                        "Implementation of BGP Notifications are
                         completely optional in this MIB."
            ::= { bgp4MIBCompliances 1 }

        bgp4MIBDeprecatedCompliances MODULE-COMPLIANCE
            STATUS  deprecated
            DESCRIPTION81
                    "The compliance statement documenting deprecated objects in the BGP4 mib."
            MODULE  -- this module5
                GROUP bgp4MIBTrapGroup
                DESCRIPTION82
                   "Group containing TRAP objects that were improperly converted from SMIv1 in
                    RFC 1657. The proper semantics have been restored with the objects in
                    bgp4MIBNotificationGroup."
            ::= { bgp4MIBCompliances 2 }

        bgp4MIBObsoleteCompliances MODULE-COMPLIANCE
            STATUS  obsolete
            DESCRIPTION
                    "The compliance statement documenting obsolete objects in the BGP4 mib."
            MODULE  -- this module5
                GROUP bgpRcvdPathAttrGroup
                DESCRIPTION83
                    "Group containing objects relevant to BGP-3 and earlier objects."
            ::= { bgp4MIBCompliances 3 }

        -- Units of conformance84

        bgp4MIBGlobalsGroup OBJECT-GROUP
            OBJECTS { bgpVersion,
                      bgpLocalAs,
                      bgpIdentifier }
            STATUS  current
            DESCRIPTION85
                    "A collection of objects providing information on global BGP state."
            ::= { bgp4MIBGroups 1 }

        bgp4MIBPeerGroup OBJECT-GROUP
            OBJECTS { bgpPeerIdentifier,
                      bgpPeerState,
                      bgpPeerAdminStatus,
                      bgpPeerNegotiatedVersion,
                      bgpPeerLocalAddr,
                      bgpPeerLocalPort,
                      bgpPeerRemoteAddr,
                      bgpPeerRemotePort,
                      bgpPeerRemoteAs,
                      bgpPeerInUpdates,
                      bgpPeerOutUpdates,
                      bgpPeerInTotalMessages,
                      bgpPeerOutTotalMessages,
                      bgpPeerLastError,
                      bgpPeerFsmEstablishedTransitions,
                      bgpPeerFsmEstablishedTime,
                      bgpPeerConnectRetryInterval,
                      bgpPeerHoldTime,
                      bgpPeerKeepAlive,
                      bgpPeerHoldTimeConfigured,
                      bgpPeerKeepAliveConfigured,
                      bgpPeerMinASOriginationInterval,
                      bgpPeerMinRouteAdvertisementInterval,
                      bgpPeerInUpdateElapsedTime }
            STATUS  current
            DESCRIPTION86
                    "A collection of objects for managing BGP peers."
            ::= { bgp4MIBGroups 2 }

        bgpRcvdPathAttrGroup OBJECT-GROUP
            OBJECTS { bgpPathAttrPeer,
                      bgpPathAttrDestNetwork,
                      bgpPathAttrOrigin,
                      bgpPathAttrASPath,
                      bgpPathAttrNextHop,
                      bgpPathAttrInterASMetric }
            STATUS  obsolete
            DESCRIPTION87
                    "A collection of objects for managing BGP-3 and earlier path entries.

                    This conformance group, like BGP-3, is obsolete."
            ::= { bgp4MIBGroups 3 }

        bgp4MIBPathAttrGroup OBJECT-GROUP
            OBJECTS { bgp4PathAttrPeer,
                      bgp4PathAttrIpAddrPrefixLen,
                      bgp4PathAttrIpAddrPrefix,
                      bgp4PathAttrOrigin,
                      bgp4PathAttrASPathSegment,
                      bgp4PathAttrNextHop,
                      bgp4PathAttrMultiExitDisc,
                      bgp4PathAttrLocalPref,
                      bgp4PathAttrAtomicAggregate,
                      bgp4PathAttrAggregatorAS,
                      bgp4PathAttrAggregatorAddr,
                      bgp4PathAttrCalcLocalPref,
                      bgp4PathAttrBest,
                      bgp4PathAttrUnknown }
            STATUS  current
            DESCRIPTION88
                    "A collection of objects for managing BGP path entries."

            ::= { bgp4MIBGroups 4 }

        bgp4MIBTrapGroup NOTIFICATION-GROUP
            NOTIFICATIONS { bgpEstablished,
                            bgpBackwardTransition }
            STATUS  deprecated
            DESCRIPTION89
                    "A collection of notifications for signaling
                     changes in BGP peer relationships.

                     Obsoleted by bgp4MIBNotificationGroup"
            ::= { bgp4MIBGroups 5 }

        bgp4MIBNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { bgpEstablishedNotification,
                            bgpBackwardTransNotification }
            STATUS current
            DESCRIPTION90
                    "A collection of notifications for signaling
                     changes in BGP peer relationships.

                     Obsoletes bgp4MIBTrapGroup."
            ::= { bgp4MIBGroups 6 }

    END

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

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

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

  • bgpPeerAdminStatus

    Неправомерное изменение значения bgpPeerAdminStatus со start на stop может приводить к существенным нарушениям связности для значительных областей Internet, доступ к которым осуществляется через соответствующие узлы BGP.

  • bgpPeerConnectRetryInterval

    Неправомерное изменение этого объекта может приводить к продолжительному разрыву соединений, когда они могли бы быть восстановленными за короткое время.

  • bgpPeerHoldTimeConfigured, bgpPeerKeepAliveConfigured

    Некорректная настройка этих объектов может сделать сессии BGP недолговечными и менее устойчивыми к атакам на отказ служб междоменной маршрутизации.

  • bgpPeerMinASOriginationInterval, bgpPeerMinRouteAdvertisementInterval

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

Множество объектов данного модуля MIB содержит достаточно важную информацию о работе сети. Например, адреса локального и удаленного узлов BGP могут быть важными с точки зрения ISP, желающих сохранить в тайне адреса интерфейсов своих маршрутизаторов в целях предотвращения использования этих адресов для DoS-атак или подмены.

Следовательно, для большинства сетевых сред важное значение имеет контроль доступа для чтения таких объектов и возможно даже требуется шифрование значений при передаче объектов через сеть по протоколу SNMP.

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

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

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

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

Благодарим за работу всех членов группы Inter-Domain Routing WG и персонально хотим отметить:

Yakov Rekhter, Juniper Networks

Rob Coltun, Redback

Guy Almes, Internet2

Jeff Honig, BSDi

Marshall T. Rose, Dover Beach Consulting, Inc.

Dennis Ferguson, Juniper Networks

Matt Mathis, PSC

John Krawczyk, Bay Networks

Curtis Villamizar, Avici

Dave LeRoy, Pencom Systems

Paul Traina, Juniper Networks

Andrew Partan, MFN

Robert Snyder, Cisco Systems

Dimitry Haskin, Nortel

Peder Chr Norgaard, Telebit Communications A/S

Joel Halpern, CTO Longitude Systems, Inc.

Nick Thille, RedBack Networks

Bert Wijnen, Lucent

Shane Wright, NextHop Technologies

Mike McFadden, Riverstone Networks, Inc.

Jon Saperia, JDS Consulting, Inc.

Wayne Tackabury, Gold Wire Technology, Inc.

Bill Fenner, AT&T Research

RJ Atkinson, Extreme Networks

Dan Romascanu, Avaya

Mathew Richardson, NextHop Technologies

Основой для данного документа является RFC 1269 “Definitions of Managed Objects for the Border Gateway Protocol (Version 3)”, который написали Steve Willis и John Burruss, а обновления к этому документу, которые сделал John Chu для поддержки BGP-4 в RFC 1657. редакторы хотят отметить превосходную работу авторов этих исходных документов.

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

[BGP4] Rekhter, Y., Li, T., and S. Hares, Eds., “A Border Gateway Protocol 4 (BGP-4)”, RFC 4271, January 2006.

[BGP4APP] Rekhter, Y. and P. Gross, “Application of the Border Gateway Protocol in the Internet”, RFC 1772, March 1995.

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

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

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

Jeffrey Haas

NextHop Technologies

825 Victor’s Way, Suite 100

Ann Arbor, MI 48103

Phone: +1 734 222-1600

Fax: +1 734 222-1602

EMail: jhaas@nexthop.com

 

Susan Hares

NextHop Technologies

825 Victor’s Way, Suite 100

Ann Arbor, MI 48103

Phone: +1 734 222-1600

Fax: +1 734 222-1602

EMail: skh@nexthop.com


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

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

nmalykh@protokols.ru

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

Copyright (C) The Internet Society (2006).

К этому документу применимы права, лицензии и ограничения, указанные в 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 обеспечено IETF Administrative Support Activity (IASA).


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

2Border Gateway Protocol – протокол граничного шлюза.

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

4Border Gateway Protocol – протокол граничного шлюза.

5Simple Network Management Protocol – простой протокол сетевого управления.

6Structure of Management Information – структура данных управления.

7Модуль MIB для протокола BGP-4.

Copyright (C) The Internet Society (2006). данная версия модуля MIB является частью RFC 4273; полная информация содержится в самом RFC.

8Отличия от RFC 1657:

  1. Исправлены определения уведомлений, чтобы сделать их эквивалентными исходным определениям RFC 1269.
  2. Добавлена информация о соответствии.
  3. Обновлена информация для значений …
  4. Добавлены дополнительные комментарии там, где это требовалось.
  5. Места, где объекты не полностью отражают протокол, помечены, как Known Issues (известные проблемы).
  6. Обновлено описание (DESCRIPTION) объекта bgp4PathAttrAtomicAggregate.
  7. Для перечисленных ниже объектов изменены описания с целью удаления текста, предлагающего (с использованием уровня следует) инициализировать счетчики нулевыми значениями при переходе в состояние Established:…Исполняющие удаленные требования реализации сохраняют совместимость с новыми требованиями. Приложениям не следует предполагать, что отсчет всегда начинается с нуля.Опубликовано как RFC 4273.

9Преобразовано в соответствии с SMIv2 и опубликовано как RFC 1657.

10Первоначальный вариант, опубликованный как RFC 1269.

11Вектор номеров поддерживаемых версий протокола BGP. Для каждого партнера согласуется значение номера версии из этого вектора. Версии идентифицируются строкой битов, содержащейся в данном объекте. Первый октет содержит биты от 0 до 7, второй – от 8 до 15 и т. д.. Старший бит помещается в младшую позицию октета и наоборот (например, старший бит первого октета является битом 0). Если бит i присутствует и имеет значение 1, это говорит о том, что поддерживается версия BGP с номером (i+1) .

12Номер локальной автономной системы.

13Таблица BGP Peer. Эта таблица содержит для каждого партнера BGP запись с информацией об этом партнере.

14Таблица BGP Peer. Эта таблица содержит для каждого партнера BGP запись с информацией о соединении с данным партнером.

15Запись, содержащая информацию о соединении с партнером.

16Идентификатор BGP для партнера, с которым связана запись. Это поле должно иметь значение 0.0.0.0, если значение bgpPeerState не равно openconfirm или established.

17Состояние соединения с партнером BGP.

18Желаемое состояние соединения BGP. Переход из состояния stop в состояние start будет приводить к генерации события BGP Manual Start Event. Переход из состояния start в состояние stop будет вызывать генерацию события BGP Manual Stop Event. Этот параметр может использоваться для перезапуска соединений BGP. Следует с осторожностью относиться к предоставлению возможности записи для этого параметра без соответствующей аутентификации.

19Согласованная партнерами версия протокола BGP.

Это поле должно иметь нулевое значение (0) пока переменная bgpPeerState не имеет значения openconfirm или established.

Отметим, что это поле может иметь значение в диапазоне от 0 до 255.

20Локальный адрес IP для этого соединения BGP.

21Локальный номер порта TCP для этого соединения BGP.

22Удаленный адрес IP для этого соединения BGP.

23Удаленный номер порта TCP для этого соединения BGP. Отметим, что объекты bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr и bgpPeerRemotePort обеспечивают соответствующие ссылки на стандартную таблицу MIB соединения TCP.

24Номер удаленной AS, полученный в сообщении BGP OPEN.

25Число сообщений BGP UPDATE, полученных через данное соединение.

26Число сообщений BGP UPDATE, переданных через это соединение.

27Общее число сообщений, полученных от удаленного партнера через данное соединение.

28Общее число сообщений, переданных удаленному партнеру через это соединение.

29Код и субкод последней ошибки для данного соединения. При отсутствии ошибок переменная имеет нулевое значение. При наличии ошибок первый байт этого 2-байтового поля типа OCTET STRING содержит код ошибки, а второй байт – субкод.

30Общее число переходов BGP FSM в состояние Established для данного партнера.

31Этот таймер показывает продолжительность (в секундах) нахождения данного партнера в состоянии established или продолжительность последнего состояния established. Переменная устанавливается в 0 при организации нового соединения или загрузке маршрутизатора.

32Временной интервал (в секундах) для таймера ConnectRetry. Рекомендуемое значение – 120 секунд.

33Временной интервал (в секундах) согласованный с партнером для таймера удержания (Hold Timer. Значение этой переменной устанавливается данным узлом BGP путем выбора меньшего из двух значений – bgpPeerHoldTimeConfigured и Hold Time из принятого от партнера сообщения OPEN.

Если эта переменная отличается от нуля, ее значение должно быть не меньше 3 секунд.

Если значение Hold Timer не согласовано с партнером, эта переменная должна иметь нулевое значение (0).

Если bgpPeerHoldTimeConfigured object = 0, данная переменная также должна иметь значение 0.

34Временной интервал (в секундах) для таймера KeepAlive, согласованный с партнером. Значение этого объекта рассчитывается узлом BGP так, чтобы его отношение к bgpPeerHoldTime совпадало с отношением bgpPeerKeepAliveConfigured к значению bgpPeerHoldTimeConfigured.

Если значение таймера KeepAlive не согласовано с партнером, этот объект должен иметь значение (0).

Если bgpPeerKeepAliveConfigured = 0, данный объект также должен иметь значение 0.

35Временной интервал (в секундах) для Hold Time, указанный для данного узла BGP в его соединении с данным партнером. Это значение передается в сообщении OPEN, передаваемом партнеру данным узлом BGP, и сравнивается со значением поля Hold Time в полученном от партнера сообщении OPEN при выборе значение Hold Time (bgpPeerHoldTime) для данного соединения с партнером. Если это поле имеет отличное от 0 значение, оно должно быть не менее 3 секунд. Значение 0 говорит о том, что время удержания (Hold Time) не согласовано с данным партнером. Рекомендуемое значение – 90 секунд.

36Временной интервал (в секундах) для таймера KeepAlive, указанный для данного узла BGP в его соединении с данным партнером. Значение этого объекта будет определять только частоту передачи сообщений KEEPALIVE относительно значения, заданного bgpPeerHoldTimeConfigured; реальный интервал передачи сообщений KEEPALIVE указывается в переменной bgpPeerKeepAlive. Разумным значением для этого таймера является треть (1/3) от значения bgpPeerHoldTimeConfigured. Если данный объект имеет нулевое значение (0), периодической передачи партнеру сообщений KEEPALIVE после организации соединения BGP не происходит. Рекомендуемое значение – 30 секунд.

37Временной интервал (в секундах) для таймера MinASOriginationInterval. Рекомендуемое значение – 15 секунд.

38Временной интервал (в секундах) для таймера MinRouteAdvertisementInterval. Рекомендуемое значение – 30 секунд для соединений EBGP и 5 секунд для соединений IBGP.

39Время (в секундах) прошедшее с момента получения от партнера последнего сообщения BGP UPDATE. При каждом увеличении переменной bgpPeerInUpdates для этого объекта устанавливается нулевое значение (0).

40Значение идентификатора BGP для локальной системы.

41Таблица принятых атрибутов пути (BGP Received Path Attribute Table). Эта таблица содержит по одной записи для каждого пути в сеть (с атрибутами пути), полученного от всех партнеров, использующих BGP версии 3 или ниже. Данная таблица утратила силу и будет заменяется bgp4PathAttrTable.

42Таблица BGP Received Path Attribute содержит информацию о путях в сети адресатов, полученную от партнеров BGP версии 3 или ниже.

43Информация о пути в сеть.

44IP-адрес партнера, от которого получена информация о пути.

45Сети являются внутренними.

46Информация о сетях получена от протокола EGP.

47Информация о сетях получена из иных источников.

48Первичный источник информации о пути.

49Набор AS, через которые проходит путь в сеть. Этот объект возможно лучше представлять как SEQUENCE OF INTEGER. Однако для совместимости с SMI он представляется как OCTET STRING. Каждая AS представляется парой октетов, как показано ниже:

50Адрес граничного маршрутизатора, который следует использовать для сети адресата.

51Необязательная внутренняя метрика AS. Если данный атрибут не задан для маршрута, этот объект имеет значение 0.

52Таблица BGP-4 Received Path Attribute, содержащая по одной записи для каждого пути в сеть (с атрибутами этого пути), полученная от всех партнеров, использующих BGP-4.

53Таблица BGP-4 Received Path Attribute содержит информацию о путях в сети адресатов, полученную от всех партнеров BGP4.

54Информация о пути в сеть.

55IP-адрес партнера, от которого получена информация.

56Размер (в байтах) адресного префикса в поле Network Layer Reachability Information.

57Префикс IP из поля Network Layer Reachability Information. Этот объект представляет собой IP-адрес, содержащий префикс, размер которого задан переменной bgp4PathAttrIpAddrPrefixLen. Все биты за пределами bgp4PathAttrIpAddrPrefixLen имеют нулевые значения.

58Сети являются внутренними.

59Информация о сетях получена от протокола EGP.

60Информация о сетях получена из других источников.

61Исходный источник информации о пути.

62Последовательность сегментов AS, каждый из которых представляется тройкой <тип, размер, значение>.

Тип задается 1-октетным полем, которое может иметь два значения:

1 AS_SET: неупорядоченный набор AS, через которые проходит маршрут из сообщения UPDATE;

2 AS_SEQUENCE: неупорядоченный набор AS, через которые проходит маршрут из сообщения UPDATE.

Длина представляет собой 1-октетное поле, показывающее число AS в поле значения (value).

Поле value (значение) содержит один или множество номеров AS. Каждая AS представляется строкой из 2 октетов:

first-byte-of-pair = ASNumber / 256;

second-byte-of-pair = ASNumber & 255;

Известные проблемы:

– при использовании BGP Confederations поле типа может принимать значение 3 или 4.

– Значение AS Path может иметь размер более 255 октетов, что может приводить к потере данным объектом части информации из AS Path.

63Адрес граничного маршрутизатора, который следует использовать для сети адресата. Этот адрес содержится в поле NEXT_HOP сообщения UPDATE.

64Эта метрика используется для выбора между несколькими точками выхода в смежную автономную систему. Значение -1 говорит об отсутствии данного атрибута.

Известные проблемы:

– Спецификация BGP-4 использует 32-битовое целое число без знака, следовательно данный объект не может представлять весь диапазон.

65Установленный исходным узлом BGP4 уровень предпочтения для анонсируемого маршрута. Значение -1 говорит об отсутствии данного атрибута.

Известные проблемы:

– Спецификация BGP-4 использует 32-битовое целое число без знака, следовательно данный объект не может представлять весь диапазон.

66Написание скорректировано по отношению к RFC 1657

67Если ATOMIC_AGGREGATE присутствует в атрибутах пути, данный объект должен иметь значение lessSpecificRouteNotSelected.

Если атрибут ATOMIC_AGGREGATE отсутствует в пути, данный объект должен иметь значение lessSpecificRouteSelected.

Отметим, что атрибут ATOMIC_AGGREGATE в настоящее время используется в основном с информационной целью.

68Номер AS последнего узла BGP4, выполнявшего агрегирование маршрута. Нулевое значение (0) указывает на отсутствие атрибута.

Отметим, что распространение AS=0 запрещено для Internet.

69IP-адрес последнего узла BGP4, выполнявшего агрегирование маршрута. Нулевое значение (0.0.0.0) указывает на отсутствие атрибута.

70Уровень предпочтения, рассчитанный принимающим узлом BGP4 для анонсируемого маршрута. Значение -1 говорит об отсутствии данного атрибута.

Известные проблемы:

– Спецификация BGP-4 использует 32-битовое целое число без знака, следовательно данный объект не может представлять весь диапазон.

71Маршрут не выбран в качестве лучшего.

72Маршрут выбран в качестве лучшего.

73Состояние выбора данного маршрута в качестве лучшего маршрута BGP4 для данного адресата.

74Один или множество атрибутов пути, которые данный узел BGP4 не смог распознать.

Атрибуты пути записываются в сообщения UPDATE в формате <тип, размер, значение>.

Нулевой размер указывает на отсутствие атрибута.

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

Известные проблемы:

– атрибуты, понятные данному узлу, но не представленные в этом модуле MIB, становятся недоступными для агента.

75Прерывания (Traps).

– Отметим, что в RFC 1657, переменной bgpTraps некорректно присвоено значение { bgp 7 } и каждое из прерываний, имеющих bgpPeerRemoteAddr некорректно удаляется из OBJECTS. Приведенное ниже определение восстанавливает семантику прерывания, определенную в RFC 1269.

76Событие bgpEstablishedNotification генерируется при переходе BGP FSM в состояние Established.

Данное сообщение NOTIFICATION заменяет собой прежнее уведомление bgpEstablished.

77Событие bgpBackwardTransNotification генерируется при переходе BGP FSM в состояние с меньшим номером.

Данное сообщение NOTIFICATION заменяет собой прежнее уведомление bgpBackwardsTransition.

78{ bgp 7 } запрещено к использованию. Не выделяйте новые объекты или уведомления для этой ветви.

79Использование запрещено.

80Событие bgpEstablished генерируется при переходе BGP FSM в состояние Established.

Данное сообщение NOTIFICATION заменено уведомлением bgpEstablishedNotification.

81Событие bgpBackwardTransition генерируется при переходе BGP FSM в состояние с меньшим номером.

Данное сообщение NOTIFICATION заменено уведомлением bgpBackwardTransNotification.

82Информация о соответствии.

83Заявление о соответствии.

84Заявление о соответствии для объектов, которые реализованы в BGP4 MIB.

85Данный модуль.

86Реализация BGP Notifications является необязательной в данном модуле MIB.

87Заявление о соответствии для запрещенных к использованию объектов в данном модуле BGP4 MIB.

88Группа, содержащая объекты TRAP, которые были некорректно конвертированы из SMIv1 в RFC 1657. Корректная семантика восстановлена для объектов в bgp4MIBNotificationGroup.

89Группа, содержащая объекты, которые относятся к BGP-3 и более ранним версиям.

90Объекты соответствия.

91Набор объектов, обеспечивающих информацию об общем (глобальном) состоянии BGP.

92Набор объектов для управления партнерами BGP.

93Набор объектов для управления элементами BGP-3 и более ранних версий.

Подобно BGP-3, эта группа соответствия утратила силу.

94Набор объектов для управления элементами пути BGP.

95Набор уведомлений для сигнализации об изменении партнерских отношений BGP. Заменено bgp4MIBNotificationGroup.

96Набор уведомлений для сигнализации об изменении партнерских отношений BGP. Заменяет собой bgp4MIBTrapGroup.

97Чтение и запись.

98Чтение и создание.

99Чтение/изменение/создание/удаление.

 

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