基于网际分组管理协议第三版的以太网组播实现方法

文档序号:7654716阅读:188来源:国知局
专利名称:基于网际分组管理协议第三版的以太网组播实现方法
技术领域
本发明涉及IP网络,特别涉及一种基于网际分组管理协议(IGMP)的 以太网多端口组播实现方法。IP组播技术实现了 IP网络中点到多点的高效数据传输。此技术能够有 效地节约带宽、降低网络负载,被广泛应用在多媒体会议、实时数据传输、 游戏等诸多方面。IGMP (Internet Group Management Protocol,网际分组管 理协议)是IP组播路由技术中的重要模块,运行IGMP协议的组播路由器 负责将收集到的组播成员信息报告给其他组播路由器,故组播路由器在 IGMP协议中充当"组播路由侧"和"组播用户侧"两种角色。IGMPv3 (IGMP第3版)在IGMPv2 (IGMP第2版)基础上增加了 IPv4 (网际协议第4版)源过滤功能,即系统可以指定接收来自特定源地址的组 播流或指定接收来自特定源地址以外的组播流。IGMPv3标准由RFC3376 进行定义,其中详细描述了运行IGMPv3的系统在路由侧和用户侧的功能。在路由侧,系统主要完成组播监听功能。系统周期性发送通用查询报文, 请求所在网络的组成员信息。对于同一个网络中有多个接口的情况,协议中 只使用一个接口进行处理,并使用组播成员信息表(表结构定义{组播地 址multicast address(简称MA),组定时器group timer,过滤才莫式filter-mode, {源记录source records } } 、 source record的结构定义{源地址source address, 源计时器source timer})来记录组播成员信息。其中,{source records}用于记录所有请求组播的系统的IP地址,是源记录的集合。对于路由侧接收到 的不同类型的用户报告(如不同组播组地址的报告或不同组播组地址和不同 源地址的报告),按照标准中第6.4节所描述的规则更新组播成员信息表, 并发送特定组或特定源地址的组播查询报文。
背景技术
在用户侧,系统根据组播监听到的组播信息来完成组播代理功能。当系 统接收到通用查询报文时,系统查询自己的组播成员信息表,并发送Current-State Record的成员信息报告给路由器。当因组播组定时器过期、源 地址定时器过期、新的用户加入请求等引起系统组播成员信息发生变化时, 根据标准中第5.1节所描述的规则发送State-Change Report报文给路由器, 以此来保证网络中组播树的 一致。IGMPv3标准中仅使用 一个接口的组播成员信息表来记录网络中多个端 口的组播请求,在IPv4路由组播中虽能够较好的建立组播树并实现组播树 的剪切,但在以太网组播中却不能对特定用户端口的组播流进行控制。标准 中描述的IGMPv3组播路由协议,仅考虑组播系统实现单网络节点的组播信 息管理,不满足以太网组播系统多端口的管理需求。在以太网组播系统中, 需要确切知道一个组播组记录中哪些端口请求哪些组播流、包含哪些信息, 以满足IPTV等上层业务对特定端口用户的组播流控制。发明内容本发明要解决的技术问题是提供一种基于网际分组管理协议v3版本的 以太网组播实现方法,实现IGMPv3中的以太网组播。为了解决上述问题,本发明提供了 一种基于网际分组管理协议第三版的 以太网组#"实现方法,包括以下步骤(a) 以太网交换机收到组播成员报告后,更新组播成员信息表,所述 组播成员信息表中记录的信息包括组播地址、虚拟局域网号、端口号、源记 录,所述组播地址、虚拟局域网号、端口号唯一标识表中的一条记录;(b) 当以太网交换机收到组播流数据需要转发给用户时,根据组播流 数据中携带的组播地址、虚拟局域网号、源记录,查所述组播成员信息表, 确定组播流数据的发送方向。进一步地,上述方法还可具有以下特点,所述步骤(a)进一步包括 以太网交换机解析组播成员报告,根据报文中的索引信息判断是否存在具有
所述索引信息的组播成员信息记录,如果是,则更新该记录,否则,创建一 条新记录,记录中包括组#"地址、虛拟局域网号、端口号、源记录。进一步地,上述方法还可具有以下特点,所述组播成员报告报文中的组 播地址、虚拟局域网号和端口号为索引信息。进一步地,上述方法还可具有以下特点,所述源记录包括源地址和源地 址定时器。进一步地,上述方法还可具有以下特点,在所述步骤(a)中,所述以 太网交换机根据所述组播成员信息表构建一组播成员关系表,所述组播成员 关系表中记录的内容包括组播地址、虚拟局域网号、源地址和端口列表, 所述组播地址、虚拟局域网号、源地址用于标识表中的记录;在所述步骤(b) 中,所述以太网交换机根据组播流数据中携带的组播地址、虚拟局域网号、 源地址查找所述组播成员关系表,确定组播流数据的发送端口 。进一步地,上述方法还可具有以下特点,在所述步骤(a)中,所述组 播成员信息表更新后触发所述组播成员关系表的更新,所述组播成员关系表 的更新包括以组播地址、虚拟局域网端口号、各源地址分别查找所述组播 成员关系表,判断是否存在具有上述信息的组播成员关系记录,如果是,则 更新该记录,否则,创建一条新记录。进一步地,上述方法还可具有以下特点,当判断所述组播成员关系表中 存在具有上述信息的组播成员关系记录后,再判断如果源地址定时器未过期 且源地址有效,则将端口信息添加到此记录的端口成员列表中。进一步地,上述方法还可具有以下特点,所述创建一条新记录是指将源 地址定时器未过期的端口添加到新创建的组播成员关系表对应的记录中。进一步地,上述方法还可具有以下特点,所述组播成员关系表更新后, 同步更新交换机芯片中的组播地址、虚拟局域网号、端口列表、源地址。与现有技术相比,采用本发明所述方法,在现有IP协议组播^^由基础 上,在系统路由侧,通过对组播成员信息进行管理,实现组播管理和控制, 进一步保证用户组播请求的高效性和准确性。


图1为本实施例实现IGMPv3的组4番的流程图;图2为本实施例和现有技术中组播成员信息表对照图;图3为本实施例组播成员信息表与组播成员关系表的映射关系图;图4为本实施例组播成员信息表的更新流程图;图5为本实施例组播成员信息表与组播成员关系表的同步关系图;图6为本实施例组播成员关系表的更新流程图;图7为本实施例以太网交换机中芯片更新流程图。
具体实施方式
下面结合附图和具体实施方式
对本发明作进一步详细描述。在IGMPv3组播路由侧,通过扩展原有组播成员信息表结构,可以实现 IGMPv3的组播,同时新增加一个静态组播成员关系表,提供以太网交换机 多端口用户的组播成员信息的管理。如图1所示,包括以下步骤步骤一,以太网交换机收到组播成员报告,更新组播成员信息表,组播 成员信息表中记录的信息包括组播地址、VLAN号、Port号和源地址;以太网交换机从收到的组播成员报告中提取出VLAN号并且将收到该 报文的Port号加入到组播成员信息表中。所述组播成员报告可以是由以太网交换机定期查询而得,或者由其下用 户主动上报而得。步骤二,当以太网交换机收到组播流服务器发来的组播流数据需要转发 给用户时,查表将组播流数据发送给用户。组播流服务器发来的组播流数据中携带有组播地址、VLAN号、源地址 信息,以太网交换机根据这些信息查表可以确定将该组播流数据通过哪个端 口发送给哪个用户。在步骤一中,由于在组播成员信息表中添加了 VLAN号和Port号,如
图2所示,以使得当以太网交换机收到组播流数据后可以确定该组播流数据 是针对于哪个用户的,从而可以实现IGMPv3组播。为了保证用户组播请求的高效和准确,本实施例还构建一张组播成员关 系表,组播成员关系表与组播成员信息表有映射关系(如图3所示),当组 播成员信息表更新时,同时更新组播成员关系表。当以太网交换机收到组播 流数据后,可直接查组播成员关系表将组播流数据发送给用户。对步骤一进一步说明如下扩展原有组播成员信息表结构,在原有组播成员信息表上添加VLAN 和port信息,满足了以太网交换机系统在IGMPv3标准下按VLAN中端口 进行组播信息管理的需求,如图2所示,即将原有的组播成员信息表结构扩 展为包括以下内容虚拟局域网号VLAN、组播地址multicast address、端口 号port、组定时器group timer、过滤模式filter曙mode、源记录source records, 其中VLAN和port为增力口内容,source records的结构不变。这样每一个以 太网口都会记录与其连接的网络上的组播组信息,并按照RFC3376中6.4 节的规则更新组播成员信息表。以太网交换机根据收到的IGMPv3组播成员报告更新组播成员信息表 结构,如图4所示,包括以下步骤步骤401,以太网交换机解析组播成员报告,从报文中提取VLAN号、 port号、MA、用户报告类型和组播源地址列表信息;步骤402,以MA、 VLAN和port为索引信息查我组播成员信息表,判 断具有该索引信息的组播成员信息条目是否存在,如果是,按照RFC3376 第6.4节12条规则中匹配的规则,更新所述组播成员信息条目,否则,执 行下一步;VLAN、 port、 MA唯一区别一个表项,即每一个表项至少有VLAN、 port和MA与其他表项不同,因此以MA、 VLAN和port为索引进行查找, 可以唯一定义一个组播成员信息表中的 一项。步骤403,创建一条新的用户信息记录条目,条目中包括MA、 VLAN、port和源地址等信息;当更新完组播成员信息表后,如果存在有组播成员关系表,则按照对应 组播用户信息表项中的MA、 VLAN和各个源地址信息,分别通知组播成员 关系表更新对应的组播关系条目信息;如果没有,则创建一个组播成员关系 表。对组播成员关系表进一步说明如下组播成员关系表记录了与组播相关的信息,包括以下内容VLAN、 multicast address、 source address、端口歹ll表port list、 filter-mode, 此表记录 了每个 source address对应的所有成员端口信息。静态组#番成员关系表中一 个条目是由组播成员信息表中多条记录映射而成,两者的映射关系如图4所 示。它不 <又记录了成员信息表中同一 VLAN 、 multicast address和 source address的所有端口信息,同时也记录了有关此组播条目的最近一次成员报 告的模式。具体的说,在组播成员信息表中,可能每组MA、 VLAN和port对应多 个(源记录中的)源地址,因此当交换机下发组播流时,需要遍历所有组播 成员信息表,查找该组播流数据对应的所有源地址。而组播成员关系表以源 地址为主项建立,用源地址、MA和VLAN信息确定该组播流对应的所有端 口信息,使交换机能够快速准确的从相应端口下发组播流数据。组播成员关系表可以是静态的保存在交换机上,也可以动态建立,静态 的组播成员关系表更方便维护。如图5所示,以太网组播系统同步静态组播成员关系表与组播成员信息 表,即以太网交换机根据组播成员信息表更新组播成员关系表,包括以下步 骤步骤501,组播成员关系表收到待更新组播用户信息(包括VLAN、 MA 和组播源地址链表)后,以VLAN、 MA、各个组播源地址为索引分别查找 组播成员关系表,判断记录是否存在,如果是,执行下一步,否则,执行步 骤503;
待更新组播用户信息还可以包含端口 、用户报告类型等信息。步骤502,判断组播源地址定时器是否过期和/或组播源地址是否无效, 如果是,清除此索引记录的组播成员列表中对应的端口信息,否则,将端口 信息添加到此条目的组播端口成员列表中,同时更新对应索引的关系条目相 关状态,如组定时器,组播组模式、写芯片标志等信息;只有在组播源地址定时器没有过期且组播源地址有效时,才添加端口信 息;否则,都清除此索引记录的组播成员列表中对应的端口信息,包括以下 的情况之一组播源地址定时器已过期、组播源地址无效、组播源地址定时 器已过期且组播源地址无效。步骤503,将源地址定时器未过期的端口添加到新创建的组播成员关系 表对应条目中,同时更新对应索引的关系条目相关状态,如组定时器,组播 组模式、写芯片标志等信息。上述判断不限顺序,例如也可以采用如图6所示的流程。RFC3376中第6节定义的路由侧状态迁移和第5节定义的用户侧组定时 器变化等情况引起组播成员信息表更新的事件,都需要同步静态成员关系 表。在步骤二中,以太网交换机更新组播成员关系表后,为了控制交换机组 播流的方向,定期根据定时器消息事件(定期)检测成员关系表,来及时、 批量的操作芯片组播表。系统定期检测成员关系表各个条目,如果关系条目有效且写芯片标志有 效,则更新芯片;如果关系条目无效,则按上面操作清除芯片对应组播组信 息,从而避免多个用户请求同一组播地址时重复写芯片的操作,保证芯片与 成员关系表的同步,从而并保证了组播流按用户请求及时转发。包括以下步 骤步骤701,检测组播成员关系表中条目是否有效,如果是,继续执行, 否则,分别清除组播成员关系表中的表项以及芯片中对应的组播成员关系表 中的表项;
步骤702,检测组播成员关系表中写芯片标志是否有效,如果是,则将 此包含VLAN、组播地址、源地址和端口成员列表的信息条目直接写入芯片, 覆盖芯片原有对应組播组的成员信息。以太网交换机可以每10ms进行一次组播成员关系表的检测,这个时间 是根据系统性能和诸如IPTV业务对接收时延等要求设定的,可以变化。定 期检测能够更快、更简单的实现对用户端口的组播流控制,保证在视频会议 等特殊应用中,对于用户请求的组播流响应延时小于20ms。具体实现时可采用如图7所示的流程。以上操作方法按照RFC3376中规定的用户操作方式更新组播成员信息 表记录,并按照规则进行组播组模式转换和组播查询报文发送等操作。例 如,有关用户报文的处理和响应、代理功能、定时器的管理等均按照RFC3376 中第4、5、6节的描述进行处理;对组播成员信息表记录的更新按照RFC3376 中第5、 6节描述的定时器规则,并按照第二条中的操作方式同步组播成员 关系表相关信息。通过以上步骤的实施,实现了在以太网交换机上多端口 IGMPv3用户信 息的管理,并按照端口加入的组播组信息进行组播流控制。 一方面,在原有 组播用户信息表上添加VLAN和PORT信息,满足了以太网交换机系统在 IGMPv3标准下按VLAN中端口进行组播信息管理需求;其次,添加静态组 播成员关系表并实现和组播成员信息表的同步,保证系统通过此静态组播成 员关系表简单、高效的完成基于VLAN和端口的组播流控制;再次,系统 每10ms遍历组播成员关系表标志,将待更新组播信息批量同步到硬件组播 地址表中,减少了系统频繁操作硬件的问题,同时也满足了系统响应用户组 播流请求的速度,为上层基于以太网组播控制的业务提供了保障。
权利要求
1、一种基于网际分组管理协议第三版的以太网组播实现方法,包括以下步骤(a)以太网交换机收到组播成员报告后,更新组播成员信息表,所述组播成员信息表中记录的信息包括组播地址、虚拟局域网号、端口号、源记录,所述组播地址、虚拟局域网号、端口号唯一标识表中的一条记录;(b)当以太网交换机收到组播流数据需要转发给用户时,根据组播流数据中携带的组播地址、虚拟局域网号、源记录,查所述组播成员信息表,确定组播流数据的发送方向。
2、 如权利要求l所述的方法,其特征在于,所述步骤(a)进一步包括以太网交换机解析组播成员报告,根据报文中的索引信息判断是否存在 具有所述索引信息的组播成员信息记录,如果是,则更新该记录,否则,创 建一条新记录,记录中包括组#"地址、虚拟局域网号、端口号、源记录。
3、 如权利要求2所述的方法,其特征在于,所述组播成员报告报文中 的组播地址、虚拟局域网号和端口号为索引信息。
4、 如权利要求1所述的方法,其特征在于,所述源记录包括源地址和 源地址定时器。
5、 如权利要求4所述的方法,其特征在于,在所述步骤(a)中,所述 以太网交换机根据所述组播成员信息表构建一组播成员关系表,所述组播成 员关系表中记录的内容包括组播地址、虚拟局域网号、源地址和端口列表, 所述组播地址、虚拟局域网号、源地址用于标识表中的记录;在所述步骤(b) 中,所述以太网交换机根据组播流数据中携带的组播地址、虛拟局域网号、 源地址查找所述组播成员关系表,确定组播流数据的发送端口 。
6、 如权利要求5所述的方法,其特征在于,在所述步骤(a)中,所述 组播成员信息表更新后触发所述组播成员关系表的更新,所述组播成员关系 表的更新包括以组播地址、虚拟局域网端口号、各源地址分别查找所述组播成员关系 表,判断是否存在具有上述信息的组播成员关系记录,如果是,则更新该记 录,否则,创建一条新记录。
7、 如权利要求6所述的方法,其特征在于,当判断所述组播成员关系 表中存在具有上述信息的组播成员关系记录后,再判断如果源地址定时器未 过期且源地址有效,则将端口信息添加到此记录的端口成员列表中。
8、 如权利要求6所述的方法,其特征在于,所述创建一条新记录是指 将源地址定时器未过期的端口添加到新创建的组播成员关系表对应的记录中。
9、 如权利要求6所述的方法,其特征在于,所述组播成员关系表更新 后,同步更新交换机芯片中的组播地址、虚拟局域网号、端口列表、源地址。
全文摘要
本发明公开了一种基于网际分组管理协议v3版本的以太网组播实现方法,可以实现IGMPv3中的以太网组播。包括以下步骤(a)以太网交换机收到组播成员报告后,更新组播成员信息表,所述组播成员信息表中记录的信息包括组播地址、虚拟局域网号、端口号、源记录,所述组播地址、虚拟局域网号、端口号唯一标识表中的一条记录;(b)当以太网交换机收到组播流数据需要转发给用户时,根据组播流数据中携带的组播地址、虚拟局域网号、源记录,查所述组播成员信息表,确定组播流数据的发送方向。
文档编号H04L12/18GK101110730SQ20071011148
公开日2008年1月23日 申请日期2007年6月25日 优先权日2007年6月25日
发明者鹏 姜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1