IP多点广播的主机扩展( 四 )


缺乏的机器地址过滤器的那些接口,可能希望在以太网模块的软件内部完成以太网地址过滤 。不过,这不是强制性的,因为IP模块根据IP目的地址执行它的自己的过滤 。
7.5.对局域网模块而不是以太网的扩展
为了接收多点播送IP数据报 , 其他的直接支持多点广播的网络例如符合IEEE802.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"processgroups(进程组)"概念或"sharedports(共享入口)"概念 。

推荐阅读