Internet Engineering Task Force (IETF)                          L. Blunk
Request for Comments: 6396                                      M. Karir
Category: Standards Track                                  Merit Network
ISSN: 2070-1721                                              C. Labovitz
                                                      Deepfield Networks
                                                            October 2011
        
Internet Engineering Task Force (IETF)                          L. Blunk
Request for Comments: 6396                                      M. Karir
Category: Standards Track                                  Merit Network
ISSN: 2070-1721                                              C. Labovitz
                                                      Deepfield Networks
                                                            October 2011
        

Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format

多线程路由工具包(MRT)路由信息导出格式

Abstract

摘要

This document describes the MRT format for routing information export. This format was developed in concert with the Multi-threaded Routing Toolkit (MRT) from whence the format takes it name. The format can be used to export routing protocol messages, state changes, and routing information base contents.

本文档描述了路线信息导出的MRT格式。该格式是与多线程路由工具包(MRT)一起开发的,该格式的名称来源于MRT。该格式可用于导出路由协议消息、状态更改和路由信息库内容。

Status of This Memo

关于下段备忘

This is an Internet Standards Track document.

这是一份互联网标准跟踪文件。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6396.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6396.

Copyright Notice

版权公告

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2011 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.

本文件可能包含2008年11月10日之前发布或公开的IETF文件或IETF贡献中的材料。控制某些材料版权的人员可能未授予IETF信托允许在IETF标准流程之外修改此类材料的权利。在未从控制此类材料版权的人员处获得充分许可的情况下,不得在IETF标准流程之外修改本文件,也不得在IETF标准流程之外创建其衍生作品,除了将其格式化以RFC形式发布或将其翻译成英语以外的其他语言。

Table of Contents

目录

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Specification of Requirements  . . . . . . . . . . . . . .  4
   2.  MRT Common Header  . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Extended Timestamp MRT Header  . . . . . . . . . . . . . . . .  5
   4.  MRT Types  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.1.  OSPFv2 Type  . . . . . . . . . . . . . . . . . . . . . . .  6
     4.2.  TABLE_DUMP Type  . . . . . . . . . . . . . . . . . . . . .  7
     4.3.  TABLE_DUMP_V2 Type . . . . . . . . . . . . . . . . . . . .  9
       4.3.1.  PEER_INDEX_TABLE Subtype . . . . . . . . . . . . . . .  9
       4.3.2.  AFI/SAFI-Specific RIB Subtypes . . . . . . . . . . . . 11
       4.3.3.  RIB_GENERIC Subtype  . . . . . . . . . . . . . . . . . 11
       4.3.4.  RIB Entries  . . . . . . . . . . . . . . . . . . . . . 12
     4.4.  BGP4MP Type  . . . . . . . . . . . . . . . . . . . . . . . 13
       4.4.1.  BGP4MP_STATE_CHANGE Subtype  . . . . . . . . . . . . . 13
       4.4.2.  BGP4MP_MESSAGE Subtype . . . . . . . . . . . . . . . . 14
       4.4.3.  BGP4MP_MESSAGE_AS4 Subtype . . . . . . . . . . . . . . 15
       4.4.4.  BGP4MP_STATE_CHANGE_AS4 Subtype  . . . . . . . . . . . 15
       4.4.5.  BGP4MP_MESSAGE_LOCAL Subtype . . . . . . . . . . . . . 16
       4.4.6.  BGP4MP_MESSAGE_AS4_LOCAL Subtype . . . . . . . . . . . 16
     4.5.  ISIS Type  . . . . . . . . . . . . . . . . . . . . . . . . 16
     4.6.  OSPFv3 Type  . . . . . . . . . . . . . . . . . . . . . . . 17
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 17
     5.1.  Type Codes . . . . . . . . . . . . . . . . . . . . . . . . 17
     5.2.  Subtype Codes  . . . . . . . . . . . . . . . . . . . . . . 18
     5.3.  Defined Type Codes . . . . . . . . . . . . . . . . . . . . 18
     5.4.  Defined BGP, BGP4PLUS, and BGP4PLUS_01 Subtype Codes . . . 19
     5.5.  Defined TABLE_DUMP Subtype Codes . . . . . . . . . . . . . 19
     5.6.  Defined TABLE_DUMP_V2 Subtype Codes  . . . . . . . . . . . 19
     5.7.  Defined BGP4MP and BGP4MP_ET Subtype Codes . . . . . . . . 20
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 21
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 21
        
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Specification of Requirements  . . . . . . . . . . . . . .  4
   2.  MRT Common Header  . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Extended Timestamp MRT Header  . . . . . . . . . . . . . . . .  5
   4.  MRT Types  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.1.  OSPFv2 Type  . . . . . . . . . . . . . . . . . . . . . . .  6
     4.2.  TABLE_DUMP Type  . . . . . . . . . . . . . . . . . . . . .  7
     4.3.  TABLE_DUMP_V2 Type . . . . . . . . . . . . . . . . . . . .  9
       4.3.1.  PEER_INDEX_TABLE Subtype . . . . . . . . . . . . . . .  9
       4.3.2.  AFI/SAFI-Specific RIB Subtypes . . . . . . . . . . . . 11
       4.3.3.  RIB_GENERIC Subtype  . . . . . . . . . . . . . . . . . 11
       4.3.4.  RIB Entries  . . . . . . . . . . . . . . . . . . . . . 12
     4.4.  BGP4MP Type  . . . . . . . . . . . . . . . . . . . . . . . 13
       4.4.1.  BGP4MP_STATE_CHANGE Subtype  . . . . . . . . . . . . . 13
       4.4.2.  BGP4MP_MESSAGE Subtype . . . . . . . . . . . . . . . . 14
       4.4.3.  BGP4MP_MESSAGE_AS4 Subtype . . . . . . . . . . . . . . 15
       4.4.4.  BGP4MP_STATE_CHANGE_AS4 Subtype  . . . . . . . . . . . 15
       4.4.5.  BGP4MP_MESSAGE_LOCAL Subtype . . . . . . . . . . . . . 16
       4.4.6.  BGP4MP_MESSAGE_AS4_LOCAL Subtype . . . . . . . . . . . 16
     4.5.  ISIS Type  . . . . . . . . . . . . . . . . . . . . . . . . 16
     4.6.  OSPFv3 Type  . . . . . . . . . . . . . . . . . . . . . . . 17
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 17
     5.1.  Type Codes . . . . . . . . . . . . . . . . . . . . . . . . 17
     5.2.  Subtype Codes  . . . . . . . . . . . . . . . . . . . . . . 18
     5.3.  Defined Type Codes . . . . . . . . . . . . . . . . . . . . 18
     5.4.  Defined BGP, BGP4PLUS, and BGP4PLUS_01 Subtype Codes . . . 19
     5.5.  Defined TABLE_DUMP Subtype Codes . . . . . . . . . . . . . 19
     5.6.  Defined TABLE_DUMP_V2 Subtype Codes  . . . . . . . . . . . 19
     5.7.  Defined BGP4MP and BGP4MP_ET Subtype Codes . . . . . . . . 20
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 21
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 21
        
   Appendix A.  MRT Encoding Examples . . . . . . . . . . . . . . . . 23
   Appendix B.  Deprecated MRT Types  . . . . . . . . . . . . . . . . 26
     B.1.  Deprecated MRT Informational Types . . . . . . . . . . . . 26
       B.1.1.  NULL Type  . . . . . . . . . . . . . . . . . . . . . . 26
       B.1.2.  START Type . . . . . . . . . . . . . . . . . . . . . . 27
       B.1.3.  DIE Type . . . . . . . . . . . . . . . . . . . . . . . 27
       B.1.4.  I_AM_DEAD Type . . . . . . . . . . . . . . . . . . . . 27
       B.1.5.  PEER_DOWN Type . . . . . . . . . . . . . . . . . . . . 27
     B.2.  Other Deprecated MRT Types . . . . . . . . . . . . . . . . 27
       B.2.1.  BGP Type . . . . . . . . . . . . . . . . . . . . . . . 27
       B.2.2.  RIP Type . . . . . . . . . . . . . . . . . . . . . . . 30
       B.2.3.  IDRP Type  . . . . . . . . . . . . . . . . . . . . . . 30
       B.2.4.  RIPNG Type . . . . . . . . . . . . . . . . . . . . . . 31
       B.2.5.  BGP4PLUS and BGP4PLUS_01 Types . . . . . . . . . . . . 31
       B.2.6.  Deprecated BGP4MP Subtypes . . . . . . . . . . . . . . 32
   Appendix C.  Acknowledgements  . . . . . . . . . . . . . . . . . . 34
        
   Appendix A.  MRT Encoding Examples . . . . . . . . . . . . . . . . 23
   Appendix B.  Deprecated MRT Types  . . . . . . . . . . . . . . . . 26
     B.1.  Deprecated MRT Informational Types . . . . . . . . . . . . 26
       B.1.1.  NULL Type  . . . . . . . . . . . . . . . . . . . . . . 26
       B.1.2.  START Type . . . . . . . . . . . . . . . . . . . . . . 27
       B.1.3.  DIE Type . . . . . . . . . . . . . . . . . . . . . . . 27
       B.1.4.  I_AM_DEAD Type . . . . . . . . . . . . . . . . . . . . 27
       B.1.5.  PEER_DOWN Type . . . . . . . . . . . . . . . . . . . . 27
     B.2.  Other Deprecated MRT Types . . . . . . . . . . . . . . . . 27
       B.2.1.  BGP Type . . . . . . . . . . . . . . . . . . . . . . . 27
       B.2.2.  RIP Type . . . . . . . . . . . . . . . . . . . . . . . 30
       B.2.3.  IDRP Type  . . . . . . . . . . . . . . . . . . . . . . 30
       B.2.4.  RIPNG Type . . . . . . . . . . . . . . . . . . . . . . 31
       B.2.5.  BGP4PLUS and BGP4PLUS_01 Types . . . . . . . . . . . . 31
       B.2.6.  Deprecated BGP4MP Subtypes . . . . . . . . . . . . . . 32
   Appendix C.  Acknowledgements  . . . . . . . . . . . . . . . . . . 34
        
1. Introduction
1. 介绍

Researchers and engineers often wish to analyze network behavior by studying routing protocol transactions and routing information base snapshots. To this end, the MRT record format was developed to encapsulate, export, and archive this information in a standardized data representation.

研究人员和工程师通常希望通过研究路由协议事务和路由信息库快照来分析网络行为。为此,开发了MRT记录格式,以标准化的数据表示形式封装、导出和归档这些信息。

The BGP routing protocol, in particular, has been the subject of extensive study and analysis, which have been significantly aided by the availability of the MRT format. Two examples of large-scale MRT-based BGP archival projects include the University of Oregon Route Views Project and the RIPE NCC Routing Information Service (RIS).

特别是BGP路由协议一直是广泛研究和分析的主题,MRT格式的可用性大大有助于这一主题的研究和分析。基于大规模MRT的BGP档案项目的两个例子包括俄勒冈大学路线视图项目和成熟的NCC路由信息服务(RIS)。

The MRT format was initially defined in the MRT Programmer's Guide [MRT_PROG_GUIDE]. Subsequent extensions were made in the GNU Zebra software routing suite and the Sprint Advanced Technology Labs Python Routing Toolkit (PyRT). Further extensions may be introduced at a later date through additional definitions of the MRT Type field and Subtype fields.

MRT格式最初是在MRT程序员指南[MRT\U PROG\U Guide]中定义的。随后在GNUZebra软件路由套件和SprintAdvancedTechnologyLabs Python路由工具包(PyRT)中进行了扩展。以后可以通过MRT类型字段和子类型字段的附加定义引入进一步的扩展。

A number of MRT record types listed in the MRT Programmer's Guide [MRT_PROG_GUIDE] are not known to have been implemented and, in some cases, were incompletely specified. Further, several types were employed in early MRT implementations, but saw limited use and were updated by improved versions. These types are considered to be deprecated and are documented in the Deprecated MRT Types (Appendix B) section at the end of this document. The deprecated types consist of codes 0 through 10 inclusive. Some of the deprecated types may be of interest to researchers examining historical MRT format archives.

《MRT程序员指南》[MRT_PROG_Guide]中列出的许多MRT记录类型尚未实现,在某些情况下,未完全指定。此外,在早期的MRT实施中使用了几种类型,但使用有限,并通过改进版本进行了更新。这些类型被视为已弃用,并记录在本文件末尾的弃用MRT类型(附录B)一节中。不推荐使用的类型由代码0到10(含)组成。研究历史MRT格式档案的研究人员可能对一些不推荐的类型感兴趣。

Fields which contain multi-octet numeric values are encoded in network octet order from most significant octet to least significant octet. Fields that contain routing message fields are encoded in the same order as they appear in the packet contents.

包含多个八位字节数值的字段按网络八位字节顺序编码,从最高有效八位字节到最低有效八位字节。包含路由消息字段的字段的编码顺序与它们在数据包内容中的显示顺序相同。

1.1. Specification of Requirements
1.1. 需求说明

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

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

2. MRT Common Header
2. 捷运公头

All MRT format records have a Common Header that consists of a Timestamp, Type, Subtype, and Length field. The header is followed by a Message field. The MRT Common Header is illustrated below.

所有MRT格式记录都有一个公共标头,该标头由时间戳、类型、子类型和长度字段组成。标题后面跟着一个消息字段。MRT通用标题如下图所示。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Timestamp                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             Type              |            Subtype            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                             Length                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Timestamp                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             Type              |            Subtype            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                             Length                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 1: MRT Common Header

图1:MRT公共标题

Header Field Descriptions:

标题字段说明:

Timestamp:

时间戳:

A 4-octet field whose integer value is the number of seconds, excluding leap seconds, elapsed since midnight proleptic Coordinated Universal Time (UTC). This representation of time is sometimes called "UNIX time" [POSIX]. This time format cannot represent time values prior to January 1, 1970. The latest UTC time value that can be represented by a 4-octet integer value is 03:14:07 on January 19, 2038, which is represented by the hexadecimal value 7FFFFFFF. Implementations that wish to create MRT records after this date will need to provide an alternate EPOCH time base for the Timestamp field. Mechanisms for indicating this alternate EPOCH are currently outside the scope of this document.

一个4个八位字节的字段,其整数值是从午夜开始经过的秒数,不包括闰秒,前协调世界时(UTC)。这种时间表示有时称为“UNIX时间”[POSIX]。此时间格式不能表示1970年1月1日之前的时间值。可由4个八位整数表示的最新UTC时间值为2038年1月19日03:14:07,由十六进制值7fffff表示。希望在此日期之后创建MRT记录的实现需要为时间戳字段提供备用的历元时基。用于指示该替代纪元的机制目前不在本文件的范围内。

Type:

类型:

A 2-octet field that indicates the Type of information contained in the Message field. Types 0 through 4 are informational messages pertaining to the state of an MRT collector, while Types 5 and higher are used to convey routing information.

一个2个八位字节的字段,指示消息字段中包含的信息类型。类型0到4是关于MRT收集器状态的信息性消息,而类型5和更高的类型用于传递路由信息。

Subtype:

子类型:

A 2-octet field that is used to further distinguish message information within a particular record Type.

用于进一步区分特定记录类型中的消息信息的2个八位组字段。

Length:

长度:

A 4-octet message length field. The Length field contains the number of octets within the message. The Length field does not include the length of the MRT Common Header.

4个八位字节的消息长度字段。长度字段包含消息中的八位字节数。长度字段不包括MRT公共标题的长度。

Message:

信息:

A variable-length message. The contents of this field are context dependent upon the Type and Subtype fields.

长度可变的消息。此字段的内容取决于类型和子类型字段的上下文。

3. Extended Timestamp MRT Header
3. 扩展时间戳MRT报头

Several MRT format record types support a variant type with an extended timestamp field. The purpose of this field is to support measurements at sub-second resolutions. This field, Microsecond Timestamp, contains an unsigned 32BIT offset value in microseconds, which is added to the Timestamp field value. The Timestamp field remains as defined in the MRT Common Header. The Microsecond Timestamp immediately follows the Length field in the MRT Common Header and precedes all other fields in the message. The Microsecond Timestamp is included in the computation of the Length field value. The Extended Timestamp MRT Header is illustrated below.

几个MRT格式记录类型支持带有扩展时间戳字段的变体类型。此字段的目的是支持亚秒分辨率的测量。此字段(微秒时间戳)包含以微秒为单位的无符号32位偏移量值,该值添加到时间戳字段值中。时间戳字段保留为MRT公共标头中的定义。微秒时间戳紧跟在MRT公共标头中的长度字段之后,并位于消息中所有其他字段之前。微秒时间戳包括在长度字段值的计算中。扩展时间戳MRT报头如下所示。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Timestamp                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             Type              |            Subtype            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                             Length                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Microsecond Timestamp                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Timestamp                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             Type              |            Subtype            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                             Length                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Microsecond Timestamp                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 2: Extended Timestamp MRT Header

图2:扩展时间戳MRT报头

4. MRT Types
4. 地铁类型

The following MRT Types are currently defined for the MRT format. The MRT Types that contain the "_ET" suffix in their names identify those types that use an Extended Timestamp MRT Header. The Subtype and Message fields in these types remain as defined for the MRT Types of the same name without the "_ET" suffix.

目前为MRT格式定义了以下MRT类型。名称中包含“_ET”后缀的MRT类型标识使用扩展时间戳MRT标头的类型。这些类型中的子类型和消息字段与相同名称的MRT类型的定义相同,没有“_ET”后缀。

11 OSPFv2 12 TABLE_DUMP 13 TABLE_DUMP_V2 16 BGP4MP 17 BGP4MP_ET 32 ISIS 33 ISIS_ET 48 OSPFv3 49 OSPFv3_ET

11 OSPFv2 12表转储13表转储V2 16 BGP4MP 17 BGP4MP ET 32 ISIS 33 ISIS ET 48 OSPFv3 49 OSPFv3 ET

4.1. OSPFv2 Type
4.1. OSPFv2型

This type supports the OSPFv2 protocol as defined in RFC 2328 [RFC2328]. It is used to encode the exchange of OSPF protocol packets.

此类型支持RFC 2328[RFC2328]中定义的OSPFv2协议。它用于编码OSPF协议包的交换。

The format of the MRT Message field for the OSPFv2 Type is as follows:

OSPFv2类型的MRT消息字段格式如下:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Remote IP Address                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local IP Address                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                  OSPF Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Remote IP Address                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local IP Address                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                  OSPF Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 3: OSPFv2 Type

图3:OSPFv2型

The Remote IP Address field contains the Source IPv4 [RFC0791] address from the IP header of the OSPF message. The Local IP Address contains the Destination IPv4 address from the IP header. The OSPF Message Contents field contains the complete contents of the OSPF packet following the IP header.

远程IP地址字段包含OSPF消息IP头中的源IPv4[RFC0791]地址。本地IP地址包含IP标头中的目标IPv4地址。OSPF消息内容字段包含IP报头后面的OSPF数据包的完整内容。

4.2. TABLE_DUMP Type
4.2. 表2\u转储类型

The TABLE_DUMP Type is used to encode the contents of a BGP Routing Information Base (RIB). Each RIB entry is encoded in a distinct sequential MRT record. It is RECOMMENDED that new MRT encoding implementations use the TABLE_DUMP_V2 Type (see below) instead of the TABLE_DUMP Type due to limitations in this type. However, due to the significant volume of historical data encoded with this type, MRT decoding applications MAY wish to support this type.

表_转储类型用于对BGP路由信息库(RIB)的内容进行编码。每个肋骨条目都编码在不同的顺序MRT记录中。由于这种类型的限制,建议新的MRT编码实现使用TABLE_DUMP_V2类型(见下文)而不是TABLE_DUMP类型。然而,由于使用该类型编码的历史数据量很大,MRT解码应用程序可能希望支持该类型。

The Subtype field is used to encode whether the RIB entry contains IPv4 or IPv6 [RFC2460] addresses. There are two possible values for the Subtype as shown below.

Subtype字段用于编码RIB条目是否包含IPv4或IPv6[RFC2460]地址。子类型有两个可能的值,如下所示。

1 AFI_IPv4 2 AFI_IPv6

1个AFI_IPv4 2个AFI_IPv6

The format of the TABLE_DUMP Type is illustrated below.

表_转储类型的格式如下所示。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         View Number           |       Sequence Number         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Prefix (variable)                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Prefix Length |    Status     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Originated Time                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    Peer IP Address (variable)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Peer AS             |       Attribute Length        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   BGP Attribute... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         View Number           |       Sequence Number         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Prefix (variable)                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Prefix Length |    Status     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Originated Time                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    Peer IP Address (variable)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Peer AS             |       Attribute Length        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   BGP Attribute... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 4: TABLE_DUMP Type

图4:TABLE_转储类型

The View Number field is normally 0 and is intended for cases where an implementation may have multiple RIB views (such as a route server). In cases where multiple RIB views are present, an implementation MAY use the View Number field to distinguish entries from each view. The Sequence Number field is a simple incremental counter for each RIB entry. A typical RIB dump will exceed the 16-bit bounds of this counter, and an implementation SHOULD simply wrap back to zero and continue incrementing the counter in such cases.

“视图编号”字段通常为0,用于实现可能具有多个RIB视图(如路由服务器)的情况。在存在多个肋骨视图的情况下,实施可以使用“视图编号”字段来区分每个视图中的条目。序列号字段是每个肋骨条目的简单递增计数器。典型的RIB转储将超过此计数器的16位界限,在这种情况下,实现应该简单地返回到零并继续递增计数器。

The Prefix field contains the IP address of a particular RIB entry. The size of this field is dependent on the value of the Subtype for this record. The AFI_IPv4 Subtype value specifies an Address Family Identifier (AFI) type of IPv4 [IANA-AF]. It specifies a Prefix field length of 4 octets. For AFI_IPv6, it is 16 octets in length. The Prefix Length field indicates the length in bits of the prefix mask for the preceding Prefix field.

前缀字段包含特定条目的IP地址。此字段的大小取决于此记录的子类型值。AFI_IPv4子类型值指定IPv4[IANA-AF]的地址族标识符(AFI)类型。它指定前缀字段长度为4个八位字节。对于AFI_IPv6,其长度为16个八位字节。前缀长度字段表示前面前缀字段的前缀掩码的位长度。

The Status octet is unused in the TABLE_DUMP Type and SHOULD be set to 1.

状态八位字节在表_转储类型中未使用,应设置为1。

The Originated Time contains the 4-octet time at which this prefix was heard. The value represents the time in seconds since 1 January 1970 00:00:00 UTC.

起始时间包含听到此前缀的4个八位字节的时间。该值表示自1970年1月1日00:00:00 UTC以来的时间(秒)。

The Peer IP Address field is the IP address of the peer that provided the update for this RIB entry. As with the Prefix field, the size of this field is dependent on the Subtype. AFI_IPv4 indicates a 4-octet field and an IPv4 address, while a Subtype of AFI_IPv6 requires a 16-octet field and an IPv6 address. The Peer AS field contains the 2-octet Autonomous System (AS) number of the peer.

对等IP地址字段是为该RIB条目提供更新的对等IP地址。与前缀字段一样,此字段的大小取决于子类型。AFI_IPv4表示4个八位字段和IPv4地址,而AFI_IPv6的子类型需要16个八位字段和IPv6地址。对等机AS字段包含对等机的2-octet自治系统(AS)编号。

The TABLE_DUMP Type does not permit 4-byte Peer AS numbers, nor does it allow the AFI of the peer IP to differ from the AFI of the Prefix field. The TABLE_DUMP_V2 Type MUST be used in these situations.

TABLE_DUMP类型不允许4字节对等AS编号,也不允许对等IP的AFI与前缀字段的AFI不同。在这些情况下,必须使用TABLE_DUMP_V2类型。

Attribute Length contains the length of the Attribute field and is 2 octets. The BGP Attribute field contains the BGP attribute information for the RIB entry. The AS_PATH attribute MUST only consist of 2-byte AS numbers. The TABLE_DUMP_V2 supports 4-byte AS numbers in the AS_PATH attribute.

属性长度包含属性字段的长度,为2个八位字节。BGP属性字段包含肋骨条目的BGP属性信息。“AS_路径”属性只能由2字节的AS编号组成。表_DUMP_V2在AS_PATH属性中支持4字节的AS数。

4.3. TABLE_DUMP_V2 Type
4.3. 表\u转储\u V2类型

The TABLE_DUMP_V2 Type updates the TABLE_DUMP Type to include 4-byte Autonomous System Number (ASN) support and full support for BGP multiprotocol extensions. It also improves upon the space efficiency of the TABLE_DUMP Type by employing an index table for peers and permitting a single MRT record per Network Layer Reachability Information (NLRI) entry. The following subtypes are used with the TABLE_DUMP_V2 Type.

TABLE_DUMP_V2类型更新TABLE_DUMP类型,以包括4字节自治系统号(ASN)支持和对BGP多协议扩展的完全支持。它还通过为对等方使用索引表并允许每个网络层可达性信息(NLRI)条目有一个MRT记录,从而提高了表转储类型的空间效率。以下子类型与表\u DUMP\u V2类型一起使用。

1 PEER_INDEX_TABLE 2 RIB_IPV4_UNICAST 3 RIB_IPV4_MULTICAST 4 RIB_IPV6_UNICAST 5 RIB_IPV6_MULTICAST 6 RIB_GENERIC

1对等索引表2 RIB\u IPV4\u单播3 RIB\u IPV4\u多播4 RIB\u IPV6\u单播5 RIB\u IPV6\u多播6 RIB\u通用

4.3.1. PEER_INDEX_TABLE Subtype
4.3.1. 对等索引表子类型

An initial PEER_INDEX_TABLE MRT record provides the BGP ID of the collector, an OPTIONAL view name, and a list of indexed peers. Following the PEER_INDEX_TABLE MRT record, a series of MRT records is used to encode RIB table entries. This series of MRT records uses subtypes 2-6 and is separate from the PEER_INDEX_TABLE MRT record itself and includes full MRT record headers. The RIB entry MRT records MUST immediately follow the PEER_INDEX_TABLE MRT record.

初始PEER_INDEX_TABLE MRT记录提供收集器的BGP ID、可选视图名称和索引对等点列表。在对等索引表MRT记录之后,使用一系列MRT记录对RIB表条目进行编码。这一系列MRT记录使用子类型2-6,与对等表MRT记录本身分离,包括完整的MRT记录头。RIB条目MRT记录必须立即跟随同行索引表MRT记录。

The header of the PEER_INDEX_TABLE Subtype is shown below. The View Name is OPTIONAL and, if not present, the View Name Length MUST be set to 0. The View Name encoding MUST follow the UTF-8 transformation format [RFC3629].

对等索引表子类型的标题如下所示。视图名称是可选的,如果不存在,视图名称长度必须设置为0。视图名称编码必须遵循UTF-8转换格式[RFC3629]。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Collector BGP ID                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       View Name Length        |     View Name (variable)      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Peer Count           |    Peer Entries (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Collector BGP ID                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       View Name Length        |     View Name (variable)      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Peer Count           |    Peer Entries (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 5: PEER_INDEX_TABLE Subtype

图5:对等索引表子类型

The format of the Peer Entries is shown below. The PEER_INDEX_TABLE record contains Peer Count number of Peer Entries.

对等条目的格式如下所示。对等索引表记录包含对等项的对等计数数。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Peer Type   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer BGP ID                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   Peer IP Address (variable)                  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer AS (variable)                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Peer Type   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer BGP ID                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   Peer IP Address (variable)                  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer AS (variable)                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 6: Peer Entries

图6:对等条目

The Peer Type, Peer BGP ID, Peer IP Address, and Peer AS fields are repeated as indicated by the Peer Count field. The position of the peer in the PEER_INDEX_TABLE is used as an index in the subsequent TABLE_DUMP_V2 MRT records. The index number begins with 0.

对等类型、对等BGP ID、对等IP地址和对等AS字段重复,如对等计数字段所示。对等索引表中的对等位置用作后续表转储V2 MRT记录中的索引。索引号以0开头。

The Peer Type field is a bit field that encodes the type of the AS and IP address as identified by the A and I bits, respectively, below.

对等类型字段是一个位字段,它对下面分别由a和I位标识的AS和IP地址的类型进行编码。

       0 1 2 3 4 5 6 7
      +-+-+-+-+-+-+-+-+
      | | | | | | |A|I|
      +-+-+-+-+-+-+-+-+
        
       0 1 2 3 4 5 6 7
      +-+-+-+-+-+-+-+-+
      | | | | | | |A|I|
      +-+-+-+-+-+-+-+-+
        
      Bit 6: Peer AS number size:  0 = 16 bits, 1 = 32 bits
      Bit 7: Peer IP Address family:  0 = IPv4,  1 = IPv6
        
      Bit 6: Peer AS number size:  0 = 16 bits, 1 = 32 bits
      Bit 7: Peer IP Address family:  0 = IPv4,  1 = IPv6
        

Figure 7: Peer Type Field

图7:对等类型字段

The MRT records that follow the PEER_INDEX_TABLE MRT record consist of the subtypes listed below and contain the actual RIB table entries. They include a header that specifies a sequence number, an NLRI field, and a count of the number of RIB entries contained within the record.

同行索引表MRT记录后面的MRT记录由下面列出的子类型组成,并包含实际的RIB表条目。它们包括指定序列号的标题、NLRI字段和记录中包含的RIB条目的计数。

4.3.2. AFI/SAFI-Specific RIB Subtypes
4.3.2. AFI/SAFI特异性肋骨亚型

The AFI/SAFI-specific RIB Subtypes consist of the RIB_IPV4_UNICAST, RIB_IPV4_MULTICAST, RIB_IPV6_UNICAST, and RIB_IPV6_MULTICAST Subtypes. These specific RIB table entries are given their own MRT TABLE_DUMP_V2 subtypes as they are the most common type of RIB table instances, and providing specific MRT subtypes for them permits more compact encodings. These subtypes permit a single MRT record to encode multiple RIB table entries for a single prefix. The Prefix Length and Prefix fields are encoded in the same manner as the BGP NLRI encoding for IPv4 and IPv6 prefixes. Namely, the Prefix field contains address prefixes followed by enough trailing bits to make the end of the field fall on an octet boundary. The value of trailing bits is irrelevant.

AFI/SAFI特定的RIB子类型包括RIB_IPV4_单播、RIB_IPV4_多播、RIB_IPV6_单播和RIB_IPV6_多播子类型。这些特定的RIB表格条目都有自己的MRT表格_DUMP _V2子类型,因为它们是最常见的RIB表格实例类型,为它们提供特定的MRT子类型允许更紧凑的编码。这些子类型允许单个MRT记录为单个前缀编码多个RIB表格条目。前缀长度和前缀字段的编码方式与IPv4和IPv6前缀的BGP NLRI编码方式相同。也就是说,前缀字段包含地址前缀,后跟足够的尾随位,以使字段的结尾落在八位字节边界上。尾随位的值是无关的。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Prefix Length |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Prefix (variable)                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Entry Count           |  RIB Entries (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Prefix Length |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Prefix (variable)                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Entry Count           |  RIB Entries (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 8: RIB Entry Header

图8:肋骨入口端头

4.3.3. RIB_GENERIC Subtype
4.3.3. RIB_属亚型

The RIB_GENERIC header is shown below. It is used to cover RIB entries that do not fall under the common case entries defined above. It consists of an AFI, Subsequent AFI (SAFI), and a single NLRI entry. The NLRI information is specific to the AFI and SAFI values. An implementation that does not recognize particular AFI and SAFI values SHOULD discard the remainder of the MRT record.

RIB_通用标题如下所示。它用于覆盖不属于上述常见情况条目的肋骨条目。它由一个AFI、后续AFI(SAFI)和一个NLRI条目组成。NLRI信息特定于AFI和SAFI值。不识别特定AFI和SAFI值的实现应丢弃MRT记录的其余部分。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Address Family Identifier  |Subsequent AFI |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Network Layer Reachability Information (variable)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Entry Count           |  RIB Entries (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Address Family Identifier  |Subsequent AFI |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Network Layer Reachability Information (variable)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Entry Count           |  RIB Entries (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 9: RIB_GENERIC Entry Header

图9:RIB_通用条目标题

4.3.4. RIB Entries
4.3.4. 肋骨条

The RIB Entries are repeated Entry Count times. These entries share a common format as shown below. They include a Peer Index from the PEER_INDEX_TABLE MRT record, an originated time for the RIB Entry, and the BGP path attribute length and attributes. All AS numbers in the AS_PATH attribute MUST be encoded as 4-byte AS numbers.

肋骨条目是重复的条目计数次数。这些条目共享如下所示的通用格式。它们包括来自对等索引表MRT记录的对等索引、RIB条目的起始时间以及BGP路径属性长度和属性。AS_路径属性中的所有AS编号必须编码为4字节AS编号。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer Index            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Originated Time                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      Attribute Length         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Attributes... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer Index            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Originated Time                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      Attribute Length         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Attributes... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 10: RIB Entries

图10:肋骨入口

There is one exception to the encoding of BGP attributes for the BGP MP_REACH_NLRI attribute (BGP Type Code 14) [RFC4760]. Since the AFI, SAFI, and NLRI information is already encoded in the RIB Entry Header or RIB_GENERIC Entry Header, only the Next Hop Address Length and Next Hop Address fields are included. The Reserved field is omitted. The attribute length is also adjusted to reflect only the length of the Next Hop Address Length and Next Hop Address fields.

BGP MP_REACH_NLRI属性(BGP类型代码14)[RFC4760]的BGP属性编码有一个例外。由于AFI、SAFI和NLRI信息已编码在RIB条目标题或RIB_通用条目标题中,因此仅包括下一跳地址长度和下一跳地址字段。保留字段被省略。属性长度也被调整为仅反映下一跳地址长度和下一跳地址字段的长度。

4.4. BGP4MP Type
4.4. BGP4MP型

This type was initially defined in the Zebra software package for the BGP protocol with multiprotocol extension support as defined by RFC 4760 [RFC4760]. The BGP4MP Type has six Subtypes, which are defined as follows:

该类型最初在BGP协议的Zebra软件包中定义,具有RFC 4760[RFC4760]定义的多协议扩展支持。BGP4MP类型有六个子类型,定义如下:

0 BGP4MP_STATE_CHANGE 1 BGP4MP_MESSAGE 4 BGP4MP_MESSAGE_AS4 5 BGP4MP_STATE_CHANGE_AS4 6 BGP4MP_MESSAGE_LOCAL 7 BGP4MP_MESSAGE_AS4_LOCAL

0 BGP4MP_状态_更改1 BGP4MP_消息4 BGP4MP_消息_AS4 5 BGP4MP_状态_更改_AS4 6 BGP4MP_消息_本地7 BGP4MP_消息_AS4_本地

4.4.1. BGP4MP_STATE_CHANGE Subtype
4.4.1. BGP4MP_状态_更改子类型

This message is used to encode state changes in the BGP finite state machine (FSM). The BGP FSM states are encoded in the Old State and New State fields to indicate the previous and current state. In some cases, the Peer AS Number may be undefined. In such cases, the value of this field MAY be set to zero. The format is illustrated below:

此消息用于对BGP有限状态机(FSM)中的状态更改进行编码。BGP FSM状态在旧状态和新状态字段中进行编码,以指示以前和当前状态。在某些情况下,对等AS编号可能未定义。在这种情况下,该字段的值可以设置为零。格式如下所示:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Old State          |          New State            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Old State          |          New State            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 11: BGP4MP_STATE_CHANGE Subtype

图11:BGP4MP_状态_更改子类型

The FSM states are defined in RFC 4271 [RFC4271], Section 8.2.2. Both the Old State value and the New State value are encoded as 2-octet numbers. The state values are defined numerically as follows:

FSM状态在RFC 4271[RFC4271]第8.2.2节中定义。旧状态值和新状态值都编码为2个八位组数。状态值的数字定义如下:

1 Idle 2 Connect 3 Active 4 OpenSent 5 OpenConfirm 6 Established

1空闲2连接3活动4打开发送5打开确认6建立

The BGP4MP_STATE_CHANGE message also includes Interface Index and Address Family fields. The Interface Index provides the interface number of the peering session. The index value is OPTIONAL and MAY be zero if unknown or unsupported. The Address Family indicates what types of addresses are in the address fields. At present, the following AFI Types are supported:

BGP4MP_STATE_CHANGE消息还包括接口索引和地址族字段。接口索引提供对等会话的接口号。索引值是可选的,如果未知或不受支持,则可能为零。地址族指示地址字段中的地址类型。目前,支持以下AFI类型:

1 AFI_IPv4 2 AFI_IPv6

1个AFI_IPv4 2个AFI_IPv6

4.4.2. BGP4MP_MESSAGE Subtype
4.4.2. BGP4MP_消息子类型

This subtype is used to encode BGP messages. It can be used to encode any Type of BGP message. The entire BGP message is encapsulated in the BGP Message field, including the 16-octet marker, the 2-octet length, and the 1-octet type fields. The BGP4MP_MESSAGE Subtype does not support 4-byte AS numbers. The AS_PATH contained in these messages MUST only consist of 2-byte AS numbers. The BGP4MP_MESSAGE_AS4 Subtype updates the BGP4MP_MESSAGE Subtype in order to support 4-byte AS numbers. The BGP4MP_MESSAGE fields are shown below:

此子类型用于对BGP消息进行编码。它可用于编码任何类型的BGP消息。整个BGP消息封装在BGP消息字段中,包括16个八位字节标记、2个八位字节长度和1个八位字节类型字段。BGP4MP_消息子类型不支持4字节作为数字。这些消息中包含的AS_路径只能由2字节的AS编号组成。BGP4MP_MESSAGE_AS4子类型更新BGP4MP_MESSAGE子类型,以支持4字节作为数字。BGP4MP_消息字段如下所示:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 12: BGP4MP_MESSAGE Subtype

图12:BGP4MP_消息子类型

The Interface Index provides the interface number of the peering session. The index value is OPTIONAL and MAY be zero if unknown or unsupported. The Address Family indicates what types of addresses are in the subsequent address fields. At present, the following AFI Types are supported:

接口索引提供对等会话的接口号。索引值是可选的,如果未知或不受支持,则可能为零。地址族指示后续地址字段中的地址类型。目前,支持以下AFI类型:

1 AFI_IPv4 2 AFI_IPv6

1个AFI_IPv4 2个AFI_IPv6

The Address Family value only applies to the IP addresses contained in the MRT header. The BGP4MP_MESSAGE Subtype is otherwise transparent to the contents of the actual message that may contain any valid AFI/SAFI values. Only one BGP message SHALL be encoded in the BGP4MP_MESSAGE Subtype.

地址族值仅适用于MRT标头中包含的IP地址。BGP4MP_消息子类型对可能包含任何有效AFI/SAFI值的实际消息的内容是透明的。BGP4MP_消息子类型中只能对一条BGP消息进行编码。

4.4.3. BGP4MP_MESSAGE_AS4 Subtype
4.4.3. BGP4MP_消息_AS4子类型

This subtype updates the BGP4MP_MESSAGE Subtype to support 4-byte AS numbers. The BGP4MP_MESSAGE_AS4 Subtype is otherwise identical to the BGP4MP_MESSAGE Subtype. The AS_PATH in these messages MUST only consist of 4-byte AS numbers. The BGP4MP_MESSAGE_AS4 fields are shown below:

此子类型更新BGP4MP_消息子类型,以支持4字节作为数字。BGP4MP_消息_AS4子类型在其他方面与BGP4MP_消息子类型相同。这些消息中的AS_路径只能由4字节的AS编号组成。BGP4MP_消息_AS4字段如下所示:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer AS Number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local AS Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer AS Number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local AS Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Message... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 13: BGP4MP_MESSAGE_AS4 Subtype

图13:BGP4MP_消息_AS4子类型

4.4.4. BGP4MP_STATE_CHANGE_AS4 Subtype
4.4.4. BGP4MP\u状态\u更改\u AS4子类型

This subtype updates the BGP4MP_STATE_CHANGE Subtype to support 4-byte AS numbers. As with the BGP4MP_STATE_CHANGE Subtype, the BGP FSM states are encoded in the Old State and New State fields to indicate the previous and current state. Aside from the extension of the Peer and Local AS Number fields to 4 bytes, this subtype is

此子类型更新BGP4MP_STATE_CHANGE子类型以支持4字节作为数字。与BGP4MP_STATE_CHANGE子类型一样,BGP FSM状态在旧状态和新状态字段中进行编码,以指示以前和当前状态。除了将对等和本地AS编号字段扩展为4字节之外,此子类型是

otherwise identical to the BGP4MP_STATE_CHANGE Subtype. The BGP4MP_STATE_CHANGE_AS4 fields are shown below:

否则与BGP4MP_STATE_CHANGE子类型相同。BGP4MP_STATE_CHANGE_AS4字段如下所示:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer AS Number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local AS Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Old State          |          New State            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer AS Number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local AS Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Old State          |          New State            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 14: BGP4MP_STATE_CHANGE_AS4 Subtype

图14:BGP4MP_STATE_CHANGE_AS4子类型

4.4.5. BGP4MP_MESSAGE_LOCAL Subtype
4.4.5. BGP4MP_消息_本地子类型

Implementations of MRT have largely focused on collecting remotely generated BGP messages in a passive route collector role. However, for active BGP implementations, it can be useful to archive locally generated BGP messages in addition to remote messages. This subtype is added to indicate a locally generated BGP message. The fields remain identical to the BGP4MP_MESSAGE type including the Peer and Local IP and AS fields. The Local fields continue to refer to the local IP and AS number of the collector that generated the BGP message, and the Peer IP and AS fields refer to the recipient of the generated BGP messages.

MRT的实现主要集中于以被动路由收集器角色收集远程生成的BGP消息。但是,对于活动BGP实施,除了远程消息之外,还可以归档本地生成的BGP消息。添加此子类型是为了指示本地生成的BGP消息。这些字段保持与BGP4MP_消息类型相同,包括对等和本地IP以及AS字段。本地字段继续引用生成BGP消息的收集器的本地IP和AS编号,对等IP和AS字段引用生成的BGP消息的收件人。

4.4.6. BGP4MP_MESSAGE_AS4_LOCAL Subtype
4.4.6. BGP4MP_消息_AS4_本地子类型

As with the BGP4MP_MESSAGE_LOCAL type, this type indicates locally generated messages. The fields are identical to the BGP4MP_MESSAGE_AS4 message type.

与BGP4MP_MESSAGE_LOCAL类型一样,此类型表示本地生成的消息。这些字段与BGP4MP_消息_AS4消息类型相同。

4.5. ISIS Type
4.5. ISIS型

This type supports the IS-IS routing protocol as defined in RFC 1195 [RFC1195]. There is no Type-specific header for the ISIS Type. The Subtype code for this type is undefined. The ISIS PDU directly follows the MRT Common Header fields.

此类型支持RFC 1195[RFC1195]中定义的IS-IS路由协议。ISIS类型没有特定于类型的标头。此类型的子类型代码未定义。ISIS PDU直接遵循MRT公共标头字段。

4.6. OSPFv3 Type
4.6. OSPFv3型

The OSPFv3 Type extends the original OSPFv2 Type to support IPv6 addresses for the OSPFv3 protocol as defined in RFC 5340 [RFC5340]. The format of the MRT Message field for the OSPFv3 Type is as follows:

OSPFv3类型扩展了原始OSPFv2类型,以支持RFC 5340[RFC5340]中定义的OSPFv3协议的IPv6地址。OSPFv3类型的MRT消息字段格式如下:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Remote IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                  OSPF Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Remote IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                  OSPF Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 15: OSPFv3 Type

图15:OSPFv3型

5. IANA Considerations
5. IANA考虑

This section provides guidance to the Internet Assigned Numbers Authority (IANA) regarding registration of values related to the MRT specification, in accordance with BCP 26, RFC 5226 [RFC5226].

根据BCP 26、RFC 5226[RFC5226],本节为互联网分配号码管理局(IANA)提供了有关MRT规范相关值注册的指南。

There are two name spaces in MRT that have been registered: Type Codes and Subtype Codes. Type Codes and Subtype Codes are each 16 bits in length.

MRT中有两个已注册的名称空间:类型代码和子类型代码。类型代码和子类型代码的长度均为16位。

MRT is not intended as a general-purpose specification for protocol information export, and allocations should not be made for purposes unrelated to routing protocol information export.

MRT不是协议信息导出的通用规范,分配不应用于与路由协议信息导出无关的目的。

The following policies are used here with the meanings defined in BCP 26: "Specification Required", "IETF Consensus", "Experimental Use", "First Come First Served". Assignments consist of a name and the value.

以下政策在这里使用,其含义见BCP 26:“所需规范”、“IETF共识”、“实验性使用”、“先到先得”。赋值由名称和值组成。

5.1. Type Codes
5.1. 类型代码

Type Codes have a range from 0 to 65535, of which 0-64 are reserved. New Type Codes MUST be allocated starting at 65. Type Codes 65-511 are assigned by IETF Review. Type Codes 512-2047 are assigned based on Specification Required. Type Codes 2048-64511 are available on a

类型代码的范围为0到65535,其中0到64是保留的。必须从65开始分配新类型代码。类型代码65-511由IETF评审分配。类型代码512-2047是根据所需规范分配的。型号代码2048-64511可在

First Come First Served policy. Type Codes 64512 - 65534 are available for Experimental Use. The Type Code Value 65535 is reserved.

先到先得的政策。类型代码64512-65534可供实验使用。保留类型代码值65535。

5.2. Subtype Codes
5.2. 子类型代码

Subtype Codes have a range from 0 to 65535. Subtype definitions are specific to a particular Type Code definition. New Subtype Code definitions must reference an existing Type Code to which the Subtype belongs. Subtype assignments follow the assignment rules for the Type Codes to which they belong.

子类型代码的范围为0到65535。子类型定义特定于特定类型代码定义。新的子类型代码定义必须引用该子类型所属的现有类型代码。子类型指定遵循其所属类型代码的指定规则。

5.3. Defined Type Codes
5.3. 定义类型代码

This document defines the following message Type Codes:

本文档定义了以下消息类型代码:

            Name             Value       Definition
            ----             -----       ----------
            NULL             0           See Appendix B.1.1
            START            1           See Appendix B.1.2
            DIE              2           See Appendix B.1.3
            I_AM_DEAD        3           See Appendix B.1.4
            PEER_DOWN        4           See Appendix B.1.5
            BGP              5           See Appendix B.2.1
            RIP              6           See Appendix B.2.2
            IDRP             7           See Appendix B.2.3
            RIPNG            8           See Appendix B.2.4
            BGP4PLUS         9           See Appendix B.2.5
            BGP4PLUS_01      10          See Appendix B.2.5
            OSPFv2           11          See Section 4.1
            TABLE_DUMP       12          See Section 4.2
            TABLE_DUMP_V2    13          See Section 4.3
            BGP4MP           16          See Section 4.4
            BGP4MP_ET        17          See Section 4.4
            ISIS             32          See Section 4.5
            ISIS_ET          33          See Section 4.5
            OSPFv3           48          See Section 4.6
            OSPFv3_ET        49          See Section 4.6
        
            Name             Value       Definition
            ----             -----       ----------
            NULL             0           See Appendix B.1.1
            START            1           See Appendix B.1.2
            DIE              2           See Appendix B.1.3
            I_AM_DEAD        3           See Appendix B.1.4
            PEER_DOWN        4           See Appendix B.1.5
            BGP              5           See Appendix B.2.1
            RIP              6           See Appendix B.2.2
            IDRP             7           See Appendix B.2.3
            RIPNG            8           See Appendix B.2.4
            BGP4PLUS         9           See Appendix B.2.5
            BGP4PLUS_01      10          See Appendix B.2.5
            OSPFv2           11          See Section 4.1
            TABLE_DUMP       12          See Section 4.2
            TABLE_DUMP_V2    13          See Section 4.3
            BGP4MP           16          See Section 4.4
            BGP4MP_ET        17          See Section 4.4
            ISIS             32          See Section 4.5
            ISIS_ET          33          See Section 4.5
            OSPFv3           48          See Section 4.6
            OSPFv3_ET        49          See Section 4.6
        
5.4. Defined BGP, BGP4PLUS, and BGP4PLUS_01 Subtype Codes
5.4. 定义的BGP、BGP4PLUS和BGP4PLUS_01子类型代码

This document defines the following message Subtype Codes for the BGP, BGP4PLUS, and BGP4PLUS_01 Types:

本文档为BGP、BGP4PLUS和BGP4PLUS_01类型定义了以下消息子类型代码:

            Name               Value       Definition
            ----               -----       ----------
            BGP_NULL           0           See Appendix B.2.1
            BGP_UPDATE         1           See Appendix B.2.1
            BGP_PREF_UPDATE    2           See Appendix B.2.1
            BGP_STATE_CHANGE   3           See Appendix B.2.1
            BGP_SYNC           4           See Appendix B.2.1
            BGP_OPEN           5           See Appendix B.2.1
            BGP_NOTIFY         6           See Appendix B.2.1
            BGP_KEEPALIVE      7           See Appendix B.2.1
        
            Name               Value       Definition
            ----               -----       ----------
            BGP_NULL           0           See Appendix B.2.1
            BGP_UPDATE         1           See Appendix B.2.1
            BGP_PREF_UPDATE    2           See Appendix B.2.1
            BGP_STATE_CHANGE   3           See Appendix B.2.1
            BGP_SYNC           4           See Appendix B.2.1
            BGP_OPEN           5           See Appendix B.2.1
            BGP_NOTIFY         6           See Appendix B.2.1
            BGP_KEEPALIVE      7           See Appendix B.2.1
        
5.5. Defined TABLE_DUMP Subtype Codes
5.5. 定义的表\u转储子类型代码

This document defines the following message Subtype Codes for the TABLE_DUMP Type:

本文档定义了表转储类型的以下消息子类型代码:

            Name                Value       Definition
            ----                -----       ----------
            AFI_IPv4            1           See Section 4.2
            AFI_IPv6            2           See Section 4.2
        
            Name                Value       Definition
            ----                -----       ----------
            AFI_IPv4            1           See Section 4.2
            AFI_IPv6            2           See Section 4.2
        
5.6. Defined TABLE_DUMP_V2 Subtype Codes
5.6. 定义的表\u转储\u V2子类型代码

This document defines the following message Subtype Codes for the TABLE_DUMP_V2 Type:

本文档定义了表\u DUMP\u V2类型的以下消息子类型代码:

            Name                Value       Definition
            ----                -----       ----------
            PEER_INDEX_TABLE    1           See Section 4.3
            RIB_IPV4_UNICAST    2           See Section 4.3
            RIB_IPV4_MULTICAST  3           See Section 4.3
            RIB_IPV6_UNICAST    4           See Section 4.3
            RIB_IPV6_MULTICAST  5           See Section 4.3
            RIB_GENERIC         6           See Section 4.3
        
            Name                Value       Definition
            ----                -----       ----------
            PEER_INDEX_TABLE    1           See Section 4.3
            RIB_IPV4_UNICAST    2           See Section 4.3
            RIB_IPV4_MULTICAST  3           See Section 4.3
            RIB_IPV6_UNICAST    4           See Section 4.3
            RIB_IPV6_MULTICAST  5           See Section 4.3
            RIB_GENERIC         6           See Section 4.3
        
5.7. Defined BGP4MP and BGP4MP_ET Subtype Codes
5.7. 定义的BGP4MP和BGP4MP_ET子类型代码

This document defines the following message Subtype Codes for the BGP4MP Type:

本文档为BGP4MP类型定义了以下消息子类型代码:

            Name                     Value       Definition
            ----                     -----       ----------
            BGP4MP_STATE_CHANGE      0           See Section 4.4
            BGP4MP_MESSAGE           1           See Section 4.4
            BGP4MP_ENTRY             2           See Section 4.4
            BGP4MP_SNAPSHOT          3           See Section 4.4
            BGP4MP_MESSAGE_AS4       4           See Section 4.4
            BGP4MP_STATE_CHANGE_AS4  5           See Section 4.4
            BGP4MP_MESSAGE_LOCAL     6           See Section 4.4
            BGP4MP_MESSAGE_AS4_LOCAL 7           See Section 4.4
        
            Name                     Value       Definition
            ----                     -----       ----------
            BGP4MP_STATE_CHANGE      0           See Section 4.4
            BGP4MP_MESSAGE           1           See Section 4.4
            BGP4MP_ENTRY             2           See Section 4.4
            BGP4MP_SNAPSHOT          3           See Section 4.4
            BGP4MP_MESSAGE_AS4       4           See Section 4.4
            BGP4MP_STATE_CHANGE_AS4  5           See Section 4.4
            BGP4MP_MESSAGE_LOCAL     6           See Section 4.4
            BGP4MP_MESSAGE_AS4_LOCAL 7           See Section 4.4
        
6. Security Considerations
6. 安全考虑

The MRT Format utilizes a structure that can store routing protocol information data. The fields defined in the MRT specification are of a descriptive nature and provide information that is useful to facilitate the analysis of routing data. As such, the fields currently defined in the MRT specification do not in themselves create additional security risks, since the fields are not used to induce any particular behavior by the recipient application.

MRT格式利用一种可以存储路由协议信息数据的结构。MRT规范中定义的字段具有描述性,并提供有助于分析路线数据的信息。因此,MRT规范中当前定义的字段本身不会产生额外的安全风险,因为这些字段不用于诱导接收方应用程序的任何特定行为。

Some information contained in an MRT data structure might be considered sensitive or private. For example, a BGP peer that sends a message to an MRT-enabled router might not expect that message to be shared beyond the AS to which it is sent.

MRT数据结构中包含的某些信息可能被视为敏感信息或私有信息。例如,向启用MRT的路由器发送消息的BGP对等方可能不希望该消息在发送到的AS之外共享。

Information that could be considered sensitive includes BGP peer IP addresses, BGP Next Hop IP addresses, and BGP Path Attributes. Such information could be useful to mount attacks against the BGP protocol and routing infrastructure. RFC 4272 [RFC4272] examines a number of weaknesses in the BGP protocol that could potentially be exploited.

可能被视为敏感的信息包括BGP对等IP地址、BGP下一跳IP地址和BGP路径属性。这些信息有助于对BGP协议和路由基础设施发起攻击。RFC 4272[RFC4272]检查了BGP协议中可能被利用的一些弱点。

An organization that intends to use the MRT structure to export routing information beyond the domain where it is normally accessible (e.g., publishing MRT dumps for use by researchers) should verify with any peers whose information might be included, and possibly remove sensitive fields.

打算使用MRT结构将路由信息导出到通常可访问的域之外的组织(例如,发布MRT转储以供研究人员使用)应与可能包含其信息的任何同行核实,并可能删除敏感字段。

The proposed geolocation extension to MRT could reveal the location of an MRT router's peers [GEOMRT].

拟议的MRT地理定位扩展可以揭示MRT路由器对等点的位置[GEOMRT]。

7. References
7. 工具书类
7.1. Normative References
7.1. 规范性引用文件

[IANA-AF] IANA, "Address Family Numbers", <http://www.iana.org/numbers.html>.

[IANA-AF]IANA,“地址系列编号”<http://www.iana.org/numbers.html>.

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

[RFC0791]Postel,J.,“互联网协议”,STD 5,RFC 7911981年9月。

[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990.

[RFC1195]Callon,R.,“OSI IS-IS在TCP/IP和双环境中的路由使用”,RFC 11951990年12月。

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

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

[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.

[RFC2328]Moy,J.,“OSPF版本2”,STD 54,RFC 2328,1998年4月。

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

[RFC2460]Deering,S.和R.Hinden,“互联网协议,第6版(IPv6)规范”,RFC 2460,1998年12月。

[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.

[RFC3629]Yergeau,F.,“UTF-8,ISO 10646的转换格式”,STD 63,RFC 3629,2003年11月。

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

[RFC4271]Rekhter,Y.,Li,T.,和S.Hares,“边境网关协议4(BGP-4)”,RFC 42712006年1月。

[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007.

[RFC4760]Bates,T.,Chandra,R.,Katz,D.,和Y.Rekhter,“BGP-4的多协议扩展”,RFC 4760,2007年1月。

[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.

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

[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, July 2008.

[RFC5340]Coltun,R.,Ferguson,D.,Moy,J.,和A.Lindem,“IPv6的OSPF”,RFC 53402008年7月。

7.2. Informative References
7.2. 资料性引用

[GEOMRT] Manderson, T., "Multi-Threaded Routing Toolkit (MRT) Border Gateway Protocol (BGP) Routing Information Export Format with Geo-Location Extensions", RFC 6397, October 2011.

[GEOMRT]Manderson,T.,“带地理位置扩展的多线程路由工具包(MRT)边界网关协议(BGP)路由信息导出格式”,RFC 63972011年10月。

[MRT_PROG_GUIDE] Labovitz, C., "MRT Programmer's Guide", November 1999, <http://www.merit.edu/ networkresearch/mrtprogrammer.pdf>.

[MRT_程序指南]拉博维茨,C.,“MRT程序员指南”,1999年11月<http://www.merit.edu/ networkresearch/mrtprogrammer.pdf>。

[POSIX] Institute of Electrical and Electronics Engineers, "P1003.1, Information Technology Portable Operating System Interface (POSIX) Part 1: System Application Program Interface (API) [C Language], 1990.", IEEE Standard P1003.1.

[POSIX]电气和电子工程师协会,“P1003.1,信息技术便携式操作系统接口(POSIX)第1部分:系统应用程序接口(API)[C语言],1990年”,IEEE标准P1003.1。

[RFC2080] Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080, January 1997.

[RFC2080]Malkin,G.和R.Minnear,“IPv6的RIPng”,RFC20801997年1月。

[RFC2453] Malkin, G., "RIP Version 2", STD 56, RFC 2453, November 1998.

[RFC2453]Malkin,G.,“RIP版本2”,STD 56,RFC 2453,1998年11月。

[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 4272, January 2006.

[RFC4272]Murphy,S.,“BGP安全漏洞分析”,RFC 4272,2006年1月。

Appendix A. MRT Encoding Examples
附录A.捷运编码示例

This appendix, which is not normative, contains MRT encoding examples.

本附录不规范,包含MRT编码示例。

The following example shows the encoding for an MRT record type of BGP4MP and subtype BGP4MP_MESSAGE_AS4. The Peer AS and Local AS numbers are encoded in 4-byte fields due to the use of the BGP4MP_MESSAGE_AS4 subtype. The encoded BGP Update is shown in hexadecimal. The AS numbers in the ASPATH in the BGP Update are encoded as 4-byte values in accord with the MRT BGP4MP_MESSAGE_AS4 subtype.

以下示例显示了MRT记录类型BGP4MP和子类型BGP4MP_MESSAGE_AS4的编码。由于使用了BGP4MP_MESSAGE_AS4子类型,对等AS和本地AS编号在4字节字段中编码。编码的BGP更新以十六进制显示。BGP更新中ASPATH中的AS编号按照MRT BGP4MP_消息_AS4子类型编码为4字节值。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Timestamp = 1300475700 epoch sec (2011-03-18 19:15:00)     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Type = 16            |         Subtype = 4           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Length = 82                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer AS = 64496                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Local AS = 64497                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Interface Index = 0       |     Address Family  = 1       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                Peer IP Address = 192.0.2.85                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               Local IP Address = 198.51.100.4                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  BGP Update =
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Timestamp = 1300475700 epoch sec (2011-03-18 19:15:00)     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Type = 16            |         Subtype = 4           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Length = 82                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer AS = 64496                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Local AS = 64497                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Interface Index = 0       |     Address Family  = 1       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                Peer IP Address = 192.0.2.85                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               Local IP Address = 198.51.100.4                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  BGP Update =
        

ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 3e 02 00 00 00 1f 40 01 01 02 40 02 0e 02 03 00 00 fb f0 00 00 fb ff 00 00 fb f6 40 03 04 c6 33 64 55 c0 08 04 fb f0 00 0e 18 cb 00 71

ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 3e 02 00 00 1f 40 01 01 02 40 02 0e 02 03 00 fb f0 00 fb 00 fb f6 40 03 04 c6 33 64 55 c0 08 04 fb f0 00 E 18 cb 00 71

Figure 16: MRT BGP4MP_MESSAGE_AS4 Example

图16:MRT BGP4MP_消息_AS4示例

The contents of the BGP Update Message above are as follows:

上述BGP更新消息的内容如下:

     ORIGIN: INCOMPLETE
     ASPATH: 64496 64511 64502
     NEXT_HOP: 198.51.100.188
     COMMUNITY: 64496:14
     NLRI: 203.0.113.0/24
        
     ORIGIN: INCOMPLETE
     ASPATH: 64496 64511 64502
     NEXT_HOP: 198.51.100.188
     COMMUNITY: 64496:14
     NLRI: 203.0.113.0/24
        

Figure 17: BGP Message Contents

图17:BGP消息内容

The following example displays the encoding for an MRT record type of TABLE_DUMP_V2 and subtype PEER_INDEX_TABLE. The table in this example contains 2 entries.

下面的示例显示了MRT记录类型为TABLE_DUMP_V2和subtype PEER_INDEX_TABLE的编码。本例中的表包含2个条目。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Timestamp = 1300475700 epoch sec (2011-03-18 19:15:00)     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Type = 13            |         Subtype = 1           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Length = 34                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               Collector BGP ID = 198.51.100.4                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     View Name Length = 0      |       Peer Count = 2          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Peer Type = 2  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   Peer BGP ID  = 198.51.100.5                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Peer IP Address = 198.51.100.5                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer AS = 65541                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Peer Type = 2  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   Peer BGP ID  = 192.0.2.33                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Peer IP Address = 192.0.2.33                  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer AS = 65542                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Timestamp = 1300475700 epoch sec (2011-03-18 19:15:00)     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Type = 13            |         Subtype = 1           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Length = 34                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               Collector BGP ID = 198.51.100.4                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     View Name Length = 0      |       Peer Count = 2          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Peer Type = 2  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   Peer BGP ID  = 198.51.100.5                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Peer IP Address = 198.51.100.5                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer AS = 65541                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Peer Type = 2  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   Peer BGP ID  = 192.0.2.33                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Peer IP Address = 192.0.2.33                  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer AS = 65542                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 18: MRT PEER_INDEX_TABLE Example

图18:MRT对等索引表示例

The following example displays the encoding for an MRT record type of TABLE_DUMP_V2 and subtype RIB_IPV6_UNICAST. This entry applies to the NLRI prefix of 2001:0DB8::/32. There is a single entry for this prefix. The entry applies to the peer identified by index location 15 in a preceding MRT PEER_INDEX_TABLE record.

下面的示例显示了MRT记录类型为TABLE_DUMP_V2和子类型为RIB_IPV6_UNICAST的编码。此条目适用于NLRI前缀2001:0DB8::/32。此前缀只有一个条目。该条目适用于在前面的MRT peer_index_表记录中由索引位置15标识的对等方。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Timestamp = 1300475700 epoch sec (2011-03-18 19:15:00)     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Type = 13            |         Subtype = 4           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Length = 87                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Sequence Number = 42                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Preflen = 32  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Prefix  =  2001:0DB8::/32                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Entry Count = 1            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Peer Index =  15           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |Originated Time = 1300475700 epoch sec (2011-03-18 19:15:00)   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Attribute Length  =  68     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   BGP Path Attributes =
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Timestamp = 1300475700 epoch sec (2011-03-18 19:15:00)     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Type = 13            |         Subtype = 4           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           Length = 87                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Sequence Number = 42                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Preflen = 32  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 Prefix  =  2001:0DB8::/32                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Entry Count = 1            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Peer Index =  15           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |Originated Time = 1300475700 epoch sec (2011-03-18 19:15:00)   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Attribute Length  =  68     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   BGP Path Attributes =
        

40 01 01 00 50 02 00 0e 02 03 00 00 fb f0 00 00 fb ff 00 00 fb f6 80 0e 2b 00 02 01 20 20 01 0d b8 00 0d 00 ff 00 00 00 00 00 00 01 87 fe 80 00 00 00 00 00 00 02 12 f2 ff fe 9f 1b 00 00 00 20 20 01 0d b8

40 01 01 00 50 02 00 0e 02 03 00 fb f0 00 fb ff 00 fb f6 80 0e 2b 00 02 01 20 01 0d b8 00 0d 00 ff 00 00 00 01 87 fe 80 00 00 00 00 02 12 f2 ff fe 9f 1b 00 00 20 01 0d b8

Figure 19: MRT RIB_IPV6_UNICAST Example

图19:MRT RIB_IPV6_单播示例

The contents of the BGP Path Attribute field above are as follows:

上述BGP路径属性字段的内容如下:

   ORIGIN: IGP
   ASPATH: 64496 64511 64502
   MP_REACH_NLRI(IPv6 Unicast)
   NEXT_HOP: 2001:db8:d:ff::187
   NEXT_HOP: fe80::212:f2ff:fe9f:1b00
   NLRI: 2001:0DB8::/32
        
   ORIGIN: IGP
   ASPATH: 64496 64511 64502
   MP_REACH_NLRI(IPv6 Unicast)
   NEXT_HOP: 2001:db8:d:ff::187
   NEXT_HOP: fe80::212:f2ff:fe9f:1b00
   NLRI: 2001:0DB8::/32
        

Figure 20: BGP Path Attribute Contents

图20:BGP路径属性内容

Appendix B. Deprecated MRT Types
附录B.弃用的地铁类型

This appendix lists deprecated MRT types. These types are documented for informational purposes.

本附录列出了不推荐的MRT类型。记录这些类型是为了提供信息。

B.1. Deprecated MRT Informational Types
B.1. 不推荐的MRT信息类型

The initial MRT format defined five Informational Type records. These records were intended to signal the state of an MRT data collector and do not contain routing information. These records were intended for use when MRT records were sent over a network to a remote repository store. However, MRT record repository stores have traditionally resided on the same device as the collector, and these Informational Types are not known to be implemented. Further, transport mechanisms for MRT records are considered to be outside the scope of this document.

最初的MRT格式定义了五种信息类型的记录。这些记录旨在显示捷运数据采集器的状态,不包含路线信息。这些记录旨在通过网络将MRT记录发送到远程存储库时使用。然而,传统上,MRT记录存储库存储与收集器位于同一设备上,并且这些信息类型尚未实现。此外,MRT记录的传输机制不在本文件范围内。

The Message field MAY contain an OPTIONAL string for diagnostic purposes. The message string encoding MUST follow the UTF-8 transformation format [RFC3629]. The Subtype field is unused for these Types and SHOULD be set to 0.

消息字段可能包含用于诊断目的的可选字符串。消息字符串编码必须遵循UTF-8转换格式[RFC3629]。对于这些类型,“子类型”字段未使用,应设置为0。

The MRT Informational Types are defined below:

MRT信息类型定义如下:

0 NULL 1 START 2 DIE 3 I_AM_DEAD 4 PEER_DOWN

0零1开始2死亡3我死了4对等体倒下

B.1.1. NULL Type
B.1.1. 空类型

The NULL Type message causes no operation.

空类型消息不会导致任何操作。

B.1.2. START Type
B.1.2. 起始类型

The START Type indicates that a collector is about to begin generating MRT records.

开始类型表示收集器即将开始生成MRT记录。

B.1.3. DIE Type
B.1.3. 模具类型

The DIE Type signals a remote MRT repository that it SHOULD stop accepting messages.

模具类型向远程MRT存储库发出信号,表示它应该停止接受消息。

B.1.4. I_AM_DEAD Type
B.1.4. 我是死型

An I_AM_DEAD MRT record indicates that a collector has shut down and has stopped generating MRT records.

I_AM_DEAD MRT记录表示收集器已关闭并停止生成MRT记录。

B.1.5. PEER_DOWN Type
B.1.5. 对等向下型

The PEER_DOWN message was intended to indicate that a collector had lost association with a BGP peer. However, the MRT format provides BGP state change message types that duplicate this functionality.

PEER_DOWN消息旨在指示收集器已失去与BGP对等机的关联。但是,MRT格式提供了与此功能重复的BGP状态更改消息类型。

B.2. Other Deprecated MRT Types
B.2. 其他弃用的地铁类型

5 BGP 6 RIP 7 IDRP 8 RIPNG 9 BGP4PLUS 10 BGP4PLUS_01

5 BGP 6第7页IDRP 8第9页BGP4+10页BGP4+01

B.2.1. BGP Type
B.2.1. BGP型

The BGP Type indicates that the Message field contains BGP routing information. The BGP routing protocol is defined in RFC 4271 [RFC4271]. The information in the message is dependent on the Subtype value. The BGP Type and all associated Subtypes below are considered to be deprecated by the BGP4MP Type.

BGP类型表示消息字段包含BGP路由信息。BGP路由协议在RFC 4271[RFC4271]中定义。消息中的信息取决于子类型值。BGP类型和下面所有关联的子类型被认为是不推荐使用的BGP4MP类型。

The following BGP Subtypes are defined for the MRT BGP Type. As with the BGP Type itself, they are all considered to be deprecated.

为MRT BGP类型定义了以下BGP子类型。与BGP类型本身一样,它们都被认为是不推荐使用的。

0 BGP_NULL 1 BGP_UPDATE 2 BGP_PREF_UPDATE 3 BGP_STATE_CHANGE 4 BGP_SYNC 5 BGP_OPEN 6 BGP_NOTIFY 7 BGP_KEEPALIVE

0 BGP_NULL 1 BGP_更新2 BGP_PREF_更新3 BGP_状态更改4 BGP_同步5 BGP_打开6 BGP_通知7 BGP_保留

B.2.1.1. BGP_NULL Subtype
B.2.1.1. BGP_空子类型

The BGP_NULL Subtype is a reserved Subtype.

BGP_NULL子类型是保留子类型。

B.2.1.2. BGP_UPDATE Subtype
B.2.1.2. BGP_更新子类型

The BGP_UPDATE Subtype is used to encode BGP UPDATE messages. The format of the MRT Message field for this subtype is as follows:

BGP_更新子类型用于对BGP更新消息进行编码。此子类型的MRT消息字段格式如下:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer IP Address                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Local IP Address                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP UPDATE Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer IP Address                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Local IP Address                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP UPDATE Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 21: BGP_UPDATE Subtype

图21:BGP_更新子类型

The BGP UPDATE Contents include the entire BGP UPDATE message, which follows the BGP Message Header. The BGP Message Header itself is not included. The Peer AS Number and IP Address fields contain the AS number and IP address of the remote system that is generating the BGP UPDATE messages. The Local AS Number and IP Address fields contain the AS number and IP address of the local collector system that is archiving the messages.

BGP更新内容包括BGP消息头之后的整个BGP更新消息。不包括BGP消息头本身。对等AS编号和IP地址字段包含生成BGP更新消息的远程系统的AS编号和IP地址。本地AS编号和IP地址字段包含正在存档消息的本地收集器系统的AS编号和IP地址。

B.2.1.3. BGP_PREF_UPDATE Subtype
B.2.1.3. BGP_PREF_更新子类型

The BGP_PREF_UPDATE Subtype is not defined.

未定义BGP_PREF_更新子类型。

B.2.1.4. BGP_STATE_CHANGE Subtype
B.2.1.4. BGP_状态_更改子类型

The BGP_STATE_CHANGE Subtype is used to reflect changes in the BGP finite state machine. These FSM states are defined in RFC 4271 [RFC4271], Section 8.2.2. Both the Old State value and the New State value are encoded as 2-octet numbers. The state values are defined numerically as follows:

BGP_STATE_CHANGE子类型用于反映BGP有限状态机中的更改。这些FSM状态在RFC 4271[RFC4271]第8.2.2节中定义。旧状态值和新状态值都编码为2个八位组数。状态值的数字定义如下:

1 Idle 2 Connect 3 Active 4 OpenSent 5 OpenConfirm 6 Established

1空闲2连接3活动4打开发送5打开确认6建立

The format of the BGP_STATE_CHANGE Subtype MRT Message field is as follows:

BGP_STATE_CHANGE Subtype MRT消息字段的格式如下:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer IP Address                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Old State          |          New State            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Peer IP Address                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Old State          |          New State            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 22: BGP_STATE_CHANGE Subtype

图22:BGP_状态_更改子类型

B.2.1.5. BGP_SYNC Subtype
B.2.1.5. 同步子类型

The BGP_SYNC Subtype was intended to convey a system file name where BGP Table Dump messages MAY be recorded. The View Number was to correspond to the View Number provided in the TABLE_DUMP Type records. There are no known implementations of this subtype, and it SHOULD be ignored. The following format applies to this subtype:

BGP_SYNC子类型旨在传递一个系统文件名,其中可以记录BGP表转储消息。视图编号与表\u转储类型记录中提供的视图编号相对应。此子类型没有已知的实现,应该忽略它。以下格式适用于此子类型:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        View Number            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            File Name... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        View Number            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            File Name... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 23: BGP_SYNC Subtype

图23:BGP_同步子类型

The File Name is terminated with a NULL (0) character.

文件名以空(0)字符结尾。

B.2.1.6. BGP_OPEN Subtype
B.2.1.6. BGP_开放亚型

The BGP_OPEN Subtype is used to encode BGP OPEN messages. The format of the MRT Message field for this subtype is the same as the BGP_UPDATE; however, the last field contains the contents of the BGP OPEN message.

BGP_OPEN子类型用于对BGP OPEN消息进行编码。此子类型的MRT消息字段的格式与BGP_更新相同;但是,最后一个字段包含BGP OPEN消息的内容。

B.2.1.7. BGP_NOTIFY Subtype
B.2.1.7. BGP_通知子类型

The BGP_NOTIFY Subtype is used to encode BGP NOTIFICATION messages. The format of the MRT Message field for this subtype is the same as the BGP_UPDATE; however, the last field contains the contents of the BGP NOTIFICATION message.

BGP_NOTIFY子类型用于对BGP通知消息进行编码。此子类型的MRT消息字段的格式与BGP_更新相同;但是,最后一个字段包含BGP通知消息的内容。

B.2.1.8. BGP_KEEPALIVE Subtype
B.2.1.8. BGP_KEEPALIVE亚型

The BGP_KEEPALIVE Subtype is used to encode BGP KEEPALIVE messages. The format of the MRT Message field for this subtype is the same as the BGP_UPDATE; however, the last field contains no information.

BGP_KEEPALIVE子类型用于对BGP KEEPALIVE消息进行编码。此子类型的MRT消息字段的格式与BGP_更新相同;但是,最后一个字段不包含任何信息。

B.2.2. RIP Type
B.2.2. 裂口型

The RIP Type is used to export RIP packets as defined in RFC 2453 [RFC2453]. The Subtype field is currently reserved for this type and SHOULD be set to 0.

RIP类型用于导出RFC 2453[RFC2453]中定义的RIP数据包。子类型字段当前为该类型保留,应设置为0。

The format of the MRT Message field for the RIP Type is as follows:

RIP类型的MRT消息字段格式如下:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer IP Address                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local IP Address                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    RIP Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Peer IP Address                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Local IP Address                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    RIP Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 24: RIP Type

图24:裂缝类型

B.2.3. IDRP Type
B.2.3. IDRP型

The IDRP Type was intended to be used to export Inter-Domain Routing Protocol (IDRP) information as defined in the ISO/IEC 10747 standard. However, this type has seen no known use, and there are no details on protocol encoding for this type.

IDRP类型用于导出ISO/IEC 10747标准中定义的域间路由协议(IDRP)信息。但是,这种类型没有已知的用途,并且没有关于这种类型的协议编码的详细信息。

B.2.4. RIPNG Type
B.2.4. RIPNG型

The RIPNG Type is used to export RIPNG protocol packets as defined in RFC 2080 [RFC2080]. The RIPNG protocol updates the RIP protocol to support IPv6. The Subtype field is currently reserved for this type and SHOULD be set to 0.

RIPNG类型用于导出RFC 2080[RFC2080]中定义的RIPNG协议包。RIPNG协议更新RIP协议以支持IPv6。子类型字段当前为该类型保留,应设置为0。

The format of the MRT Message field for the RIPNG Type is as follows:

RIPNG类型的MRT消息字段格式如下:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                        Peer IPv6 Address                      ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                        Local IPv6 Address                     ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                  RIPNG Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                        Peer IPv6 Address                      ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                        Local IPv6 Address                     ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                  RIPNG Message Contents (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 25: RIPNG Type

图25:RIPNG类型

B.2.5. BGP4PLUS and BGP4PLUS_01 Types
B.2.5. BGP4PLUS和BGP4PLUS_01类型

The BGP4PLUS and BGP4PLUS_01 Types were defined to support IPv6 BGP routing information. The BGP4PLUS Type was specified based on the initial Internet-Draft that became RFC 4760, "Multiprotocol Extensions to BGP-4". The BGP4PLUS_01 Type was specified to correspond to the -01 revision of that Internet-Draft. The two Types share the same definitions in terms of their MRT format specifications.

定义了BGP4PLUS和BGP4PLUS_01类型以支持IPv6 BGP路由信息。BGP4PLUS类型是根据最初的互联网草案(成为RFC 4760,“BGP-4的多协议扩展”)指定的。指定的BGP4PLUS_01类型对应于该Internet草案的-01修订版。这两种类型在MRT格式规范方面具有相同的定义。

The Subtype field definitions are shared with the BGP Type; however, the address fields in the BGP_UPDATE, BGP_OPEN, BGP_NOTIFY, BGP_KEEPALIVE, and BGP_STATE_CHANGE Subtype records are extended to 16 octets for IPv6 addresses. As with the BGP Type, the BGP4PLUS and BGP4PLUS_01 Types are deprecated as they were superseded by the BGP4MP Type.

子类型字段定义与BGP类型共享;但是,对于IPv6地址,BGP_更新、BGP_打开、BGP_通知、BGP_KEEPALIVE和BGP_状态_更改子类型记录中的地址字段扩展为16个八位字节。与BGP类型一样,不推荐使用BGP4PLUS和BGP4PLUS_01类型,因为它们已被BGP4MP类型取代。

B.2.6. Deprecated BGP4MP Subtypes
B.2.6. 不推荐的BGP4MP子类型

The following two subtypes of the BGP4MP Type are considered to be deprecated.

以下两种BGP4MP类型的子类型被视为不推荐使用。

2 BGP4MP_ENTRY 3 BGP4MP_SNAPSHOT

2个BGP4MP_条目3个BGP4MP_快照

B.2.6.1. BGP4MP_ENTRY Subtype
B.2.6.1. BGP4MP_条目子类型

This subtype is similar to the TABLE_DUMP Type and is used to record RIB table entries. It was intended to include true multiprotocol support. However, this subtype does not support 4-byte AS numbers and has not been widely implemented.

此子类型类似于表格转储类型,用于记录RIB表格条目。它旨在包括真正的多协议支持。但是,此子类型不支持4字节作为数字,并且尚未广泛实现。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         View Number           |             Status            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Time Last Change                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Address Family         |    SAFI       | Next-Hop-Len  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Next Hop Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Prefix Length  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Address Prefix (variable)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       Attribute Length        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Attribute... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Peer AS Number        |        Local AS Number        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Interface Index        |        Address Family         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Peer IP Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Local IP Address (variable)              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         View Number           |             Status            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Time Last Change                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        Address Family         |    SAFI       | Next-Hop-Len  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Next Hop Address (variable)               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Prefix Length  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Address Prefix (variable)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       Attribute Length        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    BGP Attribute... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 26: BGP4MP_ENTRY Subtype

图26:BGP4MP_条目子类型

B.2.6.2. BGP4MP_SNAPSHOT Subtype
B.2.6.2. BGP4MP_快照子类型

This subtype was intended to convey a system file name where BGP4MP_ENTRY records MAY be recorded. It is similar to the BGP_SYNC Subtype and is deprecated.

此子类型旨在传递一个系统文件名,其中可以记录BGP4MP_条目记录。它与BGP_SYNC子类型类似,不推荐使用。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        View Number            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            File Name... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        View Number            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            File Name... (variable)
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 27: BGP4MP_SNAPSHOT Subtype

图27:BGP4MP_快照子类型

Appendix C. Acknowledgements
附录C.确认书

The initial MRT specification was developed by Craig Labovitz for use in the Multi-thread Routing Toolkit (MRT) project. The BGP4MP Type was introduced in the Zebra routing software project by Kunihiro Ishiguro. The BGP4MP_ET, ISIS, and ISIS_ET Types were defined in the Python Routing Toolkit (PyRT) developed by Richard Mortier while at Sprint Advanced Technology Labs.

最初的MRT规范由Craig Labovitz开发,用于多线程路由工具包(MRT)项目。BGP4MP类型由石黑邦弘在Zebra路由软件项目中引入。BGP4MP_ET、ISIS和ISIS_ET类型是在Sprint高级技术实验室由Richard Mortier开发的Python路由工具包(PyRT)中定义的。

Authors' Addresses

作者地址

Larry Blunk Merit Network

拉里·布伦克价值网络

   EMail: ljb@merit.edu
        
   EMail: ljb@merit.edu
        

Manish Karir Merit Network

曼尼什·卡里尔价值网络

   EMail: mkarir@merit.edu
        
   EMail: mkarir@merit.edu
        

Craig Labovitz Deepfield Networks

克雷格·拉博维茨深场网络公司

   EMail: labovit@deepfield.net
        
   EMail: labovit@deepfield.net