Internet Engineering Task Force (IETF)                      E. Chen, Ed.
Request for Comments: 7606                           Cisco Systems, Inc.
Updates: 1997, 4271, 4360, 4456, 4760,                   J. Scudder, Ed.
         5543, 5701, 6368                               Juniper Networks
Category: Standards Track                                   P. Mohapatra
ISSN: 2070-1721                                         Sproute Networks
                                                                K. Patel
                                                     Cisco Systems, Inc.
                                                             August 2015
        
Internet Engineering Task Force (IETF)                      E. Chen, Ed.
Request for Comments: 7606                           Cisco Systems, Inc.
Updates: 1997, 4271, 4360, 4456, 4760,                   J. Scudder, Ed.
         5543, 5701, 6368                               Juniper Networks
Category: Standards Track                                   P. Mohapatra
ISSN: 2070-1721                                         Sproute Networks
                                                                K. Patel
                                                     Cisco Systems, Inc.
                                                             August 2015
        

Revised Error Handling for BGP UPDATE Messages

修改了BGP更新消息的错误处理

Abstract

摘要

According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session. This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes.

根据基本BGP规范,接收到包含错误属性的更新消息的BGP扬声器需要重置接收到违规属性的会话。这种行为是不可取的,因为会话重置不仅会影响具有违规属性的路由,还会影响会话中交换的其他有效路由。本文档部分修改了更新消息的错误处理,并为定义新属性的文档的作者提供了指南。最后,它修改了许多现有属性的错误处理过程。

This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.

本文档更新了RFCs 1997、4271、4360、4456、4760、5543、5701和6368的错误处理。

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/rfc7606.

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

Copyright Notice

版权公告

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

版权所有(c)2015 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  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   2.  Error-Handling Approaches . . . . . . . . . . . . . . . . . .   5
   3.  Revision to BGP UPDATE Message Error Handling . . . . . . . .   5
   4.  Attribute Length Fields . . . . . . . . . . . . . . . . . . .   7
   5.  Parsing of Network Layer Reachability Information (NLRI)
       Fields  . . . . . . . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  Encoding NLRI . . . . . . . . . . . . . . . . . . . . . .   8
     5.2.  Missing NLRI  . . . . . . . . . . . . . . . . . . . . . .   8
     5.3.  Syntactic Correctness of NLRI Fields  . . . . . . . . . .   9
     5.4.  Typed NLRI  . . . . . . . . . . . . . . . . . . . . . . .   9
   6.  Operational Considerations  . . . . . . . . . . . . . . . . .  10
   7.  Error-Handling Procedures for Existing Attributes . . . . . .  11
     7.1.  ORIGIN  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     7.2.  AS_PATH . . . . . . . . . . . . . . . . . . . . . . . . .  11
     7.3.  NEXT_HOP  . . . . . . . . . . . . . . . . . . . . . . . .  12
     7.4.  MULTI_EXIT_DISC . . . . . . . . . . . . . . . . . . . . .  12
     7.5.  LOCAL_PREF  . . . . . . . . . . . . . . . . . . . . . . .  12
     7.6.  ATOMIC_AGGREGATE  . . . . . . . . . . . . . . . . . . . .  12
     7.7.  AGGREGATOR  . . . . . . . . . . . . . . . . . . . . . . .  13
     7.8.  Community . . . . . . . . . . . . . . . . . . . . . . . .  13
     7.9.  ORIGINATOR_ID . . . . . . . . . . . . . . . . . . . . . .  13
     7.10. CLUSTER_LIST  . . . . . . . . . . . . . . . . . . . . . .  13
     7.11. MP_REACH_NLRI . . . . . . . . . . . . . . . . . . . . . .  14
     7.12. MP_UNREACH_NLRI . . . . . . . . . . . . . . . . . . . . .  14
     7.13. Traffic Engineering Path Attribute  . . . . . . . . . . .  14
     7.14. Extended Community  . . . . . . . . . . . . . . . . . . .  14
     7.15. IPv6 Address Specific BGP Extended Community Attribute  .  15
     7.16. ATTR_SET  . . . . . . . . . . . . . . . . . . . . . . . .  15
   8.  Guidance for Authors of BGP Specifications  . . . . . . . . .  15
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  17
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  17
     10.2.  Informative References . . . . . . . . . . . . . . . . .  18
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19
        
   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   2.  Error-Handling Approaches . . . . . . . . . . . . . . . . . .   5
   3.  Revision to BGP UPDATE Message Error Handling . . . . . . . .   5
   4.  Attribute Length Fields . . . . . . . . . . . . . . . . . . .   7
   5.  Parsing of Network Layer Reachability Information (NLRI)
       Fields  . . . . . . . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  Encoding NLRI . . . . . . . . . . . . . . . . . . . . . .   8
     5.2.  Missing NLRI  . . . . . . . . . . . . . . . . . . . . . .   8
     5.3.  Syntactic Correctness of NLRI Fields  . . . . . . . . . .   9
     5.4.  Typed NLRI  . . . . . . . . . . . . . . . . . . . . . . .   9
   6.  Operational Considerations  . . . . . . . . . . . . . . . . .  10
   7.  Error-Handling Procedures for Existing Attributes . . . . . .  11
     7.1.  ORIGIN  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     7.2.  AS_PATH . . . . . . . . . . . . . . . . . . . . . . . . .  11
     7.3.  NEXT_HOP  . . . . . . . . . . . . . . . . . . . . . . . .  12
     7.4.  MULTI_EXIT_DISC . . . . . . . . . . . . . . . . . . . . .  12
     7.5.  LOCAL_PREF  . . . . . . . . . . . . . . . . . . . . . . .  12
     7.6.  ATOMIC_AGGREGATE  . . . . . . . . . . . . . . . . . . . .  12
     7.7.  AGGREGATOR  . . . . . . . . . . . . . . . . . . . . . . .  13
     7.8.  Community . . . . . . . . . . . . . . . . . . . . . . . .  13
     7.9.  ORIGINATOR_ID . . . . . . . . . . . . . . . . . . . . . .  13
     7.10. CLUSTER_LIST  . . . . . . . . . . . . . . . . . . . . . .  13
     7.11. MP_REACH_NLRI . . . . . . . . . . . . . . . . . . . . . .  14
     7.12. MP_UNREACH_NLRI . . . . . . . . . . . . . . . . . . . . .  14
     7.13. Traffic Engineering Path Attribute  . . . . . . . . . . .  14
     7.14. Extended Community  . . . . . . . . . . . . . . . . . . .  14
     7.15. IPv6 Address Specific BGP Extended Community Attribute  .  15
     7.16. ATTR_SET  . . . . . . . . . . . . . . . . . . . . . . . .  15
   8.  Guidance for Authors of BGP Specifications  . . . . . . . . .  15
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  17
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  17
     10.2.  Informative References . . . . . . . . . . . . . . . . .  18
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19
        
1. Introduction
1. 介绍

According to the base BGP specification [RFC4271], a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset impacts not only routes with the offending attribute but also other valid routes exchanged over the session. In the case of optional transitive attributes, the behavior is especially troublesome and may present a potential security vulnerability. This is because attributes may have been propagated without being checked by intermediate routers that don't recognize the attributes. In effect, the attributes may have been tunneled; when they reach a router that recognizes and checks the attributes, the session that is reset may not be associated with the router that is at fault. To make matters worse, in such cases, although the problematic attributes may have originated with a single update transmitted by a single BGP speaker, by the time they encounter a router that checks them they may have been replicated many times and thus may cause the reset of many peering sessions. Thus, the damage inflicted may be multiplied manyfold.

根据基本BGP规范[RFC4271],接收包含错误属性的更新消息的BGP扬声器需要重置接收到错误属性的会话。这种行为是不可取的,因为会话重置不仅会影响具有违规属性的路由,还会影响会话中交换的其他有效路由。在可选可传递属性的情况下,该行为特别麻烦,并且可能存在潜在的安全漏洞。这是因为属性可能在未经不识别属性的中间路由器检查的情况下传播。实际上,属性可能已被隧道化;当它们到达识别和检查属性的路由器时,重置的会话可能与故障路由器无关。更糟糕的是,在这种情况下,尽管有问题的属性可能源于单个BGP扬声器发送的单个更新,但当它们遇到检查它们的路由器时,它们可能已被复制多次,因此可能导致许多对等会话的重设。因此,造成的伤害可能会成倍增加。

The goal for revising the error handling for UPDATE messages is to minimize the impact on routing by a malformed UPDATE message while maintaining protocol correctness to the extent possible. This can be achieved largely by maintaining the established session and keeping the valid routes exchanged but removing the routes carried in the malformed UPDATE message from the routing system.

修改更新消息的错误处理的目的是在尽可能保持协议正确性的同时,最大限度地减少格式错误的更新消息对路由的影响。这在很大程度上可以通过维护已建立的会话和保持有效路由的交换,但从路由系统中删除格式错误的更新消息中包含的路由来实现。

This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes. Specifically, the error handling procedures of [RFC1997], [RFC4271], [RFC4360], [RFC4456], [RFC4760], [RFC5543], [RFC5701], and [RFC6368] are revised.

本文档部分修改了更新消息的错误处理,并为定义新属性的文档的作者提供了指南。最后,它修改了许多现有属性的错误处理过程。具体而言,修订了[RFC1997]、[RFC4271]、[RFC4360]、[RFC4456]、[RFC4760]、[RFC5543]、[RFC5701]和[RFC6368]的错误处理程序。

1.1. Requirements Language
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 RFC 2119 [RFC2119].

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

2. Error-Handling Approaches
2. 错误处理方法

In this document, we refer to four different approaches to handle errors found in a BGP UPDATE message. They are as follows (listed in order, from the one with the "strongest" action to the one with the "weakest" action):

在本文中,我们将介绍四种不同的方法来处理在BGP更新消息中发现的错误。它们如下(按顺序列出,从“最强”的动作到“最弱”的动作):

o Session reset: This is the approach used throughout the base BGP specification [RFC4271], where a NOTIFICATION is sent and the session terminated.

o 会话重置:这是基本BGP规范[RFC4271]中使用的方法,其中发送通知并终止会话。

o AFI/SAFI disable: Section 7 of [RFC4760] allows a BGP speaker that detects an error in a message for a given AFI/SAFI to optionally "ignore all the subsequent routes with that AFI/SAFI received over that session". We refer to this as "disabling a particular AFI/ SAFI" or "AFI/SAFI disable".

o AFI/SAFI禁用:[RFC4760]第7节允许BGP扬声器检测到给定AFI/SAFI消息中的错误,可以选择“忽略该会话中接收到的AFI/SAFI的所有后续路由”。我们将其称为“禁用特定AFI/SAFI”或“禁用AFI/SAFI”。

o Treat-as-withdraw: In this approach, the UPDATE message containing the path attribute in question MUST be treated as though all contained routes had been withdrawn just as if they had been listed in the WITHDRAWN ROUTES field (or in the MP_UNREACH_NLRI attribute if appropriate) of the UPDATE message, thus causing them to be removed from the Adj-RIB-In according to the procedures of [RFC4271].

o 视为撤回:在这种方法中,包含相关路径属性的更新消息必须视为所有包含的路由都已撤回,就像它们已列在更新消息的撤回路由字段(或MP_UNREACH_NLRI属性(如果适用))中一样,从而根据[RFC4271]中的程序将其从调整肋中移除。

o Attribute discard: In this approach, the malformed attribute MUST be discarded and the UPDATE message continues to be processed. This approach MUST NOT be used except in the case of an attribute that has no effect on route selection or installation.

o 属性丢弃:在这种方法中,必须丢弃格式错误的属性,并继续处理更新消息。除非属性对路由选择或安装没有影响,否则不得使用此方法。

3. Revision to BGP UPDATE Message Error Handling
3. 对BGP更新消息错误处理的修订

This specification amends Section 6.3 of [RFC4271] in a number of ways. See Section 7 for treatment of specific path attributes.

本规范以多种方式修订了[RFC4271]第6.3节。有关特定路径属性的处理,请参见第7节。

a. The first paragraph is revised as follows:

a. 第一段修改如下:

Old Text:

旧文本:

All errors detected while processing the UPDATE message MUST be indicated by sending the NOTIFICATION message with the Error Code UPDATE Message Error. The error subcode elaborates on the specific nature of the error.

处理更新消息时检测到的所有错误都必须通过发送带有错误代码UPDATE message Error的通知消息来指示。错误子代码详细说明了错误的具体性质。

New Text:

新案文:

An error detected while processing the UPDATE message for which a session reset is specified MUST be indicated by sending the NOTIFICATION message with the Error Code UPDATE Message Error. The error subcode elaborates on the specific nature of the error.

处理指定会话重置的更新消息时检测到的错误必须通过发送带有错误代码UPDATE message error的通知消息来指示。错误子代码详细说明了错误的具体性质。

b. Error handling for the following case remains unchanged:

b. 以下情况的错误处理保持不变:

If the Withdrawn Routes Length or Total Attribute Length is too large (i.e., if Withdrawn Routes Length + Total Attribute Length + 23 exceeds the message Length), then the Error Subcode MUST be set to Malformed Attribute List.

如果撤回的路由长度或总属性长度太大(即,如果撤回的路由长度+总属性长度+23超过消息长度),则必须将错误子代码设置为格式错误的属性列表。

c. Attribute Flag error handling is revised as follows:

c. 属性标志错误处理修改如下:

Old Text:

旧文本:

If any recognized attribute has Attribute Flags that conflict with the Attribute Type Code, then the Error Subcode MUST be set to Attribute Flags Error. The Data field MUST contain the erroneous attribute (type, length, and value).

如果任何已识别的属性具有与属性类型代码冲突的属性标志,则必须将错误子代码设置为属性标志错误。数据字段必须包含错误的属性(类型、长度和值)。

New Text:

新案文:

If the value of either the Optional or Transitive bits in the Attribute Flags is in conflict with their specified values, then the attribute MUST be treated as malformed and the "treat-as-withdraw" approach used, unless the specification for the attribute mandates different handling for incorrect Attribute Flags.

如果属性标志中的可选位或可传递位的值与其指定值冲突,则必须将该属性视为格式错误,并使用“视为撤消”方法,除非该属性的规范要求对不正确的属性标志进行不同的处理。

d. If any of the well-known mandatory attributes are not present in an UPDATE message, then "treat-as-withdraw" MUST be used. (Note that [RFC4760] reclassifies NEXT_HOP as what is effectively discretionary.)

d. 如果更新消息中不存在任何已知的强制属性,则必须使用“视为撤回”。(请注意,[RFC4760]将下一跳重新分类为有效的自由裁量。)

e. "Treat-as-withdraw" MUST be used for the cases that specify a session reset and involve any of the attributes ORIGIN, AS_PATH, NEXT_HOP, MULTI_EXIT_DISC, or LOCAL_PREF.

e. “视为撤回”必须用于指定会话重置并涉及任何属性原点的情况,如路径、下一跳、多退出光盘或本地PREF。

f. "Attribute discard" MUST be used for any of the cases that specify a session reset and involve ATOMIC_AGGREGATE or AGGREGATOR.

f. “Attribute discard”必须用于指定会话重置并涉及原子聚合器或聚合器的任何情况。

g. If the MP_REACH_NLRI attribute or the MP_UNREACH_NLRI [RFC4760] attribute appears more than once in the UPDATE message, then a NOTIFICATION message MUST be sent with the Error Subcode "Malformed Attribute List". If any other attribute (whether recognized or unrecognized) appears more than once in an UPDATE message, then all the occurrences of the attribute other than the first one SHALL be discarded and the UPDATE message will continue to be processed.

g. 如果MP_REACH_NLRI属性或MP_UNREACH_NLRI[RFC4760]属性在更新消息中出现多次,则必须发送带有错误子代码“格式错误的属性列表”的通知消息。如果任何其他属性(无论是否已识别)在更新消息中出现多次,则应丢弃除第一个属性以外的所有属性,并继续处理更新消息。

h. When multiple attribute errors exist in an UPDATE message, if the same approach (as described in Section 2) is specified for the handling of these malformed attributes, then the specified approach MUST be used. Otherwise, the approach with the strongest action MUST be used.

h. 当更新消息中存在多个属性错误时,如果为处理这些格式错误的属性指定了相同的方法(如第2节所述),则必须使用指定的方法。否则,必须采用行动最有力的方法。

i. The Withdrawn Routes field MUST be checked for syntactic correctness in the same manner as the NLRI field. This is discussed further below and in Section 5.3.

i. 必须以与NLRI字段相同的方式检查撤回的路由字段的语法正确性。这将在下文和第5.3节中进一步讨论。

j. Finally, we observe that in order to use the approach of "treat-as-withdraw", the entire NLRI field and/or the MP_REACH_NLRI and MP_UNREACH_NLRI attributes need to be successfully parsed -- what this entails is discussed in more detail in Section 5. If this is not possible, the procedures of [RFC4271] and/or [RFC4760] continue to apply, meaning that the "session reset" approach (or the "AFI/SAFI disable" approach) MUST be followed.

j. 最后,我们观察到,为了使用“视为撤回”的方法,需要成功解析整个NLRI字段和/或MP_REACH_NLRI和MP_UNREACH_NLRI属性——第5节将对此进行更详细的讨论。如果不可能,则[RFC4271]和/或[RFC4760]中的程序继续适用,这意味着必须遵循“会话重置”方法(或“AFI/SAFI禁用”方法)。

4. Attribute Length Fields
4. 属性长度字段

There are two error cases in which the Total Attribute Length value can be in conflict with the enclosed path attributes, which themselves carry length values:

存在两种错误情况,其中“总属性长度”值可能与包含长度值的路径属性冲突:

o In the first case, the length of the last encountered path attribute would cause the Total Attribute Length to be exceeded when parsing the enclosed path attributes.

o 在第一种情况下,解析封闭的路径属性时,最后遇到的路径属性的长度将导致超过属性总长度。

o In the second case, fewer than three octets remain (or fewer than four octets, if the Attribute Flags field has the Extended Length bit set) when beginning to parse the attribute. That is, this case exists if there remains unconsumed data in the path attributes but yet insufficient data to encode a single minimum-sized path attribute.

o 在第二种情况下,开始解析属性时,保留的八位字节数少于三个(或者少于四个八位字节,如果属性标志字段设置了扩展长度位)。也就是说,如果路径属性中仍有未使用的数据,但数据不足以编码单个最小大小的路径属性,则存在这种情况。

In either of these cases, an error condition exists and the "treat-as-withdraw" approach MUST be used (unless some other, more severe error is encountered dictating a stronger approach), and the Total

在上述任何一种情况下,都存在错误条件,必须使用“视为撤回”方法(除非遇到其他更严重的错误,要求采用更强有力的方法),并且

Attribute Length MUST be relied upon to enable the beginning of the NLRI field to be located.

必须依赖属性长度才能定位NLRI字段的开头。

For all path attributes other than those specified as having an attribute length that may be zero, it SHALL be considered a syntax error for the attribute to have a length of zero. Of the path attributes considered in this specification, only AS_PATH and ATOMIC_AGGREGATE may validly have an attribute length of zero.

对于除指定为属性长度可能为零的路径属性以外的所有路径属性,属性长度为零应视为语法错误。在本规范中考虑的路径属性中,只有当_path和ATOMIC_AGGREGATE可以有效地具有零的属性长度时。

5. Parsing of Network Layer Reachability Information (NLRI) Fields
5. 网络层可达性信息(NLRI)字段的解析
5.1. Encoding NLRI
5.1. 编码NLRI

To facilitate the determination of the NLRI field in an UPDATE message with a malformed attribute:

要方便确定具有错误属性的更新消息中的NLRI字段,请执行以下操作:

o The MP_REACH_NLRI or MP_UNREACH_NLRI attribute (if present) SHALL be encoded as the very first path attribute in an UPDATE message.

o MP_REACH_NLRI或MP_UNREACH_NLRI属性(如果存在)应编码为更新消息中的第一个路径属性。

o An UPDATE message MUST NOT contain more than one of the following: non-empty Withdrawn Routes field, non-empty Network Layer Reachability Information field, MP_REACH_NLRI attribute, and MP_UNREACH_NLRI attribute.

o 更新消息不能包含以下内容中的多个:非空撤回路由字段、非空网络层可达性信息字段、MP_REACH_NLRI属性和MP_UNREACH_NLRI属性。

Since older BGP speakers may not implement these restrictions, an implementation MUST still be prepared to receive these fields in any position or combination.

由于较老的BGP扬声器可能无法实现这些限制,因此必须准备好实现,以便在任何位置或组合中接收这些字段。

If the encoding of [RFC4271] is used, the NLRI field for the IPv4 unicast address family is carried immediately following all the attributes in an UPDATE message. When such an UPDATE message is received, we observe that the NLRI field can be determined using the Message Length, Withdrawn Route Length, and Total Attribute Length (when they are consistent) carried in the message instead of relying on the length of individual attributes in the message.

如果使用[RFC4271]编码,则IPv4单播地址系列的NLRI字段将紧跟在更新消息中的所有属性之后。当接收到这样的更新消息时,我们观察到NLRI字段可以使用消息中携带的消息长度、撤回路由长度和总属性长度(当它们一致时)来确定,而不是依赖于消息中单个属性的长度。

5.2. Missing NLRI
5.2. 失踪的NLRI

[RFC4724] specifies an End-of-RIB message (EoR) that can be encoded as an UPDATE message that contains only a MP_UNREACH_NLRI attribute that encodes no NLRI (it can also be a completely empty UPDATE message in the case of the "legacy" encoding). In all other well-specified cases, an UPDATE message either carries only withdrawn routes (either in the Withdrawn Routes field or the MP_UNREACH_NLRI attribute) or it advertises reachable routes (either in the Network Layer Reachability Information field or the MP_REACH_NLRI attribute).

[RFC4724]指定可编码为更新消息的RIB结束消息(EoR),该消息仅包含不编码NLRI的MP_UNREACH_NLRI属性(在“传统”编码的情况下,它也可以是完全空的更新消息)。在所有其他明确指定的情况下,更新消息要么仅携带撤回的路由(在撤回的路由字段或MP_UNREACH_NLRI属性中),要么播发可到达的路由(在网络层可达性信息字段或MP_REACH_NLRI属性中)。

Thus, if an UPDATE message is encountered that does contain path attributes other than MP_UNREACH_NLRI and doesn't encode any reachable NLRI, we cannot be confident that the NLRI have been successfully parsed as Section 3 (j) requires. For this reason, if any path attribute errors are encountered in such an UPDATE message and if any encountered error specifies an error-handling approach other than "attribute discard", then the "session reset" approach MUST be used.

因此,如果遇到的更新消息确实包含除MP_UNREACH_NLRI之外的路径属性,并且没有对任何可到达的NLRI进行编码,则我们无法确定NLRI是否已按照第3(j)节的要求成功解析。因此,如果在此类更新消息中遇到任何路径属性错误,并且如果遇到的任何错误指定了“属性丢弃”以外的错误处理方法,则必须使用“会话重置”方法。

5.3. Syntactic Correctness of NLRI Fields
5.3. NLRI字段的语法正确性

The NLRI field or Withdrawn Routes field SHALL be considered "syntactically incorrect" if either of the following are true:

如果以下任一项为真,则NLRI字段或撤回路线字段应被视为“语法错误”:

o The length of any of the included NLRI is greater than 32.

o 任何包含的NLRI的长度都大于32。

o When parsing NLRI contained in the field, the length of the last NLRI found exceeds the amount of unconsumed data remaining in the field.

o 分析字段中包含的NLRI时,最后找到的NLRI的长度超过了字段中剩余的未使用数据量。

Similarly, the MP_REACH_NLRI or MP_UNREACH_NLRI attribute of an update SHALL be considered to be incorrect if any of the following are true:

同样,如果以下任何一项为真,则更新的MP_REACH_NLRI或MP_UNREACH_NLRI属性应视为不正确:

o The length of any of the included NLRI is inconsistent with the given AFI/SAFI (for example, if an IPv4 NLRI has a length greater than 32 or an IPv6 NLRI has a length greater than 128).

o 任何包含的NLRI的长度与给定的AFI/SAFI不一致(例如,如果IPv4 NLRI的长度大于32或IPv6 NLRI的长度大于128)。

o When parsing NLRI contained in the attribute, the length of the last NLRI found exceeds the amount of unconsumed data remaining in the attribute.

o 分析属性中包含的NLRI时,最后找到的NLRI的长度超过属性中剩余的未使用数据量。

o The attribute flags of the attribute are inconsistent with those specified in [RFC4760].

o 该属性的属性标志与[RFC4760]中指定的不一致。

o The length of the MP_UNREACH_NLRI attribute is less than 3, or the length of the MP_REACH_NLRI attribute is less than 5.

o MP_UNREACH_NLRI属性的长度小于3,或者MP_REACH_NLRI属性的长度小于5。

5.4. Typed NLRI
5.4. 类型化NLRI

Certain address families, for example, MCAST-VPN [RFC6514], MCAST-VPLS [RFC7117], and EVPN [RFC7432] have NLRI that are typed. Since supported type values within the address family are not expressed in the Multiprotocol BGP (MP-BGP) capability [RFC4760], it is possible for a BGP speaker to advertise support for the given address family and subaddress family while still not supporting a particular type of NLRI within that AFI/SAFI.

某些地址系列,例如MCAST-VPN[RFC6514]、MCAST-VPLS[RFC7117]和EVPN[RFC7432]具有键入的NLRI。由于在多协议BGP(MP-BGP)功能[RFC4760]中未表示地址族中支持的类型值,因此BGP演讲者可以宣传对给定地址族和子地址族的支持,同时仍不支持该AFI/SAFI中特定类型的NLRI。

A BGP speaker advertising support for such a typed address family MUST handle routes with unrecognized NLRI types within that address family by discarding them, unless the relevant specification for that address family specifies otherwise.

除非该地址族的相关规范另有规定,否则为此类类型地址族提供广告支持的BGP扬声器必须通过丢弃该地址族中具有无法识别NLRI类型的路由来处理这些路由。

6. Operational Considerations
6. 业务考虑

Although the "treat-as-withdraw" error-handling behavior defined in Section 2 makes every effort to preserve BGP's correctness, we note that if an UPDATE message received on an Internal BGP (IBGP) session is subjected to this treatment, inconsistent routing within the affected Autonomous System may result. The consequences of inconsistent routing can include long-lived forwarding loops and black holes. While lamentable, this issue is expected to be rare in practice, and, more importantly, is seen as less problematic than the session-reset behavior it replaces.

尽管第2节中定义的“视为撤回”错误处理行为尽一切努力保持BGP的正确性,但我们注意到,如果在内部BGP(IBGP)会话上收到的更新消息受到这种处理,则可能会导致受影响自治系统内的路由不一致。不一致路由的后果可能包括长寿命的转发循环和黑洞。虽然令人遗憾,但这个问题在实践中可能很少出现,更重要的是,它被视为比它所取代的会话重置行为问题更小。

When a malformed attribute is indeed detected over an IBGP session, we recommend that routes with the malformed attribute be identified and traced back to the ingress router in the network where the routes were sourced or received externally and then a filter be applied on the ingress router to prevent the routes from being sourced or received. This will help maintain routing consistency in the network.

当在IBGP会话中确实检测到格式错误的属性时,我们建议识别具有格式错误属性的路由,并将其追溯到网络中的入口路由器,在该网络中路由从外部获取或接收,然后在入口路由器上应用过滤器,以防止路由被获取或接收。这将有助于保持网络中的路由一致性。

Even if inconsistent routing does not arise, the "treat-as-withdraw" behavior can cause either complete unreachability or suboptimal routing for the destinations whose routes are carried in the affected UPDATE message.

即使没有出现不一致的路由,“视为撤回”行为也可能导致受影响的更新消息中包含其路由的目的地完全不可访问或次优路由。

Note that "treat-as-withdraw" is different from discarding an UPDATE message. The latter violates the basic BGP principle of an incremental update and could cause invalid routes to be kept.

请注意,“视为撤回”与丢弃更新消息不同。后者违反了增量更新的基本BGP原则,可能导致保留无效路由。

Because of these potential issues, a BGP speaker must provide debugging facilities to permit issues caused by a malformed attribute to be diagnosed. At a minimum, such facilities must include logging an error listing the NLRI involved and containing the entire malformed UPDATE message when such an attribute is detected. The malformed UPDATE message should be analyzed, and the root cause should be investigated.

由于这些潜在问题,BGP扬声器必须提供调试工具,以便诊断由错误属性引起的问题。至少,此类设施必须包括记录一个错误,列出所涉及的NLRI,并在检测到此类属性时包含整个格式错误的更新消息。应分析格式错误的更新消息,并调查根本原因。

Section 8 mentions that "attribute discard" should not be used in cases where "the attribute in question has or may have an effect on route selection." Although all cases that specify "attribute discard" in this document do not affect route selection by default, in principle, routing policies could be written that affect selection based on such an attribute. Operators should take care when writing

第8节提到,“相关属性对路线选择有影响或可能有影响”的情况下不应使用“属性放弃”。尽管本文件中规定“属性放弃”的所有情况在默认情况下原则上不影响路线选择,可以编写基于此类属性影响选择的路由策略。操作员在书写时应小心

such policies to consider the possible consequences of an attribute discard. In general, as long as such policies are only applied to external BGP sessions, correctness issues are not expected to arise.

这样的策略考虑属性丢弃的可能后果。一般来说,只要这些策略只应用于外部BGP会话,就不会出现正确性问题。

7. Error-Handling Procedures for Existing Attributes
7. 现有属性的错误处理过程

In the following subsections, we elaborate on the conditions for error-checking various path attributes and specify what approach(es) should be used to handle malformations. It is possible that implementations may apply other error checks not contemplated here. If so, the error handling approach given here should generally be applied.

在下面的小节中,我们将详细说明错误检查各种路径属性的条件,并指定应使用何种方法来处理畸形。实现可能会应用此处未考虑的其他错误检查。如果是这样,通常应采用此处给出的错误处理方法。

This section addresses all path attributes that are defined at the time of this writing that were not defined with error handling consistent with Section 8 and that are not marked as "deprecated" in the "BGP Path Attributes" registry [IANA-BGP-ATTRS]. Attributes 17 (AS4_PATH), 18 (AS4_AGGREGATOR), 22 (PMSI_TUNNEL), 23 (Tunnel Encapsulation Attribute), 26 (AIGP), 27 (PE Distinguisher Labels), and 29 (BGP-LS Attribute) do have error handling consistent with Section 8 and thus are not further discussed herein. Attributes 11 (DPA), 12 (ADVERTISER), 13 (RCID_PATH / CLUSTER_ID), 19 (SAFI Specific Attribute), 20 (Connector Attribute), 21 (AS_PATHLIMIT), and 28 (BGP Entropy Label Capability Attribute) are deprecated and thus are not further discussed herein.

本节介绍在撰写本文时定义的所有路径属性,这些路径属性未使用与第8节一致的错误处理进行定义,并且在“BGP路径属性”注册表[IANA-BGP-ATTR]中未标记为“已弃用”。属性17(AS4_路径)、18(AS4_聚合器)、22(PMSI_隧道)、23(隧道封装属性)、26(AIGP)、27(PE区分器标签)和29(BGP-LS属性)具有与第8节一致的错误处理,因此在此不再进一步讨论。属性11(DPA)、12(广告商)、13(RCID_路径/集群_ID)、19(SAFI特定属性)、20(连接器属性)、21(AS_路径限制)和28(BGP熵标签能力属性)不推荐使用,因此在此不再进一步讨论。

7.1. ORIGIN
7.1. 起源

The attribute is considered malformed if its length is not 1 or if it has an undefined value [RFC4271].

如果该属性的长度不是1或具有未定义的值[RFC4271],则认为该属性的格式不正确。

An UPDATE message with a malformed ORIGIN attribute SHALL be handled using the approach of "treat-as-withdraw".

应使用“视为撤回”的方法处理具有格式错误的原始属性的更新消息。

7.2. AS_PATH
7.2. AS_路径

An AS_PATH is considered malformed if an unrecognized segment type is encountered or if it contains a malformed segment. A segment is considered malformed if any of the following are true:

如果遇到无法识别的段类型或包含格式错误的段,则AS_路径被视为格式错误。如果以下任何一项为真,则视为段格式不正确:

o There is an overrun where the Path Segment Length field of the last segment encountered would cause the Attribute Length to be exceeded.

o 存在溢出,其中遇到的最后一个段的路径段长度字段将导致超出属性长度。

o There is an underrun where after the last successfully parsed segment there is only a single octet remaining (that is, there is not enough unconsumed data to provide even an empty segment header).

o 存在一个欠运行,在最后一个成功解析的段之后,只剩下一个八位字节(即,没有足够的未使用数据来提供空的段头)。

o It has a Path Segment Length field of zero.

o 它的路径段长度字段为零。

An UPDATE message with a malformed AS_PATH attribute SHALL be handled using the approach of "treat-as-withdraw".

应使用“视为撤回”的方法处理具有错误AS_路径属性的更新消息。

[RFC4271] also says that an implementation optionally "MAY check whether the leftmost ... AS in the AS_PATH attribute is equal to the autonomous system number of the peer that sent the message". A BGP implementation SHOULD also handle routes that violate this check using "treat-as-withdraw" but MAY follow the "session reset" behavior if configured to do so.

[RFC4271]还指出,一个实现可选地“可以检查AS_PATH属性中最左边的AS……是否等于发送消息的对等方的自治系统号”。BGP实现还应使用“视为撤回”处理违反此检查的路由,但如果配置为这样做,则可能遵循“会话重置”行为。

7.3. NEXT_HOP
7.3. 下一步

The attribute is considered malformed if its length is not 4 [RFC4271].

如果该属性的长度不是4[RFC4271],则认为该属性的格式不正确。

An UPDATE message with a malformed NEXT_HOP attribute SHALL be handled using the approach of "treat-as-withdraw".

应使用“视为撤回”的方法处理具有格式错误的下一跳属性的更新消息。

7.4. MULTI_EXIT_DISC
7.4. 多出口光盘

The attribute is considered malformed if its length is not 4 [RFC4271].

如果该属性的长度不是4[RFC4271],则认为该属性的格式不正确。

An UPDATE message with a malformed MULTI_EXIT_DISC attribute SHALL be handled using the approach of "treat-as-withdraw".

应使用“视为撤回”的方法处理格式不正确的MULTI_EXIT_DISC属性的更新消息。

7.5. LOCAL_PREF
7.5. 本地优先

The error handling of [RFC4271] is revised as follows:

[RFC4271]的错误处理修改如下:

o if the LOCAL_PREF attribute is received from an external neighbor, it SHALL be discarded using the approach of "attribute discard"; or

o 如果本地_PREF属性是从外部邻居接收到的,则应使用“属性丢弃”方法丢弃该属性;或

o if received from an internal neighbor, it SHALL be considered malformed if its length is not equal to 4. If malformed, the UPDATE message SHALL be handled using the approach of "treat-as-withdraw".

o 如果从内部邻居处接收,如果其长度不等于4,则应视为格式不正确。如果格式不正确,则应使用“视为撤回”的方法处理更新消息。

7.6. ATOMIC_AGGREGATE
7.6. 原子聚集体

The attribute SHALL be considered malformed if its length is not 0 [RFC4271].

如果该属性的长度不为0[RFC4271],则该属性应被视为格式不正确。

An UPDATE message with a malformed ATOMIC_AGGREGATE attribute SHALL be handled using the approach of "attribute discard".

应使用“属性丢弃”方法处理具有错误原子_聚合属性的更新消息。

7.7. AGGREGATOR
7.7. 聚合器

The error conditions specified in [RFC4271] for the attribute are revised as follows:

[RFC4271]中为属性指定的错误条件修订如下:

The AGGREGATOR attribute SHALL be considered malformed if any of the following applies:

如果以下任一情况适用,则聚合器属性应视为格式不正确:

o Its length is not 6 (when the 4-octet AS number capability is not advertised to or not received from the peer [RFC6793]).

o 它的长度不是6(当4个八位组作为数字的能力没有向对等方公布或没有从对等方接收[RFC6793])。

o Its length is not 8 (when the 4-octet AS number capability is both advertised to and received from the peer).

o 其长度不是8(当向对等方播发并从对等方接收4-octet AS number功能时)。

An UPDATE message with a malformed AGGREGATOR attribute SHALL be handled using the approach of "attribute discard".

应使用“属性丢弃”方法处理具有错误聚合器属性的更新消息。

7.8. Community
7.8. 社区

The error handling of [RFC1997] is revised as follows:

[RFC1997]的错误处理修改如下:

o The Community attribute SHALL be considered malformed if its length is not a non-zero multiple of 4.

o 如果社区属性的长度不是4的非零倍数,则认为其格式不正确。

o An UPDATE message with a malformed Community attribute SHALL be handled using the approach of "treat-as-withdraw".

o 应使用“视为撤回”的方法处理具有格式错误的社区属性的更新消息。

7.9. ORIGINATOR_ID
7.9. 发起人

The error handling of [RFC4456] is revised as follows:

[RFC4456]的错误处理修改如下:

o if the ORIGINATOR_ID attribute is received from an external neighbor, it SHALL be discarded using the approach of "attribute discard"; or

o 如果发起者_ID属性是从外部邻居接收到的,则应使用“属性丢弃”方法丢弃该属性;或

o if received from an internal neighbor, it SHALL be considered malformed if its length is not equal to 4. If malformed, the UPDATE message SHALL be handled using the approach of "treat-as-withdraw".

o 如果从内部邻居处接收,如果其长度不等于4,则应视为格式不正确。如果格式不正确,则应使用“视为撤回”的方法处理更新消息。

7.10. CLUSTER_LIST
7.10. 群集列表

The error handling of [RFC4456] is revised as follows:

[RFC4456]的错误处理修改如下:

o if the CLUSTER_LIST attribute is received from an external neighbor, it SHALL be discarded using the approach of "attribute discard"; or

o 如果集群列表属性是从外部邻居接收到的,则应使用“属性丢弃”方法丢弃该属性;或

o if received from an internal neighbor, it SHALL be considered malformed if its length is not a non-zero multiple of 4. If malformed, the UPDATE message SHALL be handled using the approach of "treat-as-withdraw".

o 如果从内部邻居处接收,如果其长度不是4的非零倍数,则应视为格式不正确。如果格式不正确,则应使用“视为撤回”的方法处理更新消息。

7.11. MP_REACH_NLRI
7.11. MP_REACH_NLRI

If the Length of Next Hop Network Address field of the MP_REACH attribute is inconsistent with that which was expected, the attribute is considered malformed. Since the next hop precedes the NLRI field in the attribute, in this case it will not be possible to reliably locate the NLRI; thus, the "session reset" or "AFI/SAFI disable" approach MUST be used.

如果MP_REACH属性的下一跳网络地址字段长度与预期长度不一致,则认为该属性格式不正确。由于下一跳位于属性中NLRI字段之前,因此在这种情况下,无法可靠地定位NLRI;因此,必须使用“会话重置”或“AFI/SAFI禁用”方法。

"That which was expected", while somewhat vague, is intended to encompass the next hop specified for the Address Family Identifier and Subsequent Address Family Identifier fields and is potentially modified by any extensions in use. For example, if [RFC5549] is in use, then the next hop would have to have a length of 4 or 16.

“预期的”虽然有些模糊,但旨在包含为地址族标识符和后续地址族标识符字段指定的下一个跃点,并且可能会被使用中的任何扩展修改。例如,如果[RFC5549]正在使用,则下一个跃点的长度必须为4或16。

Sections 3 and 5 provide further discussion of the handling of this attribute.

第3节和第5节进一步讨论了该属性的处理。

7.12. MP_UNREACH_NLRI
7.12. MP_UNREACH_NLRI

Sections 3 and 5 discuss the handling of this attribute.

第3节和第5节讨论此属性的处理。

7.13. Traffic Engineering Path Attribute
7.13. 交通工程路径属性

We note that [RFC5543] does not detail what constitutes "malformation" for the Traffic Engineering path attribute. A future update to that specification may provide more guidance. In the interim, an implementation that determines (for whatever reason) that an UPDATE message contains a malformed Traffic Engineering path attribute MUST handle it using the approach of "treat-as-withdraw".

我们注意到[RFC5543]没有详细说明什么构成流量工程路径属性的“畸形”。该规范的未来更新可能会提供更多指导。在此期间,确定(出于任何原因)更新消息包含格式错误的流量工程路径属性的实现必须使用“视为撤回”的方法来处理它。

7.14. Extended Community
7.14. 扩展社区

The error handling of [RFC4360] is revised as follows:

[RFC4360]的错误处理修改如下:

o The Extended Community attribute SHALL be considered malformed if its length is not a non-zero multiple of 8.

o 如果扩展社区属性的长度不是8的非零倍数,则应将其视为格式错误。

o An UPDATE message with a malformed Extended Community attribute SHALL be handled using the approach of "treat-as-withdraw".

o 具有格式错误的扩展社区属性的更新消息应使用“视为撤回”的方法进行处理。

Note that a BGP speaker MUST NOT treat an unrecognized Extended Community Type or Sub-Type as an error.

请注意,BGP扬声器不得将无法识别的扩展社区类型或子类型视为错误。

7.15. IPv6 Address Specific BGP Extended Community Attribute
7.15. IPv6地址特定的BGP扩展社区属性

The error handling of [RFC5701] is revised as follows:

[RFC5701]的错误处理修改如下:

o The IPv6 Address Specific Extended Community attribute SHALL be considered malformed if its length is not a non-zero multiple of 20.

o 如果IPv6地址特定的扩展社区属性的长度不是20的非零倍数,则应将其视为格式不正确。

o An UPDATE message with a malformed IPv6 Address Specific Extended Community attribute SHALL be handled using the approach of "treat-as-withdraw".

o 应使用“视为撤回”的方法处理具有格式错误的IPv6地址特定扩展社区属性的更新消息。

Note that a BGP speaker MUST NOT treat an unrecognized IPv6 Address Specific Extended Community Type or Sub-Type as an error.

请注意,BGP扬声器不得将无法识别的IPv6地址特定扩展社区类型或子类型视为错误。

7.16. ATTR_SET
7.16. 属性集

The final paragraph of Section 5 of [RFC6368] is revised as follows:

[RFC6368]第5节的最后一段修订如下:

Old Text:

旧文本:

An UPDATE message with a malformed ATTR_SET attribute SHALL be handled as follows. If its Partial flag is set and its Neighbor-Complete flag is clear, the UPDATE message is treated as a route withdraw as discussed in [OPT-TRANS-BGP]. Otherwise (i.e., Partial flag is clear or Neighbor-Complete is set), the procedures of the BGP-4 base specification [RFC4271] MUST be followed with respect to an Optional Attribute Error.

具有格式错误的属性集属性的更新消息应按如下方式处理。如果设置了部分标志且清除了邻居完成标志,则更新消息将被视为路由撤回,如[OPT-TRANS-BGP]中所述。否则(即,清除部分标志或设置邻居完成),必须遵循BGP-4基本规范[RFC4271]中关于可选属性错误的程序。

New Text:

新案文:

An UPDATE message with a malformed ATTR_SET attribute SHALL be handled using the approach of "treat as withdraw".

应使用“视为撤回”的方法处理具有错误ATTR_SET属性的更新消息。

Furthermore, the normative reference to [OPT-TRANS-BGP] in [RFC6368] is removed.

此外,删除了[RFC6368]中对[OPT-TRANS-BGP]的规范性引用。

8. Guidance for Authors of BGP Specifications
8. BGP规范作者指南

A document that specifies a new BGP attribute MUST provide specifics regarding what constitutes an error for that attribute and how that error is to be handled. Allowable error-handling approaches are detailed in Section 2. The "treat-as-withdraw" approach is generally preferred and the "session reset" approach is discouraged. Authors of BGP documents are also reminded to review the discussion of optional transitive attributes in the first paragraph of the

指定新BGP属性的文档必须提供有关该属性的错误构成以及如何处理该错误的详细信息。第2节详细介绍了允许的错误处理方法。通常首选“视为撤回”方法,不鼓励使用“会话重置”方法。此外,还提醒BGP文档的作者回顾本文档第一段中关于可选传递属性的讨论

Introduction of this document. The document SHOULD also provide consideration of what debugging facilities may be required to permit issues caused by a malformed attribute to be diagnosed.

介绍本文件。文档还应考虑可能需要哪些调试工具才能诊断由错误属性引起的问题。

For any malformed attribute that is handled by the "attribute discard" instead of the "treat-as-withdraw" approach, it is critical to consider the potential impact of doing so. In particular, if the attribute in question has or may have an effect on route selection or installation, the presumption is that discarding it is unsafe unless careful analysis proves otherwise. The analysis should take into account the tradeoff between preserving connectivity and potential side effects.

对于由“属性丢弃”处理的任何畸形的属性,而不是“对待撤销”的方法,考虑这样做的潜在影响是至关重要的。特别是,如果所讨论的属性对路线选择或安装有影响或可能有影响,则假定丢弃该属性是不安全的,除非仔细分析另有证明。分析应考虑到保持连通性和潜在副作用之间的权衡。

Authors can refer to Section 7 for examples.

作者可参考第7节了解示例。

9. Security Considerations
9. 安全考虑

This specification addresses the vulnerability of a BGP speaker to a potential attack whereby a distant attacker can generate a malformed optional transitive attribute that is not recognized by intervening routers. Since the intervening routers do not recognize the attribute, they propagate it without checking it. When the malformed attribute arrives at a router that does recognize the given attribute type, that router resets the session over which it arrived. Since significant fan-out can occur between the attacker and the routers that do recognize the attribute type, this attack could potentially be particularly harmful.

此规范解决了BGP扬声器可能受到潜在攻击的漏洞,远程攻击者可通过此漏洞生成格式错误的可选传递属性,而介入路由器无法识别该属性。由于介入路由器不识别属性,因此它们在不检查属性的情况下传播属性。当格式错误的属性到达识别给定属性类型的路由器时,该路由器将重置其到达的会话。由于攻击者和识别属性类型的路由器之间可能会发生严重的扇出,因此此攻击可能特别有害。

The improved error handling of this specification could in theory interact badly with some now-known weaker cryptographic mechanisms should such be used in future to secure BGP. For example, if a (fictional) mechanism that did not supply data integrity was used, an attacker could manipulate ciphertext in any attempt to change or observe how the receiver reacts. Absent this specification, the BGP session would have been terminated; with this specification, the attacker could make potentially many attempts. While such a confidentiality-only mechanism would not be defined today, we have in the past seen mechanism definitions that result in similar, though not as obviously exploitable, vulnerabilities [RFC7366]. The approach recommended today to avoid such issues is to prefer use of Authenticated Encryption with Additional Data (AEAD) ciphers [RFC5116] and thus to discard messages that don't verify.

该规范改进的错误处理在理论上可能会与一些现在已知的较弱的加密机制发生严重的交互,如果将来使用这些机制来保护BGP。例如,如果使用了不提供数据完整性的(虚构的)机制,攻击者可以在任何试图改变或观察接收者反应的尝试中操纵密文。如果没有此规范,BGP会话将被终止;根据此规范,攻击者可能会进行多次尝试。虽然这种仅限保密的机制在今天还没有定义,但我们在过去看到过机制定义会导致类似的漏洞,尽管这些漏洞不太容易被利用[RFC7366]。今天推荐的避免此类问题的方法是更倾向于使用带有附加数据(AEAD)密码的身份验证加密[RFC5116],从而丢弃无法验证的消息。

In other respects, this specification does not change BGP's security characteristics.

在其他方面,本规范不会改变BGP的安全特性。

10. References
10. 工具书类
10.1. Normative References
10.1. 规范性引用文件

[IANA-BGP-ATTRS] IANA, "BGP Path Attributes", <http://www.iana.org/assignments/bgp-parameters>.

[IANA-BGP-ATTR]IANA,“BGP路径属性”<http://www.iana.org/assignments/bgp-parameters>.

[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, <http://www.rfc-editor.org/info/rfc1997>.

[RFC1997]Chandra,R.,Traina,P.,和T.Li,“BGP社区属性”,RFC 1997,DOI 10.17487/RFC1997,1996年8月<http://www.rfc-editor.org/info/rfc1997>.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,DOI 10.17487/RFC2119,1997年3月<http://www.rfc-editor.org/info/rfc2119>.

[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <http://www.rfc-editor.org/info/rfc4271>.

[RFC4271]Rekhter,Y.,Ed.,Li,T.,Ed.,和S.Hares,Ed.,“边境网关协议4(BGP-4)”,RFC 4271,DOI 10.17487/RFC4271,2006年1月<http://www.rfc-editor.org/info/rfc4271>.

[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, February 2006, <http://www.rfc-editor.org/info/rfc4360>.

[RFC4360]Sangli,S.,Tappan,D.和Y.Rekhter,“BGP扩展社区属性”,RFC 4360,DOI 10.17487/RFC4360,2006年2月<http://www.rfc-editor.org/info/rfc4360>.

[RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, <http://www.rfc-editor.org/info/rfc4456>.

[RFC4456]Bates,T.,Chen,E.和R.Chandra,“BGP路由反射:全网格内部BGP(IBGP)的替代方案”,RFC 4456,DOI 10.17487/RFC4456,2006年4月<http://www.rfc-editor.org/info/rfc4456>.

[RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, DOI 10.17487/RFC4724, January 2007, <http://www.rfc-editor.org/info/rfc4724>.

[RFC4724]Sangli,S.,Chen,E.,Fernando,R.,Scudder,J.,和Y.Rekhter,“BGP的优雅重启机制”,RFC 4724,DOI 10.17487/RFC4724,2007年1月<http://www.rfc-editor.org/info/rfc4724>.

[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, DOI 10.17487/RFC4760, January 2007, <http://www.rfc-editor.org/info/rfc4760>.

[RFC4760]Bates,T.,Chandra,R.,Katz,D.,和Y.Rekhter,“BGP-4的多协议扩展”,RFC 4760,DOI 10.17487/RFC4760,2007年1月<http://www.rfc-editor.org/info/rfc4760>.

[RFC5543] Ould-Brahim, H., Fedyk, D., and Y. Rekhter, "BGP Traffic Engineering Attribute", RFC 5543, DOI 10.17487/RFC5543, May 2009, <http://www.rfc-editor.org/info/rfc5543>.

[RFC5543]Ould Brahim,H.,Fedyk,D.,和Y.Rekhter,“BGP交通工程属性”,RFC 5543,DOI 10.17487/RFC5543,2009年5月<http://www.rfc-editor.org/info/rfc5543>.

[RFC5701] Rekhter, Y., "IPv6 Address Specific BGP Extended Community Attribute", RFC 5701, DOI 10.17487/RFC5701, November 2009, <http://www.rfc-editor.org/info/rfc5701>.

[RFC5701]Rekhter,Y,“IPv6地址特定的BGP扩展社区属性”,RFC 5701,DOI 10.17487/RFC5701,2009年11月<http://www.rfc-editor.org/info/rfc5701>.

[RFC6368] Marques, P., Raszuk, R., Patel, K., Kumaki, K., and T. Yamagata, "Internal BGP as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 6368, DOI 10.17487/RFC6368, September 2011, <http://www.rfc-editor.org/info/rfc6368>.

[RFC6368]Marques,P.,Raszuk,R.,Patel,K.,Kumaki,K.,和T.Yamagata,“内部BGP作为BGP/MPLS IP虚拟专用网络(VPN)的提供商/客户边缘协议”,RFC 6368,DOI 10.17487/RFC6368,2011年9月<http://www.rfc-editor.org/info/rfc6368>.

[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10.17487/RFC6793, December 2012, <http://www.rfc-editor.org/info/rfc6793>.

[RFC6793]Vohra,Q.和E.Chen,“BGP对四个八位组自治系统(AS)数字空间的支持”,RFC 6793,DOI 10.17487/RFC6793,2012年12月<http://www.rfc-editor.org/info/rfc6793>.

10.2. Informative References
10.2. 资料性引用

[RFC5116] McGrew, D., "An Interface and Algorithms for Authenticated Encryption", RFC 5116, DOI 10.17487/RFC5116, January 2008, <http://www.rfc-editor.org/info/rfc5116>.

[RFC5116]McGrew,D.“认证加密的接口和算法”,RFC 5116,DOI 10.17487/RFC5116,2008年1月<http://www.rfc-editor.org/info/rfc5116>.

[RFC5549] Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop", RFC 5549, DOI 10.17487/RFC5549, May 2009, <http://www.rfc-editor.org/info/rfc5549>.

[RFC5549]Le Faucheur,F.和E.Rosen,“通过IPv6下一跳发布IPv4网络层可达性信息”,RFC 5549,DOI 10.17487/RFC5549,2009年5月<http://www.rfc-editor.org/info/rfc5549>.

[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012, <http://www.rfc-editor.org/info/rfc6514>.

[RFC6514]Aggarwal,R.,Rosen,E.,Morin,T.,和Y.Rekhter,“MPLS/BGP IP VPN中的BGP编码和多播过程”,RFC 6514,DOI 10.17487/RFC6514,2012年2月<http://www.rfc-editor.org/info/rfc6514>.

[RFC7117] Aggarwal, R., Ed., Kamite, Y., Fang, L., Rekhter, Y., and C. Kodeboniya, "Multicast in Virtual Private LAN Service (VPLS)", RFC 7117, DOI 10.17487/RFC7117, February 2014, <http://www.rfc-editor.org/info/rfc7117>.

[RFC7117]Aggarwal,R.,Ed.,Kamite,Y.,Fang,L.,Rekhter,Y.,和C.Kodeboniya,“虚拟专用局域网服务(VPLS)中的多播”,RFC 7117,DOI 10.17487/RFC71172014年2月<http://www.rfc-editor.org/info/rfc7117>.

[RFC7366] Gutmann, P., "Encrypt-then-MAC for Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", RFC 7366, DOI 10.17487/RFC7366, September 2014, <http://www.rfc-editor.org/info/rfc7366>.

[RFC7366]Gutmann,P.,“为传输层安全性(TLS)和数据报传输层安全性(DTLS)加密MAC”,RFC 7366,DOI 10.17487/RFC7366,2014年9月<http://www.rfc-editor.org/info/rfc7366>.

[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 2015, <http://www.rfc-editor.org/info/rfc7432>.

[RFC7432]Sajassi,A.,Ed.,Aggarwal,R.,Bitar,N.,Isaac,A.,Uttaro,J.,Drake,J.,和W.Henderickx,“基于BGP MPLS的以太网VPN”,RFC 7432,DOI 10.17487/RFC7432,2015年2月<http://www.rfc-editor.org/info/rfc7432>.

Acknowledgements

致谢

The authors wish to thank Juan Alcaide, Deniz Bahadir, Ron Bonica, Mach Chen, Andy Davidson, Bruno Decraene, Stephen Farrell, Rex Fernando, Jeff Haas, Chris Hall, Joel Halpern, Dong Jie, Akira Kato, Miya Kohno, Warren Kumari, Tony Li, Alton Lo, Shin Miyakawa, Tamas Mondal, Jonathan Oddy, Tony Przygienda, Robert Raszuk, Yakov Rekhter, Eric Rosen, Shyam Sethuram, Rob Shakir, Naiming Shen, Adam Simpson, Ananth Suryanarayana, Kaliraj Vairavakkalai, Lili Wang, and Ondrej Zajicek for their observations and discussion of this topic and review of this document.

作者希望感谢胡安·阿尔凯德、丹尼斯·巴哈迪尔、罗恩·博尼卡、马赫·陈、安迪·戴维森、布鲁诺·德雷恩、斯蒂芬·法雷尔、雷克斯·费尔南多、杰夫·哈斯、克里斯·霍尔、乔尔·哈尔彭、东杰、阿基拉·加藤、宫野宫野、沃伦·库马里、托尼·李、阿尔顿·洛、新宫川、塔马斯·蒙达尔、乔纳森·奥迪、托尼·普济吉恩达、罗伯特·拉祖克、雅科夫·雷克特、埃里克·罗森、,Shyam Sethuram、Rob Shakir、Shen Naiming、Adam Simpson、Ananth Suryanarayana、Kaliraj Vairavakkalai、Lili Wang和Ondrej Zajicek对本主题的观察和讨论以及对本文件的审查。

Authors' Addresses

作者地址

Enke Chen (editor) Cisco Systems, Inc.

陈恩科(编辑)思科系统公司。

   Email: enkechen@cisco.com
        
   Email: enkechen@cisco.com
        

John G. Scudder (editor) Juniper Networks

John G.Scudder(编辑)Juniper Networks

   Email: jgs@juniper.net
        
   Email: jgs@juniper.net
        

Pradosh Mohapatra Sproute Networks

Pradosh Mohapatra Sproute网络

   Email: mpradosh@yahoo.com
        
   Email: mpradosh@yahoo.com
        

Keyur Patel Cisco Systems, Inc.

科尤尔·帕特尔·思科系统公司。

   Email: keyupate@cisco.com
        
   Email: keyupate@cisco.com