多播组管理的方法与设备 【技术领域】
本发明涉及数据通信,尤其涉及多播组管理。背景技术 互联网组管理协议 (IGMP) 是一种用于管理互联网协议多播组成员身份的通信 协议。 IP 主机和邻近的多播路由器使用互联网组管理协议 (IGMP) 建立多播组成员身 份。 例如,当 IP 主机要加入到一个与一个多播组对应的多播服务时, IP 主机就使用 IGMP 加入到该多播组上。 此外,IP 主机使用 IGMP 向任意紧邻的多播路由器报告其多播 组成员身份。 组播侦听发现协议 (multicast listener discovery, MLD) 是 IPv6 中主机 - 路 由器部分的等效协议。
报告消息在两种情况下触发。 当主机意欲接收一个多播流,它就会发送一个用 于将那个组加入到本地路由器的非请求成员身份报告消息。 另一种情况是主机响应于查 询消息生成一个相关组的报告消息。
当主机与多播组断开时发出的断开报告消息由 IGMPv2 指定。 这样组成员身份 终止情况能快速地报告给路由器。
多播路由器使用 IGMP 获知其连接的物理网络上的哪个组具有成员。 路由器为 每一连接的网络保存一个多播组成员列表,并通过将主机成员身份查询信息周期性地发 送到所有主机组地址 224.0.0.1 来维护该列表。 如果在预定时间内没有收到响应于所发送 的查询消息的特定多播组的成员身份报告消息,路由器则假定没有主机正在接收与多播 组相关联的多播服务。 所以,多播组的记录将被删除,相应的多播信息包将不能被发送 到子网络中。 此处,“多播组成员身份”是指多播组中至少有一个成员存在。 路由器不 需要保存没有在接收多播服务的主机的列表。
无 线 通 信 网 络, 如 IEEE 802.16(WiMAX, 全 球 微 波 接 入 互 操 作 性 ), 能 使 用 IGMP 来管理多播组。 但是,由于时变衰落和突发错误等因素,接收装置如移动站 (mobile station,MS) 与接入装置如基站 (base station,BS) 之间的空中接口通常是不可靠 的。 所以, IGMP 的相关信息或丢失或没有被正确地接收,这可能导致服务中断。
发明内容
根据本发明的一个方面,提供了一种在网络设备中的多播组管理方法。 该方 法包括下列步骤 :确定一个加入多播服务的请求,该请求是在建立第一设备和第二设备 之间用于传输多播服务的连接的过程中获得的 ;如果该多播服务不存在于所述网络设备 中,则基于所述加入请求发送一个指示加入该多播服务的消息。
根据本发明的另一方面,提供了一种多播组管理设备。 该设备包括传送模块 (803) 和处理模块 (802),配置用于确定一个加入多播服务的请求,该请求是在第一设备 和第二设备之间建立用于发送多播服务的连接的过程中获得的 ;所述处理模块 (802) 还 被配置用于,如果所述多播服务不存在于所述网络设备中,则基于所述加入请求通过所述传送模块 (803) 发送一个指示加入到多播服务的消息。
根据本发明的所述方面,由于该设备代表接收器装置执行代理服务器的功能, 减少了该设备与接收器装置之间交换的消息,所以降低了服务中断的可能性。
应理解本发明在上文中的整体描述及下文中的详细描述仅作为说明和示例。 附图说明 附图有助于进一步理解本发明,是本申请的组成部分,附图示出了本发明的实 施例并描述了本发明原理。 因而,本发明并不局限于这些实施例。 附图中 :
图 1 示出了多播服务的移动 WiMAX 网络的框图。
图 2 示出了管理多播组的常规方法的消息序列图。
图 3 根据本发明的实施例示出了一种管理多播组方法的消息序列图。
图 4 根据本发明的实施例示出了当请求加入到多播服务时 IGMP 代理服务器的工 作流程图。
图 5 根据本发明的实施例示出了当处理来自上行多播路由器的 IGMP 查询消息时 的工作流程图。
图 6 根据本发明的实施例示出了当请求与多播服务断开时 IGMP 代理服务器的工 作流程图。
图 7 根据实施例的变体实施例示出了另一种管理多播组的方法的消息序列图。
图 8 根据本发明的实施例示出了 IGMP 代理服务器的框图。
具体实施方式
现在结合附图详细说明本发明的实施例。 为了清楚和简洁起见,以下的说明中 将省略一些已知的功能和构造的详细说明。
所 述 实 施 例 是 在 无 线 通 信 环 境 中 阐 述 的。 例 如, 文 件 IEEE 标 准 802.16e-2005- 局域和城域网的 IEEE 标准修正案——第 16 部分 :固定宽带无线接入系统 的空中接口——许可带宽中固定和移动操作结合的物理和媒体接入控制层,该文档存在 于 IEEE 网站中,其规定了这种无线环境的特定方面。 下文描述的实施例是置于这一环境 框架中的,并且同时指出了对系统和方法做出的修改。 但是,本发明不局限于所描述的 实施例。
图 1 示出了多播服务的常规移动 WiMAX 网络。 移动站 (MS) 和基站 (BS) 间的 空中接口由 IEEE 802.16 标准规定。 多个基站通过 R6 参照点与接入路由器 (AR) 连接起 来。 接入路由器 (access router, AR) 是接入到互联网的网关。 在网络登录过程中, MS 在 MAC 层与 BS 建立起三种连接 :双向基本连接、初级连接和次级连接,这些连接分别 用于传送紧急 MAC 层管理消息、非紧急 MAC 层管理消息和 IP 协议。 当 MS 请求加入到 由电视多播服务器提供的多播服务时,它会向多播服务的多播组发送一个 IGMP 报告 ( 加 入 ) 消息。
移动 WiMAX 网络中的 IP 多播包含 MAC 层和会话层的多播管理。 如图 2 所示, 消息序列图示出了提供多播服务时管理多播组的一种常规方法。 为了接收电视节目,除 了发送 IGMP 报告 ( 加入 ) 消息,MS 应首先在 MAC 层通过三向动态服务添加 (DSA) 程序建立一个由特定的连接 ID(CID) 确定的 MBS( 多播和广播服务 ) 连接。 因为 WiMAX 网络是面向连接的,所以必须建立 MAC 层连接。 这个不同于硬件 MAC 地址的特定 CID 用于 IEEE802.16 MACPDU 消息头来区分 MAC 层的服务流。 通过动态服务添加 (DSA)、 动态服务改变 (DSC) 和动态服务删除 (DSD) 等管理消息来建立、修改和删除连接。
除了由 MS 与 BS 间的空中接口中的不可靠传送导致的服务中断问题,使用 IGMP 提供多播服务的常规移动 WiMAX 通信系统中还存在两个缺点。
(1)MS 休眠模式的中断 :
因为成员身份查询消息针对所有 MS 侦听的所有主机组地址 224.0.0.1,所以通过 广播连接发送它。 因此,那些不属于被查询多播组的 MS 被迫从休眠模式唤醒来接收广 播连接上的数据。 如果 MS 以节电方式在相应的多播连接中接收感兴趣的多播流,同样 的中断也会发生在属于被查询组成员的 MS。
(2) 来自 MS 的大量 IGMP 成员身份报告消息的开销信息
带宽是无线网络中尤为重要的资源。 不管在 IGMPv1/2 中执行报告抑制机制还 是在 IGMPv3 中删除报告抑制机制,响应于查询消息的成员身份报告消息将消耗带宽中 不可忽略的一部分。
图 3 根据本发明的实施例示出了一种管理多播组方法的消息序列图。 AR 中配 置的 IGMP,在 MS 要加入多播服务、响应查询消息或断开多播服务的时候,代表连接到 AR 的 MS 执行代理服务器的功能。 加入多播服务、处理 IGMP 查询消息和断开多播服务 的程序如下所述。
1. 加入多播服务 :
请求加入多播服务的 MS 发出建立 MAC 层连接的 DSA/DSC 请求,并获得流量 传输的多播 CID。 通过 DSA 程序建立 MAC 层连接的过程中,一些指示 MS 意欲与哪个 多播服务连接的信息从 MS 传送到 BS。 建立连接之后, BS 向 IGMP 代理服务器发送包 含连接信息的消息,该连接信息是在通过 DSA 程序建立 MS 与 BS 间的连接的过程中获取 的。 此处, IGMP 代理服务器基于从 BS 接收的连接信息维护多播组成员身份列表。 如 果所请求的多播服务不能从 AR 中获得, IGMP 代理服务器直接将 IGMP 报告 ( 加入 ) 发 送给上行多播路由器。 如果所请求的多播服务能够从 AR 中获得,IGMP 代理服务器不需 要发送 IGMP 报告 ( 加入 )。 因此,由于 MS 请求加入多播服务的指令在 MAC 层隐性地 传送,这个传送过程比在上层传送更可靠、速度更快。 此外, IGMP 代理服务器最初产 生并代表 MS 发送 IGMP 加入消息到上行路由器,以此降低由于在不可靠的无线连接上交 换 IGMP 加入消息导致服务中断的可能性。
本段给出了连接信息的实例。 通过 DSA 程序建立连接的过程中,DSA 消息中包 含了一组 CS( 汇集子层 ) 参数 ( 也就是分级规则 )。 CS 参数可包含 IP 源地址、 IP 源端 口、IP 目的地址、IP 目的端口、优先级、以太网地址和 IP 协议等等。 如本实施例中,多 播组 IP 地址包含在 DSA 消息中。 多播组 IP 地址能够唯一识别出一个多播服务。 此实施 例中的连接信息包括多播组 IP 地址和用于唯一识别 MS 的 MS 标识符。 例如,当 MS 执 行网络登录程序时 BS 会知晓 MS 识别信息是 MS 的 IP 地址还是 MS 的 MAC 地址。 为方 便起见,下列描述中多播组 IP 地址被称为 “组址” (GroupAddr)。 一旦在 MAC 层中建 立起具有唯一 CID 的多播连接,用于 MS 请求加入到多播服务的 MS 标识符与组址之间的映射就建立起来了。 映射信息也是由 IGMP 代理服务器存储在成员管理表中。 比如说, 成员管理表包括的域名为组址和 MS 标识符。
图 4 根据本发明的实施例示出了当请求加入到多播服务时 IGMP 代理服务器的工 作流程图。
步骤 401 :装配于 AR 中的 IGMP 代理服务器接收到要求加入到由 MAC 层加入 事件 ( 如用 DSA/DSC 激活一个 MBS 服务流 ) 触发的多播服务的消息,在事件中该消息 包括连接信息。 在此 “触发”表示 :一旦有 MAC 层加入事件发生,组址将在 DSA/DSC 的相关消息中从 MS 传送给 BS,然后 BS 取得连接信息并将它发送给 IGMP 代理服务器。
步骤 402 :IGMP 代理服务器通过确定成员管理表的条目中是否有从连接信息中 得到的组址,来确定所请求的多播服务是否可从 AR 中获得。 如果表中存在组址,那么 将进入步骤 405,否则,进入步骤 403。
步骤 403 :IGMP 代理服务器在成员管理表中为组址 (GroupAddr) 创建一个记 录。
步骤 404 :IGMP 代理服务器向上行多播路由器发送包含指示加入到所请求的多 播服务的组址的一个 IGMP 加入消息。 步骤 405 :IGMP 代理服务器更新成员管理表。 所请求的多播服务是可获取的, 这意味着至少另一个 MS 正在接收所请求的多播服务,所以 IGMP 代理服务器应该更新成 员管理表以添加关于 MS 标识符的信息、以及关于 MS 标识符和所请求的多播服务的组址 之间关系的信息。
2. 处理 IGMP 查询消息 :
当从上行多播路由器中接收到一个 IGMP 查询消息时, IGMP 代理服务器不会 像常规处理方法一样将消息传送给无线子网络,而是基于成员管理表直接作出回应。 所 以, IGMP 代理服务器最初产生并代表 MS 发送 IGMP 响应消息,以此降低由于在不可靠 的无线连接上在 MS 和 BS 之间交换 IGMP 消息息导致的服务中断的可能性。 此外,由于 IGMP 查询消息在 IGMP 代理服务器中被终止而没有传送给 MS,这不会引起任何节电模 式的不必要中断并将节省无线资源。
图 5 根据本发明的实施例示出了当处理来源于上行多播路由器的 IGMP 查询消息 时的工作流程图。
步骤 501 :IGMP 代理服务器从上行路由器接收到一个包含组址的 IGMP 查询消 息。 该查询消息用于查询是否存在任何 MS 接收由查询消息中的组址识别的多播服务。
步骤 502 :IGMP 代理服务器确定在成员管理表的条目中是否有从 IGMP 查询消 息中得到的组址。 如果表中存在从 IGMP 查询消息中得到的组址,那么就进入步骤 503, 否则,进入步骤 504。
步骤 503 :IGMP 代理服务器向上行多播路由器发送一个指示与组址相关联的多 播服务正被至少一个 MS 接收的 IGMP 报告消息。
步骤 504 :IGMP 代理服务器在没有将 IGMP 查询消息传送给子网络的情况下终 止其工作流程。
3. 断开多播服务 :
当 MS 与多播服务断开时,会发启一个解除相应多播连接的 DSD/DSC 请求。 在
连接解除的过程中,组址在 MAC 层中从 MS 传送到 BS。 如图 3 所示,AR 中装配 IGMP 代理服务器,包含组址的连接信息及与多播服务断开的 MS 的 MS 标识符信息将从 BS 发 送到 AR。 所以 IGMP 代理服务器维护的成员管理表基于所接收的连接信息得到更新。 如果有必要, IGMP 代理服务器代表 MS 基于成员管理表发送一个 IGMP 断开消息。 因 而,由于 MS 要求与多播服务断开的指令在 MAC 层隐性地传送,这个传送过程比在上层 传送更可靠、速度更快。 此外, IGMP 代理服务器最初产生并代表 MS 发送 IGMP 断开 消息到上行路由器,以此降低由于在不可靠的无线连接上交换 IGMP 断开消息导致的服 务中断的可能性。
图 6 根据本发明的实施例示出了当请求与多播服务断开时 IGMP 代理服务器的工 作流程图。
步骤 601 :IGMP 代理服务器接收到请求与 MAC 层断开事件 ( 如 DSD/DSC 解 除或删除 MBS 服务流 ) 触发的多播服务断开的消息。
步骤 602 :基于成员管理表, IGMP 代理服务器确定除了请求与多播服务断开的 MS 之外是否有任何其他的 MS 正在接收该多播服务。 例如,IGMP 代理服务器首先从在 步骤 601 接收到的消息中获取组址,然后使用所获取的组址找到成员管理表中的条目, 最后确定是否存在与组址相关联的任何其他的 MS。 如果任何其他的 MS 存在的话,那么 进入步骤 605,否则进入步骤 603。
步骤 603 :IGMP 代理服务器从成员管理表中删除组址记录。 步骤 604 :IGMP 代理服务器发送一个含有组址的 IGMP 断开消息到上行多播路由器。 步骤 605 :IGMP 代理服务器更新成员管理表。 此处,IGMP 代理服务器应该更 新成员管理表以去除关于 MS 标识符的信息以及关于 MS 标识符与唯一识别被请求断开的 多播服务的组址之间关系的信息,但是应该把组址留在表中。
根据本实施例,成员管理表包括两个域。 组址为一个域,另外一个域包括接收 同一多播服务的 MS 的一个或多个 MS 标识符。 因此,组址与 MS 标识符的结合构成了 一个记录。 但是,根据本实施例的一个变体实施例,另一个域仅仅包括一个单一 MS 标 识符。 所以一个记录由一个组址和一个单一 MS 标识符构成。 根据本实施例的另一个变 体实施例,另一个域用于记录接收同一多播服务的 MS 的数量而不是 MS 标识符。
再者,MS 在 MAC 层的上层例如应用层通过探测 UDP 套接器的情况定期地探测 多播服务的状况。 如果在没有触发中断 BS 和 MS 间的多播连接的消息时应用层的应用异 常终止,MS 能够探测到这一点并通过发送 DSC/DSD_REQ 消息在 MAC 层启动连接删除 程序。
此外, BS 通过周期性使用测距技术并请求 IGMP 代理服务器相应地更新成员管 理表来探测 MS 的异常电源中断。
根据本实施例的一个变体实施例, IGMP 代理服务器装配于 BS 而不是 AR 中。 因此, BS 没有必要把连接信息传送到 AR。 如图 7 所示,如果 IGMP 代理服务器装配在 BS 中,那么将连接信息从 BS 传送给 IGMP 代理服务器就是多余的。 而且,步骤 401 和 601 中请求加入 / 断开多播服务的消息不应该局限于从其他设备显性接收的消息。 例如, 与 DSA/DSC/DSD 相关的用于获取连接信息的消息可以被视为隐性请求加入 / 断开多播
服务的消息。
根据本实施例的一个变体实施例,成员管理表上的操作步骤如创建步骤 403、更 新步骤 405、605 和删除步骤 603 不是由 IGMP 代理服务器执行的,而是由与 IGMP 代理 服务器的进行信号通信的另一个设备执行的。 例如,如果 AR 中配有 IGMP 代理服务器, 成员管理表的操作就由 BS 来执行。
根据本实施例的一个变体实施例,所述方法 / 设备不局限于 WiMAX。 该方法可 应用于其他面临同样或相似问题的通信系统。
根据本实施例的一个变体实施例,IPv6 中的 MLD 可以使用此方法解决相似的问 题。
根据本发明的实施例,如图 8 所示, IGMP 代理服务器 800 包括一个接收模块 801、一个处理模块 802、一个传送模块 803 和一个搜索模块 804。
接收模块 801 配置用于接收消息 ;
传送模块 803 配置用于发送消息 ;
搜索模块 804 配置用于使用至少一个输入搜索标准或关键字来搜索映射信息数 据库 ; 处理模块 802 被配置用于,基于将从接收模块 801 接收的消息中获取的信息输入 到搜索模块得到的搜索结果,通过处理与 IGMP 相关的消息来执行代理服务器的功能。 具体而言,其配置用于 :
(1) 从请求加入到接收模块 801 接收的多播服务的消息中获取组址,把组址输入 搜索模块 804 取得搜索结果,然后基于搜索结果通过确定组址是否是映射信息数据库中 一个条目来确定所请求的多播服务在装配 IGMP 代理服务器的设备中是否可获得,如果 不可获取,处理模块 802 将调用传送模块 803 发送另一个包含指示加入多播服务组址的消 息。
(2) 从接收模块 801 接收的 IGMP 查询消息中获取组址,使用搜索模块 804 通过 将组址作为输入来确定组址是否是映射信息数据库中的条目。 如果条目存在,处理模块 802 调用传送模块响应于查询消息发送一个响应消息而不是向 MS 传送查询消息。 如果条 目不存在,处理模块 802 就丢弃查询消息。
(3) 从请求断开接收模块 801 接收的多播服务的消息中获取组址,把组址输入搜 索模块 804 取得搜索结果,然后基于搜索结果,通过确定除了请求在映射信息数据库中 断开的 MS 相关联的条目外组址是否有至少另外一个条目,来确定除了请求断开的 MS 外 是否有任何其他的 MS 正在接收多播服务。 如果不存在,处理模块 802 将调用传送模块 803 发送另一个包含指示断开多播服务组址的消息。
(4) 代理服务器还包括一个更新模块 ( 附图未示出 ),配置用于当接收设备加 入、断开或改变多播服务时更新映射信息数据库。
此外,映射信息数据库是 IGMP 代理服务器的一部分,或存储在一个与 IGMP 代 理服务器进行信号通信中的设备中。 例如,映射信息数据库如上所述采用表格的形式。
以上描述了一些实施方式。 但是,应该了解到可以对其做各种各样的修改。 例 如,不同的实施方式中的元件可以被合并、补充、修改或删除以生成其他的实施方式。 另外,一般技术人员应理解那些已描述出的结构和步骤可以用其他结构和步骤替代,而
且由此生成的实施方式将至少具有大致相同的功能,以大致相同的方式取得与描述出的 实施方式所具有的大致相同的结果。 因此,本申请涉及的这些及其他实施方式均在本发 明的范围内。