Network Working Group                                         M. Borella
Request for Comments: 3103                                  D. Grabelsky
Category: Experimental                                         CommWorks
                                                                   J. Lo
                                                    Candlestick Networks
                                                            K. Taniguchi
                                                                 NEC USA
                                                            October 2001
        
Network Working Group                                         M. Borella
Request for Comments: 3103                                  D. Grabelsky
Category: Experimental                                         CommWorks
                                                                   J. Lo
                                                    Candlestick Networks
                                                            K. Taniguchi
                                                                 NEC USA
                                                            October 2001
        

Realm Specific IP: Protocol Specification

领域特定IP:协议规范

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.

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

Copyright Notice

版权公告

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

IESG Note

IESG注释

The IESG notes that the set of documents describing the RSIP technology imply significant host and gateway changes for a complete implementation. In addition, the floating of port numbers can cause problems for some applications, preventing an RSIP-enabled host from interoperating transparently with existing applications in some cases (e.g., IPsec). Finally, there may be significant operational complexities associated with using RSIP. Some of these and other complications are outlined in section 6 of the RFC 3102, as well as in the Appendices of RFC 3104. Accordingly, the costs and benefits of using RSIP should be carefully weighed against other means of relieving address shortage.

IESG指出,描述RSIP技术的一组文档意味着主机和网关的重大更改,以实现完整的实现。此外,端口号的浮动可能会导致某些应用程序出现问题,从而在某些情况下(例如,IPsec)阻止启用RSIP的主机与现有应用程序进行透明的互操作。最后,使用RSIP可能会带来巨大的操作复杂性。RFC 3102第6节以及RFC 3104附录概述了其中一些并发症和其他并发症。因此,使用RSIP的成本和收益应与其他缓解地址短缺的方法仔细权衡。

Abstract

摘要

This document presents a protocol with which to implement Realm Specific IP (RSIP). The protocol defined herein allows negotiation of resources between an RSIP host and gateway, so that the host can lease some of the gateway's addressing parameters in order to establish a global network presence. This protocol is designed to operate on the application layer and to use its own TCP or UDP port. In particular, the protocol allows a gateway to allocate addressing and control parameters to a host such that a flow policy can be enforced at the gateway.

本文档提供了一个用于实现领域特定IP(RSIP)的协议。本文定义的协议允许RSIP主机和网关之间的资源协商,以便主机可以租用网关的一些寻址参数以建立全局网络存在。此协议设计用于在应用程序层上运行,并使用其自己的TCP或UDP端口。特别是,该协议允许网关向主机分配寻址和控制参数,以便在网关上实施流策略。

Table of Contents

目录

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. Specification of Requirements . . . . . . . . . . . . . . . .  4
   3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4. Architecture  . . . . . . . . . . . . . . . . . . . . . . . .  5
   5. Transport Protocol  . . . . . . . . . . . . . . . . . . . . .  7
   6. Host / Gateway Relationships  . . . . . . . . . . . . . . . .  7
   7. Gateway Flow Policy and State . . . . . . . . . . . . . . . .  8
   7.1. Local Flow Policy . . . . . . . . . . . . . . . . . . . . .  9
   7.2. Remote Flow Policy  . . . . . . . . . . . . . . . . . . . .  9
   7.3. Gateway State . . . . . . . . . . . . . . . . . . . . . . . 10
   8. Parameter Specification and Formats . . . . . . . . . . . . . 11
   8.1. Address . . . . . . . . . . . . . . . . . . . . . . . . . . 11
   8.2. Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
   8.3. Lease Time  . . . . . . . . . . . . . . . . . . . . . . . . 13
   8.4. Client ID . . . . . . . . . . . . . . . . . . . . . . . . . 13
   8.5. Bind ID . . . . . . . . . . . . . . . . . . . . . . . . . . 13
   8.6. Tunnel Type . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.7. RSIP Method . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.8. 8.8.  Error . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.9. Flow Policy . . . . . . . . . . . . . . . . . . . . . . . . 15
   8.10. Indicator  . . . . . . . . . . . . . . . . . . . . . . . . 15
   8.11. Message Counter  . . . . . . . . . . . . . . . . . . . . . 16
   8.12. Vendor Specific Parameter  . . . . . . . . . . . . . . . . 16
   9. Message Types . . . . . . . . . . . . . . . . . . . . . . . . 16
   9.1. ERROR_RESPONSE  . . . . . . . . . . . . . . . . . . . . . . 17
   9.2. REGISTER_REQUEST  . . . . . . . . . . . . . . . . . . . . . 18
   9.3. REGISTER_RESPONSE . . . . . . . . . . . . . . . . . . . . . 19
   9.4. DE-REGISTER_REQUEST . . . . . . . . . . . . . . . . . . . . 19
   9.5. DE-REGISTER_RESPONSE  . . . . . . . . . . . . . . . . . . . 20
   9.6. ASSIGN_REQUEST_RSA-IP . . . . . . . . . . . . . . . . . . . 21
   9.7. ASSIGN_RESPONSE_RSA-IP  . . . . . . . . . . . . . . . . . . 22
   9.8. ASSIGN_REQUEST_RSAP-IP  . . . . . . . . . . . . . . . . . . 23
   9.9. ASSIGN_RESPONSE_RSAP-IP . . . . . . . . . . . . . . . . . . 26
   9.10. EXTEND_REQUEST . . . . . . . . . . . . . . . . . . . . . . 27
   9.11. EXTEND_RESPONSE  . . . . . . . . . . . . . . . . . . . . . 28
   9.12. FREE_REQUEST . . . . . . . . . . . . . . . . . . . . . . . 28
   9.13. FREE_RESPONSE  . . . . . . . . . . . . . . . . . . . . . . 29
   9.14. QUERY_REQUEST  . . . . . . . . . . . . . . . . . . . . . . 30
   9.15. QUERY_RESPONSE . . . . . . . . . . . . . . . . . . . . . . 31
   9.16. LISTEN_REQUEST . . . . . . . . . . . . . . . . . . . . . . 32
   9.17. LISTEN_RESPONSE  . . . . . . . . . . . . . . . . . . . . . 35
   10. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 36
   10.1. Use of Message Counters  . . . . . . . . . . . . . . . . . 36
   10.2. RSIP Host and Gateway Failure Scenarios  . . . . . . . . . 37
   10.3. General Gateway Policy . . . . . . . . . . . . . . . . . . 38
   10.4. Errors Not From the RSIP Protocol  . . . . . . . . . . . . 39
        
   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. Specification of Requirements . . . . . . . . . . . . . . . .  4
   3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4. Architecture  . . . . . . . . . . . . . . . . . . . . . . . .  5
   5. Transport Protocol  . . . . . . . . . . . . . . . . . . . . .  7
   6. Host / Gateway Relationships  . . . . . . . . . . . . . . . .  7
   7. Gateway Flow Policy and State . . . . . . . . . . . . . . . .  8
   7.1. Local Flow Policy . . . . . . . . . . . . . . . . . . . . .  9
   7.2. Remote Flow Policy  . . . . . . . . . . . . . . . . . . . .  9
   7.3. Gateway State . . . . . . . . . . . . . . . . . . . . . . . 10
   8. Parameter Specification and Formats . . . . . . . . . . . . . 11
   8.1. Address . . . . . . . . . . . . . . . . . . . . . . . . . . 11
   8.2. Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
   8.3. Lease Time  . . . . . . . . . . . . . . . . . . . . . . . . 13
   8.4. Client ID . . . . . . . . . . . . . . . . . . . . . . . . . 13
   8.5. Bind ID . . . . . . . . . . . . . . . . . . . . . . . . . . 13
   8.6. Tunnel Type . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.7. RSIP Method . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.8. 8.8.  Error . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.9. Flow Policy . . . . . . . . . . . . . . . . . . . . . . . . 15
   8.10. Indicator  . . . . . . . . . . . . . . . . . . . . . . . . 15
   8.11. Message Counter  . . . . . . . . . . . . . . . . . . . . . 16
   8.12. Vendor Specific Parameter  . . . . . . . . . . . . . . . . 16
   9. Message Types . . . . . . . . . . . . . . . . . . . . . . . . 16
   9.1. ERROR_RESPONSE  . . . . . . . . . . . . . . . . . . . . . . 17
   9.2. REGISTER_REQUEST  . . . . . . . . . . . . . . . . . . . . . 18
   9.3. REGISTER_RESPONSE . . . . . . . . . . . . . . . . . . . . . 19
   9.4. DE-REGISTER_REQUEST . . . . . . . . . . . . . . . . . . . . 19
   9.5. DE-REGISTER_RESPONSE  . . . . . . . . . . . . . . . . . . . 20
   9.6. ASSIGN_REQUEST_RSA-IP . . . . . . . . . . . . . . . . . . . 21
   9.7. ASSIGN_RESPONSE_RSA-IP  . . . . . . . . . . . . . . . . . . 22
   9.8. ASSIGN_REQUEST_RSAP-IP  . . . . . . . . . . . . . . . . . . 23
   9.9. ASSIGN_RESPONSE_RSAP-IP . . . . . . . . . . . . . . . . . . 26
   9.10. EXTEND_REQUEST . . . . . . . . . . . . . . . . . . . . . . 27
   9.11. EXTEND_RESPONSE  . . . . . . . . . . . . . . . . . . . . . 28
   9.12. FREE_REQUEST . . . . . . . . . . . . . . . . . . . . . . . 28
   9.13. FREE_RESPONSE  . . . . . . . . . . . . . . . . . . . . . . 29
   9.14. QUERY_REQUEST  . . . . . . . . . . . . . . . . . . . . . . 30
   9.15. QUERY_RESPONSE . . . . . . . . . . . . . . . . . . . . . . 31
   9.16. LISTEN_REQUEST . . . . . . . . . . . . . . . . . . . . . . 32
   9.17. LISTEN_RESPONSE  . . . . . . . . . . . . . . . . . . . . . 35
   10. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 36
   10.1. Use of Message Counters  . . . . . . . . . . . . . . . . . 36
   10.2. RSIP Host and Gateway Failure Scenarios  . . . . . . . . . 37
   10.3. General Gateway Policy . . . . . . . . . . . . . . . . . . 38
   10.4. Errors Not From the RSIP Protocol  . . . . . . . . . . . . 39
        
   10.5. Address and Port Requests and Allocation . . . . . . . . . 40
   10.6. Local Gateways and Flow Policy Interaction . . . . . . . . 40
   11. Security Considerations  . . . . . . . . . . . . . . . . . . 40
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . . 41
   13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 41
   14. Appendix A: RSIP Error Numbers . . . . . . . . . . . . . . . 42
   15. Appendix B: Message Types  . . . . . . . . . . . . . . . . . 44
   16. Appendix C: Example RSIP host/gateway transactions . . . . . 45
   17. Appendix D: Example RSIP host state diagram  . . . . . . . . 50
   18. References . . . . . . . . . . . . . . . . . . . . . . . . . 52
   19. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 53
   20. Full Copyright Statement . . . . . . . . . . . . . . . . . . 54
        
   10.5. Address and Port Requests and Allocation . . . . . . . . . 40
   10.6. Local Gateways and Flow Policy Interaction . . . . . . . . 40
   11. Security Considerations  . . . . . . . . . . . . . . . . . . 40
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . . 41
   13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 41
   14. Appendix A: RSIP Error Numbers . . . . . . . . . . . . . . . 42
   15. Appendix B: Message Types  . . . . . . . . . . . . . . . . . 44
   16. Appendix C: Example RSIP host/gateway transactions . . . . . 45
   17. Appendix D: Example RSIP host state diagram  . . . . . . . . 50
   18. References . . . . . . . . . . . . . . . . . . . . . . . . . 52
   19. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 53
   20. Full Copyright Statement . . . . . . . . . . . . . . . . . . 54
        
1. Introduction
1. 介绍

Network Address Translation (NAT) has gained popularity as a method of separating public and private address spaces, and alleviating network address shortages. A NAT translates the addresses of packets leaving a first routing realm to an address from a second routing realm, and performs the reverse function for packets entering the first routing realm from the second routing realm. This translation is performed transparently to the hosts in either space, and may include modification of TCP/UDP port numbers and IP addresses in packets that traverse the NAT.

网络地址转换(NAT)作为一种分离公共和私有地址空间、缓解网络地址短缺的方法,已经得到了广泛的应用。NAT将离开第一路由领域的数据包的地址转换为来自第二路由领域的地址,并对从第二路由领域进入第一路由领域的数据包执行反向功能。这种转换对任一空间中的主机都是透明的,并且可能包括修改穿越NAT的数据包中的TCP/UDP端口号和IP地址。

While a NAT does not require hosts to be aware of the translation, it will require an application layer gateway (ALG) for any protocol that transmits IP addresses or port numbers in packet payloads (such as FTP). Additionally, a NAT will not work with protocols that require IP addresses and ports to remain unmodified between the source and destination hosts, or protocols that prevent such modifications from occurring (such as some IPsec modes, or application-layer end-to-end encryption).

虽然NAT不要求主机知道转换,但对于任何在数据包有效负载(如FTP)中传输IP地址或端口号的协议,它都需要应用层网关(ALG)。此外,NAT将不适用于要求源主机和目标主机之间的IP地址和端口保持不变的协议,或防止此类修改发生的协议(如某些IPsec模式或应用层端到端加密)。

An alternative to a NAT is an architecture that allows the hosts within the first (e.g., private) routing realm to directly use addresses and other routing parameters from the second (e.g., public) routing realm. Thus, RSIP [RSIP-FRAME] has been defined as a method for address sharing that exhibits more transparency than NAT. In particular, RSIP requires that an RSIP gateway (a router or gateway between the two realms) assign at least one address from the second routing realm, and perhaps some other resources, to each RSIP host. An RSIP host is a host in the first routing realm that needs to establish end-to-end connectivity to a host, entity or device in the second routing realm. Thus, the second routing realm is not directly

NAT的替代方案是一种体系结构,它允许第一个(例如,私有)路由领域内的主机直接使用第二个(例如,公共)路由领域中的地址和其他路由参数。因此,RSIP[RSIP-FRAME]被定义为一种比NAT更透明的地址共享方法。具体而言,RSIP要求RSIP网关(两个域之间的路由器或网关)将第二个路由域中的至少一个地址,以及可能的一些其他资源分配给每个RSIP主机。RSIP主机是第一个路由领域中的主机,需要与第二个路由领域中的主机、实体或设备建立端到端连接。因此,第二个路由领域不是直接的

accessible from the RSIP host, but this system allows packets to maintain their integrity from the RSIP host to their destination. ALGs are not required in the RSIP gateway.

可从RSIP主机访问,但此系统允许数据包保持从RSIP主机到目的地的完整性。RSIP网关中不需要ALG。

RSIP requires that hosts be modified so that they place some number of layer three, layer four or other values from those assigned by the RSIP gateway in each packet bound for the second routing realm.

RSIP要求修改主机,以便它们在绑定到第二个路由领域的每个数据包中放置一些由RSIP网关分配的第三层、第四层或其他值。

This document discusses a method for assigning parameters to an RSIP host from an RSIP gateway. The requirements, scope, and applicability of RSIP, as well as its interaction with other layer 3 protocols, are discussed in a companion framework document [RSIP-FRAME]. Extensions to this protocol that enable end-to-end IPsec are discussed in [RSIP-IPSEC].

本文档讨论从RSIP网关向RSIP主机分配参数的方法。RSIP的要求、范围和适用性,以及它与其他第3层协议的交互,在配套框架文件[RSIP-FRAME]中进行了讨论。[RSIP-IPsec]中讨论了启用端到端IPsec的此协议扩展。

2. Specification of Requirements
2. 需求说明

The keywords "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "SHALL", "SHALL NOT", "MAY" and "MAY NOT" that appear in this document are to be interpreted as described in [RFC2119].

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

3. Terminology
3. 术语

Private Realm

私人领域

A routing realm that uses private IP addresses from the ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) specified in [RFC1918], or addresses that are non-routable from the Internet.

使用[RFC1918]中指定的范围(10.0.0.0/8172.16.0.0/12192.168.0.0/16)中的专用IP地址或不可从Internet路由的地址的路由领域。

Public Realm

公共领域

A routing realm with unique network addresses assigned by the Internet Assigned Number Authority (IANA) or an equivalent address registry.

具有唯一网络地址的路由领域,由Internet分配号码管理局(IANA)或等效地址注册表分配。

RSIP Host

RSIP主机

A host within the private realm that acquires publicly unique parameters from an RSIP gateway through the use of the RSIP client/server protocol.

私有领域中的主机,通过使用RSIP客户机/服务器协议从RSIP网关获取公共唯一参数。

RSIP Gateway

RSIP网关

A router situated on the boundary between a private realm and a public realm and owns one or more public IP addresses. An RSIP gateway is responsible for public parameter management and assignment to RSIP hosts. An RSIP gateway may act as a NAT router for hosts within the private realm that are not RSIP enabled.

位于私有域和公共域边界上的路由器,拥有一个或多个公共IP地址。RSIP网关负责公共参数管理和分配给RSIP主机。RSIP网关可以充当专用领域内未启用RSIP的主机的NAT路由器。

RSIP Client

RSIP客户端

An application program that performs the client portion of the RSIP client/server protocol. An RSIP client application MUST exist on all RSIP hosts, and MAY exist on RSIP gateways.

执行RSIP客户机/服务器协议的客户机部分的应用程序。RSIP客户端应用程序必须存在于所有RSIP主机上,并且可能存在于RSIP网关上。

RSIP Server

RSIP服务器

An application program that performs the server portion of the RSIP client/server protocol. An RSIP server application MUST exist on all RSIP gateways.

执行RSIP客户机/服务器协议的服务器部分的应用程序。RSIP服务器应用程序必须存在于所有RSIP网关上。

RSA-IP: Realm Specific Address IP

RSA-IP:领域特定地址IP

An RSIP method in which each RSIP host is allocated a unique IP address from the public realm. Discussed in detail in [RSIP-FRAME]

一种RSIP方法,其中每个RSIP主机从公共领域分配一个唯一的IP地址。在[RSIP-FRAME]中详细讨论

RSAP-IP: Realm Specific Address and Port IP

RSAP-IP:领域特定地址和端口IP

An RSIP method in which each RSIP host is allocated an IP address (possibly shared with other RSIP hosts) and some number of per-address unique ports from the public realm. Discussed in detail in [RSIP-FRAME]

一种RSIP方法,其中每个RSIP主机被分配一个IP地址(可能与其他RSIP主机共享)和一些来自公共领域的每个地址的唯一端口。在[RSIP-FRAME]中详细讨论

Binding

结合

An association of some combination of a local address, one or more local ports, a remote address, and a remote port with an RSIP host.

本地地址、一个或多个本地端口、远程地址和远程端口与RSIP主机的某种组合的关联。

Resource

资源

A general way to refer to an item that an RSIP host leases from an RSIP gateway; e.g., an address or port.

指RSIP主机从RSIP网关租用的项目的一般方式;e、 例如,地址或端口。

All other terminology found in this document is consistent with that of [RFC2663] and [RSIP-FRAME].

本文件中的所有其他术语与[RFC2663]和[RSIP-FRAME]的术语一致。

4. Architecture
4. 建筑学

For simplicity, in the remainder of this document we will assume that the RSIP hosts in the first routing realm (network) use private (e.g., see [RFC1918]) IP addresses, and that the second routing realm (network) uses public IP addresses. (This assumption is made without loss of generality and the ensuing discussion applies to more general

为简单起见,在本文档的其余部分中,我们将假设第一个路由领域(网络)中的RSIP主机使用私有(例如,请参阅[RFC1918])IP地址,而第二个路由领域(网络)使用公共IP地址。(这一假设是在不丧失普遍性的情况下作出的,随后的讨论适用于更一般的假设。)

cases.) The RSIP gateway connects the public and private realms and contains interfaces to both. Other NAT terminology found in this document is defined in [RFC2663].

RSIP网关连接公共和私有领域,并包含两者的接口。本文件中的其他NAT术语定义见[RFC2663]。

The diagram below describes an exemplary reference architecture for RSIP.

下图描述了RSIP的示例性参考体系结构。

RSIP Host RSIP Gateway Host

RSIP主机RSIP网关主机

         Xa                    Na   Nb                      Yb
      [X]------( Addr sp. A )----[N]-----( Addr sp. B )-------[Y]
               (  Network   )            (  Network   )
        
         Xa                    Na   Nb                      Yb
      [X]------( Addr sp. A )----[N]-----( Addr sp. B )-------[Y]
               (  Network   )            (  Network   )
        

Hosts X and Y belong to different addressing realms A and B, respectively, and N is an RSIP gateway (which may also perform NAT functions). N has two interfaces: Na on address space A, and Nb on address space B. N may have a pool of addresses in address space B which it can assign to or lend to X and other hosts in address space

主机X和Y分别属于不同的寻址域A和B,而N是RSIP网关(也可以执行NAT功能)。N有两个接口:地址空间A上的Na和地址空间B上的Nb。N在地址空间B上可能有一个地址池,它可以分配给或借出给地址空间中的X和其他主机

A. These addresses are not shown above, but they can be denoted as Nb1, Nb2, Nb3 and so on.

A.上述地址未显示,但可表示为Nb1、Nb2、Nb3等。

Host X, needing to establish an end-to-end connection to a network entity Y situated within address space B, first negotiates and obtains assignment of the resources from the RSIP gateway. Upon assignment of these parameters, the RSIP gateway creates a mapping, of X's addressing information and the assigned resources. This binding enables the RSIP gateway to correctly de-multiplex and forward inbound traffic generated by Y for X. A lease time is associated with each bind.

主机X需要建立到位于地址空间B内的网络实体Y的端到端连接,首先协商并从RSIP网关获得资源分配。分配这些参数后,RSIP网关将创建X的寻址信息和分配的资源的映射。此绑定使RSIP网关能够正确地解复用和转发Y为X生成的入站流量。每个绑定都有一个租用时间。

Using the public parameters assigned by the RSIP gateway, RSIP hosts tunnel data packets across address space A to the RSIP gateway. The RSIP gateway acts as the end point of such tunnels, stripping off the outer headers and routing the inner packets onto the public realm. As mentioned above, an RSIP gateway maintains a mapping of the assigned public parameters as demultiplexing fields for uniquely mapping them to RSIP host private addresses. When a packet from the public realm arrives at the RSIP gateway and it matches a given set of demultiplexing fields, then the RSIP gateway will tunnel it to the appropriate RSIP host. The tunnel headers of outbound packets from X to Y, given that X has been assigned Nb, are as follows:

使用RSIP网关分配的公共参数,RSIP通过地址空间A承载隧道数据包到RSIP网关。RSIP网关充当此类隧道的端点,剥离外部头并将内部数据包路由到公共领域。如上所述,RSIP网关将分配的公共参数的映射维护为解复用字段,以便将它们唯一地映射到RSIP主机专用地址。当来自公共领域的数据包到达RSIP网关并与给定的解复用字段集匹配时,RSIP网关将通过隧道将其传输到适当的RSIP主机。假设X已被分配Nb,则从X到Y的出站数据包的隧道头如下所示:

            +---------+---------+---------+
            | X -> Na | Nb -> Y | payload |
            +---------+---------+---------+
        
            +---------+---------+---------+
            | X -> Na | Nb -> Y | payload |
            +---------+---------+---------+
        

There are two basic flavors of RSIP: RSA-IP and RSAP-IP. RSIP hosts and gateways MUST support RSAP-IP and MAY support RSA-IP. Details of RSA-IP and RSAP-IP are found in [RSIP-FRAME].

RSIP有两种基本风格:RSA-IP和RSAP-IP。RSIP主机和网关必须支持RSAP-IP,并且可能支持RSA-IP。有关RSA-IP和RSAP-IP的详细信息,请参见[RSIP-FRAME]。

5. Transport Protocol
5. 传输协议

RSIP is an application layer protocol that requires the use of a transport layer protocol for end-to-end delivery of packets.

RSIP是一种应用层协议,需要使用传输层协议进行端到端的数据包传递。

RSIP gateways MUST support TCP, and SHOULD support UDP. Due to the fact that RSIP may be deployed across a wide variety of network links, RSIP hosts SHOULD support TCP, because of TCP's robustness across said variety of links. However, RSIP hosts MAY support UDP instead of TCP, or both UDP and TCP.

RSIP网关必须支持TCP,并且应该支持UDP。由于RSIP可以部署在各种各样的网络链路上,RSIP主机应该支持TCP,因为TCP在各种链路上都很健壮。但是,RSIP主机可能支持UDP而不是TCP,或者同时支持UDP和TCP。

For RSIP hosts and gateways using UDP, timeout and retransmissions MUST occur. We recommend a binary exponential backoff scheme with an initial duration of 12.5 ms, and a maximum of six retries (seven total attempts before failure). However, these parameters MAY be adjusted or tuned for specific link types or scenarios.

对于使用UDP的RSIP主机和网关,必须发生超时和重新传输。我们建议采用二进制指数退避方案,初始持续时间为12.5 ms,最多重试六次(失败前总共尝试七次)。但是,这些参数可以针对特定的链路类型或场景进行调整或调优。

Once a host and gateway have established a registration using either TCP or UDP, they may not switch between the two protocols for the duration of the registration. The decision of whether to use TCP or UDP is made by the client, and is determined by the transport protocol of the first packet sent by a client in a successful registration procedure.

一旦主机和网关使用TCP或UDP建立了注册,它们就不能在注册期间在这两个协议之间切换。是否使用TCP或UDP的决定由客户端做出,并由成功注册过程中客户端发送的第一个数据包的传输协议决定。

6. Host / Gateway Relationships
6. 主机/网关关系

An RSIP host can be in exactly one of three fundamental relationships with respect to an RSIP gateway:

相对于RSIP网关,RSIP主机可以正好处于三种基本关系之一:

Unregistered: The RSIP gateway does not know of the RSIP host's existence, and it will not forward or deliver globally addressed packets on behalf of the host. The only valid RSIP-related action for an RSIP host to perform in this state is to request registration with an RSIP gateway.

未注册:RSIP网关不知道RSIP主机的存在,并且不会代表主机转发或传递全局寻址的数据包。RSIP主机在此状态下执行的唯一有效RSIP相关操作是请求向RSIP网关注册。

Registered: The RSIP gateway knows of the RSIP host and has assigned it a client ID and has specified the flow policies that it requires of the host. However, no resources, such as addresses or ports, have been allocated to the host, and the gateway will not forward or deliver globally addressed packets on behalf of the host. All registrations have an associated lease time. If this lease time expires, the RSIP host automatically reverts to the unregistered state.

已注册:RSIP网关知道RSIP主机,并已为其分配客户端ID,并已指定其要求的主机流策略。但是,没有为主机分配任何资源,例如地址或端口,网关不会代表主机转发或传递全局寻址的数据包。所有注册都有相关的租赁时间。如果此租约到期,RSIP主机将自动恢复为未注册状态。

Assigned: The RSIP gateway has granted one or more bindings of resources to the host. The gateway will forward and deliver globally addressed packets on behalf of the host. Each binding has an associated lease time. If this lease time expires, the binding is automatically revoked.

已分配:RSIP网关已将一个或多个资源绑定授予主机。网关将代表主机转发和交付全局寻址的数据包。每个绑定都有一个关联的租用时间。如果此租约到期,则绑定将自动撤销。

Architectures in which an RSIP host is simultaneously registered with more than one RSIP gateway are possible. In such cases, an RSIP host may be in different relationships with different RSIP gateways at the same time.

RSIP主机同时向多个RSIP网关注册的体系结构是可能的。在这种情况下,RSIP主机可能同时与不同的RSIP网关处于不同的关系中。

An RSIP gateway MAY redirect an RSIP host to use a tunnel endpoint for data traffic that is not the RSIP gateway itself, or perhaps is a different interface on the RSIP gateway. This is done by specifying the tunnel endpoint's address as part of an assignment. In such an architecture, it is desirable (though not necessary) for the RSIP gateway to have a method with which to notify the tunnel endpoint of assignments, and the expiration status of these assignments.

RSIP网关可以重定向RSIP主机,以使用隧道端点进行数据通信,该数据通信不是RSIP网关本身,或者可能是RSIP网关上的不同接口。这是通过将隧道端点的地址指定为赋值的一部分来完成的。在这样的体系结构中,RSIP网关希望(尽管不是必需的)具有一种方法,用于通知隧道端点分配以及这些分配的到期状态。

Lease times for bindings and registrations are managed as follows. All lease times are given in units of seconds from the current time, indicating a time in the future at which the lease will expire. These expiration times are used in the ensuing discussion.

绑定和注册的租赁时间管理如下。从当前时间开始,所有租赁时间都以秒为单位,表示未来租赁到期的时间。在接下来的讨论中使用这些过期时间。

An initial expiration time (R) is given to a registration. Under this registration, multiple bindings may be established, each with their own expiration times (B1, B2, ...). When each binding is established or extended, the registration expiration time is adjusted so that the registration will last at least as long as the longest lease. In other words, when binding Bi is established or extended, the following calculation is performed: R = max(R, Bi).

初始到期时间(R)被赋予注册。在此注册下,可以建立多个绑定,每个绑定都有自己的过期时间(B1、B2、…)。当建立或延长每个约束时,将调整注册到期时间,以使注册至少与最长租约一样长。换句话说,当绑定Bi被建立或扩展时,执行以下计算:R=max(R,Bi)。

Under this scheme, a registration will never expire while any binding's lease is still valid. However, a registration may expire when the last binding's lease expires, or at some point thereafter.

根据这项计划,在任何绑定的租约仍然有效的情况下,注册将永远不会过期。但是,注册可能在最后一个绑定的租约到期时到期,或者在之后的某个时间点到期。

7. Gateway Flow Policy and State
7. 网关流策略和状态

Since an RSIP gateway is likely to reside on the boundary between two or more different administrative domains, it is desirable to enable an RSIP gateway to be able to enforce flow-based policy. In other words, an RSIP gateway should have the ability to explicitly control which local addresses and ports are used to communicate with remote addresses and ports.

由于RSIP网关可能位于两个或多个不同管理域之间的边界上,因此希望使RSIP网关能够实施基于流的策略。换句话说,RSIP网关应该能够显式控制使用哪些本地地址和端口与远程地址和端口通信。

In the following, macro-flow policy refers to controlling flow policy at the granularity level of IP addresses, while micro-flow policy refers to controlling flow policy at the granularity of IP address

在下文中,宏流策略是指在IP地址的粒度级别控制流策略,而微流策略是指在IP地址的粒度级别控制流策略

and port tuples. Of course there may be no policy at all, which indicates that the RSIP gateway does not care about the flow parameters used by RSIP hosts. We consider two levels of local flow policy and three levels of remote flow policy.

和端口元组。当然,可能根本没有任何策略,这表明RSIP网关不关心RSIP主机使用的流参数。我们考虑两个级别的局部流策略和三个级别的远程流策略。

7.1. Local Flow Policy
7.1. 本地流策略

Local flow policy determines the granularity of control that an RSIP gateway has over the local addressing parameters that an RSIP host uses for particular sessions.

本地流策略确定RSIP网关对RSIP主机用于特定会话的本地寻址参数的控制粒度。

Since an RSIP host must use at least an IP address allocated by the gateway, the loosest level of local flow policy is macro-flow based. Under local macro-flow policy, an RSIP host is allocated an IP address (RSA-IP) or an IP address and one or more ports to use with it (RSAP-IP). However, the host may use the ports as it desires for establishing sessions with public hosts.

由于RSIP主机必须至少使用网关分配的IP地址,因此本地流策略的最宽松级别是基于宏流的。在本地宏流策略下,为RSIP主机分配一个IP地址(RSA-IP)或一个IP地址以及一个或多个要与其一起使用的端口(RSAP-IP)。然而,主机可以使用端口,因为它希望与公共主机建立会话。

Under micro-flow policy, a host is allocated exactly one port at a time. The host may request more ports, also one at a time. This policy gives the gateway very tight control over local port use, although it affords the host less flexibility.

在微流策略下,主机一次只分配一个端口。主机可以请求更多端口,也可以一次请求一个。此策略使网关能够非常严格地控制本地端口的使用,尽管它为主机提供了较少的灵活性。

Note that only local macro-flow policy can be used with RSA-IP, while either local macro-flow or local micro-flow policy may be used with RSAP-IP.

请注意,RSA-IP只能使用本地宏流策略,而RSAP-IP可以使用本地宏流或本地微流策略。

Examples of how RSIP flow policy operates are given in Appendix C.

附录C中给出了RSIP流量策略如何运行的示例。

7.2. Remote Flow Policy
7.2. 远程流策略

Remote flow policy determines the granularity of control that an RSIP gateway has over the remote (public) hosts with which an RSIP host communicates. In particular, remote flow policy dictates what level of detail that a host must specify addressing parameters of a remote host or application before the RSIP gateway allows the host to communicate with that host or application.

远程流策略确定RSIP网关对RSIP主机与之通信的远程(公共)主机的控制粒度。特别是,远程流策略规定了主机在RSIP网关允许主机与该主机或应用程序通信之前必须指定远程主机或应用程序的寻址参数的详细程度。

The simplest and loosest form of flow policy is no policy at all. In other words, the RSIP gateway allocates addressing parameters to the host, and the host may use these parameters to communicate with any remote host, without explicitly notifying the gateway.

最简单、最松散的流量策略形式是完全没有策略。换句话说,RSIP网关向主机分配寻址参数,主机可以使用这些参数与任何远程主机通信,而无需明确通知网关。

Macro-flow policy requires that the host identify the remote address of the host that it wishes to communicate with as part of its request for local addressing parameters. If the request is granted, the host MUST use the specified local parameters only with the remote address specified, and MUST NOT communicate with the remote address using any

宏流策略要求主机标识其希望与其通信的主机的远程地址,作为其本地寻址参数请求的一部分。如果请求被授予,则主机必须仅使用指定的远程地址使用指定的本地参数,并且不得使用任何

local parameters but the ones allocated. However, the host may contact any port number at the remote host without explicitly notifying the gateway.

本地参数,但不包括已分配的参数。但是,主机可以联系远程主机上的任何端口号,而无需明确通知网关。

Micro-flow policy requires that the host identify the remote address and port of the host that it wishes to communicate with as part of its request for local addressing parameters. If the request is granted, the host MUST use the specified local parameters only with the remote address and port specified, and MUST NOT communicate with the remote address and port using any local parameters but the ones allocated.

Micro flow策略要求主机识别其希望与其通信的主机的远程地址和端口,作为其本地寻址参数请求的一部分。如果请求被批准,主机必须仅在指定远程地址和端口的情况下使用指定的本地参数,并且不得使用任何本地参数(分配的参数除外)与远程地址和端口通信。

Remote flow policy is implemented in both the ingress and egress directions, with respect to the location of the RSIP gateway.

根据RSIP网关的位置,在入口和出口方向上实施远程流策略。

7.3. Gateway State
7.3. 网关状态

An RSIP gateway must maintain state for all RSIP hosts and their assigned resources. The amount and type of state maintained depends on the local and remote flow policy. The required RSIP gateway state will vary based on the RSIP method, but will always include the chosen method's demultiplexing parameters.

RSIP网关必须维护所有RSIP主机及其分配资源的状态。维护的状态的数量和类型取决于本地和远程流策略。所需的RSIP网关状态将根据RSIP方法而变化,但始终包括所选方法的解复用参数。

7.3.1. RSA-IP State
7.3.1. RSA-IP状态

An RSIP gateway serving an RSIP host using the RSA-IP method MUST maintain the following minimum state to ensure proper mapping of incoming packets to RSIP hosts:

使用RSA-IP方法为RSIP主机提供服务的RSIP网关必须保持以下最低状态,以确保传入数据包正确映射到RSIP主机:

- Host's private address - Host's assigned public address(es)

- 主机的专用地址-主机分配的公用地址

7.3.2. RSAP-IP State
7.3.2. RSAP-IP状态

An RSIP gateway serving an RSIP host using the RSAP-IP method MUST maintain the following minimum state to ensure proper mapping of incoming packets to RSIP hosts:

使用RSAP-IP方法为RSIP主机提供服务的RSIP网关必须保持以下最低状态,以确保传入数据包正确映射到RSIP主机:

- Host's private address - Host's assigned public address(es) - Host's assigned port(s) per address

- 主机的专用地址-主机分配的公共地址-每个地址的主机分配的端口

7.3.3. Flow State
7.3.3. 流动状态

Regardless of whether the gateway is using RSA-IP or RSAP-IP, additional state is necessary if either micro-flow based or macro-flow based remote policy is used.

无论网关使用的是RSA-IP还是RSAP-IP,如果使用基于微流或基于宏流的远程策略,则需要附加状态。

If the gateway is using macro-flow based remote policy, the following state must be maintained:

如果网关使用基于宏流的远程策略,则必须保持以下状态:

- Remote host's address

- 远程主机地址

If the gateway is using micro-flow based remote policy, the following state must be maintained:

如果网关使用基于微流的远程策略,则必须保持以下状态:

- Remote host's address - Remote host's port

- 远程主机的地址-远程主机的端口

More state MAY be used by an RSIP gateway if desired. For example, ToS/DS bytes may be recorded in order to facilitate quality of service support.

如果需要,RSIP网关可以使用更多状态。例如,为了促进服务质量支持,可以记录ToS/DS字节。

8. Parameter Specification and Formats
8. 参数说明和格式

In this section we define the formats for RSIP parameters. Each RSIP message contains one or more parameters that encode the information passed between the host and gateway. The general format of all parameters is TLV (type-length-value) consisting of a 1-byte type followed by a 2-byte length followed by a 'length' byte value as shown below.

在本节中,我们定义RSIP参数的格式。每个RSIP消息包含一个或多个参数,这些参数对主机和网关之间传递的信息进行编码。所有参数的一般格式为TLV(类型长度值),由1字节类型、2字节长度和“长度”字节值组成,如下所示。

    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      |            Length             |     Value     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Value ...
   +-+-+-+-+-+-+-+-+-+-+-+
        
    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      |            Length             |     Value     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Value ...
   +-+-+-+-+-+-+-+-+-+-+-+
        

The value field may be divided into a number of other fields as per the type of the parameter. Note that the length field encodes the number of bytes in the value field, NOT the overall number of bytes in the parameter.

值字段可以根据参数的类型划分为多个其他字段。请注意,长度字段编码值字段中的字节数,而不是参数中的总字节数。

8.1. Address
8.1. 住址
    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 = 1   |            Length             |    Addrtype   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Address...
   +-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 1   |            Length             |    Addrtype   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Address...
   +-+-+-+-+-+-+-+-+-+-+-+
        

The address parameter contains addressing information, either an IPv4 address or netmask, an IPv6 address or netmask, or a fully qualified domain name (FQDN). The Addrtype field is 1 byte in length, indicating the type of address.

address参数包含寻址信息,可以是IPv4地址或网络掩码,也可以是IPv6地址或网络掩码,或者是完全限定域名(FQDN)。Addrtype字段的长度为1字节,表示地址的类型。

             Addrtype       Length of address field (in bytes)
             ----           --------------------------------
      0      Reserved       0
      1      IPv4           4
      2      IPv4 netmask   4
      3      IPv6           16
      4      FQDN           varies
        
             Addrtype       Length of address field (in bytes)
             ----           --------------------------------
      0      Reserved       0
      1      IPv4           4
      2      IPv4 netmask   4
      3      IPv6           16
      4      FQDN           varies
        

For FQDN (Fully qualified domain name), the length of the address field will be one less than the value of the length field, and the name will be represented as an ASCII string (no terminating character).

对于FQDN(完全限定域名),地址字段的长度将比长度字段的值小一个,并且名称将表示为ASCII字符串(无终止字符)。

In some cases, it is necessary to specify a "don't care" value for an address. This is signified by a setting the length field to 1 and omitting the value field.

在某些情况下,有必要为地址指定“不在乎”值。这通过将长度字段设置为1并省略值字段来表示。

It is not valid for a host to request an address with an FQDN type as its local address (See specification of ASSIGN_REQUEST_RSA-IP and ASSIGN_REQUEST_RSAP-IP, below).

主机请求FQDN类型为其本地地址的地址是无效的(请参阅下面的ASSIGN_request_RSA-IP和ASSIGN_request_RSAP-IP规范)。

8.2. Ports
8.2. 港口
    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 = 2   |            Length             |     Number    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Port number         |  ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 2   |            Length             |     Number    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Port number         |  ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The ports parameter encodes zero or more TCP or UDP ports. When a single port is specified, the value of the number field is 1 and there is one port field following the number field. When more than one port is specified, the value of the number field will indicate the total number of ports contained, and the parameter may take one of two forms. If there is one port field, the ports specified are considered to be contiguous starting at the port number specified in the port field. Alternatively, there may be a number of port fields equal to the value of the number field. The number of port fields can be extrapolated from the length field.

ports参数对零个或多个TCP或UDP端口进行编码。指定单个端口时,数字字段的值为1,数字字段后面有一个端口字段。当指定了多个端口时,number字段的值将指示包含的端口总数,参数可以采用两种形式之一。如果有一个端口字段,则指定的端口从端口字段中指定的端口号开始视为连续。或者,可能有许多端口字段等于数字字段的值。端口字段的数量可以从长度字段中推断出来。

In some cases, it is necessary to specify a don't care value for one or more ports (e.g., when a client application is using ephemeral source ports). This is accomplished by setting the length field to 1, setting the number field to the number of ports necessary, and omitting all port fields. The value of the number field MUST be greater than or equal to one.

在某些情况下,有必要为一个或多个端口指定不关心值(例如,当客户端应用程序使用临时源端口时)。这是通过将长度字段设置为1、将数字字段设置为所需的端口数以及省略所有端口字段来实现的。数字字段的值必须大于或等于1。

If micro-flow based policy applies to a given ports parameter, it MUST contain exactly one port field.

如果基于微流的策略应用于给定的端口参数,则该参数必须仅包含一个端口字段。

8.3. Lease Time
8.3. 租赁时间
    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 = 3   |          Length = 4           |   Lease time  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Lease time                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 3   |          Length = 4           |   Lease time  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Lease time                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The lease time parameter specifies the length, in seconds, of an RSIP host registration or parameter binding.

租约时间参数指定RSIP主机注册或参数绑定的长度(以秒为单位)。

8.4. Client ID
8.4. 客户端ID
    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 = 4   |          Length = 4           |   Client ID   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Client ID                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 4   |          Length = 4           |   Client ID   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Client ID                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The client ID parameter specifies an RSIP client ID. Client ID's by an RSIP gateway to differentiate RSIP hosts.

客户端ID参数指定RSIP客户端ID。RSIP网关的客户端ID用于区分RSIP主机。

8.5. Bind ID
8.5. 绑定ID
    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 = 5   |          Length = 4           |    Bind ID    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Bind ID                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 5   |          Length = 4           |    Bind ID    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Bind ID                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The bind ID parameter specifies an RSIP bind ID. Bind ID's are used by RSIP hosts and gateways to differentiate an RSIP host's bindings.

bind ID参数指定RSIP绑定ID。RSIP主机和网关使用绑定ID来区分RSIP主机的绑定。

8.6. Tunnel Type
8.6. 隧道式
    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 = 6   |          Length = 1           |  Tunnel type  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 6   |          Length = 1           |  Tunnel type  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The tunnel type parameter specifies the type of tunnel used between an RSIP host and an RSIP gateway. Defined tunnel types are:

隧道类型参数指定RSIP主机和RSIP网关之间使用的隧道类型。定义的隧道类型包括:

             Tunnel Type
             -----------
      0      Reserved
      1      IP-IP
      2      GRE
      3      L2TP
        
             Tunnel Type
             -----------
      0      Reserved
      1      IP-IP
      2      GRE
      3      L2TP
        
8.7. RSIP Method
8.7. RSIP法
    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 = 7   |          Length = 1           |  RSIP method  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 7   |          Length = 1           |  RSIP method  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The RSIP method parameter specifies an RSIP method. Defined RSIP methods are:

RSIP方法参数指定RSIP方法。定义的RSIP方法包括:

             RSIP method
             -----------
      0      Reserved
      1      RSA-IP
      2      RSAP-IP
        
             RSIP method
             -----------
      0      Reserved
      1      RSA-IP
      2      RSAP-IP
        
8.8. Error
8.8. 错误
    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 = 8   |          Length = 2           |     Error     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Error     |
   +-+-+-+-+-+-+-+-+
        
    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 = 8   |          Length = 2           |     Error     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Error     |
   +-+-+-+-+-+-+-+-+
        

The error parameter specifies an error. The currently defined error values are presented in Appendix A.

error参数指定一个错误。附录A中给出了当前定义的误差值。

8.9. Flow Policy
8.9. 流量策略
    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 = 9   |          Length = 2           |     Local     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Remote     |
   +-+-+-+-+-+-+-+-+
        
    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 = 9   |          Length = 2           |     Local     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Remote     |
   +-+-+-+-+-+-+-+-+
        

The flow policy parameter specifies both the local and remote flow policy.

流策略参数指定本地和远程流策略。

Defined local flow policies are:

定义的本地流策略包括:

             Local Flow Policy
             -----------------
      0      Reserved
      1      Macro flows
      2      Micro flows
        
             Local Flow Policy
             -----------------
      0      Reserved
      1      Macro flows
      2      Micro flows
        

Defined remote flow policies are:

定义的远程流策略包括:

             Remote Flow Policy
             ------------------
      0      Reserved
      1      Macro flows
      2      Micro flows
      3      No policy
        
             Remote Flow Policy
             ------------------
      0      Reserved
      1      Macro flows
      2      Micro flows
      3      No policy
        
8.10. Indicator
8.10. 指示信号
    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 = 10  |          Length = 2           |     Value     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Value     |
   +-+-+-+-+-+-+-+-+
        
    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 = 10  |          Length = 2           |     Value     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Value     |
   +-+-+-+-+-+-+-+-+
        

An indicator parameter is a general-purpose parameter, the use of which is defined by the message that it appears in. An RSIP message that uses an indicator parameter MUST define the meaning and interpretation of all of the indicator's possible values.

指示器参数是一个通用参数,其使用由其出现在中的消息定义。使用指标参数的RSIP消息必须定义指标所有可能值的含义和解释。

8.11. Message Counter
8.11. 消息计数器
    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 = 11  |          Length = 4           |     Counter   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Counter                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 11  |          Length = 4           |     Counter   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Counter                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

A message counter parameter is used to mark RSIP messages with sequentially-increasing values. Message counters MUST be used with UDP, in order to facilitate reliability.

message counter参数用于用顺序递增的值标记RSIP消息。消息计数器必须与UDP一起使用,以提高可靠性。

8.12. Vendor Specific Parameter
8.12. 供应商特定参数
    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 = 12  |            Length             |    Vendor ID  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Vendor ID  |            Subtype            |    Value...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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 = 12  |            Length             |    Vendor ID  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Vendor ID  |            Subtype            |    Value...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The vendor specific parameter is used to encode parameters that are defined by a particular vendor. The vendor ID field is the vendor-specific ID assigned by IANA. Subtypes are defined and used by each vendor as necessary. An RSIP host or gateway SHOULD silently ignore vendor-specific messages that it does not understand.

特定于供应商的参数用于对特定供应商定义的参数进行编码。供应商ID字段是IANA分配的供应商特定ID。子类型由每个供应商根据需要定义和使用。RSIP主机或网关应该静默地忽略它不理解的特定于供应商的消息。

9. Message Types
9. 消息类型

RSIP messages consist of three mandatory fields, version, message type, and overall length, followed by one or more required parameters, followed in turn by zero or more optional parameters. In an RSIP message, all required parameters MUST appear in the exact order specified below. Optional parameters MAY appear in any order. Message format is shown below:

RSIP消息由三个必填字段组成:版本、消息类型和总长度,后跟一个或多个必需参数,再后跟零个或多个可选参数。在RSIP消息中,所有必需的参数必须按照下面指定的确切顺序显示。可选参数可以以任何顺序出现。消息格式如下所示:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message type |         Overall length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Parameters...
   +-+-+-+-+-+-+-+-+-+-+
        
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message type |         Overall length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Parameters...
   +-+-+-+-+-+-+-+-+-+-+
        

The version number field is a single byte and specifies the RSIP version number that is being used. The current RSIP version number is 1.

版本号字段是一个单字节,指定正在使用的RSIP版本号。当前RSIP版本号为1。

The message type field is a single byte and specifies the message contained in the current packet. There may be only one message per packet. Message types are given numerical assignments in Appendix B.

消息类型字段是一个字节,指定当前数据包中包含的消息。每个数据包可能只有一条消息。附录B中给出了消息类型的数字赋值。

The overall length field is two bytes and contains the number of bytes in the RSIP message, including the three mandatory fields.

“总长度”字段是两个字节,包含RSIP消息中的字节数,包括三个必填字段。

Most parameters are only allowed to appear once in each message. The exceptions are as follows:

大多数参数在每条消息中只允许出现一次。例外情况如下:

- Multiple address parameters MUST appear in ASSIGN_REQUEST_RSA-IP, ASSIGN_RESPONSE_RSA-IP, ASSIGN_REQUEST_RSAP-IP, ASSIGN_RESPONSE_RSAP-IP, LISTEN_REQUEST and LISTEN_RESPONSE.

- 多个地址参数必须出现在ASSIGN_REQUEST_RSA-IP、ASSIGN_RESPONSE_RSA-IP、ASSIGN_REQUEST_RSAP-IP、ASSIGN_RESPONSE_RSAP-IP、LISTEN_REQUEST和LISTEN_RESPONSE中。

- Multiple ports parameters MUST appear in ASSIGN_REQUEST_RSAP-IP, ASSIGN_RESPONSE_RSAP-IP, LISTEN_REQUEST and LISTEN_RESPONSE.

- 多端口参数必须出现在ASSIGN_REQUEST_RSAP-IP、ASSIGN_RESPONSE_RSAP-IP、LISTEN_REQUEST和LISTEN_RESPONSE中。

- Multiple RSIP method and tunnel type parameters MAY appear in RESISTER_RESPONSE.

- 电阻响应中可能出现多个RSIP方法和隧道类型参数。

- Multiple address parameters and multiple indicator parameters MAY appear in QUERY_REQUEST and QUERY_RESPONSE.

- 查询请求和查询响应中可能会出现多个地址参数和多个指示符参数。

The following message types are defined in BNF. Required parameters are enclosed in <> and MUST appear. Optional parameters are enclosed in [] and MAY appear. Not all message types need to be implemented in order to be RSIP compliant. For example, an RSIP host and/or gateway may not support LISTEN_REQUEST and LISTEN_RESPONSE, or may only support RSAP-IP and not RSA-IP.

BNF中定义了以下消息类型。所需参数包含在<>中,必须显示。可选参数包含在[]中,可能会出现。并非所有消息类型都需要实现才能符合RSIP。例如,RSIP主机和/或网关可能不支持侦听请求和侦听响应,或者可能只支持RSAP-IP而不支持RSA-IP。

9.1. ERROR_RESPONSE
9.1. 错误响应
9.1.1. Description
9.1.1. 描述

An ERROR_RESPONSE is used to provide error messages from an RSIP gateway to an RSIP host. Usually, errors indicate that the RSIP gateway cannot or will not perform an action or allocate resources on behalf of the host. If the error is related to a particular client ID or bind ID, these associated parameters MUST be included. Multiple errors MAY NOT be reported in the same ERROR_RESPONSE. In situations where more than one error has occurred, the RSIP gateway MUST choose only one error to report.

错误_响应用于从RSIP网关向RSIP主机提供错误消息。通常,错误表示RSIP网关不能或不会代表主机执行操作或分配资源。如果错误与特定的客户端ID或绑定ID相关,则必须包括这些相关参数。在同一个错误\u响应中可能不会报告多个错误。在发生多个错误的情况下,RSIP网关必须只选择一个要报告的错误。

9.1.2. Format
9.1.2. 总体安排
   <ERROR_RESPONSE> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Error>
                        [Message Counter]
                        [Client ID]
                        [Bind ID]
        
   <ERROR_RESPONSE> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Error>
                        [Message Counter]
                        [Client ID]
                        [Bind ID]
        
9.1.3. Behavior
9.1.3. 行为

An ERROR_RESPONSE message MUST only be transmitted by an RSIP gateway. An RSIP host that detects an error in a message received from an RSIP gateway MUST silently discard the message. There are no error conditions that can be caused by an ERROR_RESPONSE. An ERROR_RESPONSE is typically transmitted in response to a request from an RSIP host, but also may be transmitted asynchronously by an RSIP gateway.

错误_响应消息只能由RSIP网关传输。在从RSIP网关接收的消息中检测到错误的RSIP主机必须以静默方式放弃该消息。不存在由错误\u响应引起的错误情况。错误_响应通常是响应RSIP主机的请求而传输的,但也可以由RSIP网关异步传输。

9.2. REGISTER_REQUEST
9.2. 注册请求
9.2.1. Description
9.2.1. 描述

The REGISTER_REQUEST message is used by an RSIP host to establish registration with an RSIP gateway. An RSIP host MUST register before it requests resources or services from an RSIP gateway. Once an RSIP host has registered with an RSIP gateway, it may not register again until it has de-registered from that gateway.

RSIP主机使用REGISTER_请求消息建立与RSIP网关的注册。RSIP主机必须先注册,然后才能从RSIP网关请求资源或服务。一旦RSIP主机向RSIP网关注册,它可能不会再次注册,直到它从该网关注销。

9.2.2. Format
9.2.2. 总体安排
   <REGISTER_REQUEST> ::= <Version>
                          <Message Type>
                          <Overall Length>
                          [Message Counter]
        
   <REGISTER_REQUEST> ::= <Version>
                          <Message Type>
                          <Overall Length>
                          [Message Counter]
        
9.2.3. Behavior
9.2.3. 行为

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is already registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the ALREADY_REGISTERED error and the RSIP host's client ID.

- 如果主机已向网关注册,网关必须以包含已注册错误和RSIP主机的客户端ID的错误响应进行响应。

- If the gateway's policy will not allow the host to register, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTRATION_DENIED error.

- 如果网关的策略不允许主机注册,则网关必须以包含注册被拒绝错误的错误\u响应进行响应。

9.3. REGISTER_RESPONSE
9.3. 寄存器u响应
9.3.1. Description
9.3.1. 描述

The REGISTER_RESPONSE message is used by an RSIP gateway to confirm the registration of an RSIP host, and to provide a client ID, flow policy, and possibly a message counter and one or more RSIP methods and/or tunnel types.

RSIP网关使用REGISTER_响应消息来确认RSIP主机的注册,并提供客户端ID、流策略、可能的消息计数器以及一个或多个RSIP方法和/或隧道类型。

9.3.2. Format
9.3.2. 总体安排
   <REGISTER_RESPONSE> ::= <Version>
                           <Message Type>
                           <Overall Length>
                           <Client ID>
                           <Lease time>
                           <Flow Policy>
                           [Message Counter]
                           [RSIP Method]...
                           [Tunnel Type]...
        
   <REGISTER_RESPONSE> ::= <Version>
                           <Message Type>
                           <Overall Length>
                           <Client ID>
                           <Lease time>
                           <Flow Policy>
                           [Message Counter]
                           [RSIP Method]...
                           [Tunnel Type]...
        
9.3.3. Behavior
9.3.3. 行为

An RSIP gateway MUST assign a different client ID to each host that is simultaneously registered with it. The RSIP gateway MAY respond with one or more RSIP methods and tunnel types that it supports. If an RSIP method is not specified, RSAP-IP MUST be assumed. If a tunnel type is not specified, IP-IP MUST be assumed.

RSIP网关必须为同时向其注册的每个主机分配不同的客户端ID。RSIP网关可以使用其支持的一个或多个RSIP方法和隧道类型进行响应。如果未指定RSIP方法,则必须假定RSAP-IP。如果未指定隧道类型,则必须假定为IP-IP。

9.4. DE-REGISTER_REQUEST
9.4. 取消注册请求
9.4.1. Description
9.4.1. 描述

The DE-REGISTER_REQUEST message is used by an RSIP host to de-register with an RSIP gateway. If a host de-registers from the assigned state, all of the host's bindings are revoked. The host SHOULD NOT de-register from the unregistered state.

RSIP主机使用注销请求消息向RSIP网关注销。如果主机从已分配状态取消注册,则主机的所有绑定都将被撤销。主机不应从未注册状态取消注册。

9.4.2. Format
9.4.2. 总体安排
   <DE-REGISTER_REQUEST> ::= <Version>
                             <Message Type>
                             <Overall Length>
                             <Client ID>
                             [Message Counter]
        
   <DE-REGISTER_REQUEST> ::= <Version>
                             <Message Type>
                             <Overall Length>
                             <Client ID>
                             [Message Counter]
        
9.4.3. Behavior
9.4.3. 行为

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

If there are no errors that result from this message, the gateway MUST respond with an appropriate DE-REGISTER_RESPONSE. Upon de-registering a host, an RSIP gateway must delete all binds associated with that host and return their resources to the pool of free resources. Once a host has de-registered, it may not use any of the RSIP gateway's resources without registering again.

如果此消息未导致任何错误,网关必须以适当的取消注册响应进行响应。注销主机后,RSIP网关必须删除与该主机关联的所有绑定,并将其资源返回到可用资源池。一旦主机取消注册,它可能不会使用RSIP网关的任何资源而不重新注册。

9.5. DE-REGISTER_RESPONSE
9.5. 去寄存器响应
9.5.1. Description
9.5.1. 描述

The DE-REGISTER_RESPONSE message is used by an RSIP gateway to confirm the de-registration of an RSIP host or to force an RSIP host to relinquish all of its bindings and terminate its relationship with the RSIP gateway. Upon receiving a DE-REGISTER_RESPONSE message, an RSIP host MUST stop all use of the resources that have been allocated to it by the gateway.

RSIP网关使用解除注册_响应消息来确认RSIP主机的解除注册,或强制RSIP主机放弃其所有绑定并终止其与RSIP网关的关系。在接收到注销响应消息后,RSIP主机必须停止使用网关分配给它的所有资源。

9.5.2. Format
9.5.2. 总体安排
   <DE-REGISTER_RESPONSE> ::= <Version>
                              <Message Type>
                              <Overall Length>
                              <Client ID>
                              [Message Counter]
        
   <DE-REGISTER_RESPONSE> ::= <Version>
                              <Message Type>
                              <Overall Length>
                              <Client ID>
                              [Message Counter]
        
9.5.3. Behavior
9.5.3. 行为

An RSIP gateway MUST send a DE-REGISTER_RESPONSE in response to a valid DE-REGISTER_REQUEST. An RSIP gateway MUST send a DE-REGISTER_RESPONSE to an RSIP host when that host's registration lease time times out. An RSIP gateway SHOULD send a DE-REGISTER_RESPONSE if it detects that it will no longer be able to perform RSIP functionality for a given host. An RSIP host MUST be ready to accept a DE-REGISTER_RESPONSE at any moment.

RSIP网关必须发送取消注册响应以响应有效的取消注册请求。当RSIP主机的注册租用时间超时时,RSIP网关必须向该主机发送取消注册\u响应。如果RSIP网关检测到它将无法再为给定主机执行RSIP功能,则应发送取消注册_响应。RSIP主机必须随时准备接受注销响应。

9.6. ASSIGN_REQUEST_RSA-IP
9.6. 分配\u请求\u RSA-IP
9.6.1. Description
9.6.1. 描述

The ASSIGN_REQUEST_RSA-IP message is used by an RSIP host to request resources to use with RSA-IP. Note that RSA-IP cannot be used in combination with micro-flow based local policy.

RSIP主机使用ASSIGN_REQUEST_RSA-IP消息请求与RSA-IP一起使用的资源。请注意,RSA-IP不能与基于微流的本地策略结合使用。

9.6.2. Format
9.6.2. 总体安排
   <ASSIGN_REQUEST_RSA-IP> ::= <Version>
                               <Message Type>
                               <Overall Length>
                               <Client ID>
                               <Address (local)>
                               <Address (remote)>
                               <Ports (remote)>
                               [Message Counter]
                               [Lease Time]
                               [Tunnel Type]
        
   <ASSIGN_REQUEST_RSA-IP> ::= <Version>
                               <Message Type>
                               <Overall Length>
                               <Client ID>
                               <Address (local)>
                               <Address (remote)>
                               <Ports (remote)>
                               [Message Counter]
                               [Lease Time]
                               [Tunnel Type]
        
9.6.3. Behavior
9.6.3. 行为

The RSIP host specifies two address parameters. The RSIP host may request a particular local address by placing that address in the first address parameter. To indicate that it has no preference for local address, the RSIP host may place a "don't care" value in the address parameter.

RSIP主机指定两个地址参数。RSIP主机可以通过将特定本地地址置于第一个地址参数中来请求该地址。为了表明它对本地地址没有偏好,RSIP主机可以在address参数中放置一个“不在乎”值。

If macro-flow based remote policy is used, the host MUST specify the remote address that it will use this binding (if granted) to contact; however, the remote port number MAY remain unspecified. If micro-flow based remote policy is used, the host MUST specify the remote address and port number that it will use this binding (if granted) to contact. If no flow policy is used, the RSIP host may place a "don't care" value in the value fields of the respective address and ports parameters.

如果使用基于宏流的远程策略,主机必须指定它将使用此绑定(如果授予)联系的远程地址;但是,远程端口号可能仍然未指定。如果使用基于micro flow的远程策略,主机必须指定它将使用此绑定(如果授予)联系的远程地址和端口号。如果未使用流策略,RSIP主机可能会在相应地址和端口参数的值字段中放置一个“不在乎”值。

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

- If the local address parameter is a don't care value and the RSIP gateway cannot allocate ANY addresses, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNAVAILABLE error.

- 如果local address参数是一个不关心的值,并且RSIP网关无法分配任何地址,则RSIP网关必须使用包含local_ADDR_UNAVAILABLE错误的ERROR_响应进行响应。

- If the local address parameter is not a don't care value there are three possible error conditions:

- 如果本地地址参数不是不关心的值,则有三种可能的错误情况:

o If the RSIP gateway cannot allocate ANY addresses, it MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNAVAILABLE error.

o 如果RSIP网关无法分配任何地址,它必须以包含本地地址不可用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address because it is in use, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_INUSE error.

o 如果由于请求的地址正在使用,RSIP网关无法分配该地址,则RSIP网关必须使用包含本地地址使用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address because it is not allowed by policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNALLOWED error.

o 如果由于策略不允许,RSIP网关无法分配请求的地址,则RSIP网关必须使用包含本地地址未允许错误的错误响应进行响应。

- If macro-flow based remote policy is used and the requested remote address is not allowed by the RSIP gateway's policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the REMOTE_ADDR_UNALLOWED error.

- 如果使用基于宏流的远程策略,并且RSIP网关的策略不允许请求的远程地址,则RSIP网关必须使用包含远程地址不允许错误的错误响应进行响应。

- If micro-flow based remote policy is used and the requested remote address / port pair is not allowed by the RSIP gateway's policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the REMOTE_ADDRPORT_UNALLOWED error.

- 如果使用基于微流的远程策略,并且RSIP网关的策略不允许请求的远程地址/端口对,则RSIP网关必须使用包含远程地址端口未允许错误的错误响应进行响应。

- If an unsupported or unallowed tunnel type is specified, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the BAD_TUNNEL_TYPE error.

- 如果指定了不支持或不允许的隧道类型,则RSIP网关必须以包含错误隧道类型错误的错误响应进行响应。

- If the host has not specified local or remote address or port information in enough detail, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the FLOW_POLICY_VIOLATION error.

- 如果主机没有足够详细地指定本地或远程地址或端口信息,RSIP网关必须以包含流策略违反错误的错误响应进行响应。

9.7. ASSIGN_RESPONSE_RSA-IP
9.7. 分配\u响应\u RSA-IP
9.7.1. Description
9.7.1. 描述

The ASSIGN_RESPONSE_RSA-IP message is used by an RSIP gateway to deliver parameter assignments to an RSIP host using RSA-IP. A host-wise unique bind ID, lease time, and tunnel type must be provided for every assignment.

RSIP网关使用ASSIGN_RESPONSE_RSA-IP消息使用RSA-IP将参数分配传递给RSIP主机。必须为每个分配提供主机唯一绑定ID、租用时间和隧道类型。

9.7.2. Format
9.7.2. 总体安排
   <ASSIGN_RESPONSE_RSA-IP> ::= <Version>
                                <Message Type>
                                <Overall Length>
                                <Client ID>
                                <Bind ID>
                                <Address (local)>
                                <Address (remote)>
                                <Ports (remote)>
                                <Lease Time>
                                <Tunnel Type>
                                [Address (tunnel endpoint)]
                                [Message Counter]
9.7.3.  Behavior
        
   <ASSIGN_RESPONSE_RSA-IP> ::= <Version>
                                <Message Type>
                                <Overall Length>
                                <Client ID>
                                <Bind ID>
                                <Address (local)>
                                <Address (remote)>
                                <Ports (remote)>
                                <Lease Time>
                                <Tunnel Type>
                                [Address (tunnel endpoint)]
                                [Message Counter]
9.7.3.  Behavior
        

If no remote flow policy is used, the RSIP gateway MUST use "don't care" values for the remote address and ports parameters. If macro-flow based remote policy is used, the remote address parameter MUST contain the address specified in the associated request, and the remote ports parameter MUST contain a "don't care" value. If micro-flow based remote policy is used, the remote address and remote ports parameters MUST contain the address and port information specified in the associated request.

如果未使用远程流策略,RSIP网关必须为远程地址和端口参数使用“不关心”值。如果使用基于宏流的远程策略,则远程地址参数必须包含关联请求中指定的地址,远程端口参数必须包含“不在乎”值。如果使用基于微流的远程策略,则远程地址和远程端口参数必须包含关联请求中指定的地址和端口信息。

If the host detects an error or otherwise does not "understand" the gateway's response, it SHOULD send a FREE_REQUEST with the bind ID from the said ASSIGN_RESPONSE_RSA-IP. This will serve to help synchronize the states of the host and gateway.

如果主机检测到错误或无法“理解”网关的响应,则应通过所述ASSIGN_response_RSA-IP发送带有绑定ID的FREE_请求。这将有助于同步主机和网关的状态。

The address of a tunnel endpoint that is not the RSIP gateway MAY be specified. If this parameter is not specified, the RSIP gateway MUST be assumed to be the tunnel endpoint.

可以指定不是RSIP网关的隧道端点的地址。如果未指定此参数,则必须假定RSIP网关是隧道端点。

9.8. ASSIGN_REQUEST_RSAP-IP
9.8. 分配请求RSAP-IP
9.8.1. Description
9.8.1. 描述

The ASSIGN_REQUEST_RSAP-IP message is used by an RSIP host to request resources to use with RSAP-IP. The RSIP host specifies two address and two port parameters, the first of each, respectively, refer to the local address and port(s) that will be used, and the second of each, respectively, refer to the remote address and port(s) that will be contacted.

RSIP主机使用ASSIGN_REQUEST_RSAP-IP消息请求与RSAP-IP一起使用的资源。RSIP主机指定两个地址和两个端口参数,每个参数的第一个分别指将要使用的本地地址和端口,第二个分别指将要联系的远程地址和端口。

9.8.2. Format
9.8.2. 总体安排
   <ASSIGN_REQUEST_RSAP-IP> ::= <Version>
                                <Message Type>
                                <Overall Length>
                                <Client ID>
                                <Address (local)>
                                <Ports (local)>
                                <Address (remote)>
                                <Ports (remote)>
                                [Message Counter]
                                [Lease Time]
                                [Tunnel Type]
        
   <ASSIGN_REQUEST_RSAP-IP> ::= <Version>
                                <Message Type>
                                <Overall Length>
                                <Client ID>
                                <Address (local)>
                                <Ports (local)>
                                <Address (remote)>
                                <Ports (remote)>
                                [Message Counter]
                                [Lease Time]
                                [Tunnel Type]
        
9.8.3. Behavior
9.8.3. 行为

An RSIP host may request a particular local address by placing that address in the value field of the first address parameter. The RSIP host may request particular local ports by placing them in the first port parameter. To indicate that it has no preference for local address or ports, the RSIP host may place a "don't care" value in the respective address or ports parameters.

RSIP主机可以通过将特定本地地址放在第一个地址参数的值字段中来请求该地址。RSIP主机可以通过将特定的本地端口放在第一个端口参数中来请求它们。为了表明它对本地地址或端口没有偏好,RSIP主机可以在相应的地址或端口参数中放置一个“不在乎”值。

If macro-flow based remote policy is used, the host MUST specify the remote address that it will use this binding (if granted) to contact; however, the remote port number(s) MAY remain unspecified. If micro-flow based remote policy is used, the host MUST specify the remote address and port number(s) that it will use this binding (if granted) to contact. If no flow policy is used, the RSIP host may place a value of all 0's in the value fields of the respective address or port parameters.

如果使用基于宏流的远程策略,主机必须指定它将使用此绑定(如果授予)联系的远程地址;但是,远程端口号可能仍然未指定。如果使用基于微流的远程策略,主机必须指定它将使用此绑定(如果已授予)联系的远程地址和端口号。如果未使用流策略,RSIP主机可以在相应地址或端口参数的值字段中放置所有0的值。

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

- If the local address parameter is a don't care value and the RSIP gateway cannot allocate ANY addresses, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNAVAILABLE error.

- 如果local address参数是一个不关心的值,并且RSIP网关无法分配任何地址,则RSIP网关必须使用包含local_ADDR_UNAVAILABLE错误的ERROR_响应进行响应。

- If the local address parameter is not a don't care value there are five possible error conditions:

- 如果本地地址参数不是不关心的值,则有五种可能的错误情况:

o If the RSIP gateway cannot allocate ANY addresses, it MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNAVAILABLE error.

o 如果RSIP网关无法分配任何地址,它必须以包含本地地址不可用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address because it is in use, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_INUSE error.

o 如果由于请求的地址正在使用,RSIP网关无法分配该地址,则RSIP网关必须使用包含本地地址使用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address because it is not allowed by policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNALLOWED error.

o 如果由于策略不允许,RSIP网关无法分配请求的地址,则RSIP网关必须使用包含本地地址未允许错误的错误响应进行响应。

o If the RSIP gateway cannot allocate a requested address / port tuple because it is in use, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDRPORT_INUSE error.

o 如果由于正在使用请求的地址/端口元组,RSIP网关无法分配该元组,则RSIP网关必须使用包含本地地址/端口使用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate a requested address / port tuple because it is not allowed by policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDRPORT_UNALLOWED error.

o 如果由于策略不允许,RSIP网关无法分配请求的地址/端口元组,则RSIP网关必须使用包含本地地址/端口不允许错误的错误\u响应进行响应。

- If the RSIP host requests a number of ports (greater that one), but does not specify particular port numbers (i.e., uses "don't care" values) the RSIP gateway cannot grant the entire request, the RSIP gateway MUST return an ERROR_RESPONSE containing the LOCAL_ADDRPORT_UNAVAILABLE error.

- 如果RSIP主机请求多个端口(大于一个),但未指定特定端口号(即,使用“不在乎”值),RSIP网关无法授予整个请求,则RSIP网关必须返回包含本地地址端口不可用错误的错误响应。

- If macro-flow based remote policy is used and the requested remote address is not allowed by the RSIP gateway's policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the REMOTE_ADDR_UNALLOWED error.

- 如果使用基于宏流的远程策略,并且RSIP网关的策略不允许请求的远程地址,则RSIP网关必须使用包含远程地址不允许错误的错误响应进行响应。

- If micro-flow based remote policy is used and the requested remote address / port pair is not allowed by the RSIP gateway's policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the REMOTE_ADDRPORT_UNALLOWED error.

- 如果使用基于微流的远程策略,并且RSIP网关的策略不允许请求的远程地址/端口对,则RSIP网关必须使用包含远程地址端口未允许错误的错误响应进行响应。

- If an unsupported or unallowed tunnel type is specified, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the BAD_TUNNEL_TYPE error.

- 如果指定了不支持或不允许的隧道类型,则RSIP网关必须以包含错误隧道类型错误的错误响应进行响应。

- If the host has not specified local or remote address or port information in enough detail, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the FLOW_POLICY_VIOLATION error.

- 如果主机没有足够详细地指定本地或远程地址或端口信息,RSIP网关必须以包含流策略违反错误的错误响应进行响应。

9.9. ASSIGN_RESPONSE_RSAP-IP
9.9. 分配\u响应\u RSAP-IP
9.9.1. Description
9.9.1. 描述

The ASSIGN_RESPONSE_RSAP-IP message is used by an RSIP gateway to deliver parameter assignments to an RSIP host. A host-wise unique bind ID, lease time, and tunnel type must be provided for every assignment.

RSIP网关使用ASSIGN_RESPONSE_RSAP-IP消息将参数分配传递给RSIP主机。必须为每个分配提供主机唯一绑定ID、租用时间和隧道类型。

9.9.2. Format
9.9.2. 总体安排
   <ASSIGN_RESPONSE_RSAP-IP> ::= <Version>
                                 <Message Type>
                                 <Overall Length>
                                 <Client ID>
                                 <Bind ID>
                                 <Address (local)>
                                 <Ports (local)>
                                 <Address (remote)>
                                 <Ports (remote)>
                                 <Lease Time>
                                 <Tunnel Type>
                                 [Address (tunnel endpoint)]
                                 [Message Counter]
        
   <ASSIGN_RESPONSE_RSAP-IP> ::= <Version>
                                 <Message Type>
                                 <Overall Length>
                                 <Client ID>
                                 <Bind ID>
                                 <Address (local)>
                                 <Ports (local)>
                                 <Address (remote)>
                                 <Ports (remote)>
                                 <Lease Time>
                                 <Tunnel Type>
                                 [Address (tunnel endpoint)]
                                 [Message Counter]
        
9.9.3. Behavior
9.9.3. 行为

Regardless of local flow policy, a local address and port(s) MUST be assigned to the host. If macro-flow based local policy is used, the host is assigned an address and one or more ports. If micro-flow based local policy is used, the host is assigned an address and exactly one port.

无论本地流策略如何,都必须将本地地址和端口分配给主机。如果使用基于宏流的本地策略,则会为主机分配一个地址和一个或多个端口。如果使用基于微流的本地策略,则会为主机分配一个地址和一个端口。

If no remote flow policy is used, the RSIP gateway MUST use "don't care" values for the remote address and ports parameters. If macro-flow based remote policy is used, the remote address parameter MUST contain the address specified in the associated request, and the remote ports parameter must contain a "don't care" value. If micro-flow based remote policy is used, the remote address and remote ports parameters MUST contain the address and port information specified in the associated request.

如果未使用远程流策略,RSIP网关必须为远程地址和端口参数使用“不关心”值。如果使用基于宏流的远程策略,则远程地址参数必须包含关联请求中指定的地址,远程端口参数必须包含“不在乎”值。如果使用基于微流的远程策略,则远程地址和远程端口参数必须包含关联请求中指定的地址和端口信息。

If the host detects an error or otherwise does not "understand" the gateway's response, it SHOULD send a FREE_REQUEST with the bind ID from the said ASSIGN_RESPONSE_RSAP-IP. This will serve to help synchronize the states of the host and gateway.

如果主机检测到错误或无法“理解”网关的响应,则应通过所述ASSIGN_response_RSAP-IP发送带有绑定ID的FREE_请求。这将有助于同步主机和网关的状态。

The address of a tunnel endpoint that is not the RSIP gateway MAY be specified. If this parameter is not specified, the RSIP gateway MUST be assumed to be the tunnel endpoint.

可以指定不是RSIP网关的隧道端点的地址。如果未指定此参数,则必须假定RSIP网关是隧道端点。

9.10. EXTEND_REQUEST
9.10. 扩展请求
9.10.1. Description
9.10.1. 描述

The EXTEND_REQUEST message is used to request a lease extension to a current bind. It may be used with both RSA-IP and RSAP-IP. The host MUST specify its client ID and the bind ID in question, and it MAY suggest a lease time to the gateway.

EXTEND_请求消息用于请求对当前绑定的租约扩展。它可以与RSA-IP和RSAP-IP一起使用。主机必须指定其客户机ID和有问题的绑定ID,并且可能会建议网关的租用时间。

9.10.2. Format
9.10.2. 总体安排
   <EXTEND_REQUEST> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Client ID>
                        <Bind ID>
                        [Lease Time]
                        [Message Counter]
        
   <EXTEND_REQUEST> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Client ID>
                        <Bind ID>
                        [Lease Time]
                        [Message Counter]
        
9.10.3. Behavior
9.10.3. 行为

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

- If the message contains an incorrect bind ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_BIND_ID error.

- 如果消息包含不正确的绑定ID,网关必须以包含错误绑定ID错误的错误响应进行响应。

If the RSIP gateway grants an extension to the host's lease, it MUST RESPOND with an appropriate EXTEND_RESPONSE message. If the lease is not renewed, the RSIP gateway MAY let it implicitly expire by doing nothing or make it explicitly expire by sending an appropriate FREE_RESPONSE message.

如果RSIP网关向主机的租约授予扩展,它必须使用适当的EXTEND_响应消息进行响应。如果租约未续订,RSIP网关可能会通过不执行任何操作让租约隐式过期,或者通过发送适当的FREE_响应消息使租约显式过期。

9.11. EXTEND_RESPONSE
9.11. 扩展响应
9.11.1. Description
9.11.1. 描述

The EXTEND_RESPONSE message is used by an RSIP gateway to grant a requested lease extension. The gateway MUST specify the client ID of the host, the bind ID in question, and the new assigned lease time.

RSIP网关使用EXTEND_响应消息来授予请求的租约扩展。网关必须指定主机的客户端ID、有问题的绑定ID以及新分配的租用时间。

9.11.2. Format
9.11.2. 总体安排
   <EXTEND_RESPONSE> ::= <Version>
                         <Message Type>
                         <Overall Length>
                         <Client ID>
                         <Bind ID>
                         <Lease Time>
                         [Message Counter]
        
   <EXTEND_RESPONSE> ::= <Version>
                         <Message Type>
                         <Overall Length>
                         <Client ID>
                         <Bind ID>
                         <Lease Time>
                         [Message Counter]
        
9.11.3. Behavior
9.11.3. 行为

The RSIP gateway will determine lease time as per its local policy. The returned time is to be interpreted as the number of seconds before the lease expires, counting from the time at which the message is sent/received.

RSIP网关将根据其本地策略确定租赁时间。返回的时间应解释为租约到期前的秒数,从发送/接收消息的时间算起。

9.12. FREE_REQUEST
9.12. 免费申请
9.12.1. Description
9.12.1. 描述

The FREE_REQUEST message is used by an RSIP host to free a binding. The given bind ID identifies the bind to be freed. Resources may only be freed using the granularity of a bind ID.

RSIP主机使用FREE_请求消息来释放绑定。给定的绑定ID标识要释放的绑定。只能使用绑定ID的粒度释放资源。

9.12.2. Format
9.12.2. 总体安排
   <FREE_REQUEST> ::= <Version>
                      <Message Type>
                      <Overall Length>
                      <Client ID>
                      <Bind ID>
                      [Message Counter]
        
   <FREE_REQUEST> ::= <Version>
                      <Message Type>
                      <Overall Length>
                      <Client ID>
                      <Bind ID>
                      [Message Counter]
        
9.12.3. Behavior
9.12.3. 行为

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

- If the message contains an incorrect bind ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_BIND_ID error.

- 如果消息包含不正确的绑定ID,网关必须以包含错误绑定ID错误的错误响应进行响应。

If a host receives an error in response to a FREE_REQUEST, this may indicate that the host and gateway's states have become unsynchronized. Therefore, the host SHOULD make an effort to resynchronize, such as freeing resources then re-requesting them, or de-registering then re-registering.

如果主机在响应空闲请求时收到错误,这可能表示主机和网关的状态已变得不同步。因此,主机应该努力重新同步,例如释放资源然后重新请求,或者取消注册然后重新注册。

9.13. FREE_RESPONSE
9.13. 自由响应
9.13.1. Description
9.13.1. 描述

The FREE_RESPONSE message is used by an RSIP gateway to acknowledge a FREE_REQUEST sent by an RSIP host, and to asynchronously deallocate resources granted to an RSIP host.

RSIP网关使用FREE_响应消息确认RSIP主机发送的FREE_请求,并异步解除分配授予RSIP主机的资源。

9.13.2. Format
9.13.2. 总体安排
   <FREE_RESPONSE> ::= <Version>
                       <Message Type>
                       <Overall Length>
                       <Client ID>
                       <Bind ID>
                       [Message Counter]
        
   <FREE_RESPONSE> ::= <Version>
                       <Message Type>
                       <Overall Length>
                       <Client ID>
                       <Bind ID>
                       [Message Counter]
        
9.13.3. Behavior
9.13.3. 行为

An RSIP host must always be ready to accept a FREE_RESPONSE, even if its lease on the specified bind ID is not yet expired.

RSIP主机必须始终准备好接受FREE_响应,即使指定绑定ID的租约尚未到期。

9.14. QUERY_REQUEST
9.14. 查询请求
9.14.1. Description
9.14.1. 描述

A QUERY_REQUEST message is used by an RSIP host to ask an RSIP gateway whether or not a particular address or network is local or remote. The host uses this information to determine whether to contact the host(s) directly (in the local case), or via RSIP (in the remote case).

RSIP主机使用查询请求消息询问RSIP网关特定地址或网络是本地还是远程。主机使用此信息确定是直接(在本地情况下)联系主机,还是通过RSIP(在远程情况下)联系主机。

This message defines an indicator parameter with a 1-byte value field and 2 defined values:

此消息定义了一个带有1字节值字段和2个定义值的指示器参数:

- 1 address - 2 network

- 1地址-2网络

9.14.2. Format
9.14.2. 总体安排
   <QUERY_REQUEST> ::= <Version>
                       <Message Type>
                       <Overall Length>
                       <Client ID>
                       [Message Counter]
                       [Address Tuple]...
                       [Network Tuple]...
   where
        
   <QUERY_REQUEST> ::= <Version>
                       <Message Type>
                       <Overall Length>
                       <Client ID>
                       [Message Counter]
                       [Address Tuple]...
                       [Network Tuple]...
   where
        
   <Address Tuple> ::= <Indicator (address)>
                       <Address>
        
   <Address Tuple> ::= <Indicator (address)>
                       <Address>
        
   <Network Tuple> ::= <Indicator (network)>
                       <Address (network)>
                       <Address (netmask)>
        
   <Network Tuple> ::= <Indicator (network)>
                       <Address (network)>
                       <Address (netmask)>
        
9.14.3. Behavior
9.14.3. 行为

One or more address or network tuples may be specified. Each tuple encodes a request regarding the locality (local or remote) of the encoded address or network. If no tuple is specified, the RSIP gateway should interpret the message as a request for all tuples that it is willing to provide. Note that the FQDN form of the address parameter cannot be used to specify the address of a network, and only the netmask form of the address parameter can be used to specify the netmask of a network.

可以指定一个或多个地址或网络元组。每个元组编码一个关于编码地址或网络的位置(本地或远程)的请求。如果未指定元组,RSIP网关应将消息解释为对其愿意提供的所有元组的请求。请注意,address参数的FQDN形式不能用于指定网络的地址,只有address参数的netmask形式可以用于指定网络的netmask。

If an RSIP gateway cannot determine whether a queried host or network is local or remote, it SHOULD transmit a QUERY_RESPONSE with no response specified for the said host or network.

如果RSIP网关无法确定被查询的主机或网络是本地的还是远程的,它应该发送一个查询响应,而不为所述主机或网络指定响应。

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

9.15. QUERY_RESPONSE
9.15. 查询及回应
9.15.1. Description
9.15.1. 描述

A QUERY_RESPONSE message is used by an RSIP gateway to answer a QUERY_REQUEST from an RSIP host.

RSIP网关使用查询响应消息来回答来自RSIP主机的查询请求。

This message defines an indicator parameter with a 1-byte value field and 4 defined values:

此消息定义了一个带有1字节值字段和4个定义值的指示器参数:

- 1 local address - 2 local network - 3 remote address - 4 remote network

- 1个本地地址-2个本地网络-3个远程地址-4个远程网络

9.15.2. Format
9.15.2. 总体安排
   <QUERY_RESPONSE> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Client ID>
                        [Message Counter]
                        [Local Address Tuple]...
                        [Local Network Tuple]...
                        [Remote Address Tuple]...
                        [Remote Network Tuple]...
        
   <QUERY_RESPONSE> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Client ID>
                        [Message Counter]
                        [Local Address Tuple]...
                        [Local Network Tuple]...
                        [Remote Address Tuple]...
                        [Remote Network Tuple]...
        

where

哪里

   <Local Address Tuple> ::= <Indicator (local address)>
                             <Address>
        
   <Local Address Tuple> ::= <Indicator (local address)>
                             <Address>
        
   <Local Network Tuple> ::= <Indicator (local network)>
                             <Address (network)>
                             <Address (netmask)>
        
   <Local Network Tuple> ::= <Indicator (local network)>
                             <Address (network)>
                             <Address (netmask)>
        
   <Remote Address Tuple> ::= <Indicator (remote address)>
                              <Address>
        
   <Remote Address Tuple> ::= <Indicator (remote address)>
                              <Address>
        
   <Remote Network Tuple> ::= <Indicator (remote network)>
                              <Address (network)>
                              <Address (netmask)>
        
   <Remote Network Tuple> ::= <Indicator (remote network)>
                              <Address (network)>
                              <Address (netmask)>
        
9.15.3. Behavior
9.15.3. 行为

An RSIP gateway has some leeway in how it responds to a QUERY_REQUEST. It may just provide the information requested, if it can provide such information. It may provide its complete list of address and networks, in order to minimize the number of requests that the host needs to perform in the future. How an RSIP gateway responds may depend on network traffic considerations as well.

RSIP网关在如何响应查询请求方面有一定的回旋余地。如果它能够提供所要求的信息,它可以只提供所要求的信息。它可以提供其地址和网络的完整列表,以尽量减少主机将来需要执行的请求数量。RSIP网关的响应方式也可能取决于网络流量因素。

If an RSIP gateway sends a QUERY_RESPONSE that does not contain any tuples, or a QUERY_RESPONSE that does not contain a tuple that applies to an associated tuple in the associated QUERY_REQUEST, this should be interpreted that the RSIP gateway does not know whether the queried host or network is local or remote. Appropriate host behavior upon receipt of such a message is to assume that the queried host or network is remote.

如果RSIP网关发送不包含任何元组的查询\u响应,或发送不包含适用于关联查询\u请求中关联元组的元组的查询\u响应,则应解释为RSIP网关不知道查询的主机或网络是本地的还是远程的。收到此类消息后,适当的主机行为是假定查询的主机或网络是远程的。

Note that an RSIP gateway is not expected to maintain a complete list of all remote hosts and networks. In fact, a typical RSIP gateway will only maintain a list of the networks and hosts that it knows are local (private with respect to the RSIP host).

请注意,RSIP网关不需要维护所有远程主机和网络的完整列表。事实上,一个典型的RSIP网关将只维护一个它知道是本地的网络和主机的列表(相对于RSIP主机来说是私有的)。

9.16. LISTEN_REQUEST
9.16. 倾听你的请求
9.16.1. Description
9.16.1. 描述

A LISTEN_REQUEST message is sent by an RSIP host that wants to register a service on a particular address and port number. The host must include its client ID, local address parameter and ports parameters, and remote address and ports parameters. The client MAY suggest a lease time and one or more tunnel types.

要在特定地址和端口号上注册服务的RSIP主机发送侦听请求消息。主机必须包括其客户端ID、本地地址参数和端口参数以及远程地址和端口参数。客户可以建议租赁时间和一种或多种隧道类型。

9.16.2. Format
9.16.2. 总体安排
   <LISTEN_REQUEST> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Client ID>
                        <Address (local)>
                        <Ports (local)>
                        <Address (remote)>
                        <Ports (remote)>
                        [Message Counter]
                        [Lease Time]
                        [Tunnel Type]...
        
   <LISTEN_REQUEST> ::= <Version>
                        <Message Type>
                        <Overall Length>
                        <Client ID>
                        <Address (local)>
                        <Ports (local)>
                        <Address (remote)>
                        <Ports (remote)>
                        [Message Counter]
                        [Lease Time]
                        [Tunnel Type]...
        
9.16.3. Behavior
9.16.3. 行为

If the host wants to listen on a particular address or port, it may specify these in the address and ports parameters. Otherwise it may leave one or both of these parameters with "don't care" values.

如果主机想要侦听特定的地址或端口,它可以在地址和端口参数中指定这些地址或端口。否则,它可能会将其中一个或两个参数保留为“不在乎”值。

If no remote flow policy is being used, the host MUST fill both the remote address and ports parameters with "don't care" values. If macro-flow based remote policy is used, the host MUST specify the remote address, but MAY or MAY NOT specify the remote port(s). If micro-flow based remote policy is used, the host MUST specify the remote address and ports parameter.

如果未使用远程流策略,主机必须用“不关心”值填充远程地址和端口参数。如果使用基于宏流的远程策略,主机必须指定远程地址,但可以指定也可以不指定远程端口。如果使用基于微流的远程策略,主机必须指定远程地址和端口参数。

Once a LISTEN_REQUEST has been granted, the RSIP gateway MUST forward all packets destined to the address and port in question to the host, even if the remote host address and port tuple has not been previously contacted by the host.

一旦LISTEN_请求被批准,RSIP网关必须将所有发送到相关地址和端口的数据包转发给主机,即使主机之前没有联系过远程主机地址和端口元组。

LISTEN_REQUEST is not necessary for RSA-IP.

RSA-IP不需要侦听请求。

The following message-specific error conditions exist:

存在以下特定于消息的错误情况:

- If the host is not registered with the gateway, the gateway MUST respond with an ERROR_RESPONSE containing the REGISTER_FIRST error.

- 如果主机未向网关注册,网关必须以包含REGISTER\u FIRST ERROR的ERROR\u响应进行响应。

- If the message contains an incorrect client ID, the gateway MUST respond with an ERROR_RESPONSE containing the BAD_CLIENT_ID error.

- 如果消息包含错误的客户端ID,网关必须以包含错误的客户端ID错误的错误响应进行响应。

- If the local address parameter is a don't care value and the RSIP gateway cannot allocate ANY addresses, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNAVAILABLE error.

- 如果local address参数是一个不关心的值,并且RSIP网关无法分配任何地址,则RSIP网关必须使用包含local_ADDR_UNAVAILABLE错误的ERROR_响应进行响应。

- If the local address parameter is not a don't care value there are five possible error conditions:

- 如果本地地址参数不是不关心的值,则有五种可能的错误情况:

o If the RSIP gateway cannot allocate ANY addresses, it MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNAVAILABLE error.

o 如果RSIP网关无法分配任何地址,它必须以包含本地地址不可用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address because it is in use, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_INUSE error.

o 如果由于请求的地址正在使用,RSIP网关无法分配该地址,则RSIP网关必须使用包含本地地址使用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address because it is not allowed by policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_UNALLOWED error.

o 如果由于策略不允许,RSIP网关无法分配请求的地址,则RSIP网关必须使用包含本地地址未允许错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address / port tuple because it is in use, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDRPORT_INUSE error.

o 如果由于正在使用请求的地址/端口元组,RSIP网关无法分配该地址/端口元组,则RSIP网关必须使用包含本地地址/端口使用错误的错误响应进行响应。

o If the RSIP gateway cannot allocate the requested address / port tuple because it is not allowed by policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDRPORT_UNALLOWED error.

o 如果由于策略不允许,RSIP网关无法分配请求的地址/端口元组,则RSIP网关必须使用包含本地地址/端口不允许错误的错误\u响应进行响应。

- If macro-flow based remote policy is used and the requested remote address is not allowed by the RSIP gateway's policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the REMOTE_ADDR_UNALLOWED error.

- 如果使用基于宏流的远程策略,并且RSIP网关的策略不允许请求的远程地址,则RSIP网关必须使用包含远程地址不允许错误的错误响应进行响应。

- If micro-flow based remote policy is used and the requested remote address / port pair is not allowed by the RSIP gateway's policy, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the REMOTE_ADDRPORT_UNALLOWED error.

- 如果使用基于微流的远程策略,并且RSIP网关的策略不允许请求的远程地址/端口对,则RSIP网关必须使用包含远程地址端口未允许错误的错误响应进行响应。

- If an unsupported or unallowed tunnel type is specified, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the BAD_TUNNEL_TYPE error.

- 如果指定了不支持或不允许的隧道类型,则RSIP网关必须以包含错误隧道类型错误的错误响应进行响应。

- If the host has not specified local or remote address or port information in enough detail, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the FLOW_POLICY_VIOLATION error.

- 如果主机没有足够详细地指定本地或远程地址或端口信息,RSIP网关必须以包含流策略违反错误的错误响应进行响应。

9.17. LISTEN_RESPONSE
9.17. 倾听你的回答
9.17.1. Description
9.17.1. 描述

A LISTEN_RESPONSE message is used by an RSIP gateway to respond to a LISTEN_REQUEST message from an RSIP host. The RSIP gateway MUST issue a bind ID, and specify the address and port which have been granted to the host. The gateway must also specify a tunnel type and lease time.

RSIP网关使用侦听响应消息来响应来自RSIP主机的侦听请求消息。RSIP网关必须发出绑定ID,并指定已授予主机的地址和端口。网关还必须指定隧道类型和租用时间。

If no remote flow policy is being used, the gateway MUST fill both the remote address and ports parameters with "don't care" values. If macro-flow based remote policy is used, the gateway MUST specify the remote address, but MAY or MAY NOT specify the remote port(s). If micro-flow based remote policy is used, the gateway MUST specify the remote address and ports parameter.

如果未使用远程流策略,网关必须用“不关心”值填充远程地址和端口参数。如果使用基于宏流的远程策略,网关必须指定远程地址,但可以指定也可以不指定远程端口。如果使用基于微流的远程策略,网关必须指定远程地址和端口参数。

9.17.2. Format
9.17.2. 总体安排
   <LISTEN_RESPONSE> ::= <Version>
                         <Message Type>
                         <Overall Length>
                         <Client ID>
                         <Bind ID>
                         <Address (local)>
                         <Ports (local)>
                         <Address (remote)>
                         <Ports (remote)>
                         <Tunnel Type>
                         <Lease Time>
                         [Address (tunnel endpoint)]
                         [Message Counter]
        
   <LISTEN_RESPONSE> ::= <Version>
                         <Message Type>
                         <Overall Length>
                         <Client ID>
                         <Bind ID>
                         <Address (local)>
                         <Ports (local)>
                         <Address (remote)>
                         <Ports (remote)>
                         <Tunnel Type>
                         <Lease Time>
                         [Address (tunnel endpoint)]
                         [Message Counter]
        
9.17.3. Behavior
9.17.3. 行为

If no remote flow policy is being used, the gateway MUST fill both the remote address and ports parameters with "don't care" values. If macro-flow based remote policy is used, the gateway MUST specify the remote address, but MAY or MAY NOT specify the remote port(s). If micro-flow based remote policy is used, the gateway MUST specify the remote address and ports parameter.

如果未使用远程流策略,网关必须用“不关心”值填充远程地址和端口参数。如果使用基于宏流的远程策略,网关必须指定远程地址,但可以指定也可以不指定远程端口。如果使用基于微流的远程策略,网关必须指定远程地址和端口参数。

The address of a tunnel endpoint that is not the RSIP gateway MAY be specified. If this parameter is not specified, the RSIP gateway MUST be assumed to be the tunnel endpoint.

可以指定不是RSIP网关的隧道端点的地址。如果未指定此参数,则必须假定RSIP网关是隧道端点。

10. Discussion
10. 讨论
10.1. Use of Message Counters, Timeouts, and Retransmissions
10.1. 使用消息计数器、超时和重新传输

Message counters are conceptually similar to sequence numbers. They are necessary to facilitate reliability when UDP is the transport protocol. Each UDP message is marked with a message counter. When such a message is transmitted, the message is stored in a "last message" buffer. For RSIP hosts, a timer is set to expire at the appropriate timeout value.

消息计数器在概念上类似于序列号。当UDP是传输协议时,它们是提高可靠性所必需的。每个UDP消息都用消息计数器标记。当传输此类消息时,该消息存储在“最后一条消息”缓冲区中。对于RSIP主机,计时器设置为在适当的超时值处过期。

General rules:

一般规则:

- When an RSIP host transmits a message with a message counter value of n, the RSIP gateway's response will contain a message counter value of n.

- 当RSIP主机发送消息计数器值为n的消息时,RSIP网关的响应将包含消息计数器值n。

- An RSIP host will not increment its message counter value to n+1 until it receives a message from the RSIP gateway with a message counter value of n.

- RSIP主机在从RSIP网关接收到消息计数器值为n的消息之前,不会将其消息计数器值增加到n+1。

- An RSIP gateway begins all sessions with a message counter value of 1.

- RSIP网关以消息计数器值1开始所有会话。

- If the message counter value reaches the maximum possible 32- bit value, it will wrap around to 1, not 0.

- 如果消息计数器值达到最大可能的32位值,它将环绕到1,而不是0。

- If a message with a message counter value of n is transmitted by an RSIP host, but a timer expires before a response to that message is received, the copy of the message (from the "last message" buffer) is retransmitted.

- 如果RSIP主机发送消息计数器值为n的消息,但在收到对该消息的响应之前计时器过期,则重新传输该消息的副本(来自“最后一条消息”缓冲区)。

- When an RSIP gateway receives a duplicate copy of a message with a message counter value of n, it transmits the contents of its "last message" buffer.

- 当RSIP网关接收到消息计数器值为n的消息副本时,它将传输其“最后一条消息”缓冲区的内容。

- When the RSIP gateway transmits an asynchronous RSIP message (an RSIP message for which there was no request by the RSIP host), a message counter value of 0 MUST be used. Note that only three RSIP messages can be transmitted asynchronously: ERROR_RESPONSE, DE-REGISTER_RESPONSE, and FREE_RESPONSE. These messages may also be transmitted in response to an RSIP host request, so their message counter values MAY be non-zero.

- 当RSIP网关传输异步RSIP消息(RSIP主机没有请求的RSIP消息)时,必须使用消息计数器值0。请注意,只有三条RSIP消息可以异步传输:错误响应、取消注册响应和自由响应。这些消息也可以响应RSIP主机请求而传输,因此它们的消息计数器值可能为非零。

- If a message counter is not present in a message from an RSIP host, but is required, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the MESSAGE_COUNTER_REQUIRED error.

- 如果来自RSIP主机的消息中不存在消息计数器,但它是必需的,则RSIP网关必须使用包含消息计数器必需错误的错误响应进行响应。

10.2. RSIP Host and Gateway Failure Scenarios
10.2. RSIP主机和网关故障场景

When either the RSIP host or gateway suffers from an unrecoverable failure, such as a crash, all RSIP-related state will be lost. In this section, we describe the sequence of events that will occur in both host and gateway failures, and how the host and gateway re-synchronize.

当RSIP主机或网关出现不可恢复的故障(如崩溃)时,所有与RSIP相关的状态都将丢失。在本节中,我们将描述主机和网关故障中发生的事件顺序,以及主机和网关如何重新同步。

10.2.1. Host Failure
10.2.1. 主机故障

After a host failure, the host will reboot and be unaware of any RSIP state held on its behalf at the gateway.

主机发生故障后,主机将重新启动,并且不知道网关上代表其持有的任何RSIP状态。

If the host does not immediately attempt to re-establish a session, it may receive RSIP packets on the RSIP client application port that it was using before it rebooted. If an RSIP client application is not active on this port, these packets will be responded to with ICMP port unreachable messages. If TCP is the transport protocol, it is likely that the connection will be terminated with a TCP RST. If an RSIP client is active on this port, it will not recognize the session that these packets belong to, and it SHOULD silently ignore them.

如果主机没有立即尝试重新建立会话,它可能会在重新启动之前使用的RSIP客户端应用程序端口上接收RSIP数据包。如果RSIP客户端应用程序在此端口上未处于活动状态,则将使用ICMP端口不可访问消息响应这些数据包。如果TCP是传输协议,则可能会使用TCP RST终止连接。如果RSIP客户端在此端口上处于活动状态,则它将无法识别这些数据包所属的会话,并且应该默默地忽略它们。

The RSIP host may also receive packets from a remote host with which it was communicating before it rebooted. These packets will be destined to the RSIP tunnel interface, which should not exist. Thus they SHOULD be silently discarded by the RSIP host's stack, or the RSIP host will transmit appropriate ICMP messages to the tunnel endpoint (e.g., the RSIP gateway). The behavior of the system with respect to sessions that were active before the reboot should be similar to that of a publically addressable non-RSIP host that reboots.

RSIP主机还可以从远程主机接收数据包,该主机在重新启动前与远程主机通信。这些数据包将发送到RSIP隧道接口,该接口不应存在。因此,RSIP主机的堆栈应该悄悄地丢弃它们,否则RSIP主机将向隧道端点(例如,RSIP网关)传输适当的ICMP消息。系统在重新启动前处于活动状态的会话的行为应类似于重新启动的公共寻址非RSIP主机的行为。

Upon rebooting, an RSIP host may attempt to establish a new RSIP session with the RSIP gateway. Upon receiving the REGISTER_REQUEST message, the RSIP gateway will be able to determine that, as far as it is concerned, the RSIP host is already registered. Thus, it will transmit an ERROR_RESPONSE with the ALREADY_REGISTERED message. Upon receipt of this message, the RSIP host will know the client ID of its old registration, and SHOULD immediately transmit a DE-REGISTER_REQUEST using this client ID. After this is accomplished, the states of the RSIP host and gateway have been synchronized, and a new RSIP session may be established.

重新启动后,RSIP主机可能会尝试与RSIP网关建立新的RSIP会话。在接收到REGISTER_请求消息后,RSIP网关将能够确定,就其而言,RSIP主机已经注册。因此,它将使用已注册的消息发送错误响应。收到此消息后,RSIP主机将知道其旧注册的客户端ID,并应立即使用此客户端ID发送注销请求。完成此操作后,RSIP主机和网关的状态已同步,并且可以建立新的RSIP会话。

If the RSIP host does not de-register itself from the RSIP gateway, it will eventually receive a DE-REGISTER_RESPONSE from the gateway, when the gateway times out the host's session. Since the DE-REGISTER_RESPONSE will refer to a client ID that has no meaning to

如果RSIP主机没有从RSIP网关取消注册自身,则当网关超时主机会话时,它最终将从网关接收到取消注册_响应。因为取消注册_响应将引用一个没有意义的客户端ID

the host, the host SHOULD silently ignore such a message. At this point, the states of the RSIP host and gateway have been synchronized, and a new RSIP session may be established.

the host, the host SHOULD silently ignore such a message. At this point, the states of the RSIP host and gateway have been synchronized, and a new RSIP session may be established.translate error, please retry

10.2.2. Gateway Failure
10.2.2. 网关故障

After a gateway failure, the gateway will reboot and be unaware of any RSIP state held by an RSIP host.

网关故障后,网关将重新启动,并且不知道RSIP主机持有的任何RSIP状态。

Since the gateway will not attempt to contact any of its RSIP hosts, a problem will first be detected when either an RSIP host sends an RSIP message to the gateway, an RSIP host sends tunneled data to the gateway, or data from a remote host intended for an RSIP host arrives.

由于网关不会尝试联系其任何RSIP主机,因此当RSIP主机向网关发送RSIP消息、RSIP主机向网关发送隧道数据或来自远程主机的RSIP主机的数据到达时,首先会检测到问题。

In the first case, the RSIP gateway SHOULD immediately response to all messages (except for a REGISTER_REQUEST) with an ERROR_RESPONSE with a REGISTER_FIRST error. Upon receipt of such a message, an RSIP host MUST interpret the message as an indication of a loss of synchronization between itself and the RSIP gateway. The RSIP host SHOULD immediately transmit a DE-REGISTRATION_REQUEST with its old client ID (which will generate another error, but this error SHOULD be ignored by the host). At this point, the states of the RSIP host and gateway have been synchronized, and a new RSIP session may be established.

在第一种情况下,RSIP网关应立即对所有消息(除寄存器请求外)做出带有寄存器第一错误的错误响应。收到此类消息后,RSIP主机必须将该消息解释为其自身与RSIP网关之间同步丢失的指示。RSIP主机应立即使用其旧客户端ID发送注销请求(这将生成另一个错误,但主机应忽略此错误)。此时,RSIP主机和网关的状态已经同步,可以建立新的RSIP会话。

In the second case, all data that an RSIP host sends to the tunneled interface of an RSIP server will either (1) be discarded silently, (2) responded to with an ICMP Destination Unreachable message, such as "Communication Administratively Prohibited", or (3) blindly routed to the intended destination. In all of the above cases, the RSIP gateway will not have an explicit method to notify the RSIP host of the problem. To prevent a long term communications outage, small lease times of several minutes can be set by the RSIP gateway.

在第二种情况下,RSIP主机发送到RSIP服务器的隧道接口的所有数据要么(1)以静默方式丢弃,(2)以ICMP目的地不可到达消息(如“通信管理禁止”)响应,要么(3)盲目路由到预定目的地。在上述所有情况下,RSIP网关都没有明确的方法通知RSIP主机问题。为了防止长期通信中断,RSIP网关可以设置几分钟的小租赁时间。

In the third case, the RSIP gateway SHOULD discard all incoming packets and/or respond with ICMP Port Unreachable messages.

在第三种情况下,RSIP网关应丢弃所有传入的数据包和/或响应ICMP端口不可访问的消息。

10.3. General Gateway Policy
10.3. 通用网关策略

There is a significant amount of RSIP gateway policy that may be implemented, but is beyond the scope of this document. We expect that most of this policy will be site-specific or implementation-specific and therefore do not make any recommendations. Examples of general gateway policy include:

可以实施大量RSIP网关策略,但超出了本文档的范围。我们预计该政策的大部分内容将针对具体地点或具体实施,因此不会提出任何建议。一般网关策略的示例包括:

- How ports are allocated to RSIP hosts. - Preferred length of lease times.

- 如何将端口分配给RSIP主机。-租赁时间的首选长度。

- How flow policy is applied to which hosts. - How an RSIP gateway with multiple public IP addresses that may be leased by RSIP clients determines how to partition and/or lease these addresses.

- 如何将流策略应用于哪些主机。-具有多个公共IP地址(可由RSIP客户端租用)的RSIP网关如何确定如何划分和/或租用这些地址。

10.4. Errors Not From the RSIP Protocol
10.4. 不是来自RSIP协议的错误

Once an RSIP host and gateway have established a relationship and the host is assigned resources to use, error may occur due to the host's misuse of the resources or its attempting to use unassigned resources. The following error behavior is defined:

一旦RSIP主机和网关建立了关系,并且为主机分配了要使用的资源,则可能会由于主机滥用资源或试图使用未分配的资源而发生错误。定义了以下错误行为:

- If a host attempts to use a local address which it has not been allocated, the RSIP gateway MUST drop the associated packet(s) and send the host an ERROR_RESPONSE containing the LOCAL_ADDR_UNALLOWED error.

- 如果主机试图使用未分配的本地地址,RSIP网关必须丢弃相关数据包,并向主机发送包含本地地址未允许错误的错误响应。

- If a host attempts to use a local address / port tuple which it has not been allocated, the RSIP gateway MUST drop the associated packet(s) and send the host an ERROR_RESPONSE containing the LOCAL_ADDRPORT_UNALLOWED error.

- 如果主机试图使用尚未分配的本地地址/端口元组,RSIP网关必须丢弃相关的数据包,并向主机发送包含本地地址/端口未允许错误的错误响应。

- If a host attempts to contact a remote address which has not been properly specified or otherwise approved (e.g., via an ASSIGN_RESPONSE_RSAP-IP and macro or micro based remote flow policy), the RSIP gateway MUST drop the associated packet(s) and send the host an ERROR_RESPONSE containing the REMOTE_ADDR_UNALLOWED error.

- 如果主机试图联系未正确指定或批准的远程地址(例如,通过ASSIGN_RESPONSE_RSAP-IP和基于宏或微的远程流策略),RSIP网关必须丢弃相关数据包,并向主机发送包含远程地址不允许错误的错误响应。

- If a host attempts to contact a remote address / port tuple which has not been properly specified or otherwise approved (e.g., via an ASSIGN_RESPONSE_RSAP-IP and micro based remote flow policy), the RSIP gateway MUST drop the associated packet(s) and send the host an ERROR_RESPONSE containing the REMOTE_ADDRPORT_UNALLOWED error.

- 如果主机试图联系未正确指定或未经批准的远程地址/端口元组(例如,通过ASSIGN_RESPONSE_RSAP-IP和基于micro的远程流策略),RSIP网关必须丢弃相关数据包,并向主机发送包含远程地址端口不允许错误的错误响应。

- If a host attempts to establish or use an improper tunnel type, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the BAD_TUNNEL_TYPE error.

- 如果主机试图建立或使用不正确的隧道类型,RSIP网关必须以包含错误隧道类型错误的错误响应进行响应。

- If the RSIP gateway's detects a local fault which prevents its RSIP server module from continuing operation, the RSIP gateway MUST respond with an ERROR_RESPONSE containing the INTERNAL_SERVER_ERROR error.

- 如果RSIP网关检测到阻止其RSIP服务器模块继续运行的本地故障,则RSIP网关必须使用包含内部服务器错误的错误响应进行响应。

10.5. Address and Port Requests and Allocation
10.5. 地址和端口请求及分配

Regardless of local flow policy, an RSIP host may "suggest" that it would like to use a particular local address and/or port number in a particular binding. An RSIP gateway that cannot grant such a request, because the specified resources are already in use, MUST respond with an ERROR_RESPONSE containing the LOCAL_ADDR_INUSE or LOCAL_ADDRPORT_INUSE values.

无论本地流策略如何,RSIP主机都可能“建议”在特定绑定中使用特定的本地地址和/或端口号。由于指定的资源已在使用中,因此无法授予此类请求的RSIP网关必须以包含本地\u ADDR\u INUSE或本地\u ADDRPORT\u INUSE值的错误\u响应进行响应。

10.6. Local Gateways and Flow Policy Interaction
10.6. 本地网关和流策略交互

An RSIP host may initialize a publically accessible gateway (such as an FTP or HTTP gateway) by transmitting a LISTEN_REQUEST message to an RSIP gateway and receiving a LISTEN_RESPONSE. However, unless no remote flow policy is used, the gateway will have to specify the address or address and port of a single remote host that will be allowed to contact it. Obviously, such as restriction is not very useful for hosts that require their gateways to be accessible by any remote host.

RSIP主机可以通过向RSIP网关发送侦听请求消息并接收侦听响应来初始化公共可访问网关(如FTP或HTTP网关)。但是,除非未使用远程流策略,否则网关必须指定允许与之联系的单个远程主机的地址或地址和端口。显然,对于要求任何远程主机都可以访问其网关的主机,例如限制不是很有用。

This indicates that there is a conflict between flow-based policy and support for gateways. The main purpose of enforcing flow-based policy for LISTEN_REQUESTs is that it allows an RSIP gateway tight control over how an RSIP host uses ports and the associated accounting. For example, an RSIP host, operating under remote micro-flow based policy and using a protocol such as FTP, will have to specify the address and port that it will receive FTP data on, as well as the address and port that the gateway will transmit data from, in a LISTEN_REQUEST.

这表明基于流的策略和对网关的支持之间存在冲突。为LISTEN_请求强制实施基于流的策略的主要目的是,它允许RSIP网关严格控制RSIP主机如何使用端口和相关记帐。例如,在基于远程微流的策略下运行并使用FTP等协议的RSIP主机必须在侦听请求中指定接收FTP数据的地址和端口,以及网关传输数据的地址和端口。

In general, an RSIP gateway may not allow arbitrary hosts to start public gateways because of the traffic and security concerns. Thus, we recommend that if remote micro-flow based policy is used, that an RSIP gateway only allow public gateways on RSIP hosts via administrative override.

一般来说,出于流量和安全考虑,RSIP网关可能不允许任意主机启动公共网关。因此,我们建议,如果使用基于远程微流的策略,则RSIP网关仅允许通过管理覆盖在RSIP主机上使用公共网关。

Currently, RSIP hosts can only be identified by their local IP address or MAC address.

目前,RSIP主机只能通过其本地IP地址或MAC地址来识别。

11. Security Considerations
11. 安全考虑

RSIP, in and of itself, does not provide security. It may provide the illusion of security or privacy by hiding a private address space, but security can only be ensured by the proper use of security protocols and cryptographic techniques.

RSIP本身并不提供安全性。它可能通过隐藏私人地址空间来提供安全或隐私的假象,但安全性只能通过正确使用安全协议和密码技术来确保。

An RSIP gateway should take all measures deemed necessary to prevent its hosts from performing intentional or unintentional denial-of-service attacks by request large sets of resources.

RSIP网关应采取所有必要措施,防止其主机通过请求大量资源来执行有意或无意的拒绝服务攻击。

Currently, RSIP hosts can only be identified by their local IP address or, in some cases, MAC address. It is desirable to allow RSIP messages sent between a host and gateway to be authenticated. Further discussion of such authentication can be found in [RSIP-FRAME].

目前,RSIP主机只能通过其本地IP地址或在某些情况下通过MAC地址来识别。希望允许对主机和网关之间发送的RSIP消息进行身份验证。有关此类认证的进一步讨论,请参见[RSIP-FRAME]。

Discussion of RSIP support for end-to-end IPsec can be found in [RSIP-IPSEC].

有关RSIP对端到端IPsec的支持的讨论,请参见[RSIP-IPsec]。

12. IANA Considerations
12. IANA考虑

All of the designations below have been registered by the IANA.

以下所有名称均已由IANA注册。

- RSIP port number: 4555 - RSIP error codes (see Appendix A). - RSIP message type codes (see Appendix B). - RSIP tunnel types, methods, and flow policies.

- RSIP端口号:4555-RSIP错误代码(见附录A)。-RSIP消息类型代码(见附录B)。-RSIP隧道类型、方法和流策略。

RSIP parameter values are designated as follows:

RSIP参数值指定如下:

- 0 Reserved - 1-240 Assigned by IANA - 241-255 Reserved for private use

- 0保留-由IANA分配的1-240-241-255保留供私人使用

New registrations for the above namespaces are recommended to be allocated via the Specification Required method documented in [RFC2434].

建议通过[RFC2434]中记录的规范要求方法分配上述名称空间的新注册。

13. Acknowledgements
13. 致谢

The authors would like to specifically thank Gabriel Montenegro, Pyda Srisuresh, Brian Carpenter, Eliot Lear, Dan Nessett, Gary Jaszewski, Naveen Rajanikantha, Sudhakar Ramakrishna, Jim March, and Rick Cobb for their input. The IETF NAT working group as a whole has been extremely helpful in the ongoing development of RSIP.

作者要特别感谢加布里埃尔·黑山、Pyda Srisuresh、布赖恩·卡彭特、艾略特·李尔、丹·内塞特、加里·贾泽夫斯基、纳文·拉贾尼坎塔、苏达卡尔·拉马克里希纳、吉姆·马奇和里克·科布的投入。IETF NAT工作组作为一个整体,在RSIP的持续开发中发挥了极大的作用。

14. Appendix A: RSIP Error Numbers
14. 附录A:RSIP错误编号

This section provides descriptions for the error values in the RSIP error parameter.

本节介绍RSIP错误参数中的错误值。

All errors are grouped into the following categories:

所有错误都分为以下类别:

100's: General errors.

100’s:一般错误。

101: UNKNOWN_ERROR. An error that cannot be identified has occurred. This error should be used when all other error messages are inappropriate.

101:未知错误。发生了无法识别的错误。当所有其他错误消息都不合适时,应使用此错误。

102: USE_TCP. A host has attempted to use UDP on a server that only supports TCP.

102:使用TCP。主机试图在仅支持TCP的服务器上使用UDP。

103: FLOW_POLICY_VIOLATION: A host has not specified address or port information in enough detail for its assigned flow policy.

103:流\策略\冲突:主机没有为其分配的流策略指定足够详细的地址或端口信息。

104: INTERNAL_SERVER_ERROR: An RSIP server application has detected an unrecoverable error within itself or the RSIP gateway.

104:内部_服务器_错误:RSIP服务器应用程序在自身或RSIP网关中检测到不可恢复的错误。

105: MESSAGE_COUNTER_REQUIRED: An RSIP host did not use a message counter parameter in a situation in which it should have.

105:MESSAGE_COUNTER_REQUIRED:RSIP主机在本应使用的情况下未使用MESSAGE COUNTER参数。

106: UNSUPPORTED_RSIP_VERSION: An RSIP host sent a message with a version number that is not supported by the RSIP gateway.

106:不支持的RSIP版本:RSIP主机发送的消息版本号不受RSIP网关支持。

200's: Parameter and message errors. The gateway uses these errors when it detects that a parameter or message is malformed, as well as when it does not understand a parameter or message.

200的:参数和消息错误。网关在检测到参数或消息的格式不正确以及不理解参数或消息时使用这些错误。

201: MISSING_PARAM. The request does not contain a required parameter.

201:缺少参数。请求不包含必需的参数。

202: DUPLICATE_PARAM. The request contains an illegal duplicate parameter.

202:重复参数。请求包含非法的重复参数。

203: EXTRA_PARAM. The request contains a parameter that it should not.

203:额外参数。请求包含一个不应包含的参数。

204: ILLEGAL_PARAM. The gateway does not understand a parameter type.

204:非法参数。网关不理解参数类型。

205: BAD_PARAM. A parameter is malformed.

205:坏参数。参数的格式不正确。

206: ILLEGAL_MESSAGE. The gateway does not understand the message type. The message type is neither mandatory nor optional.

206:非法信息。网关不理解消息类型。消息类型既不是必需的,也不是可选的。

207: BAD_MESSAGE. A message is malformed and gateway parsing failed.

207:坏消息。消息格式不正确,网关分析失败。

208: UNSUPPORTED_MESSAGE: The host has transmitted an optional message that the gateway does not support.

208:不支持的消息:主机已发送网关不支持的可选消息。

300's: Permission, resource, and policy errors. The gateway uses these errors when a host has attempted to do something that it is not permitted to do, or something that violated gateway policy.

300:权限、资源和策略错误。当主机试图执行其不允许执行的操作或违反网关策略的操作时,网关将使用这些错误。

301: REGISTER_FIRST. The RSIP host has attempted to request or use resources without registering.

301:先注册。RSIP主机试图在未注册的情况下请求或使用资源。

302: ALREADY_REGISTERED. The host has attempted to register again without first de-registering.

302:已经注册了。主机已尝试在未首先取消注册的情况下再次注册。

303: ALREADY_UNREGISTERED. The host has attempted to de-register but it is already in the unregistered state.

303:已取消注册。主机已尝试取消注册,但已处于未注册状态。

304: REGISTRATION_DENIED. The gateway will not allow the host to register.

304:注册被拒绝。网关将不允许主机注册。

305: BAD_CLIENT_ID. The host has referred to itself with the wrong client ID.

305:客户端ID不正确。主机使用错误的客户端ID引用自身。

306: BAD_BIND_ID. The request refers to a bind ID that is not valid for the host.

306:绑定ID错误。请求引用的绑定ID对主机无效。

307: BAD_TUNNEL_TYPE. The request refers to a tunnel type that is not valid for the host.

307:不良隧道类型。请求引用的隧道类型对主机无效。

308: LOCAL_ADDR_UNAVAILABLE. The gateway is currently not able to allocate ANY local address, but the host may try again later.

308:本地地址不可用。网关当前无法分配任何本地地址,但主机可能稍后重试。

309: LOCAL_ADDRPORT_UNAVAILABLE. The gateway is currently not able to allocate ANY local IP address / port tuple of the requested magnitude (i.e., number of ports), but the host may try again later.

309:本地地址端口不可用。网关当前无法分配任何请求大小的本地IP地址/端口元组(即端口数),但主机可能稍后重试。

310: LOCAL_ADDR_INUSE. The gateway was not able to allocate the requested local address because it is currently used by another entity.

310:本地地址使用。网关无法分配请求的本地地址,因为其他实体当前正在使用该地址。

311: LOCAL_ADDRPORT_INUSE. The gateway was not able to allocate the requested local address / port tuple because it is currently used by another entity.

311:本地添加端口使用。网关无法分配请求的本地地址/端口元组,因为其他实体当前正在使用该元组。

312: LOCAL_ADDR_UNALLOWED. The gateway will not let the host use the specified local IP address due to policy.

312:不允许使用本地地址。由于策略原因,网关将不允许主机使用指定的本地IP地址。

313: LOCAL_ADDRPORT_UNALLOWED. The gateway will not let the host use the specified local address / port pair due to policy.

313:不允许本地添加端口。由于策略原因,网关将不允许主机使用指定的本地地址/端口对。

314: REMOTE_ADDR_UNALLOWED. The gateway will not allow the host to establish a session to the specified remote address.

314:不允许远程地址。网关将不允许主机建立到指定远程地址的会话。

315: REMOTE_ADDRPORT_UNALLOWED. The gateway will not allow the host to establish a session to the specified remote address / port tuple.

315:不允许远程添加端口。网关将不允许主机建立到指定远程地址/端口元组的会话。

400's: IPsec errors. All errors specific to RSIP / IPsec operation. See [RSIP-IPSEC].

400的:IPsec错误。特定于RSIP/IPsec操作的所有错误。请参阅[RSIP-IPSEC]。

15. Appendix B: Message Types
15. 附录B:信息类型

This section defines the values assigned to RSIP message types. We also indicate which RSIP entity, host or gateway, produces each messages, and whether it is mandatory or optional. All *_REQUEST messages are only to be implemented on hosts, while all *_RESPONSE messages are only to be implemented on gateways. RSIP implementations (both host and gateway) MUST support all mandatory messages in order to be considered "RSIP compliant".

本节定义分配给RSIP消息类型的值。我们还指出哪个RSIP实体(主机或网关)生成每条消息,以及它是强制的还是可选的。所有*_请求消息仅在主机上实现,而所有*_响应消息仅在网关上实现。RSIP实现(主机和网关)必须支持所有强制消息,才能被视为“符合RSIP”。

   Value    Message                 Implementation     Status
   ------------------------------------------------------------
    1     ERROR_RESPONSE                gateway        mandatory
    2     REGISTER_REQUEST              host           mandatory
    3     REGISTER_RESPONSE             gateway        mandatory
    4     DE-REGISTER_REQUEST           host           mandatory
    5     DE-REGISTER_RESPONSE          gateway        mandatory
    6     ASSIGN_REQUEST_RSA-IP         host           optional
    7     ASSIGN_RESPONSE_RSA-IP        gateway        optional
    8     ASSIGN_REQUEST_RSAP-IP        host           mandatory
    9     ASSIGN_RESPONSE_RSAP-IP       gateway        mandatory
   10     EXTEND_REQUEST                host           mandatory
   11     EXTEND_RESPONSE               gateway        mandatory
   12     FREE_REQUEST                  host           mandatory
   13     FREE_RESPONSE                 gateway        mandatory
   14     QUERY_REQUEST                 host           optional
   15     QUERY_RESPONSE                gateway        mandatory
   16     LISTEN_REQUEST                host           optional
   17     LISTEN_RESPONSE               gateway        optional
        
   Value    Message                 Implementation     Status
   ------------------------------------------------------------
    1     ERROR_RESPONSE                gateway        mandatory
    2     REGISTER_REQUEST              host           mandatory
    3     REGISTER_RESPONSE             gateway        mandatory
    4     DE-REGISTER_REQUEST           host           mandatory
    5     DE-REGISTER_RESPONSE          gateway        mandatory
    6     ASSIGN_REQUEST_RSA-IP         host           optional
    7     ASSIGN_RESPONSE_RSA-IP        gateway        optional
    8     ASSIGN_REQUEST_RSAP-IP        host           mandatory
    9     ASSIGN_RESPONSE_RSAP-IP       gateway        mandatory
   10     EXTEND_REQUEST                host           mandatory
   11     EXTEND_RESPONSE               gateway        mandatory
   12     FREE_REQUEST                  host           mandatory
   13     FREE_RESPONSE                 gateway        mandatory
   14     QUERY_REQUEST                 host           optional
   15     QUERY_RESPONSE                gateway        mandatory
   16     LISTEN_REQUEST                host           optional
   17     LISTEN_RESPONSE               gateway        optional
        
16. Appendix C: Example RSIP host/gateway transactions
16. 附录C:RSIP主机/网关事务示例

In this appendix, we present an exemplary series of annotated transactions between an RSIP host and an RSIP gateway. All host to gateway traffic is denote by `C --> S' and all gateway to host traffic is denoted by `S --> C'. Parameter values are denoted inside of parentheses. Versions, message types, and overall lengths are not included in order to save space. "Don't care" values are indicated by 0's.

在本附录中,我们展示了RSIP主机和RSIP网关之间的一系列示例性注释事务。所有主机到网关的流量都用“C-->S”表示,所有网关到主机的流量都用“S-->C”表示。参数值在括号内表示。为了节省空间,不包括版本、消息类型和总长度。“不在乎”值由0表示。

A ports parameter is represented by the number of ports followed by the port numbers, separated by dashes. For example, 2-1012-1013 indicates two ports, namely 1012 and 1013, while 16-10000 indicates 16 ports, namely 10000-10015, and 4-0 indicates four ports, but the sender doesn't care where they are.

ports参数由端口数和端口号表示,后面用破折号分隔。例如,2-1012-1013表示两个端口,即1012和1013,而16-10000表示16个端口,即10000-10015,4-0表示四个端口,但发送方不关心它们在哪里。

IPv4 addresses are assumed.

假定为IPv4地址。

16.1. RSAP-IP with Local Macro-flow Based Policy and No Remote Flow Policy

16.1. 具有基于本地宏流策略和无远程流策略的RSAP-IP

This example exhibits the loosest policy framework for RSAP-IP.

本例展示了RSAP-IP最宽松的策略框架。

   C --> S: REGISTER_REQUEST ()
        
   C --> S: REGISTER_REQUEST ()
        

The host attempts to register with the gateway.

主机尝试向网关注册。

   S --> C: REGISTER_RESPONSE (Client ID = 1, Local Flow Policy =
      Macro, Remote Flow policy = None, Lease Time = 600)
        
   S --> C: REGISTER_RESPONSE (Client ID = 1, Local Flow Policy =
      Macro, Remote Flow policy = None, Lease Time = 600)
        

The gateway responds, assigning a Client ID of 1, local macro-flow based policy and no remote flow policy. No RSIP method is indicated, so RSAP-IP is assumed. No tunnel type is indicated, so IP-IP is assumed. A lease time of 600 seconds is assigned.

网关响应,分配客户端ID 1、基于本地宏流的策略和无远程流策略。未指明RSIP方法,因此假定为RSAP-IP。未指明隧道类型,因此假定为IP-IP。已分配600秒的租用时间。

   C --> S: ASSIGN_REQUEST_RSAP-IP: (Client ID = 1, Address (local) =
      0, Ports (local) = 4-0, Address (remote) = 0, Ports (remote) =
      0, Lease Time = 3600)
        
   C --> S: ASSIGN_REQUEST_RSAP-IP: (Client ID = 1, Address (local) =
      0, Ports (local) = 4-0, Address (remote) = 0, Ports (remote) =
      0, Lease Time = 3600)
        

The host requests an address and four ports to use with it, but doesn't care which address or ports are assigned. The host does not specify the remote address or ports either. The host suggests a lease time of 3600 seconds.

主机请求使用一个地址和四个端口,但不关心分配了哪个地址或端口。主机也不指定远程地址或端口。主机建议租用时间为3600秒。

   S --> C: ASSIGN_RESPONSE_RSAP-IP: (Client ID = 1, Bind ID = 1,
      Address (local) = 149.112.240.156, Ports (local) = 4-1234,
      Address (remote) = 0, Ports (remote) = 0, Lease Time = 1800,
      Tunnel Type = IP-IP)
        
   S --> C: ASSIGN_RESPONSE_RSAP-IP: (Client ID = 1, Bind ID = 1,
      Address (local) = 149.112.240.156, Ports (local) = 4-1234,
      Address (remote) = 0, Ports (remote) = 0, Lease Time = 1800,
      Tunnel Type = IP-IP)
        

The gateway responds by indicating that a bind ID of 1 has been assigned to IP address 149.112.240.156 with ports 1234-1237. Any remote host may be communicated with, using any remote port number. The lease time has been assigned to be 1800 seconds, and the tunnel type is confirmed to be IP-IP.

网关通过指示绑定ID 1已分配给具有端口1234-1237的IP地址149.112.240.156来响应。可以使用任何远程端口号与任何远程主机通信。租赁时间已指定为1800秒,隧道类型已确认为IP-IP。

The host is now able to communicate with any host on the public network using these resources.

主机现在可以使用这些资源与公共网络上的任何主机通信。

   C --> S: QUERY_REQUEST: (Client ID = 1, Indicator = network,
      Address (network) = 10.20.60.0, Address (netmask)
      255.255.255.0)
        
   C --> S: QUERY_REQUEST: (Client ID = 1, Indicator = network,
      Address (network) = 10.20.60.0, Address (netmask)
      255.255.255.0)
        

The host asks the gateway if the network 10.20.60.0/24 is local.

主机询问网关10.20.60.0/24网络是否为本地网络。

   S --> C: QUERY_RESPONSE: (Client ID = 1, Indicator = network,
      Address (network) = 10.20.60.0, Address (netmask) =
      255.255.255.0)
        
   S --> C: QUERY_RESPONSE: (Client ID = 1, Indicator = network,
      Address (network) = 10.20.60.0, Address (netmask) =
      255.255.255.0)
        

The gateway responds indicating that the network in question is local.

网关作出响应,表明所讨论的网络是本地的。

   C --> S: ASSIGN_REQUEST_RSAP-IP: (Client ID = 1, Address (local) =
      149.112.240.156, Ports (local) = 8-1238, Address (remote) = 0,
      Ports (remote) = 0, Lease Time = 1800)
        
   C --> S: ASSIGN_REQUEST_RSAP-IP: (Client ID = 1, Address (local) =
      149.112.240.156, Ports (local) = 8-1238, Address (remote) = 0,
      Ports (remote) = 0, Lease Time = 1800)
        

The host requests eight more particular ports for use with RSAP-IP with the same address. A lease of 1800 seconds is requested. IP-IP tunneling is implied by default.

主机请求另外八个特定端口与具有相同地址的RSAP-IP一起使用。请求租用1800秒。默认情况下暗示IP-IP隧道。

   S --> C: ASSIGN_RESPONSE_RSAP-IP: (Client ID = 1, Bind ID = 2,
      Address (local) = 149.112.240.156, Ports (local) = 8-1305,
      Address (remote) = 0, Ports (remote) = 0, Lease Time = 1800)
        
   S --> C: ASSIGN_RESPONSE_RSAP-IP: (Client ID = 1, Bind ID = 2,
      Address (local) = 149.112.240.156, Ports (local) = 8-1305,
      Address (remote) = 0, Ports (remote) = 0, Lease Time = 1800)
        

The gateway grants the request with the same address, but with a different set of ports. IP-IP tunneling is implied by default.

网关授予具有相同地址但具有不同端口集的请求。默认情况下暗示IP-IP隧道。

   C --> S: FREE_REQUEST (Client ID = 1, Bind ID = 1)
        
   C --> S: FREE_REQUEST (Client ID = 1, Bind ID = 1)
        

The host frees bind ID 1; i.e., ports 1234-1237 from IP address 149.112.240.156. Note that the address itself is still assigned to the host because the host is still assigned ports 1305-1314.

主机释放绑定ID 1;i、 例如,来自IP地址149.112.240.156的端口1234-1237。注意,地址本身仍然被分配给主机,因为主机仍然被分配端口1305-1314。

   S --> C: FREE_RESPONSE (Client ID = 1, Bind ID = 1)
        
   S --> C: FREE_RESPONSE (Client ID = 1, Bind ID = 1)
        

The gateway acknowledges that Bind ID 1 has been freed.

网关确认绑定ID 1已被释放。

   C --> S: EXTEND_REQUEST (Client ID = 1, Bind ID = 2, Lease Time =
      1800)
        
   C --> S: EXTEND_REQUEST (Client ID = 1, Bind ID = 2, Lease Time =
      1800)
        

The host request that the lease on bind ID 1 be extended for 1800 seconds.

主机请求将绑定ID 1上的租约延长1800秒。

   S --> C: EXTEND_RESPONSE (Client ID = 1, Bind ID = 2, Lease Time =
      1800)
        
   S --> C: EXTEND_RESPONSE (Client ID = 1, Bind ID = 2, Lease Time =
      1800)
        

The gateway confirms the request.

网关确认该请求。

   S --> C: FREE_RESPONSE (Client ID = 1, Bind ID = 2)
        
   S --> C: FREE_RESPONSE (Client ID = 1, Bind ID = 2)
        

The gateway forces the host to free the resources of bind ID 2.

网关强制主机释放绑定ID 2的资源。

   C --> S: DE-REGISTER_REQUEST (Client ID = 1)
        
   C --> S: DE-REGISTER_REQUEST (Client ID = 1)
        

The host de-registers with the sever.

主机向服务器注销。

   S --> C: DE-REGISTER_RESPONSE (Client ID = 1)
        
   S --> C: DE-REGISTER_RESPONSE (Client ID = 1)
        

The gateway acknowledges that the host has de-registered.

网关确认主机已取消注册。

16.2. RSAP-IP with Local Micro-flow Based Policy and Remote Micro-flow Based Policy

16.2. 具有基于本地微流策略和基于远程微流策略的RSAP-IP

This example exhibits the strictest policy framework for RSAP-IP.

本例展示了RSAP-IP最严格的政策框架。

   C --> S: REGISTER_REQUEST ()
        
   C --> S: REGISTER_REQUEST ()
        

The host attempts to register with the gateway.

主机尝试向网关注册。

   S --> C: REGISTER_RESPONSE (Client ID = 5, Local Flow Policy =
      Micro, Remote Flow policy = Micro, RSIP Method = RSAP-IP, RSIP
      Method = RSA-IP, Tunnel Type = IP-IP, Tunnel Type = GRE, Lease
      Time = 600)
        
   S --> C: REGISTER_RESPONSE (Client ID = 5, Local Flow Policy =
      Micro, Remote Flow policy = Micro, RSIP Method = RSAP-IP, RSIP
      Method = RSA-IP, Tunnel Type = IP-IP, Tunnel Type = GRE, Lease
      Time = 600)
        

The gateway responds, assigning a Client ID of 5, local micro-flow based policy and remote micro-flow based policy. Both RSAP-IP and RSA-IP are supported. Both IP-IP and GRE tunnel types are supported. A lease time of 600 seconds is assigned.

网关响应,分配客户端ID 5、基于本地微流的策略和基于远程微流的策略。支持RSAP-IP和RSA-IP。支持IP-IP和GRE隧道类型。已分配600秒的租用时间。

   C --> S: ASSIGN_REQUEST_RSAP-IP: (Client ID = 5, Address (local) =
      0, Ports (local) = 0, Address (remote) = 38.196.73.6, Ports
      (remote) = 21, Lease Time = 600, Tunnel Type = IP-IP)
        
   C --> S: ASSIGN_REQUEST_RSAP-IP: (Client ID = 5, Address (local) =
      0, Ports (local) = 0, Address (remote) = 38.196.73.6, Ports
      (remote) = 21, Lease Time = 600, Tunnel Type = IP-IP)
        

The host requests a local address and a port assignment to use with it. The host indicates that it wants to contact host 38.196.73.6 at port 21 (FTP control). The host requests a lease time of 600 seconds and a tunnel type of IP-IP.

主机请求一个本地地址和一个端口分配以与之一起使用。主机表示希望通过端口21(FTP控制)联系主机38.196.73.6。主机请求600秒的租用时间和IP-IP隧道类型。

   S --> C: ASSIGN_RESPONSE_RSAP-IP: (Client ID = 5, Bind ID = 1,
      Address (local) = 149.112.240.156, Ports (local) = 2049,
      Address (remote) = 38.196.73.6, Ports (remote) = 21, Lease Time
      = 600, Tunnel Type = IP-IP)
        
   S --> C: ASSIGN_RESPONSE_RSAP-IP: (Client ID = 5, Bind ID = 1,
      Address (local) = 149.112.240.156, Ports (local) = 2049,
      Address (remote) = 38.196.73.6, Ports (remote) = 21, Lease Time
      = 600, Tunnel Type = IP-IP)
        

The gateway responds by indicating that a bind ID of 1 has been assigned to IP address 149.112.240.156 with port 2049. Only host 38.196.73.6 at port 21 may be contacted. The lease time has been assigned to be 600 seconds, and the tunnel type is confirmed to be IP-IP.

网关通过指示绑定ID 1已分配给端口2049的IP地址149.112.240.156进行响应。只能联系端口21处的主机38.196.73.6。租赁时间已指定为600秒,隧道类型已确认为IP-IP。

   C --> S: LISTEN_REQUEST: (Client ID = 5, Address (local) =
      149.112.240.156, Ports (local) = 2050, Address (remote) =
      38.196.73.6, Ports (remote) = 20)
        
   C --> S: LISTEN_REQUEST: (Client ID = 5, Address (local) =
      149.112.240.156, Ports (local) = 2050, Address (remote) =
      38.196.73.6, Ports (remote) = 20)
        

The host requests a listen port 2050 at the same address that it has been assigned. Only host 38.196.73.6 from ports 20 (FTP data) will be able to contact it.

主机在其已分配的相同地址请求侦听端口2050。只有来自端口20(FTP数据)的主机38.196.73.6才能与其联系。

   S --> C: LISTEN_RESPONSE: (Client ID = 5, Address (local) =
      149.112.240.156, Ports (local) = 2050, Address (remote) =
      38.196.73.6, Ports (remote) = 20, Lease Time = 600, Tunnel Type
      = IP-IP)
        
   S --> C: LISTEN_RESPONSE: (Client ID = 5, Address (local) =
      149.112.240.156, Ports (local) = 2050, Address (remote) =
      38.196.73.6, Ports (remote) = 20, Lease Time = 600, Tunnel Type
      = IP-IP)
        

The gateway confirms the request and assigns a lease time of 600 seconds and a tunnel type of IP-IP.

网关确认请求并分配600秒的租用时间和IP-IP的隧道类型。

   C --> S: DE-REGISTER_REQUEST (Client ID = 5)
        
   C --> S: DE-REGISTER_REQUEST (Client ID = 5)
        

The host de-registers with the sever.

主机向服务器注销。

   S --> C: DE-REGISTER_RESPONSE (Client ID = 5)
        
   S --> C: DE-REGISTER_RESPONSE (Client ID = 5)
        

The gateway acknowledges that the host has de-registered. All of the host's bindings have been implicitly revoked.

网关确认主机已取消注册。所有主机的绑定都已隐式撤销。

16.3. RSA-IP with Local Macro-flow Based Policy and Remote Macro-flow based Policy

16.3. RSA-IP具有基于本地宏流的策略和基于远程宏流的策略

This example exhibits a medium level of control for RSA-IP.

此示例展示了RSA-IP的中等控制级别。

   C --> S: REGISTER_REQUEST ()
        
   C --> S: REGISTER_REQUEST ()
        

The host attempts to register with the gateway.

主机尝试向网关注册。

   S --> C: REGISTER_RESPONSE (Client ID = 3, Local Flow Policy =
      Macro, Remote Flow policy = Macro, RSIP Method = RSAP-IP, RSIP
      Method = RSA-IP, Tunnel Type = IP-IP, Tunnel Type = L2TP, Lease
      Time = 600)
        
   S --> C: REGISTER_RESPONSE (Client ID = 3, Local Flow Policy =
      Macro, Remote Flow policy = Macro, RSIP Method = RSAP-IP, RSIP
      Method = RSA-IP, Tunnel Type = IP-IP, Tunnel Type = L2TP, Lease
      Time = 600)
        

The gateway responds, assigning a Client ID of 3, local macro-flow based policy and remote macro-flow based policy. Both RSAP-IP and RSA-IP are supported. Both IP-IP and L2TP tunnel types are supported. A lease time of 600 seconds is assigned.

网关响应,分配客户端ID 3、基于本地宏流的策略和基于远程宏流的策略。支持RSAP-IP和RSA-IP。支持IP-IP和L2TP隧道类型。已分配600秒的租用时间。

   C --> S: ASSIGN_REQUEST_RSA-IP: (Client ID = 3, Address (local) =
      0, Address (remote) = www.foo.com, Ports (remote) = 0, Lease
      Time = 3600, Tunnel Type = IP-IP)
        
   C --> S: ASSIGN_REQUEST_RSA-IP: (Client ID = 3, Address (local) =
      0, Address (remote) = www.foo.com, Ports (remote) = 0, Lease
      Time = 3600, Tunnel Type = IP-IP)
        

The host requests a local address and indicates that it wants to contact host www.foo.com.

主机请求一个本地地址,并表示希望联系主机www.foo.com。

   S --> C: ERROR_RESPONSE: (Error = REMOTE_ADDR_UNALLOWED, Client ID
      = 3)
        
   S --> C: ERROR_RESPONSE: (Error = REMOTE_ADDR_UNALLOWED, Client ID
      = 3)
        

The gateway indicates that the host is not permitted to establish communication with www.foo.com.

网关表示不允许主机与www.foo.com建立通信。

   C --> S: ASSIGN_REQUEST_RSA-IP: (Client ID = 3, Address (local) =
      0, Address (remote) = www.bar.com, Ports (remote) = 0, Lease
      Time = 3600, Tunnel Type = IP-IP)
        
   C --> S: ASSIGN_REQUEST_RSA-IP: (Client ID = 3, Address (local) =
      0, Address (remote) = www.bar.com, Ports (remote) = 0, Lease
      Time = 3600, Tunnel Type = IP-IP)
        

The host requests a local address and indicates that it wants to contact host www.bar.com.

主机请求一个本地地址,并表示希望联系主机www.bar.com。

   S --> C: ASSIGN_RESPONSE_RSA-IP: (Client ID = 3, Bind ID = 1,
      Address (local) = 149.112.240.17, Address (remote) =
      www.bar.com, Ports (remote) = 0, Lease Time = 3600, Tunnel Type
      = IP-IP)
        
   S --> C: ASSIGN_RESPONSE_RSA-IP: (Client ID = 3, Bind ID = 1,
      Address (local) = 149.112.240.17, Address (remote) =
      www.bar.com, Ports (remote) = 0, Lease Time = 3600, Tunnel Type
      = IP-IP)
        

The gateway responds by granting local IP address 149.112.240.17 to the host, and permitting it to communicate with www.bar.com, at any port. Requested lease time and tunnel type are also granted.

网关通过向主机授予本地IP地址149.112.240.17,并允许主机在任何端口与www.bar.com通信来响应。还将授予请求的租赁时间和隧道类型。

   C --> S: DE-REGISTER_REQUEST (Client ID = 3)
        
   C --> S: DE-REGISTER_REQUEST (Client ID = 3)
        

The host de-registers with the sever.

主机向服务器注销。

   S --> C: DE-REGISTER_RESPONSE (Client ID = 3)
        
   S --> C: DE-REGISTER_RESPONSE (Client ID = 3)
        

The gateway acknowledges that the host has de-registered. All of the host's bindings have been implicitly revoked.

网关确认主机已取消注册。所有主机的绑定都已隐式撤销。

17. Appendix D: Example RSIP host state diagram
17. 附录D:RSIP主机状态图示例

This appendix provides an exemplary diagram of RSIP host state. The host begins in the unregistered state. We assume that for UDP, if a message is lost, the host will timeout and retransmit another copy of it. We recommend a 7-fold binary exponential backoff timer for retransmissions, with the first timeout occurring after 12.5 ms. This diagram does not include transitions for the LISTEN_REQUEST message.

本附录提供了RSIP主机状态的示例图。主机从未注册状态开始。我们假设对于UDP,如果消息丢失,主机将超时并重新传输它的另一个副本。我们建议使用7倍二进制指数回退计时器进行重新传输,第一次超时发生在12.5毫秒之后。此图不包括侦听请求消息的转换。

                        send
                  REGISTER_REQUEST
     +------------+              +------------+
     |            |------------->|Registration|<-- timeout/send
+--->|Unregistered|<-------------|  Pending   |--- REGISTER_REQUEST
|    |            |              +------------+
|    +------------+ 7th timeout/recv    |
|          ^         ERROR_RESPONSE     |
|          |                            |
|          |                            |
|          |7th timeout/recv            |recv              timeout/send
|          |DE-REGISTER_RESPONSE        |REGISTER_RESPONSE QUERY_REQUEST
|          |                            |                        ^  |
|          |                            |                        |  |
|          |                            |            send        |  |
|          |            send DE-        v        QUERY_REQUEST   |  |
| +----------------+ REGISTER_REQUEST+----------+          +----------+
| |   Registered   |<----------------|          |--------->|Registered|
| | De-registration|                 |Registered|          |   Query  |
| |    Pending     |---------------->|          |<---------|  Pending |
| +----------------+      recv       +----------+          +----------+
|         | ^        ERROR_RESPONSE        ^  |   7th timeout/recv
|         | |                              |  |  QUERY_RESPONSE or
|    timeout/send                          |  |    ERROR_RESPONSE
| DE-REGISTER_REQUEST      7th timeout/recv|  |
|                           ERROR_RESPONSE |  |
|                                          |  |
| +----------------+                       |  |
| |Go to Registered|                       |  |send
| +----------------+                       |  |ASSIGN_REQUEST
|         ^                   timeout/send |  |
|         |Yes                FREE_REQUEST |  |
|         +                       |  |     |  |
|       +   +                     v  |     |  v
|     +       +   7th timeout/ +--------+ +----------+
|   +  Are all  +      recv    |  Free  | |Assignment|<--timeout/send
| +   resources   +<-----------|Pending | |  Pending |---ASSIGN_REQUEST
|   +   freed?  + FREE_RESPONSE+--------+ +----------+
|     +       +                    ^ |         |
|       +   +                      | |         |
|         +                        | |         |recv
|         |No                 send | |recv     |ASSIGN_RESPONSE
|         v           ERROR_REQUEST| |ERROR_   |
| +---------------+                | |RESPONSE |
| | Go to Assigned|                | |         | 7th timeout/recv
| +---------------+                | |         | QUERY_RESPONSE or
|                       recv       | |         | ERROR_RESPONSE
| +---------------+ERROR_RESPONSE  | v         v          +-----------+
        
                        send
                  REGISTER_REQUEST
     +------------+              +------------+
     |            |------------->|Registration|<-- timeout/send
+--->|Unregistered|<-------------|  Pending   |--- REGISTER_REQUEST
|    |            |              +------------+
|    +------------+ 7th timeout/recv    |
|          ^         ERROR_RESPONSE     |
|          |                            |
|          |                            |
|          |7th timeout/recv            |recv              timeout/send
|          |DE-REGISTER_RESPONSE        |REGISTER_RESPONSE QUERY_REQUEST
|          |                            |                        ^  |
|          |                            |                        |  |
|          |                            |            send        |  |
|          |            send DE-        v        QUERY_REQUEST   |  |
| +----------------+ REGISTER_REQUEST+----------+          +----------+
| |   Registered   |<----------------|          |--------->|Registered|
| | De-registration|                 |Registered|          |   Query  |
| |    Pending     |---------------->|          |<---------|  Pending |
| +----------------+      recv       +----------+          +----------+
|         | ^        ERROR_RESPONSE        ^  |   7th timeout/recv
|         | |                              |  |  QUERY_RESPONSE or
|    timeout/send                          |  |    ERROR_RESPONSE
| DE-REGISTER_REQUEST      7th timeout/recv|  |
|                           ERROR_RESPONSE |  |
|                                          |  |
| +----------------+                       |  |
| |Go to Registered|                       |  |send
| +----------------+                       |  |ASSIGN_REQUEST
|         ^                   timeout/send |  |
|         |Yes                FREE_REQUEST |  |
|         +                       |  |     |  |
|       +   +                     v  |     |  v
|     +       +   7th timeout/ +--------+ +----------+
|   +  Are all  +      recv    |  Free  | |Assignment|<--timeout/send
| +   resources   +<-----------|Pending | |  Pending |---ASSIGN_REQUEST
|   +   freed?  + FREE_RESPONSE+--------+ +----------+
|     +       +                    ^ |         |
|       +   +                      | |         |
|         +                        | |         |recv
|         |No                 send | |recv     |ASSIGN_RESPONSE
|         v           ERROR_REQUEST| |ERROR_   |
| +---------------+                | |RESPONSE |
| | Go to Assigned|                | |         | 7th timeout/recv
| +---------------+                | |         | QUERY_RESPONSE or
|                       recv       | |         | ERROR_RESPONSE
| +---------------+ERROR_RESPONSE  | v         v          +-----------+
        
| |    Assigned   |-------------->+-------------+-------->|  Assigned |
+>|De-registration|               |   Assigned  |         |   Query   |
  |    Pending    |<--------------+-------------+<--------|  Pending  |
  +---------------+      send            ^  |             +-----------+
        ^  |       DE-REGISTER_REQUEST   |  |         send         ^ |
        |  |                             |  |     QUERY_REQUEST    | |
        |  |                             |  |                      | |
    timeout/send        7th/timeout/recv |  |send                  | |
    DE-REGISTER_         ASSIGN_RESPONSE |  |ASSIGN_REQUEST timeout/send
      REQUEST           or ERROR_RESPONSE|  |              QUERY_REQUEST
                                         |  |
                                         |  v
                                     +----------+
                                     | Assigned |
                                     |Assignment|
                                     | Pending  |
                                     +----------+
                                         ^  |
                                         |  |
                                     timeout/send
                                    ASSIGN_REQUEST
        
| |    Assigned   |-------------->+-------------+-------->|  Assigned |
+>|De-registration|               |   Assigned  |         |   Query   |
  |    Pending    |<--------------+-------------+<--------|  Pending  |
  +---------------+      send            ^  |             +-----------+
        ^  |       DE-REGISTER_REQUEST   |  |         send         ^ |
        |  |                             |  |     QUERY_REQUEST    | |
        |  |                             |  |                      | |
    timeout/send        7th/timeout/recv |  |send                  | |
    DE-REGISTER_         ASSIGN_RESPONSE |  |ASSIGN_REQUEST timeout/send
      REQUEST           or ERROR_RESPONSE|  |              QUERY_REQUEST
                                         |  |
                                         |  v
                                     +----------+
                                     | Assigned |
                                     |Assignment|
                                     | Pending  |
                                     +----------+
                                         ^  |
                                         |  |
                                     timeout/send
                                    ASSIGN_REQUEST
        
18. References
18. 工具书类

[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.J. and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996.

[RFC1918]Rekhter,Y.,Moskowitz,B.,Karrenberg,D.,de Groot,G.J.和E.Lear,“私人互联网地址分配”,BCP 5,RFC 1918,1996年2月。

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

[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

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

[RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address Translator (NAT) Terminology and Considerations", RFC 2663, August 1999.

[RFC2663]Srisuresh,P.和M.Holdrege,“IP网络地址转换器(NAT)术语和注意事项”,RFC 2663,1999年8月。

[RSIP-FRAME] Borella, M. Lo, J., Grabelsky, D. and G. Montenegro, "Realm Specific IP: Framework", RFC 3102, October 2001.

[RSIP-FRAME]Borella,M.Lo,J.,Grabelsky,D.和G.黑山,“特定领域知识产权:框架”,RFC 3102,2001年10月。

[RSIP-IPSEC] Montenegro, G. and M. Borella, "RSIP Support for End-to-end IPSEC", RFC 3104, October 2001.

[RSIP-IPSEC]黑山,G.和M.Borella,“RSIP对端到端IPSEC的支持”,RFC 3104,2001年10月。

19. Authors' Addresses
19. 作者地址

Michael Borella CommWorks 3800 Golf Rd. Rolling Meadows IL 60008

伊利诺伊州Rolling Meadows高尔夫路3800号Michael Borella CommWorks 60008

Phone: (847) 262-3083 EMail: mike_borella@commworks.com

电话:(847)262-3083电子邮件:迈克_borella@commworks.com

David Grabelsky CommWorks 3800 Golf Rd. Rolling Meadows IL 60008

伊利诺伊州Rolling Meadows高尔夫路3800号David Grabelsky CommWorks 60008

Phone: (847) 222-2483 EMail: david_grabelsky@commworks.com

电话:(847)222-2483电子邮件:david_grabelsky@commworks.com

Jeffrey Lo Candlestick Networks, Inc 70 Las Colinas Lane, San Jose, CA 95119

Jeffrey Lo Candlestick Networks,Inc.加利福尼亚州圣何塞市Las Colinas巷70号,邮编95119

Phone: (408) 284 4132 EMail: yidarlo@yahoo.com

电话:(408)2844132电子邮件:yidarlo@yahoo.com

Kunihiro Taniguchi NEC USA C&C Research Labs. 110 Rio Robles San Jose, CA 95134

谷口邦弘NEC美国C&C研究实验室。110里约热内卢罗伯斯圣何塞,加利福尼亚州95134

Phone: (408) 943-3031 EMail: taniguti@ccrl.sj.nec.com

电话:(408)943-3031电子邮件:taniguti@ccrl.sj.nec.com

20. Full Copyright Statement
20. 完整版权声明

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。