组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:15222775@61.(15222775@61.  hbzzx2001@yahoo.com.cn )
译文发布时间:2002-3-27
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。
Network Working Group                           S. E. Deering
Request for Comments: 988                       Stanford University
                                                July 1986
IP多点广播的主机扩展
⒈备忘录地位
本备忘录说明了主机Internet协议为支持互连网络多点广播所需要的扩展。
本规范取代了RFC - 966给出的ARPA网际网中的IP多点广播,并为它制定一个提议的协议标准。 RFC - 966详述了这里说明的多点广播扩展的基本原理和动机。 本备忘录的分发不受限制。
⒉介绍
IP多点广播定义为一个去往"主机群"的IP数据报的传输,有零个或多个主机组成的"主机群"通过单个IP目的地址标识。  一个多点播送数据报被投递给它的目的主机群的所有成员,具有和常规单路传送IP数据报同样的"“尽力”安全性,,那就是说该数据报不保证达到目的地组的所有成员或不合其他数据报具有相同的顺序。
主机组的会员数是动态的;也就是说,主机随时可以参加和离开组。 没有对主机组中的成员的数目或地点加以限制,但是会员仅限于那些拥有专用的存取键的主机。 一个主机可能同时是多个组的成员。
一个主机不用是一个组的成员就可以给它发送数据报。
主机组可能永久性或暂时性的。 永久性组具有一个众所周知的、政府分配的IP地址。 它是地址,非该组的会员,也就是说永久性;任何时间,一个永久性团体也许有许多成员,甚至可能有零个成员。  另一方面,临时性的团体,当应一个主机的请求创建时被动态地指派一个地址。 当它的会员跌至零,临时性的团体要解散时,它的地址可以重新分配。
组员身份临时团体的创建和组员身份信息的维护是“多点播送代理”(存在于因特网网关或其他专用的主机内的实体)的职责。 至少有一个多点播送代理直接与每个支持IP多点广播的IP网络或子网相连。 主机通过用邻机代理交换报文来请求新建一个团组、参加或离开现有团组。
多点播送代理还担负多点播送IP数据报的互连网络运送工作。 发送一个多点播送IP数据报时,主机将它传送到一个局域网多点播送地址那里,哪些地址标识目的地主机组的所有邻机成员。 如果该组具有在其他网络的成员,多点播送代理成为本地多点播送的辅助接收器并且通过因特网网关系统中继该数据报给其他网络上的代理。 最后,另一个网络上的代理将数据报作为一个本地的多点播送传送给他们自己]目的地组的邻机成员。
本备忘录说明了一个主机IP实现对IP多点广播支持所需要的扩展,这里的"主机"是任一internet主机或网关而不是充当多点播送代理的机器。 多点播送代理内部和之间使用的算法和协议对非代理主机来说是透明的,并且在一个独立的文档中详细说明。 本备忘录还未指定局域网多点广播是怎样完成的,尽管它规定了对一个任意的局域网所必需的服务接口并以太网且规范作为一个例子。 其他类型的网络的规格可能是将来备忘录的课题。
⒊一致水平
对本规范来说有三级一致水平:
0级∶不支持IP多点广播。
在这时候没有任何支持IP多点广播的IP实现。 0级主机通常不受多点播送效率的影响。 唯一的例外发生在某些类型的局域网上,这里存在的1级或2级主机可能引起多点播送IP数据报误投给0级主机主机。 这样的数据报可以通过在它们的目的地地址字段中的D类IP地址轻易地认出;不支持IP多点广播的主机应该丢弃他们。 D类地址在本备忘录的4节定义。
1级∶支持发送而不支持接受多点播送IP数据报。
1级允许主机参与某些基于多点播送的服务,诸如资源定位或状态报告,但是不许一个主机创建或参加任何主机组。 IP实现可能从0级主机非常地轻易地升级到1级并且只需少量新代码。 本备忘录的4、5、6节可应用到1级实现。
2级∶充分支持IP多点广播。
2级容许一个主机去创建、参加和离开主机组,以及给主机组发送IP数据报。 它要求在主机内部实现IGMP并且扩展IP和局域网服务接口。 本备忘录以下的所有部分可适用于实现2级。
⒋主机组地址
主机组高四位字节可以通过D类IP地址认出,那就是说D类IP地址用" 1110 "作为它们的高四位字节。 余下的28位未组织,直到主机关心他们的时候为止。 有名的永久性组的地址将被刊登于"分配号码"中。E类IP地址即用" 1111 "作为它们的高四位字节的IP地址专供将来寻址方式之用。
附录II包含某些背景知识,详述了与主机组地址相关的几个争执点。
IP多点广播的主机扩展
5.一个主机IP实现的模型
扩展主机IP实现的多点播送如下图所示: 在本模型中, Internet信报控制协议和(用于2级主机的) IGMP被认为是在IP模块内部实现的,并且IP地址到本地网络地址的映射被认为是局域网模块的职责。 本模型仅用于说明意图,但是不应该把它看作是一个实际实现。

      |                                                          |    
      |              Upper-Layer Protocol Modules                |    
      |__________________________________________________________|    
                                    
   --------------------- IP Service Interface ----------------------- 
       __________________________________________________________     
      |                            |              |              |    
      |                            |     ICMP     |     IGMP     |    
      |             IP             |______________|______________|    
      |           Module                                         |    
      |                                                          |    
      |__________________________________________________________|    
                                    
   ---------------- Local Network Service Interface ----------------- 
       __________________________________________________________     
      |                            |                             |    
      |           Local            | IP-to-local address mapping |    
      |          Network           |         (e.g. ARP)          |    
      |          Modules           |_____________________________|    
      |      (e.g. Ethernet)                                     |    
      |                                                          |    

为支持2级IP多点广播,主机IP实现必须提供三个新业务∶ ( 1)发送多点播送IP数据报、( 2)接收多点播送IP数据报、和(3)管理组员身份。
1级主机仅需要提供第一个服务。 每种服务在下面用一个独立的部分说明。 每一种服务,都为IP服务接口、IP模块、局域网服务接口和以太网局域网模块规定了一些扩展。 对于局域网模块而不是以太网局域网模块的扩建部分进行简短地叙述,但是没有详细地规定。
⒍发送多点播送IP数据报
6.1.对于IP服务接口的扩建部分
为支持多点播送IP数据报的发送IP服务接口不需要做出修改。 当它启用现存"发送IP "操作时上层协议模块仅仅规定了一个IP主机组目的地,而非一个个人IP目的地,。
6.2.对于IP模块的扩建部分
为支持多点播送IP数据报的发送, IP模块必须进行扩展以便当路由输出数据报时能分辨IP主机组地址。 大多数IP实现包括以下:
如果IP目的地在同一个局域网上,发送数据报给当地IP -目的地,别的发送数据报给当地GatewayTo( IP目的地)
为容许多址通信传输,路径选择逻辑必须变成∶
if IP目的地在同一个局域网上或IP目的地是一个主机组,发送数据报给当地IP -目的地,否则发送数据报给当地gatewayto ( IP目的地)
如果发送主机是目的地组的一个成员本身,输出数据报的备份必须环回局部运送,当且仅当主机参加该组时才回送(参见8.1部分)。(这个问题在1级实现中没有出现.)
在连接一个以上网络的主机上,每个多点播送IP数据报必须仅通过一个网络接口传送,离开它去往多点播送代理直到投递给任何其他要求的网络。
主机组地址不应该处于一个输出IP数据报的源地址字段。 主机组地址可能用于源路由选项。
人们注意到一个小型的IP生存时间( TTL) ( TTL)值可以
阻止投递给一个目的地组的某些成员。 因此,一个巨大的TTL值应该用于到达所有成员。 相反地,一个小型的TTL值可用于仅到达分散广泛地组的"附近的"成员。 在小延迟局域网集群中TTL域作为一个路程段限制;因此,可以这样完成扩展环调查:TTL开始为1并且每次重传加1,直到由集群直径定义的极限。
6.3.对于局域网服务接口的扩建部分
为支持多点播送IP数据报的发送局域网服务接口不需要做出修改。 当它启用现存" Send Local "操作时IP模块仅仅规定了一个IP主机组目的地,而非一个个人IP目的地,。
6.4.对于以太网局域网模块的扩建部分
通过允许在以太网信息包的目的地域使用多点播送地址,以太网可以直接支持本地多点播送包的发送。 为支持多点播送IP数据报的发送,需要一个用于将IP主机组地址映射到以太网多点播送地址的方法。
通过将IP地址的低28位放入一个以太网地址的低28位,一个IP主机组地址被映射到一个以太网多点播送地址。 以太网地址的高20位设置成一个在"分配号码"(" Assigned Numbers ")中刊登的有名的值。
[在发表本备忘录时,具有28未指定的位的以太网多点播送地址块还没有从分配权力机构处获得。 如果不能获得这样的地址块,可能会规定一个替换映射方案.]
6.5.对局域网模块而不是以太网的扩展
为了发送多点播送IP数据报,其他的直接支持多点广播的网络例如符合IEEE 802.2标准的环或总线型网络,可以用和以太网一样的方法处理。 对于支持广播而不是多点播送地网络,例如试验性以太网,所有IP主机组地址都可以被映射到单个局部广播地址(以增加所有本地主机开销为代价)。 对于一个象ARPANET或公用数据网那样的点到点网络
( X.25),所有IP主机组地址都可能被映射到一个尽人皆知的一个IP多点播送代理的局部地址;一个这种网络上的代理负责在网络以及网络间完成多点播送投递。
⒎接收多点播送IP数据报
7.1.对于IP服务接口的扩建
为支持多点播送IP数据报的接收IP服务接口不需要做出修改。 利用和普通的" Receive IP"一样的操作(单路传送数据报),入局多点播送IP数据报被投递给上层协议模块。
7.2.对IP模块的扩展
为了支持多点播送IP数据报的接收,必须扩展IP模块,使它除认出主机的专用IP地址之外可以认出主机当前所属的IP主机组的地址, 去往那些组地址中的一个的入局数据报用和处理主机的私有地址中的一个的数据报完全一样的方法处理。
去往非该主机所属的组的入局数据报被丢弃,不产生任何关于错误的报告。
关于连接一个以上网络的主机,如果一个数据报到达一个网络接口,要去的该主机所属的组在一个不同的接口上,该数据报被默默地丢弃。 (这个只有在局域网模块缺乏多点播送地址过滤的情况下才会发生.)
在它的源地址字段或在源路由选项中的什么地方具有一个IP主机组地址的入局数据报不会被拒绝。
ICMP错误报文(目的地不可达、时间超出、参数问题、源熄灭或重定向)从来不因一个去往IP主机组的数据报引起。
7.3.对于局域网服务接口的扩建部分
为支持多点播送IP数据报的接收局域网服务接口不需要做出修改。 入局局域网包,不管多点播送或单路传送,被用" Receive Local"一样的操作投递给IP模块。
IP多点广播的主机扩展
7.4.对于以太网局域网模块的扩展
为了支持多点播送IP数据报的接收,一个以太网模块必须能够接收发给该以太网多点播送地址的包,该以太网多点播送地址与主机的IP主机组地址对应。 任何地址过滤器能力(以太网硬件接口可能具有)的优越性都是非常所希望的,所以主机仅接收去往它的那些包。
令人遗憾地是,当前许多以太网接口对硬件可以辨认的地址的数目只有一个很小的限制。 不过,一个实现必须能够侦听侦听任意数目的以太网多点播送地址,可能意指为了在地址的数目越出过滤器允许范围期间全部接受多点播送包打开地址过滤器。
缺乏的机器地址过滤器的那些接口,可能希望在以太网模块的软件内部完成以太网地址过滤。 不过,这不是强制性的,因为IP模块根据IP目的地址执行它的自己的过滤。
7.5.对局域网模块而不是以太网的扩展
为了接收多点播送IP数据报,其他的直接支持多点广播的网络例如符合IEEE 802.2网络,为了接收多点播送IP数据报可以用和以太网一样的方法处理。 对于纯广播式网,例如试验性以太网,所有入局广播包都被接受然后为了进行IP级过滤而传送给IP模块。 在一个点到点网络上,多点播送IP数据报可能作为局域网单路传送到达,所以没有必要改变局域网模块。
⒏管理组员身份
8.1.78.1.对于IP服务接口的扩展
为了让上层协议模块要求它们的主机创建、参加、或离开一个主机组, IP服务接口必须被扩展以便提供以下三个新操作∶
CreateGroup ( private, loopback )
 --> outcome, group-address, access-key
该CreateGroup操作请求生成一个新的、临时的主机组,只有这个主机作为它的成员。 这
" private(私有)"参数规定了该组将是私有的or公共的。 该" loopback(回送)"参数规定了不管是否是发自这个主机去该组的数据报都应该局部地其他的成员主机。递送给 The " outcome(结果)"指出请求是允许或被拒绝的。 如果是允许,返回一个新的32位IP主机组地址,以及一个64位存取关键字,零是为公共的组和非零为私有组。 该请求可能被被拒绝的,由于缺乏来自一个多点播送代理响应、或缺乏资源。
JoinGroup ( group-address, access-key, loopback ) --> outcome
该joingroup操作要求这个主机成为该主机组的通过"组地址"辨认的一个成员,具有规定的存取关键字。该" loopback(回送)"参数规定了不管是否是发自这个主机去该组的数据报都应该局部地其他的成员主机。递送给 The " outcome(结果)"指出请求是允许或被拒绝的。 由于缺乏来自一个多点播送代理响应、一个缺乏资源、一个非法组地址、一个错误的存取关键字或已是一个成员,该请求可能被拒绝。
LeaveGroup ( group-address, access-key ) --> outcome
该LeaveGroup操作要求这个主机放弃该主机组的能够通过"组地址"辨认的一个成员的资格,具有规定的存取关键字。 The " outcome(结果)"指出请求是允许或被拒绝的。 由于缺乏来自一个多点播送代理响应、一个缺乏资源、一个非法组地址、一个错误的存取关键字或当前不是一个成员,该请求可能被拒绝。
这些操作中间每一个可能占据一分钟以上才能完工,取决于IGMP重传的数目
在IP模块内部执行、多点播送代理产生一个应答需要的时间。不过,标准的延迟应该几秒左右。
除LeaveGroup操作之外,每当主机或它的IP模块崩溃,或在罕见的情景中——当一个多点播送代理撤回它的会员时,该主机丢失它在一个组中的会员资格。 当它的会员资格已经被撤回时, IP服务接口将提供某些方法通知上层模块。
会员资格可能由于缺乏资源、组地址的存储单元分配、或发现另一个主机组用具有一个不同的存取关键字的同样的组地址,会员资格可能被撤回。 (参见附录II,详述了地址回收问题.)
注意到IP组员身份是per - host(每主机)而非per - process(每进程)是是很重要的。 一个IP服务接口不应该为同一个组让多进程启用JoinGroup操作作为完成投递给跟多的进程的方法 IP模块传递每个入局数据报,不管多点播送或单路传送,给一个上层协议模块,该上层协议模块通过数据报的IP报头中的协议域认出;不管是否传递入局数据报给多个进程,它都是个上层问题,也许应该using " process groups(进程组)"概念或" shared ports(共享入口) "概念。
8.2.对IP模块的扩展
IP模块内部,会员资格management操作通过Internet Group Management Protocol ( IGMP)支持,在附录I.中规定。也使报文与每一上面规定的操作相对应,IGMP还规定一个
" deadman timer "程序借此主机定期用multicast agents确认它们的会员资格。
IP模块必须维护一个数据结构,该数据结构列出主机当前所属的所有主机组的IP地址、以及每个组的回送政策、存取关键字和时间变量。 这个数据结构被用于IP多址通信传输服务,了解哪些输出数据报给回送,通过接收服务了解哪些入局数据报去接受。 IGMP的和management接口操作的用途是维护这个数据结构。
每个会员资格与具体的网络接口相联系,连接一个以上网络的主机上, 在这种主机上,上面的每个management接口操作可能要求一个附加参数来规定接口创建、
参加或离开请求申请。 组员身份数据结构还必须必须进行扩展以便使每个会员资格于一个接口联系起来。 如果一个主机在一个以上网络接口上参加同一个主机组,它可能期望接收每个发送给那个组的数据报的多个副本。
8.3.对于局域网服务接口的扩展
为让一个IP模块控制什么样的包应该通过局域网模块接受,必须用以下两个新的操作扩展该局域网服务接口∶
AcceptAddress ( group-address )
RejectAddress ( group-address )
这里的" group - address(组地址)"是一个IP主机组地址。 该。AcceptAddress操作要求该局域网模块接受和放弃随后到达的去往与" group - address(组地址)"相当的本地网络地址的那些包。 该RejectAddress操作要求该局域网模块停止传输随后到达的去往与" group - address(组地址)"相当的本地网络地址的那些包。
Any局域网模块都能够自由地忽略RejectAddress请求,并且可能传递去往比那个在AcceptAddress要求中规定的地址多的包,如果它不能充分地过滤入局包。
8.4.对于以太网局域网模块的扩展
一个以太网模块通过给它的入局包的接受过滤条件增加对应的以太网多点播送地址就可以响应AcceptAddress操作。 rejectaddress操作引起对应以太网地址从过滤处落下。 对于限制能够被增加给过滤器的地址的数目的以太网接口,当临界被超出以太网软件模块必须侦听并且打开过滤全部接受多点播送包。 当地址的数目降低到临界入口程度,它还应该侦听并且恢复单个地址过滤。
8.5.对局域网模块而不是以太网的扩展
为了控制地址过滤器,其他的多点广播网络例如符合IEEE 802.2网络,为了控制地址过滤器可以用和以太网一样的方法处理。 对于一个纯广播式网或一个
点到点网络,该AcceptAddress和RejectAddress操作也许已无效;为了进行IP级过滤所有入局包能够传送给IP模块。
附录I. INTERNET GROUP MANAGEMENT PROTOCOL ( IGMP)
IGMP被用在IP主机和它们的紧接的邻机多点播送代理之间支持临时团体的生成添加和删除一个组的成员,定期证实组员身份。 IGMP是一个不对称协议而且这里从一个主机观点而非一个多点播送代理来加以说明。
像ICMP(Internet信报控制协议)一样, IGMP是一个IP的组成部分。 它要求通过所有主机对应的2级IP多点广播规范完全地实现。 IGMP报文被压缩在IP数据报中,具有一个IP协议号码2.所有IGMP报文具有以下格式∶

    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      |     Code      |           Checksum            | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                          Identifier                           | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                         Group Address                         | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   +                         Access Key                            + 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

类型
有八种IGMP报文∶
1 =创建组要求
2=创建组应答
3=参加组要求
4=参加组应答
5=离开组要求
6=离开组应答
7=确认组要求
8=确认组应答
代码
在一个创建组请求消息中代码字段指出新的主机组将是公共的或私有∶
0 =公共的
1 =私有
在所有其他的请求消息中,代码字段包含零。
在一个回答信息中,代码字段规定要求的结果∶
0 =请求答应
1 =要求被拒绝,无资源
2=要求被拒绝,无效代码
3=要求被拒绝,无效组地址
4=要求被拒绝,无效存取关键字
5 - 255 =要求挂起,几秒后重试
校验和
EGP校验和是从EGP版本IGMP类型开始的IGMP报文中16位字二进制反码和的16位二进制反码值。
为了计算该校验和,校验和域应该为零。
标识符
在一个确认组请求消息中,标识符字段包含零。
在所有其他的请求消息中,标识符域包含一个值以便将来自同一个主机的其他的要求其他的要求与该要求区别开来。
在一个回答信息中
,标识符域包含与在对应请求消息中同样的值。
组地址
在一个组创建请求报文中,组地址字段包含零。
在所有其他的请求消息中,组地址域包含一个主机组地址。
在一个组创建应答报文中,组地址域或包含新的指定的主机组地址(如果该要求被允许)或包含零(如果被拒绝)。
在所有其他的应答报文中,组地址域包含与在对应请求报文中同样的主机组地址。
存取关键字
在一个组创建请求报文中,存取关键字字段包含零。
在所有其他的请求消息中,存取关键字域包含分配给主机组在组地址域识别的(零对于公共的组)存取关键字。
在一个组创建应答报文中,存取关键字域或包含一个非零的64比特编号(如果要求一个私有组被允许)或包含零(如果被拒绝)。
在所有其他的应答报文中,存取关键字域包含与在对应要求中相同存取关键字。
协议规则
请求报文只通过主机发送。 应答报文只通过多点播送代理发送。 如果一个主机收到一个前面规定的四种应答类型之外的一种类型的IGMP报文,该报文被丢弃。
一个请求报文发送时具有它的IP目的地字段,该目的地字段包含著名的多点播送代理组的地址。 IP生存时间( TTL)域通过发送者置1初始化,以便约束要求的范围为近的邻机多点播送代理。 IP源地址字段包含发送主机的专用IP地址。
应答报文只在响应一个请求报文时发送。
IP目的地址域的包含该主机(发送该对应要求)的私有地址。 (一个组确认应答可能同时被发给在它的对应组确认要求中规定的主机组地址.) IP源地址字段包含该应答多点播送代理的专用IP地址。
当一个主机发送一个新的组创建、组参加、或离开组请求报文时,它供给一个任意的标识符,该任意的标识符在最后的T0秒内没有用。 (仅仅为标识符在每个新的要求加1就足够了.)该主机初始化一个计时器为T1秒并且初始化一个重复传输计数器为零。 如果具有一个匹配标识符应答报文没有在计时器到期之前收到,它被重新设置为T1秒并且该重复传输计数器加1。 如果计算器小于N1该主机重复传输该具有相同标识符的请求报文。 如果该计算器等于N1,该主机放弃;如果该要求将创建或参加一个组,它被认为失败;如果该要求将离开一个组,它被认为得逞;
如果一个"要求挂起"代码在一个匹配一个创建组、参加组或离开组要求回答中收到,计时器重新设置为由该代码规定的数值,并且重复传输计数器重新设置为零。 新的定时值仅应用于一个超时时间间隔——如果该计时器到期,它重新设置为T1秒,该计数器加1,并且要求被重传。
一个组创建、组参加或离开组请求的第一个匹配的回答包含一个"请求答应"或"要求被拒绝"代码,判断该要求的结果。 任何后来的或非匹配的应答由该主机丢弃。 不过如果一个主机收到一个肯定的创建组应答或参加组应答,但是他们既不匹配一个未解决的请求又不包含一个该主机所属的组地址,该主机应该立即发送一个离开组要求以便解决该出乎意外的组地址。
一个"请求答应(request granted)  "回答一个创建组请求,暗示,以及组正在创建,该请求主机被同意在该组中具有会员资格,那就是说不必发送一个单独的参加组请求。
组确认要求报文必须由主机定期发送,以便通知主机在规定的组中的延续会员资格给邻机多点播送代理。 如果一个代理没有在一个代理定义的时间间隔内收到一个具体的组的组确认要求报文,它停止传递去往那个组的数据报。
对于它所属的每个组,主机维护一个确认计时器和一个变量t.该变量t初始化为T2秒。每当主机的创建参加一个组请求的被允许,或者每当主机发送一个组确认要求或者收到组确认应答,该组确认要求或者收到组确认应答具有一个
该组的"请求答应"代码,该主机设置该组的计时器为一个,该随机数均匀分布在t和t + T3秒之间。 如果该主机收到一个组确认应答,该组确认应答具有一个
" request pending "代码, t变成代码值并且该计时器重新设置为一个新的t和t +T3间de随机数。
 变量t保持它的值,直到另一个"请求挂起"代码收到为止。 每当计时器到期,主机发送一个组确认要求。
即使一个主机未能它的请求的接收确认组回答,它继续将本身认为该组的成员,因为它可能仍然能够从在同一个局域网上的其他的主机收到多点播送数据报。只有当一个主机在一个组确认应答中收到一个"要求被拒绝"代码让它停止发送组确认要求时才认为它的会员资格已经被撤回。
多点播送代理通过发送组确认应答报文或者给该请求的个人发送者或者给在该请求中规定的主机组地址来响应组确认要求报文。 通过送回一个组确认应答一个组的所有邻机成员,一个多点播送代理能够用单个包重新设置每个成员的计时器。 计时器的随机化只不过是用来促成一个计时器到期成员优先发送一个组确认要求,有助于用一个回答重置全部计时器。 通过利用"请求挂起"代码让多点播送代理控制接收组确认要求的速度。
协议定时常量
以下时间常数是为IGMP规定的。 由于运行经验的结果他们可能会变化。
T0 = 300秒标识符最小数周期时间
T1 = 2秒,Create/Join/Leave请求的重传时间间隔
N1 = 5 tries,Create/Join/Leave请求重传极限
T2 = 15秒,确认请求变量t的初值
T2 = 15秒,确认请求变量t的任意数范围
附录II。 主机组地址问题
这个附录不属于IP多点广播规范,但是提供几个与IP主机组地址相关的争执点的论述背景。
组地址捆绑
物理主机的IP主机组地址捆绑可能认为IP单路传送地址捆绑的普遍化。 一个IP单路传送地址被静态地捆绑给单个IP网络上的单个局部网络接口。 IP主机组地址动态地捆绑给一组IP网络上的一组局部网络接口。
领会一个IP主机组地址不是捆绑给一组IP单路传送地址是很重要的。 多点播送代理不需要维护每个主机组的一列专用成员。 比如,一个附着于一个以太网地多点播送代理只不过跟每个具有局部成员主机组的单个以太网多点播送地址关联,而非一列会员们的专用IP或以太网地址关联。
组地址作为逻辑地址
主机组地址已经明确地定义供多点播送IP数据报的目的地地址段里使用。 不过,组地址是独立的位置(他们不静态地捆绑与单个网络接口),可能作为多个普通"逻辑地址"在数据报的源和目的地址中段运用。 比如,一个可移动IP主机可能具有一个只不过作为它的身份地主机组地址,用作它发送的数据报的源。 每当可移动主机从一个网络移动到另一个网络,它可能在新的网络参加它的自己的组并且离开在原网络上的组。 其他的主机和可移动主机通讯仅仅会处理组地址并且可能不知道,并且不被可移动主机的网络位置的改变所影响。
不过主机组地址不能用来解决所有互连网络逻辑地址的所有问题,例如投递到一个多穴主机的最靠近地或最小荷载的网络接口。此外,当组实际上源地址字段包含以上主机的时候,在数据报的源地址字段使用组地址存在危险。 举例来说, IP数据报再装配算法每个主机使用不同的源地址。依靠 同时,用一组源地址发送的数据报中的错误可能导致错误报告回到该组的所有成员,不只是发送者。 鉴于这个危险,本备忘录规定主机组地址的使用仅仅作为数据报的目的地,或在目的地址段或作为一个源路由选项的最后元素。 然而,具有一组源地址的数据报最好由被接收而不必申诉,从而允许其他实现的试用主机组地址的应用程序逻辑地址。
临时的主机组地址的周期
因为主机组地址是固定的,有相对较小的尺寸,所以短暂的组地址必须反复循环以便满足继续新建一个团组的要求。 多点播送代理努力确保一个组指定它的新建群组地址之前在Internet中任何地方的不具有成员。 然而,在特定互连网络分割和会员资格移动条件下,不可能保证一个地址的唯一的分配不危及主机组的健壮性和有效性。此外,不知道某个组已经不存在的主机可能在它的地址已经分配给一个新建群组很久以后还给它发送数据报, 所以主机应该对非故意的主机甚至私有组多点播送IP数据报的误投的可能性有所准备, 这种误投只得使用高级的标识符或认证记号在IP以上级侦听。 (一个私有组的存取关键字可能用于某些应用程序地这样一个标识符.)当然,在Internet中除组地址冲突之外,存在其他的隐避的通信威胁,例如不能信赖的网关或无担保的网络。端到端加密是这种对威胁的一个有效抵御。
RFC988——Host Extensions for IP Multicasting  IP多点广播的主机扩展




10
RFC文档中文翻译计划