CN100463447C - 控制组播数据转发的交换设备及方法 - Google Patents

控制组播数据转发的交换设备及方法 Download PDF

Info

Publication number
CN100463447C
CN100463447C CNB2005100936173A CN200510093617A CN100463447C CN 100463447 C CN100463447 C CN 100463447C CN B2005100936173 A CNB2005100936173 A CN B2005100936173A CN 200510093617 A CN200510093617 A CN 200510093617A CN 100463447 C CN100463447 C CN 100463447C
Authority
CN
China
Prior art keywords
multicast
address
router
port
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
Application number
CNB2005100936173A
Other languages
English (en)
Other versions
CN1744572A (zh
Inventor
周迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNB2005100936173A priority Critical patent/CN100463447C/zh
Publication of CN1744572A publication Critical patent/CN1744572A/zh
Application granted granted Critical
Publication of CN100463447C publication Critical patent/CN100463447C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种控制组播数据转发的交换设备和方法,其中,设备包括IP地址记录模块,用于获取组播组接收成员网络设备源IP地址并存储;组播MAC表项控制模块,用于依据存储的源IP地址生成并下发组播MAC表项以控制组播报文转发到指定设备。方法包括A)监听交换设备端口上收到的组播网络设备发送的组播协议报文;B)记录该些组播协议报文中包含的组播网络设备的身份信息;C)依据预定规则筛选身份信息,获得指定组播网络设备;D)建立组播数据转发表控制组播数据报文转发到该指定组播网络设备。应用本发明提供的设备和方法,能很好的控制组播数据在二层交换设备中的转发,避免组播流对网络设备不必要的冲击。

Description

控制组播数据转发的交换设备及方法
技术领域
本发明涉及组播技术领域,尤其涉及一种控制组播数据转发的交换设备及方法。
背景技术
IP组播,即源IP主机发送组播IP报文,此报文的目的IP地址是一个D类地址,或称组地址,也就是说,只有加入到该组的主机才能接收该报文。
组播源侧是指连接组播源的一侧。连接组播源的组播路由器承担着组播业务的第一跳转发任务,如果这个路由器出了故障,整个组播业务就会瘫痪。因此组网时,一般要通过二层交换机来连接组播源和若干台组播路由器,以增加网络的健壮性。
在与二层交换机连接的这些组播路由器中,只有其中的一个指定的路由器,一般是连接组播服务器的接口IP地址最大的那个组播路由器才真正执行组播业务转发的功能。其它路由器虽然也接收着组播流,但是并不承担转发这些组播流的任务,仅仅起备份的作用。然而,在现有技术中,由于转发组播数据的二层交换机不能很好的控制和筛选其需要转发的组播数据,因此这些备份路由器往往会受到组播流的冲击,所以不断的丢弃来自组播服务器的冲击流的动作,造成网络资源的消耗和浪费。
这是因为,现有的二层交换机对组播流的处理方法,通常采用IGMP-SNOOPING协议(下面简称IGSP协议)。应用IGSP协议,交换机监听主机发出的IGMP协议(INTERNET GROUP MANAGEMENT PROTOCOL,因特网组管理协议)报文和组播路由器发出的IGMP、PIM(ProtocolIndependent Multicast,独立组播)等组播路由协议报文,来生成特定组的组播MAC表项,从而控制组播业务流在交换机内的转发。所述组播MAC(Media Access Control,媒体访问控制)表项是指交换机用来记录以太帧组播MAC地址和出端口列表对应关系的表项,当组播业务流在二层转发时,先根据业务流的目的MAC,匹配交换机上的组播MAC表项,以找到对应的出端口列表,进行一对多的复制和转发。
采用IGSP协议的交换机通过监听主机发出的IGMP成员关系报告报文,以及来自组播路由器的IGMP通用查询报文和PIM等组播路由协议报文来下发对应组的组播MAC表项,从而控制组播流在交换机内部的转发行为。由此可知,对于现有技术的二层交换设备中对组播流的处理方法可以概括为:生成组播MAC表项,该组播MAC表项包括它的所有成员端口和所有路由器端口,这些路由器端口包括:IGMP-SNOOPING交换机将收到了IGMP通用查询报文或者PIM协议报文的端口视为路由器端口,因为这两类报文都是由组播路由器发送的,所以可以确认这些端口连接的是组播路由器;所述成员端口:IGMP-SNOOPING交换机将收到了IGMP成员关系报告的端口视为对应组播组的成员端口,由于IGMP成员关系报告是由主机发送的,这些端口连接的是希望接收某一个组播流的主机;交换机监听来自路由器的IGMP通用查询报文和PIM协议报文,从而确定路由器端口;通过监听来自主机的IGMP成员关系报告报文,从而确定特定组播组的成员端口;交换机一监听到来自主机的IGMP成员关系报告,就下发对应的组播MAC表项。当组播流进入交换机时,匹配了这个组播MAC表项,就会找到对应的端口集进行转发。
如图1所示,交换机启动了IGMP-SNOOPING协议,路由器A启动了PIM协议(组播路由器一般情况下自动运行IGMP协议,所以也会发送IGMP通用查询报文)。当交换机收到来自路由器A的IGMP通用查询报文或者PIM协议报文时,则设置对应的连接端口为路由器端口;此时主机A希望接收组播源发送的组播流,例如目的IP地址为224.1.1.1,它就会发送对应组的IGMP成员关系报告;交换机一收到IGMP成员关系报告,就下发相应的MAC表项01005e010101,其对应的端口集包括:连接路由器A的端口和连接主机A的端口。这样,交换机就会将组播流只转发给路由器A和主机A,而不会转发给未发送请求的主机B,使主机B免受冲击。
对于组播源侧的网络,交换机连接着组播服务器和组播路由器。组播服务器一般不要求发送对应组的IGMP成员关系报文,这样,如果交换机运行标准的IGSP协议,则可能出现以下两种情况。
1、组播服务器不发送对应组播组的IGMP成员关系报告,则交换机不下发组播MAC表项;于是将组播流转发到所有的可用端口,导致组播流冲击备份组播路由器。
2、组播服务器发送对应组播组的IGMP成员关系报告,交换机生成组播MAC表项,该组播MAC表项包括连接组播服务器的端口以及所有的组播路由器端口,于是将组播流转发到连接组播服务器的端口以及所有的组播路由器端口,导致组播流冲击备份组播路由器。
所以,采用IGSP协议,备份组播路由器不管怎样都会受到组播流的无谓冲击。
CISCO在RFC3488中提出了一个RGMP(Router-port Group ManagementProtocol,路由器端口组管理协议)协议,该协议是CISCO的私有协议,需要组播路由器和交换机同时支持。组播路由器负责发送RGMP协议报文,交换机只负责监听RGMP协议报文。交换机根据监听到的RGMP协议报文,就可以知道需不需要将连接该组播路由器的端口添加到组播MAC对应的端口集中。例如,交换机收到来自组播路由器的RGMP加入组报文,就说明该路由器希望接收某个组播流,则将连接该路由器的端口加入到对应组播MAC表项的端口集中;反之,收到组播路由器的RGMP离开组报文,说明该路由器不再希望接收某个组播流,则将对应端口从对应组播MAC表项的端口集中删除。这样就可以控制组播流往需要的组播路由器转发,而避免往不需要组播流的组播路由器转发。
CISCO的RGMP可以控制组播流不冲击备份组播路由器,但是也存在着以下几个问题:
1、该协议是CISCO的私有协议,其他厂商无法***;
2、该协议要求组播路由器的支持,所以当交换机单独卖,遇到不支持RGMP协议的组播路由器时,就无用武之地;
3、协议本身特点决定了组网时不支持交换机的同一个端口后面存在两个以上的组播路由器,由于当连接同一端口的一个组播路由器发送RGMP加入组报文,而另一个发送相同组地址的RGMP离开组报文时,就无法处理。
发明内容
本发明要解决的技术问题是提供一种控制组播数据转发的二层交换设备及方法,使得应用该设备及方法的组播源侧网络的组播数据不会冲击备份组播路由器且二层交换设备上的同一个路由器端口可以连接多个组播路由器。
为了解决上述问题,本发明提供一种控制组播数据转发的交换设备,用于连接组播服务器和组播组接收成员网络设备,所述交换设备支持因特网组管理协议监听,包括:
IP地址记录模块,用于获取组播组接收成员网络设备源IP地址并存储;
映射关系维护模块,用于在设备转发端口与组播组接收成员网络设备源IP地址之间建立与维护映射关系;
组播MAC表项控制模块,用于依据存储的所述组播组接收成员网络设备源IP地址以及所述映射关系,生成并下发组播MAC表项以控制组播报文流向指定组播组接受成员网络设备。
其中,所述组播MAC表项控制模块进一步包括
组播组接收成员网络设备源IP地址选择模块,用于按照预定的规则在存储的组播组成员源IP地址中选择出需要使用的组播组成员源IP地址;
组播MAC表项端口集生成控制模块,用于根据所述选择出的组播组接收成员网络设备源IP地址对应的设备转发端口生成对应的组播MAC表项中的端口集并下发。
其中,所述的预定规则为IP地址最大。
本发明的另一目的是提供一种控制组播数据转发的交换方法,应用在连接组播服务器和组播组接收成员网络设备的交换设备上,所述设备支持标准因特网组管理协议监听,所述方法包括下列步骤:
1)获取并存储所述组播组接收成员网络设备源IP地址;
2)建立、维护所述网络设备源IP地址和转发端口之间的映射关系;
3)在存储的所述组播组接收成员网络设备源IP地址中按照预定规则筛选IP地址;
4)根据所述筛选IP地址在映射关系中对应的交换设备端口生成组播MAC表项中的端口集;
5)所述设备根据MAC表项中的端口集转发组播数据。
其中,组播组接收成员网络设备可以为支持组播路由协议的组播路由器,步骤1)中具体包括如下步骤:
11)判断接口收到的协议报文是否是因特网组管理协议的通用查询报文或独立组播协议报文;
12)若是,则提取协议报文中的源IP地址并存储。
其中,步骤2)中,所述的映射关系为包含有连接组播路由器的端口号和组播路由器源IP地址的路由器端口列表。
其中,步骤2)中,所述的建立所述组播路由器源IP地址和转发端口之间的映射关系的方法是:
21)若接收到协议报文端口的端口号已在路由器端口列表中,且所述端口号所对应的组播路由器源IP地址也已存在,则更新该组播路由器源IP地址表项的时间戳;
22)若所述端口号已在路由器端口列表中,而所述端口号所对应的组播路由器源IP地址不存在,则添加该组播路由器源IP地址并设置时间戳;
23)若所述端口号不在路由器端口列表中,则先添加连接组播路由器端口端口号,再添加其所对应的组播路由器源IP地址并设置时间戳。
其中,步骤2)中所述的维护所述网络设备源IP地址和转发端口之间的映射关系的方法是:
若所述组播路由器源IP地址表项老化时间到或组播路由器端口下电后,则将该组播路由器源IP地址删除;
若被删除的路由器源IP地址表项所对应的组播路由器端口对应的组播路由器源IP地址列表为空,则将该组播路由器端口号从路由器端口列表中删除。
其中,步骤3)中所述的预定规则为IP地址最大,当组播路由器源IP地址删除后,还包括如下步骤:
判断最大IP地址对应的端口号是否发生改变;
若最大路由器源IP地址发生变化,更新组播MAC表项中的端口集。
本发明的又一个目的是提供一种控制组播数据转发的方法,应用于交换设备上用以控制组播源发出的组播数据报文向组播网络设备的转发,包括以下步骤:
A)监听交换设备端口上收到的组播网络设备发送的组播协议报文;
B)记录该些组播协议报文中包含的组播网络设备的身份信息;
C)依据预定规则筛选身份信息,获得指定组播网络设备;
D)建立组播数据转发表控制组播数据报文转发到该指定组播网络设备。
其中,所述身份信息为IP地址,筛选规则为IP地址最大或最小。
其中,D)步骤具体为:在转发表中仅将收到指定组播网络设备发出组播协议报文的端口作为组播数据报文转发端口。
与现有技术相比,本发明的有益效果为:
首先,由于采用了记录组播路由器源IP地址,并将最大路由器源IP地址所对应的交换设备连接路由器的端口号作为组播MAC表项所对应的唯一路由器端口号,也就是说明生成的组播MAC表项只对应指定路由器端口号,不对应备份路由器端口号。交换机将组播流转发到组播MAC表项所对应的路由器端口,即组播流只被转发到最大路由器源IP地址所对应的路由器端口,即指定路由器,而不被转发到其它备份路由器,从而备份路由器不会受到组播流的冲击,避免了备份路由器资源的无谓消耗。
其次,相对于其他办法,例如CISCO的RGMP协议,通过找出最大路由器源IP地址所对应的路由器端口号,本发明能够判断出哪个端口连接指定路由器,因而本发明支持同一个路由器端口连接多个组播路由器。
另外,本发明只是对具有二层交换功能的网络设备即交换机的处理功能进行了改进,不涉及组播路由器的实现,因此可以很好的利用现有的网络资源进行改造,降低了设备成本。
最后,本发明提供的设备及方法能与IGMP-SNOOPING兼容,不会造成与现有网络的任何对接问题,降低了网络升级的工作量。
附图说明
图1是本发明所提供的方法运行所依赖的网络示意图;
图2是本发明所提供的控制组播数据转发的交换方法的处理流程图;
图3是本发明的一个具体实施例中建立路由器端口列表方法的流程图;
具体实施方式
下面结合附图进一步详细说明本发明的具体实施方式。
在本说明书中,将使用如下定义:
IP组播:源IP主机发送组播IP报文,此报文的目的IP地址是一个D类地址,或称组地址,也就是说,只有加入到该组的主机才能接收该报文。
MAC表项:交换机用来记录以太帧MAC地址和出端口对应关系的表项,当业务流在二层转发时,先根据业务流的目的MAC地址,匹配交换机上的MAC表项,以找到对应的出端口,进行转发。
组播MAC表项:交换机用来记录以太帧组播MAC地址和出端口列表对应关系的表项,当组播业务流在二层转发时,先根据业务流的目的MAC,匹配交换机上的组播MAC表项,以找到对应的出端口列表,进行一对多的复制和转发。
组地址:即IP组播地址,一个IP组播地址往往对应着某一种服务,所以也习惯称其为组,文中会多次提到对应组的XXX,就是对应某一个IP组播地址的XXX。
IGMP协议:INTERNET GROUP MANAGEMENT PROTOCOL,因特网组管理协议,当主机希望加入或者离开指定的组播组并且准备接收或者拒绝接收该组播业务时,它会发送IGMP消息以通知本地组播路由器。目前有三个版本,通常设备支持V1、V2两个版本。
IGMP-SNOOPING协议:一种在应用在交换机上的二层组播协议。交换机监听主机发出的IGMP协议报文和组播路由器发出的IGMP、PIM等组播路由协议报文,来建立特定组的组播MAC表项,从而控制组播业务流在交换机内的转发。
路由器端口:IGMP-SNOOPING交换机将收到了IGMP通用查询报文或者PIM协议报文的端口视为路由器端口;因为这两类报文都是由组播路由器发送的,所以可以确认这些端口连接的是路由器,故得名。
成员端口:IGMP-SNOOPING交换机将收到了IGMP成员关系报告的端口视为对应组的成员端口;IGMP成员关系报告是由主机发送的,这些端口连接的是希望接收某一个组播流的主机。
端口DOWN:端口UP,一般指的该端口可用,可以在上面收发二层以上的协议;如果端口DOWN,协议报文将无法收发;端口DOWN通常是由于端口上的网线被拔而掉电引起的。
PIM协议:Protocol Independent Multicast,独立组播协议,一种流行的组播路由协议。
RGMP协议:Router-port Group Management Protocol,路由器端口组管理协议,CISCO的私有协议,与IGMP-SNOOPING协议配合使用,控制组播流转发往特定的路由器端口。
图1示出了本发明所提供的设备及方法运行所依赖的一种典型网络环境。背景技术中对该网络环境运行的基本原理已经做了较为详细地阐述。图1中的交换机即为本发明所要改进设备的典型实例。
在本发明的一个具体实施例中,图1所示网络中的路由器称之为组播路由器,其支持IGMP协议和组播路由协议,特别是PIM协议,而交换机上运行标准的IGMP-SNOOPING协议(IGSP协议)。本发明对图1所作改进的基本思想是:增强对来自组播路由器的IGMP通用查询报文与PIM协议报文的处理,增加了对组播路由器的源IP地址的记录,并和接收其报文的端口之间建立映射关系,按照预定的规则筛选源IP地址,例如挑选其中地址最大者,仅将其对应的映射端口作为路由器端口生成MAC表项并下发,从而便实现了控制组播数据转发到指定路由器的目的。
为此,本发明提供一种控制组播流转发的交换设备,该设备用于连接组播服务器和组播组接收成员网络设备,此处所述的组播组接收成员一般包括组播组成员主机和组播路由器,该交换设备支持标准因特网组管理协议监听(IGMP-SNOOPING协议),与传统的支持IGMP-SNOOPING协议的二层交换设备相比,概括来说,该设备应进一步包括以下关键模块:
IP地址记录模块,用于获取组播组接收成员网络设备源IP地址并存储;
组播MAC表项控制模块,用于依据存储的所述组播组接收成员网络设备源IP地址生成并下发组播MAC表项。
其中,IP地址记录模块的功能和工作模式主要为,在设备端口进行监听,不但将收到IGMP通用查询报文、PIM协议的端口进行记录,而且还获取并记录对应的来自组播路由器的协议报文的源IP地址并存储;而组播MAC表项控制模块,依据所存储的组播组成员网络设备源IP地址对设备端口进行筛选,只将筛选后的源IP地址对应的端口作为组播MAC表项中组播地址对应端口集的成员,舍弃其他不用的源IP地址对应的设备端口,从而生成受到预定规则控制的组播MAC表项,也就间接控制了随后在设备中转发的组播数据流只发往筛选后的设备。
由此,本技术领域的普通技术人员可以得知,记录网络设备源IP地址只是作为筛选转发设备端口的一种手段,其根本目的就是对MAC表项中的组播地址对应的端口集进行筛选、控制,在此目的指引下,本领域的普通技术人员很容易想到其他替代手段来实现,因此,不消说,这些简单的变化是包含在本发明所要求保护的范围之内的。
在本发明的一个具体实施例中,以控制组播数据转发到组播路由器为例,为了更好的存储记录的组播路由器的源IP地址,并且将其和连接组播路由器的设备端口相对应,在设备中还建立了映射关系维护模块,用于在所述设备转发端口与组播路由器源IP地址之间建立与维护映射关系。其中,该映射关系在本发明的一个具体实施例中采用了建立具有组播路由器端口号、组播路由器源IP地址数据表的方法。另外,对于组播MAC表项下发控制模块进一步划分为:组播组成员网络设备源IP地址选择模块,用于按照预定的规则在存储的组播组成员源IP地址中选择出需要使用的组播组成员源IP地址,例如,在本发明的一个具体实施例中,该规则即是根据源IP地址最大的筛选其对应的端口;组播MAC表项生成模块,用于根据所述选择出的组播组成员网络设备源IP地址对应的设备转发端口生成组播MAC表项并下发。
以上即是本发明所提供设备的概括特征及其在一些具体实施例中的实现方法,上述叙述和举例仅是为了更好的理解本发明,并不能对本发明的保护范围构成限制。
下面将结合附图阐述本发明所提供的控制组播数据转发的交换方法。该方法应用在连接组播服务器和接收组播数据的网络设备的二层交换设备上,所述设备支持标准IGMP-SNOOPING协议(IGSP协议)。在设备上,如果应用该方法,主要是利用IGSP协议提供的功能进行进一步的强化,因此可以称之为EIGSP(Enhanced IGSP,增强的IGSP协议)协议,当在设备上使用该方法时,该二层交换设备就具有了控制组播数据转发地交换功能,不应用该方法,则所述二层交换设备和普通运行IGSP协议的二层交换设备没有区别,因此,在本发明的一个具体实施例中,我们通过在二层交换设备上增加一个全局开关来控制所述EIGSP协议的使能,即可以由用户来决定是否使能本发明所提供的功能。当二层交换设备用来连接组播服务器与组播路由器时,就打开该开关,则可以对二层交换设备转发组播数据进行控制,否则关闭该开关,则二层交换设备运行标准的IGSP协议。
参考图2,在本发明的一个具体实施例中,为了更好的理解本发明,二层交换设备为交换机,组播组成员网络设备限定为路由器,即组播路由器,由此本发明所提供的控制组播数据转发的二层交换方法是通过如下步骤实现的:
在步骤S100,交换机获取并存储所述组播路由器源IP地址。该步骤是通过监听交换机端口收到的IGMP通用查询报文、PIM协议报文,并从报文中提取组播路由器的协议报文的源IP地址并存储。
在步骤S200,建立、维护所述网络设备源IP地址和转发端口之间的映射关系。为了建立组播路由器源IP地址和转发端口之间的关系,采用了在交换机记录的路由器端口列表中增加路由器源IP地址字段的方法,将该字段用来存储路由器源IP地址,从而建立了二者之间的映射关系,也解决了路由器源IP地址记录后的存储问题。如表1所示,交换机从端口1和端口2都收到了IGMP通用查询报文或者PIM协议报文,端口1后面连接了两台组播路由器(可能存在交换机或者HUB的级联)。端口1连接的组播路由器的接口IP地址为20.1.1.1和20.1.1.2,端口2连接的组播路由器的接口IP地址为20.1.1.5。
Figure C200510093617D00161
表1
每个路由器源IP地址表项都具有一个时间戳,用于表项的老化处理。初始值最好为路由器协议报文发送间隔的3倍,随着时间的推移逐步递减;有重复报文过来,则更新时间戳。
对于新增表项的处理,参考图3,图3示出了在维护映射关系表时新增表项的典型处理方法,简要概述如下:
在步骤S201,判断端口号是否在路由器端口列表中。具体来说,即在端口接收到IGMP通用查询报文或PIM协议报文时,记录端口号,然后搜索路由器端口列表,判断该端口号是否在路由器端口列表中已经存在,若有,则进入步骤S202,否则继续步骤S205;
在步骤S202,进一步判断组播路由器源IP地址是否存在。由于路由器端口列表中该端口已经存在,需进一步判断其所对应的路由器源IP地址是否存在,若有,则进入步骤S203,否则继续步骤S204;
在步骤S203,更新该组播路由器源IP地址表项的时间戳。由组播路由器源IP地址已经存在,无需重复记录,但再次发现该地址需要记录,说明该设备较为活跃,因此应更新其对应IP地址的老化时间戳,相当于刷新了该记录,结束。
在步骤S204,由于组播路由器源IP地址在表项中不存在,说明此为第一次记录,因此添加该组播路由器源IP地址并设置时间戳,结束。
在步骤S205,端口号不存在,则添加该组播路由器端口号,继续步骤S206。
在步骤S206,从接收到的协议中提取组播路由器的源IP地址,添加到路由器端口列表中的新增端口下,结束。
以上即是路由器端口列表中新增表项记录的方法,在维护过程中,还需要对表项的老化、组播路由器端口DOWN进行处理,实现方法基本相同且比较简单,概括说明如下:
任何一个“组播路由器源IP地址”表项老化时间一到立即删除;然后查看被删除IP地址表项的上一级“端口号”,看它下挂的“路由器源IP地址”列表是否已经为空,空了则将该端口号从“端口号”列表中删除。
组播路由器端口DOWN时的处理略有不同的是无需查看端口对应的“组播路由器源IP地址”列表是否为空,可立即删除表中的端口表项及其对应的“组播路由器源IP地址”表项。
在步骤S300,在存储的所述接收组播数据的网络设备源IP地址中按照预定规则筛选IP地址。在本发明的一个具体实施例中,预定规则为筛选IP地址最大者,这时需要遍历路由器端口列表中的路由器源IP地址列,查看其中的最大IP地址。需要说明的是,若在路由器端口列表中增加或删除了“组播路由器源IP地址”表项,则导致按照预定规则筛选的结果会有所变化,因此必须重复此步骤以及步骤S400,即,当表项中新增或删除“组播路由器源IP地址”时,应遍历“组播路由器源IP地址”列表,看对应的最大IP地址对应的端口号是否发生了改变,若改变则需重现筛选确定所需的源IP地址,然后执行步骤S400,刷新组播MAC表项并下发。
在步骤S400,根据所述筛选IP地址在映射关系中对应的交换设备端口生成组播MAC表项中的端口集。此步骤中实际包括组播MAC表项的生成及其对组播MAC表项中端口集生成的控制。其中,组播MAC表项的生成是本发明所提供方法赖以运行的前提,但在交换设备支持IGSP协议时,组播MAC表项的生成一般只基于IGMP成员关系报文的触发,也就是说,只有当交换设备连接到支持IGMP协议的主机时方能保证组播MAC表项的生成或下发,若交换设备只连接组播路由器或其他交换设备,而不和其他组播组成员主机相连时,必须使该交换设备能自动触发组播MAC表项的生成,在本发明的一个具体实施例中,采用的办法是当交换设备收到组播数据流时,控制其生成组播MAC表项。因此,本步骤地执行一般基于MAC地址表项中端口集的刷新,也可能是收到组播数据流或IGMP成员关系报文时执行本步骤。
在步骤S500,交换设备根据MAC表项中的端口集转发组播数据。
下面通过一个具体实施例中的实例来举例综合说明本发明提供的方法的具体操作流程及关键步骤。
继续参考上述表1,交换机会将收到了IGMP通用查询报文和PIM协议报文的那些端口进行记录,作为路由器端口保存下来。传统的IGSP协议只记录路由器端口号,启动了EIGSP协议后的交换机不但记录路由器端口号,而且需要记录对应的来自组播路由器的协议报文的源IP地址。
从表1可以看出,交换机从端口1和端口2都收到了IGMP通用查询报文或者PIM协议报文,端口1后面连接了两台组播路由器(可能存在交换机或者HUB的级联)。端口1连接的组播路由器的接口IP地址为20.1.1.1和20.1.1.2,端口2连接的组播路由器的接口IP地址为20.1.1.5。
每个路由器源IP地址表项都具有一个时间戳,用于表项的老化处理。初始值建议为路由器协议报文发送间隔的3倍,随着时间的推移逐步递减;有重复报文过来,则更新时间戳。
在该例中最大路由器源IP地址为20.1.15,因而根据20.1.15对应的路由器端口号:2,形成组播MAC表项对应的端口集中,路由器端口只有端口2。
当交换机接收到IGMP通用查询报文或者PIM协议报文、或者IGMP成员关系报告报文时,就生成组播MAC表项,交换机根据该组播MAC表项中的路由器端口号,将组播流转发到指定路由器,本例为路由器端口号:2。
对于路由器端口列表的维护,若一个端口收到来自组播路由器的IGMP通用查询报文或PIM协议报文,如果该端口在表1的“路由器端口号”列表中已存在,并且对应的路由器源IP地址也已存在,则直接更新路由器源IP地址表项的时间戳,例如表1中,从组播路由器20.1.1.1收到IGMP通用查询报文,则更新20.1.1.1的时间戳;如果该端口在“路由器端口号”列表中已存在,但对应的路由器源IP地址不存在,则直接添加路由器源IP地址,并设置时间戳,例如表1中,端口1后面又连接一组播路由器20.1.1.3,交换机收到来自组播路由器的IGMP通用查询报文或PIM报文,则在端口1下面添加20.1.1.3的表项,同时设置时间戳;如果该端口在“路由器端口号”列表中不存在,则先添加路由器端口,再添加路由器源IP地址,并设置时间戳,例如表1中,在端口号3后面又连接一个组播路由器20.1.1.10,则需要添加路由器端口号3,同时在它下面添加路由器源IP地址20.1.1.10,并设置时间戳。
然后遍历“路由器源IP地址”列表,如果最大IP地址对应的端口号发生了改变,则更新组播MAC表项,刷新对应的端口集。
对于路由器端口DOWN的情况,例如表1中,如果端口2DOWN了,则该端口号,连同下属的路由器源IP地址表项,都需要立即删除;此时,最大IP地址发生了变化,变成20.1.1.2,于是最大IP地址对应的端口号也发生了变化,变为端口1,即指定路由器发生了变化,此时需要更新组播MAC表项,将端口1加入到对应的端口列表中,而将端口2从对应的端口列表中删除。需要说明的是:由于基本上所有路由协议里规定了IP地址最大的路由器为指定路由器,因此本实施例的筛选规则是选择最大的IP地址;然而协议对指定路由器的规定未来可能会有变化,首先筛选规则可以变成最小,甚至其他的规则;其次采用其他身份信息来规定指定路由器,如MAC地址甚至是特别构造的身份信息,本发明可建立相应的筛选规则来适应这样的变化。因此,从广义的角度上讲,本发明对IP地址的记录可理解为对路由器身份信息记录,并以此来获得指定路由器,这一点对于本领域的技术人员来说是容易理解的,因此本发明的方案亦可归结如下:
一种控制组播数据转发的方法,应用于交换设备上用以控制组播源发出的组播数据报文向组播网络设备的转发,包括以下步骤:
A)监听交换设备端口上收到的组播网络设备发送的组播协议报文;
B)记录该些组播协议报文中包含的组播网络设备的身份信息;
C)依据预定规则筛选身份信息,获得指定组播网络设备;
D)建立组播数据转发表控制组播数据报文转发到该指定组播网络设备。
其中,所述身份信息为IP地址,筛选规则为IP地址最大或最小。
其中,D)步骤具体为:在转发表中仅将收到指定组播网络设备发出组播协议报文的端口作为组播数据报文转发端口。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。

Claims (12)

1、一种控制组播数据转发的交换设备,用于连接组播服务器和组播组接收成员网络设备,所述交换设备支持因特网组管理协议监听,其特征在于所述交换设备包括:
IP地址记录模块,用于获取组播组接收成员网络设备源IP地址并存储;
映射关系维护模块,用于在设备转发端口与组播组接收成员网络设备源IP地址之间建立与维护映射关系;
组播MAC表项控制模块,用于依据存储的所述组播组接收成员网络设备源IP地址以及所述映射关系,生成并下发组播MAC表项以控制组播报文流向指定组播组接收成员网络设备。
2、如权利要求1所述的控制组播数据转发的交换设备,其特征在于,所述组播MAC表项控制模块进一步包括
组播组接收成员网络设备源IP地址选择模块,用于按照预定的规则在存储的组播组成员源IP地址中选择出需要使用的组播组成员源IP地址;
组播MAC表项端口集生成控制模块,用于根据所述选择出的组播组接收成员网络设备源IP地址对应的设备转发端口生成对应的组播MAC表项中的端口集并下发。
3、如权利要求2所述的控制组播数据转发的交换设备,其特征在于所述的预定规则为IP地址最大。
4、一种控制组播数据转发的方法,应用在连接组播服务器和组播组接收成员网络设备的交换设备上,所述设备支持标准因特网组管理协议监听,其特征在于,包括下列步骤:
1)获取并存储所述组播组接收成员网络设备源IP地址;
2)建立、维护所述网络设备源IP地址和转发端口之间的映射关系;
3)在存储的所述组播组接收成员网络设备源IP地址中按照预定规则筛选IP地址;
4)根据所述筛选IP地址在映射关系中对应的交换设备端口生成组播MAC表项中的端口集;
5)所述设备根据MAC表项中的端口集转发组播数据。
5、如权利要求4所述的控制组播数据转发的交换方法,其特征在于组播组接收成员网络设备为支持组播路由协议的组播路由器,步骤1)中具体包括如下步骤:
11)判断接口收到的协议报文是否是因特网组管理协议的通用查询报文或独立组播协议报文;
12)若是,则提取协议报文中的源IP地址并存储。
6、如权利要求5所述的控制组播数据转发的交换方法,其特征在于步骤2)中,所述的映射关系为包含有连接组播路由器的端口号和组播路由器源IP地址的路由器端口列表。
7、如权利要求6所述的控制组播数据转发的交换方法,其特征在于步骤2)中所述的建立所述组播路由器源IP地址和转发端口之间的映射关系的方法是:
21)若接收到协议报文端口的端口号已在路由器端口列表中,且所述端口号所对应的组播路由器源IP地址也已存在,则更新该组播路由器源IP地址表项的时间戳;
22)若所述端口号已在路由器端口列表中,而所述端口号所对应的组播路由器源IP地址不存在,则添加该组播路由器源IP地址并设置时间戳;
23)若所述端口号不在路由器端口列表中,则先添加连接组播路由器端口端口号,再添加其所对应的组播路由器源IP地址并设置时间戳。
8、如权利要求7所述的控制组播数据转发的交换方法,其特征在于,步骤2)中所述的维护所述网络设备源IP地址和转发端口之间的映射关系的方法是:
若所述组播路由器源IP地址表项老化时间到或组播路由器端口下电后,则将该组播路由器源IP地址删除;
若被删除的路由器源IP地址表项所对应的组播路由器端口对应的组播路由器源IP地址列表为空,则将该组播路由器端口号从路由器端口列表中删除。
9、如权利要求8所述的控制组播数据转发的交换方法,其特征在于,步骤3)中所述的预定规则为IP地址最大,当组播路由器源IP地址删除后,还包括如下步骤:
判断最大IP地址对应的端口号是否发生改变;
若最大路由器源IP地址发生变化,更新组播MAC表项中的端口集。
10、一种控制组播数据转发的方法,应用于交换设备上用以控制组播源发出的组播数据报文向组播网络设备的转发,其特征在于包括以下步骤:
A)监听交换设备端口上收到的组播网络设备发送的组播协议报文;
B)记录该些组播协议报文中包含的组播网络设备的身份信息;
C)依据预定规则筛选身份信息,获得指定组播网络设备;
D)建立组播数据转发表控制组播数据报文转发到该指定组播网络设备。
11、如权利要求10所述控制组播数据转发的方法,其特征在于,所述身份信息为IP地址,筛选规则为IP地址最大或最小。
12、如权利要求10所述控制组播数据转发的方法,其特征在于,D)步骤具体为:在转发表中仅将收到指定组播网络设备发出组播协议报文的端口作为组播数据报文转发端口。
CNB2005100936173A 2005-08-31 2005-08-31 控制组播数据转发的交换设备及方法 Active CN100463447C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100936173A CN100463447C (zh) 2005-08-31 2005-08-31 控制组播数据转发的交换设备及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100936173A CN100463447C (zh) 2005-08-31 2005-08-31 控制组播数据转发的交换设备及方法

Publications (2)

Publication Number Publication Date
CN1744572A CN1744572A (zh) 2006-03-08
CN100463447C true CN100463447C (zh) 2009-02-18

Family

ID=36139772

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100936173A Active CN100463447C (zh) 2005-08-31 2005-08-31 控制组播数据转发的交换设备及方法

Country Status (1)

Country Link
CN (1) CN100463447C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921402B (zh) * 2006-08-15 2012-07-04 华为技术有限公司 一种组播业务处理方法以及***
CN101119290B (zh) * 2006-08-01 2011-06-01 华为技术有限公司 以太网支持源特定组播转发的方法及***
CN101123744B (zh) * 2006-08-11 2010-12-29 中兴通讯股份有限公司 一种用于多媒体广播多播服务的多播装置和方法
CN101132298B (zh) * 2006-08-21 2011-11-30 中兴通讯股份有限公司 一种用于多媒体广播多播服务的多播装置及其方法
CN101141669B (zh) * 2006-09-06 2011-01-05 华为技术有限公司 在ip无线接入网中下发多媒体广播/组播服务业务的方法
CN100466832C (zh) * 2006-09-30 2009-03-04 中兴通讯股份有限公司 一种无线局域网ip组播帧传输的组播成员管理方法
CN101175068B (zh) * 2006-11-02 2011-08-17 上海未来宽带技术及应用工程研究中心有限公司 多版本组播协议融合方法
CN1980246B (zh) * 2006-12-07 2011-04-13 杭州华三通信技术有限公司 二层组播流转发方法
CN101291240B (zh) * 2008-06-19 2010-08-25 杭州华三通信技术有限公司 一种组播流传输方法和***
CN101924692B (zh) * 2009-06-09 2012-06-20 鸿富锦精密工业(深圳)有限公司 路由器处理组播报文的方法
CN101834791B (zh) * 2010-04-21 2011-12-21 瑞斯康达科技发展股份有限公司 一种组播报文转发方法
CN102694734B (zh) * 2012-06-11 2016-02-10 烽火通信科技股份有限公司 二层交换设备基于Linux内核桥实现组播的方法
CN104113484A (zh) * 2013-04-19 2014-10-22 中兴通讯股份有限公司 报文的转发处理方法及装置
CN103685040B (zh) * 2013-12-02 2017-01-18 杭州华三通信技术有限公司 基于md的组播vpn流量优化方法和设备
CN104202174B (zh) * 2014-08-13 2017-12-19 上海斐讯数据通信技术有限公司 一种精确转发ip特定源组播数据的实现方法
CN108111323B (zh) * 2017-11-10 2020-08-14 中国电子科技集团公司第三十二研究所 vxworks***下igmpsnooping协议的实现***
CN108111324B (zh) * 2017-12-19 2022-06-03 刘昱 一种基于sdn网络的组播控制方法、装置及存储介质
CN111064824B (zh) * 2019-12-29 2022-05-13 苏州浪潮智能科技有限公司 一种交换机端口ip地址增删校验方法、装置、设备和介质
CN112187756A (zh) * 2020-09-21 2021-01-05 普联国际有限公司 组播数据的传输方法、装置、设备及存储介质
CN114143132B (zh) * 2021-11-15 2023-08-04 云知声(上海)智能科技有限公司 基于rtp-mesh实现多端设备智能联动的方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414759A (zh) * 2002-01-30 2003-04-30 华为技术有限公司 受控组播的***及其实现方法
US20030202513A1 (en) * 2002-04-30 2003-10-30 Realtek Semiconductor Corp. Method and apparatus for packet forwarding in a switch controller
CN1486038A (zh) * 2003-08-29 2004-03-31 北京港湾网络有限公司 组播精确转发的控制方法
US6847638B1 (en) * 2000-10-16 2005-01-25 Cisco Technology, Inc. Multicast system for forwarding desired multicast packets in a computer network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847638B1 (en) * 2000-10-16 2005-01-25 Cisco Technology, Inc. Multicast system for forwarding desired multicast packets in a computer network
CN1414759A (zh) * 2002-01-30 2003-04-30 华为技术有限公司 受控组播的***及其实现方法
EP1480405A1 (en) * 2002-01-30 2004-11-24 Huawei Technologies Co., Ltd. System and implementation method of controlled multicast
US20030202513A1 (en) * 2002-04-30 2003-10-30 Realtek Semiconductor Corp. Method and apparatus for packet forwarding in a switch controller
CN1486038A (zh) * 2003-08-29 2004-03-31 北京港湾网络有限公司 组播精确转发的控制方法

Also Published As

Publication number Publication date
CN1744572A (zh) 2006-03-08

Similar Documents

Publication Publication Date Title
CN100463447C (zh) 控制组播数据转发的交换设备及方法
CN101212326B (zh) 一种在任意播组内对节点配置的方法和辅助方法及装置
US8539088B2 (en) Session monitoring method, apparatus, and system based on multicast technologies
CN102197627B (zh) 组播流量收敛的改善
CN100479415C (zh) 一种实现数据通讯的***及其方法
CN1801711B (zh) 一种组播组成员认证方法和装置
EP2562973A1 (en) Virtual machine migration method, switch, virtual machine system
CN109120418A (zh) 端点的分布式多播
CN101053211B (zh) 用于配置和管理健壮覆盖多播树的方法和设备
CN102057623B (zh) 用于获得终端状态的方法
CN102316124B (zh) 终端设备注册方法及设备
CN105553853B (zh) 一种nvr管理ipc的方法、装置和***
CN102037684A (zh) 使用具有分布式结构的媒体服务器的组通信***及其方法
CN101577722A (zh) 实现强制mac转发功能的方法和装置
CN102790811A (zh) 一种在监控网络中穿越nat设备的方法和装置
CN101562576B (zh) 一种路由发布方法和设备
CN103347179A (zh) 一种实现监控前端设备联网的装置和方法
CN101232392A (zh) 一种msdp和pim间通告组播源的方法
CN103716230B (zh) 消息发送方法、装置及服务器
CN102739521A (zh) 一种组播业务实现方法及其设备
WO2009021424A1 (en) A device and method for handling messages
CN102739542A (zh) 一种组播报文传输方法及装置
CN101197779B (zh) 一种提升地址解析协议代理发包效率的方法、装置和***
CN102164075A (zh) 一种因特网协议视频监控方法和接入层交换机
CN101345641B (zh) 一种组播接入设备及方法

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.