CN101483655B - 一种互联网组管理协议报文传输方法和代理设备 - Google Patents
一种互联网组管理协议报文传输方法和代理设备 Download PDFInfo
- Publication number
- CN101483655B CN101483655B CN200910078043.0A CN200910078043A CN101483655B CN 101483655 B CN101483655 B CN 101483655B CN 200910078043 A CN200910078043 A CN 200910078043A CN 101483655 B CN101483655 B CN 101483655B
- Authority
- CN
- China
- Prior art keywords
- igmp
- message
- interface
- source address
- multicast source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IGMP报文传输方法,包括:IGMP代理设备接收来自主机的IGMP加入报文;所述IGMP代理设备获取所述IGMP加入报文对应的组播源地址,并根据该组播源地址查询自身的单播路由表获得下一跳的出接口;如果所述出接口为IGMP上行接口,则IGMP代理设备将所述IGMP加入报文从所述出接口发送出去;如果所述出接口不是IGMP上行接口,则IGMP代理设备从自身的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去。本发明还公开了一种IGMP代理设备。本发明的技术方案避免了组播流量的绕行,在各IGMP上行接口之间实现了负载分担。
Description
技术领域
本发明涉及组播技术领域,尤指一种互联网组管理协议IGMP报文传输方法和一种IGMP代理设备。
背景技术
互联网组管理协议(IGMP,Internet Group Management Protocol)是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接连接的组播路由器之间建立和维护组播成员关系。IGMP实现的功能是双向的:一方面,主机通过IGMP协议通知本地路由器希望加入并接收某个特定组播组的信息;另一方面,路由器通过IGMP协议周期性地查询局域网内某个已知组播组的成员是否处于活动状态,即该网段是否仍有属于某个组播组的成员,实现对所连网络组播组成员关系的收集和维护。
到目前为止,IGMP有三个版本,分别为:IGMP第一版本(IGMPv1)、IGMP第二版本(IGMPv2)和IGMP第三版本(IGMPv3)。
IGMPv1主要基于查询和响应机制来完成对组播组成员的管理。当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP成员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送IGMP查询报文(Query Message)就足够了。这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。对于IGMPv1来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(DesignatedRouter,指定路由器)作为IGMP查询器。IGMPv1中,主机离开组播组时不会向组播路由器发出任何通知,组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的离开。
IGMPv2与IGMPv1相比,增加了离开组机制。在IGMPv2中,当一个主机离开某组播组时,该主机向本地网段内的所有组播路由器发送离开组(Leave Group)报文;当查询器收到该报文后,向该主机所声明要离开的那个组播组发送特定组查询(Group-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的组播组地址);如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(Max Response Time)内发送成员关系报告报文;如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文,查询器就会继续维护该组播组的成员关系;否则,查询器将认为该网段内已无该组播组的成员,于是不再维护这个组播组的成员关系。
IGMPv3在兼容和继承IGMPv1和IGMPv2的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。IGMPv3增加了针对组播源的过滤模式,使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S的组播信息。IGMPv3不仅支持IGMPv1的普遍组查询和IGMPv2的特定组查询,而且还增加了对特定源组查询的支持,其中普遍组查询报文中,既不携带组地址,也不携带源地址;特定组查询报文中,携带组地址,但不携带源地址;特定源组查询报文中,既携带组地址,还携带一个或多个源地址。IGMPv3报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。
在一些简单的树型网络拓扑中,边缘设备上并不需要运行复杂的组播路由协议,如PIM等,可以通过在这些边缘设备上配置IGMP代理(IGMPProxying)功能,使其代理下游主机来发送IGMP报文及维护组成员关系,并基于该关系进行组播转发。在上游设备看来,配置了IGMP代理功能的设备(这里称为IGMP代理设备)不再是一个PIM邻居,而只是一台主机。在这些边缘设备上使用基于IGMP/MLD的转发复制组播流量可以大大简化这些设备的设计与实现。由于在IGMP代理设备上不再需要提供诸如PIM或DVMRP之类更加复杂的组播路由协议,不仅降低了设备的成本,也减轻了管理员的操作负担。此外,IGMP代理设备可以完全独立于核心网络路由器所使用的组播路由协议。因此,可以简单地将IGMP代理设备布置在任何组播网络中。
图1是现有的包含IGMP代理设备的网络组网示意图。如图1所示,路由器B上配置的IGMP代理功能,即路由器B为IGMP代理设备。IGMP代理设备上定义了两种接口类型:
1)IGMP上行接口,在图1中用方形黑点表示,指IGMP代理设备上运行IGMP代理功能的接口,即朝向组播分发树树根方向的接口。该接口执行IGMP协议的主机行为,因此也称为主机接口。
2)IGMP下行接口,在图1中用圆形黑点表示,指IGMP代理设备上除上行接口外其他运行IGMP协议的接口,即背向组播分发树树根方向的接口。该接口执行IGMP协议的路由器行为,因此也称为路由器接口。
在图1中,作为IGMP代理设备的路由器B上维护着一个组成员关系数据库,将所有下行接口维护的组成员关系记录都存到这个数据库中。组成员关系记录的结构如下:(组播地址(Multicast-address),过滤模式(Filter-mode),组播源列表(Source-list)),每条记录都是各下行接口上具有相同组地址的成员关系记录的合集。上行接口正是依据这个数据库来执行主机行为,即当收到查询报文时根据当前数据库状态响应报告报文,或者当数据库变化时主动发送报告或离开报文;而下行接口则执行路由器行为,即参与查询器的选举、发送查询报文并根据报告报文维护组成员关系等。
在图1中,实线箭头表示路由器A发送的查询报文;虚线箭头表示路由器B发送的查询报文;一点一划线箭头表示主机发送的报告报文,这里主机A和C是当前组播的接受者;两点一划线箭头表示路由器B发送的报告报文。
当一个启用IGMP代理功能的IGMP代理设备存在多个IGMP上行接口时,由于IGMP代理设备与上游的路由器之间没有运行组播路由协议,不会进行选路。如果同时想多个IGMP上行接口发送IGMP报告报文,则会出现接收到多条流的现象。图2是IGMP代理设备存在双上行接口时的组网示意图。如图2所示,作为IGMP代理设备的路由器B有两个IGMP上行接口,分别为与路由器A连接的接口2和与路由器C连接的接口1,而路由器A与组播源1.1.1.1连接,且其组播组为232.1.1.1,路由C与组播源1.2.1.1连接,且其组播组为232.2.1.1。当某个用户需要点播组播组232.1.1.1的流量时,先向IGMP代理设备路由B发送IGMP报告报文;如果路由器B同时向接口1和接口2发送IGMP报告报文,会导致路由器B同时从路由器A和C接收到组播流,因此,对于双IGMP上行接口的组网,如何实现IGMP上行接口的备份和负载分担成为了一个重要的问题。
在现有方案中,将IGMP代理设备的双IGMP上行接口分别指定为主接口和备份接口,只有当主接口故障时切换到备份接口上。仍以图2为例,接口1为主接口,接口2为备份接口,当接口1正常时,IGMP代理只向接口1发送所有的IGMP报告报文;如果接口1故障,则IGMP代理只向接口2发送IGMP报告报文。但是这种方案存在以下问题:1)该方法虽然起到了备份的效果,但是在存在多个组播组的时候,多有组播组的流量都经过一个上行接口,没有在上行接口之间实现负载分担。2)存在流量绕行的现象,造成了网络资源的浪费,例如在图2中,接口1为主接口时,232.1.1.1的组播流流量会经过路由器A,再到路由器C,然后再到路由器B。
可见,现有的方案并没有解决IGMP代理设备的多个IGMP上行接口的负载分担问题,且存在流量绕行的问题。
发明内容
本发明提供了一种IGMP报文传输方法,该方法能够在IGMP代理设备的多个IGMP上行接口之间实现负载分担,且避免组播流量绕行。
本发明还提供了一种IGMP代理设备,该设备能够在IGMP上行接口之间实现负载分担,且避免组播流量绕行。
为达到上述目的发,本明的技术方案具体是这样实现的:
本发明公开了一种IGMP报文传输方法,该方法包括:
具有两个以上IGMP上行接口的IGMP代理设备接收来自主机的IGMP加入报文;
所述IGMP代理设备获取所述IGMP加入报文对应的组播源地址,并根据该组播源地址查询自身的单播路由表获得下一跳的出接口;
如果所述出接口为IGMP上行接口,则IGMP代理设备将所述IGMP加入报文从所述出接口发送出去;如果所述出接口不是IGMP上行接口,则IGMP代理设备从自身的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去。
本发明还公开了一种IGMP代理设备,该设备具有两个以上的IGMP上行接口,该设备包括:IGMP报文处理模块和路由表查询模块,其中,
IGMP报文处理模块,用于接收来自主机的IGMP加入报文,获取所述IGMP报文对应的组播源地址;向路由表查询模块发送携带所述组播源地址的查询信息,接收路由表查询模块返回的下一跳的出接口标识;判断所述下一跳的出接口是否为IGMP上行接口,是则将所述IGMP报文从所述出接口发送出去,否则从自身所属设备的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去;
路由表查询模块,用于接收IGMP报文处理模块发送的查询信息,根据其中携带的组播源地址查询自身所属设备的单播路由表获得下一跳的出接口,并将该下一跳的出接口的标识返回给IGMP报文处理模块。
由上述技术方案可见,本发明这种IGMP代理设备接收来自主机的IGMP加入报文时,获取所述IGMP加入报文对应的组播源地址,并根据该组播源地址查询自身的单播路由表获得下一跳的出接口,如果所述出接口为IGMP上行接口,则将所述IGMP加入报文从所述出接口发送出去,如果所述出接口不是IGMP上行接口,则从自身的IGMP上行接口中选择一个接口,将所述IGMP加入报文发送出去的技术方案,由于通过获取对应的组播源地址,并按组播源地址选择发送IGMP加入报文的IGMP上行接口,因此会使得组播流量沿着IGMP报文的最佳传输路径传输,避免了流量的绕行,同时也在各IGMP上行接口之间实现了负载分担。
附图说明
图1是现有的包含IGMP代理设备的网络组网示意图;
图2是IGMP代理设备存在双上行接口时的组网示意图;
图3是本发明实施例一种IGMP报文传输方法的流程图;
图4是本发明实施例中IGMP代理设备发送IGMP加入报文时选择IGMP上行接口的流程图;
图5是本发明实施例一种IGMP代理设备的组成结构框图。
具体实施方式
本发明的核心思想是IGMP代理设备在接收到用户主机发送的IGMP加入报文时,获取对应的组播源地址,并根据组播源地址选择下一跳的IGMP上行接口。
图3是本发明实施例一种IGMP报文传输方法的流程图。如图3所示,该方法包括以下步骤:
步骤301,具有两个以上IGMP上行接口的IGMP代理设备接收来自主机的IGMP加入报文。
步骤302,所述IGMP代理设备获取所述IGMP加入报文对应的组播源地址,并根据该组播源地址查询自身的单播路由表获得下一跳的出接口。
本步骤中,如果所述IGMP加入报文是携带组播源地址的报文,如IGMP第三版本(即IGMPv3)的IGMP加入报文,则由于IGMP加入报文本身是携带组播源地址S的,因此IGMP代理设备直接从IGMP加入报文中获取对应的组播源地址S。如果所述IGMP加入报文是不携带组播源地址的报文,如IGMPv1或IGMPv2的IGMP加入报文时,IGMP代理设备根据该IGMP加入报文中携带的组播组地址G,查询自身预先静态配置的组播源地址和组播组地址的对应关系(S,G)表项,获得对应的组播源地址S;这里(S,G)表项是预先手动静态配置好的;或者,存在多个IGMP代理设备,手动配置静态(S,G)表项比较繁琐且不易管理时,可以使用一台查询服务器,网管人员在服务器上配置静态(S,G)表项,当IGMP代理设备接收到的IGMP加入报文是IGMPv1或IGMPv2报文时,根据该IGMP加入报文中携带的组播组地址G向查询服务器发送查询请求,并接收查询服务器根据返回的对应的组播源地址S。
步骤303,如果所述出接口为IGMP上行接口,则IGMP代理设备将所述IGMP加入报文从所述出接口发送出去;如果所述出接口不是IGMP上行接口,则IGMP代理设备从自身的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去。
本步骤中,IGMP代理设备可以根据组播组地址G和组播源地址S进行哈希(HASH)算法,从自身的IGMP上行接口中选择一个接口。
在图3所示方案中,由于通过获取对应的组播源地址,并按组播源地址选择发送IGMP加入报文的IGMP上行接口,因此会使得组播流量沿着IGMP报文的最佳传输路径传输,避免了流量的绕行,同时也在各IGMP上行接口之间实现了负载分担。
为使本发明的目的、技术方案及优点更加清楚明白,以下对本发明进一步详细说明。
图4是本发明实施例中IGMP代理设备发送IGMP加入报文时选择IGMP上行接口的流程图,如图4所示,包括以下步骤:
步骤401,IGMP代理设备接收到用户主机发送的IGMP加入报文。
步骤402,IGMP代理设备判断所述接收的IGMP代理报文是否为IGMPv3版本的报文,是则执行步骤403,否则执行步骤404
步骤403,IGMP代理设备从所述IGMP加入报文中解析出组播源地址S,执行步骤405。
步骤404,IGMP代理设备判断本地是否存在静态配置的(S,G)表项,是则执行步骤405,否则执行步骤412。
步骤405,根据所述IGMP加入报文中携带的组播组地址G,查询(S,G)表项,获得对应的组播源地址S。
步骤406,IGMP代理设备根据获得的组播源地址S查询自身的单播路由表获得到组播源S的下一跳的出接口,并判断到组播源S的下一跳出接口是否存在等价路由(即是否存在多个最佳下一跳出接口),是则执行步骤409,否则执行步骤407。
步骤407,IGMP代理设备判断所获得的下一跳出接口是否为启动了IGMP代理功能的IGMP上行接口,是则执行步骤408,否则执行步骤411。
步骤408,IGMP代理设备将所述IGMP加入报文从所述下一跳出接口发送出去。结束流程。
步骤409,IGMP代理设备判断等价路由的多个下一跳出接口中是否至少有一个接口是启动了IGMP代理功能的IGMP上行接口,是则执行步骤410,否则执行步骤411。
步骤410,IGMP代理设备从启动了IGMP代理功能的下一跳出接口中选择一个接口发送IGMP加入报文。结束流程。
本步骤中,可以根据所述IGMP加入报文中携带的组播组地址G和所述获取的组播源地址S进行哈希运算,从启动了IGMP代理功能的下一跳出接口中选择一个接口发送IGMP加入报文。
步骤411,IGMP代理设备根据所述IGMP加入报文中携带的组播组地址G和所述获取的组播源地址S进行哈希运算,从自身的IGMP上行接口中选择一个接口发送IGMP加入报文。结束流程。
步骤412,IGMP代理设备根据所述IGMP加入报文中携带的组播组地址G进行哈希运算,从自身的IGMP上行接口中选择一个接口发送IGMP加入报文。结束流程。
下面仍以图2所示的组网为例对本发明的技术方案进行举例说明。在图2中,作为IGMP代理的路由B与上游的路由A和路由器C进行动态路由交互,学习到整网的路由,生成自身的单播路由表。路由A和路由器C上运行动态的组播路由协议,路由器B的接口1和接口2都加入到IGMP上行接口中。路由器B在本地建立一个IGMP上行接口组,组中包括接口1和接口2。
在图2中,当用户要点播组播组232.1.1.1的流量时,用户主机发送IGMPv3加入报文,其中携带组播源地址1.1.1.1;路由器B收到IGMPv3加入报文后,根据其中携带的组播源地址1.1.1.1查询自身的单播路由表,获得下一跳的出接口为接口2,同时检查到接口2属于IGMP上行接口组,则向接口2发送IGMP报文,之后所点播的组播流会从组播源1.1.1.1经过路由器A,并从接口2到达路由器B。同样,如果用户要点播组播组232.2.1.1的流量时,用户主机发送IGMPv3加入报文,其中携带组播源地址1.2.1.1;路由器B收到该IGMPv3加入报文后,根据其中携带的组播源地址1.2.1.1查询自身的单播路由表,获得下一跳的出接口为接口1,同时检查到接口1属于IGMP上行接口组,则向接口1发送IGMP报文,之后所点播的组播流会从组播源1.2.1.1经过路由器C,并从接口1到达路由器B。可以看出在路由器B的接口1和接口2上实现了负载分担,且实现了上行接口的优化选择,避免了组播流量的绕行,节省了网络资源。
图5是本发明实施例一种IGMP代理设备的组成结构框图,该设备具有两个以上的IGMP上行接口,如图5所示,该设备包括:IGMP报文处理模块501和路由表查询模块502,其中,
IGMP报文处理模块501,用于接收来自主机的IGMP加入报文,获取所述IGMP报文对应的组播源地址;向路由表查询模块502发送携带所述组播源地址的查询信息,接收路由表查询模块502返回的下一跳的出接口标识;判断所述下一跳的出接口是否为IGMP上行接口,是则将所述IGMP报文从所述出接口发送出去,否则从自身所属设备的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去;
路由表查询模块502,用于接收IGMP报文处理模块501发送的查询信息,根据其中携带的组播源地址查询自身所属设备的单播路由表获得下一跳的出接口,并将该下一跳的出接口的标识返回给IGMP报文处理模块501。
在图5中,IGMP报文处理模块501,在所述IGMP加入报文是携带组播源地址的报文时,用于从该IGMP加入报文中获取对应的组播源地址;在所述IGMP加入报文是不携带组播源地址的报文时,用于根据该IGMP加入报文中携带的组播组地址,查询自身所属设备上静态配置的组播源地址和组播组地址的对应关系表项,获得对应的组播源地址;或者,在所述IGMP加入报文是不携带组播源地址的报文时,用于根据该IGMP加入报文中携带的组播组地址向查询服务器发送查询请求,并接收查询服务器根据返回的对应的组播源地址;其中,查询服务器上静态配置有组播源地址和组播组地址的对应关系表项。
在图5中,IGMP报文处理模块501,在接收到路由表查询模块502返回的两个以上等价路由的下一跳出接口标识,且所述两个以上等价路由的出接口均为IGMP上行接口时,进一步用于根据所述IGMP加入报文中携带的组播组地址和所述获取的组播源地址进行哈希运算,从所述两个以上等价路由的出接口中选择一个出接口发送所述IGMP加入报文。
在图5中,IGMP报文处理模块501,在不能获取所述IGMP加入报文对应的组播源地址时,进一步用于根据所述IGMP加入报文中携带的组播组地址进行哈希运算,从自身所属设备的IGMP上行接口中选择一个接口发送所述IGMP加入报文。
在图5中,IGMP报文处理模块501,用于根据所述IGMP加入报文中携带的组播组地址和所述获取的组播源地址进行哈希运算,从自身所属设备的IGMP上行接口中选择一个接口。
综上所述,本发明这种IGMP代理设备接收来自主机的IGMP加入报文时,获取所述IGMP加入报文对应的组播源地址,并根据该组播源地址查询自身的单播路由表获得下一跳的出接口,如果所述出接口为IGMP上行接口,则将所述IGMP加入报文从所述出接口发送出去,如果所述出接口不是IGMP上行接口,则I从自身的IGMP上行接口中选择一个接口,将所述IGMP加入报文发送出去的技术方案,由于通过获取对应的组播源地址,并按组播源地址选择发送IGMP加入报文的IGMP上行接口,因此会使得组播流量沿着IGMP报文的最佳传输路径传输,避免了流量的绕行,同时也在各IGMP上行接口之间实现了负载分担。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种互联网组管理协议IGMP报文传输方法,其特征在于,该方法包括:
具有两个以上IGMP上行接口的IGMP代理设备接收来自主机的IGMP加入报文;
所述IGMP代理设备获取所述IGMP加入报文对应的组播源地址,并根据该组播源地址查询自身的单播路由表获得下一跳的出接口;
如果所述出接口为IGMP上行接口,则IGMP代理设备将所述IGMP加入报文从所述出接口发送出去;如果所述出接口不是IGMP上行接口,则IGMP代理设备从自身的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去。
2.如权利要求1所述的方法,其特征在于,所述IGMP代理设备获取所述IGMP加入报文对应的组播源地址包括:
当所述IGMP加入报文是携带组播源地址的报文时,IGMP代理设备从该IGMP加入报文中获取对应的组播源地址;
当所述IGMP加入报文是不携带组播源地址的报文时,IGMP代理设备根据该IGMP加入报文中携带的组播组地址,查询自身预先静态配置的组播源地址和组播组地址的对应关系表项,获得对应的组播源地址;
或者,当所述IGMP加入报文是不携带组播源地址的报文时,IGMP代理设备根据该IGMP加入报文中携带的组播组地址向查询服务器发送查询请求,并接收查询服务器返回的对应的组播源地址;其中,查询服务器上静态配置有组播源地址和组播组地址的对应关系表项。
3.如权利要求1或2所述的方法,其特征在于,当所述IGMP代理设备根据组播源地址查询自身的单播路由表,获得两个以上等价路由的下一跳出接口,且所述两个以上等价路由的出接口均为IGMP上行接口时,该方法进一步包括:
IGMP代理设备根据所述IGMP加入报文中携带的组播组地址和所述获取的组播源地址进行哈希运算,从所述两个以上等价路由的出接口中选择一个出接口发送所述IGMP加入报文。
4.如权利要求1或2所述的方法,其特征在于,如果所述IGMP代理设备不能获取所述IGMP加入报文对应的组播源地址,则该方法进一步包括:
所述IGMP代理设备根据所述IGMP加入报文中携带的组播组地址进行哈希运算,从自身的IGMP上行接口中选择一个接口发送所述IGMP加入报文。
5.如权利要求1或2所述的方法,其特征在于,所述IGMP代理设备从自身的IGMP上行接口中选择一个接口包括:
所述IGMP代理设备根据所述IGMP加入报文中携带的组播组地址和所述获取的组播源地址进行哈希运算,从自身的IGMP上行接口中选择一个接口。
6.一种IGMP代理设备,该设备具有两个以上的IGMP上行接口,其特征在于,该设备包括:IGMP报文处理模块和路由表查询模块,其中,
IGMP报文处理模块,用于接收来自主机的IGMP加入报文,获取所述IGMP报文对应的组播源地址;向路由表查询模块发送携带所述组播源地址的查询信息,接收路由表查询模块返回的下一跳的出接口标识;判断所述下一跳的出接口是否为IGMP上行接口,是则将所述IGMP报文从所述出接口发送出去,否则从自身所属设备的IGMP上行接口中选择一个接口,将所述IGMP加入报文从所述选择的接口发送出去;
路由表查询模块,用于接收IGMP报文处理模块发送的查询信息,根据其中携带的组播源地址查询自身所属设备的单播路由表获得下一跳的出接口,并将该下一跳的出接口的标识返回给IGMP报文处理模块。
7.如权利要求6所述的IGMP代理设备,其特征在于,所述IGMP报文处理模块,
在所述IGMP加入报文是携带组播源地址的报文时,用于从该IGMP加入报文中获取对应的组播源地址;
在所述IGMP加入报文是不携带组播源地址的报文时,用于根据该IGMP加入报文中携带的组播组地址,查询自身所属设备上静态配置的组播源地址和组播组地址的对应关系表项,获得对应的组播源地址;
或者,在所述IGMP加入报文是不携带组播源地址的报文时,用于根据该IGMP加入报文中携带的组播组地址向查询服务器发送查询请求,并接收查询服务器返回的对应的组播源地址;其中,查询服务器上静态配置有组播源地址和组播组地址的对应关系表项。
8.如权利要求6或7所述的IGMP代理设备,其特征在于,
所述IGMP报文处理模块,在接收到路由表查询模块返回的两个以上等价路由的下一跳出接口标识,且所述两个以上等价路由的出接口均为IGMP上行接口时,进一步用于根据所述IGMP加入报文中携带的组播组地址和所述获取的组播源地址进行哈希运算,从所述两个以上等价路由的出接口中选择一个出接口发送所述IGMP加入报文。
9.如权利要求6或7所述的IGMP代理设备,其特征在于,
所述IGMP报文处理模块,在不能获取所述IGMP加入报文对应的组播源地址时,进一步用于根据所述IGMP加入报文中携带的组播组地址进行哈希运算,从自身所属设备的IGMP上行接口中选择一个接口发送所述IGMP加入报文。
10.如权利要求6或7所述的IGMP代理设备,其特征在于,
所述IGMP报文处理模块,用于根据所述IGMP加入报文中携带的组播组地址和所述获取的组播源地址进行哈希运算,从自身所属设备的IGMP上行接口中选择一个接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910078043.0A CN101483655B (zh) | 2009-02-10 | 2009-02-10 | 一种互联网组管理协议报文传输方法和代理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910078043.0A CN101483655B (zh) | 2009-02-10 | 2009-02-10 | 一种互联网组管理协议报文传输方法和代理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101483655A CN101483655A (zh) | 2009-07-15 |
CN101483655B true CN101483655B (zh) | 2012-01-25 |
Family
ID=40880582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910078043.0A Active CN101483655B (zh) | 2009-02-10 | 2009-02-10 | 一种互联网组管理协议报文传输方法和代理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101483655B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635680B (zh) * | 2009-08-07 | 2011-08-31 | 中国电信股份有限公司 | 一种业务路由方法和系统 |
CN101789902B (zh) * | 2009-12-25 | 2012-07-25 | 福建星网锐捷网络有限公司 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
WO2011160300A1 (zh) * | 2010-06-24 | 2011-12-29 | 华为技术有限公司 | 组播实现方法、装置和系统 |
CN101924701B (zh) * | 2010-08-26 | 2013-04-17 | 北京星网锐捷网络技术有限公司 | 组播转发路径的建立方法及路由设备 |
CN102801632A (zh) * | 2012-08-28 | 2012-11-28 | 盛科网络(苏州)有限公司 | Pim-sm指定路由器和igmp查询器的统一选举方法 |
CN103501272B (zh) * | 2013-09-18 | 2017-06-23 | 新华三技术有限公司 | 一种组播流量转发方法及设备 |
CN103957164B (zh) * | 2014-04-29 | 2018-08-28 | 新华三技术有限公司 | 一种二层组播转发表项的维护方法和设备 |
CN104639446B (zh) * | 2015-02-03 | 2018-05-08 | 新华三技术有限公司 | 一种组播源信息获取方法及装置 |
CN108123811B (zh) * | 2016-11-28 | 2021-06-08 | 迈普通信技术股份有限公司 | Igmp代理设备、通信异常检测方法及切换方法 |
CN109067807A (zh) * | 2018-10-16 | 2018-12-21 | 杭州安恒信息技术股份有限公司 | 基于web应用防火墙过载的安全防护方法、装置及电子设备 |
CN110995609A (zh) * | 2019-12-20 | 2020-04-10 | 新华三半导体技术有限公司 | 报文发送方法、装置、电子设备及存储介质 |
CN113691462B (zh) * | 2021-07-29 | 2023-09-15 | 杭州迪普科技股份有限公司 | 互联网组管理协议的应答方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1458771A (zh) * | 2002-05-15 | 2003-11-26 | 华为技术有限公司 | 一种基于二层交换设备的组播报文转发方法 |
CN1968183A (zh) * | 2005-11-17 | 2007-05-23 | 华为技术有限公司 | 一种在MAC in MAC网络中实现组播的方法 |
-
2009
- 2009-02-10 CN CN200910078043.0A patent/CN101483655B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1458771A (zh) * | 2002-05-15 | 2003-11-26 | 华为技术有限公司 | 一种基于二层交换设备的组播报文转发方法 |
CN1968183A (zh) * | 2005-11-17 | 2007-05-23 | 华为技术有限公司 | 一种在MAC in MAC网络中实现组播的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101483655A (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101483655B (zh) | 一种互联网组管理协议报文传输方法和代理设备 | |
CN102075417B (zh) | 组播剪枝方法及协议无关组播路由器 | |
CN100433730C (zh) | 组播点播方法及系统 | |
US20030012215A1 (en) | Methods and arrangements for establishing a group collaboration session utilizing multiple multicast distribution trees | |
EP2286543B1 (en) | Method and device for obtaining terminal multicast status | |
JP2004179811A (ja) | パケット中継装置 | |
CN103117935B (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
US20090089408A1 (en) | XML Router and method of XML Router Network Overlay Topology Creation | |
CN101247210B (zh) | 一种基于组播源发现协议实现组播转发树的方法 | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN101986601B (zh) | 一种组播数据的传输方法和设备 | |
EP2892196A1 (en) | Method, network node and system for implementing point-to-miltipoint multicast | |
CN102316083B (zh) | 一种在ip网络中实现组播业务的方法和装置 | |
CN101610200B (zh) | 组播路由的切换方法及装置 | |
CN101345641B (zh) | 一种组播接入设备及方法 | |
CN101488873B (zh) | 组播加入方法及系统 | |
CN102694734B (zh) | 二层交换设备基于Linux内核桥实现组播的方法 | |
JP2003032299A (ja) | マルチキャストネットワークにおけるランデブーポイントの制御方法及び装置 | |
CN102045179A (zh) | 实现本地网络与公共网络间组播互通的方法和nat设备 | |
CN103780503B (zh) | 一种负载均衡的实现方法和设备 | |
KR100453221B1 (ko) | 유니캐스트 망을 이용한 그룹 캐스트 전송 방법 및 시스템 | |
CN102769562A (zh) | 一种双向pim组播实现方法及其设备 | |
CN106209649B (zh) | 自动配置组播路由协议时避开单播路由器的方法及装置 | |
CN102377639B (zh) | 组播剪枝方法及协议无关组播路由器、组管理窥探交换机 | |
JP3950915B2 (ja) | データ配信方法、データ配信システム、データ受信装置、データ中継装置、データ受信装置及びデータ配信用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |