Network Working Group                                         R. Stewart
Request for Comments: 5352                                        Q. Xie
Category: Experimental                                The Resource Group
                                                             M. Stillman
                                                                   Nokia
                                                               M. Tuexen
                                      Muenster Univ. of Applied Sciences
                                                          September 2008
        
Network Working Group                                         R. Stewart
Request for Comments: 5352                                        Q. Xie
Category: Experimental                                The Resource Group
                                                             M. Stillman
                                                                   Nokia
                                                               M. Tuexen
                                      Muenster Univ. of Applied Sciences
                                                          September 2008
        

Aggregate Server Access Protocol (ASAP)

聚合服务器访问协议(ASAP)

Status of This Memo

关于下段备忘

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

这份备忘录为互联网社区定义了一个实验性协议。它没有规定任何类型的互联网标准。要求进行讨论并提出改进建议。本备忘录的分发不受限制。

Abstract

摘要

Aggregate Server Access Protocol (ASAP; RFC 5352), in conjunction with the Endpoint Handlespace Redundancy Protocol (ENRP; RFC 5353), provides a high-availability data transfer mechanism over IP networks. ASAP uses a handle-based addressing model that isolates a logical communication endpoint from its IP address(es), thus effectively eliminating the binding between the communication endpoint and its physical IP address(es), which normally constitutes a single point of failure.

聚合服务器访问协议(ASAP;RFC 5352)与端点Handlespace冗余协议(ENRP;RFC 5353)相结合,提供了IP网络上的高可用性数据传输机制。ASAP使用基于句柄的寻址模型,将逻辑通信端点与其IP地址隔离,从而有效地消除通信端点与其物理IP地址之间的绑定,这通常构成单点故障。

In addition, ASAP defines each logical communication destination as a pool, providing full transparent support for server pooling and load sharing. It also allows dynamic system scalability -- members of a server pool can be added or removed at any time without interrupting the service.

此外,ASAP将每个逻辑通信目标定义为一个池,为服务器池和负载共享提供完全透明的支持。它还允许动态系统可伸缩性——可以随时添加或删除服务器池的成员,而不会中断服务。

ASAP is designed to take full advantage of the network level redundancy provided by the Stream Transmission Control Protocol (SCTP; RFC 4960). Each transport protocol, other than SCTP, MUST have an accompanying transport mapping document. It should be noted that ASAP messages passed between Pool Elements (PEs) and ENRP servers MUST use the SCTP transport protocol.

ASAP旨在充分利用流传输控制协议(SCTP;RFC 4960)提供的网络级冗余。除SCTP外,每个传输协议都必须附带传输映射文档。应该注意,池元素(PE)和ENRP服务器之间传递的ASAP消息必须使用SCTP传输协议。

The high-availability server pooling is gained by combining two protocols, namely ASAP and ENRP, in which ASAP provides the user interface for Pool Handle to address translation, load sharing management, and fault management, while ENRP defines the high-availability Pool Handle translation service.

高可用性服务器池通过结合两个协议(即ASAP和ENRP)实现,其中ASAP提供池句柄的用户界面,用于地址转换、负载共享管理和故障管理,而ENRP定义了高可用性池句柄转换服务。

Table of Contents

目录

   1. Introduction ....................................................4
      1.1. Definitions ................................................4
      1.2. Conventions ................................................5
      1.3. Organization of This Document ..............................6
      1.4. Scope of ASAP ..............................................6
           1.4.1. Extent of the Handlespace ...........................6
   2. Message Definitions .............................................6
      2.1. ASAP Parameter Formats .....................................7
      2.2. ASAP Messages ..............................................7
           2.2.1. ASAP_REGISTRATION Message ...........................7
           2.2.2. ASAP_DEREGISTRATION Message .........................8
           2.2.3. ASAP_REGISTRATION_RESPONSE Message ..................9
           2.2.4. ASAP_DEREGISTRATION_RESPONSE Message ...............10
           2.2.5. ASAP_HANDLE_RESOLUTION Message .....................10
           2.2.6. ASAP_HANDLE_RESOLUTION_RESPONSE Message ............11
           2.2.7. ASAP_ENDPOINT_KEEP_ALIVE Message ...................13
           2.2.8. ASAP_ENDPOINT_KEEP_ALIVE_ACK Message ...............14
           2.2.9. ASAP_ENDPOINT_UNREACHABLE Message ..................14
           2.2.10. ASAP_SERVER_ANNOUNCE Message ......................15
           2.2.11. ASAP_COOKIE Message ...............................16
           2.2.12. ASAP_COOKIE_ECHO Message ..........................16
           2.2.13. ASAP_BUSINESS_CARD Message ........................17
           2.2.14. ASAP_ERROR Message ................................17
   3. Procedures .....................................................18
      3.1. Registration ..............................................18
      3.2. De-Registration ...........................................21
      3.3. Handle Resolution .........................................23
      3.4. Endpoint Keep Alive .......................................25
      3.5. Unreachable Endpoints .....................................26
      3.6. ENRP Server Hunt Procedures ...............................27
      3.7. Handling ASAP Endpoint to ENRP Server
           Communication Failures ....................................28
           3.7.1. SCTP Send Failure ..................................28
           3.7.2. T1-ENRPrequest Timer Expiration ....................29
           3.7.3. Registration Failure ...............................29
      3.8. Cookie Handling Procedures ................................29
      3.9. Business Card Handling Procedures .........................30
   4. Roles of Endpoints .............................................31
   5. SCTP Considerations ............................................31
   6. The ASAP Interfaces ............................................31
      6.1. Registration.Request Primitive ............................32
      6.2. Deregistration.Request Primitive ..........................32
      6.3. CachePopulateRequest Primitive ............................33
      6.4. CachePurgeRequest Primitive ...............................33
      6.5. DataSendRequest Primitive .................................33
           6.5.1. Sending to a Pool Handle ...........................34
        
   1. Introduction ....................................................4
      1.1. Definitions ................................................4
      1.2. Conventions ................................................5
      1.3. Organization of This Document ..............................6
      1.4. Scope of ASAP ..............................................6
           1.4.1. Extent of the Handlespace ...........................6
   2. Message Definitions .............................................6
      2.1. ASAP Parameter Formats .....................................7
      2.2. ASAP Messages ..............................................7
           2.2.1. ASAP_REGISTRATION Message ...........................7
           2.2.2. ASAP_DEREGISTRATION Message .........................8
           2.2.3. ASAP_REGISTRATION_RESPONSE Message ..................9
           2.2.4. ASAP_DEREGISTRATION_RESPONSE Message ...............10
           2.2.5. ASAP_HANDLE_RESOLUTION Message .....................10
           2.2.6. ASAP_HANDLE_RESOLUTION_RESPONSE Message ............11
           2.2.7. ASAP_ENDPOINT_KEEP_ALIVE Message ...................13
           2.2.8. ASAP_ENDPOINT_KEEP_ALIVE_ACK Message ...............14
           2.2.9. ASAP_ENDPOINT_UNREACHABLE Message ..................14
           2.2.10. ASAP_SERVER_ANNOUNCE Message ......................15
           2.2.11. ASAP_COOKIE Message ...............................16
           2.2.12. ASAP_COOKIE_ECHO Message ..........................16
           2.2.13. ASAP_BUSINESS_CARD Message ........................17
           2.2.14. ASAP_ERROR Message ................................17
   3. Procedures .....................................................18
      3.1. Registration ..............................................18
      3.2. De-Registration ...........................................21
      3.3. Handle Resolution .........................................23
      3.4. Endpoint Keep Alive .......................................25
      3.5. Unreachable Endpoints .....................................26
      3.6. ENRP Server Hunt Procedures ...............................27
      3.7. Handling ASAP Endpoint to ENRP Server
           Communication Failures ....................................28
           3.7.1. SCTP Send Failure ..................................28
           3.7.2. T1-ENRPrequest Timer Expiration ....................29
           3.7.3. Registration Failure ...............................29
      3.8. Cookie Handling Procedures ................................29
      3.9. Business Card Handling Procedures .........................30
   4. Roles of Endpoints .............................................31
   5. SCTP Considerations ............................................31
   6. The ASAP Interfaces ............................................31
      6.1. Registration.Request Primitive ............................32
      6.2. Deregistration.Request Primitive ..........................32
      6.3. CachePopulateRequest Primitive ............................33
      6.4. CachePurgeRequest Primitive ...............................33
      6.5. DataSendRequest Primitive .................................33
           6.5.1. Sending to a Pool Handle ...........................34
        
           6.5.2. Pool Element Selection .............................35
                  6.5.2.1. Round-Robin Policy ........................35
           6.5.3. Sending to a Pool Element Handle ...................35
           6.5.4. Send by Transport Address ..........................37
           6.5.5. Message Delivery Options ...........................37
      6.6. Data.Received Notification ................................38
      6.7. Error.Report Notification .................................39
      6.8. Examples ..................................................39
           6.8.1. Send to a New Pool .................................39
           6.8.2. Send to a Cached Pool Handle .......................40
      6.9. PE Send Failure ...........................................41
           6.9.1. Translation.Request Primitive ......................41
           6.9.2. Transport.Failure Primitive ........................42
   7. Timers, Variables, and Thresholds ..............................42
      7.1. Timers ....................................................42
      7.2. Variables .................................................42
      7.3. Thresholds ................................................43
   8. IANA Considerations ............................................43
      8.1. A New Table for ASAP Message Types ........................43
      8.2. Port Numbers ..............................................44
      8.3. SCTP Payload Protocol Identifier ..........................44
      8.4. Multicast Addresses .......................................44
   9. Security Considerations ........................................44
      9.1. Summary of RSerPool Security Threats ......................45
      9.2. Implementing Security Mechanisms ..........................46
      9.3. Chain of Trust ............................................49
   10. Acknowledgments ...............................................50
   11. References ....................................................50
      11.1. Normative References .....................................50
      11.2. Informative References ...................................51
        
           6.5.2. Pool Element Selection .............................35
                  6.5.2.1. Round-Robin Policy ........................35
           6.5.3. Sending to a Pool Element Handle ...................35
           6.5.4. Send by Transport Address ..........................37
           6.5.5. Message Delivery Options ...........................37
      6.6. Data.Received Notification ................................38
      6.7. Error.Report Notification .................................39
      6.8. Examples ..................................................39
           6.8.1. Send to a New Pool .................................39
           6.8.2. Send to a Cached Pool Handle .......................40
      6.9. PE Send Failure ...........................................41
           6.9.1. Translation.Request Primitive ......................41
           6.9.2. Transport.Failure Primitive ........................42
   7. Timers, Variables, and Thresholds ..............................42
      7.1. Timers ....................................................42
      7.2. Variables .................................................42
      7.3. Thresholds ................................................43
   8. IANA Considerations ............................................43
      8.1. A New Table for ASAP Message Types ........................43
      8.2. Port Numbers ..............................................44
      8.3. SCTP Payload Protocol Identifier ..........................44
      8.4. Multicast Addresses .......................................44
   9. Security Considerations ........................................44
      9.1. Summary of RSerPool Security Threats ......................45
      9.2. Implementing Security Mechanisms ..........................46
      9.3. Chain of Trust ............................................49
   10. Acknowledgments ...............................................50
   11. References ....................................................50
      11.1. Normative References .....................................50
      11.2. Informative References ...................................51
        
1. Introduction
1. 介绍

The Aggregate Server Access Protocol (ASAP), when used in conjunction with Endpoint Name Resolution Protocol [RFC5353], provides a high-availability data-transfer mechanism over IP networks. ASAP uses a handle-based addressing model that isolates a logical communication endpoint from its IP address(es), thus effectively eliminating the binding between the communication endpoint and its physical IP address(es), which normally constitutes a single point of failure.

当与端点名称解析协议[RFC5353]结合使用时,聚合服务器访问协议(ASAP)提供了IP网络上的高可用性数据传输机制。ASAP使用基于句柄的寻址模型,将逻辑通信端点与其IP地址隔离,从而有效地消除通信端点与其物理IP地址之间的绑定,这通常构成单点故障。

When multiple receiver instances exist under the same handle (aka a server pool), an ASAP Endpoint will select one Pool Element (PE), based on the current load sharing policy indicated by the server pool, and deliver its message to the selected PE.

当同一句柄(也称为服务器池)下存在多个接收方实例时,ASAP端点将根据服务器池指示的当前负载共享策略选择一个池元素(PE),并将其消息传递给所选PE。

While delivering the message, ASAP can be used to monitor the reachability of the selected PE. If it is found unreachable, before notifying the message sender (an ASAP User) of the failure, ASAP can automatically select another PE (if one exists) under that pool and attempt to deliver the message to that PE. In other words, ASAP is capable of transparent failover amongst PE instances within a server pool.

在传递消息时,ASAP可用于监控所选PE的可达性。如果发现无法访问,在通知消息发送者(ASAP用户)失败之前,ASAP可以自动选择该池下的另一个PE(如果存在),并尝试将消息传递给该PE。换句话说,ASAP能够在服务器池中的PE实例之间进行透明的故障切换。

ASAP depends on ENRP, which provides a high-availability Pool Handlespace. ASAP is responsible for the abstraction of the underlying transport technologies, load distribution management, fault management, as well as presentation to the upper layer (aka an ASAP User) via a unified primitive interface.

ASAP依赖于提供高可用性池Handlespace的ENRP。ASAP负责抽象底层传输技术、负载分布管理、故障管理,以及通过统一的原语界面向上层(也称为ASAP用户)呈现。

When SCTP [RFC4960] is used as the transport layer protocol, ASAP can seamlessly incorporate the link-layer redundancy provided by SCTP.

当使用SCTP[RFC4960]作为传输层协议时,ASAP可以无缝地合并SCTP提供的链路层冗余。

This document defines the ASAP portion of the high-availability server pool.

本文档定义了高可用性服务器池的ASAP部分。

1.1. Definitions
1.1. 定义

This document uses the following terms:

本文件使用以下术语:

ASAP User: Either a PE or Pool User (PU) that uses ASAP.

ASAP用户:使用ASAP的PE或池用户(PU)。

Business Card: When presented by a PU or PE, it specifies the pool the sender belongs to and provides a list of alternate PEs in case of failovers.

名片:当由PU或PE出示时,它指定发送者所属的池,并在故障切换时提供备用PE列表。

Operational Scope: The part of the network visible to pool users by a specific instance of the reliable server pooling protocols.

操作范围:可靠服务器池协议的特定实例对池用户可见的网络部分。

Pool (or Server Pool): A collection of servers providing the same application functionality.

池(或服务器池):提供相同应用程序功能的服务器集合。

Pool Handle: A logical pointer to a pool. Each server pool will be identifiable in the operational scope of the system by a unique Pool Handle.

池句柄:指向池的逻辑指针。每个服务器池将在系统的操作范围内通过唯一的池句柄进行标识。

Pool Element: A server entity having registered to a pool.

池元素:已注册到池的服务器实体。

Pool User: A server pool user.

池用户:服务器池用户。

Pool Element Handle (or Endpoint Handle): A logical pointer to a particular Pool Element in a pool, consisting of the Pool Handle and a destination transport address of the Pool Element.

池元素句柄(或端点句柄):指向池中特定池元素的逻辑指针,由池句柄和池元素的目标传输地址组成。

Handlespace: A cohesive structure of Pool Handles and relations that may be queried by an internal or external agent.

Handlespace:池句柄和关系的内聚结构,可由内部或外部代理查询。

Home ENRP Server: The ENRP server to which a PE or PU currently sends all namespace service requests. A PE must only have one Home ENRP server at any given time, and both the PE and its Home ENRP server MUST know and keep track of this relationship. A PU should select one of the available ENRP servers as its Home ENRP server, but the collective ENRP servers may change this by the sending of an ASAP_ENDPOINT_KEEP_ALIVE message.

主ENRP服务器:PE或PU当前向其发送所有命名空间服务请求的ENRP服务器。PE在任何给定时间必须只有一个家庭ENRP服务器,并且PE及其家庭ENRP服务器必须了解并跟踪这种关系。PU应选择一个可用的ENRP服务器作为其主ENRP服务器,但集合ENRP服务器可通过发送ASAP_ENDPOINT_KEEP_ALIVE消息来改变这一点。

ENRP Client Channel: The communication channel through which an ASAP User sends all namespace service requests. The client channel is usually defined by the transport address of the Home ENRP server and a well-known port number. The channel MAY make use of multicast or a named list of ENRP servers.

ENRP客户端通道:ASAP用户发送所有命名空间服务请求的通信通道。客户端通道通常由家庭ENRP服务器的传输地址和众所周知的端口号定义。信道可以使用多播或ENRP服务器的命名列表。

Network Byte Order: Most significant byte first, aka Big Endian.

网络字节顺序:最高有效字节优先,又名Big-Endian。

Transport Address: A transport address is traditionally defined by Network Layer address, Transport Layer protocol and Transport Layer port number. In the case of SCTP running over IP, a transport address is defined by the combination of an IP address and an SCTP port number (where SCTP is the Transport protocol).

传输地址:传统上,传输地址由网络层地址、传输层协议和传输层端口号定义。在通过IP运行SCTP的情况下,传输地址由IP地址和SCTP端口号的组合定义(其中SCTP是传输协议)。

1.2. Conventions
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]中所述进行解释。

1.3. Organization of This Document
1.3. 本文件的组织

Section 2 details the ASAP message formats. In Section 3, we provide detailed ASAP procedures for the ASAP implementer. Section 4 summarizes which messages need to be supported by which nodes, and Section 5 describes the usage of SCTP. In Section 6, details of the ASAP interface are given, focusing on the communication primitives between ASAP, the applications above ASAP, and ASAP itself, and the communications primitives between ASAP and SCTP (or other transport layers). Also included in this discussion are relevant timers and configurable parameters, as appropriate. Section 7 provides threshold and protocol variables.

第2节详细介绍了ASAP消息格式。在第3节中,我们为ASAP实施者提供了详细的ASAP过程。第4节总结了哪些节点需要支持哪些消息,第5节描述了SCTP的用法。第6节详细介绍了ASAP接口,重点介绍了ASAP之间的通信原语、ASAP上面的应用程序和ASAP本身,以及ASAP和SCTP(或其他传输层)之间的通信原语。本讨论还包括相关计时器和可配置参数(视情况而定)。第7节提供了阈值和协议变量。

It should be noted that variables, timers, and constants are used in the text when necessary. The complete list can be found in Section 7.

需要注意的是,文本中会在必要时使用变量、计时器和常量。完整清单见第7节。

1.4. Scope of ASAP
1.4. 尽快行动的范围

The requirements for high availability and scalability do not imply requirements on shared state and data. ASAP does not provide transaction failover. If a host or application fails during the processing of a transaction, this transaction may be lost. Some services MAY provide a way to handle the failure, but this is not guaranteed. ASAP MAY provide hooks to assist an application in building a mechanism to share state but ASAP in itself does NOT share any state.

对高可用性和可伸缩性的要求并不意味着对共享状态和数据的要求。ASAP不提供事务故障转移。如果主机或应用程序在事务处理过程中失败,则此事务可能会丢失。有些服务可能会提供一种处理故障的方法,但不能保证这一点。ASAP可以提供钩子来帮助应用程序构建共享状态的机制,但ASAP本身并不共享任何状态。

1.4.1. Extent of the Handlespace
1.4.1. 把手空间的范围

The scope of ASAP/ENRP is NOT Internet-wide. The handlespace is neither hierarchical nor arbitrarily large like DNS. A flat peer-to-peer model is detailed. Pools of servers will exist in different administrative domains. For example, suppose the use of ASAP and ENRP is wanted. First, the PU may use DNS to contact an ENRP server. Suppose a PU in North America wishes to contact a server pool in Japan instead of North America. The PU would use DNS to get the list of IP addresses of the Japanese server pool; that is, the ENRP client channel in Japan. From there, the PU would query the Home ENRP server it established and then directly contact the PE(s) of interest.

ASAP/ENRP的范围不是互联网范围。handlespace既不是层次结构,也不像DNS那样任意大。详细介绍了一种平面对等模型。服务器池将存在于不同的管理域中。例如,假设需要使用ASAP和ENRP。首先,PU可以使用DNS联系ENRP服务器。假设北美的一个PU希望联系日本而不是北美的服务器池。PU将使用DNS获取日本服务器池的IP地址列表;即日本的ENRP客户渠道。从那里,PU将查询其建立的家庭ENRP服务器,然后直接联系感兴趣的PE。

2. Message Definitions
2. 消息定义

All messages, as well as their fields described below, shall be in network byte order during transmission. For fields with a length bigger than 4 bytes, a number in a pair of parentheses may follow the field name to indicate the length of the field in number of bytes.

在传输过程中,所有消息及其字段应按网络字节顺序排列。对于长度大于4字节的字段,字段名称后面可能会有一对括号中的数字,以字节数表示字段的长度。

2.1. ASAP Parameter Formats
2.1. ASAP参数格式

The basic message format and all parameter formats can be found in [RFC5354]. Note also that *all* ASAP messages exchanged between an ENRP server and a PE MUST use SCTP as transport, while ASAP messages exchanged between an ENRP server and a PU MUST use either SCTP or TCP as transport. PE to PU data traffic MAY use any transport protocol specified by the PE during registration.

基本消息格式和所有参数格式可在[RFC5354]中找到。还要注意,ENRP服务器和PE之间交换的*所有*ASAP消息必须使用SCTP作为传输,而ENRP服务器和PU之间交换的ASAP消息必须使用SCTP或TCP作为传输。PE-to-PU数据通信可在注册期间使用PE指定的任何传输协议。

2.2. ASAP Messages
2.2. 尽快消息

This section details the individual messages used by ASAP. These messages are composed of a standard message format found in Section 4 of [RFC5354]. The parameter descriptions can be found in [RFC5354].

本节详细介绍了ASAP使用的各个消息。这些消息由[RFC5354]第4节中的标准消息格式组成。参数说明可在[RFC5354]中找到。

The following ASAP message types are defined in this section:

本节定义了以下ASAP消息类型:

   Type       Message Name
   -----      -------------------------
   0x00       - (Reserved by IETF)
   0x01       - ASAP_REGISTRATION
   0x02       - ASAP_DEREGISTRATION
   0x03       - ASAP_REGISTRATION_RESPONSE
   0x04       - ASAP_DEREGISTRATION_RESPONSE
   0x05       - ASAP_HANDLE_RESOLUTION
   0x06       - ASAP_HANDLE_RESOLUTION_RESPONSE
   0x07       - ASAP_ENDPOINT_KEEP_ALIVE
   0x08       - ASAP_ENDPOINT_KEEP_ALIVE_ACK
   0x09       - ASAP_ENDPOINT_UNREACHABLE
   0x0a       - ASAP_SERVER_ANNOUNCE
   0x0b       - ASAP_COOKIE
   0x0c       - ASAP_COOKIE_ECHO
   0x0d       - ASAP_BUSINESS_CARD
   0x0e       - ASAP_ERROR
   others     - (Reserved by IETF)
        
   Type       Message Name
   -----      -------------------------
   0x00       - (Reserved by IETF)
   0x01       - ASAP_REGISTRATION
   0x02       - ASAP_DEREGISTRATION
   0x03       - ASAP_REGISTRATION_RESPONSE
   0x04       - ASAP_DEREGISTRATION_RESPONSE
   0x05       - ASAP_HANDLE_RESOLUTION
   0x06       - ASAP_HANDLE_RESOLUTION_RESPONSE
   0x07       - ASAP_ENDPOINT_KEEP_ALIVE
   0x08       - ASAP_ENDPOINT_KEEP_ALIVE_ACK
   0x09       - ASAP_ENDPOINT_UNREACHABLE
   0x0a       - ASAP_SERVER_ANNOUNCE
   0x0b       - ASAP_COOKIE
   0x0c       - ASAP_COOKIE_ECHO
   0x0d       - ASAP_BUSINESS_CARD
   0x0e       - ASAP_ERROR
   others     - (Reserved by IETF)
        

Figure 1

图1

2.2.1. ASAP_REGISTRATION Message
2.2.1. 尽快注册信息

The ASAP_REGISTRATION message is sent by a PE to its Home ENRP server to either create a new pool or to add itself to an existing pool. The PE sending the ASAP_REGISTRATION message MUST fill in the Pool Handle parameter and the Pool Element parameter. The Pool Handle parameter specifies the name to be registered. The Pool Element parameter MUST be filled in by the registrant, as outlined in Section 3.1. Note that the PE sending the registration message MUST

PE向其主ENRP服务器发送ASAP_注册消息,以创建新池或将其自身添加到现有池。发送ASAP_注册消息的PE必须填写Pool Handle参数和Pool Element参数。池句柄参数指定要注册的名称。池元素参数必须由注册人填写,如第3.1节所述。请注意,发送注册消息的PE必须

send the message using an SCTP association. Furthermore, the IP address(es) of the PE that is registered within the Pool Element parameter MUST be a subset of the IP address(es) used in the SCTP association, regardless of the registered transport protocol.

使用SCTP关联发送消息。此外,在Pool元素参数中注册的PE的IP地址必须是SCTP关联中使用的IP地址的子集,而不管注册的传输协议如何。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x01 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Element Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x01 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Element Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

Pool Element Parameter:

池元素参数:

See [RFC5354].

参见[RFC5354]。

2.2.2. ASAP_DEREGISTRATION Message
2.2.2. 尽快撤销注册信息

The ASAP_DEREGISTRATION message is sent by a PE to its Home ENRP server to remove itself from a pool to which it registered.

PE向其主ENRP服务器发送ASAP_注销消息,以将其自身从其注册的池中移除。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x02 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+++
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x02 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+++
        

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

PE Identifier Parameter:

PE标识符参数:

See [RFC5354].

参见[RFC5354]。

The PE sending the ASAP_DEREGISTRATION MUST fill in the Pool Handle and the PE identifier parameter in order to allow the ENRP server to verify the identity of the endpoint. Note that de-registration is NOT allowed by proxy; in other words, a PE may only de-register itself.

发送ASAP_注销的PE必须填写池句柄和PE标识符参数,以允许ENRP服务器验证端点的标识。请注意,代理不允许取消注册;换言之,PE只能自行注销。

2.2.3. ASAP_REGISTRATION_RESPONSE Message
2.2.3. 尽快注册响应信息

The ASAP_REGISTRATION_RESPONSE message is sent in response by the Home ENRP server to the PE that sent an ASAP_REGISTRATION message.

家庭ENRP服务器向发送ASAP_注册消息的PE发送ASAP_注册响应消息。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x03 |0|0|0|0|0|0|0|R|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Operational Error (optional)                :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x03 |0|0|0|0|0|0|0|R|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Operational Error (optional)                :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

R (Reject) Flag:

R(拒绝)标志:

When set to '1', this flag indicates that the ENRP server sending this message has rejected the registration. Otherwise, when this flag is set to '0', this indicates the registration has been granted.

当设置为“1”时,此标志表示发送此消息的ENRP服务器已拒绝注册。否则,当此标志设置为“0”时,表示已授予注册。

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

PE Identifier Parameter:

PE标识符参数:

See [RFC5354].

参见[RFC5354]。

Operational Error Parameter (optional):

操作错误参数(可选):

See [RFC5354].

参见[RFC5354]。

This parameter is included if an error or some atypical events occurred during the registration process. When the R flag is set to '1', this parameter, if present, indicates the cause of the rejection. When the R flag is set to '0', this parameter, if present, serves as a warning to the registering PE, informing it that

如果在注册过程中发生错误或某些非典型事件,则包含此参数。当R标志设置为“1”时,此参数(如果存在)指示拒绝的原因。当R标志设置为“0”时,此参数(如果存在)将向注册PE发出警告,通知其

some of its registration values may have been modified by the ENRP server. If the registration was successful and there is no warning, this parameter is not included.

其某些注册值可能已被ENRP服务器修改。如果注册成功且没有警告,则不包括此参数。

2.2.4. ASAP_DEREGISTRATION_RESPONSE Message
2.2.4. 尽快取消注册响应消息

The ASAP_DEREGISTRATION_RESPONSE message is returned by the Home ENRP server to a PE in response to an ASAP_DEREGISTRATION message or due to the expiration of the registration life of the PE in the pool.

ASAP_注销响应消息由家庭ENRP服务器返回给PE,以响应ASAP_注销消息或由于PE在池中的注册有效期到期。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x04 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Operational Error (optional)                :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x04 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Operational Error (optional)                :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

PE Identifier Parameter:

PE标识符参数:

See [RFC5354].

参见[RFC5354]。

Operational Error:

操作错误:

See [RFC5354].

参见[RFC5354]。

This parameter is included if an error or some atypical events occurred during the de-registration process. If the de-registration was successful this parameter is not included.

如果在取消注册过程中发生错误或某些非典型事件,则包含此参数。如果取消注册成功,则不包括此参数。

2.2.5. ASAP_HANDLE_RESOLUTION Message
2.2.5. 尽快处理解决方案消息

The ASAP_HANDLE_RESOLUTION message is sent by either a PE or PU to its Home ENRP server to resolve a Pool Handle into a list of Pool Elements that are members of the pool indicated by the Pool Handle.

PE或PU向其主ENRP服务器发送ASAP_HANDLE_RESOLUTION消息,以将池句柄解析为池句柄所指示的池成员的池元素列表。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x05 |0|0|0|0|0|0|0|S|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x05 |0|0|0|0|0|0|0|S|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The 'S' bit:

“S”位:

The 'S' bit, if set to '1', requests the Home ENRP server to send updates to this Pool dynamically when the Pool changes for the lifetime of the SCTP association. Dynamic updates to the pool will consist of additional ASAP_HANDLE_RESOLUTION_RESPONSE messages, without the user needing to send in an ASAP_HANDLE_RESOLUTION.

如果设置为“1”,则“S”位请求主ENRP服务器在SCTP关联的生存期内池发生更改时动态向该池发送更新。对池的动态更新将包括附加的ASAP\U HANDLE\U RESOLUTION\u响应消息,用户无需发送ASAP\U HANDLE\U RESOLUTION。

If the 'S' bit is set to '0', no Dynamic updates are requested.

如果“S”位设置为“0”,则不请求动态更新。

Note that if a new Home ENRP server is adopted, any 'dynamic update request' will need to be re-sent to the new Home ENPR server if the endpoint would like to continue to receive updates. In other words, the ENRP servers do NOT share state regarding which of its PU's are requesting automatic update of state. Thus, upon change of Home ENRP server, the PU will need to re-send an ASAP_HANDLE_RESOLUTION message with the 'S' bit set to '1'. Note also, that the 'S' bit will only cause Dynamic update of a Pool when the Pool exists. If a negative response is returned, no further updates to the Pool (when it is created) will occur.

请注意,如果采用新的家庭ENRP服务器,则如果端点希望继续接收更新,则需要将任何“动态更新请求”重新发送到新的家庭ENPR服务器。换句话说,ENRP服务器不共享其PU请求自动更新状态的状态。因此,在更改家庭ENRP服务器时,PU需要重新发送ASAP_HANDLE_解析消息,将“S”位设置为“1”。另外请注意,'S'位只会在池存在时导致池的动态更新。如果返回否定响应,则不会对池进行进一步更新(创建池时)。

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

2.2.6. ASAP_HANDLE_RESOLUTION_RESPONSE Message
2.2.6. 尽快处理解决响应消息

The ASAP_HANDLE_RESOLUTION_RESPONSE message is sent in response by the Home ENRP server of the PU or PE that sent an ASAP_HANDLE_RESOLUTION message or is sent periodically upon Pool changes if the PU has requested Dynamic updates.

ASAP_句柄_解析_响应消息由发送ASAP_句柄_解析消息的PU或PE的家庭ENRP服务器响应发送,或者在PU请求动态更新时,在池更改时定期发送。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x06 |0|0|0|0|0|0|0|A|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :             Overall PE Selection Policy (optional)            :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :               Pool Element Parameter 1 (optional)             :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                              ...                              :
   :                                                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :               Pool Element Parameter N (optional)             :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Operational Error (optional)                :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x06 |0|0|0|0|0|0|0|A|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :             Overall PE Selection Policy (optional)            :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :               Pool Element Parameter 1 (optional)             :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                              ...                              :
   :                                                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :               Pool Element Parameter N (optional)             :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Operational Error (optional)                :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

'A' bit:

“A”位:

This bit is set to '1' if the ENRP server accepts the request to send automatic updates (i.e., the 'S' bit was set on the request). If this bit is set to '0', either the ENRP server does NOT support automatic updates, it has resource issues and cannot supply this feature, or the user did not request it.

如果ENRP服务器接受发送自动更新的请求,则该位设置为“1”(即,在请求中设置了“S”位)。如果此位设置为“0”,则ENRP服务器不支持自动更新、存在资源问题且无法提供此功能,或者用户未请求此功能。

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

Overall PE Selection Policy (optional):

总体PE选择策略(可选):

See [RFC5354].

参见[RFC5354]。

This parameter can be present when the response is positive. If present, it indicates the overall pool member selection policy of the pool. If not present, a Round-Robin overall pool member selection policy is assumed. This parameter is not present when the response is negative.

当响应为正时,此参数可能存在。如果存在,则表示池的总体池成员选择策略。如果不存在,则假定采用循环整体池成员选择策略。当响应为负时,此参数不存在。

Note, any load policy parameter within a Pool Element parameter (if present) MUST be ignored, and MUST NOT be used to determine the overall pool member selection policy.

注意,必须忽略池元素参数(如果存在)中的任何加载策略参数,并且不得用于确定整个池成员选择策略。

Pool Element Parameters (optional):

池元素参数(可选):

See [RFC5354].

参见[RFC5354]。

When the response is positive, an array of PE parameters are included, indicating the current information about the PEs in the named pool. At least one PE parameter MUST be present. When the response is negative, no PE parameters are included.

当响应为肯定时,将包含一个PE参数数组,指示指定池中有关PE的当前信息。必须至少存在一个PE参数。当响应为负时,不包括PE参数。

Operational Error (optional):

操作错误(可选):

See [RFC5354].

参见[RFC5354]。

The presence of this parameter indicates that the response is negative (the handle resolution request was rejected by the ENRP server). The cause code in this parameter (if present) will indicate the reason the handle resolution request was rejected (e.g., the requested Pool Handle was not found). The absence of this parameter indicates that the response is positive.

存在此参数表示响应为否定(ENRP服务器拒绝了句柄解析请求)。此参数中的原因代码(如果存在)将指示句柄解析请求被拒绝的原因(例如,未找到请求的池句柄)。缺少此参数表示响应为正。

2.2.7. ASAP_ENDPOINT_KEEP_ALIVE Message
2.2.7. ASAP_ENDPOINT_KEEP_ALIVE消息

The ASAP_ENDPOINT_KEEP_ALIVE message is sent by an ENRP server to a PE. The ASAP_ENDPOINT_KEEP_ALIVE message is used to verify that the PE is reachable and requires the PE to adopt the sending server as its new Home ENRP server if the 'H' bit is set to '1'. Regardless of the setting of the 'H' bit, an ASAP Endpoint MUST respond with an ASAP_ENDPOINT_KEEP_ALIVE_ACK to any ASAP_ENDPOINT_KEEP_ALIVE messages that arrive.

ASAP_ENDPOINT_KEEP_ALIVE消息由ENRP服务器发送到PE。ASAP_ENDPOINT_KEEP_ALIVE消息用于验证PE是否可访问,如果“H”位设置为“1”,则要求PE采用发送服务器作为其新的主ENRP服务器。无论“H”位的设置如何,ASAP端点必须使用ASAP_端点_KEEP_ALIVE_ACK响应到达的任何ASAP_端点_KEEP_ALIVE消息。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x07 |0|0|0|0|0|0|0|H|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Server Identifier                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x07 |0|0|0|0|0|0|0|H|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Server Identifier                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

H (Home ENRP server) Flag:

H(家庭ENRP服务器)标志:

When set to '1', indicates that the ENRP server that sends this message wants to be the Home ENRP server of the receiver of this message.

当设置为“1”时,表示发送此消息的ENRP服务器希望成为此消息接收者的家庭ENRP服务器。

Server Identifier: 32 bits (unsigned integer)

服务器标识符:32位(无符号整数)

This is the ID of the ENRP server, as discussed in [RFC5353].

这是ENRP服务器的ID,如[RFC5353]中所述。

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

2.2.8. ASAP_ENDPOINT_KEEP_ALIVE_ACK Message
2.2.8. 尽快\u端点\u保持\u活动\u确认消息

The ASAP_ENDPOINT_KEEP_ALIVE_ACK message is sent by a PE in response to an ASAP_ENDPOINT_KEEP_ALIVE message sent by an ENRP server.

作为对ENRP服务器发送的ASAP_ENDPOINT_KEEP_ALIVE_消息的响应,PE发送ASAP_ENDPOINT_KEEP_ALIVE_ACK消息。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x08 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x08 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

PE Identifier Parameter:

PE标识符参数:

See [RFC5354].

参见[RFC5354]。

2.2.9. ASAP_ENDPOINT_UNREACHABLE Message
2.2.9. ASAP_端点_无法访问的消息

The ASAP_ENDPOINT_UNREACHABLE message is sent by either a PE or PU to its Home ENRP server to report an unreachable PE.

ASAP_ENDPOINT_UNREACHABLE消息由PE或PU发送到其主ENRP服务器,以报告无法访问的PE。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x09 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x09 |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                    PE Identifier Parameter                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

PE Identifier Parameter:

PE标识符参数:

See [RFC5354].

参见[RFC5354]。

2.2.10. ASAP_SERVER_ANNOUNCE Message
2.2.10. 尽快服务器发布消息

The ASAP_SERVER_ANNOUNCE message is sent by an ENRP server such that PUs and PEs know the transport information necessary to connect to the ENRP server.

ASAP_服务器_公告消息由ENRP服务器发送,以便PUs和PEs知道连接到ENRP服务器所需的传输信息。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0a |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Server Identifier                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                       Transport Param #1                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                       Transport Param #2                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                                                               :
   :                             .....                             :
   :                                                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                       Transport Param #n                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0a |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Server Identifier                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                       Transport Param #1                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                       Transport Param #2                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                                                               :
   :                             .....                             :
   :                                                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                       Transport Param #n                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Server Identifier: 32 bits (unsigned integer)

服务器标识符:32位(无符号整数)

This is the ID of the ENRP server, as discussed in [RFC5353].

这是ENRP服务器的ID,如[RFC5353]中所述。

Transport Parameters (optional):

传输参数(可选):

See [RFC5354] for the SCTP and TCP Transport parameters.

有关SCTP和TCP传输参数,请参阅[RFC5354]。

Only SCTP and TCP Transport parameters are allowed for use within the SERVER_ANNOUNCE message.

只有SCTP和TCP传输参数才允许在服务器发布消息中使用。

2.2.11. ASAP_COOKIE Message
2.2.11. 尽快发送COOKIE消息

The ASAP_COOKIE message is sent by a PE to a PU, allowing the PE to convey information it wishes to share using a control channel.

ASAP_COOKIE消息由PE发送到PU,允许PE使用控制通道传递希望共享的信息。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0b |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                         Cookie Parameter                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0b |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                         Cookie Parameter                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Cookie Parameter :

Cookie参数:

See [RFC5354].

参见[RFC5354]。

2.2.12. ASAP_COOKIE_ECHO Message
2.2.12. 尽快发送回显信息

The ASAP_COOKIE_ECHO message is sent by a PU to a new PE when it detects a failure with the current PE to aid in failover. The Cookie Parameter sent by the PE is the latest one received from the failed PE.

当PU检测到当前PE出现故障时,会将ASAP_COOKIE_ECHO消息发送给新PE,以帮助进行故障切换。PE发送的Cookie参数是从失败的PE接收到的最新参数。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0c |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                         Cookie Parameter                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0c |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                         Cookie Parameter                      :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Cookie Parameter:

Cookie参数:

See [RFC5354].

参见[RFC5354]。

2.2.13. ASAP_BUSINESS_CARD Message
2.2.13. ASAP_商务卡信息

The ASAP_BUSINESS_CARD message is sent by a PU to a PE or from a PE to a PU using a control channel to convey the pool handle and a preferred failover ordering.

ASAP_BUSINESS_卡消息由PU发送到PE,或使用控制通道从PE发送到PU,以传递池句柄和首选故障切换顺序。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0d |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Pool Element Parameter-1                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                              ..                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Pool Element Parameter-N                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0d |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                     Pool Handle Parameter                     :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Pool Element Parameter-1                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                              ..                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                   Pool Element Parameter-N                    :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Pool Handle Parameter:

池句柄参数:

See [RFC5354].

参见[RFC5354]。

Pool Element Parameters:

池元素参数:

See [RFC5354].

参见[RFC5354]。

2.2.14. ASAP_ERROR Message
2.2.14. ASAP_错误消息

The ASAP_ERROR message is sent in response by an ASAP Endpoint receiving an unknown message or an unknown parameter to the sending ASAP Endpoint to report the problem or issue.

ASAP_错误消息由接收未知消息或未知参数的ASAP端点响应发送给发送ASAP端点,以报告问题或问题。

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0e |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                 Operational Error Parameter                   :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 0x0e |0|0|0|0|0|0|0|0|        Message Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                 Operational Error Parameter                   :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Operational Error Parameter:

操作错误参数:

See [RFC5354].

参见[RFC5354]。

When an ASAP Endpoint receives an ASAP message with an unknown message type or a message of known type that contains an unknown parameter, it SHOULD handle the unknown message or the unknown parameter according to the unrecognized message and parameter handling rules, defined in Section 3.

当ASAP端点接收到具有未知消息类型的ASAP消息或包含未知参数的已知类型的消息时,它应根据第3节中定义的未识别消息和参数处理规则处理未知消息或未知参数。

According to the rules, if an error report to the message sender is needed, the ASAP endpoint that discovered the error SHOULD send back an ASAP_ERROR message that includes an Operational Error parameter with the proper cause code, cause length, and case-specific information.

根据这些规则,如果需要向消息发送者报告错误,发现错误的ASAP端点应发回ASAP_错误消息,其中包括带有正确原因代码、原因长度和案例特定信息的操作错误参数。

3. Procedures
3. 程序

This section will focus on the methods and procedures used by an internal ASAP Endpoint. Appropriate timers and recovery actions for failure detection and management are also discussed. Also, please note that ASAP messages sent between a PE and PU are identified by an SCTP Payload Protocol Identifier (PPID).

本节将重点介绍内部ASAP端点使用的方法和过程。还讨论了用于故障检测和管理的适当计时器和恢复操作。此外,请注意,PE和PU之间发送的ASAP消息由SCTP有效负载协议标识符(PPID)标识。

3.1. Registration
3.1. 登记

When a PE wishes to initiate or join a server pool, it MUST use the procedures outlined in this section for registration. Often, the registration will be triggered by a user request primitive (discussed in Section 6.1). The PE MUST register using an SCTP association established between itself and the Home ENRP server. If the PE has not established its Home ENRP server, it MUST follow the procedures specified in Section 3.6.

当PE希望启动或加入服务器池时,必须使用本节中概述的步骤进行注册。通常,注册将由用户请求原语触发(在第6.1节中讨论)。PE必须使用在其自身和家庭ENRP服务器之间建立的SCTP关联进行注册。如果PE尚未建立其主ENRP服务器,则必须遵循第3.6节规定的程序。

Once the PE's ASAP Endpoint has established its Home ENRP server, the following procedures MUST be followed to register:

一旦PE的ASAP端点建立了其主ENRP服务器,则必须遵循以下步骤进行注册:

R1) The PE's SCTP endpoint used to communicate with the Home ENRP server MUST be bound to all IP addresses that will be used by the PE (regardless of which transport protocol will be used to service user requests to the PE).

R1)用于与家庭ENRP服务器通信的PE的SCTP端点必须绑定到PE将使用的所有IP地址(无论将使用哪个传输协议来服务用户对PE的请求)。

R2) The PE's ASAP Endpoint MUST formulate an ASAP_REGISTRATION message, as defined in Section 2.2.1. In formulating the message, the PE MUST:

R2)PE的ASAP端点必须制定ASAP_注册消息,如第2.2.1节所定义。在制定信息时,PE必须:

R2.1) Fill in the Pool Handle parameter to specify which server pool the ASAP Endpoint wishes to join.

R2.1)填写Pool Handle参数以指定ASAP端点希望加入的服务器池。

R2.2) Fill in the PE identifier using a good-quality randomly generated number ([RFC4086] provides some information on randomness guidelines).

R2.2)使用高质量随机生成的数字填写PE标识符([RFC4086]提供了一些关于随机性准则的信息)。

R2.3) Fill in the Registration Lifetime parameter with the number of seconds that this registration is valid for. Note that a PE that wishes to continue service MUST re-register before the registration expires.

R2.3)使用此注册有效的秒数填写注册生存期参数。请注意,希望继续服务的PE必须在注册到期前重新注册。

R2.4) Fill in a User Transport parameter to specify the type of transport and the data/control channel usage the PE is willing to support. Note, in joining an existing server pool, the PE MUST follow the overall transport type and overall data/control channel usage of the pool. Otherwise, the registration may be rejected by the ENRP server.

R2.4)填写用户传输参数,以指定PE愿意支持的传输类型和数据/控制信道使用。注意,在加入现有服务器池时,PE必须遵循池的总体传输类型和总体数据/控制通道使用情况。否则,ENRP服务器可能会拒绝注册。

R2.5) Fill in the preferred Pool Member Selection Policy parameter.

R2.5)填写首选池成员选择策略参数。

R3) Send the ASAP_REGISTRATION message to the Home ENRP server using SCTP.

R3)使用SCTP向家庭ENRP服务器发送ASAP_注册消息。

R4) Start a T2-registration timer.

R4)启动T2注册计时器。

Note: the PE does not need to fill in the optional ASAP transport parameter. The ASAP transport parameter will be filled in and used by the Home ENRP server.

注意:PE不需要填写可选的ASAP传输参数。ASAP传输参数将由家庭ENRP服务器填写和使用。

If the T2-registration timer expires before receiving an ASAP_REGISTRATION_RESPONSE message, or a SEND.FAILURE notification is received from the SCTP layer, the PE shall start the Server Hunt procedure (see Section 3.6) in an attempt to get service from a different ENRP server. After establishing a new Home ENRP server, the PE SHOULD restart the registration procedure.

如果T2注册计时器在收到ASAP_registration_响应消息之前过期,或者从SCTP层收到SEND.FAILURE通知,则PE应启动服务器搜寻程序(参见第3.6节),以尝试从不同的ENRP服务器获取服务。建立新的家庭ENRP服务器后,PE应重新启动注册程序。

At the reception of the registration response, the PE MUST stop the T2-registration timer. If the response indicates success, the PE is registered and will be considered an available member of the server pool. If the registration response indicates a failure, the PE must either re-attempt registration after correcting the error or return a failure indication to the PE's upper layer. The PE MUST NOT re-attempt registration without correcting the error condition.

在接收到注册响应时,PE必须停止T2注册计时器。如果响应指示成功,则PE已注册,并将被视为服务器池的可用成员。如果注册响应指示失败,则PE必须在更正错误后重新尝试注册,或向PE的上层返回失败指示。PE不得在未纠正错误条件的情况下重新尝试注册。

At any time, a registered PE MAY wish to re-register to either update its member selection Policy Value or registration expiration time. When re-registering, the PE MUST use the same PE identifier.

在任何时候,注册的PE可能希望重新注册以更新其成员选择策略值或注册到期时间。重新注册时,PE必须使用相同的PE标识符。

After successful registration, the PE MUST start a T4-reregistration timer. At its expiration, a re-registration SHOULD be made starting at step R1, including (at completion) restarting the T4- reregistration timer.

成功注册后,PE必须启动T4重新注册计时器。到期时,应从步骤R1开始重新注册,包括(完成时)重新启动T4-重新注册计时器。

Note that an implementation SHOULD keep a record of the number of registration (and re-registration) attempts it makes in a local variable that gets set to zero before the initial registration attempt to the Home ENRP server or after a successful re-registration. If repeated registration timeouts or failures occurs and the local count exceeds the Threshold 'MAX-REG-ATTEMPT', the implementation SHOULD report the error to its upper layer and stop attempting registration.

请注意,实现应在本地变量中保留注册(和重新注册)尝试次数的记录,该本地变量在首次尝试注册到家庭ENRP服务器之前或成功重新注册之后设置为零。如果发生重复注册超时或失败,并且本地计数超过阈值“MAX-REG-trunt”,则实现应向其上层报告错误并停止尝试注册。

The ENRP server handles the ASAP_REGISTRATION message according to the following rules:

ENRP服务器根据以下规则处理ASAP_注册消息:

1. If the named pool does not exist in the handlespace, the ENRP server MUST create a new pool with that handle in the handlespace and add the PE to the pool as its first PE.

1. 如果handlespace中不存在命名池,ENRP服务器必须在handlespace中使用该句柄创建一个新池,并将PE作为其第一个PE添加到池中。

When a new pool is created, the overall member selection policy of the pool MUST be set to the policy type indicated by the first PE, the overall pool transport type MUST be set to the transport type indicated by the PE, and the overall pool data/control channel configuration MUST be set to what is indicated in the Transport Use field of the User Transport parameter by the registering PE.

创建新池时,池的整体成员选择策略必须设置为第一个PE指示的策略类型,整体池传输类型必须设置为PE指示的传输类型,并且必须将整个池数据/控制信道配置设置为注册PE在用户传输参数的传输使用字段中指示的内容。

2. If the named pool already exists in the handlespace, but the requesting PE is not currently a member of the pool, the ENRP server will add the PE as a new member to the pool.

2. 如果命名池已存在于handlespace中,但请求PE当前不是池的成员,则ENRP服务器将将PE作为新成员添加到池中。

However, before adding the PE to the pool, the server MUST check if the policy type, transport type, and transport usage indicated by the registering PE is consistent with those of the pool. If different, the ENRP server MUST reject the registration.

但是,在将PE添加到池中之前,服务器必须检查注册PE指示的策略类型、传输类型和传输使用情况是否与池的一致。如果不同,ENRP服务器必须拒绝注册。

3. If the named pool already exists in the handlespace *and* the requesting PE is already a member of the pool, the ENRP server SHOULD consider this as a re-registration case. The ENRP server MUST perform the same tests on policy, transport type, and transport use, as described above. If the re-registration is accepted after the test, the ENRP server SHOULD replace the attributes of the existing PE with the information carried in the received ASAP_REGISTRATION message.

3. 如果命名池已经存在于手空间*中,并且请求的PE已经是池的成员,则Enrp服务器应该将其视为重新注册的情况。如上所述,ENRP服务器必须对策略、传输类型和传输使用执行相同的测试。如果在测试后接受重新注册,ENRP服务器应使用收到的ASAP_注册消息中包含的信息替换现有PE的属性。

4. After accepting the registration, the ENRP server MUST assign itself the owner of this PE. If this is a re-registration, the ENRP server MUST take over ownership of this PE, regardless of whether the PE was previously owned by this server or by another

4. 接受注册后,ENRP服务器必须将自己指定为此PE的所有者。如果这是重新注册,则ENRP服务器必须接管此PE的所有权,无论该PE以前是由此服务器还是其他服务器所有

server. The ENRP server MUST also record the SCTP transport address from which it received the ASAP_REGISTRATION in the ASAP Transport parameter TLV inside the PE parameter of this PE.

服务器ENRP服务器还必须将接收ASAP_注册的SCTP传输地址记录在此PE的PE参数内的ASAP传输参数TLV中。

5. The ENRP server may reject the registration due to other reasons such as invalid values, lack of resource, authentication failure, etc.

5. ENRP服务器可能会由于其他原因拒绝注册,例如无效值、缺少资源、身份验证失败等。

In all above cases, the ENRP server MUST reply to the requesting PE with an ASAP_REGISTRATION_RESPONSE message. If the registration is accepted, the ENRP server MUST set the R flag in the ASAP_REGISTRATION_RESPONSE to '0'. If the registration is rejected, the ENRP server MUST indicate the rejection by setting the R flag in the ASAP_REGISTRATION_RESPONSE to '1'.

在上述所有情况下,ENRP服务器必须使用ASAP_REGISTRATION_响应消息回复请求PE。如果注册被接受,ENRP服务器必须将ASAP_registration_响应中的R标志设置为“0”。如果注册被拒绝,ENRP服务器必须通过将ASAP_registration_响应中的R标志设置为“1”来指示拒绝。

If the registration is rejected, the ENRP server SHOULD include the proper error cause(s) in the ASAP_REGISTRATION_RESPONSE message.

如果注册被拒绝,ENRP服务器应在ASAP_registration_响应消息中包含正确的错误原因。

If the registration is granted (either a new registration or a re-registration case), the ENRP server MUST assign itself to be the Home ENRP server of the PE, i.e., to "own" the PE.

如果授予注册(新注册或重新注册案例),ENRP服务器必须将自己指定为PE的主ENRP服务器,即“拥有”PE。

Implementation note: For better performance, the ENRP server may find it both efficient and convenient to internally maintain two separate PE lists or tables -- one is for the PEs that are owned by the ENRP server and the other is for all the PEs owned by their peer(s).

实施说明:为了提高性能,ENRP服务器可能会发现在内部维护两个单独的PE列表或表既高效又方便——一个用于ENRP服务器拥有的PE,另一个用于其对等方拥有的所有PE。

Moreover, if the registration is granted, the ENRP server MUST take the handlespace update action to inform its peers about the change just made. If the registration is denied, no message will be sent to its peers.

此外,如果注册被批准,ENRP服务器必须采取handlespace更新操作,将刚刚进行的更改通知其对等方。如果注册被拒绝,则不会向其对等方发送任何消息。

3.2. De-Registration
3.2. 注销

In the event a PE wishes to de-register from its server pool (normally, via an upper-layer request, see Section 6.2), it SHOULD use the following procedure. It should be noted that an alternate method of de-registration is to NOT re-register and to allow the registration life of the PE to expire. In this case, an ASAP_DEREGISTRATION_RESPONSE message is sent to the PE's ASAP Endpoint to indicate the removal of the PE from the pool it registered.

如果PE希望从其服务器池中注销(通常,通过上层请求,参见第6.2节),则应使用以下步骤。应注意,撤销注册的另一种方法是不重新注册,并允许PE的注册期限到期。在这种情况下,将向PE的ASAP端点发送ASAP_注销_响应消息,以指示PE已从其注册的池中删除。

When de-registering, the PE SHOULD use the SCTP association that was used for registration with its Home ENRP server. To de-register, the PE's ASAP Endpoint MUST take the following actions:

注销时,PE应使用SCTP关联,该关联用于注册其家庭ENRP服务器。要取消注册,PE的ASAP端点必须采取以下操作:

D1) Fill in the Pool Handle parameter of the ASAP_DEREGISTRATION message (Section 2.2.2) using the same Pool Handle parameter sent during registration.

D1)使用注册期间发送的相同池句柄参数填写ASAP_注销消息(第2.2.2节)的池句柄参数。

D2) Fill in the PE Identifier parameter of the ASAP_DEREGISTRATION message. The identifier MUST be the same as used during registration. The use of the same Pool Handle and Pool Identifier parameters used in registration allows the identity of the PE ASAP Endpoint to be verified before de-registration can occur.

D2)填写ASAP_注销消息的PE标识符参数。标识符必须与注册期间使用的标识符相同。使用注册中使用的相同池句柄和池标识符参数,可以在取消注册之前验证PE ASAP端点的标识。

D3) Send the ASAP_DEREGISTRATION message to the Home ENRP server using the PE's SCTP association.

D3)使用PE的SCTP关联将ASAP_注销消息发送至家庭ENRP服务器。

D4) Start a T3-Deregistration timer.

D4)启动T3注销计时器。

If the T3-Deregistration timer expires before receiving either an ASAP_REGISTRATION_RESPONSE message, or a SEND.FAILURE notification from the PE's SCTP endpoint, the PE's ASAP Endpoint shall start the ENRP Server Hunt procedure (see Section 3.6) in an attempt to get service from another ENRP server. After establishing a new Home ENRP server, the ASAP Endpoint SHOULD restart the de-registration procedure.

如果T3注销计时器在收到来自PE的SCTP端点的ASAP_注册_响应消息或发送失败通知之前过期,则PE的ASAP端点应启动ENRP服务器搜索程序(参见第3.6节),以尝试从另一个ENRP服务器获取服务。建立新的家庭ENRP服务器后,ASAP端点应重新启动注销过程。

At the reception of the ASAP_DEREGISTRATION_RESPONSE, the PE's ASAP endpoint MUST stop the T3-Deregistration timer.

在收到ASAP_注销响应时,PE的ASAP端点必须停止T3注销计时器。

It should be noted that after a successful de-registration, the PE MAY still receive requests for some period of time. The PE MAY wish to remain active and service these requests or to exit and ignore these requests.

应该注意的是,在成功取消注册后,PE可能在一段时间内仍会收到请求。PE可能希望保持活动状态并为这些请求提供服务,或者退出并忽略这些请求。

Upon receiving the message, the ENRP server SHALL remove the PE from its handlespace. Moreover, if the PE is the last one of the named pool, the ENRP server will remove the pool from the handlespace as well.

收到消息后,ENRP服务器应将PE从其handlespace中移除。此外,如果PE是命名池的最后一个,ENRP服务器也将从handlespace中删除该池。

If the ENRP server fails to find any record of the PE in its handlespace, it SHOULD consider the de-registration granted and completed, and send an ASAP_DEREGISTRATION_RESPONSE message to the PE.

如果Enrp服务器在其手空间中找不到PE的任何记录,则应该考虑授予和完成取消注册,并向PE发送ASAPGRIDEGISTROSTORY响应消息。

The ENRP server may reject the de-registration request for various reasons, such as invalid parameters, authentication failure, etc.

ENRP服务器可能会出于各种原因拒绝注销请求,例如参数无效、身份验证失败等。

In response, the ENRP server MUST send an ASAP_DEREGISTRATION_RESPONSE message to the PE. If the de-registration is rejected, the ENRP server MUST indicate the rejection by including the proper Operational Error parameter.

作为响应,ENRP服务器必须向PE发送ASAP_注销_响应消息。如果取消注册被拒绝,ENRP服务器必须通过包含正确的操作错误参数来指示拒绝。

It should be noted that de-registration does not stop the PE from sending or receiving application messages.

应注意,取消注册不会阻止PE发送或接收应用程序消息。

Once the de-registration request is granted *and* the PE removed from its local copy of the handlespace, the ENRP server MUST take the handlespace update action to inform its peers about the change just made. Otherwise, the ENRP server MUST NOT inform its peers.

一旦取消注册请求被批准*并且*PE从handlespace的本地副本中删除,ENRP服务器必须采取handlespace更新操作,将刚刚进行的更改通知其对等方。否则,ENRP服务器不得通知其对等方。

3.3. Handle Resolution
3.3. 处理分辨率

At any time, a PE or PU may wish to resolve a handle. This usually will occur when an ASAP Endpoint sends a Pool Handle (Section 6.5.1) to its Home ENRP server or requests a cache population (Section 6.3). It may also occur for other reasons (e.g., the internal ASAP PE wishes to know its peers to send a message to all of them). When an ASAP Endpoint (PE or PU) wishes to resolve a pool handle to a list of accessible transport addresses of the member PEs of the pool, it MUST take the following actions:

在任何时候,PE或PU可能希望解析句柄。当ASAP端点向其主ENRP服务器发送池句柄(第6.5.1节)或请求缓存填充(第6.3节)时,通常会发生这种情况。也可能由于其他原因(例如,内部ASAP PE希望知道其对等方向所有对等方发送消息)。当ASAP端点(PE或PU)希望将池句柄解析为池成员PE的可访问传输地址列表时,它必须采取以下操作:

NR1) Fill in an ASAP_HANDLE_RESOLUTION message (Section 2.2.5) with the Pool Handle to be resolved.

NR1)用要解析的池句柄填写ASAP_句柄解析消息(第2.2.5节)。

NR2) If the endpoint does not have a Home ENRP server, start the ENRP Server Hunt procedures specified in Section 3.6 to obtain one. Otherwise, proceed to step NR3.

NR2)如果端点没有家庭ENRP服务器,则启动第3.6节中指定的ENRP服务器查找程序以获得一个。否则,转至步骤NR3。

NR3) If a PE, send the ASAP_HANDLE_RESOLUTION message to the Home ENRP server using SCTP; if a PU, send the ASAP_HANDLE_RESOLUTION message to the Home ENRP server using either TCP or SCTP. If sent from a PE, the SCTP association used for registration SHOULD be used.

NR3)如果是PE,则使用SCTP向家庭ENRP服务器发送ASAP_HANDLE_RESOLUTION消息;如果是PU,则使用TCP或SCTP将ASAP_HANDLE_RESOLUTION消息发送至家庭ENRP服务器。如果从PE发送,则应使用用于注册的SCTP关联。

NR4) Start a T1-ENRPrequest timer.

NR4)启动T1请求计时器。

If the T1-ENRPrequest timer expires before receiving a response message, the ASAP Endpoint SHOULD take the steps described in Section 3.7.2. If a SEND.FAILURE notification is received from the SCTP or TCP layer, the ASAP Endpoint SHOULD start the Server Hunt procedure (see Section 3.6) in an attempt to get service from a different ENRP server. After establishing a new Home ENRP server, the ASAP Endpoint SHOULD restart the handle resolution procedure.

如果T1 ENRPrequest计时器在收到响应消息之前过期,ASAP端点应采取第3.7.2节中描述的步骤。如果从SCTP或TCP层接收到SEND.FAILURE通知,ASAP端点应启动服务器搜索过程(参见第3.6节),以尝试从不同的ENRP服务器获取服务。建立新的家庭ENRP服务器后,ASAP端点应重新启动句柄解析过程。

At the reception of the ASAP_HANDLE_RESOLUTION_RESPONSE message, the ASAP Endpoint MUST stop its T1-ENRPrequest timer. After stopping the T1-ENRPrequest timer, the ASAP Endpoint SHOULD process the message as appropriate (e.g., populate a local cache, give the response to the ASAP User, and/or use the response to send the ASAP User's message).

在接收到ASAP_HANDLE_RESOLUTION_响应消息时,ASAP端点必须停止其T1 ENRPrequest计时器。停止T1 ENRPrequest计时器后,ASAP端点应酌情处理消息(例如,填充本地缓存,向ASAP用户提供响应,和/或使用响应发送ASAP用户的消息)。

Note that some ASAP Endpoints MAY use a cache to minimize the number of handle resolutions sent. If a cache is used, it SHOULD:

请注意,一些ASAP端点可能使用缓存来最小化发送的句柄解析数。如果使用缓存,则应:

C1) Be consulted before sending a handle resolution.

C1)在发送句柄解决方案之前,请咨询。

C2) Have a stale timeout timer associated with each cache entry. If the cache entry is determined to be stale upon a cache hit, a handle resolution message SHOULD be sent so the cache can be updated.

C2)每个缓存项都有一个过时的超时计时器。如果缓存项在缓存命中时被确定为过时,则应发送句柄解析消息,以便更新缓存。

C3) In the case of a stale cache entry, the implementation may, in parallel, update the cache and answer the request, or it may block the user and wait for an updated cache before proceeding with the users request.

C3)在缓存项过时的情况下,实现可以并行地更新缓存并响应请求,或者在继续用户请求之前阻止用户并等待更新的缓存。

C4) If the cache entry is NOT stale, the endpoint SHOULD NOT send a handle resolution request but instead SHOULD use the entry from the cache.

C4)如果缓存项未过时,端点不应发送句柄解析请求,而应使用缓存中的项。

It should be noted that the impact of using a cache depends on the policy and the requirements of the application. For some applications, cache-usage can increase the performance of the system; for some, it can decrease it.

应该注意,使用缓存的影响取决于应用程序的策略和要求。对于某些应用,缓存的使用可以提高系统的性能;对一些人来说,它可以减少它。

An ENRP server SHOULD be prepared to receive ASAP_HANDLE_RESOLUTION requests from PUs, either over an SCTP association on the well-known SCTP port, or over a TCP connection on the well-known TCP port.

ENRP服务器应准备好通过已知SCTP端口上的SCTP关联或已知TCP端口上的TCP连接接收来自PUs的ASAP_HANDLE_解析请求。

Upon reception of the ASAP_HANDLE_RESOLUTION message, the ENRP server MUST first look up the pool handle in its handlespace. If the pool exists, the Home ENRP server MUST compose and send back an ASAP_HANDLE_RESOLUTION_RESPONSE message to the requesting PU.

收到ASAP_HANDLE_RESOLUTION消息后,ENRP服务器必须首先在其handlespace中查找池句柄。如果池存在,则家庭ENRP服务器必须编写并向请求PU发回ASAP_HANDLE_RESOLUTION_响应消息。

In the response message, the ENRP server SHOULD list all the PEs currently registered in this pool, in a list of PE parameters. The ENRP server MUST also include a pool member selection policy parameter to indicate the overall member selection policy for the pool, if the current pool member selection policy is not Round-Robin.

在响应消息中,ENRP服务器应在PE参数列表中列出当前在此池中注册的所有PE。如果当前池成员选择策略不是循环策略,ENRP服务器还必须包括池成员选择策略参数,以指示池的总体成员选择策略。

If the named pool does not exist in the handlespace, the ENRP server MUST reject the handle resolution request by responding with an ASAP_HANDLE_RESOLUTION_RESPONSE message carrying an Unknown Pool Handle error.

如果指定池在handlespace中不存在,ENRP服务器必须通过使用带有未知池句柄错误的ASAP_handle_resolution_响应消息进行响应来拒绝句柄解析请求。

3.4. Endpoint Keep Alive
3.4. 端点保持活动

The ASAP_ENDPOINT_KEEP_ALIVE message is sent by an ENRP server to a PE in order to verify it is reachable. If the transport level heartbeat mechanism is insufficient, this message can be used in a heartbeat mechanism for the ASAP level whose goal is determining the health status of the ASAP level in a timely fashion. (The transport level heartbeat mechanism may be insufficient due to either the timeouts or the heartbeat interval being set too long, or, that the transport level heartbeat mechanism's coverage is limited only to the transport level at the two ends.) Additionally, the ASAP_ENDPOINT_KEEP_ALIVE message has value in the reliability of fault detection if the SCTP stack is in the kernel. In such a case, while the SCTP-level heartbeat monitors the end-to-end connectivity between the two SCTP stacks, the ASAP-level heartbeat monitors the end-to-end liveliness of the ASAP layer above it.

ENRP服务器向PE发送ASAP_ENDPOINT_KEEP_ALIVE消息,以验证其是否可访问。如果传输级别心跳机制不足,则此消息可用于ASAP级别的心跳机制,其目标是及时确定ASAP级别的运行状况。(由于超时或心跳间隔设置得太长,或者由于传输级别心跳机制的覆盖范围仅限于两端的传输级别,因此传输级别心跳机制可能不足。)此外,如果SCTP堆栈位于内核中,那么ASAP_ENDPOINT_KEEP_ALIVE消息在故障检测的可靠性方面具有价值。在这种情况下,虽然SCTP级别的检测信号监视两个SCTP堆栈之间的端到端连接,但ASAP级别的检测信号监视其上ASAP层的端到端活动性。

The use of the ASAP_ENDPOINT_KEEP_ALIVE message (Section 2.2.7) and the ASAP_ENDPOINT_KEEP_ALIVE_ACK (Section 2.2.8) is described below. Upon reception of an ASAP_ENDPOINT_KEEP_ALIVE message, the following actions MUST be taken:

下面介绍了ASAP_端点保持活动消息(第2.2.7节)和ASAP_端点保持活动确认(第2.2.8节)的使用。在收到ASAP_ENDPOINT_KEEP_ALIVE消息后,必须采取以下措施:

KA1) The PE must verify that the Pool Handle is correct and matches the Pool Handle sent in its earlier ASAP_REGISTRATION message. If the Pool Handle does not match, the PE MUST silently discard the message.

KA1)PE必须验证池句柄是否正确,并与在其早期ASAP_注册消息中发送的池句柄相匹配。如果池句柄不匹配,PE必须以静默方式丢弃消息。

KA2) Send an ASAP_ENDPOINT_KEEP_ALIVE_ACK (Section 2.2.8) as follows:

KA2)发送ASAP_端点_KEEP_ALIVE_确认(第2.2.8节),如下所示:

KA2.1) Fill in the Pool Handle parameter with the PE's Pool Handle.

KA2.1)使用PE的池句柄填充池句柄参数。

KA2.2) Fill in the PE Identifier parameter using the PE identifier used by this PE for registration.

KA2.2)使用此PE用于注册的PE标识符填写PE标识符参数。

KA2.3) Send the ASAP_ENDPOINT_KEEP_ALIVE_ACK message via the appropriate SCTP association for the ENRP server that sent the ASAP_ENDPOINT_KEEP_ALIVE message.

KA2.3)通过发送ASAP_ENDPOINT_KEEP_ALIVE_消息的ENRP服务器的相应SCTP关联发送ASAP_ENDPOINT_KEEP_ALIVE_确认消息。

KA2.4) If the H flag in the received ASAP_ENDPOINT_KEEP_ALIVE message is set, and the Server Identifier in the message is NOT the identity of your Home ENRP server (or it is not set, e.g., you have a no Home ENRP server) adopt the sender of the ASAP_ENDPOINT_KEEP_ALIVE message as the new Home ENRP server.

KA2.4)如果在收到的ASAP_ENDPOINT_KEEP_ALIVE消息中设置了H标志,并且消息中的服务器标识符不是您的家庭ENRP服务器的标识(或者未设置,例如,您没有家庭ENRP服务器),则采用ASAP_ENDPOINT_KEEP_ALIVE消息的发送方作为新的家庭ENRP服务器。

3.5. Unreachable Endpoints
3.5. 无法到达的端点

Occasionally, an ASAP Endpoint may realize a PE is unreachable. This may occur by a specific SCTP error realized by the ASAP endpoint or via an ASAP User report via the Transport.Failure Primitive (Section 6.9.2). In either case, the ASAP Endpoint SHOULD report the unavailability of the PE by sending an ASAP_ENDPOINT_UNREACHABLE message to any ENRP server. Before sending the ASAP_ENDPOINT_UNREACHABLE message, the ASAP Endpoint should fill in the Pool Handle parameter and PE Identifier parameter of the unreachable endpoint. If the sender is a PE, the message MUST be sent via SCTP. It should be noted that an ASAP Endpoint MUST report no more than once each time it encounters such an event. Additionally, when processing a Transport.Failure Primitive (Section 6.9.2), the ASAP Endpoint MUST NOT send an ASAP_ENDPOINT_UNREACHABLE message unless the user has made a previous request to send data to the PE specified by the primitive.

有时,ASAP端点可能会意识到PE无法访问。这可能是由ASAP端点或通过Transport.Failure原语(第6.9.2节)的ASAP用户报告实现的特定SCTP错误造成的。在任何一种情况下,ASAP端点都应通过向任何ENRP服务器发送ASAP_Endpoint_UNREACHABLE消息来报告PE的不可用性。在发送ASAP_ENDPOINT_UNREACHABLE消息之前,ASAP端点应填写不可访问端点的池句柄参数和PE标识符参数。如果发送方是PE,则必须通过SCTP发送消息。应该注意的是,ASAP端点每次遇到此类事件时必须报告不超过一次。此外,在处理Transport.Failure原语(第6.9.2节)时,ASAP端点不得发送ASAP_Endpoint_UNREACHABLE消息,除非用户先前请求向原语指定的PE发送数据。

Upon the reception of an ASAP_ENDPOINT_UNREACHABLE message, an ENRP server MUST immediately send a point-to-point ASAP_ENDPOINT_KEEP_ALIVE message to the PE in question (the H flag in the message SHOULD be set to '0', in this case). If this ASAP_ENDPOINT_KEEP_ALIVE fails (e.g., it results in an SCTP SEND.FAILURE notification), the ENRP server MUST consider the PE as truly unreachable and MUST remove the PE from its handlespace.

接收到ASAP_ENDPOINT_UNREACHABLE消息后,ENRP服务器必须立即向相关PE发送点对点ASAP_ENDPOINT_KEEP_ALIVE消息(在这种情况下,消息中的H标志应设置为“0”)。如果这个ApPixEntPositKEpEpION失败(例如,它导致SCTP SeNest.Rebug通知),Enrp服务器必须将PE视为真正不可达的,并且必须将PE从其手空间移除。

If the ASAP_ENDPOINT_KEEP_ALIVE message is transmitted successfully to the PE, the ENRP server MUST retain the PE in its handlespace. Moreover, the server SHOULD keep a counter to record how many ASAP_ENDPOINT_UNREACHABLE messages it has received reporting reachability problem relating to this PE. If the counter exceeds the protocol threshold MAX-BAD-PE-REPORT, the ENRP server SHOULD remove the PE from its handlespace.

如果ASAP_ENDPOINT_KEEP_ALIVE消息成功传输到PE,ENRP服务器必须将PE保留在其handlespace中。此外,服务器应该保留一个计数器,以记录它收到的与此PE相关的报告可达性问题的ASAP_ENDPOINT_不可访问消息的数量。如果计数器超过协议阈值MAX-BAD-PE-REPORT,ENRP服务器应将PE从其handlespace中删除。

Optionally, an ENRP server may also periodically send point-to-point ASAP_ENDPOINT_KEEP_ALIVE (with the H flag set to '0') messages to each of the PEs owned by the ENRP server in order to check their reachability status. If the sending of ASAP_ENDPOINT_KEEP_ALIVE to a PE fails, the ENRP server MUST consider the PE as unreachable and MUST remove the PE from its handlespace. Note, if an ENRP server owns a large number of PEs, the implementation should pay attention not to flood the network with bursts of ASAP_ENDPOINT_KEEP_ALIVE messages. Instead, the implementation MUST distribute the ASAP_ENDPOINT_KEEP_ALIVE message traffic over a time period. This can be achieved by varying the time between two ASAP_ENDPOINT_KEEP_ALIVE messages to the same PE randomly by plus/ minus 50 percent.

可选地,ENRP服务器还可以定期向ENRP服务器拥有的每个PE发送点对点ASAP_ENDPOINT_KEEP_ALIVE(H标志设置为“0”)消息,以检查其可达性状态。如果向PE发送ASAPHEntPositKEpEpHead失败,则EnrP服务器必须考虑PE不能到达,并且必须从PE的手空间移除PE。注意,如果ENRP服务器拥有大量PEs,则实现时应注意不要向网络中大量发送ASAP_ENDPOINT_KEEP_ALIVE消息。相反,实现必须在一段时间内分发ASAP_端点_KEEP_ALIVE消息流量。这可以通过将两条ASAP_ENDPOINT_KEEP_ALIVE消息随机发送到同一PE的时间加/减50%来实现。

3.6. ENRP Server Hunt Procedures
3.6. ENRP服务器搜寻程序

Each PU and PE manages a list of transport addresses of ENRP servers it knows about.

每个PU和PE管理它所知道的ENRP服务器的传输地址列表。

If multicast capabilities are used within the operational scope, an ENRP server MUST send periodically every (N+1)*T6-Serverannounce an ASAP_SERVER_ANNOUNCE message (Section 2.2.10), which includes all the transport addresses available for ASAP communication on the multicast ENRP client channel, where N is the number of ENRP servers the server has found via receiving ASAP_SERVER_ANNOUNCE messages. This should result in a message rate of approximately 1 ASAP_SERVER_ANNOUNCE per T6-Serverannounce.

如果在操作范围内使用多播功能,ENRP服务器必须每隔(N+1)*T6 ServerAnnound定期发送一条ASAP_server_Annound消息(第2.2.10节),其中包括多播ENRP客户端通道上可用于ASAP通信的所有传输地址,其中N是服务器通过接收ASAP_server_annound消息找到的ENRP服务器数。这将导致每个T6 ServerAnnound的消息速率大约为1 ASAP_SERVER_annound。

If an ASAP_SERVER_ANNOUNCE message is received by a PU or PE, it SHOULD insert all new included transport addresses into its list of ENRP server addresses and start a T7-ENRPoutdate timer for each address. For all already-known, included transport addresses, the T7-ENRPoutdate timer MUST be restarted for each address. If no transport parameters are included in the ASAP_SERVER_ANNOUNCE message, the SCTP transport protocol is assumed to be used and the source IP address and the IANA-registered ASAP port number is used for communication with the ENRP server. If a T7-ENRPoutdate timer for a transport address expires, the corresponding address is deleted from the managed list of transport addresses of the PU or PE.

如果PU或PE收到ASAP_服务器_公告消息,则应将所有新包含的传输地址插入其ENRP服务器地址列表,并为每个地址启动T7 ENRPoutdate计时器。对于所有已知的、包含的传输地址,必须为每个地址重新启动T7 ENRPoutdate计时器。如果ASAP_服务器_公告消息中未包含任何传输参数,则假定使用SCTP传输协议,并使用源IP地址和IANA注册的ASAP端口号与ENRP服务器进行通信。如果传输地址的T7 ENRPoutdate计时器过期,则从PU或PE的传输地址管理列表中删除相应的地址。

If multicast capabilities are not used within the operational scope, each PU and PE MUST have a configured list of transport addresses of ENRP servers.

如果在操作范围内未使用多播功能,则每个PU和PE必须具有已配置的ENRP服务器传输地址列表。

At its startup, or when it fails to communicate with its Home ENRP server (i.e., timed out on an ENRP request), a PE or PU MUST establish a new Home ENRP server (i.e., set up a TCP connection or SCTP association with a different ENRP server).

在其启动时,或当其无法与其家庭ENRP服务器通信时(即,ENRP请求超时),PE或PU必须建立新的家庭ENRP服务器(即,与不同的ENRP服务器建立TCP连接或SCTP关联)。

To establish a Home ENRP server, the following rules MUST be followed:

要建立家庭ENRP服务器,必须遵循以下规则:

SH1) The PE or PU SHOULD try to establish an association or connection, with no more than three ENRP servers. An ASAP Endpoint MUST NOT establish more than three associations or connections.

SH1)PE或PU应尝试建立不超过三台ENRP服务器的关联或连接。ASAP端点不能建立三个以上的关联或连接。

SH2) The ASAP Endpoint shall start a T5-Serverhunt timer.

SH2)ASAP端点应启动T5 Serverhunt定时器。

SH3) If the ASAP Endpoint establishes an association or connection it MUST stop its T5-Serverhunt timer. The ASAP Endpoint SHOULD also reset the T5-Serverhunt timer to its initial value and then proceed to step SH6.

SH3)如果ASAP端点建立关联或连接,则必须停止其T5 Serverhunt计时器。ASAP端点还应将T5 Serverhunt计时器重置为其初始值,然后继续执行步骤SH6。

SH4) If an association or connection establishment fails, the ASAP Endpoint SHOULD try to establish an association or connection using a different transport address.

SH4)如果关联或连接建立失败,ASAP端点应尝试使用不同的传输地址建立关联或连接。

SH5) If the T5-Serverhunt timer expires, the following should be performed:

SH5)如果T5 Serverhunt计时器过期,应执行以下操作:

SH5.1) The ASAP Endpoint MUST double the value of the T5- Serverhunt timer. Note that this doubling is capped at the value RETRAN.max.

SH5.1)ASAP端点必须是T5-Serverhunt计时器值的两倍。请注意,此倍增以值RETRAN.max为上限。

SH5.2) The ASAP Endpoint SHOULD stop the establishment of associations and connections with the transport addresses selected in step SH1.

SH5.2)ASAP端点应停止与步骤SH1中选择的传输地址建立关联和连接。

SH5.2) The ASAP Endpoint SHOULD repeat trying to establish an association or connection by proceeding to step SH1. It SHOULD attempt to select a different set of transport addresses with which to connect.

SH5.2)ASAP端点应通过继续执行步骤SH1,重复尝试建立关联或连接。它应该尝试选择一组不同的传输地址来连接。

SH6) The PE or PU shall pick one of the ENRP servers with which it was able to establish an association or connection, and send all subsequent ENRP request messages to this new Home ENRP server.

SH6)PE或PU应选择一个能够与其建立关联或连接的ENRP服务器,并将所有后续ENRP请求消息发送到此新的家用ENRP服务器。

3.7. Handling ASAP Endpoint to ENRP Server Communication Failures
3.7. 处理ASAP端点到ENRP服务器的通信故障

Three types of failure may occur when the ASAP Endpoint at either the PE or PU tries to communicate with an ENRP server:

当PE或PU处的ASAP端点尝试与ENRP服务器通信时,可能会发生三种类型的故障:

A) SCTP send failure

A) SCTP发送失败

B) T1-ENRPrequest timer expiration

B) T1请求计时器到期

C) Registration failure

C) 注册失败

3.7.1. SCTP Send Failure
3.7.1. SCTP发送失败

This communication failure indicates that the SCTP layer was unable to deliver a message sent to an ENRP server. In other words, the ENRP server is unreachable.

此通信故障表示SCTP层无法传递发送到ENRP服务器的消息。换句话说,ENRP服务器是不可访问的。

In such a case, the ASAP Endpoint MUST NOT re-send the undeliverable message. Instead, it SHOULD discard the message and start the ENRP Server Hunt procedure as described in Section 3.6. After finding a new Home ENRP server, the ASAP Endpoint should re-send the request.

在这种情况下,ASAP端点不得重新发送无法传递的消息。相反,它应该丢弃该消息,并按照第3.6节所述启动ENRP服务器查找程序。找到新的家庭ENRP服务器后,ASAP端点应重新发送请求。

Note that an ASAP Endpoint MAY also choose to NOT discard the message, but to queue it for retransmission after a new Home ENRP server is found. If an ASAP Endpoint does choose to discard the message, after a new Home ENRP server is found, the ASAP Endpoint MUST be capable of reconstructing the original request.

请注意,ASAP端点也可以选择不丢弃消息,而是在找到新的家庭ENRP服务器后将其排队等待重新传输。如果ASAP端点确实选择丢弃消息,则在找到新的主ENRP服务器后,ASAP端点必须能够重建原始请求。

3.7.2. T1-ENRPrequest Timer Expiration
3.7.2. T1请求计时器到期

When the T1-ENRPrequest timer expires, the ASAP Endpoint should re-send the original request to the ENRP server and restart the T1- ENRPrequest timer. In parallel, the ASAP Endpoint should begin the ENRP server hunt procedures described in Section 3.6.

当T1 ENRPrequest计时器过期时,ASAP端点应将原始请求重新发送到ENRP服务器,并重新启动T1-ENRPrequest计时器。同时,ASAP端点应开始第3.6节中描述的ENRP服务器搜索过程。

This should be repeated up to MAX-REQUEST-RETRANSMIT times. After that, an Error.Report notification should be generated to inform the ASAP User, and the ENRP request message associated with the T1- ENRPrequest timer should be discarded. It should be noted that if an alternate ENRP server responds, the ASAP Endpoint SHOULD adopt the responding ENRP server as its new Home ENRP server and re-send the request to the new Home ENRP server.

这应该重复到最大请求重传次数。之后,应该生成一个Error.Report通知来通知ASAP用户,并且应该丢弃与T1-ENRPrequest计时器关联的ENRP请求消息。应注意,如果备用ENRP服务器响应,ASAP端点应采用响应的ENRP服务器作为其新的主ENRP服务器,并将请求重新发送到新的主ENRP服务器。

3.7.3. Registration Failure
3.7.3. 注册失败

Registration failure is discussed in Section 3.1.

第3.1节讨论了注册失败。

3.8. Cookie Handling Procedures
3.8. 饼干处理程序

Whenever a PE wants, and a control channel exists, it can send an ASAP_COOKIE message to a PU via the control channel. The PU's ASAP endpoint stores the Cookie parameter and discards an older cookie if it is previously stored.

只要PE需要并且存在控制通道,它就可以通过控制通道向PU发送ASAP_COOKIE消息。PU的ASAP端点存储Cookie参数,并丢弃以前存储的旧Cookie。

Note: A control channel is a communication channel between a PU and PE that does not carry data passed to the user. This is accomplished with SCTP by using a PPID to separate the ASAP messages (Cookie and Business Card) from normal data messages.

注:控制通道是PU和PE之间的通信通道,不携带传递给用户的数据。通过使用PPID将ASAP消息(Cookie和名片)与正常数据消息分离,可以通过SCTP实现这一点。

If the PU's ASAP Endpoint detects a failure and initiates a failover to a different PE, it SHOULD send the latest received cookie parameter in an ASAP_COOKIE_ECHO message to the new PE as the first message on the control channel. Upper layers may be involved in the failover procedure.

如果PU的ASAP端点检测到故障并启动到其他PE的故障切换,它应将ASAP_cookie_回显消息中最新接收的cookie参数作为控制通道上的第一条消息发送到新PE。故障切换过程可能涉及上层。

The cookie handling procedure can be used for state sharing. Therefore, a cookie should be signed by the sending PE ASAP Endpoint and the cookie should be verified by the receiving PE's ASAP Endpoint. The details of the verification procedure are out of scope for this document. It is only important that the PU always stores the last received Cookie parameter and sends that back unmodified in case of a PE failure.

cookie处理过程可用于状态共享。因此,cookie应由发送PE的ASAP端点签名,而cookie应由接收PE的ASAP端点验证。验证程序的细节超出了本文件的范围。重要的是,PU始终存储最后接收到的Cookie参数,并在PE失败时不加修改地将其发送回。

3.9. Business Card Handling Procedures
3.9. 名片处理程序

When communication begins between a PU and a PE, either of which could be part of a PU/PE combination (i.e., a message is sent between the entities), a PE should always send an ASAP_BUSINESS_CARD message to a PU. A PU should send an ASAP_BUSINESS_CARD message to a PE only if it is part of a PU/PE combination. An ASAP_BUSINESS_CARD message MUST ONLY be sent if a control channel exists between a PU and PE. After communication has been established between a PE and PU, a new ASAP_BUSINESS_CARD message may be sent at any time by either entity to update its failover order.

当PU和PE之间开始通信时,其中任何一个都可能是PU/PE组合的一部分(即,在实体之间发送消息),PE应始终向PU发送ASAP_商务卡消息。只有作为PU/PE组合的一部分时,PU才应向PE发送ASAP_BUSINESS_卡消息。只有在PU和PE之间存在控制通道时,才能发送ASAP_BUSINESS_卡消息。PE和PU之间建立通信后,任一实体可随时发送新的ASAP_BUSINESS_卡消息,以更新其故障切换顺序。

The ASAP_BUSINESS_CARD message serves two purposes. First, it lists the pool handle. For a PU that is part of a PU/PE combination that is contacting a PE, this is essential so that the PE learns the pool handle of the PU/PE combination requesting service. Secondly, the ASAP_BUSINESS_CARD message tells the receiving entity a failover order that is recommended to follow. This should facilitate rendezvous between entities that have been working together, as well as to control the load redistribution upon the failure of any PE.

ASAP_商务卡信息有两个用途。首先,它列出了池句柄。对于作为正在联系PE的PU/PE组合的一部分的PU,这对于PE了解请求服务的PU/PE组合的池句柄至关重要。其次,ASAP_BUSINESS_卡消息告诉接收实体建议遵循的故障转移顺序。这将有助于在一起工作的实体之间会合,并在任何PE发生故障时控制负载重新分配。

Upon receipt of an ASAP_BUSINESS_CARD message (see Section 2.2.13), the receiving ASAP Endpoint SHOULD:

收到ASAP_BUSINESS_卡消息后(参见第2.2.13节),接收ASAP端点应:

BC1) Unpack the message, and if no entry exists in the translation cache of the receiving ASAP Endpoint for the pool handle listed within the ASAP_BUSINESS_CARD message, perform an ASAP_HANDLE_RESOLUTION for that pool handle. If the translation cache does hold an entry for the pool handle, then it may be necessary to update the peer endpoint.

BC1)解压缩消息,如果接收ASAP端点的转换缓存中不存在ASAP_BUSINESS_卡消息中列出的池句柄的条目,则对该池句柄执行ASAP_句柄解析。如果转换缓存确实包含池句柄的条目,则可能需要更新对等端点。

BC2) Unpack the message and populate a preferred list for failover order. If the peer's PE should fail, this preferred list will be used to guide the ASAP Endpoint in the selection of an alternate PE.

BC2)解压缩消息并填充故障转移顺序的首选列表。如果对等方的PE失败,此首选列表将用于指导ASAP端点选择备用PE。

4. Roles of Endpoints
4. 端点的作用

A PU MUST implement the handling of ASAP_HANDLE_RESOLUTION and ASAP_HANDLE_RESOLUTION_RESPONSE messages. Furthermore, it MUST support the handling of ASAP_ERROR messages. It MAY implement the handling of ASAP_COOKIE, ASAP_COOKIE_ECHO, and ASAP_BUSINESS_CARD messages. It MAY also implement the handling of ASAP_SERVER_ANNOUNCE messages.

PU必须实现对ASAP\U HANDLE\U解析和ASAP\U HANDLE\U解析响应消息的处理。此外,它必须支持处理ASAP_错误消息。它可以实现对ASAP_COOKIE、ASAP_COOKIE_ECHO和ASAP_BUSINESS_卡消息的处理。它还可以实现对ASAP_服务器_公告消息的处理。

A PE MUST implement the handling of ASAP_REGISTRATION, ASAP_DEREGISTRATION, ASAP_REGISTRATION_RESPONSE, and ASAP_DEREGISTRATION_RESPONSE messages. Furthermore, it MUST support the handling of ASAP_ENDPOINT_KEEP_ALIVE, ASAP_ENDPOINT_KEEP_ALIVE_ACK, ASAP_ENDPOINT_UNREACHABLE, and ASAP_ERROR messages. It SHOULD support the handling of ASAP_COOKIE, ASAP_COOKIE_ECHO, and ASAP_BUSINESS_CARD messages. Furthermore, it MAY support the handling of ASAP_SERVER_ANNOUNCE messages.

PE必须执行ASAP_注册、ASAP_注销、ASAP_注册响应和ASAP_注销响应消息的处理。此外,它必须支持处理ASAP_端点保持活动、ASAP_端点保持活动、ASAP_端点确认、ASAP_端点不可访问和ASAP_错误消息。它应该支持处理ASAP_COOKIE、ASAP_COOKIE_ECHO和ASAP_BUSINESS_卡消息。此外,它还可以支持处理ASAP_服务器_公告消息。

An ENRP server MUST implement the handling of ASAP_REGISTRATION, ASAP_DEREGISTRATION, ASAP_REGISTRATION_RESPONSE, and ASAP_DEREGISTRATION_RESPONSE messages. Furthermore, it MUST support the handling of ASAP_ENDPOINT_KEEP_ALIVE, ASAP_ENDPOINT_KEEP_ALIVE_ACK, ASAP_ENDPOINT_UNREACHABLE, and ASAP_ERROR messages. Furthermore, it MAY support the handling of ASAP_SERVER_ANNOUNCE messages.

ENRP服务器必须实现对ASAP_注册、ASAP_注销、ASAP_注册响应和ASAP_注销响应消息的处理。此外,它必须支持处理ASAP_端点保持活动、ASAP_端点保持活动、ASAP_端点确认、ASAP_端点不可访问和ASAP_错误消息。此外,它还可以支持处理ASAP_服务器_公告消息。

If a node acts as a PU and a PE, it MUST fulfill both roles.

如果节点充当PU和PE,则它必须同时履行这两个角色。

5. SCTP Considerations
5. SCTP注意事项

Each ASAP message is considered as an SCTP user message. The PPID registered for ASAP SHOULD be used. The SCTP port used at the ENRP server might be preconfigured or announced in the ASAP_SERVER_ANNOUNCE message or the well-known ASAP port.

每个ASAP消息都被视为SCTP用户消息。应使用为ASAP注册的PPID。ENRP服务器上使用的SCTP端口可能在ASAP_server_annound消息或众所周知的ASAP端口中预先配置或宣布。

ASAP messages belonging to the control channel MUST be sent using the PPID registered for ASAP. Messages belonging to the data channel MUST NOT use the PPID registered for ASAP.

属于控制通道的ASAP消息必须使用为ASAP注册的PPID发送。属于数据通道的消息不得使用为ASAP注册的PPID。

6. The ASAP Interfaces
6. ASAP接口

This chapter will focus primarily on the primitives and notifications that form the interface between the ASAP User and ASAP and that between ASAP and its lower-layer transport protocol (e.g., SCTP).

本章将主要关注构成ASAP用户与ASAP之间以及ASAP与其下层传输协议(如SCTP)之间接口的原语和通知。

Note, the following primitive and notification descriptions are shown for illustrative purposes. We believe that including these descriptions in this document is important to the understanding of the operation of many aspects of ASAP; but an ASAP implementation is not required to use the exact syntax described in this section.

注意,以下原语和通知描述是为了说明目的而显示的。我们认为,在本文件中包含这些描述对于理解ASAP的许多方面的操作非常重要;但是ASAP实现不需要使用本节中描述的确切语法。

An ASAP User passes primitives to the ASAP sub-layer to request certain actions. Upon the completion of those actions or upon the detection of certain events, the ASAP layer will notify the ASAP User.

ASAP用户将原语传递给ASAP子层以请求某些操作。一旦完成这些操作或检测到某些事件,ASAP层将通知ASAP用户。

6.1. Registration.Request Primitive
6.1. 注册。请求原语

Format: registration.request(Pool Handle, User Transport parameter(s))

格式:registration.request(池句柄、用户传输参数))

The Pool Handle parameter contains a NULL terminated ASCII string of fixed length. The optional User Transport parameter(s) indicates specific transport parameters and types with which to register. If this optional parameter is left off, then the SCTP endpoint used to communicate with the ENRP server is used as the default User Transport parameter. Note that any IP address contained within a User Transport parameter MUST be a bound IP address in the SCTP endpoint used to communicate with the ENRP server.

池句柄参数包含以NULL结尾的固定长度ASCII字符串。可选的用户传输参数表示要注册的特定传输参数和类型。如果不使用此可选参数,则用于与ENRP服务器通信的SCTP端点将用作默认用户传输参数。请注意,用户传输参数中包含的任何IP地址都必须是用于与ENRP服务器通信的SCTP端点中的绑定IP地址。

The ASAP User invokes this primitive to add itself to the handlespace, thus becoming a Pool Element of a pool. The ASAP User must register itself with the ENRP server by using this primitive before other ASAP Users using the handlespace can send message(s) to this ASAP User by Pool Handle or by PE handle (see Sections 6.5.1 and 6.5.3).

ASAP用户调用此原语将自己添加到handlespace,从而成为池的池元素。在使用handlespace的其他ASAP用户可以通过池句柄或PE句柄向该ASAP用户发送消息之前,ASAP用户必须使用此原语向ENRP服务器注册自身(见第6.5.1节和第6.5.3节)。

In response to the registration primitive, the ASAP Endpoint will send an ASAP_REGISTRATION message to the Home ENRP server (see Sections 2.2.1 and 3.1), and start a T2-registration timer.

作为对注册原语的响应,ASAP端点将向家庭ENRP服务器发送ASAP_注册消息(参见第2.2.1和3.1节),并启动T2注册计时器。

6.2. Deregistration.Request Primitive
6.2. 取消注册。请求原语

Format: deregistration.request(Pool Handle)

格式:注销.请求(池句柄)

The ASAP PE invokes this primitive to remove itself from the Server Pool. This should be used as a part of the graceful shutdown process by the application.

ASAP PE调用此原语将自身从服务器池中删除。这应该作为应用程序正常关闭过程的一部分使用。

An ASAP_DEREGISTRATION message will be sent by the ASAP Endpoint to the Home ENRP server (see Sections 2.2.2 and 3.2).

ASAP端点将向家庭ENRP服务器发送ASAP_注销消息(参见第2.2.2和3.2节)。

6.3. CachePopulateRequest Primitive
6.3. CachePopulateRequest原语

Format: cache_populate_request([Pool-Handle | Pool-Element-Handle])

格式:缓存填充请求([池句柄|池元素句柄])

If the address type is a Pool Handle and a local handle translation cache exists, the ASAP Endpoint should initiate a mapping information query by sending an ASAP_HANDLE_RESOLUTION message on the Pool handle and updating its local cache when the response comes back from the ENRP server.

如果地址类型为池句柄且存在本地句柄转换缓存,则ASAP端点应通过在池句柄上发送ASAP_Handle_解析消息并在响应从ENRP服务器返回时更新其本地缓存来启动映射信息查询。

If a Pool-Element-Handle is passed, then the Pool Handle is unpacked from the Pool-Element-Handle and the ASAP_HANDLE_RESOLUTION message is sent to the ENRP server for resolution. When the response message returns from the ENRP server, the local cache is updated.

如果传递了池元素句柄,则池句柄将从池元素句柄中解压缩,并且ASAP_Handle_RESOLUTION消息将发送到ENRP服务器进行解析。当响应消息从ENRP服务器返回时,本地缓存将更新。

Note that if the ASAP service does NOT support a local cache, this primitive performs NO action.

请注意,如果ASAP服务不支持本地缓存,则此原语不执行任何操作。

6.4. CachePurgeRequest Primitive
6.4. CachePurgeRequest原语

Format: cache_purge_request([Pool-Handle | Pool-Element-Handle])

格式:缓存清除请求([池句柄|池元素句柄])

If the user passes a Pool Handle and local handle translation cache exists, the ASAP Endpoint should remove the mapping information on the Pool Handle from its local cache. If the user passes a Pool-Element-Handle, then the Pool Handle within is used for the cache_purge_request.

如果用户传递池句柄并且存在本地句柄转换缓存,则ASAP端点应该从其本地缓存中删除池句柄上的映射信息。如果用户传递了池元素句柄,则其中的池句柄将用于缓存\u清除\u请求。

Note that if the ASAP service does NOT support a local cache, this primitive performs NO action.

请注意,如果ASAP服务不支持本地缓存,则此原语不执行任何操作。

6.5. DataSendRequest Primitive
6.5. DataSendRequest原语

Format: data_send_request(destinationAddress, typeOfAddress, message, sizeOfMessage, Options);

格式:数据发送请求(目的地址、地址类型、消息、大小消息、选项);

This primitive requests ASAP to send a message to some specified Pool or Pool Element within the current Operational scope.

此原语请求ASAP向当前操作范围内的某个指定池或池元素发送消息。

Depending on the address type used for the send request, the sender's ASAP Endpoint may perform address translation and Pool Element selection before sending the message out. This MAY also dictate the creation of a local transport endpoint in order to meet the required transport type.

根据发送请求使用的地址类型,发送方的ASAP端点可以在发送消息之前执行地址转换和池元素选择。这还可能要求创建本地传输端点,以满足所需的传输类型。

The data_send_request primitive can take different forms of address types, as described in the following sections.

数据发送请求原语可以采用不同形式的地址类型,如下节所述。

6.5.1. Sending to a Pool Handle
6.5.1. 发送到池句柄

In this case, the destinationAddress and typeOfAddress together indicate a pool handle.

在本例中,destinationAddress和typeOfAddress一起表示池句柄。

This is the simplest form of send_data_request primitive. By default, this directs ASAP to send the message to one of the Pool Elements in the specified pool.

这是send_data_request原语的最简单形式。默认情况下,这指示ASAP将消息发送到指定池中的一个池元素。

Before sending the message out to the pool, the sender's ASAP endpoint MUST first perform a pool handle to address translation. It may also need to perform Pool Element selection if multiple Pool Elements exist in the pool.

在将消息发送到池之前,发送方的ASAP端点必须首先执行池句柄到地址转换。如果池中存在多个池元素,则可能还需要执行池元素选择。

If the sender's ASAP implementation does not support a local cache of the mapping information, or if it does not have the mapping information on the pool in its local cache, it will transmit an ASAP_HANDLE_RESOLUTION message (see Sections 2.2.5 and 3.3) to the current Home ENRP server and MUST hold the outbound message in queue while awaiting the response from the ENRP server (any further send request to this pool before the ENRP server responds SHOULD also be queued).

如果发送方的ASAP实现不支持映射信息的本地缓存,或者如果发送方的本地缓存中没有池上的映射信息,则发送方将发送ASAP_HANDLE_解析消息(参见第2.2.5和3.3节)到当前主ENRP服务器,并且在等待ENRP服务器响应时必须将出站消息保留在队列中(在ENRP服务器响应之前,任何进一步发送到此池的请求也应排队)。

Once the necessary mapping information arrives from the ENRP server, the sender's ASAP will:

一旦从ENRP服务器收到必要的映射信息,发送方的ASAP将:

A) map the pool handle into a list of transport addresses of the destination PE(s);

A) 将池句柄映射到目标PE的传输地址列表中;

B) if multiple PEs exist in the pool, choose one of them and transmit the message to it. In that case, the choice of the PE is made by the ASAP Endpoint of the sender based on the server pooling policy, as discussed in Section 6.5.2;

B) 如果池中存在多个PE,请选择其中一个并将消息传输给它。在这种情况下,PE由发送方的ASAP端点根据服务器池策略进行选择,如第6.5.2节所述;

C) optionally create any transport endpoint that may be needed to communicate with the PE selected;

C) 可选地创建可能需要与所选PE通信的任何传输端点;

D) if no transport association or connection exists towards the destination PE, establish any needed transport state;

D) 如果不存在到目的地PE的传输关联或连接,则建立任何所需的传输状态;

E) send out the queued message(s) to the appropriate transport connection using the appropriate send mechanism (e.g., for SCTP, the SEND primitive in [RFC4960] would be used); and,

E) 使用适当的发送机制将排队消息发送到适当的传输连接(例如,对于SCTP,将使用[RFC4960]中的发送原语);和

F) if the local cache is implemented, append/update the local cache with the mapping information received in the ENRP server's response. Also, record the local transport information (e.g., the SCTP association id) if any new transport state was created.

F) 如果实现了本地缓存,则使用ENRP服务器响应中接收的映射信息追加/更新本地缓存。此外,如果创建了任何新的传输状态,请记录本地传输信息(例如,SCTP关联id)。

For more on the ENRP server request procedures see [RFC5353].

有关ENRP服务器请求过程的更多信息,请参阅[RFC5353]。

Optionally, the ASAP Endpoint of the sender may return a Pool Element handle of the selected PE to the application after sending the message. This PE handle can then be used for future transmissions to that same PE (see Section 6.5.3).

或者,发送方的ASAP端点可以在发送消息后将所选PE的池元素句柄返回给应用程序。该PE手柄可用于将来传输至该PE(见第6.5.3节)。

Section 3.7 defines the failover procedures for cases where the selected PE is found unreachable.

第3.7节定义了无法访问所选PE的情况下的故障切换过程。

6.5.2. Pool Element Selection
6.5.2. 池元素选择

Each time an ASAP User sends a message to a pool that contains more than one PE, the sender's ASAP Endpoint must select one of the PEs in the pool as the receiver of the current message. The selection is made according to the current server pooling policy of the pool to which the message is sent.

每次ASAP用户向包含多个PE的池发送消息时,发送方的ASAP端点必须选择池中的一个PE作为当前消息的接收方。根据消息发送到的池的当前服务器池策略进行选择。

Note, no selection is needed if the ASAP_SEND_TOALL option is set (see Section 6.5.5).

注意,如果设置了ASAP_SEND_TOALL选项,则无需选择(见第6.5.5节)。

Together with the server pooling policy, each PE can also specify a Policy Value for itself at the registration time. The meaning of the Policy Value depends on the current server pooling policy of the group. A PE can also change its Policy Value whenever it desires, by re-registering itself with the handlespace with a new Policy Value. Re-registration shall be done by simply sending another ASAP_REGISTRATION to its Home ENRP server (see Section 2.2.1).

与服务器池策略一起,每个PE还可以在注册时为自己指定策略值。策略值的含义取决于组的当前服务器池策略。PE还可以随时更改其策略值,方法是使用新的策略值在handlespace中重新注册自己。重新注册只需将另一个ASAP_注册发送到其家庭ENRP服务器即可(见第2.2.1节)。

One basic policy is defined in this document; others can be found in [RFC5356]

本文件规定了一项基本政策;其他可在[RFC5356]中找到

6.5.2.1. Round-Robin Policy
6.5.2.1. 循环策略

When an ASAP Endpoint sends messages by Pool Handle and Round-Robin is the current policy of that Pool, the ASAP Endpoint of the sender will select the receiver for each outbound message by Round-Robining through all the registered PEs in that Pool, in an attempt to achieve an even distribution of outbound messages. Note that in a large server pool, the ENRP server might not send back all PEs to the ASAP client. In this case, the client or PU will be performing a Round-Robin policy on a subset of the entire Pool.

当ASAP端点通过池句柄发送消息并且循环是该池的当前策略时,发送方的ASAP端点将通过该池中所有注册的PE循环选择每个出站消息的接收方,以实现出站消息的均匀分布。请注意,在大型服务器池中,ENRP服务器可能不会将所有PE发送回ASAP客户端。在这种情况下,客户端或PU将对整个池的子集执行循环策略。

6.5.3. Sending to a Pool Element Handle
6.5.3. 发送到池元素句柄

In this case, the destinationAddress and typeOfAddress together indicate an ASAP Pool Element handle.

在本例中,destinationAddress和typeOfAddress一起表示ASAP池元素句柄。

This requests that the ASAP Endpoint deliver the message to the PE identified by the Pool Element handle.

这要求ASAP端点将消息传递给池元素句柄标识的PE。

The Pool Element handle should contain the Pool Handle and a destination transport address of the destination PE or the Pool Handle and the transport type. Other implementation dependent elements may also be cached in a Pool Element handle.

池元素句柄应包含池句柄和目标PE的目标传输地址,或池句柄和传输类型。其他依赖于实现的元素也可以缓存在池元素句柄中。

The ASAP Endpoint shall use the transport address and transport type to identify the endpoint with which to communicate. If no communication state exists with the peer endpoint (and is required by the transport protocol), the ASAP Endpoint MAY set up the needed state and then invoke the SEND primitive for the particular transport protocol to send the message to the PE.

ASAP端点应使用传输地址和传输类型来识别与之通信的端点。如果对等端点不存在通信状态(并且是传输协议所要求的),则ASAP端点可以设置所需状态,然后调用特定传输协议的发送原语将消息发送到PE。

In addition, if a local translation cache is supported, the endpoint will:

此外,如果支持本地转换缓存,则端点将:

A) send out the message to the transport address (or association id) designated by the PE handle.

A) 将消息发送到PE句柄指定的传输地址(或关联id)。

B) determine if the Pool Handle is in the local cache.

B) 确定池句柄是否在本地缓存中。

If it is *not*, the endpoint will:

如果为*非*,端点将:

i) ask the Home ENRP server for handle resolution on the pool handle by sending an ASAP_HANDLE_RESOLUTION message (see Section 2.2.5), and

i) 通过发送ASAP_handle_resolution消息(参见第2.2.5节),要求家庭ENRP服务器对池句柄进行句柄解析,以及

ii) use the response to update the local cache.

ii)使用响应更新本地缓存。

If the pool handle is in the cache, the endpoint will only update the pool handle if the cache is stale. A stale cache is indicated by it being older than the protocol parameter 'stale.cache.value' (see Section 7.2).

如果池句柄位于缓存中,则只有在缓存过时时,端点才会更新池句柄。过时的缓存比协议参数“stale.cache.value”旧(请参阅第7.2节)。

Sections 3.5 and 6.9 define the failover procedures for cases where the PE pointed to by the Pool Element handle is found to be unreachable.

第3.5节和第6.9节定义了当发现池元素句柄指向的PE无法访问时的故障切换过程。

Optionally, the ASAP Endpoint may return the actual Pool Element handle to which the message was sent (this may be different from the Pool Element handle specified when the primitive is invoked, due to the possibility of automatic failover).

或者,ASAP端点可以返回消息发送到的实际池元素句柄(这可能不同于调用原语时指定的池元素句柄,因为可能会自动故障切换)。

6.5.4. Send by Transport Address
6.5.4. 通过运输地址发送

In this case, the destinationAddress and typeOfAddress together indicate a transport address and transport type.

在这种情况下,destinationAddress和typeOfAddress一起表示传输地址和传输类型。

This directs the sender's ASAP Endpoint to send the message out to the specified transport address.

这将指示发送方的ASAP端点将消息发送到指定的传输地址。

No endpoint failover is supported when this form of send request is used. This form of send request effectively bypasses the ASAP endpoint.

使用此形式的发送请求时不支持端点故障切换。这种形式的发送请求有效地绕过了ASAP端点。

6.5.5. Message Delivery Options
6.5.5. 邮件传递选项

The Options parameter passed in the various forms of the above data_send_request primitive gives directions to the sender's ASAP endpoint on special handling of the message delivery.

在上述data_send_request原语的各种形式中传递的Options参数为发送方的ASAP端点提供有关消息传递的特殊处理的指示。

The value of the Options parameter is generated by bit-wise "OR"ing of the following pre-defined constants:

Options参数的值通过以下预定义常量的逐位“或”运算生成:

ASAP_USE_DEFAULT: 0x0000 Use default setting.

尽快使用默认值:0x0000使用默认设置。

ASAP_SEND_FAILOVER: 0x0001 Enables PE failover on this message. In the case where the first selected PE or the PE pointed to by the PE handle is found unreachable, the sender's ASAP Endpoint SHOULD re-select an alternate PE from the same pool if one exists, and silently re-send the message to this newly selected endpoint.

尽快发送故障转移:0x0001在此消息上启用PE故障转移。如果发现无法访问第一个选定的PE或PE句柄指向的PE,则发送方的ASAP端点应重新选择同一池中的备用PE(如果存在),并以静默方式将消息重新发送到此新选定的端点。

Note that this is a best-effort service. Applications should be aware that messages can be lost during the failover process, even if the underlying transport supports retrieval of unacknowledged data (e.g., SCTP). (Example: messages acknowledged by the SCTP layer at a PE, but not yet read by the PE when a PE failure occurs.) In the case where the underlying transport does not support such retrieval (e.g., TCP), any data already submitted by ASAP to the transport layer may be lost upon failover.

请注意,这是一项尽力而为的服务。应用程序应该知道,即使底层传输支持检索未确认的数据(例如SCTP),在故障切换过程中消息也可能丢失。(例如:PE上的SCTP层确认的消息,但在PE发生故障时PE尚未读取。)如果基础传输不支持此类检索(例如TCP),则ASAP已经提交给传输层的任何数据在故障切换时可能会丢失。

ASAP_SEND_NO_FAILOVER: 0x0002 This option prohibits the sender's ASAP Endpoint from re-sending the message to any alternate PE in case that the first selected PE, or the PE pointed to by the PE handle, is found to be unreachable. Instead, the sender's ASAP Endpoint shall notify its upper layer about the unreachability with an Error.Report and return any unsent data.

ASAP_SEND_NO_故障切换:0x0002如果发现无法访问第一个选定的PE或PE句柄指向的PE,则此选项禁止发件人的ASAP端点将消息重新发送到任何备用PE。相反,发送方的ASAP端点应向其上层通知无法访问的错误。报告并返回任何未发送的数据。

ASAP_SEND_TO_LAST: 0x0004 This option requests that the sender's ASAP Endpoint send the message to the same PE in the pool to which the previous message destined to this pool was sent.

ASAP_SEND_TO_LAST:0x0004此选项请求发送方的ASAP端点将消息发送到池中的同一个PE,该池中的上一条消息发送到此池。

ASAP_SEND_TO_ALL: 0x0008 When sending by Pool Handle, this option directs the sender's ASAP endpoint to send a copy of the message to all the PEs, except for the sender itself if the sender is a PE in that pool.

ASAP_SEND_TO_ALL:0x0008当通过池句柄发送时,此选项指示发送方的ASAP端点向所有PE发送消息副本,除非发送方本身是该池中的PE。

ASAP_SEND_TO_SELF: 0x0010 This option only applies in combination with the ASAP_SEND_TO_ALL option. It permits the sender's ASAP Endpoint to also deliver a copy of the message to itself if the sender is a PE of the pool (i.e., loop-back).

尽快发送至自身:0x0010此选项仅与尽快发送至所有选项结合使用。如果发送方是池的PE(即回圈),则它允许发送方的ASAP端点也向其自身传递消息的副本。

ASAP_SCTP_UNORDER: 0x1000 This option requests that the transport layer send the current message using un-ordered delivery (note the underlying transport must support un-ordered delivery for this option to be effective).

ASAP_SCTP_UNORDER:0x1000此选项要求传输层使用未排序的传递发送当前消息(请注意,基础传输必须支持未排序的传递,此选项才能生效)。

6.6. Data.Received Notification
6.6. 数据。收到通知

Format: data.received(messageReceived, sizeOfMessage, senderAddress, typeOfAddress)

格式:data.received(messageReceived,sizeOfMessage,senderAddress,typeOfAddress)

When a new user message is received, the ASAP Endpoint of the receiver uses this notification to pass the message to its upper layer.

当接收到新的用户消息时,接收方的ASAP端点使用此通知将消息传递到其上层。

Along with the message being passed, the ASAP Endpoint of the receiver should also indicate to its upper layer the message senders address. The sender's address can be in the form of either an SCTP association id, TCP transport address, UDP transport address, or an ASAP Pool Element handle.

在传递消息的同时,接收方的ASAP端点还应向其上层指示消息发送方地址。发送方地址可以采用SCTP关联id、TCP传输地址、UDP传输地址或ASAP池元素句柄的形式。

A) If the handle translation local cache is implemented at the receiver's ASAP Endpoint, a reverse mapping from the sender's IP address to the pool handle should be performed, and if the mapping is successful, the sender's ASAP Pool Element handle should be constructed and passed in the senderAddress field.

A) 如果句柄转换本地缓存在接收方的ASAP端点上实现,则应执行从发送方IP地址到池句柄的反向映射,如果映射成功,则应构造发送方的ASAP池元素句柄,并将其传递到senderAddress字段中。

B) If there is no local cache or the reverse mapping is not successful, the SCTP association id or other transport specific identification (if SCTP is not being used) should be passed in the senderAddress field.

B) 如果没有本地缓存或反向映射不成功,则应在senderAddress字段中传递SCTP关联id或其他特定于传输的标识(如果未使用SCTP)。

6.7. Error.Report Notification
6.7. 错误。报告通知

Format: error.report(destinationAddress, typeOfAddress, failedMessage, sizeOfMessage)

格式:error.report(destinationAddress、typeOfAddress、failedMessage、sizeOfMessage)

An error.report should be generated to notify the ASAP User about failed message delivery as well as other abnormalities.

应生成error.report以通知ASAP用户消息传递失败以及其他异常情况。

The destinationAddress and typeOfAddress together indicate to whom the message was originally sent. The address type can be either an ASAP Pool Element handle, association id, or a transport address.

destinationAddress和typeOfAddress一起表示消息最初发送给谁。地址类型可以是ASAP池元素句柄、关联id或传输地址。

The original message (or the first portion of it if the message is too big) and its size should be passed in the failedMessage and sizeOfMessage fields, respectively.

应分别在failedMessage和sizeOfMessage字段中传递原始消息(如果消息太大,则为消息的第一部分)及其大小。

6.8. Examples
6.8. 例子

These examples assume an underlying SCTP transport between the PE and PU. Other transports are possible, but SCTP is utilized in the examples for illustrative purposes. Note that all communication between the PU and ENRP server and the PE and ENRP servers would be using SCTP.

这些示例假定PE和PU之间存在底层SCTP传输。其他传输是可能的,但是为了说明的目的,在示例中使用了SCTP。请注意,PU和ENRP服务器与PE和ENRP服务器之间的所有通信都将使用SCTP。

6.8.1. Send to a New Pool
6.8.1. 发送到新池

This example shows the event sequence when a Pool User sends the message "hello" to a pool that is not in the local translation cache (assuming local caching is supported).

此示例显示池用户向不在本地转换缓存中的池发送消息“hello”时的事件序列(假设支持本地缓存)。

ENRP Server PU new-handle:PEx

ENRP服务器PU新句柄:PEx

       |                                |                 |
       |                              +---+               |
       |                              | 1 |               |
       |2. ASAP_HANDLE_RESOLUTION     +---+               |
       |<-------------------------------|                 |
       |                              +---+               |
       |                              | 3 |               |
       |4. ASAP_HANDLE_RESOLUTION_RSP +---+               |
       |------------------------------->|                 |
       |                              +---+               |
       |                              | 5 |               |
       |                              +---+  6. "hello1"  |
       |                                |---------------->|
       |                                |                 |
        
       |                                |                 |
       |                              +---+               |
       |                              | 1 |               |
       |2. ASAP_HANDLE_RESOLUTION     +---+               |
       |<-------------------------------|                 |
       |                              +---+               |
       |                              | 3 |               |
       |4. ASAP_HANDLE_RESOLUTION_RSP +---+               |
       |------------------------------->|                 |
       |                              +---+               |
       |                              | 5 |               |
       |                              +---+  6. "hello1"  |
       |                                |---------------->|
       |                                |                 |
        

1) The user at PU invokes:

1) PU处的用户调用:

data_send_request("new-handle", handle-type, "hello1", 6, 0);

数据发送请求(“新句柄”,句柄类型,“hello1”,6,0);

The ASAP Endpoint, in response, looks up the pool "new-handle" in its local cache, but fails to find it.

作为响应,ASAP端点在其本地缓存中查找池“新句柄”,但未能找到它。

2) The ASAP Endpoint of the PU queues the message and sends an ASAP_HANDLE_RESOLUTION request to the ENRP server asking for all information about pool "new-handle".

2) PU的ASAP端点对消息进行排队,并向ENRP服务器发送ASAP_句柄_解析请求,请求获取有关池“新句柄”的所有信息。

3) A T1-ENRPrequest timer is started while the ASAP Endpoint is waiting for the response from the ENRP server.

3) 当ASAP端点等待来自ENRP服务器的响应时,会启动T1 ENRPrequest计时器。

4) The ENRP server responds to the query with an ASAP_HANDLE_RESOLUTION_RESPONSE message that contains all the information about pool "new-handle".

4) ENRP服务器使用包含池“新句柄”所有信息的ASAP_HANDLE_RESOLUTION_响应消息响应查询。

5) ASAP at PU cancels the T1-ENRPrequest timer and populate its local cache with information on pool "new-handle".

5) PU尽快取消T1 ENRPrequest计时器,并用池“新句柄”上的信息填充其本地缓存。

6) Based on the server pooling policy of pool "new-handle", ASAP at PU selects the destination PE (PEx), sets up, if necessary, an SCTP association towards PEx (explicitly or implicitly), and sends out the queued "hello1" user message.

6) 根据池“新句柄”的服务器池策略,ASAP at PU选择目标PE(PEx),如有必要,建立指向PEx的SCTP关联(显式或隐式),并发送排队的“hello1”用户消息。

6.8.2. Send to a Cached Pool Handle
6.8.2. 发送到缓存池句柄

This shows the event sequence when the ASAP User PU sends another message to the pool "new-handle" after what happened in Section 6.8.1.

这显示了ASAP用户PU在发生第6.8.1节中的事件后向池“新句柄”发送另一条消息时的事件序列。

ENRP Server PU new-handle:PEx

ENRP服务器PU新句柄:PEx

       |                                |                 |
       |                              +---+               |
       |                              | 1 |               |
       |                              +---+  2. "hello2"  |
       |                                |---------------->|
       |                                |                 |
        
       |                                |                 |
       |                              +---+               |
       |                              | 1 |               |
       |                              +---+  2. "hello2"  |
       |                                |---------------->|
       |                                |                 |
        

1) The user at PU invokes:

1) PU处的用户调用:

data_send_request("new-handle", handle-type, "hello2", 6, 0);

数据发送请求(“新句柄”,句柄类型,“hello2”,6,0);

The ASAP Endpoint, in response, looks up the pool "new-handle" in its local cache and finds the mapping information.

作为响应,ASAP端点在其本地缓存中查找池“新句柄”,并找到映射信息。

2) Based on the server pooling policy of "new-handle", ASAP at PU selects the PE (assuming EPx is selected again), and sends out "hello2" message (assuming the SCTP association is already set up).

2) 基于“新句柄”的服务器池策略,ASAP at PU选择PE(假设再次选择EPx),并发送“hello2”消息(假设已建立SCTP关联)。

6.9. PE Send Failure
6.9. PE发送失败

When the ASAP Endpoint in a PE or PU attempts to send a message to a PE and fails, the failed sender will report the event as described in Section 3.5.

当PE或PU中的ASAP端点尝试向PE发送消息但失败时,失败的发送方将报告第3.5节中所述的事件。

Additional primitives are also defined in this section to support those user applications that do not wish to use ASAP as the actual transport.

本节还定义了其他原语,以支持那些不希望使用ASAP作为实际传输的用户应用程序。

6.9.1. Translation.Request Primitive
6.9.1. 翻译请求原语

Format: translation.request(Pool-Handle)

格式:translation.request(池句柄)

If the address type is a Pool Handle and a local handle translation cache exists, the ASAP Endpoint should look within its translation cache and return the current known transport types, ports, and addresses to the caller.

如果地址类型是池句柄,并且存在本地句柄转换缓存,则ASAP端点应在其转换缓存中查找,并将当前已知的传输类型、端口和地址返回给调用方。

If the Pool Handle does not exist in the local handle cache or no handle cache exists, the ASAP Endpoint will send an ASAP_HANDLE_RESOLUTION request using the Pool Handle. Upon completion of the handle resolution, the ASAP Endpoint should populate the local handle cache (if a local handle cache is supported) and return the transport types, ports, and addresses to the caller.

如果本地句柄缓存中不存在池句柄或不存在句柄缓存,则ASAP端点将使用池句柄发送ASAP_Handle_解析请求。完成句柄解析后,ASAP端点应填充本地句柄缓存(如果支持本地句柄缓存),并将传输类型、端口和地址返回给调用方。

6.9.2. Transport.Failure Primitive
6.9.2. 传输失败原语

Format: transport.failure(Pool-Handle, Transport-address)

格式:transport.failure(池句柄、传输地址)

If an external user encounters a failure in sending to a PE and is *not* using ASAP, it can use this primitive to report the failure to the ASAP endpoint. ASAP will send an ASAP_ENDPOINT_UNREACHABLE to the "Home" ENRP server in response to this primitive. Note ASAP SHOULD NOT send an ASAP_ENDPOINT_UNREACHABLE *unless* the user has actually made a previous request to send data to the PE.

如果外部用户在发送到PE时遇到故障并且*不*使用ASAP,则可以使用此原语向ASAP端点报告故障。ASAP将向“主”ENRP服务器发送无法访问的ASAP_端点_,以响应此原语。注:ASAP不应发送ASAP_ENDPOINT_UNREACHABLE*,除非*用户已实际发出向PE发送数据的请求。

7. Timers, Variables, and Thresholds
7. 计时器、变量和阈值

The following is a summary of the timers, variables, and pre-set protocol constants used in ASAP.

以下是ASAP中使用的计时器、变量和预设协议常数的摘要。

7.1. Timers
7.1. 计时器

T1-ENRPrequest - A timer started when a request is sent by ASAP to the ENRP server (providing application information is queued). Normally set to 15 seconds.

T1 ENRPrequest-当ASAP向ENRP服务器发送请求时启动的计时器(提供排队的应用程序信息)。通常设置为15秒。

T2-registration - A timer started when sending an ASAP_REGISTRATION request to the Home ENRP server, normally set to 30 seconds.

T2注册-向家庭ENRP服务器发送ASAP_注册请求时启动的计时器,通常设置为30秒。

T3-deregistration - A timer started when sending a de-registration request to the Home ENRP server, normally set to 30 seconds.

T3注销-向家庭ENRP服务器发送注销请求时启动的计时器,通常设置为30秒。

T4-reregistration - This timer is started after successful registration into the ENRP handlespace and is used to cause a re-registration at a periodic interval. This timer is normally set to 10 minutes or 20 seconds less than the Lifetime parameter used in the registration request (whichever is less).

T4重新注册-此计时器在成功注册到ENRP handlespace后启动,并用于定期重新注册。此计时器通常设置为比注册请求中使用的生存期参数少10分钟或20秒(以较小者为准)。

T5-Serverhunt - This timer is used during the ENRP Server Hunt procedure and is normally set to 10 seconds.

T5服务器搜索-此计时器在ENRP服务器搜索过程中使用,通常设置为10秒。

T6-Serverannounce - This timer gives the time between the sending of consecutive ASAP_SERVER_ANNOUNCE messages. It is normally set to 1 second.

T6 ServerAnnound-此计时器给出连续发送ASAP_SERVER_Annound消息之间的时间间隔。它通常设置为1秒。

T7-ENRPoutdate - This timer gives the time a server announcement is valid. It is normally set to 5 seconds.

T7 ENRPoutdate-此计时器提供服务器公告有效的时间。通常设置为5秒。

7.2. Variables
7.2. 变量

stale_cache_value - A threshold variable that indicates how long a cache entry is valid for.

stale_cache_value—一个阈值变量,指示缓存项在多长时间内有效。

7.3. Thresholds
7.3. 阈值

MAX-REG-ATTEMPT - The maximum number of registration attempts to be made before a server hunt is issued. The default value of this is set to 2.

MAX-REG-TRUMENT—在发出服务器搜寻之前进行的最大注册尝试次数。其默认值设置为2。

MAX-REQUEST-RETRANSMIT - The maximum number of attempts to be made when requesting information from the local ENRP server before a server hunt is issued. The default value for this is 2.

MAX-REQUEST-RETRANSMIT—在发出服务器搜寻之前,从本地ENRP服务器请求信息时要进行的最大尝试次数。默认值为2。

RETRAN-MAX - This value represents the maximum time between registration attempts and puts a ceiling on how far the registration timer will back off. The default value for this is normally set to 60 seconds.

RETRAN-MAX-此值表示注册尝试之间的最长时间,并对注册计时器将后退的距离设置上限。默认值通常设置为60秒。

8. IANA Considerations
8. IANA考虑

This document (RFC 5352) is the reference for all registrations described in this section. All registrations have been listed on the Reliable Server Pooling (RSerPool) Parameters page.

本文件(RFC 5352)是本节所述所有注册的参考文件。所有注册都已列在可靠服务器池(RSerPool)参数页面上。

8.1. A New Table for ASAP Message Types
8.1. ASAP消息类型的新表

ASAP Message Types are maintained by IANA. Fourteen initial values have been assigned by IANA as described in Figure 1. IANA created a new table, "ASAP Message Types":

ASAP消息类型由IANA维护。IANA分配了14个初始值,如图1所示。IANA创建了一个新表“ASAP消息类型”:

   Type       Message Name                     Reference
   -----      -------------------------        ---------
   0x00       (Reserved by IETF)               RFC 5352
   0x01       ASAP_REGISTRATION                RFC 5352
   0x02       ASAP_DEREGISTRATION              RFC 5352
   0x03       ASAP_REGISTRATION_RESPONSE       RFC 5352
   0x04       ASAP_DEREGISTRATION_RESPONSE     RFC 5352
   0x05       ASAP_HANDLE_RESOLUTION           RFC 5352
   0x06       ASAP_HANDLE_RESOLUTION_RESPONSE  RFC 5352
   0x07       ASAP_ENDPOINT_KEEP_ALIVE         RFC 5352
   0x08       ASAP_ENDPOINT_KEEP_ALIVE_ACK     RFC 5352
   0x09       ASAP_ENDPOINT_UNREACHABLE        RFC 5352
   0x0a       ASAP_SERVER_ANNOUNCE             RFC 5352
   0x0b       ASAP_COOKIE                      RFC 5352
   0x0c       ASAP_COOKIE_ECHO                 RFC 5352
   0x0d       ASAP_BUSINESS_CARD               RFC 5352
   0x0e       ASAP_ERROR                       RFC 5352
   0x0b-0xff  (Available for Assignment)       RFC 5352
        
   Type       Message Name                     Reference
   -----      -------------------------        ---------
   0x00       (Reserved by IETF)               RFC 5352
   0x01       ASAP_REGISTRATION                RFC 5352
   0x02       ASAP_DEREGISTRATION              RFC 5352
   0x03       ASAP_REGISTRATION_RESPONSE       RFC 5352
   0x04       ASAP_DEREGISTRATION_RESPONSE     RFC 5352
   0x05       ASAP_HANDLE_RESOLUTION           RFC 5352
   0x06       ASAP_HANDLE_RESOLUTION_RESPONSE  RFC 5352
   0x07       ASAP_ENDPOINT_KEEP_ALIVE         RFC 5352
   0x08       ASAP_ENDPOINT_KEEP_ALIVE_ACK     RFC 5352
   0x09       ASAP_ENDPOINT_UNREACHABLE        RFC 5352
   0x0a       ASAP_SERVER_ANNOUNCE             RFC 5352
   0x0b       ASAP_COOKIE                      RFC 5352
   0x0c       ASAP_COOKIE_ECHO                 RFC 5352
   0x0d       ASAP_BUSINESS_CARD               RFC 5352
   0x0e       ASAP_ERROR                       RFC 5352
   0x0b-0xff  (Available for Assignment)       RFC 5352
        

Requests to register an ASAP Message Type in this table should be sent to IANA. The number must be unique. The "Specification Required" policy of [RFC5226] MUST be applied.

在此表中注册ASAP消息类型的请求应发送至IANA。号码必须是唯一的。必须采用[RFC5226]的“要求规范”政策。

8.2. Port Numbers
8.2. 端口号

The references for the already assigned port numbers

已分配端口号的引用

asap-tcp 3863/tcp

尽快tcp 3863/tcp

asap-udp 3863/udp

尽快udp 3863/udp

asap-sctp 3863/sctp

尽快sctp 3863/sctp

asap-tcp-tls 3864/tcp

尽快tcp tls 3864/tcp

asap-sctp-tls 3864/sctp

尽快sctp tls 3864/sctp

have been updated to RFC 5352.

已更新至RFC 5352。

8.3. SCTP Payload Protocol Identifier
8.3. SCTP有效负载协议标识符

The reference for the already assigned ASAP payload protocol identifier 11 has been updated to RFC 5352.

已分配的ASAP有效负载协议标识符11的参考已更新为RFC 5352。

8.4. Multicast Addresses
8.4. 多播地址

IANA has assigned an IPv4 multicast address (224.0.1.185) and an IPv6 multicast address (FF0X:0:0:0:0:0:0:133). The IPv4 address is part of the Internetwork Control Block (224.0.1/24).

IANA已分配IPv4多播地址(224.0.1.185)和IPv6多播地址(FF0X:0:0:0:0:0:133)。IPv4地址是互联网控制块(224.0.1/24)的一部分。

9. Security Considerations
9. 安全考虑

We present a summary of the of the threats to the RSerPool architecture and describe security requirements in response in order to mitigate the threats. Next, we present the security mechanisms, based on TLS, that are implementation requirements in response to the threats. Finally, we present a chain-of-trust argument that examines critical data paths in RSerPool and shows how these paths are protected by the TLS implementation.

我们总结了RSerPool体系结构面临的威胁,并描述了为缓解这些威胁而响应的安全需求。接下来,我们将介绍基于TLS的安全机制,它们是响应威胁的实现需求。最后,我们提供了一个信任链参数,该参数检查RSerPool中的关键数据路径,并显示TLS实现如何保护这些路径。

9.1. Summary of RSerPool Security Threats
9.1. RSepool安全威胁概述

"Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats" [RFC5355] describes the threats to the RSerPool architecture in detail and lists the security requirements in response to each threat. From the threats described in this document, the security services required for the RSerPool protocol are enumerated below.

“可靠服务器池(RSerPool)带来的威胁和应对威胁的安全要求”[RFC5355]详细描述了对RSerPool体系结构的威胁,并列出了应对每个威胁的安全要求。根据本文档中描述的威胁,下面列举了RSerPool协议所需的安全服务。

   Threat 1) PE registration/de-registration flooding or spoofing.
   -----------
   Security mechanism in response: ENRP server authenticates the PE.
        
   Threat 1) PE registration/de-registration flooding or spoofing.
   -----------
   Security mechanism in response: ENRP server authenticates the PE.
        
   Threat 2) PE registers with a malicious ENRP server.
   -----------
   Security mechanism in response: PE authenticates the ENRP server.
        
   Threat 2) PE registers with a malicious ENRP server.
   -----------
   Security mechanism in response: PE authenticates the ENRP server.
        

Threats 1 and 2, taken together, result in mutual authentication of the ENRP server and the PE.

威胁1和2加在一起,导致ENRP服务器和PE相互认证。

   Threat 3) Malicious ENRP server joins the ENRP server pool.
   -----------
   Security mechanism in response: ENRP servers mutually authenticate.
        
   Threat 3) Malicious ENRP server joins the ENRP server pool.
   -----------
   Security mechanism in response: ENRP servers mutually authenticate.
        
   Threat 4) A PU communicates with a malicious ENRP server for handle
   resolution.
   -----------
   Security mechanism in response: The PU authenticates the ENRP server.
        
   Threat 4) A PU communicates with a malicious ENRP server for handle
   resolution.
   -----------
   Security mechanism in response: The PU authenticates the ENRP server.
        
   Threat 5) Replay attack.
   -----------
   Security mechanism in response: Security protocol that has protection
   from replay attacks.
        
   Threat 5) Replay attack.
   -----------
   Security mechanism in response: Security protocol that has protection
   from replay attacks.
        
   Threat 6) Corrupted data that causes a PU to have misinformation
   concerning a pool handle resolution.
   -----------
   Security mechanism in response: Security protocol that supports
   integrity protection.
        
   Threat 6) Corrupted data that causes a PU to have misinformation
   concerning a pool handle resolution.
   -----------
   Security mechanism in response: Security protocol that supports
   integrity protection.
        
   Threat 7) Eavesdropper snooping on handlespace information.
   -----------
   Security mechanism in response: Security protocol that supports data
   confidentiality.
        
   Threat 7) Eavesdropper snooping on handlespace information.
   -----------
   Security mechanism in response: Security protocol that supports data
   confidentiality.
        
   Threat 8) Flood of ASAP_ENDPOINT_UNREACHABLE messages from the PU to
   ENRP server.
   -----------
   Security mechanism in response: ASAP must control the number of ASAP
   Endpoint unreachable messages transmitted from the PU to the ENRP
   server.
        
   Threat 8) Flood of ASAP_ENDPOINT_UNREACHABLE messages from the PU to
   ENRP server.
   -----------
   Security mechanism in response: ASAP must control the number of ASAP
   Endpoint unreachable messages transmitted from the PU to the ENRP
   server.
        
   Threat 9) Flood of ASAP_ENDPOINT_KEEP_ALIVE messages to the PE from
   the ENRP server.
   -----------
   Security mechanism in response: ENRP server must control the number
   of ASAP_ENDPOINT_KEEP_ALIVE messages to the PE.
        
   Threat 9) Flood of ASAP_ENDPOINT_KEEP_ALIVE messages to the PE from
   the ENRP server.
   -----------
   Security mechanism in response: ENRP server must control the number
   of ASAP_ENDPOINT_KEEP_ALIVE messages to the PE.
        

To summarize, the threats 1-7 require security mechanisms that support authentication, integrity, data confidentiality, and protection from replay attacks.

总之,威胁1-7需要支持身份验证、完整性、数据机密性和防止重播攻击的安全机制。

For RSerPool we need to authenticate the following:

对于RSerPool,我们需要验证以下内容:

      PU <----  ENRP server (PU authenticates the ENRP server)
      PE <----> ENRP server (mutual authentication)
      ENRP server <-----> ENRP server (mutual authentication)
        
      PU <----  ENRP server (PU authenticates the ENRP server)
      PE <----> ENRP server (mutual authentication)
      ENRP server <-----> ENRP server (mutual authentication)
        
9.2. Implementing Security Mechanisms
9.2. 实施安全机制

We do not define any new security mechanisms specifically for responding to threats 1-7. Rather, we use an existing IETF security protocol, specifically [RFC3237], to provide the security services required. TLS supports all these requirements and MUST be implemented. The TLS_RSA_WITH_AES_128_CBC_SHA ciphersuite MUST be supported, at a minimum, by implementers of TLS for RSerPool. For purposes of backwards compatibility, ENRP SHOULD support TLS_RSA_WITH_3DES_EDE_CBC_SHA. Implementers MAY also support any other IETF-approved ciphersuites.

我们没有专门为应对威胁1-7定义任何新的安全机制。相反,我们使用现有的IETF安全协议,特别是[RFC3237],来提供所需的安全服务。TLS支持所有这些要求,必须予以实施。TLS\u RSA\u和\u AES\u 128\u CBC\u SHA密码套件必须至少由TLS for RSerPool的实施者支持。为了向后兼容,ENRP应支持TLS_RSA_和_3DES_EDE_CBC_SHA。实施者还可以支持任何其他IETF批准的密码套件。

ENRP servers, PEs, and PUs MUST implement TLS. ENRP servers and PEs MUST support mutual authentication using PSK (pre-shared-key). ENRP servers MUST support mutual authentication among themselves using PSK. PUs MUST authenticate ENRP servers using certificates.

ENRP服务器、PEs和PUs必须实施TLS。ENRP服务器和PEs必须支持使用PSK(预共享密钥)的相互身份验证。ENRP服务器必须使用PSK支持它们之间的相互认证。PUs必须使用证书对ENRP服务器进行身份验证。

TLS with PSK is mandatory to implement as the authentication mechanism for ENRP to ENRP authentication and PE to ENRP authentication. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool. The justification for PSK is that we assume that one administrative domain will control and manage the server pool. This allows for PSK to be implemented and managed by a central security administrator.

带有PSK的TLS必须作为ENRP-to-ENRP身份验证和PE-to-ENRP身份验证的身份验证机制来实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。PSK的理由是我们假设一个管理域将控制和管理服务器池。这允许PSK由中央安全管理员实施和管理。

TLS with certificates is mandatory to implement as the authentication mechanism for PUs to the ENRP server. PUs MUST authenticate ENRP servers using certificates. ENRP servers MUST possess a site certificate whose subject corresponds to their canonical hostname. PUs MAY have certificates of their own for mutual authentication with TLS, but no provisions are set forth in this document for their use. All RSerPool Elements that support TLS MUST have a mechanism for validating certificates received during TLS negotiation; this entails possession of one or more root certificates issued by certificate authorities (preferably, well-known distributors of site certificates comparable to those that issue root certificates for web browsers).

必须将带有证书的TLS作为PUs到ENRP服务器的身份验证机制来实现。PUs必须使用证书对ENRP服务器进行身份验证。ENRP服务器必须拥有一个站点证书,其主题与其规范主机名对应。PUs可能有自己的证书,用于与TLS相互认证,但本文件中没有规定其使用。支持TLS的所有RSerPool元素必须具有验证TLS协商期间收到的证书的机制;这需要拥有一个或多个由证书颁发机构颁发的根证书(最好是与为web浏览器颁发根证书的机构相当的站点证书的知名分销商)。

In order to prevent man-in-the-middle attacks, the client MUST verify the server's identity (as presented in the server's Certificate message). The client's understanding of the server's identity (typically, the identity used to establish the transport connection) is called the "reference identity". The client determines the type (e.g., DNS name or IP address) of the reference identity and performs a comparison between the reference identity and each subjectAltName value of the corresponding type until a match is produced. Once a match is produced, the server's identity has been verified, and the server identity check is complete. Different subjectAltName types are matched in different ways. The client may map the reference identity to a different type prior to performing a comparison. Mappings may be performed for all available subjectAltName types to which the reference identity can be mapped; however, the reference identity should only be mapped to types for which the mapping is either inherently secure (e.g., extracting the DNS name from a URI to compare with a subjectAltName of type dNSName) or for which the mapping is performed in a secure manner (e.g., using DNS Security (DNSSEC), or using user- or admin-configured host-to-address/ address-to-host lookup tables).

为了防止中间人攻击,客户端必须验证服务器的身份(如服务器的证书消息中所示)。客户端对服务器标识(通常是用于建立传输连接的标识)的理解称为“参考标识”。客户端确定参考标识的类型(例如DNS名称或IP地址),并在参考标识和相应类型的每个subjectAltName值之间执行比较,直到生成匹配。一旦生成匹配项,服务器的标识就已验证,并且服务器标识检查已完成。不同的subjectAltName类型以不同的方式匹配。客户端可以在执行比较之前将参考标识映射到不同的类型。可以对引用标识可以映射到的所有可用subjectAltName类型执行映射;但是,引用标识应仅映射到映射本身是安全的(例如,从URI提取DNS名称以与dNSName类型的subjectAltName进行比较)或映射以安全方式(例如,使用DNS安全性(DNSSEC))执行的类型,或使用用户或管理员配置的主机到地址/主机到地址查找表)。

If the server identity check fails, user-oriented clients SHOULD either notify the user or close the transport connection and indicate that the server's identity is suspect. Automated clients SHOULD close the transport connection and then return or log an error indicating that the server's identity is suspect, or both. Beyond the server identity check described in this section, clients should be prepared to do further checking to ensure that the server is authorized to provide the service it is requested to provide. The client may need to make use of local policy information in making this determination.

如果服务器标识检查失败,面向用户的客户端应通知用户或关闭传输连接,并指示服务器标识可疑。自动客户端应关闭传输连接,然后返回或记录一个错误,表明服务器的身份可疑,或两者都有。除了本节中描述的服务器身份检查之外,客户机还应该准备进行进一步的检查,以确保服务器有权提供请求提供的服务。客户可能需要利用当地的政策信息来确定。

If the reference identity is an internationalized domain name, conforming implementations MUST convert it to the ASCII Compatible Encoding (ACE) format, as specified in Section 4 of [RFC3490], before comparison with subjectAltName values of type dNSName. Specifically,

如果参考标识是一个国际化域名,则一致性实现必须将其转换为[RFC3490]第4节规定的ASCII兼容编码(ACE)格式,然后再与dNSName类型的subjectAltName值进行比较。明确地

conforming implementations MUST perform the conversion operation specified in Section 4 of [RFC3490] as follows: * in step 1, the domain name SHALL be considered a "stored string"; * in step 3, set the flag called "UseSTD3ASCIIRules"; * in step 4, process each label with the "ToASCII" operation; and * in step 5, change all label separators to U+002E (full stop).

一致性实现必须执行[RFC3490]第4节中规定的转换操作,如下:*在步骤1中,域名应被视为“存储字符串”;*在步骤3中,设置名为“usestd3ascirules”的标志*在步骤4中,使用“ToASCII”操作处理每个标签;和*在步骤5中,将所有标签分隔符更改为U+002E(句号)。

After performing the "to-ASCII" conversion, the DNS labels and names MUST be compared for equality, according to the rules specified in Section 3 of RFC 3490. The '*' (ASCII 42) wildcard character is allowed in subjectAltName values of type dNSName, and then, only as the left-most (least significant) DNS label in that value. This wildcard matches any left-most DNS label in the server name. That is, the subject *.example.com matches the server names a.example.com and b.example.com, but does not match example.com or a.b.example.com.

执行“到ASCII”转换后,必须根据RFC 3490第3节中规定的规则比较DNS标签和名称是否相等。dNSName类型的subjectAltName值中允许使用“*”(ASCII 42)通配符,然后仅作为该值中最左侧(最低有效)的DNS标签。此通配符与服务器名称中最左边的DNS标签匹配。也就是说,subject*.example.com与服务器名a.example.com和b.example.com匹配,但与example.com或a.b.example.com不匹配。

When the reference identity is an IP address, the identity MUST be converted to the "network byte order" octet string representation in [RFC0791] and [RFC2460]. For IP version 4, as specified in RFC 791, the octet string will contain exactly four octets. For IP version 6, as specified in RFC 2460, the octet string will contain exactly sixteen octets. This octet string is then compared against subjectAltName values of type iPAddress. A match occurs if the reference identity octet string and value octet strings are identical.

当参考标识为IP地址时,该标识必须转换为[RFC0791]和[RFC2460]中的“网络字节顺序”八位字符串表示形式。对于IP版本4,如RFC 791中所述,八位字节字符串将正好包含四个八位字节。对于IP版本6,如RFC 2460中所规定,八位字节字符串将正好包含十六个八位字节。然后将此八位组字符串与iPAddress类型的subjectAltName值进行比较。如果引用标识八位字节字符串和值八位字节字符串相同,则会发生匹配。

After a TLS layer is established in a session, both parties are to independently decide whether or not to continue based on local policy and the security level achieved. If either party decides that the security level is inadequate for it to continue, it SHOULD remove the TLS layer immediately after the TLS (re)negotiation has completed (see RFC 4511)[RFC4511]. Implementations may re-evaluate the security level at any time and, upon finding it inadequate, should remove the TLS layer.

在会话中建立TLS层后,双方将根据本地策略和达到的安全级别独立决定是否继续。如果任何一方决定安全级别不足以继续,则应在TLS(重新)协商完成后立即移除TLS层(参见RFC 4511)[RFC4511]。实施可能会在任何时候重新评估安全级别,如果发现不充分,应移除TLS层。

Implementations MUST support TLS with SCTP, as described in [RFC3436] or TLS over TCP, as described in [RFC5246]. When using TLS/SCTP we must ensure that RSerPool does not use any features of SCTP that are not available to a TLS/SCTP user. This is not a difficult technical problem, but simply a requirement. When describing an API of the RSerPool lower layer, we also have to take into account the differences between TLS and SCTP.

实现必须支持带有SCTP的TLS,如[RFC3436]所述,或通过TCP的TLS,如[RFC5246]所述。使用TLS/SCTP时,我们必须确保RSerPool不会使用TLS/SCTP用户无法使用的任何SCTP功能。这不是一个困难的技术问题,只是一个要求。在描述RSerPool较低层的API时,我们还必须考虑TLS和SCTP之间的差异。

Threat 8 requires the ASAP protocol to limit the number of ASAP_ENDPOINT_UNREACHABLE messages (see Section 3.5) to the ENRP server.

威胁8要求ASAP协议限制到ENRP服务器的ASAP_端点_不可访问消息的数量(见第3.5节)。

Threat 9 requires the ENRP protocol to limit the number of ASAP_ENDPOINT_KEEP_ALIVE messages from the ENRP server to the PE (see [RFC5353]).

威胁9要求ENRP协议限制从ENRP服务器到PE的ASAP_ENDPOINT_KEEP_ALIVE消息的数量(请参见[RFC5353])。

There is no security mechanism defined for the multicast announcements. Therefore, a receiver of such an announcement cannot consider the source address of such a message to be a trustworthy address of an ENRP server. A receiver must also be prepared to receive a large number of multicast announcements from attackers.

没有为多播公告定义安全机制。因此,这样的通知的接收器不能认为这样的消息的源地址是Enrp服务器的可信地址。接收者还必须准备好接收来自攻击者的大量多播通知。

9.3. Chain of Trust
9.3. 信任链

Security is mandatory to implement in RSerPool and is based on TLS implementation in all three architecture components that comprise RSerPool -- namely PU, PE, and ENRP server. We define an ENRP server that uses TLS for all communication and authenticates ENRP peers and PE registrants to be a secured ENRP server.

安全性是必须在RSerPool中实现的,并且基于构成RSerPool的所有三个体系结构组件(即PU、PE和ENRP服务器)中的TLS实现。我们定义了一个使用TLS进行所有通信的ENRP服务器,并将ENRP对等方和PE注册者认证为安全的ENRP服务器。

Here is a description of all possible data paths and a description of the security.

以下是所有可能数据路径的说明和安全性说明。

   PU <---> secured ENRP server (authentication of ENRP server;
            queries over TLS)
   PE <---> secured ENRP server (mutual authentication;
            registration/de-registration over TLS)
   secured ENRP server <---> secured ENRP server (mutual authentication;
            database updates using TLS)
        
   PU <---> secured ENRP server (authentication of ENRP server;
            queries over TLS)
   PE <---> secured ENRP server (mutual authentication;
            registration/de-registration over TLS)
   secured ENRP server <---> secured ENRP server (mutual authentication;
            database updates using TLS)
        

If all components of the system authenticate and communicate using TLS, the chain of trust is sound. The root of the trust chain is the ENRP server. If that is secured using TLS, then security will be enforced for all ENRP and PE components that try to connect to it.

如果系统的所有组件都使用TLS进行身份验证和通信,则信任链是健全的。信任链的根是ENRP服务器。如果使用TLS对其进行保护,则将对所有尝试连接到它的ENRP和PE组件实施安全保护。

Summary of interaction between secured and unsecured components: If the PE does not use TLS and tries to register with a secure ENRP server, it will receive an error message response indicated as an error due to security considerations and the registration will be rejected. If an ENRP server that does not use TLS tries to update the database of a secure ENRP server, then the update will be rejected. If a PU does not use TLS and communicates with a secure ENRP server, it will get a response with the understanding that the response is not secure, as the response can be tampered with in transit even if the ENRP database is secured.

安全组件和非安全组件之间的交互摘要:如果PE不使用TLS并尝试向安全ENRP服务器注册,则出于安全考虑,它将收到一条错误消息响应,指示为错误,注册将被拒绝。如果不使用TLS的ENRP服务器尝试更新安全ENRP服务器的数据库,则更新将被拒绝。如果PU不使用TLS并与安全的ENRP服务器通信,它将得到一个响应,并理解该响应是不安全的,因为即使ENRP数据库是安全的,响应也可能在传输过程中被篡改。

The final case is the PU sending a secure request to ENRP. It might be that ENRP and PEs are not secured and this is an allowable configuration. The intent is to secure the communication over the Internet between the PU and the ENRP server.

最后一种情况是PU向ENRP发送安全请求。可能是ENRP和PEs不安全,这是允许的配置。目的是保护PU和ENRP服务器之间的互联网通信。

Summary:

总结:

RSerPool architecture components can communicate with each other to establish a chain of trust. Secured PE and ENRP servers reject any communications with unsecured ENRP or PE servers.

RSerPool体系结构组件可以相互通信以建立信任链。安全的PE和ENRP服务器拒绝与不安全的ENRP或PE服务器进行任何通信。

If the above is enforced, then a chain of trust is established for the RSerPool user.

如果强制执行上述操作,则会为RSerPool用户建立信任链。

10. Acknowledgments
10. 致谢

The authors wish to thank John Loughney, Lyndon Ong, Walter Johnson, Thomas Dreibholz, and many others for their invaluable comments and feedback.

作者希望感谢John Loughney、Lyndon Ong、Walter Johnson、Thomas Dreibholz和许多其他人的宝贵意见和反馈。

11. References
11. 工具书类
11.1. Normative References
11.1. 规范性引用文件

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

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

[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月。

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

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

[RFC3237] Tuexen, M., Xie, Q., Stewart, R., Shore, M., Ong, L., Loughney, J., and M. Stillman, "Requirements for Reliable Server Pooling", RFC 3237, January 2002.

[RFC3237]Tuexen,M.,Xie,Q.,Stewart,R.,Shore,M.,Ong,L.,Loughney,J.,和M.Stillman,“可靠服务器池的要求”,RFC 3237,2002年1月。

[RFC3436] Jungmaier, A., Rescorla, E., and M. Tuexen, "Transport Layer Security over Stream Control Transmission Protocol", RFC 3436, December 2002.

[RFC3436]Jungmaier,A.,Rescorla,E.,和M.Tuexen,“流控制传输协议上的传输层安全”,RFC 3436,2002年12月。

[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, "Internationalizing Domain Names in Applications (IDNA)", RFC 3490, March 2003.

[RFC3490]Faltstrom,P.,Hoffman,P.,和A.Costello,“应用程序中的域名国际化(IDNA)”,RFC 34902003年3月。

[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008.

[RFC5246]Dierks,T.和E.Rescorla,“传输层安全(TLS)协议版本1.2”,RFC 5246,2008年8月。

[RFC4511] Sermersheim, J., "Lightweight Directory Access Protocol (LDAP): The Protocol", RFC 4511, June 2006.

[RFC4511]Sermersheim,J.,“轻量级目录访问协议(LDAP):协议”,RFC4511,2006年6月。

[RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007.

[RFC4960]Stewart,R.,“流控制传输协议”,RFC 49602007年9月。

[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月。

[RFC5356] Dreibholz, T. and M. Tuexen, "Reliable Server Pooling Policies", RFC 5356, September 2008.

[RFC5356]Dreibholz,T.和M.Tuexen,“可靠的服务器池策略”,RFC 5356,2008年9月。

[RFC5354] Stewart, R., Xie, Q., Stillman, M., and M. Tuexen, "Aggregate Server Access Protocol (ASAP) and Endpoint Handlespace Redundancy Protocol (ENRP) Parameters", RFC 5354, September 2008.

[RFC5354]Stewart,R.,Xie,Q.,Stillman,M.,和M.Tuexen,“聚合服务器访问协议(ASAP)和端点Handlespace冗余协议(ENRP)参数”,RFC 53542008年9月。

[RFC5353] Xie, Q., Stewart, R., Stillman, M., Tuexen, M., and A. Silverton, "Endpoint Handlespace Redundancy Protocol (ENRP)", RFC 5353, September 2008.

[RFC5353]Xie,Q.,Stewart,R.,Stillman,M.,Tuexen,M.,和A.Silverton,“端点Handlespace冗余协议(ENRP)”,RFC 53532008年9月。

[RFC5355] Stillman, M., Ed., Gopal, R., Guttman, E., Holdrege, M., and S. Sengodan, "Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats", RFC 5355, September 2008.

[RFC5355]Stillman,M.,Ed.,Gopal,R.,Guttman,E.,Holdrege,M.,和S.Sengodan,“可靠服务器池(RSerPool)带来的威胁和应对威胁的安全要求”,RFC 53552008年9月。

11.2. Informative References
11.2. 资料性引用

[RFC4086] Eastlake, D., Schiller, J., and S. Crocker, "Randomness Requirements for Security", BCP 106, RFC 4086, June 2005.

[RFC4086]Eastlake,D.,Schiller,J.,和S.Crocker,“安全的随机性要求”,BCP 106,RFC 4086,2005年6月。

Authors' Addresses

作者地址

Randall R. Stewart The Resource Group 1700 Pennsylvania Ave NW Suite 560 Washington, D.C., 20006 USA

兰德尔·R·斯图尔特资源集团美国华盛顿特区宾夕法尼亚大道西北1700号560室,邮编:20006

   EMail: randall@lakerest.net
        
   EMail: randall@lakerest.net
        

Qiaobing Xie The Resource Group 1700 Pennsylvania Ave NW Suite 560 Washington, D.C., 20006 USA

美国华盛顿特区宾夕法尼亚大道西北1700号560室,邮编20006

   Phone: +1 224-465-5954
   EMail: Qiaobing.Xie@gmail.com
        
   Phone: +1 224-465-5954
   EMail: Qiaobing.Xie@gmail.com
        

Maureen Stillman Nokia 1167 Peachtree Ct. Naperville, IL 60540 USA

Maureen Stillman诺基亚1167桃树Ct。美国伊利诺伊州纳珀维尔60540

   EMail: maureen.stillman@nokia.com
        
   EMail: maureen.stillman@nokia.com
        

Michael Tuexen Muenster Univ. of Applied Sciences Stegerwaldstr. 39 48565 Steinfurt Germany

Michael Tuexen Muenster应用科学大学Stegerwaldstr。39 48565德国斯坦福德

   EMail: tuexen@fh-muenster.de
        
   EMail: tuexen@fh-muenster.de
        

Full Copyright Statement

完整版权声明

Copyright (C) The IETF Trust (2008).

版权所有(C)IETF信托基金(2008年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.