主机扩展用于IP多点传送( 五 )


这是更新本地网络模块的多播接收过滤器所要求的 。任何本地网络模块都可以忽略
LeaveLocalGroup操作的要求 。假如它不能充分过滤到来的分组,也可以向上传递超出
JoinLocalGroup操作所要求的更多的多播地址的分组 。
本地网络模块不会向上传递任何从该模块出发的多播分组;多播回送是在IP层或更高
层处理 。
7.4对以太网本地网络模块的扩展
为了支持多播IP数据报的接收,以太网模块必须能接收地址是与主机的IP主机组地址
相关的以太网多播地址的分组 。利用以太网硬件接口可能具有的地址过滤能力是非常可取
的,这样主机只接收目的地指向它的那些分组 。
不幸的是,许多当前的以太网接口对硬件能识别的地址数目有很少的限制 。而且,一个
具体的实现必须能侦听任意数目的以太网多播地址,这意味着当地址数目超过过滤器的限制
时,“打开”地址过滤器以接收所有的多播分组 。
对于那些硬件地址过滤能力不强的接口,为了性能的原因,在以太网模块的软件中执行
以太网地址过滤可能要好一些 。然而,这并不是强制性的,因为IP模块基于IP目的地址执
行它自己的过滤 。
7.5对以太网以外的本地网络模块的扩展
像IEEE802.2网络这样的其它多播网络,为了达到接收多播IP数据报的目的而进行的
处理方式与以太网相同 。对于纯广播网络,如实验性以太网,所有到达的广播分组能够被接
收并传递给IP模块以实现IP层过滤 。在点对点或存储转发网络,多播IP数据报以本地网
络单播的形式到达,所以没有必要修改本地网络模块 。
附录1INTERNET组治理协议(IGMP)
Internet组治理协议(IGMP)用于IP主机向所有紧邻的多播路由器报告它们的主机组
成员关系 。IGMP是不对称的协议,将从主机的视角而不是从多播路由器的视角描述它 。
(IGMP也可以在多播路由器之间对称或非对称的使用 。这样的用法这里没有指定 。)
像ICMP一样,IGMP是IP的一个组成部分 。要在所有符合IP多播规范的2级主机上
实现 。IGMP报文封装在IP数据报中,数据报的IP协议字段为2 。所有与主机相关的IGMP
报文具有如下格式:
0123
01234567890123456789012345678901
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
版本类型未用校验和
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
组地址
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
版本
本备忘录说明IGMP版本1 。版本0在RFC-988中说明,它现在已经废弃 。
类型
有两种与主机相关的IGMP报文:
1=主机成员请求
2=主机成员报告
未用
未用字段,在发送时为零,接收时被忽略 。
组地址
主机成员请求报文在被发送时组地址字段为零,被接收时忽略该字段 。
主机成员报告报文中,组地址字段为被报告组的IP主机组地址 。
非正式的协议描述
多播路由器发送主机成员请求报文(在下文叫做请求),以发现哪些主机组在它们所属
的本地网络上有成员 。请求的目的地址为所有主机组(224.0.0.1),携带的IP生存时间为1 。
主机为了响应一个请求,生成主机成员报告报文,报告它们在接到请求的网络接口上
所属的每个主机组 。为了避免并发报告“爆炸”,减少被传送的报告的总数,使用了两种技
术:
1.当主机接收到一个请求,不是立即发送报告,而是为到达请求的网络接口上每个组
成员启动一个报告延时定时器 。每个定时器被设置为在0到D秒之间的一个不同的、随机

推荐阅读