Network Working Group                                         J. Luciani
Request for Comments: 2443                                  Bay Networks
Category: Experimental                                          A. Gallo
                                                                     IBM
                                                           November 1998
        
Network Working Group                                         J. Luciani
Request for Comments: 2443                                  Bay Networks
Category: Experimental                                          A. Gallo
                                                                     IBM
                                                           November 1998
        

A Distributed MARS Service Using SCSP

使用SCSP的分布式MARS服务

Status of this Memo

本备忘录的状况

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Copyright Notice

版权公告

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

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

Abstract

摘要

This document describes a method for distributing a MARS service within a LIS[1]. This method uses the Server Cache Synchronization Protocol (SCSP)[2] to synchronize the MARS Server databases within a LIS. When SCSP is used to synchronize the caches of MARS Servers in a LIS, the LIS defines the boundary of an SCSP Server Group (SG).

本文档描述了在LIS中分发MARS服务的方法[1]。此方法使用服务器缓存同步协议(SCSP)[2]同步LIS中的MARS服务器数据库。当SCSP用于同步LIS中MARS服务器的缓存时,LIS定义SCSP服务器组(SG)的边界。

1. Introduction
1. 介绍

The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [5].

本文件中出现的关键词必须、不得、必需、应、不应、应、不应、推荐、可和可选时,应按照[5]中所述进行解释。

The MARS is an extended analog of the ATMARP Server introduced in [4]. It provides the necessary connection and addressing services required by layer 3 multicast services over ATM. There are three basic elements to the MARS model. First, the MARS Server which manages and distributes layer 3 group membership information to the LIS. Second, MARS Clients which register with and query a single MARS Server for layer 3 multicast information. Third, MCS Clients which register with a single MARS Server and provide layer 3 multicast forwarding services for a LIS.

MARS是[4]中介绍的ATMARP服务器的扩展模拟。它提供ATM上第3层多播服务所需的必要连接和寻址服务。火星模型有三个基本要素。首先是MARS服务器,它管理第3层组成员信息并将其分发给LIS。第二,MARS客户机向单个MARS服务器注册并查询第3层多播信息。第三,MCS客户端在单个MARS服务器上注册,并为LIS提供第3层多播转发服务。

Both MARS Clients and MCS Clients explicitly register with the MARS Server before exchanging layer 3 multicast information. During the registration process MARS Clients are place on the Cluster Control VC

在交换第3层多播信息之前,MARS客户端和MCS客户端都显式地向MARS服务器注册。在注册过程中,MARS客户机被放置在群集控件VC上

(CCVC) and MCS Clients are placed on the Server Control VC (SCVC). Both the CCVC and SCVC are then used to propagate layer 3 multicast updates to the clients which make up a LIS. During the registration process MARS Clients are also assigned a unique Cluster Member ID (CMI) which is used to identify reflected packets in the presence of MCS Clients.

(CCVC)和MCS客户端放在服务器控件VC(SCVC)上。然后使用CCVC和SCVC将第3层多播更新传播到构成LIS的客户端。在注册过程中,MARS客户机还被分配一个唯一的集群成员ID(CMI),用于在MCS客户机存在时识别反射的数据包。

In the Distributed MARS Model there MAY be multiple MARS Servers in a given LIS, and since any MARS Server within the LIS MUST be able to provide layer 3 multicast information about any multicast group within the LIS, there MUST be a method by which to synchronize multicast information across all MARS Servers within the LIS.

在分布式MARS模型中,给定LIS中可能有多个MARS服务器,并且由于LIS中的任何MARS服务器必须能够提供有关LIS中任何多播组的第3层多播信息,因此必须有一种方法来同步LIS中所有MARS服务器的多播信息。

The Server Cache Synchronization Protocol (SCSP) solves the generalized server synchronization/cache-replication problem for distributed databases, and thus SCSP MAY be applied to the MARS Server database synchronization problem within a LIS. When SCSP is used to synchronize the caches of MARS Servers in a LIS, the LIS defines the boundary of and SCSP Server Group (SG).

服务器缓存同步协议(SCSP)解决了分布式数据库的通用服务器同步/缓存复制问题,因此SCSP可以应用于LIS中的MARS服务器数据库同步问题。当SCSP用于同步LIS中MARS服务器的缓存时,LIS将定义和SCSP服务器组(SG)的边界。

SCSP is defined in two parts: the protocol independent part and the client/server protocol specific part. The protocol independent part is specified in [2] whereas this document will specify the client/server protocol specific part where the MARS Server is the client/server protocol.

SCSP由两部分定义:协议独立部分和客户机/服务器协议特定部分。[2]中指定了协议独立部分,而本文档将指定特定于客户机/服务器协议的部分,其中MARS服务器是客户机/服务器协议。

2. Overview
2. 概述

All MARS Servers belonging to a LIS are said to belong to a Server Group (SG). A SG is identified by, not surprisingly, its SGID which is contained in a field in all SCSP packets. All SCSP packets contain a Protocol ID (PID) field as well. This PID field is set to 0x0003 to signify that SCSP is synchronizing MARS Server databases as opposed to synchronizing some other protocol's databases. (see Section B.2.0.1 of [2] for more details). In general, PIDs for SCSP will be assigned by IANA upon request given that a client/server protocol specific specification has been written. In the case of MARS Servers, the client/server protocol specific specification was written at the same time as SCSP, and thus a PID=0x0003 was assigned in [2].

所有属于LIS的MARS服务器都被称为属于服务器组(SG)。毫不奇怪,SG由其SGID标识,该SGID包含在所有SCSP数据包的字段中。所有SCSP数据包也包含一个协议ID(PID)字段。此PID字段设置为0x0003,表示SCSP正在同步MARS服务器数据库,而不是同步其他协议的数据库。(详见[2]第B.2.0.1节)。一般来说,如果已经编写了特定于客户机/服务器协议的规范,IANA将根据请求分配SCSP的PID。对于MARS服务器,客户机/服务器协议特定规范与SCSP同时编写,因此在[2]中分配了PID=0x0003。

SCSP places no topological requirements upon a MARS Server SG. Obviously, however, the resultant graph of MARS Servers must span the set of MARS Servers being synchronized. For more information about the client/server protocol independent part of SCSP, the reader is encouraged to see [2].

SCSP不对MARS服务器SG提出拓扑要求。然而,显然,MARS服务器的结果图必须跨越正在同步的MARS服务器集。有关SCSP的客户机/服务器协议独立部分的更多信息,请读者参阅[2]。

When a SG is using SCSP for synchronization, a MARS Client or MCS Client will register with only one MARS Server although it is allowed to choose any MARS Server in the SG for this registration. At registration time the MARS Client or MCS Client will be added to that MARS Servers respective CCVC or SCVC. Also, MARS Clients will be issued a unique CMI for the entire LIS. This document assumes at a minimum each MARS Server in the SG will be configured with a unique range of CMIs to assign to clients registering with that MARS Server. Use of some external means for allocating CMIs to MARS Servers in a SG is possible but beyond the scope of this document.

当SG使用SCSP进行同步时,MARS客户机或MCS客户机将仅向一台MARS服务器注册,尽管允许选择SG中的任何MARS服务器进行此注册。在注册时,MARS客户端或MCS客户端将分别添加到该MARS服务器的CCVC或SCVC中。此外,MARS客户端将针对整个LIS发布唯一的CMI。本文档假设SG中的每个MARS服务器至少配置有一个唯一的CMI范围,以分配给在该MARS服务器上注册的客户端。可以使用一些外部方法将CMI分配给SG中的MARS服务器,但超出了本文档的范围。

When a MARS Client or MCS Client successfully registers with a MARS Server in the SG that MARS Server will propagate the registration information to its peer MARS Servers. The same propagation will occur for any subsequent group membership information learned from the clients. The peer MARS Server will then update its group membership database and propagate the information out its own CCVC or SCVC if needed.

当MARS客户端或MCS客户端成功向SG中的MARS服务器注册时,MARS服务器将向其对等MARS服务器传播注册信息。对于从客户端了解到的任何后续组成员信息,也会发生相同的传播。然后,对等MARS服务器将更新其组成员数据库,并在需要时将信息传播到其自己的CCVC或SCVC中。

In the case of a MARS Server failure all peer MARS Servers in the SG MUST flush the client/group membership information learned from the failed MARS Server. The clients belonging to the failed MARS Servers CCVC and SCVC will migrate to the next available MARS Server as specified in Section 5.3 of [1]. When a client detects a failure of its MARS, it steps to the next backup MARS Server and attempts to register with the server. If the registration is successful the client will re-join all of its previous group membership information. If the registration fails, the process repeats until a functional MARS Server is found.

在MARS服务器发生故障的情况下,SG中的所有对等MARS服务器都必须刷新从发生故障的MARS服务器获取的客户机/组成员信息。属于故障MARS服务器CCVC和SCVC的客户端将迁移到[1]第5.3节中规定的下一个可用MARS服务器。当客户机检测到其MARS出现故障时,它会转到下一个备份MARS服务器并尝试向该服务器注册。如果注册成功,客户端将重新加入其以前的所有组成员信息。如果注册失败,该过程将重复,直到找到功能正常的MARS服务器。

Determining the operational state of a MARS Servers in a SG requires that each MARS Server send out an "alive" or "heartbeat" message similar to the MARS Redirect message sent out on the CCVC or SCVC for MARS Clients. However, this message will only be sent to MARS Servers in the SG and is from here on defined as the MARS Server Redirect Entry.

确定SG中MARS服务器的运行状态需要每个MARS服务器发送“活动”或“心跳”消息,类似于在CCVC或SCVC上为MARS客户端发送的MARS重定向消息。但是,此消息将仅发送到SG中的MARS服务器,并从此定义为MARS服务器重定向条目。

In order to detect that a MARS Server failure has occurred each server MUST update it's MARS Server Redirect Entry state at least every 2 minutes, it is RECOMMENDED that it is updated every 1 minute. Failure to receive two consecutive MARS Server Redirect Entry updates from a given MARS Server in the SG will cause all membership information learned from this server to be flushed. The MARS Server Redirect Entry state is also used to create the MARS_REDIRECT_MAP messages sent out on CCVC for each MARS Server in the SG. The ordering of each server learned will be based on the MARS Servers SCSP Sender ID. The ordering of the MARS_REDIRECT_MAP will first

为了检测是否发生了MARS服务器故障,每个服务器必须至少每2分钟更新一次其MARS服务器重定向条目状态,建议每1分钟更新一次。未能从SG中的给定MARS服务器接收两个连续的MARS服务器重定向条目更新,将导致从该服务器获取的所有成员信息被刷新。MARS Server Redirect Entry状态还用于为SG中的每个MARS Server创建在CCVC上发送的MARS_Redirect_映射消息。每个服务器的顺序将基于MARS Servers SCSP发送者ID。将首先对MARS_重定向_映射进行排序

contain the list of MARS Servers learned via MARS Server Redirect Entry updates in ascending order based on the SCSP Sender ID, followed by any externally configured or learned backup MARS Servers.

包含通过MARS Server Redirect Entry updates(基于SCSP发送者ID的升序)学习的MARS服务器列表,然后是任何外部配置或学习的备份MARS服务器。

In the case of a MARS Client or MCS Client failure where the client is unexpectedly removed from the CCVC or SCVC the MARS Server MUST notify its peer SG members via a proxy deregister for that client. Upon receiving a proxy deregister request from a peer SG member all membership information for the deregistering client MUST be removed. Any Clients sending multicast data to the failed client should also receive an unexpected removal of this client which will intern cause the sending client to revalidate the multicast groups current membership as outlined in Section 5.1.5.1 of [1].

如果MARS客户端或MCS客户端发生故障,且客户端意外从CCVC或SCVC中删除,则MARS服务器必须通过该客户端的代理注销器通知其对等SG成员。收到对等SG成员的代理注销请求后,必须删除注销客户端的所有成员信息。向故障客户端发送多播数据的任何客户端也应收到此客户端的意外删除,这将导致发送客户端重新验证多播组当前成员身份,如[1]第5.1.5.1节所述。

3. Format of the CSA Record MARS Specific Part
3. 特定零件的CSA记录格式

CSA Records in SCSP contain a "Client/Server Protocol Specific Part" which contains the non-protocol independent information for a given server's cache entry.

SCSP中的CSA记录包含“客户端/服务器协议特定部分”,其中包含给定服务器缓存项的非协议独立信息。

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Protocol Address             (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Minimum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Maximum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Protocol Address             (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Minimum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Maximum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Hardware Type Defines the type of "link layer" addresses being carried. This value is the ATM Forum 'address family number' specified in [3] as 15 decimal (0x000F). This is the mar$afn field defined in [1].

硬件类型定义所承载的“链路层”地址的类型。该值是[3]中指定的ATM论坛“地址系列号”,为15位小数(0x000F)。这是[1]中定义的mar$afn字段。

Protocol Type This field is the protocol type number for the protocol using MARS from [3]. (IPv4 is 0x0800). This is the mar$pro.type field from [1].

协议类型此字段是使用[3]中的MARS的协议的协议类型编号。(IPv4为0x0800)。这是[1]中的mar$pro.type字段。

Protocol SNAP This field is the optional protocol SNAP extension to protocol type. This is the mar$pro.snap field from [1].

协议快照此字段是协议类型的可选协议快照扩展。这是[1]中的mar$pro.snap字段。

Version Number 0 MARS Specific part of the CSA record. 0x01 Reserved for NHRP. 0x02 - 0xEF Reserved for future use by the IETF. 0xF0 - 0xFE Allocated for use by the ATM Forum. 0xFF Experimental/Local use. Version Number for this document MUST be set to 0x00.

版本号0是CSA记录的特定部分。0x01为NHRP保留。0x02-保留0xEF供IETF将来使用。0xF0-分配给ATM论坛使用的0xFE。0xFF实验/本地使用。此文档的版本号必须设置为0x00。

State 1 MARS Server Redirect Entry. 2 MCS Serve/Register request. 3 MARS Client Join/Register request. 4 MARS Client Leave/Deregister request. 5 MCS Unserve/Deregister request.

状态1 MARS服务器重定向条目。2 MCS服务/注册请求。3 MARS客户端加入/注册请求。4 MARS客户离开/注销请求。5 MCS取消服务/注销请求。

All other State values should cause the CSA to be discarded.

所有其他状态值应导致CSA被丢弃。

Flags The flags field is used to contain several flags and is similar to the mar$flags field from [1]. mar$flags Bit 15 - mar$flags.layer3grp Bit 13 - mar$flags.register Bit 0-7 - mar$flags.sequence

标志标志字段用于包含多个标志,类似于[1]中的mar$标志字段。mar$flags位15-mar$flags.layer3grp位13-mar$flags.register位0-7-mar$flags.sequence

All remaining bits are reserved and MUST be zero. The mars$flags.sequence field is of local significance only to the Local Server (LS).

所有剩余位均保留,且必须为零。mars$flags.sequence字段仅对本地服务器(LS)具有本地意义。

Cluster Member CMI This field contains the CMI which uniquely identifies each endpoint within a LIS. This is the mar$cmi field from [1].

集群成员CMI此字段包含唯一标识LIS中每个端点的CMI。这是[1]中的mar$cmi字段。

Src Addr Len This field contains the length of the Source Protocol Address field. For IPv4, the value is 4 if an address is specified. A null (non-existent) address MUST be coded as zero length, and no space allocated for it in the message body. This is the mar$spln field from [1].

Src Addr Len此字段包含源协议地址字段的长度。对于IPv4,如果指定了地址,则值为4。空(不存在)地址必须编码为零长度,并且在消息正文中不为其分配空间。这是[1]中的mar$spln字段。

Group Addr Len This field contains the length of the Group Protocol Address field. For IPv4, the value is 4 if an address is specified. A null (non-existent) address MUST be coded as zero length, and no space allocated for it in the message body. This is the mar$tpln field from [1].

Group Addr Len此字段包含组协议地址字段的长度。对于IPv4,如果指定了地址,则值为4。空(不存在)地址必须编码为零长度,并且在消息正文中不为其分配空间。这是[1]中的mar$tpln字段。

ATM Addr T/L This field contains the type and length of the Source ATM Address field. The type and length encoding is described in Section 5.1.2 of [1].

ATM地址T/L此字段包含源ATM地址字段的类型和长度。[1]第5.1.2节描述了类型和长度编码。

ATM SubAddr T/L This field contains the type and length of the Source ATM SubAddress field. The type and length encoding is described in Section 5.1.2 of [1].

ATM子地址T/L此字段包含源ATM子地址字段的类型和长度。[1]第5.1.2节描述了类型和长度编码。

Source Protocol Address This is the internetwork address for the source of an address binding in a MARS server cache entry. If null, no storage will be allocated. This is the mar$spa field from [1].

源协议地址这是MARS服务器缓存项中地址绑定源的网络间地址。如果为null,则不会分配任何存储。这是[1]中的mar$spa字段。

Source ATM Address This is the Source's ATM address of an address binding in a MARS server cache entry. The address, if specified, is E.164 or ATM Forum NSAPA. This is the mar$sha field from [1].

Source ATM Address这是MARS服务器缓存项中地址绑定的源ATM地址。如果指定,地址为E.164或ATM论坛NSAPA。这是[1]中的mar$sha字段。

Source ATM SubAddress This is the Source's ATM subaddress of an address binding in a MARS server cache entry. The subaddress, if specified, is an ATM Forum NSAPA. If null, no storage will be allocated. This is the mar$ssa field from [1].

源ATM子地址这是MARS服务器缓存项中地址绑定的源ATM子地址。如果指定,子地址是ATM论坛NSAPA。如果为null,则不会分配任何存储。这是[1]中的mar$ssa字段。

Minimum Multicast Group Address This is the internetwork address of the lower bound on the range of multicast group addresses for the address binding in a MARS server cache entry. If null, no storage will be allocated. This is the mar$min.N field from [1].

最小多播组地址这是MARS服务器缓存项中地址绑定的多播组地址范围下限的网络间地址。如果为null,则不会分配任何存储。这是[1]中的mar$min.N字段。

Maximum Multicast Group Address This is the internetwork address of the upper bound on the range of multicast group addresses for the address binding in a MARS server cache entry. If null, no storage will be allocated. This is the mar$max.N field from [1].

最大多播组地址这是MARS服务器缓存项中地址绑定的多播组地址范围上限的网络间地址。如果为null,则不会分配任何存储。这是[1]中的mar$max.N字段。

4. Values for SCSP Protocol Independent Part
4. SCSP协议独立部分的值

The following sections give values for fields of the SCSP Protocol Independent Part of the various SCSP messages.

以下各节给出了各种SCSP消息的SCSP协议独立部分的字段值。

4.1 Values for the SCSP "Mandatory Common Part"
4.1 SCSP“强制性通用零件”的值

Protocol ID = 0x0003 Sender ID Len = 0x04 Recvr ID Len = 0x04

协议ID=0x0003发送方ID Len=0x04 Recvr ID Len=0x04

See Section B.2.0.1 of [2] for a detailed description of these fields.

有关这些字段的详细说明,请参见[2]第B.2.0.1节。

4.2 Values for the SCSP "CSAS Record"
4.2 SCSP“CSAS记录”的值

Cache Key Len = 0x04 Orig ID Len = 0x04

缓存键Len=0x04原始ID Len=0x04

See Section B.2.0.2 of [2] for a detailed description of these fields.

有关这些字段的详细说明,请参见[2]第B.2.0.2节。

5. Detailed State Descriptions
5. 详细的状态描述

5.1 MARS Server Redirect Entry.

5.1 MARS服务器重定向条目。

The MARS Server Redirect Entry is used to determine the operational state of a MARS Server in the SG. Each server MUST update it's MARS Server Redirect Entry state at least every 2 minutes, it is RECOMMENDED that it is updated every 1 minute.

MARS服务器重定向条目用于确定SG中MARS服务器的运行状态。每个服务器必须至少每2分钟更新一次其MARS服务器重定向条目状态,建议每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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Hardware Type This value is the ATM Forum 'address family number' specified in [3] as 15 decimal (0x000F).

硬件类型此值是[3]中指定为15位小数(0x000F)的ATM论坛“地址系列号”。

Protocol Type This field is the protocol type number for the protocol using MARS from [3]. (IPv4 is 0x0800).

协议类型此字段是使用[3]中的MARS的协议的协议类型编号。(IPv4为0x0800)。

Protocol SNAP This field is the optional protocol SNAP extension to protocol type. This is the mar$pro.snap field from [1].

协议快照此字段是协议类型的可选协议快照扩展。这是[1]中的mar$pro.snap字段。

Version Number Version Number for this document MUST be set to 0x00.

版本号此文档的版本号必须设置为0x00。

State State value is coded as 1 decimal for a MARS Server Redirect Entry.

对于MARS服务器重定向条目,状态值编码为1十进制。

The Flags, Cluster Member ID, Src Addr Len, and Group Addr Len fields are unused and set to zero.

标志、集群成员ID、Src Addr Len和Group Addr Len字段未使用,并设置为零。

The ATM Addr T/L, ATM SubAddr T/L, Source ATM Address, and Source ATM SubAddress fields define the ATM address for the source of the MARS Server Redirect Entry in the SG. The coding for these fields are the same as described in Section 3 of this document.

ATM地址T/L、ATM子地址T/L、源ATM地址和源ATM子地址字段定义SG中MARS服务器重定向条目源的ATM地址。这些字段的编码与本文件第3节所述相同。

Failure to receive two consecutive MARS Server Redirect Entry updates from a given MARS Server in the SG will cause all membership information learned from this server to be flushed. When a valid MARS Server Redirect Entry update is received the source of this update will be placed into the table of backup MARS Servers sent in the MARS_REDIRECT_MAP message. The ordering of servers in the MARS_REDIRECT_MAP will first contain the list of MARS Servers learned via MARS Server Redirect Entry updates in ascending order based on the SCSP Sender ID, followed by any externally configured or learned backup MARS Servers. The format of the MARS_REDIRECT_MAP can be found in Section 5.4.3 of [1].

未能从SG中的给定MARS服务器接收两个连续的MARS服务器重定向条目更新,将导致从该服务器获取的所有成员信息被刷新。收到有效的MARS服务器重定向条目更新后,此更新的源将被放入MARS_Redirect_MAP消息中发送的备份MARS服务器表中。MARS_REDIRECT_映射中的服务器顺序将首先包含通过MARS Server REDIRECT条目更新学习到的MARS服务器列表,该列表基于SCSP发送方ID按升序排列,然后是任何外部配置或学习到的备份MARS服务器。火星图的格式见[1]第5.4.3节。

5.2 MCS Serve/Register request.

5.2 MCS服务/注册请求。

The MCS Serve/Register request is used to propagate the registering or servicing of specific groups by an MCS Client within the SG domain. It is similar to an MARS_MSERV request defined in Section 6.2.2 and 6.2.3 of [1]. When a MARS Server in the SG successfully adds a new MCS Client to it's SCVC or adds MCS support for a specific group it MUST send a MCS Serve/Register request to the SG. An MCS Client can only register with one MARS Server in the SG.

MCS服务/注册请求用于通过SG域内的MCS客户端传播特定组的注册或服务。它类似于[1]第6.2.2节和第6.2.3节中定义的MARS_MSERV请求。当SG中的MARS服务器成功向其SCVC添加新的MCS客户端或为特定组添加MCS支持时,它必须向SG发送MCS服务/注册请求。MCS客户端只能在SG中的一台MARS服务器上注册。

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Protocol Address             (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Minimum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Maximum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Protocol Address             (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Minimum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Maximum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Hardware Type This value is the ATM Forum 'address family number' specified in [3] as 15 decimal (0x000F).

硬件类型此值是[3]中指定为15位小数(0x000F)的ATM论坛“地址系列号”。

Protocol Type This field is the protocol type number for the protocol using MARS from [3]. (IPv4 is 0x0800).

协议类型此字段是使用[3]中的MARS的协议的协议类型编号。(IPv4为0x0800)。

Protocol SNAP This field is the optional protocol SNAP extension to protocol type. This is the mar$pro.snap field from [1].

协议快照此字段是协议类型的可选协议快照扩展。这是[1]中的mar$pro.snap字段。

Version Number Version Number for this document MUST be set to 0x00.

版本号此文档的版本号必须设置为0x00。

State State value is coded as 2 decimal for a MCS Serve/Register request.

对于MCS服务/寄存器请求,状态值编码为2十进制。

Flags The flags field is used to contain several flags:

标志标志字段用于包含多个标志:

mar$flags Bit 15 - mar$flags.layer3grp Bit 13 - mar$flags.register Bit 0-7 - mar$flags.sequence

mar$flags位15-mar$flags.layer3grp位13-mar$flags.register位0-7-mar$flags.sequence

The mar$flags.register bit MUST be set the same as in the originating MARS_MSERV request. The mar$flags.layer3grp bit MUST be zero and the mar$flags.sequence bits are of local significance only to the LS.

mar$flags.register位的设置必须与原始MARS_MSERV请求中的设置相同。mar$flags.layer3grp位必须为零,mar$flags.sequence位仅对LS具有本地意义。

Cluster Member CMI This field contains the CMI assigned by the MARS Server which processed the MARS_MSERV request and uniquely identifies the MCS Client in the MARS server cache.

群集成员CMI此字段包含由MARS服务器分配的CMI,该服务器处理MARS_MSERV请求,并在MARS服务器缓存中唯一标识MCS客户端。

Src Addr Len This field contains the length of the Source Protocol Address field. For IPv4, the value is 4 if an address is specified. A null (non-existent) address MUST be coded as zero length, and no space allocated for it in the message body.

Src Addr Len此字段包含源协议地址字段的长度。对于IPv4,如果指定了地址,则值为4。空(不存在)地址必须编码为零长度,并且在消息正文中不为其分配空间。

Group Addr Len This field contains the length of the Group Protocol Address field. If the register bit in the flags field is set to 1 in the request this field MUST be zero. If the register bit is zero in the flags field the value of this field for IPv4 is 4.

Group Addr Len此字段包含组协议地址字段的长度。如果在请求中将标志字段中的寄存器位设置为1,则该字段必须为零。如果标志字段中的寄存器位为零,则IPv4的此字段的值为4。

ATM Addr T/L This field contains the type and length of the Source ATM Address field for the MCS Client that originated the MARS_MSERV request. The type and length encoding is described in Section 3.

ATM Addr T/L此字段包含发起MARS_MSERV请求的MCS客户端的源ATM地址字段的类型和长度。第3节描述了类型和长度编码。

ATM SubAddr T/L This field contains the type and length of the Source ATM SubAddress field for the MCS Client that originated the MARS_MSERV request. The type and length encoding is described in Section 3.

ATM子地址T/L此字段包含发起MARS_MSERV请求的MCS客户端的源ATM子地址字段的类型和长度。第3节描述了类型和长度编码。

Source Protocol Address This is the internetwork address for the source of an address binding in a MARS server cache entry. If Src Addr Len is set to zero no storage will be allocated.

源协议地址这是MARS服务器缓存项中地址绑定源的网络间地址。如果Src Addr Len设置为零,则不会分配任何存储。

Source ATM Address This is the MCS Client's ATM address of an address binding in a MARS server cache entry. The address is E.164 or ATM Forum NSAPA.

源ATM地址这是MARS服务器缓存项中绑定的地址的MCS客户端ATM地址。地址是E.164或ATM论坛NSAPA。

Source ATM SubAddress This is the MCS Client's ATM subaddress of an address binding in a MARS server cache entry. The subaddress, if specified, is an ATM Forum NSAPA. If null, no storage will be allocated.

源ATM子地址这是MARS服务器缓存项中地址绑定的MCS客户端的ATM子地址。如果指定,子地址是ATM论坛NSAPA。如果为null,则不会分配任何存储。

Minimum Multicast Group Address This is the internetwork address of the lower bound on the range of multicast group addresses for the address binding in a MARS server cache entry. If Group Addr Len is set to zero no storage will be allocated.

最小多播组地址这是MARS服务器缓存项中地址绑定的多播组地址范围下限的网络间地址。如果Group Addr Len设置为零,则不会分配任何存储。

Maximum Multicast Group Address This is the internetwork address of the upper bound on the range of multicast group addresses for the address binding in a MARS server cache entry. If Group Addr Len is set to zero no storage will be allocated.

最大多播组地址这是MARS服务器缓存项中地址绑定的多播组地址范围上限的网络间地址。如果Group Addr Len设置为零,则不会分配任何存储。

An MCS Client can only register with one MARS Server in the SG and is only placed on the SCVC for the MARS Server for which it is registered with.

MCS客户机只能在SG中的一台MARS服务器上注册,并且只能放置在其注册的MARS服务器的SCVC上。

When a MCS Client Serve/Register request specifying a group address is received by a MARS Server it MUST create a cache entry associated with this client. In addition to adding the cache entry it MUST send out a MARS_MIGRATE message on it's CCVC. This is needed so that clients using a mesh topology can migrate to a server based topology. Details regarding the MARS_MIGRATE message can be found in Section 5.1.6 of [1].

当MARS服务器接收到指定组地址的MCS客户端服务/注册请求时,它必须创建与此客户端关联的缓存项。除了添加缓存条目外,它还必须在其CCVC上发送MARS_MIGRATE消息。这是必需的,以便使用网状拓扑的客户端可以迁移到基于服务器的拓扑。有关MARS_MIGRATE消息的详细信息,请参见[1]的第5.1.6节。

5.3 MARS Client Join/Register request.

5.3 MARS客户端加入/注册请求。

The MARS Client Join/Register request is used to propagate the registering or joining of specific group ranges by MARS Clients within the SG domain. It is similar to the MARS_JOIN request defined in Sections 5.2.1 to 5.2.3 of [1]. When a MARS Server in the SG successfully registers a new MARS Client or a registered client joins a specific group address range the MARS Server MUST send a MARS Client Join/Register request to the SG. A MARS Client can only register with one MARS Server in the SG and is placed only on that servers CCVC.

MARS客户端加入/注册请求用于在SG域内传播MARS客户端对特定组范围的注册或加入。它类似于[1]第5.2.1节至第5.2.3节中定义的MARS_加入请求。当SG中的MARS服务器成功注册新的MARS客户端或注册的客户端加入特定的组地址范围时,MARS服务器必须向SG发送MARS客户端加入/注册请求。MARS客户端只能在SG中的一台MARS服务器上注册,并且只能放置在该服务器CCVC上。

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Protocol Address             (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Minimum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Maximum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Hardware Type          |        Protocol Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SNAP                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     SNAP      |   Unused      |    Version    |   State       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Flags              |       Cluster Member ID       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Src Addr Len  | Group Addr Len| ATM Addr T/L  |ATM SubAddr T/L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Protocol Address             (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM Address                  (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source ATM SubAddress               (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Minimum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Maximum Multicast Group Address     (variable length)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Hardware Type This value is the ATM Forum 'address family number' specified in [3] as 15 decimal (0x000F).

硬件类型此值是[3]中指定为15位小数(0x000F)的ATM论坛“地址系列号”。

Protocol Type This field is the protocol type number for the protocol using MARS from [3]. (IPv4 is 0x0800).

协议类型此字段是使用[3]中的MARS的协议的协议类型编号。(IPv4为0x0800)。

Protocol SNAP This field is the optional protocol SNAP extension to protocol type. This is the mar$pro.snap field from [1].

协议快照此字段是协议类型的可选协议快照扩展。这是[1]中的mar$pro.snap字段。

Version Number Version Number for this document MUST be set to 0x00.

版本号此文档的版本号必须设置为0x00。

State State value is coded as 3 decimal for a MARS Client Join/Register request.

对于MARS客户端加入/注册请求,状态值编码为3位小数。

Flags The flags field is used to contain several flags:

标志标志字段用于包含多个标志:

mar$flags Bit 15 - mar$flags.layer3grp Bit 13 - mar$flags.register Bit 0-7 - mar$flags.sequence

mar$flags位15-mar$flags.layer3grp位13-mar$flags.register位0-7-mar$flags.sequence

The mars$flags.layer3grp and mar$flags.register bits MUST be set the same as in the originating MARS_JOIN request. The mar$flags.sequence bits are of local significance only to the LS.

mars$flags.layer3grp和mar$flags.register位的设置必须与原始mars_JOIN请求中的设置相同。mar$flags.sequence位仅对LS具有局部意义。

Cluster Member CMI This field contains the CMI assigned by the MARS Server which processed the MARS_JOIN request and uniquely identifies the MARS Client in the MARS server cache.

群集成员CMI此字段包含由MARS服务器分配的CMI,该服务器处理MARS_加入请求,并在MARS服务器缓存中唯一标识MARS客户端。

Src Addr Len This field contains the length of the Source Protocol Address field. For IPv4, the value is 4 if an address is specified. A null (non-existent) address MUST be coded as zero length, and no space allocated for it in the message body.

Src Addr Len此字段包含源协议地址字段的长度。对于IPv4,如果指定了地址,则值为4。空(不存在)地址必须编码为零长度,并且在消息正文中不为其分配空间。

Group Addr Len This field contains the length of the Group Protocol Address field. If the register bit in the flags field is set to 1 in the request this field MUST be zero. If the register bit is zero in the flags field the value of this field for IPv4 is 4.

Group Addr Len此字段包含组协议地址字段的长度。如果在请求中将标志字段中的寄存器位设置为1,则该字段必须为零。如果标志字段中的寄存器位为零,则IPv4的此字段的值为4。

ATM Addr T/L This field contains the type and length of the Source ATM Address field for the MARS Client that originated the MARS_JOIN request. The type and length encoding is described in Section 3.

ATM Addr T/L此字段包含发起MARS_加入请求的MARS客户端的源ATM地址字段的类型和长度。第3节描述了类型和长度编码。

ATM SubAddr T/L This field contains the type and length of the Source ATM SubAddress field for the MARS Client that originated the MARS_JOIN request. The type and length encoding is described in Section 3.

ATM子地址T/L此字段包含发起MARS_加入请求的MARS客户端的源ATM子地址字段的类型和长度。第3节描述了类型和长度编码。

Source Protocol Address This is the internetwork address for the source of an address binding in a MARS server cache entry. If Src Addr Len is set to zero no storage will be allocated.

源协议地址这是MARS服务器缓存项中地址绑定源的网络间地址。如果Src Addr Len设置为零,则不会分配任何存储。

Source ATM Address This is the MARS Client's ATM address of an address binding in a MARS server cache entry. The address is E.164 or ATM Forum NSAPA.

Source ATM Address这是MARS服务器缓存项中地址绑定的MARS客户端ATM地址。地址是E.164或ATM论坛NSAPA。

Source ATM SubAddress This is the MARS Client's ATM subaddress of an address binding in a MARS server cache entry. The subaddress, if specified, is an ATM Forum NSAPA. If null, no storage will be allocated.

Source ATM子地址这是MARS服务器缓存项中地址绑定的MARS客户端的ATM子地址。如果指定,子地址是ATM论坛NSAPA。如果为null,则不会分配任何存储。

Minimum Multicast Group Address This is the internetwork address of the lower bound on the range of multicast group addresses for the address binding in a MARS server cache entry. If Group Addr Len is set to zero no storage will be allocated.

最小多播组地址这是MARS服务器缓存项中地址绑定的多播组地址范围下限的网络间地址。如果Group Addr Len设置为零,则不会分配任何存储。

Maximum Multicast Group Address This is the internetwork address of the upper bound on the range of multicast group addresses for the address binding in a MARS server cache entry. If Group Addr Len is set to zero no storage will be allocated.

最大多播组地址这是MARS服务器缓存项中地址绑定的多播组地址范围上限的网络间地址。如果Group Addr Len设置为零,则不会分配任何存储。

An MARS Client can only register with one MARS Server in the SG and is only placed on the CCVC for the MARS Server for which it is registered with. If the mar$flags.layer3grp is set to 1 than the Minimum and Maximum Multicast Group Addresses MUST be equal for IPv4.

MARS客户端只能在SG中的一台MARS服务器上注册,并且只能放置在其注册的MARS服务器的CCVC上。如果mar$flags.layer3grp设置为1,则IPv4的最小和最大多播组地址必须相等。

When a MARS Client Join/Register request is sent with the mar$flags.register bit set to 1 all of the servers in the SG will create a cache entry for this client using the information in the request.

当发送mar$flags.Register位设置为1的mar客户端加入/注册请求时,SG中的所有服务器将使用请求中的信息为此客户端创建缓存条目。

When a registered MARS Client issues a MARS_JOIN for a specific group address range a MARS Client Join/Register request MUST be sent to the servers in the SG. The actions taken by each server in the SG depend on previous group membership actions and MCS supported groups.

当已注册的MARS客户端针对特定组地址范围发出MARS_加入时,必须向SG中的服务器发送MARS客户端加入/注册请求。SG中的每台服务器执行的操作取决于以前的组成员身份操作和MCS支持的组。

Each MARS Server MUST perform the necessary redistribution and hole punching algorithms before propagating this request to the CCVC and SCVC on each server. The redistribution and hole punching algorithms used for propagating join requests to the CCVC are the same as defined in Sections 6.1.2 and 6.2.4 of [1]. If the originating MARS_JOIN request is a duplicate of a previously joined range or contains no group address range than a MARS Client Join/Register MUST NOT be sent to the SG.

在将此请求传播到每个服务器上的CCVC和SCVC之前,每个MARS服务器必须执行必要的重新分发和打孔算法。用于将连接请求传播到CCVC的重新分布和穿孔算法与[1]第6.1.2节和第6.2.4节中的定义相同。如果原始MARS_加入请求是先前加入范围的副本或不包含组地址范围,则不得将MARS客户端加入/注册发送到SG。

The redistribution and hole punching algorithms used for propagating join requests as MARS_SJOIN request on a SCVC is the same as Section 6.2.4 except for the following. Only the MARS Servers which contain the registered MCS Clients for the target group ranges should propagate this information to their SCVCs.

用于在SCVC上传播连接请求(如MARS_SJOIN请求)的重新分布和穿孔算法与第6.2.4节相同,但以下情况除外。只有包含目标组范围的已注册MCS客户端的MARS服务器才应将此信息传播到其SCVC。

5.4 MARS Client Leave/Deregister request.

5.4 MARS客户离开/注销请求。

The MARS Client Leave/Deregister request is used to propagate the deregistering or leaving of specific group ranges by registered MARS Clients within the SG domain. It is similar to the MARS_LEAVE request defined in Sections 5.2.1 to 5.2.3 of [1]. When a MARS Server in the SG successfully deregisters a registered MARS Client or a registered client leaves a specific group address range for which it had joined the MARS Server MUST send a MARS Client Leave/Deregister request to the SG. If a registered MARS Client is unexpectedly removed from the CCVC the MARS Server MUST act as a proxy and send a MARS Client Leave/Deregister request to the SG.

MARS客户端离开/注销请求用于传播SG域内已注册MARS客户端对特定组范围的注销或注销。类似于[1]第5.2.1节至第5.2.3节中定义的MARS_休假请求。当SG中的MARS服务器成功注销已注册的MARS客户端或已注册的客户端离开其已加入的特定组地址范围时,MARS服务器必须向SG发送MARS客户端离开/注销请求。如果注册的MARS客户端意外从CCVC中删除,MARS服务器必须充当代理,并向SG发送MARS客户端离开/注销请求。

The format and meanings of the fields in a MARS Client Leave/Deregister request are the same as in Section 5.3 except the State is coded as 4 decimal for a MARS Client Leave/Deregister request.

MARS客户请假/注销请求中字段的格式和含义与第5.3节中的相同,只是MARS客户请假/注销请求的状态编码为4位小数。

When a MARS Client Leave/Deregister request is sent with the mar$flags.register bit set to 1 all of the servers in the SG receiving this update MUST purge all cache entries for this client.

当发送mar客户端离开/注销请求时,mar$flags.register位设置为1,接收此更新的SG中的所有服务器都必须清除此客户端的所有缓存项。

When a registered MARS Client issues a MARS_LEAVE for a specific group address range a MARS Client LEAVE/Deregister request MUST be sent to the servers in the SG. The actions taken by each server in the SG depend on previous group membership actions and MCS supported groups.

当已注册的MARS客户端针对特定的组地址范围发出MARS_请假时,必须向SG中的服务器发送MARS客户端请假/注销请求。SG中的每台服务器执行的操作取决于以前的组成员身份操作和MCS支持的组。

Each MARS Server MUST perform the necessary redistribution and hole punching algorithms before propagating this request to the CCVC and SCVC on each server. The redistribution and hole punching algorithms used for propagating leave requests to the CCVC are the same as defined in Sections 6.1.2 and 6.2.4 of [1]. If the originating MARS_LEAVE request does not correspond to a previously joined range or contains no group address range than a MARS Client Leave/Deregister MUST NOT be sent to the SG.

在将此请求传播到每个服务器上的CCVC和SCVC之前,每个MARS服务器必须执行必要的重新分发和打孔算法。用于向CCVC传播请假请求的再分配和穿孔算法与[1]第6.1.2节和第6.2.4节中的定义相同。如果原始MARS_请假请求不符合先前加入的范围或不包含任何组地址范围,则不得将MARS客户请假/注销发送给SG。

The redistribution and hole punching algorithms used for propagating leave requests as MARS_SLEAVE requests on a SCVC is the same as Section 6.2.4 except for the following. Only the MARS Servers which contain the registered MCS Clients for the target group ranges should propagate this information to their SCVCs.

用于在SCVC上将请假请求传播为MARS_Slave请求的重新分配和穿孔算法与第6.2.4节相同,但以下情况除外。只有包含目标组范围的已注册MCS客户端的MARS服务器才应将此信息传播到其SCVC。

5.5 MCS Unserve/Deregister request.

5.5 MCS取消服务/注销请求。

The MCS Unserve/Deregister request is used to propagate the deregistering or unservicing of specific groups by a registered MCS Client within the SG domain. It is similar to an MARS_MUNSERV request

MCS取消服务/取消注册请求用于通过SG域内已注册的MCS客户端传播特定组的取消注册或取消服务。它类似于MARS_MUNSERV请求

defined in Section 6.2.2 and 6.2.3 of [1]. When a MARS Server in the SG successfully deregisters a registered MCS Client or registered MCS Client stops serving a specific group address range for which it had serviced the MARS Server MUST send a MCS Unserve/Deregister request to the SG. If a registered MCS Client is unexpectedly removed from the SCVC the MARS Server owning the SCVC MUST act as a proxy and send a MCS Unserve/Deregister request to the SG.

定义见[1]第6.2.2节和第6.2.3节。当SG中的MARS服务器成功注销已注册的MCS客户端或已注册的MCS客户端停止服务其已服务的特定组地址范围时,MARS服务器必须向SG发送MCS取消服务/注销请求。如果注册的MCS客户端意外地从SCVC中删除,则拥有SCVC的MARS服务器必须充当代理,并向SG发送MCS取消服务/取消注册请求。

The format and meanings of the fields in a MCS Unserve/Deregister request are the same as in Section 5.2 except the State is coded as 5 decimal for a MCS Unserve/Deregister request.

MCS取消服务/注销请求中字段的格式和含义与第5.2节中的相同,只是MCS取消服务/注销请求的状态编码为5位小数。

When a MCS Client Unserve/Deregister request is sent with the mar$flags.register bit set to 1 all of the servers in the SG receiving this update MUST purge all cache entries for this client.

当发送MCS客户端取消服务/取消注册请求时,mar$flags.register位设置为1,接收此更新的SG中的所有服务器必须清除此客户端的所有缓存项。

When a registered MCS Client issues a MARS_MUNSERV for a specific group address range being served a MCS Client Unserve/Deregister request MUST be sent to the servers in the SG. The members of the SG that receive this update must then clear the cache entry associated with this MCS Client.

当已注册的MCS客户端针对正在服务的特定组地址范围发出MARS_MUNSERV时,必须向SG中的服务器发送MCS客户端取消服务/取消注册请求。然后,接收此更新的SG成员必须清除与此MCS客户端关联的缓存项。

In addition to clearing one or more cache entries associated with receiving a MCS Client Unserve/Deregister request each MARS Server in the SG MUST send out a MARS_LEAVE message on it's CCVC in order for clients to change back to a mesh topology.

除了清除与接收MCS客户端取消服务/取消注册请求相关的一个或多个缓存项外,SG中的每个MARS服务器必须在其CCVC上发送MARS_LEAVE消息,以便客户端更改回网状拓扑。

6. Security Considerations
6. 安全考虑

There is no mechanism to encrypt the CSA Record MARS Specific Part of the message exchanged between servers. However, there are base SCSP security features in the SCSP Protocol Independent part [2] which can be used to protect against attacks.

没有加密服务器之间交换的消息的CSA记录特定部分的机制。但是,SCSP协议独立部分[2]中有一些基本的SCSP安全功能,可用于防止攻击。

Any SCSP MARS is susceptible to Denial of Service (DOS) attacks. A rouge MARS Client can inundate its Server with MARS packets. This is a base MARS problem as currently defined by [1]. A rouge host can also inundate its neighboring SCSP MARS with SCSP packets. However, if the authentication option is used, the SCSP MARS databases will not become corrupted, as the bogus packets will be discarded when the authentication check fails.

任何SCSP MARS都容易受到拒绝服务(DOS)攻击。rouge MARS客户端可以用MARS数据包淹没其服务器。这是[1]目前定义的基本火星问题。rouge主机还可以用SCSP数据包淹没其相邻的SCSP MARS。但是,如果使用身份验证选项,SCSP MARS数据库不会损坏,因为当身份验证检查失败时,虚假数据包将被丢弃。

Due to the pair wise authentication model of SCSP MARS, the information received from any properly authenticated server is trusted and propagated throughout the server group. Consequently, if security of any SCSP MARS server is compromised, the entire database becomes vulnerable to corruption originating from the compromised server.

由于SCSP MARS的成对身份验证模型,从任何经过正确身份验证的服务器接收的信息都是可信的,并在整个服务器组中传播。因此,如果任何SCSP MARS服务器的安全性受到威胁,整个数据库将容易受到来自受损服务器的损坏。

References

工具书类

[1] Armitage, G., "Support for Multicast over UNI 3.0/3.1 based ATM Networks", RFC 2022, November 1996.

[1] Armitage,G.“支持基于UNI 3.0/3.1的ATM网络上的多播”,RFC 2022,1996年11月。

[2] Luciani, J., Armitage, G., Halpern, J. and N. Doraswamy, "Server Cache Synchronization Protocol", RFC 2334, April 1998.

[2] Luciani,J.,Armitage,G.,Halpern,J.和N.Doraswamy,“服务器缓存同步协议”,RFC 2334,1998年4月。

   [3] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700,
       October 1994.  See also: http://www.iana.org/numbers.html
        
   [3] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700,
       October 1994.  See also: http://www.iana.org/numbers.html
        

[4] Laubach, M., "Classic IP and ARP over ATM", RFC 1577, January 1994.

[4] Laubach,M.,“ATM上的经典IP和ARP”,RFC 15771994年1月。

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

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

Acknowledgments

致谢

The authors would like to thank Grenville Armitage for his previous distributed MARS work and also the members of the ION working group of the IETF, whose review and discussion of this document has been invaluable.

作者要感谢格伦维尔·阿米蒂奇(Grenville Armitage)之前分发的火星工作以及IETF离子工作组的成员,他们对本文件的审查和讨论非常宝贵。

Authors' Addresses

作者地址

James V. Luciani Bay Networks, Inc. 3 Federal Street, BL3-04 Billerica, MA 01821

詹姆斯诉卢西亚尼湾网络公司,马萨诸塞州比尔里卡联邦街3号,BL3-04,邮编01821

   Phone: +1-508-916-4734
   EMail: luciani@baynetworks.com
        
   Phone: +1-508-916-4734
   EMail: luciani@baynetworks.com
        

Anthony M. Gallo IBM, Networking Hardware Division Dept. M6LA/B664 P.O. Box 12195 Research Triangle Park, NC 27709

Anthony M.Gallo IBM,网络硬件部,地址:北卡罗来纳州三角研究园12195号邮政信箱M6LA/B664,邮编:27709

   Phone: +1-919-254-9889
   EMail: gallo@raleigh.ibm.com
        
   Phone: +1-919-254-9889
   EMail: gallo@raleigh.ibm.com
        

Full Copyright Statement

完整版权声明

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

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

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.

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