跳到主要内容

7.1 Extensions to the IP Service Interface (IP 服务接口的扩展)

7.1. IP 服务接口的扩展

传入的组播 IP 数据报由上层协议模块使用与普通单播数据报相同的"Receive IP"操作接收. 目的上层协议的选择基于 IP 头中的协议字段, 与目的 IP 地址无关. 但是, 在接收发往特定组的任何数据报之前, 上层协议必须请求 IP 模块加入该组. 因此, IP 服务接口必须扩展以提供两个新操作:

JoinHostGroup  ( group-address, interface )

LeaveHostGroup ( group-address, interface )

JoinHostGroup 操作请求本主机在给定网络接口上成为由 group-address 标识的主机组的成员. LeaveHostGroup 操作请求本主机放弃在给定网络接口上对由 group-address 标识的主机组的成员关系. 对于仅支持一个接口的主机, interface 参数可以省略. 对于可能连接到多个网络的主机, 上层协议可以选择不指定接口, 在这种情况下, 请求将应用于发送组播数据报的默认接口 (参见第 6.1 节).

允许在多个接口上加入同一个组, 在这种情况下可能会收到重复的组播数据报. 也允许多个上层协议请求加入同一个组.

两个操作都应立即返回 (即它们是非阻塞操作), 指示成功或失败. 任一操作都可能因无效的组地址或接口标识符而失败. JoinHostGroup 可能因本地资源不足而失败. LeaveHostGroup 可能因主机在给定接口上不属于给定组而失败. LeaveHostGroup 可能成功, 但成员关系仍然保持, 如果有多个上层协议请求了同一组的成员关系.