为无效的组地址或接口标识符而出错 。JoinHostGroup操作可能由于缺少本地资源而失败 。
LeaveHostGroup可能因为本主机不属于在给定接口上的某一组而失败 。LeaveHostGroup如
果成功,组成员关系可能还存在,因为可能有多个高层协议是同一个组的成员 。
7.2IP模块的扩展
为了能够接收多播IP数据报,必须扩展IP模块,维持一个与每个网络接口相关的主机
组成员列表 。在到来的数据报中,目的地属于这些组地址中某一个的数据报的处理方式与目
的地属于主机的单播地址中某一个数据报的处理方式相同 。
假如主机接收到目的地址是组地址的数据报,而该主机不属于该组,则这个数据报将被
丢弃而不生成任何错误或日志记录 。在有多个网络接口的主机上,假如目的地属于某一组的
数据报经由一个接口到达,而该主机只在另一个网络接口上属于这个组,则这个数据报将被
毫无声息的丢弃 。(出现这种情况的唯一原因是本地网络模块的多播地址过滤功能不完
善 。)
假如到来的数据报的IP生存时间(TTL)为1,则该数据报不会被拒收(即,假如到来
的数据报不会再被转发,则它的生存时间字段不会自动减少) 。假如到来的数据报的源地址
字段出现了IP主机组地址,则该数据报将被毫无声息的丢弃 。ICMP出错信息(目的主机
不可达,超时,参数问题,源站被抑制,重定向)不会因为目的地为IP主机组的数据报而
产生 。
主机组成员列表根据高层协议的JoinHostGroup和LeaveHostGroup操作要求而更新 。每
个成员应该有一个相应的参照数或其它同样的机制,来处理加入和离开同一组的多个要求 。
当第一个要求加入和最后一个要求离开在给定接口上的某个组时,那个接口的网络模块就被
告知,去更新它的多播接收过滤器(参看7.3部分) 。
IP模块也必须扩展,实现在附录1中说明的IGMP协议 。IGMP是用来让邻近的多播路
由器获知在一个特定的本地网络中出现的主机组成员 。为了支持IGMP,每个2级主机必须
在初始化时加入“所有主机”组(地址为224.0.0.1),而且只要主机是开着的,它都要是这
个组的成员 。
(地址是所有主机组的数据报会被多播路由器当成一个非凡情况,不管它的生存时间是
多少,它不会被传递出单一的网络 。因此,所有主机地址不用于互联网范围上的广播地址 。
为了达到IGMP的目的,属于所有主机组的这项要求仅仅在主机属于至少一个其它组时才真
正是必须的 。然而,要求主机在任何时候是一个所有主机组的成员的原因是(1)简单,(2)接
收不必要的IGMP请求的频率应足够的低,以使开销可以忽略不计 。(3)所有主机地址可以
用于其它面向路由选路的目的,例如通知网关的存在或解析本地地址)
7.3对本地网络服务接口的扩展
把到来的本地网络多播分组传递给IP模块使用的方式与处理本地网络单播分组时一
样,都是使用“ReceiveLocal”操作 。为了答应IP模块通知本地网络模块它要接收哪种多
播分组,必须扩展本地网络服务接口,以提供以下两个新操作:
JoinLocalGroup(group-address)
LeaveLocalGroup(group-address)
“group-address”是IP主机组地址,JoinLocalGroup操作要求本地网络模块接收和向上传递
目的地为给定IP主机组地址的分组 。LeaveLocalGroup操作要求本地网络模块停止向上递交
目的地为给定IP主机组地址的分组 。本地网络模块应该能够映射IP主机组地址到本地网络
地址,
推荐阅读
- IMAP4 ID 扩展名
- 房产抵押贷款能用于买房吗
- v3 简单目录访问协议:传输层安全扩展
- 用于实时指针的RTP负载格式
- 荣耀9x支持存储卡扩展吗
- IP骨干网BGP路由协议的扩展性
- 在可扩展的网络中实施BGP
- 方舟怎么建设非专用主机
- vivoy91的屏幕参数
- 一个IP地址扩展方案
