Internet Engineering Task Force (IETF)                          M. Shand
Request for Comments: 6976                        Individual Contributor
Category: Informational                                        S. Bryant
ISSN: 2070-1721                                               S. Previdi
                                                             C. Filsfils
                                                           Cisco Systems
                                                             P. Francois
                                                Institute IMDEA Networks
                                                          O. Bonaventure
                                        Universite catholique de Louvain
                                                               July 2013
        
Internet Engineering Task Force (IETF)                          M. Shand
Request for Comments: 6976                        Individual Contributor
Category: Informational                                        S. Bryant
ISSN: 2070-1721                                               S. Previdi
                                                             C. Filsfils
                                                           Cisco Systems
                                                             P. Francois
                                                Institute IMDEA Networks
                                                          O. Bonaventure
                                        Universite catholique de Louvain
                                                               July 2013
        

Framework for Loop-Free Convergence Using the Ordered Forwarding Information Base (oFIB) Approach

使用有序转发信息库(oFIB)方法的无循环收敛框架

Abstract

摘要

This document describes an illustrative framework of a mechanism for use in conjunction with link-state routing protocols that prevents the transient loops that would otherwise occur during topology changes. It does this by correctly sequencing the forwarding information base (FIB) updates on the routers.

本文档描述了一种与链路状态路由协议结合使用的机制的说明性框架,该机制可防止在拓扑更改期间发生瞬态循环。它通过对路由器上的转发信息库(FIB)更新进行正确排序来实现这一点。

This mechanism can be used in the case of non-urgent (management action) link or node shutdowns and restarts or link metric changes. It can also be used in conjunction with a fast reroute mechanism that converts a sudden link or node failure into a non-urgent topology change. This is possible where a complete repair path is provided for all affected destinations.

此机制可用于非紧急(管理操作)链路或节点关闭和重新启动或链路度量更改的情况。它还可以与快速重路由机制结合使用,该机制将突发链路或节点故障转换为非紧急拓扑更改。如果为所有受影响的目的地提供了完整的修复路径,则这是可能的。

After a non-urgent topology change, each router computes a rank that defines the time at which it can safely update its FIB. A method for accelerating this loop-free convergence process by the use of completion messages is also described.

在非紧急拓扑更改之后,每个路由器计算一个等级,该等级定义了它可以安全更新其FIB的时间。还描述了一种通过使用完成消息来加速这种无循环收敛过程的方法。

The technology described in this document has been subject to extensive simulation using pathological convergence behavior and real network topologies and costs. However, the mechanisms described in this document are purely illustrative of the general approach and do not constitute a protocol specification. This document represents a snapshot of the work of the Routing Area Working Group at the time of publication and is published as a document of record. Further work is needed before implementation or deployment.

本文中描述的技术已通过病理收敛行为和真实网络拓扑和成本进行了广泛的模拟。然而,本文件中描述的机制仅用于说明一般方法,并不构成协议规范。本文件为发布时路由区域工作组工作的快照,并作为记录文件发布。在实施或部署之前,还需要进一步的工作。

Status of This Memo

关于下段备忘

This document is not an Internet Standards Track specification; it is published for informational purposes.

本文件不是互联网标准跟踪规范;它是为了提供信息而发布的。

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). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非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/rfc6976.

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

Copyright Notice

版权公告

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

版权所有(c)2013 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许可证中所述的无担保。

Table of Contents

目录

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  The Purpose of This Document  . . . . . . . . . . . . . .   4
     1.2.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   4
   2.  The Required FIB Update Order . . . . . . . . . . . . . . . .   6
     2.1.  Single Link Events  . . . . . . . . . . . . . . . . . . .   6
       2.1.1.  Link Down / Metric Increase . . . . . . . . . . . . .   6
       2.1.2.  Link Up / Metric Decrease . . . . . . . . . . . . . .   7
     2.2.  Multi-Link Events . . . . . . . . . . . . . . . . . . . .   8
       2.2.1.  Router Down Events  . . . . . . . . . . . . . . . . .   8
       2.2.2.  Router Up Events  . . . . . . . . . . . . . . . . . .   8
       2.2.3.  Line-Card Failure/Restoration Events  . . . . . . . .   8
   3.  Applying Ordered FIB Updates  . . . . . . . . . . . . . . . .   9
     3.1.  Deducing the Topology Change  . . . . . . . . . . . . . .   9
     3.2.  Deciding If Ordered FIB Updates Apply . . . . . . . . . .   9
   4.  Computation of the Ordering . . . . . . . . . . . . . . . . .  10
     4.1.  Link Down, Router Down, or Metric Increase  . . . . . . .  10
     4.2.  Link Up, Router Up, or Metric Decrease  . . . . . . . . .  11
   5.  Acceleration of Ordered Convergence . . . . . . . . . . . . .  11
     5.1.  Construction of the Waiting List and Notification List  .  12
       5.1.1.  Down Events . . . . . . . . . . . . . . . . . . . . .  12
       5.1.2.  Up Events . . . . . . . . . . . . . . . . . . . . . .  12
     5.2.  Format of Completion Messages . . . . . . . . . . . . . .  13
   6.  Fallback to Conventional Convergence  . . . . . . . . . . . .  13
   7.  oFIB State Machine  . . . . . . . . . . . . . . . . . . . . .  13
     7.1.  OFIB_STABLE . . . . . . . . . . . . . . . . . . . . . . .  14
     7.2.  OFIB_HOLDING_DOWN . . . . . . . . . . . . . . . . . . . .  15
     7.3.  OFIB_HOLDING_UP . . . . . . . . . . . . . . . . . . . . .  16
     7.4.  OFIB_ONGOING  . . . . . . . . . . . . . . . . . . . . . .  17
     7.5.  OFIB_ABANDONED  . . . . . . . . . . . . . . . . . . . . .  18
   8.  Management Considerations . . . . . . . . . . . . . . . . . .  18
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  18
   11. Informative References  . . . . . . . . . . . . . . . . . . .  19
   Appendix A.  Candidate Methods of Safely Abandoning Loop-Free
                Convergence (AAH)  . . . . . . . . . . . . . . . . .  20
     A.1.  Possible Solutions  . . . . . . . . . . . . . . . . . . .  20
     A.2.  Hold-Down Timer Only  . . . . . . . . . . . . . . . . . .  20
     A.3.  AAH Messages  . . . . . . . . . . . . . . . . . . . . . .  21
       A.3.1.  Per-Router State Machine  . . . . . . . . . . . . . .  22
       A.3.2.  Per-Neighbor State Machine  . . . . . . . . . . . . .  24
   Appendix B.  Synchronization of Loop-Free Timer Values  . . . . .  25
     B.1.  Introduction  . . . . . . . . . . . . . . . . . . . . . .  25
     B.2.  Required Properties . . . . . . . . . . . . . . . . . . .  25
     B.3.  Mechanism . . . . . . . . . . . . . . . . . . . . . . . .  26
     B.4.  Security Considerations Related to Router Timer Values  .  27
        
   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  The Purpose of This Document  . . . . . . . . . . . . . .   4
     1.2.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   4
   2.  The Required FIB Update Order . . . . . . . . . . . . . . . .   6
     2.1.  Single Link Events  . . . . . . . . . . . . . . . . . . .   6
       2.1.1.  Link Down / Metric Increase . . . . . . . . . . . . .   6
       2.1.2.  Link Up / Metric Decrease . . . . . . . . . . . . . .   7
     2.2.  Multi-Link Events . . . . . . . . . . . . . . . . . . . .   8
       2.2.1.  Router Down Events  . . . . . . . . . . . . . . . . .   8
       2.2.2.  Router Up Events  . . . . . . . . . . . . . . . . . .   8
       2.2.3.  Line-Card Failure/Restoration Events  . . . . . . . .   8
   3.  Applying Ordered FIB Updates  . . . . . . . . . . . . . . . .   9
     3.1.  Deducing the Topology Change  . . . . . . . . . . . . . .   9
     3.2.  Deciding If Ordered FIB Updates Apply . . . . . . . . . .   9
   4.  Computation of the Ordering . . . . . . . . . . . . . . . . .  10
     4.1.  Link Down, Router Down, or Metric Increase  . . . . . . .  10
     4.2.  Link Up, Router Up, or Metric Decrease  . . . . . . . . .  11
   5.  Acceleration of Ordered Convergence . . . . . . . . . . . . .  11
     5.1.  Construction of the Waiting List and Notification List  .  12
       5.1.1.  Down Events . . . . . . . . . . . . . . . . . . . . .  12
       5.1.2.  Up Events . . . . . . . . . . . . . . . . . . . . . .  12
     5.2.  Format of Completion Messages . . . . . . . . . . . . . .  13
   6.  Fallback to Conventional Convergence  . . . . . . . . . . . .  13
   7.  oFIB State Machine  . . . . . . . . . . . . . . . . . . . . .  13
     7.1.  OFIB_STABLE . . . . . . . . . . . . . . . . . . . . . . .  14
     7.2.  OFIB_HOLDING_DOWN . . . . . . . . . . . . . . . . . . . .  15
     7.3.  OFIB_HOLDING_UP . . . . . . . . . . . . . . . . . . . . .  16
     7.4.  OFIB_ONGOING  . . . . . . . . . . . . . . . . . . . . . .  17
     7.5.  OFIB_ABANDONED  . . . . . . . . . . . . . . . . . . . . .  18
   8.  Management Considerations . . . . . . . . . . . . . . . . . .  18
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  18
   11. Informative References  . . . . . . . . . . . . . . . . . . .  19
   Appendix A.  Candidate Methods of Safely Abandoning Loop-Free
                Convergence (AAH)  . . . . . . . . . . . . . . . . .  20
     A.1.  Possible Solutions  . . . . . . . . . . . . . . . . . . .  20
     A.2.  Hold-Down Timer Only  . . . . . . . . . . . . . . . . . .  20
     A.3.  AAH Messages  . . . . . . . . . . . . . . . . . . . . . .  21
       A.3.1.  Per-Router State Machine  . . . . . . . . . . . . . .  22
       A.3.2.  Per-Neighbor State Machine  . . . . . . . . . . . . .  24
   Appendix B.  Synchronization of Loop-Free Timer Values  . . . . .  25
     B.1.  Introduction  . . . . . . . . . . . . . . . . . . . . . .  25
     B.2.  Required Properties . . . . . . . . . . . . . . . . . . .  25
     B.3.  Mechanism . . . . . . . . . . . . . . . . . . . . . . . .  26
     B.4.  Security Considerations Related to Router Timer Values  .  27
        
1. Introduction
1. 介绍
1.1. The Purpose of This Document
1.1. 本文件的目的

This document describes an illustrative framework of a mechanism for use in conjunction with link-state routing protocols that prevents the transient loops that would otherwise occur during topology changes. It does this by correctly sequencing the forwarding information base (FIB) updates on the routers.

本文档描述了一种与链路状态路由协议结合使用的机制的说明性框架,该机制可防止在拓扑更改期间发生瞬态循环。它通过对路由器上的转发信息库(FIB)更新进行正确排序来实现这一点。

At the time of publication there is no demand to deploy this technology; however, in view of the subtleties involved in the design of extensions for loop-free convergence routing protocols, the Routing Area Working Group considered it desirable to publish this document to place on record the design consideration of the ordered FIB (oFIB) approach.

在出版时,没有部署该技术的需求;然而,考虑到无环路收敛路由协议扩展设计中涉及的微妙之处,路由区域工作组认为最好发布本文件,以记录有序FIB(oFIB)方法的设计考虑。

The mechanisms presented in this document are purely illustrative of the general approach and do not constitute a protocol specification. This document represents a snapshot of the work of the working group at the time of publication and is published as a document of record. Additional work is needed to specify the necessary routing protocol extensions necessary to support this IP fast reroute (FRR) method before implementation or deployment.

本文件中介绍的机制仅用于说明一般方法,并不构成协议规范。本文件是工作组在出版时的工作概况,并作为记录文件出版。在实现或部署之前,还需要额外的工作来指定支持此IP快速重路由(FRR)方法所需的路由协议扩展。

1.2. Overview
1.2. 概述

With link-state protocols, such as IS-IS [ISO10589] and OSPF [RFC2328], each time the network topology changes, some routers need to modify their forwarding information bases (FIBs) to take into account the new topology. Each topology change causes a convergence phase. During this phase, routers may transiently have inconsistent FIBs, which may lead to packet loops and losses, even if the reachability of the destinations is not compromised after the topology change. Packet losses and transient loops can also occur in the case of a link down event implied by a maintenance operation, even if this operation is predictable and not urgent. When the link-state change is a metric update and when a new link is brought up in the network, there is no direct loss of connectivity, but transient packet loops and loss can still occur.

对于链路状态协议,如IS-IS[ISO10589]和OSPF[RFC2328],每当网络拓扑发生变化时,一些路由器需要修改其转发信息库(FIB)以考虑新拓扑。每个拓扑更改都会导致一个收敛阶段。在此阶段,路由器可能暂时具有不一致的FIB,这可能导致分组循环和丢失,即使在拓扑更改后目的地的可达性没有受到损害。在维护操作暗示的链路断开事件的情况下,也可能发生数据包丢失和瞬态循环,即使该操作是可预测的且不是紧急的。当链路状态更改为度量更新且网络中出现新链路时,不会直接失去连接,但仍可能发生瞬时数据包循环和丢失。

In this document, a distinction is made between urgent and non-urgent network events. Urgent events are those that arise from unpredictable network outages (such as node or link failures) that are traditionally resolved through the convergence of routing protocols or by protection mechanisms reliant on fault detection and reporting (such as through Operations, Administration, and Maintenance). Non-urgent events are those that arise from

在本文件中,对紧急和非紧急网络事件进行了区分。紧急事件是由不可预测的网络中断(如节点或链路故障)引起的事件,传统上通过路由协议的聚合或依赖于故障检测和报告的保护机制(如通过操作、管理和维护)来解决。非紧急事件是由以下原因引起的事件:

predictable events such as the controlled shutdown of network resources by a management system, or the modification of network parameters (such as routing metrics). Typically, non-urgent events can be planned around, while urgent events must be handled by dynamic systems. All network events, both urgent and non-urgent, may lead to transient packet loops and loss.

可预测的事件,如管理系统控制关闭网络资源,或修改网络参数(如路由度量)。通常情况下,非紧急事件可以在周围进行规划,而紧急事件必须由动态系统处理。所有网络事件,包括紧急和非紧急事件,都可能导致短暂的数据包循环和丢失。

For example, in Figure 1, if the link between X and Y is shut down by an operator, packets destined to X can loop between R and Y when Y has updated its FIB while R has not yet updated its FIB, and packets destined to Y can loop between X and S if X updates its FIB before S. According to the current behavior of IS-IS and OSPF, this scenario will happen most of the time because X and Y are the first routers to be aware of the failure, so that they will update their FIBs first.

例如,在图1中,如果X和Y之间的链路被运营商关闭,当Y更新其FIB而R尚未更新其FIB时,发送给X的数据包可以在R和Y之间循环,如果X在S之前更新其FIB,发送给Y的数据包可以在X和S之间循环。根据is-is和OSPF的当前行为,这种情况在大多数情况下都会发生,因为X和Y是第一个意识到故障的路由器,所以他们会首先更新FIB。

                                     1
                       X-------------/-------------Y
                       |                           |
                       |                           |
                       |                           |
                       |                           |
                     1 |                           | 1
                       |                           |
                       |                           |
                       |                           |
                       |                           |
                       S---------------------------R
                                     2
        
                                     1
                       X-------------/-------------Y
                       |                           |
                       |                           |
                       |                           |
                       |                           |
                     1 |                           | 1
                       |                           |
                       |                           |
                       |                           |
                       |                           |
                       S---------------------------R
                                     2
        

Figure 1: A Simple Topology

图1:一个简单的拓扑

It should be noted that the loops can occur remotely from the failure, not just adjacent to it.

应注意的是,回路可能发生在距离故障较远的地方,而不仅仅发生在故障附近。

[RFC5715] provides an introduction to a number of loop-free convergence methods, and readers unfamiliar with this technology are recommended to read it before studying this document in detail. Note that in common with other loop-free convergence methods, oFIB is only capable of providing loop-free convergence in the presence of a single failure.

[RFC5715]介绍了许多无回路收敛方法,建议不熟悉该技术的读者在详细研究本文档之前先阅读。请注意,与其他无环收敛方法一样,oFIB只能在出现单一故障时提供无环收敛。

The goal of this document is to describe a mechanism that sequences the router FIB updates to maintain consistency throughout the network. By correctly setting the FIB change order, no looping or packet loss can occur. This mechanism may be applied to the case of managed link-state changes, i.e., link metric change, manual link down/up, manual router down/up, and managed state changes of a set of links attached to one router. It may also be applied to the case

本文档的目标是描述一种机制,该机制对路由器FIB更新进行排序,以保持整个网络的一致性。通过正确设置FIB变更单,不会发生循环或数据包丢失。该机制可应用于管理链路状态变化的情况,即链路度量变化、手动链路下降/上升、手动路由器下降/上升以及连接到一个路由器的一组链路的管理状态变化。也可适用于本案

where one or more network elements are protected by a fast reroute mechanism (FRR) [RFC5714] [RFC4090]. The mechanisms that are used in the failure case are exactly the same as those used for managed changes. For simplicity, this document makes no further distinction between managed and unplanned changes.

其中一个或多个网元受快速重路由机制(FRR)[RFC5714][RFC4090]保护。失败案例中使用的机制与托管更改中使用的机制完全相同。为简单起见,本文档不再进一步区分托管更改和计划外更改。

It is assumed in the description that follows that all routers in the routing domain are oFIB capable. This can be verified in an operational network by having the routers report oFIB capability using the IGP. Where non-oFIB-capable routers exist in the network, normal convergence would be used by all routers. The operation of mixed-mode networks is for further study.

在随后的描述中,假设路由域中的所有路由器都具有oFIB能力。这可以通过路由器使用IGP报告oFIB能力在运行网络中进行验证。如果网络中存在不支持oFIB的路由器,则所有路由器都将使用正常聚合。混合模式网络的运行有待进一步研究。

The technology described in this document has been subject to extensive simulation using pathological convergence behavior and real network topologies and costs. A variant of the technology described here has been experimentally deployed in a production network.

本文中描述的技术已通过病理收敛行为和真实网络拓扑和成本进行了广泛的模拟。本文所述技术的一种变体已在生产网络中进行了实验部署。

2. The Required FIB Update Order
2. 所需的FIB更新顺序

This section provides an overview of the required ordering of the FIB updates. A more detailed analysis of the rerouting dynamics and correctness proofs of the mechanism can be found in [refs.PFOB07].

本节概述了FIB更新所需的顺序。有关重路由动力学的更详细分析和该机制的正确性证明,请参见[参考文献PFOB07]。

2.1. Single Link Events
2.1. 单链接事件

For simplicity, the correct ordering for single link changes are described first. The document then builds on this to demonstrate that the same principles can be applied to more complex scenarios such as line-card or node changes.

为简单起见,首先描述单链路更改的正确顺序。然后,本文档以此为基础,证明相同的原则可以应用于更复杂的场景,如线路卡或节点更改。

2.1.1. Link Down / Metric Increase
2.1.1. 链路下降/公制增加

First, consider the non-urgent failure of a link (i.e., where an operator or a network management system (NMS) shuts down a link, thereby removing it from the currently active topology) or the increase of a link metric by the operator or NMS. In this case, a router R must not update its FIB until all other routers that send traffic via R and the affected link have first updated their FIBs.

首先,考虑链路的非紧急故障(即,在其中操作员或网络管理系统(NMS)关闭链路,从而从当前活动拓扑中移除它)或由操作员或NMS增加链路度量。在这种情况下,路由器R不得更新其FIB,直到通过R发送流量的所有其他路由器和受影响的链路已首先更新其FIB。

The following argument shows that this rule ensures the correct order of FIB changes when the link X->Y is shut down or its metric is increased.

以下参数表明,当链接X->Y关闭或其度量增加时,此规则确保FIB更改的正确顺序。

An "outdated" FIB entry for a destination is defined as being a FIB entry that still reflects the shortest path(s) in use before the topology change. Once a packet reaches a router R that has an outdated FIB entry for the packet destination, then, provided the

目的地的“过时”FIB条目定义为在拓扑更改之前仍反映使用中的最短路径的FIB条目。一旦一个数据包到达一个路由器R,该路由器的数据包目的地有一个过期的FIB条目,那么

oFIB ordering is respected, the packet will continue to X only traversing routers that also have an outdated FIB entry for the destination. The packet thus reaches X without looping and will be forwarded to Y via X->Y (or in the case of FRR, the X->Y repair path) and will reach its destination.

如果遵守oFIB顺序,则数据包将继续只通过同样具有过期FIB条目的目的地路由器。因此,数据包在不循环的情况下到达X,并将通过X->Y(或在FRR的情况下,X->Y修复路径)转发到Y,并将到达其目的地。

Since it can be assumed that the original topology was loop-free, Y will never use the link Y->X to reach the destination, and hence the path(s) between Y and the destination are guaranteed to be unaffected by the topology change. It therefore follows that the packet arriving at Y will reach its destination without looping.

由于可以假设原始拓扑是无环的,因此Y将永远不会使用链接Y->X到达目的地,因此Y和目的地之间的路径保证不受拓扑更改的影响。因此,到达Y的分组将在不循环的情况下到达其目的地。

Since it can also be assumed that the new topology is loop-free, by definition a packet cannot loop while being forwarded exclusively by routers with an updated FIB entry.

由于还可以假设新拓扑是无环路的,因此根据定义,数据包在由具有更新的FIB条目的路由器独家转发时不能环路。

In other words, when the oFIB ordering is respected, if a packet reaches an outdated router, it can never subsequently reach an updated router, and it cannot loop because from this point on it will only be forwarded on the consistent path that was used before the event. If it does not reach an outdated router, it will only be forwarded on the loop-free path that will be used after the convergence.

换句话说,当遵守oFIB顺序时,如果数据包到达过时的路由器,它就永远无法随后到达更新的路由器,并且它不能循环,因为从这一点开始,它将只能在事件发生前使用的一致路径上转发。如果它没有到达过时的路由器,它将只在汇聚后使用的无环路路径上转发。

According to the proposed ordering, X will be the last router to update its FIB. Once it has updated its FIB, the link X->Y can actually be shut down (or the repair removed).

根据提议的订购,X将是最后一个更新其FIB的路由器。一旦更新了FIB,链接X->Y实际上可以关闭(或删除修复)。

If the link X-Y is bidirectional, a similar process must be run to order the FIB update for destinations using the link in the direction Y->X. As has already been shown, no packet ever traverses the X-Y link in both directions, and hence the operation of the two ordering processes is orthogonal.

如果链路X-Y是双向的,则必须运行一个类似的过程,以使用Y->X方向的链路为目的地订购FIB更新。如前所示,没有任何数据包在两个方向上穿过X-Y链路,因此两个订购过程的操作是正交的。

2.1.2. Link Up / Metric Decrease
2.1.2. 连接/公制减少

In the case of link up events or metric decreases, a router R must update its FIB before all other routers that will use R to reach the affected link.

在连接事件或度量减少的情况下,路由器R必须在使用R到达受影响链路的所有其他路由器之前更新其FIB。

The following argument shows that this rule ensures the correct order of FIB changes when the link X->Y is brought into service or its metric is decreased.

以下参数表明,当链接X->Y投入使用或其度量值降低时,此规则确保FIB更改的正确顺序。

Firstly, when a packet reaches a router R that has already updated its FIB, all the routers on the path from R to X will also have updated their FIB, so that the packet will reach X and be forwarded along X->Y, ultimately reaching its destination.

首先,当数据包到达已经更新了FIB的路由器R时,从R到X路径上的所有路由器也将更新其FIB,这样数据包将到达X并沿X->Y转发,最终到达目的地。

Secondly, a packet cannot loop between routers that have not yet updated their FIB. This proves that no packet can loop.

其次,数据包不能在尚未更新FIB的路由器之间循环。这证明没有数据包可以循环。

2.2. Multi-Link Events
2.2. 多链接事件

The following sections describe the required ordering for single events that may manifest as multiple link events. For example, the failure of a router may be notified to the rest of the network as the individual failure of all its attached links. The means of identifying the event type from the collection of received link events is described in Section 3.1.

以下各节描述了可能表现为多个链接事件的单个事件所需的顺序。例如,路由器的故障可以作为其所有连接链路的单独故障通知网络的其余部分。第3.1节描述了从接收到的链路事件集合中识别事件类型的方法。

2.2.1. Router Down Events
2.2.1. 路由器关闭事件

In the case of the non-urgent shutdown of a router, a router R must not update its FIB until all other routers that send traffic via R and the affected router have first updated their FIBs.

在路由器非紧急关闭的情况下,路由器R不得更新其FIB,直到通过R发送流量的所有其他路由器和受影响的路由器都已首先更新其FIB。

Using a proof similar to that for link failure, it can be shown that no loops will occur if this ordering is respected [refs.PFOB07].

使用类似于链路故障的证明,可以证明,如果遵守此顺序,则不会发生环路[refs.PFOB07]。

2.2.2. Router Up Events
2.2.2. 路由事件

In the case of a router being brought into service, a router R must update its FIB BEFORE all other routers that WILL use R to reach the affected router.

在路由器投入使用的情况下,路由器R必须在所有使用R到达受影响路由器的其他路由器之前更新其FIB。

A proof similar to that for link up shows that no loops will occur if this ordering is respected [refs.PFOB07].

类似于连接的证明表明,如果遵守此顺序,则不会发生循环[refs.PFOB07]。

2.2.3. Line-Card Failure/Restoration Events
2.2.3. 线路卡故障/恢复事件

The failure of a line card involves the failure of a set of links, all of which have a single node in common, i.e., the parent router. The ordering to be applied is the same as if it were the failure of the parent router.

线路卡的故障涉及一组链路的故障,所有链路都有一个共同的节点,即父路由器。应用的顺序与父路由器的故障相同。

In a similar way, the restoration of an entire line card to service as a single event can be treated as if the parent router were returning to service.

以类似的方式,将整个线路卡作为单个事件恢复到服务状态可以被视为父路由器正在恢复服务。

3. Applying Ordered FIB Updates
3. 应用有序FIB更新
3.1. Deducing the Topology Change
3.1. 拓扑变化的推导

As has been described, a single event such as the failure or restoration of a single link, single router, or line card may be notified to the rest of the network as a set of individual link change events. It is necessary to deduce from this collection of link-state notifications the type of event that has occurred in the network and hence the required ordering.

如前所述,单个事件(例如单个链路、单个路由器或线路卡的故障或恢复)可作为一组单独链路改变事件通知网络的其余部分。有必要从链路状态通知的集合中推断网络中发生的事件类型,从而推断所需的顺序。

When a link change event is received that impacts the receiving router's FIB, the routers at the near and far end of the link are noted.

当接收到影响接收路由器FIB的链路更改事件时,将记录链路近端和远端的路由器。

If all events received within some hold-down period (the time that a router waits to acquire a set of Link State Packets (LSPs) that should be processed together) have a single router in common, then it is assumed that the change reflects an event (line-card or router change) concerning that router.

如果在某个保持期(路由器等待获取一组应一起处理的链路状态数据包(LSP)的时间)内接收到的所有事件都有一个共同的路由器,则假定该更改反映了与该路由器有关的事件(线路卡或路由器更改)。

In the case of a link change event, the router at the far end of the link is deemed to be the common router.

在发生链路更改事件的情况下,链路远端的路由器被视为公共路由器。

All ordering computations are based on treating the common router as the root for both link and node events.

所有排序计算都基于将公共路由器视为链路和节点事件的根。

3.2. Deciding If Ordered FIB Updates Apply
3.2. 决定是否应用顺序FIB更新

There are some events (for example, a subsequent failure with conflicting repair requirements occurring before the ordered FIB process has completed) that cannot be correctly processed by this mechanism. In these cases, it is necessary to ensure that convergence falls back to the conventional mode of operation (see Section 6).

有些事件(例如,在订购的FIB流程完成之前发生的具有冲突维修要求的后续故障)无法通过该机制正确处理。在这些情况下,有必要确保收敛回到常规操作模式(见第6节)。

In all cases, it is necessary to wait some hold-down period after receiving the first notification to ensure that all routers have received the complete set of link-state notifications associated with the single event.

在所有情况下,必须在收到第一个通知后等待一段时间,以确保所有路由器都已收到与单个事件相关联的完整链路状态通知集。

At any time, if a link change notification is received that would have no effect on the receiving router's FIB, then it may be ignored.

在任何时候,如果收到的链路更改通知对接收路由器的FIB没有影响,那么它可能会被忽略。

If no other event is received during the hold-down time, the event is treated as a link event. Note that the IGP reverse connectivity check means that only the first failure event or second up event has an effect on the FIB.

如果在按住时间内未收到其他事件,则该事件将被视为链路事件。请注意,IGP反向连接检查意味着只有第一个故障事件或第二个up事件对FIB有影响。

If an event that is received within the hold-down period does NOT reference the common router (R), then, in this version of the specification, normal convergence is invoked immediately (see Section 6).

如果在抑制期内接收到的事件未引用公共路由器(R),则在此版本的规范中,将立即调用正常收敛(参见第6节)。

Network reconvergence using the ordered FIB approach takes longer than the normal reconvergence process. Where the failure is protected by an FRR mechanism, this additional delay in convergence causes no packet loss. When the sudden failure of a link or a set of links that are not protected using an FRR mechanism occurs, the failure must be processed using the conventional (faster) mode of operation to minimize packet loss during reconvergence.

使用有序FIB方法的网络重新聚合比正常的重新聚合过程耗时更长。当故障由FRR机制保护时,这种额外的收敛延迟不会导致数据包丢失。当发生未使用FRR机制保护的链路或一组链路的突然故障时,必须使用常规(更快)操作模式处理故障,以最大限度地减少重新聚合期间的数据包丢失。

In summary, an ordered FIB process is applicable if the set of link state notifications received between the first event and the hold-down period reference a common router R, and one of the following assertions is verified:

总之,如果在第一个事件和保持期之间收到的链路状态通知集引用公共路由器R,并且验证了以下断言之一,则有序FIB过程适用:

o The set of notifications refers to link down events concerning protected links and metric increase events.

o 通知集指的是有关受保护链接的链接关闭事件和度量增加事件。

o The set of notifications refers to link up events and metric decrease events.

o 通知集指的是链接事件和度量减少事件。

4. Computation of the Ordering
4. 排序的计算

This section describes how the required ordering is computed.

本节描述如何计算所需的排序。

This computation required the introduction of the concept of a reverse Shortest Path Tree (rSPT). The rSPT uses the cost towards the root (rather than from it) and yields the best paths towards the root from other nodes in the network [IPFRR-TUNNELS].

这种计算需要引入反向最短路径树(rSPT)的概念。rSPT使用根(而不是来自根)的成本,并从网络中的其他节点产生通向根的最佳路径[IPFRR-TUNNELS]。

4.1. Link Down, Router Down, or Metric Increase
4.1. 链路断开、路由器断开或度量增加

To respect the proposed ordering, routers compute a rank that will be used to determine the time at which they are permitted to perform their FIB update. In the case of a failure event rooted at router Y or an increase of the metric of link X->Y, router R computes the rSPT in the topology before the failure (rSPT_old) rooted at Y. This rSPT gives the shortest paths to reach Y before the failure. The branch of the rSPT that is below R corresponds to the set of shortest paths to R that are used by the routers that reach Y via R.

为了遵守建议的顺序,路由器计算一个秩,该秩将用于确定允许它们执行FIB更新的时间。在以路由器Y为根的故障事件或链路X->Y的度量增加的情况下,路由器R在以Y为根的故障(rSPT_old)之前计算拓扑中的rSPT。该rSPT给出了故障前到达Y的最短路径。低于R的rSPT分支对应于通过R到达Y的路由器使用的到R的最短路径集。

The rank of router R is defined as the depth (in number of hops) of this branch. In the case of Equal Cost Multipath (ECMP), the maximum depth of the ECMP path set is used.

路由器R的等级定义为该分支的深度(以跳数表示)。在等成本多路径(ECMP)的情况下,使用ECMP路径集的最大深度。

Router R is required to update its FIB at time

路由器R需要在指定时间更新其FIB

      T0 + H + (rank * MAX_FIB)
        
      T0 + H + (rank * MAX_FIB)
        

where T0 is the arrival time of the Link State Packet containing the topology change, H is the hold-down time, and MAX_FIB is a network-wide constant that reflects the maximum time required to update a FIB irrespective of the change required. The value of MAX_FIB is network specific, and its determination is out of the scope of this document. This value must be agreed to by all the routers in the network. This agreement can be performed by using a capability TLV as defined in Appendix B.

其中T0是包含拓扑变化的链路状态分组的到达时间,H是保持时间,MAX_FIB是反映更新FIB所需的最大时间的网络范围常数,而与所需的变化无关。MAX_FIB的值是特定于网络的,其确定超出了本文件的范围。该值必须得到网络中所有路由器的同意。本协议可通过使用附录B中定义的能力TLV来执行。

All the routers that use R to reach Y will compute a lower rank than R, and hence the correct order will be respected. It should be noted that only the routers that used Y before the event need to compute their rank.

所有使用R到达Y的路由器将计算比R低的秩,因此正确的顺序将得到尊重。应该注意的是,只有在事件发生前使用Y的路由器才需要计算它们的秩。

4.2. Link Up, Router Up, or Metric Decrease
4.2. 链路连接、路由器连接或度量降低

In the case of a link or router up event rooted at Y or a link metric decrease affecting link Y->W, a router R must have a rank that is higher than the rank of the routers that it will use to reach Y, according to the rule described in Section 2. Thus, the rank of R is the number of hops between R and Y in its renewed Shortest Path Tree. When R has multiple equal-cost paths to Y, the rank is the length in hops of the longest ECMP path to Y.

在以Y为根的链路或路由器上升事件或影响链路Y->W的链路度量减少的情况下,根据第2节中描述的规则,路由器R的秩必须高于其将用于到达Y的路由器的秩。因此,R的秩是更新后的最短路径树中R和Y之间的跳数。当R有多条到Y的等成本路径时,秩是到Y的最长ECMP路径的跳数长度。

Router R is required to update its FIB at time

路由器R需要在指定时间更新其FIB

      T0 + H + (rank * MAX_FIB)
        
      T0 + H + (rank * MAX_FIB)
        

It should be noted that only the routers that use Y after the event have to compute a rank, i.e., only the routers that have Y in their SPT after the link-state change.

应该注意的是,只有在事件之后使用Y的路由器必须计算秩,即,只有在链路状态改变之后在其SPT中具有Y的路由器。

5. Acceleration of Ordered Convergence
5. 有序收敛的加速

The mechanism described above is conservative and hence may be relatively slow. The purpose of this section is to describe a method of accelerating the controlled convergence in such a way that ordered loop-free convergence is still guaranteed.

上述机制是保守的,因此可能相对缓慢。本节的目的是描述一种加速受控收敛的方法,这种方法仍然保证有序无环收敛。

In many cases, a router will complete its required FIB changes in a time much shorter than MAX_FIB, and in many other cases, a router will not have to perform any FIB change at all.

在许多情况下,路由器将在比MAX_FIB短得多的时间内完成其所需的FIB更改,并且在许多其他情况下,路由器根本不必执行任何FIB更改。

This section describes the use of completion messages to speed up the convergence by providing a means for a router to inform those routers waiting for it that it has completed any required FIB changes. When a router has been advised of completion by all the routers for which it is waiting, it can safely update its own FIB without further delay. In most cases, this can result in a sub-second reconvergence time, which is comparable with a normal convergence time.

本节描述了使用完成消息来加快收敛速度,方法是为路由器提供一种通知等待它的路由器它已完成任何所需的FIB更改的方法。当一个路由器被它正在等待的所有路由器通知完成时,它可以安全地更新它自己的FIB而不再延迟。在大多数情况下,这可能导致亚秒级的重新收敛时间,这与正常收敛时间相当。

Routers maintain a waiting list of the neighbors from which a completion message must be received. Upon reception of a completion message from a neighbor, a router removes this neighbor from its waiting list. Once its waiting list becomes empty, the router is allowed to update its FIB immediately even if its ranking timer has not yet expired. Once this is done, the router sends a completion message to the neighbors that are waiting for it to complete. Those routers are listed in a list called the Notification List. Completion messages contain an identification of the event to which they refer.

路由器维护邻居的等待列表,必须从中接收完成消息。当从邻居处接收到完成消息时,路由器将该邻居从其等待列表中删除。一旦等待列表变为空,路由器就可以立即更新其FIB,即使其排名计时器尚未过期。完成后,路由器将向等待完成的邻居发送完成消息。这些路由器列在一个名为通知列表的列表中。完成消息包含它们所指事件的标识。

Note that, since this is only an optimization, any loss of completion messages will result in the routers waiting their defined ranking time, and hence the loop-free properties will be preserved.

请注意,由于这只是一个优化,任何完成消息的丢失都将导致路由器等待其定义的排序时间,因此将保留无循环属性。

5.1. Construction of the Waiting List and Notification List
5.1. 建立候补名单和通知名单
5.1.1. Down Events
5.1.1. 下行事件

Consider a link or node down event rooted at router Y or the cost increase of the link X->Y. A router R will compute rSPT_old(Y) to determine its rank. When doing this, R also computes the set of neighbors that R uses to reach the failing node or link, and the set of neighbors that are using R to reach the failing node or link. The notification list of R is equal to the former set, and the waiting list of R is equal to the latter.

考虑链接在路由器Y上的链路或节点下降事件或链路X>Y的成本增加。路由器R将计算RSPTYOLD(Y)来确定其秩。执行此操作时,R还计算R用于到达故障节点或链路的邻居集,以及使用R到达故障节点或链路的邻居集。R的通知列表等于前者,R的等待列表等于后者。

Note that R could include all its neighbors in the notification list except those in the waiting list; this would have no impact on the correctness of the protocol but would be unnecessarily inefficient.

注意,R可以将其所有邻居包括在通知列表中,但等待列表中的邻居除外;这不会对协议的正确性产生影响,但会造成不必要的低效。

5.1.2. Up Events
5.1.2. 盛事

Consider a link or node up event rooted at router Y or the cost decrease of the link Y->X. A router R will compute its new SPT (SPT_new(R)). The waiting list is the set of next-hop routers that R uses to reach Y in SPT_new(R).

考虑链接在路由器Y上的链路或节点上升事件或链路Y -X的成本降低。路由器R将计算其新的SPT(SPTJEY(R))。等待列表是R用于在SPT_new(R)中到达Y的下一跳路由器的集合。

In a simple implementation, the notification list of R is all the neighbors of R excluding those in the waiting list. This may be further optimized by computing rSPT_new(Y) to determine those routers that are waiting for R to complete.

在一个简单的实现中,R的通知列表是R的所有邻居,不包括等待列表中的邻居。这可以通过计算rSPT_new(Y)来进一步优化,以确定等待R完成的路由器。

5.2. Format of Completion Messages
5.2. 完成信息的格式

The format of completion messages and means of their delivery is routing protocol dependent and is outside the scope of this document.

完成消息的格式及其传递方式取决于路由协议,不在本文档范围内。

The following information is required:

需要以下信息:

o Identity of the sender.

o 发件人的身份。

o List of routing notifications being considered in the associated FIB change. Each notification is defined as:

o 关联FIB更改中正在考虑的路由通知列表。每个通知的定义如下:

Node ID of the near end of the link

链接近端的节点ID

Node ID of the far end of the link

链路远端的节点ID

Inclusion or removal of link

包含或删除链接

Old metric

旧度量

New metric

新指标

6. Fallback to Conventional Convergence
6. 回归传统趋同

In circumstances where a router detects that it is dealing with incomplete or inconsistent link-state information, or when a further topology event is received before completion of the current ordered FIB update process, it may be expedient to abandon the controlled convergence process. A number of possible fallback mechanisms are described in Appendix A. This mechanism is referred to as "Abandoning All Hope" (AAH). The state machine defined in the body of this document does not make any assumption about which fallback mechanism will be used.

在路由器检测到其正在处理不完整或不一致的链路状态信息的情况下,或者当在当前有序FIB更新过程完成之前接收到进一步的拓扑事件时,放弃受控收敛过程可能是有利的。附录A中描述了许多可能的回退机制。这种机制被称为“放弃所有希望”(AAH)。本文档正文中定义的状态机不假设将使用哪种回退机制。

7. oFIB State Machine
7. oFIB状态机

An implementation must be capable of interworking with the model of an oFIB state machine described in this section.

实现必须能够与本节中描述的oFIB状态机模型交互。

An oFIB-capable router maintains an oFIB state value, which is one of: OFIB_STABLE, OFIB_HOLDING_DOWN, OFIB_HOLDING_UP, OFIB_ABANDONED, or OFIB_ONGOING.

支持oFIB的路由器维护oFIB状态值,该值为以下值之一:oFIB_稳定、oFIB_保持、oFIB_保持、oFIB_放弃或oFIB_正在进行。

An oFIB-capable router maintains a timer, Hold_down_timer. An oFIB-capable router is configured with a value referred to as HOLD_DOWN_DURATION. This configuration can be performed manually or using Appendix B.

一个具有oFIB功能的路由器维护一个定时器,按住定时器。具有oFIB功能的路由器配置有一个称为保持时间的值。可手动或使用附录B执行此配置。

An oFIB-capable router maintains a timer, rank_timer.

一个具有oFIB功能的路由器维护一个定时器,rank\U定时器。

7.1. OFIB_STABLE
7.1. OFIB_稳定

OFIB_STABLE is the state of a router that is not currently involved in any convergence process. This router is ready to process an event by applying oFIB.

OFIB_稳定是路由器当前未参与任何收敛过程的状态。此路由器已准备好通过应用oFIB来处理事件。

EVENT: Reception of a Link State Packet that describes an event of the type link X--Y down or metric increase and is to be processed using oFIB.

事件:接收链路状态数据包,该数据包描述链路X--Y下降或度量增加类型的事件,并将使用oFIB进行处理。

ACTION:

行动:

Set state to OFIB_HOLDING_DOWN.

将状态设置为OFIB_按住。

Start Hold_down_timer.

启动按住计时器。

      ofib_current_common_set = {X,Y}.
        
      ofib_current_common_set = {X,Y}.
        

Compute rank with respect to the event, as defined in Section 4.

根据第4节中的定义,计算事件的等级。

Store the waiting list and notification list for X--Y obtained from the rank computation.

存储从秩计算中获得的X--Y的等待列表和通知列表。

EVENT: Reception of a Link State Packet that describes an event of the type link X--Y up or metric decrease and is to be processed using oFIB.

事件:接收链路状态数据包,该数据包描述链路X--Y向上或度量减少类型的事件,并将使用oFIB进行处理。

ACTION:

行动:

Set state to OFIB_HOLDING_UP.

将状态设置为OFIB_HOLDING_。

Start Hold_down_timer.

启动按住计时器。

      ofib_current_common_set = {X,Y}.
        
      ofib_current_common_set = {X,Y}.
        

Compute rank with respect to the event, as defined in Section 4.

根据第4节中的定义,计算事件的等级。

Store the waiting list and notification list for X--Y obtained from the rank computation.

存储从秩计算中获得的X--Y的等待列表和通知列表。

7.2. OFIB_HOLDING_DOWN
7.2. OFIB_压下

OFIB_HOLDING_DOWN is the state of a router that is collecting a set of link down or metric increase Link State Packets to be processed together using controlled convergence.

OFIB_HOLDING_DOWN是路由器的状态,它正在收集一组链路断开或度量增加的链路状态数据包,以便使用受控收敛一起处理。

EVENT: Reception of a Link State Packet that describes an event of the type link up or metric decrease and can be processed using oFIB.

事件:接收链路状态数据包,该数据包描述链路上升或度量下降类型的事件,可使用oFIB进行处理。

ACTION:

行动:

Set state to OFIB_ABANDONED.

将状态设置为OFIB_放弃。

Reset Hold_down_timer.

重置按住计时器。

Trigger AAH mechanism.

触发AAH机制。

EVENT: Reception of a Link State Packet that describes an event of the type link A--B down or metric increase and can be processed using oFIB.

事件:接收链路状态数据包,该数据包描述链路a--B下降或度量增加类型的事件,可以使用oFIB进行处理。

ACTION:

行动:

ofib_current_common_set = intersection(ofib_current_common_set,{A,B}).

ofib_current_common_set=交集(ofib_current_common_set,{A,B})。

If ofib_current_common_set is empty, then there is no longer a node in common in all the pending link-state changes.

如果ofib_current_common_set为空,则在所有挂起的链接状态更改中不再有公共节点。

Set state to OFIB_ABANDONED.

将状态设置为OFIB_放弃。

Reset Hold_down_timer.

重置按住计时器。

Trigger AAH mechanism.

触发AAH机制。

If ofib_current_common set is not empty, update the waiting list and notification list as defined in Section 4. Note that in the case of a single link event, the Link State Packet received when the router is in this state describes the state change of the other direction of the link; hence, no changes will be made to the waiting and notification lists.

如果ofib_current_common set不为空,则更新第4节中定义的等待列表和通知列表。注意,在单链路事件的情况下,当路由器处于该状态时接收的链路状态分组描述链路的另一方向的状态改变;因此,等候名单和通知名单将不作任何更改。

EVENT: Hold_down_timer expires.

事件:按住计时器过期。

ACTION:

行动:

Set state to OFIB_ONGOING.

将状态设置为OFIB_正在进行。

Start rank_timer with computed rank.

用计算出的秩启动秩\计时器。

EVENT: Reception of a completion message.

事件:接收完成消息。

ACTION: Remove the sender from the waiting list associated with the event identified in the completion message.

操作:从与完成消息中标识的事件关联的等待列表中删除发件人。

7.3. OFIB_HOLDING_UP
7.3. OFIB_挡住了

OFIB_HOLDING_UP is the state of a router that is collecting a set of link up or metric decrease Link State Packets to be processed together using controlled convergence.

OFIB_HOLDING_是路由器的状态,该路由器正在收集一组链路状态数据包,这些数据包将使用受控收敛一起处理。

EVENT: Reception of a Link State Packet that describes an event of the type link down or metric increase and is to be processed using oFIB.

事件:接收链路状态数据包,该数据包描述链路中断或度量增加类型的事件,并将使用oFIB进行处理。

ACTION:

行动:

Set state to OFIB_ABANDONED.

将状态设置为OFIB_放弃。

Reset Hold_down_timer.

重置按住计时器。

Trigger AAH mechanism.

触发AAH机制。

EVENT: Reception of a Link State Packet that describes an event of the type link A--B up or metric decrease and is to be processed using oFIB.

事件:接收链路状态数据包,该数据包描述链路a--B up或度量减少类型的事件,并将使用oFIB进行处理。

ACTION:

行动:

ofib_current_common_set = intersection(ofib_current_common_set,{A,B}).

ofib_current_common_set=交集(ofib_current_common_set,{A,B})。

If ofib_current_common_set is empty, then there is no longer a common node in the set of pending link-state changes.

如果ofib_current_common_集为空,则挂起的链接状态更改集中不再有公共节点。

Set state to OFIB_ABANDONED.

将状态设置为OFIB_放弃。

Reset Hold_down_timer.

重置按住计时器。

Trigger AAH mechanism.

触发AAH机制。

If ofib_current_common set is not empty, update the waiting list and notification list as defined in Section 4. Note that in the case of a single link event, the Link State Packet received when the router is in this state describes the state change of the other direction of the link; hence, no changes will be made to the waiting and notification lists.

如果ofib_current_common set不为空,则更新第4节中定义的等待列表和通知列表。注意,在单链路事件的情况下,当路由器处于该状态时接收的链路状态分组描述链路的另一方向的状态改变;因此,等候名单和通知名单将不作任何更改。

EVENT: Reception of a completion message.

事件:接收完成消息。

ACTION: Remove the sender from the waiting list associated with the event identified in the completion message.

操作:从与完成消息中标识的事件关联的等待列表中删除发件人。

EVENT: Hold_down_timer expires.

事件:按住计时器过期。

ACTION:

行动:

Set state to OFIB_ONGOING.

将状态设置为OFIB_正在进行。

Start rank_timer with computed rank.

用计算出的秩启动秩\计时器。

7.4. OFIB_ONGOING
7.4. OFIB_正在进行

OFIB_ONGOING is the state of a router that is applying the ordering mechanism with respect to the set of Link State Packets collected when in OFIB_HOLDING_DOWN or OFIB_HOLDING_UP state.

OFIB_Continuous是路由器的状态,该路由器在OFIB_保持向下或OFIB_保持向上状态时,针对收集的链路状态数据包集应用排序机制。

EVENT: rank_timer expires or waiting list becomes empty.

事件:排名计时器过期或等待列表变为空。

ACTION:

行动:

Perform FIB updates according to the change.

根据更改执行FIB更新。

Send completion message to each member of the notification list.

向通知列表的每个成员发送完成消息。

Set state to OFIB_STABLE.

将状态设置为OFIB_稳定。

EVENT: Reception of a completion message.

事件:接收完成消息。

ACTION: Remove the sender from the waiting list.

操作:从等待列表中删除发件人。

EVENT: Reception of a Link State Packet describing a link-state change event.

事件:接收描述链路状态改变事件的链路状态包。

ACTION:

行动:

Set state to OFIB_ABANDONED.

将状态设置为OFIB_放弃。

Trigger AAH.

触发啊。

Start Hold_down_timer.

启动按住计时器。

7.5. OFIB_ABANDONED
7.5. 奥菲布被遗弃

OFIB_ABANDONED is the state of a router that has fallen back to fast convergence due to the reception of Link State Packets that cannot be dealt with together using oFIB.

OFIB_是由于接收到无法使用OFIB一起处理的链路状态数据包而退回到快速收敛状态的路由器状态。

EVENT: Reception of a Link State Packet describing a link-state change event.

事件:接收描述链路状态改变事件的链路状态包。

ACTION: Trigger AAH, reset AAH_Hold_down_timer.

操作:触发AAH,重置AAH\u按住\u定时器。

EVENT: AAH_Hold_down_timer expires.

事件:啊,按住计时器过期。

ACTION: Set state to OFIB_STABLE.

操作:将状态设置为OFIB_稳定。

8. Management Considerations
8. 管理考虑

A system for recording the dynamics of the convergence process needs to be deployed in order to make a post hoc diagnosis of the reconvergence. The sensitivity of applications to any packet reordering introduced by the delayed convergence process will need to be studied. However, these needs apply to any loop-free convergence method and are not specific to the ordered FIB method described in this document.

需要部署一个记录收敛过程动态的系统,以便对再收敛进行事后诊断。需要研究应用程序对延迟收敛过程引入的任何分组重新排序的敏感性。然而,这些需求适用于任何无环收敛方法,并且不特定于本文档中描述的有序FIB方法。

9. Security Considerations
9. 安全考虑

This document requires only minor modifications to existing routing protocols and therefore does not add significant additional security risks. However, a full security analysis would need to be provided within the protocol-specific specifications proposed for deployment.

本文档只需要对现有路由协议进行少量修改,因此不会增加重大的额外安全风险。但是,需要在拟议部署的特定于协议的规范中提供全面的安全分析。

Security considerations related to timer values set by routers are noted in Appendix B.4.

与路由器设置的计时器值相关的安全注意事项见附录B.4。

10. Acknowledgments
10. 致谢

We would like to thank Jean-Philippe Vasseur and Les Ginsberg for their useful suggestions and comments.

我们要感谢让·菲利普·瓦塞尔和莱斯·金斯伯格提出的有益建议和意见。

11. Informative References
11. 资料性引用

[IPFRR-TUNNELS] Bryant, S., Filsfils, C., Previdi, S., and M. Shand, "IP Fast Reroute using tunnels", Work in Progress, November 2007.

[IPFRR-隧道]Bryant,S.,Filsfils,C.,Previdi,S.,和M.Shand,“使用隧道的IP快速重路由”,正在进行的工作,2007年11月。

[ISO10589] International Organization for Standardization, "Intermediate system to Intermediate system intra-domain routing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)", ISO/IEC 10589:2002, Second Edition, November 2002.

[ISO10589]国际标准化组织,“与提供无连接模式网络服务协议一起使用的中间系统到中间系统域内路由信息交换协议(ISO 8473)”,ISO/IEC 10589:2002,第二版,2002年11月。

[LF-TIMERS] Atlas, A., Bryant, S., and M. Shand, "Synchronisation of Loop Free Timer Values", Work in Progress, February 2008.

[LF-TIMERS]Atlas,A.,Bryant,S.,和M.Shand,“无环路定时器值的同步”,正在进行的工作,2008年2月。

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

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

[RFC4090] Pan, P., Swallow, G., and A. Atlas, "Fast Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, May 2005.

[RFC4090]Pan,P.,Swallow,G.,和A.Atlas,“LSP隧道RSVP-TE快速重路由扩展”,RFC 40902005年5月。

[RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", RFC 5714, January 2010.

[RFC5714]Shand,M.和S.Bryant,“IP快速重路由框架”,RFC 5714,2010年1月。

[RFC5715] Shand, M. and S. Bryant, "A Framework for Loop-Free Convergence", RFC 5715, January 2010.

[RFC5715]Shand,M.和S.Bryant,“无环收敛框架”,RFC 5715,2010年1月。

[refs.PFOB07] Francois, P. and O. Bonaventure, "Avoiding transient loops during the convergence of link-state routing protocols", IEEE/ACM Transactions on Networking, Vol. 15, No. 6, pp. 1280-1292, December 2007, <http://dx.doi.org/10.1109/TNET.2007.902686>.

[参考文献PFOB07]Francois,P.和O.Bonaventure,“在链路状态路由协议的收敛过程中避免瞬态环路”,IEEE/ACM网络交易,第15卷,第6期,第1280-1292页,2007年12月<http://dx.doi.org/10.1109/TNET.2007.902686>.

Appendix A. Candidate Methods of Safely Abandoning Loop-Free Convergence (AAH)

附录A.安全放弃无环收敛(AAH)的候选方法

IP Fast Reroute [RFC5714] and loop-free convergence techniques [RFC5715] can deal with single topology change events, multiple correlated change events, and in some cases even certain uncorrelated events. However, in all cases, there are events that cannot be dealt with, and the mechanism needs to quickly revert to normal convergence. This is known as "Abandoning All Hope" (AAH).

IP快速重路由[RFC5714]和无环路收敛技术[RFC5715]可以处理单个拓扑更改事件、多个相关更改事件,在某些情况下甚至可以处理某些不相关事件。然而,在所有情况下,都存在无法处理的事件,该机制需要迅速恢复正常收敛。这被称为“放弃所有希望”(啊)。

This appendix describes the outcome of a design study into the AAH problem and is included here to trigger discussion on the trade-offs between complexity and robustness in the AAH solution space.

本附录描述了AAH问题设计研究的结果,包括在这里,以引发对AAH解决方案空间中复杂性和稳健性之间权衡的讨论。

A.1. Possible Solutions
A.1. 可能的解决方案

Two approaches to this problem have been proposed:

针对这一问题提出了两种方法:

1. Hold-down timer only.

1. 只按下计时器。

2. Synchronization of AAH state using AAH messages.

2. 使用AAH消息同步AAH状态。

They are described below.

下文将对其进行说明。

A.2. Hold-Down Timer Only
A.2. 仅限按下计时器

The "hold-down timer only" AAH method uses a hold-down to acquire a set of LSPs that should be processed together. On expiry of the local hold-down timer, the router begins processing the batch of LSPs according to the loop-free prevention algorithm.

“仅限按住计时器”AAH方法使用按住来获取一组应一起处理的LSP。在本地保持计时器到期时,路由器开始根据无环路预防算法处理该批LSP。

There are a number of problems with this simple approach. In some cases, the timer value will be too short to ensure that all the related events have arrived at all routers (perhaps because there was some unexpected propagation delay, or one or more of the events are slow in being detected). In other cases, a completely unrelated event may occur after the timer has expired but before the processing is complete. In addition, since the timer is started at each router on reception of the first LSP announcing a topology change, the actual starting time is dependent upon the propagation time of the first LSP. So, for a subsequent event occurring around the time of the timer expiry, because of variations in propagation delay, it may reach some routers before the timer expires and others after it has expired. In the former case, this LSP will be included in the set of changes to be considered; while in the latter, it will be excluded leading to serious routing inconsistency. In such cases, continuing to operate the loop-free convergence protocol may exacerbate the situation.

这种简单的方法存在许多问题。在某些情况下,计时器值太短,无法确保所有相关事件都已到达所有路由器(可能是因为存在一些意外的传播延迟,或者一个或多个事件的检测速度较慢)。在其他情况下,计时器过期后但处理完成之前,可能会发生完全无关的事件。此外,由于定时器在接收到宣布拓扑改变的第一LSP时在每个路由器处启动,因此实际启动时间取决于第一LSP的传播时间。因此,对于在计时器到期前后发生的后续事件,由于传播延迟的变化,它可能在计时器到期之前到达一些路由器,而在计时器到期之后到达其他路由器。在前一种情况下,该LSP将包括在待考虑的变更集合中;而在后者中,它将被排除,导致严重的路由不一致。在这种情况下,继续运行无环收敛协议可能会加剧这种情况。

The simple approach to this would be to revert to normal convergence (AAH) whenever an LSP is received after the timer has expired. However, this also has problems for the reasons above and therefore AAH must be a synchronous operation, i.e., it is necessary to arrange that an AAH invoked anywhere in the network causes ALL routers to invoke AAH.

解决这一问题的简单方法是,只要在计时器过期后收到LSP,就恢复到正常收敛(AAH)。然而,由于上述原因,这也存在问题,因此AAH必须是同步操作,即,有必要安排在网络中任何位置调用的AAH会导致所有路由器调用AAH。

It is also necessary to consider the means of exiting the AAH state. Again, the simplest method is to use a timer. However, while in AAH state, any topology changes that are previously received or subsequently received should be processed immediately using the traditional convergence algorithms, i.e., without invoking controlled convergence. If the exit from the AAH state is not correctly synchronized, a new event may be processed by some routers immediately (as AAH), while those that have already left AAH state will treat it as the first of a new batch of changes and attempt controlled convergence. Thus, both entry and exit from the AAH state need to be synchronized. A method of achieving this is described in Appendix A.3.

也有必要考虑退出AAH状态的方法。同样,最简单的方法是使用计时器。然而,当处于AAH状态时,应立即使用传统收敛算法处理先前接收或随后接收到的任何拓扑更改,即不调用受控收敛。如果从AAH状态的退出未正确同步,则某些路由器可能会立即(作为AAH)处理新事件,而那些已经离开AAH状态的路由器则会将其视为新一批更改中的第一个,并尝试控制收敛。因此,AAH状态的进入和退出都需要同步。附录A.3中描述了实现这一点的方法。

A.3. AAH Messages
A.3. 啊,消息

Like the simple timer AAH method, the "AAH messages" method uses a hold-down to acquire a set of LSPs that should be processed together. On expiry of the local hold-down timer, the router begins processing the batch of LSPs according to the loop-free prevention algorithm. This is the same behavior as the hold-down timer only method. However, if any router, having started the loop-free convergence process receives an LSP that would trigger a topology change, it locally abandons the controlled convergence process and sends an AAH message to all its neighbors. This eventually triggers all routers to abandon the controlled convergence. The routers remain in AAH state (i.e., processing topology changes using normal "fast" convergence), until a period of quiescence has elapsed. The exit from AAH state is synchronized by using a two-step process. To achieve the required synchronization, two additional messages are required, AAH and AAH ACK. The AAH message is reliably exchanged between neighbors using the AAH ACK message. These could be implemented as a new message within the routing protocol or carried in existing routing hello messages. Two types of state machines are needed -- a per-router AAH state machine and a per-neighbor AAH state machine (PNSM). These are described below.

与简单的计时器AAH方法一样,“AAH messages”方法使用按住键来获取一组应该一起处理的lsp。在本地保持计时器到期时,路由器开始根据无环路预防算法处理该批LSP。这与仅按住计时器的方法的行为相同。但是,如果启动无环收敛过程的任何路由器接收到将触发拓扑更改的LSP,它将在本地放弃受控收敛过程,并向其所有邻居发送AAH消息。这最终会触发所有路由器放弃受控聚合。路由器保持AAH状态(即,使用正常的“快速”收敛处理拓扑变化),直到经过一段时间的静止。AAH状态的退出通过使用两步过程进行同步。为了实现所需的同步,需要另外两条消息,AAH和AAH ACK。使用AAH ACK消息在邻居之间可靠地交换AAH消息。这些消息可以作为路由协议中的新消息实现,也可以包含在现有的路由hello消息中。需要两种类型的状态机——每路由器AAH状态机和每邻居AAH状态机(PNSM)。下文对这些问题进行了说明。

A.3.1. Per-Router State Machine
A.3.1. 每路由器状态机
   +-------------+----------+---------+--------+------------+----------+
   | EVENT       |    Q     |   Hold  |   CC   |     AAH    | AAH-hold |
   +=============+==========+=========+========+============+==========+
   | RX LSP      |  Start   |    -    | TX-AAH |  Restart   |  TX-AAH  |
   | triggering  |hold-down |         | Start  | AAH timer. |   Start  |
   | change      |  timer.  |         |  AAH   |   [AAH]    |    AAH   |
   |             |  [Hold]  |         | timer. |            |   timer. |
   |             |          |         | [AAH]  |            |   [AAH]  |
   +-------------+----------+---------+--------+------------+----------+
   | RX AAH      |  TX-AAH  |  TX-AAH | TX-AAH |    [AAH]   |  TX-AAH  |
   |(Neighbor's  |Start AAH |  Start  | Start  |            |   Start  |
   |  PNSM       |  timer.  |   AAH   |  AAH   |            |    AAH   |
   |  processes  |  [AAH]   |  timer. | timer. |            |   timer. |
   |  RX AAH.)   |          |  [AAH]  | [AAH]  |            |   [AAH]  |
   +-------------+----------+---------+--------+------------+----------+
   | Timer       |    -     | Trigger |    -   |    Start   |    [Q]   |
   | expiry      |          |   CC.   |        |  AAH-hold  |          |
   |             |          |  [CC]   |        |   timer.   |          |
   |             |          |         |        | [AAH-hold] |          |
   +-------------+----------+---------+--------+------------+----------+
   | Controlled  |    -     |    -    |   [Q]  |      -     |     -    |
   | convergence |          |         |        |            |          |
   | completed   |          |         |        |            |          |
   +-------------+----------+---------+--------+------------+----------+
        
   +-------------+----------+---------+--------+------------+----------+
   | EVENT       |    Q     |   Hold  |   CC   |     AAH    | AAH-hold |
   +=============+==========+=========+========+============+==========+
   | RX LSP      |  Start   |    -    | TX-AAH |  Restart   |  TX-AAH  |
   | triggering  |hold-down |         | Start  | AAH timer. |   Start  |
   | change      |  timer.  |         |  AAH   |   [AAH]    |    AAH   |
   |             |  [Hold]  |         | timer. |            |   timer. |
   |             |          |         | [AAH]  |            |   [AAH]  |
   +-------------+----------+---------+--------+------------+----------+
   | RX AAH      |  TX-AAH  |  TX-AAH | TX-AAH |    [AAH]   |  TX-AAH  |
   |(Neighbor's  |Start AAH |  Start  | Start  |            |   Start  |
   |  PNSM       |  timer.  |   AAH   |  AAH   |            |    AAH   |
   |  processes  |  [AAH]   |  timer. | timer. |            |   timer. |
   |  RX AAH.)   |          |  [AAH]  | [AAH]  |            |   [AAH]  |
   +-------------+----------+---------+--------+------------+----------+
   | Timer       |    -     | Trigger |    -   |    Start   |    [Q]   |
   | expiry      |          |   CC.   |        |  AAH-hold  |          |
   |             |          |  [CC]   |        |   timer.   |          |
   |             |          |         |        | [AAH-hold] |          |
   +-------------+----------+---------+--------+------------+----------+
   | Controlled  |    -     |    -    |   [Q]  |      -     |     -    |
   | convergence |          |         |        |            |          |
   | completed   |          |         |        |            |          |
   +-------------+----------+---------+--------+------------+----------+
        

RX = Reception TX = Transmission TX-AAH = Send "go to TX-AAH" to all other PNSMs.

RX=接收TX=传输TX-AAH=向所有其他PNSMs发送“转到TX-AAH”。

Per-Router State Table

每路由器状态表

Operation of the per-router state machine is as follows:

每个路由器状态机的操作如下:

Operation of this state machine under normal topology change involves only states: Quiescent (Q), Hold-down (Hold) and Controlled Convergence (CC). The remaining states are associated with an AAH event.

这种状态机在正常拓扑变化下的操作只涉及状态:静态(Q)、保持(Hold)和受控收敛(CC)。其余状态与AAH事件关联。

The resting state is Quiescent. When the router in the Quiescent state receives an LSP indicating a topology change, which would normally trigger an SPF, it starts the hold-down timer and changes state to Hold-down. It normally remains in this state, collecting additional LSPs until the hold-down timer expires. Note that all routers must use a common value for the hold-down timer. When the hold-down timer expires, the router then enters Controlled

静止状态是静止的。当处于静态状态的路由器接收到一个指示拓扑变化的LSP(通常会触发SPF)时,它启动保持计时器并将状态更改为保持。它通常保持此状态,收集额外的LSP,直到按下计时器过期。请注意,所有路由器都必须使用一个公用值作为按下计时器。当按下计时器过期时,路由器进入受控状态

Convergence (CC) state and executes the CC mechanism to reconverge the topology. When the CC process has completed on the router, the router re-enters the Quiescent state.

收敛(CC)状态并执行CC机制以重新收敛拓扑。当CC进程在路由器上完成时,路由器重新进入静止状态。

If this router receives a topology-changing LSP whilst it is in the CC state, it enters AAH state and sends a "go to TX-AAH" command to all per-neighbor state machines; this causes each per-neighbor state machine to signal this state change to its neighbor. Alternatively, if this router receives an AAH message from any of its neighbors whilst in any state except AAH, it starts the AAH timer and enters the AAH state. The per-neighbor state machine corresponding to the neighbor from which the AAH was received executes the RX AAH action (which causes it to send an AAH ACK), while the remainder of neighbors are sent the "go to TX-AAH" command. The result is that the AAH is acknowledged to the neighbor from which it was received and propagated to all other neighbors. On entering AAH state, all CC timers are expired, and normal convergence takes place.

如果此路由器在CC状态下接收到拓扑变化LSP,则它将进入AAH状态,并向所有每邻居状态机发送“转到TX-AAH”命令;这会导致每个每邻居状态机向其邻居发送此状态更改的信号。或者,如果此路由器在除AAH以外的任何状态下从其任何邻居接收AAH消息,则它将启动AAH计时器并进入AAH状态。与接收AAH的邻居相对应的每邻居状态机执行RX AAH操作(导致其发送AAH ACK),而其余邻居则发送“转到TX-AAH”命令。结果是AAH向接收到它的邻居确认,并传播到所有其他邻居。在进入AAH状态时,所有CC计时器都将过期,并发生正常收敛。

Whilst in the AAH state, LSPs are processed in the traditional manner. Each time an LSP is received, the AAH timer is restarted. In an unstable network, ALL routers will remain in this state for some time, and the network will behave in the traditional uncontrolled convergence manner.

在AAH状态下,LSP以传统方式处理。每次收到LSP时,AAH计时器都会重新启动。在一个不稳定的网络中,所有路由器将在一段时间内保持这种状态,网络将以传统的不受控制的收敛方式运行。

When the AAH timer expires, the router enters AAH-hold state and starts the AAH-hold timer. The purpose of the AAH-hold state is to synchronize the transition of the network from AAH to Quiescent. The additional state ensures that the network cannot contain a mixture of routers in both AAH and Quiescent states. If, whilst in AAH-hold state the router receives a topology changing LSP, it re-enters AAH state and commands all per-neighbor state machines to "go to TX-AAH". If, whilst in AAH-hold state, the router receives an AAH message from one of its neighbors, it re-enters the AAH state and commands all other per-neighbor state machines to "go to TX-AAH". Note that the per-neighbor state machine receiving the AAH message will autonomously acknowledge receipt of the AAH message. Commanding the per-neighbor state machine to "go to TX-AAH" is necessary, because routers may be in a mixture of Quiescent, Hold-down, and AAH-hold states, and it is necessary to rendezvous the entire network back to AAH state.

当AAH计时器过期时,路由器进入AAH hold状态并启动AAH hold计时器。AAH保持状态的目的是同步网络从AAH到静态的转换。附加状态确保网络不能同时包含AAH和静态状态下的路由器。如果在AAH保持状态下,路由器接收到拓扑变化LSP,它将重新进入AAH状态,并命令所有每邻居状态机“转到TX-AAH”。如果在AAH hold状态下,路由器从其一个邻居接收到AAH消息,它将重新进入AAH状态,并命令所有其他每邻居状态机“转到TX-AAH”。请注意,接收AAH消息的每邻居状态机将自动确认收到AAH消息。命令每邻居状态机“转到TX-AAH”是必要的,因为路由器可能处于静态、按住和AAH保持状态的混合状态,并且有必要将整个网络会合回AAH状态。

When the AAH-hold timer expires, the router changes to Quiescent and is ready for loop-free convergence.

当AAH hold计时器过期时,路由器将变为静态,并准备进行无环聚合。

A.3.2. Per-Neighbor State Machine
A.3.2. 每邻居状态机
   +----------------------------+--------------+-----------------------+
   | EVENT                      | IDLE         | TX-AAH                |
   +============================+==============+=======================+
   | RX AAH                     | Send ACK.    | Send ACK.             |
   |                            | [IDLE]       | Cancel timer.         |
   |                            |              | [IDLE]                |
   +----------------------------+--------------+-----------------------+
   | RX ACK                     | ignore       | Cancel timer.         |
   |                            |              | [IDLE]                |
   +----------------------------+--------------+-----------------------+
   | RX "go to TX-AAH" from     | Send AAH     | ignore                |
   | Router State Machine       | [TX-AAH]     |                       |
   +----------------------------+--------------+-----------------------+
   | Timer expires              | impossible   | Send AAH              |
   |                            |              | Restart timer.        |
   |                            |              | [TX-AAH]              |
   +----------------------------+--------------+-----------------------+
        
   +----------------------------+--------------+-----------------------+
   | EVENT                      | IDLE         | TX-AAH                |
   +============================+==============+=======================+
   | RX AAH                     | Send ACK.    | Send ACK.             |
   |                            | [IDLE]       | Cancel timer.         |
   |                            |              | [IDLE]                |
   +----------------------------+--------------+-----------------------+
   | RX ACK                     | ignore       | Cancel timer.         |
   |                            |              | [IDLE]                |
   +----------------------------+--------------+-----------------------+
   | RX "go to TX-AAH" from     | Send AAH     | ignore                |
   | Router State Machine       | [TX-AAH]     |                       |
   +----------------------------+--------------+-----------------------+
   | Timer expires              | impossible   | Send AAH              |
   |                            |              | Restart timer.        |
   |                            |              | [TX-AAH]              |
   +----------------------------+--------------+-----------------------+
        

Per-Neighbor State Table

每邻居状态表

There is one instance of the per-neighbor state machine (PNSM) for each neighbor within the convergence control domain.

收敛控制域内的每个邻居都有一个每邻居状态机(PNSM)实例。

The normal state is IDLE.

正常状态为空闲。

On command ("go to TX-AAH") from the router state machine, the state machine enters TX-AAH state, transmits an AAH message to its neighbor, and starts a timer.

根据路由器状态机发出的命令(“转到TX-AAH”),状态机进入TX-AAH状态,向其邻居发送AAH消息,并启动计时器。

On receipt of an AAH ACK in state TX-AAH, the state machine cancels the timer and enters IDLE state.

在接收到状态为TX-AAH的AAH ACK时,状态机取消计时器并进入空闲状态。

In state IDLE, any AAH ACK message received is ignored.

在空闲状态下,将忽略接收到的任何AAH ACK消息。

On expiry of the timer in state TX-AAH, the state machine transmits an AAH message to the neighbor and restarts the timer. (The timer cannot expire in any other state.)

在状态TX-AAH的计时器到期时,状态机向邻居发送AAH消息并重新启动计时器。(计时器不能在任何其他状态下过期。)

In any state, receipt of an AAH causes the state machine to transmit an AAH ACK and enter the IDLE state.

在任何状态下,收到AAH都会导致状态机发送AAH ACK并进入空闲状态。

Note that for correct operation the state machine must remain in state TX-AAH until an AAH ACK or an AAH is received or until the state machine is deleted. Deletion of the per-neighbor state machine occurs when routing determines that the neighbor has gone away or when the interface goes away.

请注意,为了正确操作,状态机必须保持在状态TX-AAH,直到收到AAH ACK或AAH,或者直到状态机被删除。当路由确定邻居已离开或接口离开时,会删除每邻居状态机。

When routing detects a new neighbor, it creates a new instance of the per-neighbor state machine in state IDLE. The consequent generation of the router's own LSP will then cause the router state machine to execute the LSP receipt actions that, if necessary, will result in the new per-neighbor state machine receiving a "go to TX-AAH" command and transitioning to TX-AAH state.

当路由检测到新邻居时,它会在空闲状态下创建每个邻居状态机的新实例。路由器自身LSP的后续生成将导致路由器状态机执行LSP接收操作,如有必要,将导致新的每邻居状态机接收“转到TX-AAH”命令并转换到TX-AAH状态。

Appendix B. Synchronization of Loop-Free Timer Values
附录B.无回路定时器值的同步

This appendix provides the reader with access to the design considerations originally described in [LF-TIMERS].

本附录为读者提供了[LF-TIMERS]中最初描述的设计注意事项。

B.1. Introduction
B.1. 介绍

Most of the loop-free convergence mechanisms [RFC5715] require one or more convergence delay timers that must have a duration that is consistent throughout the routing domain. This time is the worst-case time that any router will take to calculate the new topology and to make the necessary changes to the FIB. The timer is used by the routers to know when it is safe to transition between the loop-free convergence states. The time taken by a router to complete each phase of the loop-free transition will be dependent on the size of the network and the design and implementation of the router. Therefore, it can be expected that the optimum delay will need to be tuned from time to time as the network evolves. Manual configuration of the timer is fraught for two reasons. Firstly, it is always difficult to ensure that the correct value is installed in all of the routers. Secondly, if any change is introduced into the network that results in a need to change the timer (for example, due to a change in hardware or software version), then all of the routers need to be reconfigured to use the new timer value. Therefore, it is desirable that a means be provided by which the convergence delay timer can be automatically synchronized throughout the network.

大多数无环收敛机制[RFC5715]需要一个或多个收敛延迟计时器,其持续时间必须在整个路由域内保持一致。这是任何路由器计算新拓扑和对FIB进行必要更改所需的最坏情况时间。路由器使用定时器来知道何时可以在无环收敛状态之间安全过渡。路由器完成无环路转换的每个阶段所需的时间将取决于网络的大小以及路由器的设计和实现。因此,可以预期,随着网络的发展,需要不时调整最佳延迟。计时器的手动配置有两个原因。首先,总是很难确保在所有路由器中安装正确的值。其次,如果在网络中引入任何更改导致需要更改计时器(例如,由于硬件或软件版本的更改),则需要重新配置所有路由器以使用新的计时器值。因此,期望提供一种能够在整个网络中自动同步收敛延迟定时器的方法。

B.2. Required Properties
B.2. 所需属性

The timer synchronization mechanism must have the following properties:

计时器同步机制必须具有以下属性:

o The convergence delay time must be consistent amongst all routers that are converging on the new topology.

o 收敛延迟时间必须在所有在新拓扑上收敛的路由器之间保持一致。

o The convergence delay time must be the highest delay required by any router in the new topology.

o 收敛延迟时间必须是新拓扑中任何路由器所需的最高延迟。

o The mechanism must increase the delay when a new router that requires a higher delay than is currently in use is introduced to the network.

o 当网络中引入需要比当前使用的更高延迟的新路由器时,该机制必须增加延迟。

o When the router that had the longest delay requirements is removed from the topology, the convergence delay timer value must, within some reasonable time, be reduced to the longest delay required by the remaining routers.

o 当具有最长延迟要求的路由器从拓扑中移除时,收敛延迟计时器值必须在某个合理的时间内减少到剩余路由器所需的最长延迟。

o It must be possible for a router to change the convergence delay timer value that it requires.

o 路由器必须能够更改所需的收敛延迟计时器值。

o A router that is in multiple routing areas or is running multiple routing protocols may signal a different loop-free convergence delay for each area and for each protocol.

o 位于多个路由区域或运行多个路由协议的路由器可能会为每个区域和每个协议发出不同的无环路收敛延迟信号。

How a router determines the time that it needs to execute each convergence phase is an implementation issue and outside the scope of this specification. However, a router that dynamically determines its proposed timer value must do so in such a way that it does not cause the synchronized value to continually fluctuate.

路由器如何确定执行每个收敛阶段所需的时间是一个实现问题,超出了本规范的范围。但是,动态确定其建议的计时器值的路由器必须这样做,即它不会导致同步值持续波动。

B.3. Mechanism
B.3. 机械装置

The following mechanism is proposed.

提出了以下机制。

A new information element is introduced into the routing protocol that specifies the maximum time (in milliseconds) that the router will take to calculate the new topology and to update its FIB as a result of any topology change.

路由协议中引入了一个新的信息元素,该元素指定了路由器计算新拓扑和更新其FIB所需的最长时间(以毫秒为单位)。

When a topology change occurs, the longest convergence delay time required by any router in the new topology is used by the loop-free convergence mechanism.

当拓扑发生变化时,无环收敛机制使用新拓扑中任何路由器所需的最长收敛延迟时间。

If a routing protocol message is issued that changes the convergence delay timer value but does not change the topology, the new timer value must be taken into consideration during the next loop-free transition but must not instigate a loop-free transition.

如果发出的路由协议消息更改了收敛延迟计时器值,但没有更改拓扑,则在下一次无循环转换期间必须考虑新的计时器值,但不得引发无循环转换。

If a routing protocol message is issued that changes the convergence timer value and changes the topology, a loop-free transition is instigated, and the new timer value is taken into consideration.

如果发出的路由协议消息更改了收敛计时器值并更改了拓扑,则会启动无循环转换,并考虑新的计时器值。

The loop-free convergence mechanism should specify the action to be taken if a timer change (only) message and a topology change message are independently generated during the hold-off time. A suitable action would be to take the same action that would be taken if two uncorrelated topology changes occurred in the network.

如果在暂停时间内独立生成计时器更改(仅限)消息和拓扑更改消息,则无循环收敛机制应指定要采取的操作。如果网络中发生两个不相关的拓扑变化,则适当的操作是采取相同的操作。

All routers that support loop-free convergence must advertise a loop-free convergence delay time. The loop-free convergence mechanism must specify the action to be taken if a router does not advertise a convergence delay time.

所有支持无环收敛的路由器必须公布无环收敛延迟时间。无环收敛机制必须指定在路由器未公布收敛延迟时间时要采取的操作。

B.4. Security Considerations Related to Router Timer Values
B.4. 与路由器计时器值相关的安全注意事项

If an abnormally large timer value is proposed by a router, then there is a danger that the loop-free convergence process will take an excessive amount of time. If during that time the routing protocol signals the need for another transition, the loop-free transition will be abandoned and the default best-case (traditional) convergence mechanism used.

如果路由器提出了异常大的计时器值,则无环收敛过程将花费过多的时间。如果在此期间路由协议发出需要另一个转换的信号,则无循环转换将被放弃,并使用默认的最佳情况(传统)收敛机制。

It is still undesirable that the routers select a convergence delay time that has an excessive value. The maximum value that can be specified in the LSP or Link State Advertisement (LSA) is limited (through the use of a 16-bit field) to about 65 seconds. When sufficient implementation experience is gained, an architectural constant will be specified as the upper limit of the convergence delay timer.

仍然不希望路由器选择具有过大值的收敛延迟时间。可以在LSP或链路状态通告(LSA)中指定的最大值(通过使用16位字段)限制在大约65秒。当获得足够的实施经验时,将指定一个体系结构常数作为收敛延迟计时器的上限。

Authors' Addresses

作者地址

Mike Shand Individual Contributor

迈克·尚德个人投稿人

   EMail: imc.shand@googlemail.com
        
   EMail: imc.shand@googlemail.com
        

Stewart Bryant Cisco Systems 10 New Square, Bedfont Lakes Feltham, Middlesex TW18 8HA United Kingdom

斯图尔特·布莱恩特·思科系统10新广场,英国米德尔塞克斯州贝德丰湖费尔瑟姆,TW18 8HA

   EMail: stbryant@cisco.com
        
   EMail: stbryant@cisco.com
        

Stefano Previdi Cisco Systems Via Del Serafico 200 00142 Roma Italy

Stefano Previdi Cisco Systems Via Del Serafico 200 00142意大利罗马

   EMail: sprevidi@cisco.com
        
   EMail: sprevidi@cisco.com
        

Clarence Filsfils Cisco Systems Brussels Belgium

Clarence Filsfils思科系统比利时布鲁塞尔

   EMail: cfilsfil@cisco.com
        
   EMail: cfilsfil@cisco.com
        

Pierre Francois Institute IMDEA Networks Avda. del Mar Mediterraneo, 22 Leganese 28918 Spain

皮埃尔·弗朗索瓦研究所IMDEA网络Avda。德尔马尔地中海,22勒加内斯28918西班牙

   EMail: pierre.francois@imdea.org
        
   EMail: pierre.francois@imdea.org
        

Olivier Bonaventure Universite catholique de Louvain Place Ste Barbe, 2 Louvain-la-Neuve 1348 Belgium

奥利维尔·博纳文图拉天主教大学卢旺广场圣巴尔贝,2卢旺拉纽韦1348比利时

   EMail: Olivier.Bonaventure@uclouvain.be
   URI:   http://inl.info.ucl.ac.be/
        
   EMail: Olivier.Bonaventure@uclouvain.be
   URI:   http://inl.info.ucl.ac.be/