RFC 4273 — Определения объектов управления для BGP-4
Статус документа
В этом документе содержится спецификация протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола.Текущее состояние стандартизации протокола вы можете узнать из документа «Internet Official Protocol Standards» (STD 1). Документ может распространяться без ограничений.
Тезисы
Этот документ определяет часть базы MIB (Management Information Base — база данных управления) для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет объекты управления для протокола BGP (Border Gateway Protocol — протокол граничного шлюза) версии 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. Введение
Этот документ определяет часть базы MIB для использования с протоколами сетевого управления в сообществе Internet. В частности, документ определяет объекты управления для протокола BGP версии 4 и предыдущих версий [BGP4, BGP4APP].
Этот документ отменяет действие RFC 1269 и RFC 1657.
2. Стандартная схема сетевого управления Internet
Подробный обзор современной стандартной схемы сетевого управления Internet (Internet-Standard Management Framework) содержится в главе 7 документа RFC 3410 [RFC3410].
Доступ к объектам управления осуществляется через виртуальное информационное хранилище, называемое базой данных управления (Management Information Base) или MIB. Для доступа к объектам MIB обычно используется простой протокол SNMP (Simple Network Management Protocol — простой протокол сетевого управления).
Объекты MIB определяются с использованием механизмов, заданных в структуре SMI (Structure of Management Information — структура данных управления). Данный документ описывает модуль 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"
DESCRIPTION
"Модуль MIB для протокола BGP-4.
Copyright (C) The Internet Society (2006). Данная
версия модуля MIB является частью RFC 4273; полная
нформация содержится в самом RFC.
REVISION "200601110000Z"
DESCRIPTION
"Отличия от RFC 1657:
1) Исправлены определения уведомлений, чтобы
сделать их эквивалентными первоначальным
определениям RFC 1269.
2) Добавлена информация о соответствии.
3) Обновлена информация для значений
bgpPeerNegotiatedVersion, bgp4PathAttrLocalPref,
bgp4PathAttrCalcLocalPref,
bgp4PathAttrMultiExitDisc,
bgp4PathAttrASPathSegement.
4) Добавлены дополнительные комментарии там,
где это требовалось
5) Места, где объекты не полностью отражают протокол,
помечены, как Known Issues (известные проблемы).
6) Обновлено описание (DESCRIPTION) объекта
bgp4PathAttrAtomicAggregate object.
7) Для перечисленных ниже объектов изменены
описания с целью удаления текста, предлагающего
(с использованием уровня следует) инициализировать
счетчики нулевыми значениями при переходе в
состояние Established:
bgpPeerInUpdates, bgpPeerOutUpdates,
bgpPeerInTotalMessages, bgpPeerOutTotalMessages
Исполняющие удаленные требования реализации
сохраняют совместимость с новыми требованиями.
Приложениям не следует предполагать, что отсчет
всегда начинается с нуля.
Опубликовано как RFC 4273."
REVISION "199405050000Z"
DESCRIPTION
"Преобразовано в соответствии с SMIv2
и опубликовано как RFC 1657."
REVISION "199110261839Z"
DESCRIPTION
"Первоначальный вариант, опубликованный как RFC 1269."
::= { mib-2 15 }
bgpVersion OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (1..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Вектор номеров поддерживаемых версий протокола
BGP. Для каждого партнера согласуется значение
номера версии из этого вектора. Версии
идентифицируются строкой битов, содержащейся
в данном объекте. Первый октет содержит биты
от 0 до 7, второй — от 8 до 15 и т. д.. Старший
бит помещается в младшую позицию октета и наоборот
(например, старший бит первого октета является
битом 0). Если бит i присутствует и имеет значение
1, это говорит о том, что поддерживается версия BGP
с номером (i+1)."
REFERENCE
"RFC 4271, Section 4.2."
::= { bgp 1 }
bgpLocalAs OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Номер локальной автономной системы."
REFERENCE
"RFC 4271, Section 4.2, 'My Autonomous System'."
::= { bgp 2 }
-- Таблица BGP Peer. Эта таблица содержит для каждого
-- партнера BGP запись с информацией об этом партнере.
bgpPeerTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPeerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Таблица BGP Peer. Эта таблица содержит для
каждого партнера BGP запись с информацией о
соединении с данным партнером."
::= { bgp 3 }
bgpPeerEntry OBJECT-TYPE
SYNTAX BgpPeerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Запись, содержащая информацию о соединении с партнером."
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
DESCRIPTION
"Идентификатор BGP для партнера, с которым
связана запись. Это поле должно иметь
значение 0.0.0.0, если значение bgpPeerState
не равно openconfirm или established."
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
DESCRIPTION
"Состояние соединения с партнером BGP."
REFERENCE
"RFC 4271, Section 8.2.2."
::= { bgpPeerEntry 2 }
bgpPeerAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
stop(1),
start(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Желаемое состояние соединения BGP. Переход из
состояния stop в состояние start будет приводить
к генерации события BGP Manual Start Event.
Переход из состояния start в состояние stop
будет вызывать генерацию события BGP Manual
Stop Event. Этот параметр может использоваться
для перезапуска соединений BGP. Следует с
осторожностью относиться к предоставлению
возможности записи для этого параметра без
соответствующей аутентификации."
REFERENCE
"RFC 4271, Section 8.1.2."
::= { bgpPeerEntry 3 }
bgpPeerNegotiatedVersion OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Согласованная партнерами версия протокола BGP.
Это поле должно иметь нулевое значение (0)
пока переменная bgpPeerState не имеет значения
openconfirm или established.
Отметим, что это поле может иметь значение
в диапазоне от 0 до 255."
REFERENCE
"RFC 4271, Section 4.2.
RFC 4271, Section 7."
::= { bgpPeerEntry 4 }
bgpPeerLocalAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Локальный адрес IP для этого соединения BGP."
::= { bgpPeerEntry 5 }
bgpPeerLocalPort OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Локальный номер порта TCP для этого соединения BGP."
::= { bgpPeerEntry 6 }
bgpPeerRemoteAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Удаленный адрес IP для этого соединения BGP."
::= { bgpPeerEntry 7 }
bgpPeerRemotePort OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Удаленный номер порта TCP для этого соединения
BGP. Отметим, что объекты bgpPeerLocalAddr,
bgpPeerLocalPort, bgpPeerRemoteAddr и
bgpPeerRemotePort обеспечивают соответствующие
ссылки на стандартную таблицу MIB соединения TCP."
::= { bgpPeerEntry 8 }
bgpPeerRemoteAs OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Номер удаленной AS, полученный в сообщении BGP OPEN."
REFERENCE
"RFC 4271, Section 4.2."
::= { bgpPeerEntry 9 }
bgpPeerInUpdates OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Число сообщений BGP UPDATE, полученных
через данное соединение."
REFERENCE
"RFC 4271, Section 4.3."
::= { bgpPeerEntry 10 }
bgpPeerOutUpdates OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Число сообщений BGP UPDATE, переданных
через это соединение."
REFERENCE
"RFC 4271, Section 4.3."
::= { bgpPeerEntry 11 }
bgpPeerInTotalMessages OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Общее число сообщений, полученных от
удаленного партнера через данное соединение."
REFERENCE
"RFC 4271, Section 4."
::= { bgpPeerEntry 12 }
bgpPeerOutTotalMessages OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Общее число сообщений, переданных
удаленному партнеру через это соединение."
REFERENCE
"RFC 4271, Section 4."
::= { bgpPeerEntry 13 }
bgpPeerLastError OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Код и субкод последней ошибки для данного
соединения. При отсутствии ошибок переменная
имеет нулевое значение. При наличии ошибок
первый байт этого 2-байтового поля типа
OCTET STRING содержит код ошибки, а второй
байт - субкод."
REFERENCE
"RFC 4271, Section 4.5."
::= { bgpPeerEntry 14 }
bgpPeerFsmEstablishedTransitions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Общее число переходов BGP FSM в состояние
Established для данного партнера."
REFERENCE
"RFC 4271, Section 8."
::= { bgpPeerEntry 15 }
bgpPeerFsmEstablishedTime OBJECT-TYPE
SYNTAX Gauge32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Этот таймер показывает продолжительность
(в секундах) нахождения данного партнера
в состоянии established или продолжительность
последнего состояния established. Переменная
устанавливается в 0 при организации нового
соединения или загрузке маршрутизатора."
REFERENCE
"RFC 4271, Section 8."
::= { bgpPeerEntry 16 }
bgpPeerConnectRetryInterval OBJECT-TYPE
SYNTAX Integer32 (1..65535)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Временной интервал (в секундах) для таймера
ConnectRetry. Рекомендуемое значение - 120 секунд."
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
DESCRIPTION
"Временной интервал (в секундах) согласованный
с партнером для таймера удержания (Hold Timer).
Значение этой переменной устанавливается данным
узлом BGP путем выбора меньшего из двух
значений - bgpPeerHoldTimeConfigured и Hold Time
из принятого от партнера сообщения OPEN.
Если эта переменная отличается от нуля, ее
значение должно быть не меньше 3 секунд.
Если значение Hold Timer не согласовано с
партнером, эта переменная должна иметь нулевое
значение (0).
Если bgpPeerHoldTimeConfigured object = 0,
данная переменная также должна иметь значение 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
DESCRIPTION
"Временной интервал (в секундах) для таймера
KeepAlive, согласованный с партнером.
Значение этого объекта рассчитывается узлом
BGP так, чтобы его отношение к bgpPeerHoldTime
совпадало с отношением bgpPeerKeepAliveConfigured
к значению bgpPeerHoldTimeConfigured.
Если значение таймера KeepAlive не согласовано с
партнером, этот объект должен иметь значение (0).
Если bgpPeerKeepAliveConfigured = 0, данный объект
также должен иметь значение 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
DESCRIPTION
"Временной интервал (в секундах) для Hold Time,
указанный для данного узла BGP в его соединении
с данным партнером. Это значение передается в
сообщении OPEN, передаваемом партнеру данным
узлом BGP, и сравнивается со значением поля Hold
Time в полученном от партнера сообщении OPEN
при выборе значение Hold Time (bgpPeerHoldTime)
для данного соединения с партнером. Если это поле
имеет отличное от 0 значение, оно должно быть
не менее 3 секунд. Значение 0 говорит о том, что
время удержания (Hold Time) не согласовано с
данным партнером. Рекомендуемое значение — 90 секунд."
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
DESCRIPTION
"Временной интервал (в секундах) для таймера
KeepAlive, указанный для данного узла BGP
в его соединении с данным партнером. Значение
этого объекта будет определять только частоту
передачи сообщений KEEPALIVE относительно значения,
заданного bgpPeerHoldTimeConfigured; реальный
интервал передачи сообщений KEEPALIVE указывается
в переменной bgpPeerKeepAlive. Разумным значением
для этого таймера является треть (1/3) от
значения bgpPeerHoldTimeConfigured. Если данный
объект имеет нулевое значение (0), периодической
передачи партнеру сообщений KEEPALIVE после
организации соединения BGP не происходит.
Рекомендуемоезначение - 30 секунд."
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
DESCRIPTION
"Временной интервал (в секундах) для таймера
MinASOriginationInterval. Рекомендуемое
значение - 15 секунд."
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
DESCRIPTION
"Временной интервал (в секундах) для
таймера MinRouteAdvertisementInterval.
Рекомендуемое значение - 30 секунд для
соединений EBGP и 5 секунд для соединений IBGP."
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
DESCRIPTION
"Время (в секундах) прошедшее с момента получения
от партнера последнего сообщения BGP UPDATE.
При каждом увеличиении переменной bgpPeerInUpdates
для этого объекта устанавливается нулевое значение (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
DESCRIPTION
"Значение идентификатора BGP для локальной системы."
REFERENCE
"RFC 4271, Section 4.2."
::= { bgp 4 }
-- Таблица принятых атрибутов пути (BGP Received Path
-- Attribute Table). Эта таблица содержит по одной
-- записи для каждого пути в сеть (с атрибутами пути),
-- полученного от всех партнеров, использующих BGP
-- версии 3 или ниже. Данная таблица утратила силу
-- и будет заменяется bgp4PathAttrTable.
bgpRcvdPathAttrTable OBJECT-TYPE
SYNTAX SEQUENCE OF BgpPathAttrEntry
MAX-ACCESS not-accessible
STATUS obsolete
DESCRIPTION
"Таблица BGP Received Path Attribute содержит
информацию о путях в сети адресатов, полученную
от партнеров BGP версии 3 или ниже."
::= { bgp 5 }
bgpPathAttrEntry OBJECT-TYPE
SYNTAX BgpPathAttrEntry
MAX-ACCESS not-accessible
STATUS obsolete
DESCRIPTION
"Информация о пути в сеть."
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
DESCRIPTION
"IP-адрес партнера, от которого получена
информация о пути."
::= { 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),-- сети являются внутренними
egp(2),-- информация о сетях получена
-- от протокола EGP
incomplete(3) -- информация о сетях
-- получена из иных источников
}
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"Первичный источник информации о пути."
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
DESCRIPTION
"Набор AS, через которые проходит путь в сеть.
Этот объект возможно лучше представлять как
SEQUENCE OF INTEGER. Однако для совместимости
с SMI он представляется как OCTET STRING.
Каждая AS представляется парой октетов, как
показано ниже:
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
DESCRIPTION
"Адрес граничного маршрутизатора, который
следует использовать для сети адресата."
REFERENCE
"RFC 1267, Section 4.3.
RFC 1267, Section 5."
::= { bgpPathAttrEntry 5 }
bgpPathAttrInterASMetric OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"Необязательная внутренняя метрика AS.
Если данный атрибут не задан для маршрута,
этот объект имеет значение 0."
REFERENCE
"RFC 1267, Section 4.3.
RFC 1267, Section 5."
::= { bgpPathAttrEntry 6 }
-- Таблица BGP-4 Received Path Attribute, содержащая по
-- одной записи для каждого пути в сеть (с атрибутами этого
-- пути), полученная от всех партнеров, использующих BGP-4.
bgp4PathAttrTable OBJECT-TYPE
SYNTAX SEQUENCE OF Bgp4PathAttrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Таблица BGP-4 Received Path Attribute
содержит информацию о путях в сети адресатов,
полученную от всех партнеров BGP4."
::= { bgp 6 }
bgp4PathAttrEntry OBJECT-TYPE
SYNTAX Bgp4PathAttrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Информация о пути в сеть."
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
DESCRIPTION
"IP-адрес партнера, от которого получена информация."
::= { bgp4PathAttrEntry 1 }
bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
SYNTAX Integer32 (0..32)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Размер (в битах) адресного префикса в поле
Network Layer Reachability Information."
::= { bgp4PathAttrEntry 2 }
bgp4PathAttrIpAddrPrefix OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Префикс IP из поля Network Layer Reachability
Information. Этот объект представляет собой
IP-адрес, содержащий префикс, размер которого
задан переменной bgp4PathAttrIpAddrPrefixLen.
Все биты за пределами bgp4PathAttrIpAddrPrefixLen
имеют нулевые значения."
REFERENCE
"RFC 4271, Section 4.3."
::= { bgp4PathAttrEntry 3 }
bgp4PathAttrOrigin OBJECT-TYPE
SYNTAX INTEGER {
igp(1),-- сети являются внутренними
egp(2),-- информация о сетях получена от
-- протокола EGP
incomplete(3) -- информация о сетях
-- получена из других источников
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Исходный источник информации о пути."
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
DESCRIPTION
"Последовательность сегментов 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;
Известные проблемы:
o при использовании BGP Confederations
поле типа может принимать значение 3 или 4.
o Значение AS Path может иметь размер более
255 октетов, что может приводить к потере
данным объектом части информации из 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
DESCRIPTION
"Адрес граничного маршрутизатора, который следует
использовать для сети адресата. Этот адрес
содержится в поле NEXT_HOP сообщения UPDATE."
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
DESCRIPTION
"Эта метрика используется для выбора между
несколькими точками выхода в смежную
автономную систему. Значение -1 говорит
об отсутствии данного атрибута.
Известные проблемы:
o Спецификация BGP-4 использует 32-битовое
целое число без знака, следовательно данный
объект не может представлять весь диапазон."
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
DESCRIPTION
"Установленный исходным узлом BGP4 уровень
предпочтения для анонсируемого маршрута.
Значение -1 говорит об отсутствии данного атрибута.
Известные проблемы:
o - Спецификация BGP-4 использует 32-битовое
целое число без знака, следовательно данный
объект не может представлять весь диапазон."
REFERENCE
"RFC 4271, Section 4.3.
RFC 4271, Section 5.1.5."
::= { bgp4PathAttrEntry 8 }
bgp4PathAttrAtomicAggregate OBJECT-TYPE
SYNTAX INTEGER {
lessSpecificRouteNotSelected(1),
-- Написание скорректировано по отношению к RFC 1657
lessSpecificRouteSelected(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Если ATOMIC_AGGREGATE присутствует в атрибутах
пути, данный объект должен иметь значение
lessSpecificRouteNotSelected.
Если атрибут ATOMIC_AGGREGATE отсутствует
в пути, данный объект должен иметь значение
lessSpecificRouteSelected.
Отметим, что атрибут ATOMIC_AGGREGATE в настоящее
время используется в основном с информационной целью."
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
DESCRIPTION
"Номер AS последнего узла BGP4, выполнявшего
агрегирование маршрута. Нулевое значение (0)
указывает на отсутствие атрибута.
Отметим, что распространение AS=0
запрещено для 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
DESCRIPTION
"IP-адрес последнего узла BGP4, выполнявшего
агрегирование маршрута. Нулевое значение
(0.0.0.0) указывает на отсутствие атрибута."
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
DESCRIPTION
"Уровень предпочтения, рассчитанный принимающим
узлом BGP4 для анонсируемого маршрута. Значение
-1 говорит об отсутствии данного атрибута.
Известные проблемы:
o Спецификация BGP-4 использует 32-битовое
целое число без знака, следовательно данный
объект не может представлять весь диапазон."
REFERENCE
"RFC 4271, Section 9.1.1."
::= { bgp4PathAttrEntry 12 }
bgp4PathAttrBest OBJECT-TYPE
SYNTAX INTEGER {
false(1),-- маршрут не выбран в качестве лучшего
true(2) -- маршрут выбран в качестве лучшего
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Состояние выбора данного маршрута в качестве
лучшего маршрута BGP4 для данного адресата."
REFERENCE
"RFC 4271, Section 9.1.2."
::= { bgp4PathAttrEntry 13 }
bgp4PathAttrUnknown OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Один или множество атрибутов пути, которые
данный узел BGP4 не смог распознать
Атрибуты пути записываются в сообщения
UPDATE в формате <тип, размер, значение>.
Нулевой размер указывает на отсутствие атрибута.
Октеты за пределами указанного размера не
сохраняются в данном объекте.
Известные проблемы:
o атрибуты, понятные данному узлу, но не
представленные в этом модуле MIB,
становятся недоступными для агента"
REFERENCE
"RFC 4271, Section 5."
::= { bgp4PathAttrEntry 14 }
-- Прерывания (Traps).
-- Отметим, что в RFC 1657, переменной bgpTraps некорректно
-- присвоено значение { bgp 7 } и каждое из прерываний,
-- имеющих bgpPeerRemoteAddr некорректно удаляется из OBJECTS.
-- Приведенное ниже определение восстанавливает семантику
-- прерывания, определенную в RFC 1269.
bgpNotification OBJECT IDENTIFIER ::= { bgp 0 }
bgpEstablishedNotification NOTIFICATION-TYPE
OBJECTS { bgpPeerRemoteAddr,
bgpPeerLastError,
bgpPeerState }
STATUS current
DESCRIPTION
"Событие bgpEstablishedNotification генерируется
при переходе BGP FSM в состояние Established.
Данное сообщение NOTIFICATION заменяет собой
прежнее уведомление bgpEstablished."
::= { bgpNotification 1 }
bgpBackwardTransNotification NOTIFICATION-TYPE
OBJECTS { bgpPeerRemoteAddr,
bgpPeerLastError,
bgpPeerState }
STATUS current
DESCRIPTION
"Событие bgpBackwardTransNotification генерируется
при переходе BGP FSM в состояние с меньшим номером.
Данное сообщение NOTIFICATION заменяет собой
прежнее уведомление bgpBackwardsTransition."
::= { bgpNotification 2 }
-- { bgp 7 } запрещено к использованию. Не выделяйте
-- новые объекты или уведомления для этой ветви.
bgpTraps OBJECT IDENTIFIER ::= { bgp 7 } -- Использование запрещено.
bgpEstablished NOTIFICATION-TYPE
OBJECTS { bgpPeerLastError,
bgpPeerState }
STATUS deprecated
DESCRIPTION
"Событие bgpEstablished генерируется при
переходе BGP FSM в состояние Established.
Данное сообщение NOTIFICATION заменено
уведомленим bgpEstablishedNotification."
::= { bgpTraps 1 }
bgpBackwardTransition NOTIFICATION-TYPE
OBJECTS { bgpPeerLastError,
bgpPeerState }
STATUS deprecated
DESCRIPTION
"Событие bgpBackwardTransition генерируется
при переходе BGP FSM в состояние с меньшим номером.
Данное сообщение NOTIFICATION заменено
уведомленим bgpBackwardTransNotification."
::= { bgpTraps 2 }
-- Информация о соответствии.
bgp4MIBConformance OBJECT IDENTIFIER
::= { bgp 8 }
bgp4MIBCompliances OBJECT IDENTIFIER
::= { bgp4MIBConformance 1 }
bgp4MIBGroups OBJECT IDENTIFIER
::= { bgp4MIBConformance 2 }
-- Заявление о соответствии.
bgp4MIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Заявление о соответствии для объектов,
которые реализованы в BGP4 MIB."
MODULE -- Данный модуль.
MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
bgp4MIBPeerGroup,
bgp4MIBPathAttrGroup }
GROUP bgp4MIBNotificationGroup
DESCRIPTION
"Реализация BGP Notifications является
необязательной в данном модуле MIB."
::= { bgp4MIBCompliances 1 }
bgp4MIBDeprecatedCompliances MODULE-COMPLIANCE
STATUS deprecated
DESCRIPTION
"Заявление о соответствии для запрещенных к
использованию объектов в данном модуле BGP4 MIB."
MODULE -- данный модуль
GROUP bgp4MIBTrapGroup
DESCRIPTION
"Группа, содержащая объекты TRAP, которые были
некорректно конвертированы из SMIv1 в RFC 1657.
Корректная сементика восстановлена для объектов
в bgp4MIBNotificationGroup"
::= { bgp4MIBCompliances 2 }
bgp4MIBObsoleteCompliances MODULE-COMPLIANCE
STATUS obsolete
DESCRIPTION
"The compliance statement documenting obsolete
objects in the BGP4 mib."
MODULE -- данный модуль
GROUP bgpRcvdPathAttrGroup
DESCRIPTION
"Группа, содержащая объекты, которые относятся
к BGP-3 и более ранним версиям."
::= { bgp4MIBCompliances 3 }
-- Объекты соответствия
bgp4MIBGlobalsGroup OBJECT-GROUP
OBJECTS { bgpVersion,
bgpLocalAs,
bgpIdentifier }
STATUS current
DESCRIPTION
"Набор объектов, обеспечивающих информацию
об общем (глобальном) состоянии BGP."
::= { 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
DESCRIPTION
"Набор объектов для управления партнерами BGP."
::= { bgp4MIBGroups 2 }
bgpRcvdPathAttrGroup OBJECT-GROUP
OBJECTS { bgpPathAttrPeer,
bgpPathAttrDestNetwork,
bgpPathAttrOrigin,
bgpPathAttrASPath,
bgpPathAttrNextHop,
bgpPathAttrInterASMetric }
STATUS obsolete
DESCRIPTION
"Набор объектов для управления элементами
BGP-3 и более ранних версий.
Подобно BGP-3, эта группа соответствия утратила силу."
::= { bgp4MIBGroups 3 }
bgp4MIBPathAttrGroup OBJECT-GROUP
OBJECTS { bgp4PathAttrPeer,
bgp4PathAttrIpAddrPrefixLen,
bgp4PathAttrIpAddrPrefix,
bgp4PathAttrOrigin,
bgp4PathAttrASPathSegment,
bgp4PathAttrNextHop,
bgp4PathAttrMultiExitDisc,
bgp4PathAttrLocalPref,
bgp4PathAttrAtomicAggregate,
bgp4PathAttrAggregatorAS,
bgp4PathAttrAggregatorAddr,
bgp4PathAttrCalcLocalPref,
bgp4PathAttrBest,
bgp4PathAttrUnknown }
STATUS current
DESCRIPTION
"Набор объектов для управления элементами пути BGP."
::= { bgp4MIBGroups 4 }
bgp4MIBTrapGroup NOTIFICATION-GROUP
NOTIFICATIONS { bgpEstablished,
bgpBackwardTransition }
STATUS deprecated
DESCRIPTION
"Набор уведомлений для сигнализации об
изменении партнерских отношений BGP.
Заменено bgp4MIBNotificationGroup."
::= { bgp4MIBGroups 5 }
bgp4MIBNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { bgpEstablishedNotification,
bgpBackwardTransNotification }
STATUS current
DESCRIPTION
"Набор уведомлений для сигнализации об
изменении партнерских отношений BGP.
Заменяет собой bgp4MIBTrapGroup."
::= { bgp4MIBGroups 6 }
END
5. Вопросы безопасности
Данный модуль MIB относится к системам, обеспечивающим междоменную маршрутизацию. В силу этого неправомерные манипуляции с объектами, представленными в этом модуле MIB, могут приводить к возникновению отказов в обслуживании для множества пользователей.
В данном модуле MIB определено несколько объектов, которые имеют в пункте MAX-ACCESS значения read-write и/или readcreate. Такие объекты следует рассматривать как чувствительные или уязвимые в большинстве сетевых сред. Поддержка операции 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/delete) по отношению к объектам данного модуля 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] Y. Rekhter, T. Li, S. Hares, «A Border Gateway Protocol 4 (BGP-4)», RFC 4271, January 2006
- [BGP4APP] Y. Rekhter, P. Gross, «Application of the Border Gateway Protocol in the Internet», RFC 1772, March 1995.
- [RFC2578] K. McCloghrie, D. Perkins, J. Schoenwaelder, «Structure of Management Information Version 2 (SMIv2)», STD 58, RFC 2578, April 1999.
- [RFC2579] K. McCloghrie, D. Perkins, J. Schoenwaelder, «Textual Conventions for SMIv2», STD 58, RFC 2579, April 1999.
- [RFC2580] K. McCloghrie, D. Perkins, J. Schoenwaelder, «Conformance Statements for SMIv2», STD 58, RFC 2580, April 1999.
- [RFC3410] J. Case, R. Mundy, D. Partain, 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: moc.pohtxen@saahj
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: moc.pohtxen@hks
Перевод на русский язык
Николай Малых, moc.milib@hkylamn