Internet Engineering Task Force (IETF)                          K. Ogawa
Request for Comments: 7121                               NTT Corporation
Updates: 5810                                                    W. Wang
Category: Standards Track                  Zhejiang Gongshang University
ISSN: 2070-1721                                            E. Haleplidis
                                                    University of Patras
                                                           J. Hadi Salim
                                                       Mojatatu Networks
                                                           February 2014
        
Internet Engineering Task Force (IETF)                          K. Ogawa
Request for Comments: 7121                               NTT Corporation
Updates: 5810                                                    W. Wang
Category: Standards Track                  Zhejiang Gongshang University
ISSN: 2070-1721                                            E. Haleplidis
                                                    University of Patras
                                                           J. Hadi Salim
                                                       Mojatatu Networks
                                                           February 2014
        

High Availability within a Forwarding and Control Element Separation (ForCES) Network Element

转发和控制元素分离(ForCES)网元内的高可用性

Abstract

摘要

This document discusses Control Element (CE) High Availability (HA) within a Forwarding and Control Element Separation (ForCES) Network Element (NE). Additionally, this document updates RFC 5810 by providing new normative text for the Cold Standby High Availability mechanism.

本文档讨论转发和控制元素分离(ForCES)网元(NE)内的控制元素(CE)高可用性(HA)。此外,本文件还更新了RFC 5810,为冷备用高可用性机制提供了新的规范性文本。

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

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

Copyright Notice

版权公告

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

版权所有(c)2014 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  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Quantifying Problem Scope . . . . . . . . . . . . . . . .   4
     1.2.  Definitions . . . . . . . . . . . . . . . . . . . . . . .   5
   2.  RFC 5810 CE HA Framework  . . . . . . . . . . . . . . . . . .   7
     2.1.  RFC 5810 CE HA Support  . . . . . . . . . . . . . . . . .   7
       2.1.1.  Cold Standby Interaction with the ForCES Protocol . .   8
       2.1.2.  Responsibilities for HA . . . . . . . . . . . . . . .  10
   3.  CE HA Hot Standby . . . . . . . . . . . . . . . . . . . . . .  11
     3.1.  Changes to the FEPO Model . . . . . . . . . . . . . . . .  11
     3.2.  FEPO Processing . . . . . . . . . . . . . . . . . . . . .  13
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  19
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  19
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  19
   Appendix A.  New FEPO Version . . . . . . . . . . . . . . . . . .  20
        
   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Quantifying Problem Scope . . . . . . . . . . . . . . . .   4
     1.2.  Definitions . . . . . . . . . . . . . . . . . . . . . . .   5
   2.  RFC 5810 CE HA Framework  . . . . . . . . . . . . . . . . . .   7
     2.1.  RFC 5810 CE HA Support  . . . . . . . . . . . . . . . . .   7
       2.1.1.  Cold Standby Interaction with the ForCES Protocol . .   8
       2.1.2.  Responsibilities for HA . . . . . . . . . . . . . . .  10
   3.  CE HA Hot Standby . . . . . . . . . . . . . . . . . . . . . .  11
     3.1.  Changes to the FEPO Model . . . . . . . . . . . . . . . .  11
     3.2.  FEPO Processing . . . . . . . . . . . . . . . . . . . . .  13
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  19
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  19
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  19
   Appendix A.  New FEPO Version . . . . . . . . . . . . . . . . . .  20
        
1. Introduction
1. 介绍

Figure 1 illustrates a ForCES Network Element (NE) controlled by a set of redundant Control Elements (CEs) with CE1 being active and CE2 and CEn being backups.

图1说明了由一组冗余控制元件(CE)控制的强制网元(NE),CE1处于活动状态,CE2和CEn处于备份状态。

                           -----------------------------------------
                           | ForCES Network Element                |
                           |                        +-----------+  |
                           |                        |  CEn      |  |
                           |                        |  (Backup) |  |
     --------------   Fc   | +------------+      +------------+ |  |
     | CE Manager |--------+-|     CE1    |------|    CE2     |-+  |
     --------------        | |  (Active)  |  Fr  |  (Backup)  |    |
           |               | +-------+--+-+      +---+---+----+    |
           | Fl            |         |  |    Fp      /   |         |
           |               |         |  +---------+ /    |         |
           |               |       Fp|            |/     |Fp       |
           |               |         |            |      |         |
           |               |         |      Fp   /+--+   |         |
           |               |         |  +-------+    |   |         |
           |               |         |  |            |   |         |
     --------------    Ff  | --------+--+--      ----+---+----+    |
     | FE Manager |--------+-|     FE1    |  Fi  |     FE2    |    |
     --------------        | |            |------|            |    |
                           | --------------      --------------    |
                           |   |  |  |  |          |  |  |  |      |
                           ----+--+--+--+----------+--+--+--+-------
                               |  |  |  |          |  |  |  |
                               |  |  |  |          |  |  |  |
                                 Fi/f                   Fi/f
        
                           -----------------------------------------
                           | ForCES Network Element                |
                           |                        +-----------+  |
                           |                        |  CEn      |  |
                           |                        |  (Backup) |  |
     --------------   Fc   | +------------+      +------------+ |  |
     | CE Manager |--------+-|     CE1    |------|    CE2     |-+  |
     --------------        | |  (Active)  |  Fr  |  (Backup)  |    |
           |               | +-------+--+-+      +---+---+----+    |
           | Fl            |         |  |    Fp      /   |         |
           |               |         |  +---------+ /    |         |
           |               |       Fp|            |/     |Fp       |
           |               |         |            |      |         |
           |               |         |      Fp   /+--+   |         |
           |               |         |  +-------+    |   |         |
           |               |         |  |            |   |         |
     --------------    Ff  | --------+--+--      ----+---+----+    |
     | FE Manager |--------+-|     FE1    |  Fi  |     FE2    |    |
     --------------        | |            |------|            |    |
                           | --------------      --------------    |
                           |   |  |  |  |          |  |  |  |      |
                           ----+--+--+--+----------+--+--+--+-------
                               |  |  |  |          |  |  |  |
                               |  |  |  |          |  |  |  |
                                 Fi/f                   Fi/f
        

Fp: CE-FE interface Fi: FE-FE interface Fr: CE-CE interface Fc: Interface between the CE manager and a CE Ff: Interface between the FE manager and an FE Fl: Interface between the CE manager and the FE manager Fi/f: FE external interface

Fp:CE-FE接口Fi:FE-FE接口Fr:CE-CE接口Fc:CE管理器和CE Ff之间的接口:FE管理器和FE Fl之间的接口:CE管理器和FE管理器之间的接口Fi/f:FE外部接口

Figure 1: ForCES Architecture

图1:部队体系结构

The ForCES architecture allows Forwarding Elements (FEs) to be aware of multiple CEs but enforces that only one CE be the master controller. This is known in the industry as 1+N redundancy. The master CE controls the FEs via the ForCES protocol operating on the Fp interface. If the master CE becomes faulty, i.e., crashes or loses connectivity, a backup CE takes over and NE operation

ForCES体系结构允许转发元素(FEs)知道多个CE,但强制只有一个CE是主控制器。这在业界被称为1+N冗余。主CE通过在Fp接口上操作的ForCES协议控制FEs。如果主CE出现故障,即崩溃或失去连接,则由备份CE接管并执行网元操作

continues. By definition, the current documented setup is known as cold standby. The set of CEs controlling an FE is static and is passed to the FE by the FE Manager (FEM) via the Ff interface and to each CE by the CE Manager (CEM) in the Fc interface during the pre-association phase.

继续。根据定义,当前记录的设置称为冷备用。控制FE的CE集是静态的,在预关联阶段,FE管理器(FEM)通过Ff接口传递给FE,并通过Fc接口中的CE管理器(CEM)传递给每个CE。

From an FE perspective, the operational parameters for a CE set are defined as components in the FEPO LFB in [RFC5810], Appendix B. In Section 2.1 of this document, we discuss further details of these parameters.

从FE的角度来看,CE机组的运行参数定义为[RFC5810]附录B中FEPO LFB中的组件。在本文件第2.1节中,我们讨论了这些参数的进一步细节。

It is assumed that the reader is aware of the ForCES architecture to make sense of the changes being described in this document. This document provides background information to set the context of the discussion in Section 3.

假定读者了解ForCES体系结构,从而理解本文档中描述的更改。本文件提供了背景信息,以确定第3节讨论的背景。

At the time of writing, the Fr interface is out of scope for the ForCES architecture. However, it is expected that organizations implementing a set of CEs will need to have the CEs communicate to each other via the Fr interface in order to achieve the synchronization necessary for controlling the FEs.

在撰写本文时,Fr接口超出了ForCES架构的范围。然而,预计实现一组CEs的组织将需要CEs通过Fr接口彼此通信,以实现控制FEs所需的同步。

The problem scope addressed by this document falls into two areas:

本文件涉及的问题范围分为两个方面:

1. To update the description of [RFC5810] with more clarity on how the current cold standby approach operates within the NE cluster.

1. 更新[RFC5810]的说明,以更清楚地了解当前冷备用方法在网元集群内的运行方式。

2. To describe how to evolve the [RFC5810] cold standby setup to a hot standby redundancy setup to improve the failover time and NE availability.

2. 描述如何将[RFC5810]冷备用设置演变为热备用冗余设置,以提高故障切换时间和网元可用性。

1.1. Quantifying Problem Scope
1.1. 量化问题范围

NE recovery and availability is dependent on several time-sensitive metrics:

网元恢复和可用性取决于几个时间敏感指标:

1. How fast the CE plane failure is detected by the FE.

1. FE检测CE平面故障的速度。

2. How fast a backup CE becomes operational.

2. 备份CE的运行速度。

3. How fast the FEs associate with the new master CE.

3. FEs与新主CE的关联速度有多快。

4. How fast the FEs recover their state and become operational. Each FE state is the collective state of all its instantiated LFBs.

4. FEs恢复状态并投入运行的速度。每个FE状态是其所有实例化LFB的集合状态。

The design intent of [RFC5810] as well as this document to meet the above goals is driven by desire for simplicity.

[RFC5810]的设计意图以及本文件满足上述目标的目的是出于对简单性的渴望。

To quantify the above criteria with the current prescribed ForCES CE setup in [RFC5810]:

用[RFC5810]中当前规定的力CE设置量化上述标准:

1. How fast the FE side detects a CE failure is left undefined. To illustrate an extreme scenario, we could have a human operator acting as the monitoring entity to detect faulty CEs. How fast such detection happens could be in the range of seconds to days. A more active monitor on the Fp interface could improve this detection. Usually, the FE will detect a CE failure either by the TML if the Fp interface terminates or by the ForCES protocol by utilizing the ForCES Heartbeat mechanism.

1. FE侧检测CE故障的速度未定义。为了说明一种极端情况,我们可以让一个人工操作员作为监控实体来检测故障的CEs。这种检测发生的速度可能在几秒钟到几天之间。Fp接口上更活跃的监视器可以改进此检测。通常,FE将通过TML(如果Fp接口终止)或ForCES协议(利用ForCES心跳机制)检测CE故障。

2. How fast the backup CE becomes operational is also currently out of scope. In the current setup, a backup CE need not be operational at all (for example, to save power), and therefore it is feasible for a monitoring entity to boot up a backup CE after it detects the failure of the master CE. In Section 3 of this document, we suggest that at least one backup CE be online so as to improve this metric.

2. 备份CE的运行速度目前也超出了范围。在当前设置中,备份CE根本不需要运行(例如,为了节省电源),因此监控实体在检测到主CE故障后启动备份CE是可行的。在本文件第3节中,我们建议至少有一个备份CE联机,以改进此指标。

3. How fast an FE associates with a new master CE is also currently undefined. The cost of an FE connecting and associating adds to the recovery overhead. As mentioned above, we suggest having at least one backup CE online. In Section 3, we propose to remove the connection and association cost on failover by having each FE associate with all online backup CEs after associating to an active/master CE. Note that if an FE pre-associates with at least one backup CE, then the system will be technically operating in hot standby mode.

3. FE与新主CE关联的速度目前也未定义。FE连接和关联的成本增加了恢复开销。如上所述,我们建议至少有一个备份CE在线。在第3节中,我们建议通过让每个FE在与活动/主CE关联后与所有在线备份CE关联,从而消除故障切换时的连接和关联成本。请注意,如果FE预先与至少一个备份CE关联,则系统将在技术上以热备用模式运行。

4. Finally, how fast an FE recovers its state depends on how much NE state exists. By the ForCES current definition, the new master CE assumes zero state on the FE and starts from scratch to update the FE. So, the larger the state, the longer the recovery.

4. 最后,FE恢复其状态的速度取决于存在多少NE状态。根据ForCES current定义,新的主CE假定FE处于零状态,并从头开始更新FE。因此,州越大,复苏的时间就越长。

1.2. Definitions
1.2. 定义

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

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

The following definitions are taken from [RFC3654], [RFC3746], and [RFC5810]. They are repeated here for convenience as needed, but the normative definitions are found in the referenced RFCs:

以下定义取自[RFC3654]、[RFC3746]和[RFC5810]。为方便起见,根据需要在此处重复上述内容,但参考RFC中有规范性定义:

Logical Functional Block (LFB): A template that represents fine-grained, logically separate aspects of FE processing.

逻辑功能块(LFB):表示FE处理的细粒度、逻辑独立方面的模板。

Forwarding Element (FE): A logical entity that implements the ForCES protocol. FEs use the underlying hardware to provide per-packet processing and handling as directed by a CE via the ForCES protocol.

转发元素(FE):实现ForCES协议的逻辑实体。FEs使用底层硬件,按照CE通过ForCES协议的指示,提供每个数据包的处理和处理。

Control Element (CE): A logical entity that implements the ForCES protocol and uses it to instruct one or more FEs on how to process packets. CEs handle functionality such as the execution of control and signaling protocols.

控制元素(CE):实现ForCES协议并使用它指示一个或多个FEs如何处理数据包的逻辑实体。CEs处理控制和信令协议的执行等功能。

ForCES Network Element (NE): An entity composed of one or more CEs and one or more FEs. An NE usually hides its internal organization from external entities and represents a single point of management to entities outside the NE.

强制网元(NE):由一个或多个CE和一个或多个FEs组成的实体。网元通常对外部实体隐藏其内部组织,并表示对网元外部实体的单一管理点。

FE Manager (FEM): A logical entity that operates in the pre-association phase and is responsible for determining to which CE(s) an FE should communicate. This process is called CE discovery and may involve the FE manager learning the capabilities of available CEs.

FE管理器(FEM):在预关联阶段运行的逻辑实体,负责确定FE应与哪些CE通信。此过程称为CE发现,可能涉及FE经理学习可用CE的能力。

CE Manager (CEM): A logical entity that operates in the pre-association phase and is responsible for determining to which FE(s) a CE should communicate. This process is called FE discovery and may involve the CE manager learning the capabilities of available FEs.

CE经理(CEM):在关联前阶段运行的逻辑实体,负责确定CE应与哪些FE通信。此过程称为FE发现,可能涉及CE经理了解可用FE的能力。

ForCES Protocol: The protocol used for communication between CEs and FEs. This protocol does not apply to CE-to-CE communication, FE-to-FE communication, or to communication between FE and CE managers. The ForCES protocol is a master-slave protocol in which FEs are slaves and CEs are masters. This protocol includes both the management of the communication channel (e.g., connection establishment and heartbeats) and the control messages themselves.

强制协议:用于CEs和FEs之间通信的协议。本协议不适用于CE-to-CE通信、FE-to-FE通信或FE与CE经理之间的通信。ForCES协议是一种主从协议,其中FEs是从协议,ce是主协议。该协议包括通信信道的管理(例如,连接建立和心跳)和控制消息本身。

ForCES Protocol Layer (ForCES PL): A layer in the ForCES protocol architecture that defines the ForCES protocol messages, the protocol state transfer scheme, and the ForCES protocol architecture itself (including requirements of ForCES Transport Mapping Layer (TML) as shown below). Specifications of ForCES PL are defined in [RFC5810].

ForCES协议层(ForCES PL):ForCES协议体系结构中的一层,定义ForCES协议消息、协议状态传输方案和ForCES协议体系结构本身(包括如下所示的ForCES传输映射层(TML)要求)。力PL的规格在[RFC5810]中定义。

ForCES Protocol Transport Mapping Layer (ForCES TML): A layer in the ForCES protocol architecture that specifically addresses the protocol message transportation issues, such as how the protocol messages are mapped to different transport media (like Stream

ForCES协议传输映射层(ForCES TML):ForCES协议体系结构中的一个层,专门解决协议消息传输问题,例如协议消息如何映射到不同的传输媒体(如流媒体)

Control Transmission Protocol (SCTP), IP, TCP, UDP, ATM, Ethernet, etc.), and how to achieve and implement reliability, security, etc.

控制传输协议(SCTP)、IP、TCP、UDP、ATM、以太网等),以及如何实现和实现可靠性、安全性等。

2. RFC 5810 CE HA Framework
2. RFC 5810 CE HA框架

To achieve CE High Availability (HA), FEs and CEs MUST interoperate per the definition in [RFC5810], which is repeated for contextual reasons in Section 2.1. It should be noted that in this default setup, which MUST be implemented by CEs and FEs requiring HA, the Fr plane is out of scope (and if available, is proprietary to an implementation).

为了实现CE高可用性(HA),FEs和CE必须按照[RFC5810]中的定义进行互操作,该定义因上下文原因在第2.1节中重复。需要注意的是,在此默认设置中,必须由需要HA的CEs和FEs实现,Fr平面超出范围(如果可用,则为实现专有)。

2.1. RFC 5810 CE HA Support
2.1. RFC 5810 CE HA支持

As mentioned earlier, although there can be multiple redundant CEs, only one CE actively controls FEs in a ForCES NE. In practice, there may be only one backup CE. At any moment in time, only one master CE can control an FE. In addition, the FE connects and associates to only the master CE. The FE and the CE are aware of the primary and one or more secondary CEs. This information (primary and secondary CEs) is configured on the FE and the CE during pre-association by the FEM and the CEM, respectively.

如前所述,尽管可以有多个冗余CE,但在一个网元中只有一个CE主动控制FEs。实际上,可能只有一个备份CE。在任何时刻,只有一个主CE可以控制FE。此外,FE仅连接并关联到主CE。FE和CE知道主CE和一个或多个辅助CE。FEM和CEM分别在预关联期间在FE和CE上配置此信息(主CE和辅助CE)。

This section includes a new normative description that updates [RFC5810] for the Cold Standby High Availability mechanism.

本节包括更新冷备用高可用性机制[RFC5810]的新规范性说明。

Figure 2 below illustrates the ForCES message sequences that the FE uses to recover the connection in the currently defined cold standby scheme.

下图2说明了FE在当前定义的冷备用方案中用于恢复连接的强制消息序列。

         FE                       CE Primary         CE Secondary
         |                           |                     |
         | Association Establishment |                     |
         |   Capabilities Exchange   |                     |
       1 |<------------------------->|                     |
         |                           |                     |
         |       State Update        |                     |
       2 |<------------------------->|                     |
         |                           |                     |
         |                           |                     |
         |                        FAILURE                  |
         |                                                 |
         | Association Establishment, Capabilities Exchange|
       3 |<----------------------------------------------->|
         |                                                 |
         |         Event Report (primary CE down)          |
       4 |------------------------------------------------>|
         |                                                 |
         |                  State Update                   |
       5 |<----------------------------------------------->|
        
         FE                       CE Primary         CE Secondary
         |                           |                     |
         | Association Establishment |                     |
         |   Capabilities Exchange   |                     |
       1 |<------------------------->|                     |
         |                           |                     |
         |       State Update        |                     |
       2 |<------------------------->|                     |
         |                           |                     |
         |                           |                     |
         |                        FAILURE                  |
         |                                                 |
         | Association Establishment, Capabilities Exchange|
       3 |<----------------------------------------------->|
         |                                                 |
         |         Event Report (primary CE down)          |
       4 |------------------------------------------------>|
         |                                                 |
         |                  State Update                   |
       5 |<----------------------------------------------->|
        

Figure 2: CE Failover for Cold Standby

图2:冷备用的CE故障切换

2.1.1. Cold Standby Interaction with the ForCES Protocol
2.1.1. 与ForCES协议的冷备用交互

HA parameterization in an FE is driven by configuring the FE Protocol Object (FEPO) LFB.

FE中的HA参数化是通过配置FE协议对象(FEPO)LFB来驱动的。

The FEPO Control Element ID (CEID) component identifies the current master CE, and the component table BackupCEs identifies the configured backup CEs. The FEPO FE Heartbeat Interval (FEHI), CE Heartbeat Dead Interval (CEHDI), and CE Heartbeat policy help in detecting connectivity problems between an FE and CE. The CE failover policy defines how the FE should react on a detected failure. The FEObject FEState component [RFC5812] defines the operational forwarding status and control. The CE can turn off the FE's forwarding operations by setting the FEState to AdminDisable and can turn it on by setting it to OperEnable. Note: Section 5.1 of [RFC5812] has been updated by an erratum ([Err3487]) that describes the FEState as read-only when it should be read-write.

FEPO控制元素ID(CEID)组件标识当前主CE,组件表BackupCEs标识已配置的备份CE。FEPO FE心跳间隔(FEHI)、CE心跳死间隔(CEHDI)和CE心跳策略有助于检测FE和CE之间的连接问题。CE故障切换策略定义FE在检测到故障时应如何反应。FEObject FEState组件[RFC5812]定义操作转发状态和控制。CE可以通过将FEState设置为AdminDisable来关闭FE的转发操作,也可以通过将其设置为Operable来打开FE。注:[RFC5812]的第5.1节已由勘误表([Err3487])更新,该勘误表将FEState描述为只读,而该FEState应为读写。

Figure 3 illustrates the defined state machine that facilitates the recovery of the connection state.

图3说明了定义的状态机,它有助于恢复连接状态。

The FE connects to the CE specified on the FEPO CEID component. If it fails to connect to the defined CE, it moves it to the bottom of table BackupCEs and sets its CEID component to be the first CE retrieved from table BackupCEs. The FE then attempts to associate

FE连接到FEPO CEID组件上指定的CE。如果它无法连接到定义的CE,它会将其移动到表BackupCEs的底部,并将其CEID组件设置为从表BackupCEs检索到的第一个CE。FE然后尝试关联

with the CE designated as the new primary CE. The FE continues through this procedure until it successfully connects to one of the CEs or until the CE Failover Timeout Interval (CEFTI) expires.

将CE指定为新的主CE。FE继续执行此过程,直到成功连接到其中一个CE或CE故障切换超时间隔(CEFTI)到期。

                             FE tries to associate
                                   +-->-----+
                                   |        |
      (CE changes master ||        |        |
      CE issues Teardown ||    +---+--------v----+
        Lost association) &&   | Pre-association |
       CE failover policy = 0  | (Association    |
           +------------>-->-->|   in            +<----+
           |                   | progress)       |     |
           |                   |                 |     |
           |                   +--------+--------+     |
           |  CE Association        |                  | CEFTI
           |       Response         V                  | timer
           |     +------------------+                  | expires
           |     |FE issues CEPrimaryDown              ^
           |     V                                     |
         +-+-----------+                        +------+-----+
         |             |  (CE changes master || | Not        |
         |             |  CE issues Teardown || | Associated |
         |             |  Lost association) &&  |            +->---+
         | Associated  | CE failover policy = 1 |(May        | FE  |
         |             |                        | Continue   | try v
         |             |-------->------->------>| Forwarding)| assn|
         |             |   Start CEFTI timer    |            |-<---+
         |             |                        |            |
         +-------------+                        +-------+----+
              ^                                         |
              |            Successful                   V
              |            Association                  |
              |            Setup                        |
              |            (Cancel CEFTI timer)         |
              +_________________________________________+
                       FE issues CEPrimaryDown event
        
                             FE tries to associate
                                   +-->-----+
                                   |        |
      (CE changes master ||        |        |
      CE issues Teardown ||    +---+--------v----+
        Lost association) &&   | Pre-association |
       CE failover policy = 0  | (Association    |
           +------------>-->-->|   in            +<----+
           |                   | progress)       |     |
           |                   |                 |     |
           |                   +--------+--------+     |
           |  CE Association        |                  | CEFTI
           |       Response         V                  | timer
           |     +------------------+                  | expires
           |     |FE issues CEPrimaryDown              ^
           |     V                                     |
         +-+-----------+                        +------+-----+
         |             |  (CE changes master || | Not        |
         |             |  CE issues Teardown || | Associated |
         |             |  Lost association) &&  |            +->---+
         | Associated  | CE failover policy = 1 |(May        | FE  |
         |             |                        | Continue   | try v
         |             |-------->------->------>| Forwarding)| assn|
         |             |   Start CEFTI timer    |            |-<---+
         |             |                        |            |
         +-------------+                        +-------+----+
              ^                                         |
              |            Successful                   V
              |            Association                  |
              |            Setup                        |
              |            (Cancel CEFTI timer)         |
              +_________________________________________+
                       FE issues CEPrimaryDown event
        

Figure 3: FE State Machine Considering HA

图3:考虑HA的FE状态机

There are several events that trigger mastership changes. The master CE may issue a mastership change (by changing the CEID component), it may tear down an existing association, or connectivity may be lost between the CE and FE.

有几个事件会触发主控权变更。主CE可能会发出主控权更改(通过更改CEID组件),它可能会破坏现有关联,或者CE和FE之间的连接可能会丢失。

When communication fails between the FE and CE (which can be caused by either the CE or link failure but is not FE related), either the TML on the FE will trigger the FE PL regarding this failure or it

当FE和CE之间的通信失败时(可能由CE或链路故障引起,但与FE无关),FE上的TML将触发与此故障相关的FE PL,或者

will be detected using the Heartbeat messages between FEs and CEs. The communication failure, regardless of how it is detected, MUST be considered to be a loss of association between the CE and corresponding FE.

将使用FEs和CEs之间的心跳消息进行检测。无论如何检测到通信故障,都必须将其视为CE和相应FE之间失去关联。

If the FE's FEPO CE failover policy is configured to mode 0 (the default), it will immediately transition to the pre-association phase. This means that if association is later re-established with a CE, all FE states will need to be re-created.

如果FE的FEPO CE故障切换策略配置为模式0(默认),则它将立即过渡到关联前阶段。这意味着,如果以后与CE重新建立关联,则需要重新创建所有FE状态。

If the FE's FEPO CE failover policy is configured to mode 1, it indicates that the FE will run in HA restart recovery. In such a case, the FE transitions to the not associated state and the CEFTI timer [RFC5810] is started. The FE may continue to forward packets during this state, depending upon the value of the CEFailoverPolicy component of the FEPO LFB. The FE recycles through any configured backup CEs in a round-robin fashion. It first adds its primary CE to the bottom of table BackupCEs and sets its CEID component to be the first secondary retrieved from table BackupCEs. The FE then attempts to associate with the CE designated as the new primary CE. If it fails to re-associate with any CE and the CEFTI expires, the FE then transitions to the pre-association state and the FE will operationally bring down its forwarding path (and set the [RFC5812] FEObject FEState component to OperDisable).

如果FE的FEPO CE故障切换策略配置为模式1,则表示FE将在HA重启恢复中运行。在这种情况下,FE转换到非关联状态,并且CEFTI定时器[RFC5810]启动。根据FEPO LFB的CEFailoverPolicy分量的值,FE可以在该状态期间继续转发分组。FE以循环方式通过任何配置的备份CE进行回收。它首先将其主CE添加到表BackupCEs的底部,并将其CEID组件设置为从表BackupCEs检索到的第一个辅助CE。FE然后尝试与指定为新主CE的CE关联。如果无法与任何CE重新关联且CEFTI过期,则FE将转换到预关联状态,FE将在操作上关闭其转发路径(并将[RFC5812]FEObject FEState组件设置为OperDisable)。

If the FE, while in the not associated state, manages to reconnect to a new primary CE before the CEFTI expires, it transitions to the associated state. Once re-associated, the CE may try to synchronize any state that the FE may have lost during disconnection. How the CE re-synchronizes such a state is out of scope for the current ForCES architecture but would typically constitute the issuing of new Config messages and queries.

如果FE在未关联状态下,在CEFTI到期之前成功重新连接到新的主CE,则它将转换到关联状态。一旦重新关联,CE可尝试同步FE在断开连接期间可能丢失的任何状态。CE如何重新同步这种状态超出了当前ForCES体系结构的范围,但通常会发出新的配置消息和查询。

An explicit message (a Config message setting the primary CE component in the ForCES Protocol Object) from the primary CE can also be used to change the primary CE for an FE during normal protocol operation. In this case, the FE transitions to the not associated state and attempts to associate with the new CE.

来自主CE的显式消息(设置ForCES协议对象中的主CE组件的配置消息)也可用于在正常协议操作期间更改FE的主CE。在这种情况下,FE过渡到未关联状态并尝试与新CE关联。

2.1.2. Responsibilities for HA
2.1.2. 医管局的责任

TML Level:

TML级别:

1. The TML controls logical connection availability and failover.

1. TML控制逻辑连接可用性和故障切换。

2. The TML also controls peer HA management.

2. TML还控制对等HA管理。

At this level, control of all lower layers, for example, the transport level (such as IP addresses, Media Access Control (MAC) addresses, etc.), and associated links going down are the role of the TML.

在这个级别上,所有较低层的控制,例如,传输级别(例如IP地址、媒体访问控制(MAC)地址等)和下行的相关链路是TML的角色。

PL Level: All other functionality, including configuring the HA behavior during setup, Control Element IDs (CE IDs) used to identify primary and secondary CEs, protocol messages used to report CE failure (event report), Heartbeat messages used to detect association failure, messages to change the primary CE (Config), and other HA-related operations described in Section 2.1, are the PL's responsibility.

PL级别:所有其他功能,包括在设置期间配置HA行为、用于识别主CE和辅助CE的控制元素ID(CE ID)、用于报告CE故障的协议消息(事件报告)、用于检测关联故障的心跳消息、更改主CE的消息(配置),以及第2.1节中描述的其他HA相关操作,由PL负责。

To put the two together, if a path to a primary CE is down, the TML would help recover from a failure by switching over to a backup path, if one is available. If the CE is totally unreachable, then the PL would be informed and it would take the appropriate actions described before.

将两者结合起来,如果主CE的路径关闭,TML将通过切换到备份路径(如果有)来帮助从故障中恢复。如果CE完全无法访问,则会通知PL并采取前面描述的适当措施。

3. CE HA Hot Standby
3. CE HA热备用

In this section, we describe small extensions to the existing scheme to enable hot standby HA. To achieve hot standby HA, we aim to improve the specific goals defined in Section 1.1, namely:

在本节中,我们将介绍对现有方案的小扩展,以启用热备用HA。为了实现热备用HA,我们旨在改进第1.1节中定义的具体目标,即:

o How fast a backup CE becomes operational.

o 备份CE的运行速度。

o How fast the FEs associate with the new master CE.

o FEs与新主CE的关联速度有多快。

As described in Section 2.1, in the pre-association phase, the FEM configures the FE to make it aware of all the CEs in the NE. The FEM MUST configure the FE to make it aware of which CE is the master and MAY specify any backup CE(s).

如第2.1节所述,在预关联阶段,FEM配置FE以使其了解NE中的所有CE。FEM必须配置FE,使其知道哪个CE是主CE,并可以指定任何备份CE。

3.1. Changes to the FEPO Model
3.1. 对FEPO模型的更改

In order for the above to be achievable, there is a need to make a few changes in the FEPO model. Appendix A contains the xml definition of the new version 1.1 of the FEPO LFB.

为了实现上述目标,需要对FEPO模型进行一些修改。附录A包含FEPO LFB新版本1.1的xml定义。

Changes from version 1 of the FEPO are:

FEPO第1版的更改如下:

1. Added four new datatypes:

1. 添加了四种新数据类型:

1. CEStatusType -- an unsigned char to specify the status of a connection with a CE. Special values are:

1. CEStatusType——用于指定与CE连接状态的无符号字符。特殊值为:

+ 0 (Disconnected) represents that no connection attempt has been made with the CE yet

+ 0(已断开)表示尚未尝试与CE进行连接

+ 1 (Connected) represents that the FE connection with the CE at the TML has completed successfully

+ 1(已连接)表示与TML处CE的FE连接已成功完成

+ 2 (Associated) represents that the FE has successfully associated with the CE

+ 2(关联)表示FE已成功与CE关联

+ 3 (IsMaster) represents that the FE has associated with the CE and is the master of the FE

+ 3(IsMaster)表示FE与CE有关联,是FE的主人

+ 4 (LostConnection) represents that the FE was associated with the CE at one point but lost the connection

+ 4(LostConnection)表示FE在某一点与CE关联,但失去了连接

+ 5 (Unreachable) represents that the FE deems this CE unreachable, i.e., the FE has tried over a period to connect to it but has failed

+ 5(不可访问)表示FE认为此CE不可访问,即FE在一段时间内尝试连接但失败

2. HAModeValues -- an unsigned char to specify a selected HA mode. Special values are:

2. HAModeValues——用于指定选定HA模式的无符号字符。特殊值为:

+ 0 (No HA Mode) represents that the FE is not running in HA mode

+ 0(无HA模式)表示FE未在HA模式下运行

+ 1 (HA Mode - Cold Standby) represents that the FE is in HA mode cold standby

+ 1(HA模式-冷备用)表示FE处于HA模式冷备用

+ 2 (HA Mode - Hot Standby) represents that the FE is in HA mode hot standby

+ 2(HA模式-热备用)表示FE处于HA模式热备用

3. Statistics -- a complex structure representing the communication statistics between the FE and CE. The components are:

3. 统计信息——表示FE和CE之间通信统计信息的复杂结构。这些组成部分包括:

+ RecvPackets, representing the packet count received from the CE

+ RecvPackets,表示从CE接收的数据包计数

+ RecvBytes, representing the byte count received from the CE

+ RecvBytes,表示从CE接收的字节计数

+ RecvErrPackets, representing the erroneous packets received from the CE. This component logs badly formatted packets as well as good packets sent to the FE by the CE to set components whilst that CE is not the master. Erroneous packets are dropped (i.e., not responded to).

+ RecvErrPackets,表示从CE接收到的错误数据包。该组件记录CE发送给FE的格式错误的数据包以及良好的数据包,以设置组件,而CE不是主设备。丢弃错误的数据包(即不响应)。

+ RecvErrBytes, representing the RecvErrPackets byte count received from the CE

+ RecvErrBytes,表示从CE接收的RecvErrPackets字节计数

+ TxmitPackets, representing the packet count transmitted to the CE

+ TxmitPackets,表示发送到CE的数据包计数

+ TxmitErrPackets, representing the error packet count transmitted to the CE. Typically, these would be failures due to communication.

+ TxmitErrPackets,表示传输到CE的错误数据包计数。通常,这些都是由于通信而导致的故障。

+ TxmitBytes, representing the byte count transmitted to the CE

+ TxmitBytes,表示传输到CE的字节计数

+ TxmitErrBytes, representing the byte count of errors from transmit to the CE

+ TxmitErrBytes,表示从传输到CE的错误字节数

4. AllCEType -- a complex structure constituting the CE IDs, statistics, and CEStatusType to reflect connection information for one CE. Used in the AllCE's component array.

4. AllCEType——一个复杂的结构,由CE ID、统计信息和CEStatusType组成,用于反映一个CE的连接信息。用于AllCE的组件阵列。

2. Appended two new components:

2. 添加了两个新组件:

1. Read-only AllCEs to hold the status for all CEs. AllCEs is an array of the AllCEType.

1. 只读所有CEs以保持所有CEs的状态。AllCEs是AllCEType的数组。

2. Read-write HAMode of type HAModeValues to carry the HA mode used by the FE.

2. 读写HAModeValues类型的HAMode,以携带FE使用的HA模式。

3. Added one additional event, PrimaryCEChanged, reporting the new master CE ID when there is a mastership change.

3. 添加了一个额外的事件PrimaryCEChanged,当主控权发生更改时,报告新的主控CE ID。

Since no component from FEPO v1 has been changed, FEPO v1.1 retains backwards compatibility with CEs that know only version 1.0. These CEs, however, cannot make use of the HA options that the new FEPO provides.

由于FEPO v1中没有任何组件被更改,FEPO v1.1保留了与仅知道版本1.0的CEs的向后兼容性。然而,这些CE不能利用新FEPO提供的HA选项。

3.2. FEPO Processing
3.2. FEPO处理

The FE's FEPO LFB version 1.1 AllCEs table contains all the CE IDs with which the FE may connect and associate. The ordering of the CE IDs in this table defines the priority order in which an FE will connect to the CEs. This table is provisioned initially from the

FE的FEPO LFB版本1.1 AllCEs表包含FE可以连接和关联的所有CE ID。此表中CE ID的顺序定义了FE连接到CEs的优先级顺序。此表最初是从

configuration plane (FEM). In the pre-association phase, the first CE (lowest table index) in the AllCEs table MUST be the first CE with which the FE will attempt to connect and associate. If the FE fails to connect and associate with the first listed CE, it will attempt to connect to the second CE and so forth, and it cycles back to the beginning of the list until there is a successful association. The FE MUST associate with at least one CE. Upon a successful association, a component of the FEPO LFB, specifically the CEID component, identifies the current associated master CE.

配置平面(FEM)。在预关联阶段,AllCEs表中的第一个CE(最低表索引)必须是FE尝试连接和关联的第一个CE。如果FE未能连接并与第一个列出的CE关联,它将尝试连接到第二个CE,以此类推,并循环回到列表的开头,直到成功关联。FE必须与至少一个CE关联。成功关联后,FEPO LFB的组件,特别是CEID组件,将标识当前关联的主CE。

While it would be much simpler to have the FE not respond to any messages from a CE other than the master, in practice it has been found to be useful to respond to queries and heartbeats from backup CEs. For this reason, we allow backup CEs to issue queries to the FE. Configuration messages (SET/DEL) from backup CEs MUST be dropped by the FE and logged as received errors.

虽然FE不响应来自主CE以外的CE的任何消息要简单得多,但在实践中发现,响应来自备份CE的查询和心跳是有用的。因此,我们允许备份CE向FE发出查询。FE必须删除来自备份CE的配置消息(SET/DEL),并将其记录为收到的错误。

Asynchronous events that the master CE has subscribed to, as well as heartbeats, are sent to all associated CEs. Packet redirects continue to be sent only to the master CE. The Heartbeat Interval, the CE Heartbeat (CEHB) policy, and the FE Heartbeat (FEHB) policy are global for all CEs (and changed only by the master CE).

主CE已订阅的异步事件以及心跳将发送到所有关联的CE。数据包重定向继续只发送到主CE。心跳间隔、CE心跳(CEHB)策略和FE心跳(FEHB)策略对于所有CE都是全局的(并且仅由主CE更改)。

Figure 4 illustrates the state machine that facilitates connection recovery with HA enabled.

图4说明了在启用HA的情况下促进连接恢复的状态机。

                           FE tries to associate
                                +-->-----+
                                |        |
   (CE changes master ||        |        |
   CE issues Teardown ||    +---+--------v----+
     Lost association) &&   | Pre-association |
    CE failover policy = 0  | (Association    |
        +------------>-->-->|   in            +<----+
        |                   | progress)       |     |
        |                   |                 |     |
        |                   +--------+--------+     |
        |  CE Association        |                  | CEFTI
        |       Response         V                  | timer
        |     +------------------+                  | expires
        |     |FE issues CEPrimaryDown              ^
        |     |FE issues PrimaryCEChanged           ^
        |     V                                     |
      +-+-----------+                        +------+-----+
      |             |  (CE changes master || | Not        |
      |             |  CE issues Teardown || | Associated |
      |             |  Lost association) &&  |            +->----------+
      | Associated  | CE failover policy = 1 |(May        | find first |
      |             |                        | Continue   | associated v
      |             |-------->------->------>| Forwarding)| CE or retry|
      |             |   Start CEFTI timer    |            | associating|
      |             |                        |            |-<----------+
      |             |                        |            |
      +----+--------+                        +-------+----+
           |                                         |
           ^                                   Found | associated CE
           |                                or newly | associated CE
           |                                         V
           |            (Cancel CEFTI timer)         |
           +_________________________________________+
                    FE issues CEPrimaryDown event
                    FE issues PrimaryCEChanged event
        
                           FE tries to associate
                                +-->-----+
                                |        |
   (CE changes master ||        |        |
   CE issues Teardown ||    +---+--------v----+
     Lost association) &&   | Pre-association |
    CE failover policy = 0  | (Association    |
        +------------>-->-->|   in            +<----+
        |                   | progress)       |     |
        |                   |                 |     |
        |                   +--------+--------+     |
        |  CE Association        |                  | CEFTI
        |       Response         V                  | timer
        |     +------------------+                  | expires
        |     |FE issues CEPrimaryDown              ^
        |     |FE issues PrimaryCEChanged           ^
        |     V                                     |
      +-+-----------+                        +------+-----+
      |             |  (CE changes master || | Not        |
      |             |  CE issues Teardown || | Associated |
      |             |  Lost association) &&  |            +->----------+
      | Associated  | CE failover policy = 1 |(May        | find first |
      |             |                        | Continue   | associated v
      |             |-------->------->------>| Forwarding)| CE or retry|
      |             |   Start CEFTI timer    |            | associating|
      |             |                        |            |-<----------+
      |             |                        |            |
      +----+--------+                        +-------+----+
           |                                         |
           ^                                   Found | associated CE
           |                                or newly | associated CE
           |                                         V
           |            (Cancel CEFTI timer)         |
           +_________________________________________+
                    FE issues CEPrimaryDown event
                    FE issues PrimaryCEChanged event
        

Figure 4: FE State Machine Considering HA

图4:考虑HA的FE状态机

Once the FE has associated with a master CE, it moves to the post-association phase (associated state). It is assumed that the master CE will communicate with other CEs within the NE for the purpose of synchronization via the CE-CE interface. The CE-CE interface is out of scope for this document. An election result amongst CEs may result in the desire to change the mastership to a different associated CE; at which point, the current assumed master CE will instruct the FE to use a different master CE.

一旦FE与主CE关联,它将进入关联后阶段(关联状态)。假设主CE将与网元内的其他CE通信,以便通过CE-CE接口进行同步。CE-CE接口超出了本文档的范围。CE之间的选举结果可能导致将主控权变更为不同关联CE的愿望;此时,当前假定的主CE将指示FE使用不同的主CE。

         FE                         CE#1         CE#2 ... CE#N
         |                           |            |        |
         | Association Establishment |            |        |
         |   Capabilities Exchange   |            |        |
       1 |<------------------------->|            |        |
         |                           |            |        |
         |      State Update         |            |        |
       2 |<------------------------->|            |        |
         |                           |            |        |
         |      Association Establishment         |        |
         |        Capabilities Exchange           |        |
       3I|<-------------------------------------->|        |
        ...                         ...          ...      ...
         |Association Establishment, Capabilities Exchange |
       3N|<----------------------------------------------->|
         |                           |            |        |
       4 |<------------------------->|            |        |
         .                           .            .        .
       4x|<------------------------->|            |        |
         |                        FAILURE         |        |
         |                           |            |        |
         |    Event Report (LastCEID changed)     |        |
       5 |--------------------------------------->|------->|
         |    Event Report (CE#2 is new master)   |        |
       6 |--------------------------------------->|------->|
         |                                        |        |
       7 |<-------------------------------------->|        |
         .                           .            .        .
       7x|<-------------------------------------->|        |
         .                           .            .        .
        
         FE                         CE#1         CE#2 ... CE#N
         |                           |            |        |
         | Association Establishment |            |        |
         |   Capabilities Exchange   |            |        |
       1 |<------------------------->|            |        |
         |                           |            |        |
         |      State Update         |            |        |
       2 |<------------------------->|            |        |
         |                           |            |        |
         |      Association Establishment         |        |
         |        Capabilities Exchange           |        |
       3I|<-------------------------------------->|        |
        ...                         ...          ...      ...
         |Association Establishment, Capabilities Exchange |
       3N|<----------------------------------------------->|
         |                           |            |        |
       4 |<------------------------->|            |        |
         .                           .            .        .
       4x|<------------------------->|            |        |
         |                        FAILURE         |        |
         |                           |            |        |
         |    Event Report (LastCEID changed)     |        |
       5 |--------------------------------------->|------->|
         |    Event Report (CE#2 is new master)   |        |
       6 |--------------------------------------->|------->|
         |                                        |        |
       7 |<-------------------------------------->|        |
         .                           .            .        .
       7x|<-------------------------------------->|        |
         .                           .            .        .
        

Figure 5: CE Failover for Hot Standby

图5:热备用的CE故障切换

While in the post-association phase, if the CE failover policy is set to 1 and the HAMode is set to 2 (hot standby), then the FE, after successfully associating with the master CE, MUST attempt to connect and associate with all the CEs of which it is aware. Figure 5, steps #1 and #2 illustrates the FE associating with CE#1 as the master, and then proceeding to steps #3I to #3N, it shows the association with backup CEs CE#2 to CE#N. If the FE fails to connect or associate with some CEs, the FE MAY flag them as unreachable to avoid continuous attempts to connect. The FE MAY try to re-associate with unreachable CEs when possible.

在关联后阶段,如果CE故障切换策略设置为1,HAMode设置为2(热备用),则FE在成功关联主CE后,必须尝试连接并关联其所知道的所有CE。图5,步骤1和步骤2说明了FE与CE#1作为主设备关联,然后继续到步骤3I到步骤3N,它显示了与备份CE CE#2到CE#N的关联。如果FE无法连接或与某些CE关联,FE可能会将其标记为无法连接,以避免连续尝试连接。FE可能会在可能的情况下尝试与无法访问的CE重新关联。

When the master CE, for any reason, is considered to be down, then the FE MUST try to find the first associated CE from the list of all CEs in a round-robin fashion.

当主CE由于任何原因被认为已关闭时,FE必须尝试以循环方式从所有CE列表中查找第一个关联的CE。

If the FE is unable to find an associated FE in its list of CEs, then it MUST attempt to connect and associate with the first from the list of all CEs and continue in a round-robin fashion until it connects and associates with a CE or the CEFTI timer expires.

如果FE无法在其CE列表中找到关联FE,则必须尝试连接并关联所有CE列表中的第一个FE,并以循环方式继续,直到连接并关联CE或CEFTI计时器过期。

Once the FE selects an associated CE to use as the new master, the FE issues a PrimaryCEDown Event Notification to all associated CEs to notify them that the last primary CE went down (and what its identity was); a second event, PrimaryCEChanged, identifying the new master CE is sent as well to identify which CE the reporting FE considers to be the new master.

一旦FE选择一个关联的CE用作新的主CE,FE将向所有关联的CE发出PrimaryCEDown事件通知,通知他们上一个主CE已关闭(及其标识是什么);发送第二个事件PrimaryCEChanged,识别新主CE,并识别报告FE认为是新主CE的CE。

In most HA architectures, there exists the possibility of split brain. However, in our setup, since the FE will never accept any configuration messages from any other than the master CE, we consider the FE to be fenced against data corruption from the other CEs that consider themselves as the master. The split-brain issue becomes mostly a CE-CE communication problem, which is considered to be out of scope.

在大多数HA架构中,存在脑分裂的可能性。然而,在我们的设置中,由于FE将永远不会接受来自主CE以外的任何配置消息,所以我们认为FE可以防止来自其他CES的数据损坏,它们认为自己是主控器。大脑分裂问题主要成为CE-CE沟通问题,被认为超出了范围。

By virtue of having multiple CE connections, the FE switchover to a new master CE will be relatively much faster. The overall effect is improving the NE recovery time in case of communication failure or faults of the master CE. This satisfies the requirement we set to fulfill.

由于具有多个CE连接,FE切换到新主CE的速度将相对更快。总体效果是在主CE发生通信故障或故障时,提高网元恢复时间。这满足了我们设定的要求。

4. IANA Considerations
4. IANA考虑

Following the policies outlined in "Guidelines for Writing an IANA Considerations Section in RFCs" [RFC5226], the "Logical Functional Block (LFB) Class Names and Class Identifiers" namespace has been updated.

按照“在RFCs中编写IANA注意事项部分的指南”[RFC5226]中概述的策略,“逻辑功能块(LFB)类名和类标识符”命名空间已更新。

A new column, LFB version, has been added to the table after the LFB Class Name. The table now reads as follows:

在LFB类名后面添加了一个新列LFB version。下表内容如下:

   +----------------+------------+-----------+-------------+-----------+
   |   LFB Class    | LFB Class  |    LFB    | Description | Reference |
   |   Identifier   |    Name    |  Version  |             |           |
   +----------------+------------+-----------+-------------+-----------+
        
   +----------------+------------+-----------+-------------+-----------+
   |   LFB Class    | LFB Class  |    LFB    | Description | Reference |
   |   Identifier   |    Name    |  Version  |             |           |
   +----------------+------------+-----------+-------------+-----------+
        

Logical Functional Block (LFB) Class Names and Class Identifiers

逻辑功能块(LFB)类名和类标识符

The rules defined in [RFC5812] apply, with the addition that entries must provide the LFB version as a string.

[RFC5812]中定义的规则适用,此外,条目必须以字符串形式提供LFB版本。

Upon publication of this document, all current entries are assigned a value of 1.0.

本文件发布后,所有当前条目的值均为1.0。

New versions of already defined LFBs MUST NOT remove the previous version entries.

已定义LFB的新版本不得删除以前的版本条目。

It would make sense to have LFB versions appear in sequence in the registry. The table SHOULD be sorted, and the sorting should be done by Class ID first and then by version.

在注册表中按顺序显示LFB版本是有意义的。应该对表进行排序,排序应该首先按类ID进行,然后按版本进行。

This document introduces the FE Protocol Object version 1.1 as follows:

本文档介绍FE协议对象版本1.1,如下所示:

   +------------+----------+---------+---------------------+-----------+
   | LFB Class  |   LFB    |   LFB   |     Description     | Reference |
   | Identifier |  Class   | Version |                     |           |
   |            |   Name   |         |                     |           |
   +------------+----------+---------+---------------------+-----------+
   |     2      |    FE    |   1.1   |  Defines parameters | [RFC7121] |
   |            | Protocol |         |    for the ForCES   |           |
   |            |  Object  |         |  protocol operation |           |
   +------------+----------+---------+---------------------+-----------+
        
   +------------+----------+---------+---------------------+-----------+
   | LFB Class  |   LFB    |   LFB   |     Description     | Reference |
   | Identifier |  Class   | Version |                     |           |
   |            |   Name   |         |                     |           |
   +------------+----------+---------+---------------------+-----------+
   |     2      |    FE    |   1.1   |  Defines parameters | [RFC7121] |
   |            | Protocol |         |    for the ForCES   |           |
   |            |  Object  |         |  protocol operation |           |
   +------------+----------+---------+---------------------+-----------+
        

Logical Functional Block (LFB) Class Names and Class Identifiers

逻辑功能块(LFB)类名和类标识符

5. Security Considerations
5. 安全考虑

Security considerations, as defined in Section 9 of [RFC5810], apply to securing each CE-FE communication. Multiple CEs associated with the same FE still require the same procedure to be followed on a per-association basis.

[RFC5810]第9节中定义的安全注意事项适用于保护每个CE-FE通信。与同一FE相关联的多个CE仍然需要在每个关联的基础上遵循相同的程序。

It should be noted that since the FE is initiating the association with a CE, a CE cannot initiate association with the FE and such messages will be dropped. Thus, the FE is secured from rogue CEs that are attempting to associate with it.

应该注意的是,由于FE正在发起与CE的关联,CE无法发起与FE的关联,这样的消息将被丢弃。因此,FE受到试图与其关联的恶意CE的保护。

CE implementers should have in mind that once associated, the FE cannot distinguish whether the CE has been compromised or has been malfunctioning while not losing connectivity. Securing the CE is out of scope of this document.

CE实施者应该记住,一旦关联,FE就无法在不失去连接的情况下区分CE是否已受损或出现故障。保护CE不在本文档的范围内。

While the CE-CE plane is outside the current scope of ForCES, we recognize that it may be subjected to attacks that may affect the CE-FE communication.

虽然CE-CE飞机不在当前部队范围内,但我们认识到它可能受到可能影响CE-FE通信的攻击。

The following considerations should be made:

应考虑以下因素:

1. Secure communication channels should be used between CEs for coordination and keeping of state to at least avoid connection of malicious CEs.

1. CEs之间应使用安全通信通道来协调和保持状态,以至少避免恶意CEs的连接。

2. The master CE should take into account DoS and Distributed Denial-of-Service (DDoS) attacks from malicious or malfunctioning CEs.

2. 主CE应考虑来自恶意或故障CE的DoS和分布式拒绝服务(DDoS)攻击。

3. CEs should take into account the split-brain issue. There are currently two fail-safes in the FE: Firstly, the FE has the CEID component that denotes which CE is the master. Secondly, the FE does not allow BackupCEs to configure the FE. However, backup CEs that consider that the master CE has dropped should, as masters themselves, first do a sanity check and query the FE CEID component.

3. CEs应该考虑到大脑分裂的问题。FE中目前有两种故障保护:首先,FE具有CEID组件,表示哪个CE是主CE。其次,FE不允许备份配置FE。然而,考虑到主控CE已经放弃的备份CES应该作为主机本身首先对FE-CEID组件进行健全性检查和查询。

6. References
6. 工具书类
6.1. Normative References
6.1. 规范性引用文件

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

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

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

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

[RFC5810] Doria, A., Hadi Salim, J., Haas, R., Khosravi, H., Wang, W., Dong, L., Gopal, R., and J. Halpern, "Forwarding and Control Element Separation (ForCES) Protocol Specification", RFC 5810, March 2010.

[RFC5810]Doria,A.,Hadi Salim,J.,Haas,R.,Khosravi,H.,Wang,W.,Dong,L.,Gopal,R.,和J.Halpern,“转发和控制元件分离(部队)协议规范”,RFC 58102010年3月。

[RFC5812] Halpern, J. and J. Hadi Salim, "Forwarding and Control Element Separation (ForCES) Forwarding Element Model", RFC 5812, March 2010.

[RFC5812]Halpern,J.和J.Hadi Salim,“转发和控制单元分离(部队)转发单元模型”,RFC 5812,2010年3月。

6.2. Informative References
6.2. 资料性引用

[Err3487] RFC Errata, Errata ID 3487, RFC 5812, <http://www.rfc-editor.org>.

[Err3487]RFC勘误表,勘误表ID 3487,RFC 5812<http://www.rfc-editor.org>.

[RFC3654] Khosravi, H. and T. Anderson, "Requirements for Separation of IP Control and Forwarding", RFC 3654, November 2003.

[RFC3654]Khosravi,H.和T.Anderson,“IP控制和转发分离的要求”,RFC 3654,2003年11月。

[RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal, "Forwarding and Control Element Separation (ForCES) Framework", RFC 3746, April 2004.

[RFC3746]Yang,L.,Dantu,R.,Anderson,T.,和R.Gopal,“转发和控制单元分离(部队)框架”,RFC 37462004年4月。

Appendix A. New FEPO Version
附录A.新FEPO版本

The xml has been validated against the schema defined in [RFC5812].

xml已根据[RFC5812]中定义的模式进行验证。

<LFBLibrary xmlns="urn:ietf:params:xml:ns:forces:lfbmodel:1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="lfb-schema.xsd" provides="FEPO">
   <!-- XXX -->
   <dataTypeDefs>
      <dataTypeDef>
         <name>CEHBPolicyValues</name>
         <synopsis>
            The possible values of the CE Heartbeat policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>CEHBPolicy0</name>
                  <synopsis>
              The CE will send heartbeats to the FE
              every CEHDI timeout if no other messages
              have been sent since.
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>CEHBPolicy1</name>
                  <synopsis>
              The CE will not send heartbeats to the FE
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>FEHBPolicyValues</name>
         <synopsis>
            The possible values of the FE Heartbeat policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>FEHBPolicy0</name>
                  <synopsis>
        The FE will not generate any heartbeats to the CE
                  </synopsis>
               </specialValue>
        
<LFBLibrary xmlns="urn:ietf:params:xml:ns:forces:lfbmodel:1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="lfb-schema.xsd" provides="FEPO">
   <!-- XXX -->
   <dataTypeDefs>
      <dataTypeDef>
         <name>CEHBPolicyValues</name>
         <synopsis>
            The possible values of the CE Heartbeat policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>CEHBPolicy0</name>
                  <synopsis>
              The CE will send heartbeats to the FE
              every CEHDI timeout if no other messages
              have been sent since.
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>CEHBPolicy1</name>
                  <synopsis>
              The CE will not send heartbeats to the FE
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>FEHBPolicyValues</name>
         <synopsis>
            The possible values of the FE Heartbeat policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>FEHBPolicy0</name>
                  <synopsis>
        The FE will not generate any heartbeats to the CE
                  </synopsis>
               </specialValue>
        
               <specialValue value="1">
                  <name>FEHBPolicy1</name>
                  <synopsis>
        The FE generates heartbeats to the CE every FEHI
        if no other messages have been sent to the CE.
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>FERestartPolicyValues</name>
         <synopsis>
            The possible values of the FE restart policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>FERestartPolicy0</name>
                  <synopsis>
                     The FE restarts its state from scratch
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>HAModeValues</name>
         <synopsis>
            The possible values of HA modes
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>NoHA</name>
                  <synopsis>
                     The FE is not running in HA mode
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>ColdStandby</name>
                  <synopsis>
                     The FE is running in HA mode cold standby
                  </synopsis>
               </specialValue>
               <specialValue value="2">
        
               <specialValue value="1">
                  <name>FEHBPolicy1</name>
                  <synopsis>
        The FE generates heartbeats to the CE every FEHI
        if no other messages have been sent to the CE.
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>FERestartPolicyValues</name>
         <synopsis>
            The possible values of the FE restart policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>FERestartPolicy0</name>
                  <synopsis>
                     The FE restarts its state from scratch
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>HAModeValues</name>
         <synopsis>
            The possible values of HA modes
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>NoHA</name>
                  <synopsis>
                     The FE is not running in HA mode
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>ColdStandby</name>
                  <synopsis>
                     The FE is running in HA mode cold standby
                  </synopsis>
               </specialValue>
               <specialValue value="2">
        
                  <name>HotStandby</name>
                  <synopsis>
                     The FE is running in HA mode hot standby
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>CEFailoverPolicyValues</name>
         <synopsis>
            The possible values of the CE failover policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>CEFailoverPolicy0</name>
                  <synopsis>
        The FE should stop functioning immediately and
        transition to the FE OperDisable state
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>CEFailoverPolicy1</name>
                  <synopsis>
        The FE should continue forwarding even without an
        associated CE for CEFTI. The FE goes to FE
        OperDisable when the CEFTI expires and there is no
        association. Requires graceful restart support.
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>FEHACapab</name>
         <synopsis>
            The supported HA features
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>GracefullRestart</name>
                  <synopsis>
                     The FE supports graceful restart
                  </synopsis>
        
                  <name>HotStandby</name>
                  <synopsis>
                     The FE is running in HA mode hot standby
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>CEFailoverPolicyValues</name>
         <synopsis>
            The possible values of the CE failover policy
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>CEFailoverPolicy0</name>
                  <synopsis>
        The FE should stop functioning immediately and
        transition to the FE OperDisable state
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>CEFailoverPolicy1</name>
                  <synopsis>
        The FE should continue forwarding even without an
        associated CE for CEFTI. The FE goes to FE
        OperDisable when the CEFTI expires and there is no
        association. Requires graceful restart support.
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>FEHACapab</name>
         <synopsis>
            The supported HA features
         </synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>GracefullRestart</name>
                  <synopsis>
                     The FE supports graceful restart
                  </synopsis>
        
               </specialValue>
               <specialValue value="1">
                  <name>HA</name>
                  <synopsis>
                     The FE supports HA
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>CEStatusType</name>
         <synopsis>Status values. Status for each CE</synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>Disconnected</name>
                  <synopsis>No connection attempt with the CE yet
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>Connected</name>
                  <synopsis>The FE connection with the CE at the TML
                     has been completed
                  </synopsis>
               </specialValue>
               <specialValue value="2">
                  <name>Associated</name>
                  <synopsis>The FE has associated with the CE
                  </synopsis>
               </specialValue>
               <specialValue value="3">
                  <name>IsMaster</name>
                  <synopsis>The CE is the master (and associated)
                  </synopsis>
               </specialValue>
               <specialValue value="4">
                  <name>LostConnection</name>
                  <synopsis>The FE was associated with the CE but
                     lost the connection
                  </synopsis>
               </specialValue>
               <specialValue value="5">
                  <name>Unreachable</name>
                  <synopsis>The CE is deemed as unreachable by the FE
                  </synopsis>
               </specialValue>
        
               </specialValue>
               <specialValue value="1">
                  <name>HA</name>
                  <synopsis>
                     The FE supports HA
                  </synopsis>
               </specialValue>
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>CEStatusType</name>
         <synopsis>Status values. Status for each CE</synopsis>
         <atomic>
            <baseType>uchar</baseType>
            <specialValues>
               <specialValue value="0">
                  <name>Disconnected</name>
                  <synopsis>No connection attempt with the CE yet
                  </synopsis>
               </specialValue>
               <specialValue value="1">
                  <name>Connected</name>
                  <synopsis>The FE connection with the CE at the TML
                     has been completed
                  </synopsis>
               </specialValue>
               <specialValue value="2">
                  <name>Associated</name>
                  <synopsis>The FE has associated with the CE
                  </synopsis>
               </specialValue>
               <specialValue value="3">
                  <name>IsMaster</name>
                  <synopsis>The CE is the master (and associated)
                  </synopsis>
               </specialValue>
               <specialValue value="4">
                  <name>LostConnection</name>
                  <synopsis>The FE was associated with the CE but
                     lost the connection
                  </synopsis>
               </specialValue>
               <specialValue value="5">
                  <name>Unreachable</name>
                  <synopsis>The CE is deemed as unreachable by the FE
                  </synopsis>
               </specialValue>
        
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>StatisticsType</name>
         <synopsis>Statistics Definition</synopsis>
         <struct>
            <component componentID="1">
               <name>RecvPackets</name>
               <synopsis>Packets received</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="2">
               <name>RecvErrPackets</name>
               <synopsis>Packets received from the CE with errors
               </synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="3">
               <name>RecvBytes</name>
               <synopsis>Bytes received from the CE</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="4">
               <name>RecvErrBytes</name>
               <synopsis>Bytes received from the CE in Error</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="5">
               <name>TxmitPackets</name>
               <synopsis>Packets transmitted to the CE</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="6">
               <name>TxmitErrPackets</name>
               <synopsis>
                  Packets transmitted to the CE that
                  incurred errors
               </synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="7">
               <name>TxmitBytes</name>
               <synopsis>Bytes transmitted to the CE</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="8">
               <name>TxmitErrBytes</name>
        
            </specialValues>
         </atomic>
      </dataTypeDef>
      <dataTypeDef>
         <name>StatisticsType</name>
         <synopsis>Statistics Definition</synopsis>
         <struct>
            <component componentID="1">
               <name>RecvPackets</name>
               <synopsis>Packets received</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="2">
               <name>RecvErrPackets</name>
               <synopsis>Packets received from the CE with errors
               </synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="3">
               <name>RecvBytes</name>
               <synopsis>Bytes received from the CE</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="4">
               <name>RecvErrBytes</name>
               <synopsis>Bytes received from the CE in Error</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="5">
               <name>TxmitPackets</name>
               <synopsis>Packets transmitted to the CE</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="6">
               <name>TxmitErrPackets</name>
               <synopsis>
                  Packets transmitted to the CE that
                  incurred errors
               </synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="7">
               <name>TxmitBytes</name>
               <synopsis>Bytes transmitted to the CE</synopsis>
               <typeRef>uint64</typeRef>
            </component>
            <component componentID="8">
               <name>TxmitErrBytes</name>
        
               <synopsis>
                  Bytes transmitted to the CE that
                  incurred errors
               </synopsis>
               <typeRef>uint64</typeRef>
            </component>
         </struct>
      </dataTypeDef>
      <dataTypeDef>
         <name>AllCEType</name>
         <synopsis>Table type for the AllCE component</synopsis>
         <struct>
            <component componentID="1">
               <name>CEID</name>
               <synopsis>ID of the CE</synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="2">
               <name>Statistics</name>
               <synopsis>Statistics per the CE</synopsis>
               <typeRef>StatisticsType</typeRef>
            </component>
            <component componentID="3">
               <name>CEStatus</name>
               <synopsis>Status of the CE</synopsis>
               <typeRef>CEStatusType</typeRef>
            </component>
         </struct>
      </dataTypeDef>
   </dataTypeDefs>
   <LFBClassDefs>
      <LFBClassDef LFBClassID="2">
         <name>FEPO</name>
         <synopsis>
            The FE Protocol Object, with new CEHA
         </synopsis>
         <version>1.1</version>
         <components>
            <component componentID="1" access="read-only">
               <name>CurrentRunningVersion</name>
               <synopsis>Currently running the ForCES version</synopsis>
               <typeRef>uchar</typeRef>
            </component>
            <component componentID="2" access="read-only">
               <name>FEID</name>
               <synopsis>Unicast FEID</synopsis>
               <typeRef>uint32</typeRef>
            </component>
        
               <synopsis>
                  Bytes transmitted to the CE that
                  incurred errors
               </synopsis>
               <typeRef>uint64</typeRef>
            </component>
         </struct>
      </dataTypeDef>
      <dataTypeDef>
         <name>AllCEType</name>
         <synopsis>Table type for the AllCE component</synopsis>
         <struct>
            <component componentID="1">
               <name>CEID</name>
               <synopsis>ID of the CE</synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="2">
               <name>Statistics</name>
               <synopsis>Statistics per the CE</synopsis>
               <typeRef>StatisticsType</typeRef>
            </component>
            <component componentID="3">
               <name>CEStatus</name>
               <synopsis>Status of the CE</synopsis>
               <typeRef>CEStatusType</typeRef>
            </component>
         </struct>
      </dataTypeDef>
   </dataTypeDefs>
   <LFBClassDefs>
      <LFBClassDef LFBClassID="2">
         <name>FEPO</name>
         <synopsis>
            The FE Protocol Object, with new CEHA
         </synopsis>
         <version>1.1</version>
         <components>
            <component componentID="1" access="read-only">
               <name>CurrentRunningVersion</name>
               <synopsis>Currently running the ForCES version</synopsis>
               <typeRef>uchar</typeRef>
            </component>
            <component componentID="2" access="read-only">
               <name>FEID</name>
               <synopsis>Unicast FEID</synopsis>
               <typeRef>uint32</typeRef>
            </component>
        
            <component componentID="3" access="read-write">
               <name>MulticastFEIDs</name>
               <synopsis>
                  The table of all multicast IDs
               </synopsis>
               <array type="variable-size">
                  <typeRef>uint32</typeRef>
               </array>
            </component>
            <component componentID="4" access="read-write">
               <name>CEHBPolicy</name>
               <synopsis>
                  The CE Heartbeat policy
               </synopsis>
               <typeRef>CEHBPolicyValues</typeRef>
            </component>
            <component componentID="5" access="read-write">
               <name>CEHDI</name>
               <synopsis>
                  The CE Heartbeat Dead Interval in milliseconds
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="6" access="read-write">
               <name>FEHBPolicy</name>
               <synopsis>
                  The FE Heartbeat policy
               </synopsis>
               <typeRef>FEHBPolicyValues</typeRef>
            </component>
            <component componentID="7" access="read-write">
               <name>FEHI</name>
               <synopsis>
                  The FE Heartbeat Interval in milliseconds
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="8" access="read-write">
               <name>CEID</name>
               <synopsis>
                  The primary CE this FE is associated with
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="9" access="read-write">
               <name>BackupCEs</name>
        
            <component componentID="3" access="read-write">
               <name>MulticastFEIDs</name>
               <synopsis>
                  The table of all multicast IDs
               </synopsis>
               <array type="variable-size">
                  <typeRef>uint32</typeRef>
               </array>
            </component>
            <component componentID="4" access="read-write">
               <name>CEHBPolicy</name>
               <synopsis>
                  The CE Heartbeat policy
               </synopsis>
               <typeRef>CEHBPolicyValues</typeRef>
            </component>
            <component componentID="5" access="read-write">
               <name>CEHDI</name>
               <synopsis>
                  The CE Heartbeat Dead Interval in milliseconds
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="6" access="read-write">
               <name>FEHBPolicy</name>
               <synopsis>
                  The FE Heartbeat policy
               </synopsis>
               <typeRef>FEHBPolicyValues</typeRef>
            </component>
            <component componentID="7" access="read-write">
               <name>FEHI</name>
               <synopsis>
                  The FE Heartbeat Interval in milliseconds
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="8" access="read-write">
               <name>CEID</name>
               <synopsis>
                  The primary CE this FE is associated with
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="9" access="read-write">
               <name>BackupCEs</name>
        
               <synopsis>
                  The table of all backup CEs other than the
                  primary
               </synopsis>
               <array type="variable-size">
                  <typeRef>uint32</typeRef>
               </array>
            </component>
            <component componentID="10" access="read-write">
               <name>CEFailoverPolicy</name>
               <synopsis>
                  The CE failover policy
               </synopsis>
               <typeRef>CEFailoverPolicyValues</typeRef>
            </component>
            <component componentID="11" access="read-write">
               <name>CEFTI</name>
               <synopsis>
                  The CE Failover Timeout Interval in milliseconds
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="12" access="read-write">
               <name>FERestartPolicy</name>
               <synopsis>
                  The FE restart policy
               </synopsis>
               <typeRef>FERestartPolicyValues</typeRef>
            </component>
            <component componentID="13" access="read-write">
               <name>LastCEID</name>
               <synopsis>
                  The primary CE this FE was last associated
                  with
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="14" access="read-write">
               <name>HAMode</name>
               <synopsis>
                  The HA mode used
               </synopsis>
               <typeRef>HAModeValues</typeRef>
            </component>
            <component componentID="15" access="read-only">
               <name>AllCEs</name>
               <synopsis>The table of all CEs</synopsis>
               <array type="variable-size">
        
               <synopsis>
                  The table of all backup CEs other than the
                  primary
               </synopsis>
               <array type="variable-size">
                  <typeRef>uint32</typeRef>
               </array>
            </component>
            <component componentID="10" access="read-write">
               <name>CEFailoverPolicy</name>
               <synopsis>
                  The CE failover policy
               </synopsis>
               <typeRef>CEFailoverPolicyValues</typeRef>
            </component>
            <component componentID="11" access="read-write">
               <name>CEFTI</name>
               <synopsis>
                  The CE Failover Timeout Interval in milliseconds
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="12" access="read-write">
               <name>FERestartPolicy</name>
               <synopsis>
                  The FE restart policy
               </synopsis>
               <typeRef>FERestartPolicyValues</typeRef>
            </component>
            <component componentID="13" access="read-write">
               <name>LastCEID</name>
               <synopsis>
                  The primary CE this FE was last associated
                  with
               </synopsis>
               <typeRef>uint32</typeRef>
            </component>
            <component componentID="14" access="read-write">
               <name>HAMode</name>
               <synopsis>
                  The HA mode used
               </synopsis>
               <typeRef>HAModeValues</typeRef>
            </component>
            <component componentID="15" access="read-only">
               <name>AllCEs</name>
               <synopsis>The table of all CEs</synopsis>
               <array type="variable-size">
        
                  <typeRef>AllCEType</typeRef>
               </array>
            </component>
         </components>
         <capabilities>
            <capability componentID="30">
               <name>SupportableVersions</name>
               <synopsis>
                  The table of ForCES versions that FE supports
               </synopsis>
               <array type="variable-size">
                  <typeRef>uchar</typeRef>
               </array>
            </capability>
            <capability componentID="31">
               <name>HACapabilities</name>
               <synopsis>
                  The table of HA capabilities the FE supports
               </synopsis>
               <array type="variable-size">
                  <typeRef>FEHACapab</typeRef>
               </array>
            </capability>
         </capabilities>
         <events baseID="61">
            <event eventID="1">
               <name>PrimaryCEDown</name>
               <synopsis>
                  The primary CE has changed
               </synopsis>
               <eventTarget>
                  <eventField>LastCEID</eventField>
               </eventTarget>
               <eventChanged/>
               <eventReports>
                  <eventReport>
                     <eventField>LastCEID</eventField>
                  </eventReport>
               </eventReports>
            </event>
            <event eventID="2">
               <name>PrimaryCEChanged</name>
               <synopsis>A new primary CE has been selected
               </synopsis>
               <eventTarget>
                  <eventField>CEID</eventField>
               </eventTarget>
               <eventChanged/>
        
                  <typeRef>AllCEType</typeRef>
               </array>
            </component>
         </components>
         <capabilities>
            <capability componentID="30">
               <name>SupportableVersions</name>
               <synopsis>
                  The table of ForCES versions that FE supports
               </synopsis>
               <array type="variable-size">
                  <typeRef>uchar</typeRef>
               </array>
            </capability>
            <capability componentID="31">
               <name>HACapabilities</name>
               <synopsis>
                  The table of HA capabilities the FE supports
               </synopsis>
               <array type="variable-size">
                  <typeRef>FEHACapab</typeRef>
               </array>
            </capability>
         </capabilities>
         <events baseID="61">
            <event eventID="1">
               <name>PrimaryCEDown</name>
               <synopsis>
                  The primary CE has changed
               </synopsis>
               <eventTarget>
                  <eventField>LastCEID</eventField>
               </eventTarget>
               <eventChanged/>
               <eventReports>
                  <eventReport>
                     <eventField>LastCEID</eventField>
                  </eventReport>
               </eventReports>
            </event>
            <event eventID="2">
               <name>PrimaryCEChanged</name>
               <synopsis>A new primary CE has been selected
               </synopsis>
               <eventTarget>
                  <eventField>CEID</eventField>
               </eventTarget>
               <eventChanged/>
        
               <eventReports>
                  <eventReport>
                     <eventField>CEID</eventField>
                  </eventReport>
               </eventReports>
            </event>
         </events>
      </LFBClassDef>
   </LFBClassDefs>
</LFBLibrary>
        
               <eventReports>
                  <eventReport>
                     <eventField>CEID</eventField>
                  </eventReport>
               </eventReports>
            </event>
         </events>
      </LFBClassDef>
   </LFBClassDefs>
</LFBLibrary>
        

Authors' Addresses

作者地址

Kentaro Ogawa NTT Corporation 3-9-11 Midori-cho Musashino-shi, Tokyo 180-8585 Japan

日本东京小川健太郎NTT公司3-9-11 Midori cho Musashino shi 180-8585

   EMail: k.ogawa@ntt.com
        
   EMail: k.ogawa@ntt.com
        

Weiming Wang Zhejiang Gongshang University 18 Xuezheng Str., Xiasha University Town Hangzhou 310018 P.R. China

王伟明浙江工商大学中国杭州下沙大学城学政街18号310018

   Phone: +86 571 28877751
   EMail: wmwang@zjsu.edu.cn
        
   Phone: +86 571 28877751
   EMail: wmwang@zjsu.edu.cn
        

Evangelos Haleplidis University of Patras Department of Electrical and Computer Engineering Patras 26500 Greece

佩特雷大学电气与计算机工程系帕特雷26500希腊分校

   EMail: ehalep@ece.upatras.gr
        
   EMail: ehalep@ece.upatras.gr
        

Jamal Hadi Salim Mojatatu Networks Suite 400, 303 Moodie Dr. Ottawa, Ontario K2H 9R4 Canada

Jamal Hadi Salim Mojatatu Networks 400套房,303 Moodie Dr.渥太华,加拿大安大略省K2H 9R4

   EMail: hadi@mojatatu.com
        
   EMail: hadi@mojatatu.com