Internet Engineering Task Force (IETF) D. Katz Request for Comments: 5883 D. Ward Category: Standards Track Juniper Networks ISSN: 2070-1721 June 2010
Internet Engineering Task Force (IETF) D. Katz Request for Comments: 5883 D. Ward Category: Standards Track Juniper Networks ISSN: 2070-1721 June 2010
Bidirectional Forwarding Detection (BFD) for Multihop Paths
多跳路径的双向转发检测(BFD)
Abstract
摘要
This document describes the use of the Bidirectional Forwarding Detection (BFD) protocol over multihop paths, including unidirectional links.
本文档描述了在多跳路径(包括单向链路)上使用双向转发检测(BFD)协议。
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/rfc5883.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc5883.
Copyright Notice
版权公告
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2010 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许可证中所述的无担保。
The Bidirectional Forwarding Detection (BFD) protocol [BFD] defines a method for liveness detection of arbitrary paths between systems. The BFD one-hop specification [BFD-1HOP] describes how to use BFD across single hops of IPv4 and IPv6.
双向转发检测(BFD)协议[BFD]定义了系统间任意路径的活动性检测方法。BFD单跳规范[BFD-1HOP]描述了如何跨IPv4和IPv6的单跳使用BFD。
BFD can also be useful on arbitrary paths between systems, which may span multiple network hops and follow unpredictable paths. Furthermore, a pair of systems may have multiple paths between them that may overlap. This document describes methods for using BFD in such scenarios.
BFD在系统之间的任意路径上也很有用,这些路径可能跨越多个网络跃点并遵循不可预测的路径。此外,一对系统之间可能有多条可能重叠的路径。本文档描述了在此类场景中使用BFD的方法。
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 [KEYWORDS].
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[关键词]中所述进行解释。
Please note that BFD is intended as an Operations, Administration, and Maintenance (OAM) mechanism for connectivity check and connection verification. It is applicable for network-based services (e.g. router-to-router, subscriber-to-gateway, LSP/circuit endpoints, and service appliance failure detection). In these scenarios it is required that the operator correctly provision the rates at which BFD is transmitted to avoid congestion (e.g link, I/O, CPU) and false failure detection. It is not applicable for application-to-application failure detection across the Internet because it does not have sufficient capability to do necessary congestion detection and avoidance and therefore cannot prevent congestion collapse. Host-to-host or application-to-application deployment across the Internet will require the encapsulation of BFD within a transport that provides "TCP-friendly" [TFRC] behavior.
请注意,BFD旨在作为连接检查和连接验证的操作、管理和维护(OAM)机制。它适用于基于网络的服务(例如路由器到路由器、用户到网关、LSP/电路端点和服务设备故障检测)。在这些情况下,要求操作员正确规定BFD的传输速率,以避免拥塞(例如链路、I/O、CPU)和错误故障检测。它不适用于跨Internet的应用程序对应用程序故障检测,因为它没有足够的能力进行必要的拥塞检测和避免,因此无法防止拥塞崩溃。跨Internet的主机到主机或应用程序到应用程序部署将需要在提供“TCP友好”[TFRC]行为的传输中封装BFD。
There are three primary issues in the use of BFD for multihop paths. The first is security and spoofing; [BFD-1HOP] describes a lightweight method of avoiding spoofing by requiring a Time to Live (TTL)/Hop Limit of 255 on both transmit and receive, but this obviously does not work across multiple hops. The utilization of BFD authentication addresses this issue.
在多跳路径中使用BFD有三个主要问题。首先是安全和欺骗;[BFD-1HOP]描述了一种轻量级的避免欺骗的方法,它要求发送和接收的生存时间(TTL)/Hop限制为255,但这显然不适用于多跳。BFD身份验证的使用解决了这个问题。
The second, more subtle, issue is that of demultiplexing multiple BFD sessions between the same pair of systems to the proper BFD session. In particular, the first BFD packet received for a session may carry
第二个更微妙的问题是将同一对系统之间的多个BFD会话解复用到正确的BFD会话。具体地,为会话接收的第一BFD分组可以携带数据
a Your Discriminator value of zero, resulting in ambiguity as to which session the packet should be associated. Once the discriminator values have been exchanged, all further packets are demultiplexed to the proper BFD session solely by the contents of the Your Discriminator field.
a您的鉴别器值为零,导致数据包应关联到哪个会话的不确定性。一旦鉴别器值被交换,所有进一步的数据包将仅通过鉴别器字段的内容被解复用到适当的BFD会话。
[BFD-1HOP] addresses this by requiring that multiple sessions traverse independent physical or logical links -- the first packet is demultiplexed based on the link over which it was received. In the more general case, this scheme cannot work, as two paths over which BFD is running may overlap to an arbitrary degree (including the first and/or last hop).
[BFD-1HOP]通过要求多个会话遍历独立的物理或逻辑链路来解决这一问题——第一个数据包根据接收它的链路进行解复用。在更一般的情况下,该方案无法工作,因为BFD运行的两条路径可能重叠到任意程度(包括第一个和/或最后一个跳)。
Finally, the Echo function MUST NOT be used over multiple hops. Intermediate hops would route the packets back to the sender, and connectivity through the entire path would not be possible to verify.
最后,回音功能不得用于多跳。中间跳数会将数据包路由回发送方,并且无法验证通过整个路径的连接。
There are a number of possibilities for addressing the demultiplexing issue that may be used, depending on the application.
根据应用程序的不同,可以使用多种方法来解决解复用问题。
It may be desired to use BFD for liveness detection over paths for which no part of the route is known (or if known, may not be stable). A straightforward approach to this problem is to limit BFD deployment to a single session between a source/destination address pair. Multiple sessions between the same pair of systems must have at least one endpoint address distinct from one another.
可能需要使用BFD在路径的任何部分都未知(或者如果已知,可能不稳定)的路径上进行活动性检测。解决此问题的一种简单方法是将BFD部署限制为源/目标地址对之间的单个会话。同一对系统之间的多个会话必须至少有一个端点地址彼此不同。
In this scenario, the initial packet is demultiplexed to the appropriate BFD session based on the source/destination address pair when Your Discriminator is set to zero.
在这种情况下,当鉴别器设置为零时,初始数据包将基于源/目标地址对解复用到适当的BFD会话。
This approach is appropriate for general connectivity detection between systems over routed paths and is also useful for OSPF Virtual Links [OSPFv2] [OSPFv3].
这种方法适用于路由路径上系统之间的一般连接检测,也适用于OSPF虚拟链路[OSPFv2][OSPFv3]。
Another approach to the demultiplexing problem is to signal the discriminator values in each direction through an out-of-band mechanism prior to establishing the BFD session. Once learned, the discriminators are sent as usual in the BFD Control packets; no packets with Your Discriminator set to zero are ever sent. This method is used by the BFD MPLS specification [BFD-MPLS].
解复用问题的另一种方法是在建立BFD会话之前,通过带外机制向每个方向的鉴别器值发送信号。一旦读入,鉴别器在BFD控制包中照常发送;您的鉴别器设置为零的数据包永远不会被发送。此方法由BFD MPLS规范[BFD-MPLS]使用。
This approach is advantageous because it allows BFD to be directed by other system components that have knowledge of the paths in use, and from the perspective of BFD implementation it is very simple.
这种方法是有利的,因为它允许BFD由了解所使用路径的其他系统组件指导,并且从BFD实现的角度来看,它非常简单。
The disadvantage is that it requires at least some level of BFD-specific knowledge in parts of the system outside of BFD.
缺点是,它至少需要在BFD之外的系统部分具备一定程度的BFD特定知识。
Unidirectional links are classified as multihop paths because the return path (which should exist at some level in order to make the link useful) may be arbitrary, and the return paths for BFD sessions protecting parallel unidirectional links may overlap or even be identical. (If two unidirectional links, one in each direction, are to carry a single BFD session, this can be done using the single-hop approach.)
单向链路被分类为多跳路径,因为返回路径(应该存在于某个级别以使链路有用)可能是任意的,并且保护并行单向链路的BFD会话的返回路径可能重叠甚至相同。(如果两个单向链路(每个方向一个)要承载一个BFD会话,则可以使用单跳方法来实现。)
Either of the two methods outlined earlier may be used in the unidirectional link case, but a more general solution can be found strictly within BFD and without addressing limitations.
前面概述的两种方法中的任何一种都可以用于单向链路情况,但是可以在BFD中找到更通用的解决方案,而无需解决限制。
The approach is similar to the one-hop specification, since the unidirectional link is a single hop. Let's define the two systems as the Unidirectional Sender and the Unidirectional Receiver. In this approach, the Unidirectional Sender MUST operate in the Active role (as defined in the base BFD specification), and the Unidirectional Receiver MUST operate in the Passive role.
该方法类似于单跳规范,因为单向链路是单跳的。让我们将这两个系统定义为单向发送器和单向接收器。在这种方法中,单向发送器必须以主动角色(如基本BFD规范中所定义)操作,单向接收器必须以被动角色操作。
In the Passive role, by definition, the Unidirectional Receiver does not transmit any BFD Control packets until it learns the discriminator value in use by the other system (upon receipt of the first BFD Control packet). The Unidirectional Receiver demultiplexes the first packet to the proper BFD session based on the physical or logical link over which it was received. This allows the receiver to learn the remote discriminator value, which it then echoes back to the sender in its own (arbitrarily routed) BFD Control packet, after which time all packets are demultiplexed solely by discriminator.
在被动角色中,根据定义,单向接收器不发送任何BFD控制分组,直到它学习到其他系统正在使用的鉴别器值(在接收到第一个BFD控制分组时)。单向接收器根据接收到的物理或逻辑链路将第一个数据包解复用到适当的BFD会话。这允许接收器学习远程鉴别器值,然后在其自己的(任意路由的)BFD控制数据包中回显给发送器,之后所有数据包仅由鉴别器解复用。
The encapsulation of BFD Control packets for multihop application in IPv4 and IPv6 is identical to that defined in [BFD-1HOP], except that the UDP destination port MUST have a value of 4784. This can aid in the demultiplexing and internal routing of incoming BFD packets.
IPv4和IPv6中多跳应用程序的BFD控制数据包的封装与[BFD-1HOP]中定义的相同,只是UDP目标端口的值必须为4784。这有助于对传入BFD数据包进行解复用和内部路由。
By their nature, multihop paths expose BFD to spoofing. As the number of hops increases, the exposure to attack grows. As such, implementations of BFD SHOULD utilize cryptographic authentication over multihop paths to help mitigate denial-of-service attacks.
就其性质而言,多跳路径使BFD暴露于欺骗之中。随着跳跃次数的增加,暴露于攻击的风险也会增加。因此,BFD的实现应该利用多跳路径上的加密身份验证来帮助缓解拒绝服务攻击。
Port 4784 has been assigned by IANA for use with BFD Multihop Control.
IANA已将端口4784分配给BFD多跳控制。
As the number of hops increases, BFD becomes further exposed to attack. The use of strong forms of authentication is strongly encouraged.
随着跳数的增加,BFD会进一步受到攻击。强烈鼓励使用强身份验证形式。
No additional security issues are raised in this document beyond those that exist in the referenced BFD documents.
除参考BFD文件中存在的安全问题外,本文件中未提出其他安全问题。
[BFD] Katz, D. and D. Ward, "Bidirectional Forwarding Detection", RFC 5880, June 2010.
[BFD]Katz,D.和D.Ward,“双向转发检测”,RFC 58802010年6月。
[BFD-1HOP] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, June 2010.
[BFD-1HOP]Katz,D.和D.Ward,“IPv4和IPv6的双向转发检测(BFD)(单跳)”,RFC 58812010年6月。
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[关键词]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[BFD-MPLS] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, "Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)", RFC 5884, June 2010.
[BFD-MPLS]Aggarwal,R.,Kompella,K.,Nadeau,T.,和G.Swallow,“MPLS标签交换路径(LSP)的双向转发检测(BFD)”,RFC 58842010年6月。
[OSPFv2] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
[OSPFv2]Moy,J.,“OSPF版本2”,STD 54,RFC 23281998年4月。
[OSPFv3] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, July 2008.
[OSPFv3]Coltun,R.,Ferguson,D.,Moy,J.,和A.Lindem,“IPv6的OSPF”,RFC 53402008年7月。
[TFRC] Floyd, S., Handley, M., Padhye, J., and J. Widmer, "TCP Friendly Rate Control (TFRC): Protocol Specification", RFC 5348, September 2008.
[TFRC]Floyd,S.,Handley,M.,Padhye,J.,和J.Widmer,“TCP友好速率控制(TFRC):协议规范”,RFC 5348,2008年9月。
Authors' Addresses
作者地址
Dave Katz Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089-1206 USA
Dave Katz Juniper Networks美国加利福尼亚州桑尼维尔市马蒂尔达大道北1194号,邮编94089-1206
Phone: +1-408-745-2000 EMail: dkatz@juniper.net
Phone: +1-408-745-2000 EMail: dkatz@juniper.net
Dave Ward Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089-1206 USA
Dave Ward Juniper Networks美国加利福尼亚州桑尼维尔马蒂尔达大道北1194号,邮编94089-1206
Phone: +1-408-745-2000 EMail: dward@juniper.net
Phone: +1-408-745-2000 EMail: dward@juniper.net