CN102316083B - 一种在ip网络中实现组播业务的方法和装置 - Google Patents
一种在ip网络中实现组播业务的方法和装置 Download PDFInfo
- Publication number
- CN102316083B CN102316083B CN201010222545.9A CN201010222545A CN102316083B CN 102316083 B CN102316083 B CN 102316083B CN 201010222545 A CN201010222545 A CN 201010222545A CN 102316083 B CN102316083 B CN 102316083B
- Authority
- CN
- China
- Prior art keywords
- multicast
- pim
- message
- list
- interface
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种IP网络中实现组播点播业务的方法和装置,指定路由器(DR)不向与该DR直连的组播源侧二层交换机发送协议无关组播(PIM)Hello报文和组播发现协议查询报文。DR接收到来自下游路由器的PIM加入报文后,确定PIM加入报文携带的组播流信息对应的组播流入接口,并将接收所述PIM加入报文的接口加入组播流信息对应的组播表项的出接口列表。DR通过确定的组播流入接口发送组播发现协议加入报文给所述二层交换机,该组播发现协议加入报文携带所述组播表项的信息。本发明能够在IP网络中实现组播点播功能,节约与DR直连的组播源侧二层交换机与DR之间的线路带宽。
Description
技术领域
本发明涉及网络通信技术,特别涉及一种在IP网络中实现组播业务的方法和装置。
背景技术
IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传输,能够大量节约网络带宽、降低网络负载。利用网络的组播特性,一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等互联网的信息服务得到了快速的发展。
随着IP监控系统的迅速发展,组播技术的应用也越来越深入,在各种偏远地区也要求安装摄像机以维护地方治安,由于偏远地区构设专线的成本太高,通常是租用网络服务提供商(ISP)的线路。常见的做法是,将某偏远地区上的摄像机统一汇聚到一个二层交换机上,该交换机与总部监控网络的通信走租用的ISP线路。如图1所示,与组播源连接的二层交换机与指定路由器(DR)之间的线路采用ISP线路,DR上使能协议无关组播(PIM)和组播发现协议,在二层交换机上使能组播发现协议,其中,组播发现协议可以为互联网组管理协议(IGMP)或者组播侦听发现(MLD)协议。
现有技术中对于图1所示架构中的组播实现方法为:为了使组播流能够到达DR,DR通过P3接口发送PIM Hello消息或IGMP查询消息。二层交换机通过P2接口接收到PIM Hello消息或IGMP查询消息后,将P2接口设置为组播路由器接口(Router port),之后会将来自组播源的所有组播流通过作为路由器接口的P2接口进行发送。
由于路由器接口的特性是,将所有的组播流都通过路由器接口转发,因此,在IP网络中,组播接收者无法实现对组播源的点播功能,并且,如果其他组播接收者点播了其他组播源,则会接收到不希望接收到的内容。例如,组播接收者1当前并不希望接收到组播流,但如果组播接收者2点播了组播源,则二层交换机同样会将组播流通过P2接口转发,这样组播接收者1也会接收到组播流。这种现象会浪费带宽,甚至线路拥塞等情况,例如,ISP线路的租金通常是十分昂贵的,因此,IP监控系统租用ISP线路的带宽通常十分有限,诸如2M带宽,如果采用现有技术中的方式,所有组播源的流量总和往往大于ISP线路的带宽,因此,需要实现组播点播功能且避免接收到其他组播接收者点播的组播流,也就是说,组播接收者希望仅接收到自己点播的组播流。
发明内容
有鉴于此,本发明提供了一种在IP网络中实现组播点播业务的方法和装置,以便于在IP网络中实现组播点播功能,从而节约与DR直连的组播源侧二层交换机与DR之间的线路带宽。
一种在IP网络中实现组播点播业务的方法,DR不向与该DR直连的组播源侧二层交换机发送PIM Hello报文和组播发现协议查询报文,该方法包括:
A、所述DR接收到来自下游路由器的PIM加入报文后,确定所述PIM加入报文携带的组播流信息对应的组播流入接口,并将接收所述PIM加入报文的接口加入所述组播流信息所对应组播表项的出接口列表;
B、所述DR通过确定的所述组播流入接口发送组播发现协议加入报文给所述二层交换机,所述组播发现协议加入报文携带所述组播表项的信息。
一种在IP网络中实现组播点播业务的装置,该装置设置在指定路由器DR中,其特征在于,该DR不向与该DR直连的组播源侧二层交换机发送协议无关组播PIM Hello报文和组播发现协议查询报文;所述装置包括:PIM代理模块和组播发现协议模块;
其中,所述PIM代理模块包括:信息获取模块、入接口确定模块和表项处理模块;
所述信息获取模块,用于在所述DR接收到来自下游路由器的PIM加入报文后,获取该PIM加入报文中携带的组播流信息;
所述入接口确定模块,用于确定所述组播流信息对应的组播流入接口;
所述表项处理模块,用于将接收所述PIM加入报文的接口加入所述组播流信息所对应组播表项的出接口列表,并向所述组播发现协议模块发送第一触发通知;
所述组播发现协议模块,用于接收到所述第一触发通知后,通过所述组播流入接口发送组播发现协议加入报文给所述二层交换机,所述组播发现协议加入报文携带所述组播表项的信息。
由以上技术方案可以看出,在本发明中DR不再向与该DR直连的组播源侧二层交换机发送PIM Hello报文和组播发现协议查询报文,而是在接收到PIM加入报文后,通过确定的组播流入接口发送组播发现协议加入报文,这样,组播源侧二层交换机在接收到组播发现协议加入报文后,就能够将接收到组播发现协议加入报文的接口加入相应组播发现协议探听(Snooping)表项对应的出接口列表,从而使接收到组播发现协议加入报文的接口成为组播成员接口,通过该接口仅转发所加入组播组的组播流。通过本发明能够使得组播接收者仅接收到自己点播的组播流,避免接收到其他不希望接收到的组播流,从而节约二层交换机和DR之间的线路带宽。
附图说明
图1为IP网络中实现组播业务的架构示意图;
图2为本发明实施例一提供的详细方法流程图;
图3为本发明实施例二提供的详细方法流程图;
图4为本发明提供的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实际上,本发明需要实现的是在IP网络中组播流的按需传输问题,现有技术中问题的关键在于DR向二层交换机发送的PIM Hello报文或IGMP查询报文会使得二层交换机将接收PIM Hello报文或IGMP查询报文的接口设置为路由器接口,从而无法实现组播流的按需传输。在本发明中,发明人利用另一种特性的接口,即组播成员接口,这种特性的接口只会转发该组播成员接口所对应的组播组的组播流,那么本发明的关键就在于,如何利用该种特性的接口。
本发明提供的方法可以主要包括:DR不向与该DR直连的组播源侧二层交换机发送PIM Hello报文和IGMP查询报文;DR接收到来自下游路由器的PIM加入报文后,确定该PIM加入报文携带的组播流信息所对应的组播流入接口,并将接收该PIM加入报文的接口加入该组播流信息所对应组播表项的出接口列表;DR通过确定的组播流入接口发送携带上述组播表项信息的IGMP加入报文给与该DR直连的组播源侧二层交换机。
更进一步地,DR接收到来自下游路由器的PIM剪枝报文后,确定该PIM剪枝报文携带的组播流信息所对应的组播流入接口,并将接收该PIM剪枝报文的接口从该组播流信息所对应组播表项的出接口列表中删除;DR通过确定的组播流入接口发送携带上述组播流信息的IGMP离开报文给与该DR直连的组播源侧二层交换机。
在本发明提供的上述方法中,DR不再向与该DR直连的组播源侧二层交换机发送PIM Hello报文和IGMP查询报文,而是在接收到PIM加入报文后,通过确定的组播流入接口发送IGMP加入报文,这样,组播源侧二层交换机在接收到IGMP加入报文后,就能够将接收到IGMP加入报文的接口加入相应IGMP Snooping表项对应的出接口列表,从而使接收到IGMP加入报文的接口成为组播成员接口。
下面通过具体的实施例对上述方法进行详细描述。PIM协议存在四种模式:协议无关组播密集模式(PIM DM)、协议无关组播稀疏模式(PIM SM)、协议无关组播指定源组播(PIM SSM)模式和双向PIM模式。其中,PIM DM模式和双向PIM模式不适合点播需要,因此下述实施例以PIM SSM和PIMSM模式的情况进行说明。
实施例一、PIM SSM模式下的情况。图2为本发明实施例一提供的详细方法流程图,如图2所示,可以具体包括以下步骤:
步骤201:DR接收到来自下游路由器的PIM加入报文后,以该PIM加入报文中包含的组播源地址作为目的地址查找单播路由表,确定对应的出接口,将该出接口作为组播流入接口,并利用PIM加入报文中包含的组播源地址和组播组地址建立组播表项,将接收到该PIM加入报文的接口加入该组播表项对应的出接口列表。
在PIM SSM模式中,组播接收者发送的IGMP加入报文中会同时包含组播源地址和组播组地址,可以标识为(S,G),与组播接收者直连的叶路由器接收到IGMP加入报文后,会发送包含(S,G)的PIM加入报文至DR。
DR接收到包含(S,G)的PIM加入报文后,利用其中的组播源地址查询单播路由表,以该组播源地址为目的地址查找对应的出接口,该出接口即为图2中的P3接口,该P3接口作为组播流入接口。DR在本地建立包含(S,G)的组播表项,将接收PIM加入报文的接口P1加入组播表项(S,G)对应的出接口列表。
另外,DR在本地建立包含(S,G)的组播表项之前可以判断本地是否已经存在包含(S,G)的组播表项,如果是,则直接将接口P1加入组播表项(S,G)对应的出接口列表;否则,在本地建立包含(S,G)的组播表项后,将接收PIM加入报文的接口P1加入组播表项(S,G)对应的出接口列表。
本步骤中的操作可以通过设置在DR中的PIM代理执行。
步骤202:DR通过确定的组播流入接口发送包含组播源地址和组播组地址的IGMP加入报文。
DR中的PIM代理在本步骤中可以触发DR中的IGMP模块发送IGMP加入报文,该IGMP加入报文通过图2中的P3接口转发给二层交换机,且该IGMP加入报文中包含PIM加入报文所包含的组播源地址和组播组地址,即(S,G)。需要说明的是,根据组播源侧IGMP版本的不同,DR发送的IGMP加入报文中包含的内容也不同,本步骤中是以组播源侧配置了IGMPv3为例,即IGMP加入报文中包含组播源地址和组播组地址(S,G),如果组播源侧配置了IGMPv2,则DR发送的IGMP加入报文中仅包含组播组地址(*,G)。
步骤203:与DR直连的组播源侧二层交换机利用接收到的IGMP加入报文包含的组播源地址和组播组地址,建立IGMP snooping表项,并将接收到该IGMP加入报文的接口加入该IGMP snooping表项对应的出接口列表。
本步骤中,二层交换机通过P2接口接收到包含(S,G)或(*,G)的IGMP加入报文,在本地建立IGMP snooping表项,将P2接口加入IGMPsnooping表项对应的出接口列表。至此,P2接口成为组播成员接口,二层交换机会将与IGMP snooping表项匹配的组播流通过P2接口进行传输,对于其他与IGMP snooping表项不匹配的组播流,则不会通过P2接口传输,从而实现点播功能,并阻止其他组播源的组播流。
同样,二层交换机在建立IGMP snooping表项之前可以首先判断本地是否已经存在IGMP加入报文所包含信息对应的IGMP snooping表项,如果已经存在,则直接将P2端口加入该IGMP snooping表项对应的出接口列表,否则在本地建立IGMP snooping表项后,将P2端口加入该组播表项对应的出接口列表。
步骤204:DR接收到来自RP路由器的包含上述组播源地址和组播组地址的PIM剪枝报文后,以该组播源地址作为目的地址查找单播路由表,确定对应的出接口作为组播流入接口,并将接收到该PIM剪枝报文的接口从包含该组播源地址和组播组地址的组播表项对应的出接口列表中删除。
如果组播接收者要结束组播流的接收,则会通过发送包含(S,G)的IGMP离开报文,与组播接收者直连的叶路由器接收到IGMP离开报文后,会发送包含(S,G)的PIM剪枝报文至DR。
DR接收到包含(S,G)的PIM剪枝报文后,同样利用其中的组播源地址S查询单播路由表,以该组播源地址为目的地址查找对应的出接口,该出接口即为图2中的P3接口,该P3接口作为组播流入接口。DR将接收PIM加入报文的接口P1从组播表项(S,G)对应的出接口列表中删除。
如果组播表项(S,G)对应的出接口列表为空,则DR可以将该组播表项从本地删除。
本步骤中的操作可以通过设置在DR中的PIM代理执行。
步骤205:DR通过确定的组播流入接口发送包含该组播源地址和组播组地址的IGMP离开报文。
DR中的PIM代理在本步骤中可以触发DR中的IGMP模块发送IGMP离开报文,该IGMP离开报文通过图2中的P3接口转发给二层交换机,且该IGMP离开报文中包含PIM剪枝报文所包含的组播源地址和组播组地址,即(S,G)。同样,如果组播源侧配置了IGMPv3,则DR发送的IGMP离开报文中包含组播源地址和组播组地址(S,G),如果组播源侧配置了IGMPv2,则DR发送的IGMP离开报文中仅包含组播组地址(*,G)。
步骤206:与DR直连的组播源侧二层交换机确定包含IGMP离开报文所携带的组播源地址和组播组地址的IGMP snooping表项,将接收到该IGMP离开报文的出接口从该IGMP snooping表项对应的出接口列表中删除。
本步骤中,二层交换机通过P2接口接收到包含(S,G)的IGMP离开报文,确定对应的IGMP snooping表项,将P2接口从IGMP snooping表项对应的出接口列表中删除。至此,从组播源S发往G的组播流就不会通过P2接口转发。
如果二层交换机通过P2接口接收到包含(*,G)的IGMP离开报文,确定对应的IGMP snooping表项,将P2接口从IGMP snooping表项对应的出接口列表中删除。至此,所有发往G的组播流就不会通过P2接口转发。
如果IGMP snooping表项对应的出接口列表为空,则二层交换机可以将该IGMP snooping表项从本地删除。
实施例二、PIM SM模式下的情况。图3为本发明实施例二提供的详细方法流程图,如图3所示,可以具体包括以下步骤:
步骤301:在DR上与二层交换机(与DR直连的组播源侧二层交换机)连接的接口上预先配置该接口所连接的组播源信息。
由于在PIM SM模式下,组播接收者发送的IGMP加入报文中只包含组播组地址,DR在接收到该IGMP加入报文时,无法利用组播源地址查找单播路由表的方式确定组播流入接口,针对这一问题,本实施例中预先在与二层交换机连接的接口(如图2中的P3接口)上配置与该接口关联的组播源信息。
其中,配置的组播源信息可以为:包含所有组播源所对应组播组地址的组播组地址池,即一个或多个(*,G)信息;或者,分别配置各组播源与组播组之间的对应关系,即完整的(S,G)信息。
步骤302:DR利用配置的组播源信息在本地生成组播表项,并周期性地向组播汇聚点(RP)路由器发送PIM源注册消息,该PIM源注册消息中包含配置的组播源信息。
如果步骤301中配置的组播源信息为组播组地址池,则在本地生成的组播表项为一个或多个(*,G),发送的PIM源注册消息也仅包含一个或多个(*,G)。如果步骤301中配置的组播源信息为组播源与组播组之间的对应关系,即完整的(S,G)信息,则在本地生成的组播表项为各(S,G)组播表项,发送的PIM源注册消息也为组播源与组播组之间的对应关系,即完整的(S,G)信息。
本步骤中,DR在本地生成的组播表项不会随着时间老化,只有针对接口配置的组播源信息删除,对应的组播表项才会被删除。
步骤303:RP路由器收到PIM源注册消息后,利用PIM源注册消息中携带的组播源信息在本地生成组播表项,并设置该组播表项的老化时间,向DR回复PIM源注册确认消息。
如果PIM源注册消息中包含的是组播组地址池信息,则RP路由器生成的组播表项为(*,G);如果PIM源注册消息中包含的是组播源与组播组之间的对应关系,则RP路由器生成的组播表项为各(S,G)。
RP路由器如果在组播表项的老化时间内,没有接收到包含该组播表项内容的PIM源注册消息,则删除该组播表项;如果在组播表项的老化时间内接收到包含该组播表项内容的PIM源注册消息,则更新该组播表项的老化时间。
在此,组播表项的老化时间要比PIM源注册消息的发送周期要长,可以设置为三倍的PIM源注册消息的发送周期。
另外,RP路由器在利用PIM源注册消息中携带的组播流信息在本地生成组播表项之前,可以首先判断本地是否已经存在该组播流信息对应的组播表项,如果是,则不必建立组播表项,直接更新该组播表项的老化时间;否则,继续执行建立组播表项的操作。
较优地,DR如果在发送PIM源注册消息后的设定时间内没有接收到对应的PIM源注册确认消息,则立即重新发送PIM源注册消息;如果在设定时间内接收到对应的PIM源注册确认消息,则按照预设的发送周期发送PIM源注册消息。其中设定的时间小于PIM源注册消息的发送周期,这样可以防止RP路由器中长时间没有形成相应的组播表项,避免组播接收者长时间无法进行组播点播业务。
另外,为了标识PIM源注册消息和PIM源注册确认消息之间的对应关系,可以在PIM源注册消息中携带序列号,该序列号随着发送的PIM源注册消息的次数递增,对应的PIM源注册确认消息中携带同样的序列号。
当PIM源注册消息中包含的组播流信息较多时,超出设备的最大传输单元(MTU),则可以对PIM源注册消息进行分片处理,即发送多个PIM源注册消息,每个PIM源注册消息携带不同的序列号。
步骤304:RP路由器接收到与组播接收者直连的叶路由器发送来的PIM加入报文后,确定该PIM加入报文所携带组播流信息对应的组播表项,将接收该PIM加入报文的端口加入该组播表项对应的出接口列表,并将该PIM加入报文转发给DR。
在PIM SM模式中,组播接收者发送的IGMP加入报文中仅包含组播地址,假设组播接收者发送的IGMP加入报文中包含的组播流信息为(*,G1)。与组播接收者直连的叶路由器接收到IGMP加入报文后,向RP路由器发送携带(*,G1)的PIM加入报文。RP接收到PIM加入报文后,确定(*,G1)对应的组播表项,将接收该PIM加入报文的接口加入该组播表项对应的出接口列表中。本步骤为现有技术,在此不再赘述。
步骤305:DR接收到PIM加入报文后,根据PIM加入报文所携带组播流信息确定组播流入接口,该组播流入接口上配置的组播源信息包含PIM加入报文所携带的组播流信息,并确定该PIM加入报文所携带组播流信息对应的组播表项,将接收该PIM加入报文的接口加入该组播表项对应的出接口列表。
本步骤中,DR接收到包含(*,G1)的PIM加入报文后,确定配置了G1信息的接口,假设P3接口配置了G1信息,该G1信息可以包含在组播组地址池中,也可以包含在组播源与组播组之间的对应关系中,则确定该P3接口为组播流入接口。另外,将接收该PIM加入报文的P1接口加入包含G1的组播表项对应的出接口列表中。
在确定组播表项时,假设DR本地存在组播表项(S1、G1)、(S2、G1)、(S1、G2)、(S3、G3),则确定包含G1的组播表项为(S1、G1)、(S2、G1)。如果DR本地存在的组播表项为(*,G1),则确定的包含G1的组播表项就是(*,G1)。
步骤302和步骤305中的操作可以由设置在DR中的PIM代理执行。
步骤306:DR通过确定的组播流入接口发送IGMP加入报文,该IGMP加入报文中携带确定的组播表项信息。
DR中的PIM代理在本步骤中可以触发DR中的IGMP模块发送IGMP加入报文,该IGMP加入报文通过图2中的P3接口转发给二层交换机。
如果DR建立的组播表项为(*,G1),则IGMP加入报文中也携带(*,G1);如果DR建立的组播表项为(S1、G1)、(S2、G1),则IGMP加入报文中也携带(S1、G1)、(S2、G1),也可以携带(*,G1),这由组播源侧配置的IGMP版本相关。
较优地,DR在接收到PIM加入报文后,可以停止发送包含上述组播流信息,即包含(*,G1),或者(S1、G1)和(S2、G1)的PIM源注册消息。
步骤307:与DR直连的组播源侧二层交换机利用接收到的IGMP加入报文包含的组播表项信息,建立IGMP snooping表项,并将接收到该IGMP加入报文的接口加入该IGMP snooping表项对应的出接口列表。
本步骤之后,图2中的P2端口即为组播成员接口,能够将组播源发往G1的组播流通过P2端口进行转发,从而实现点播功能,并阻止其他组播流。由于本步骤为现有技术,在此不再赘述。
步骤308:RP路由器接收到与组播接收者直连的叶路由器发送来的PIM剪枝报文后,确定该PIM剪枝报文所携带组播流信息对应的组播表项,将接收该PIM剪枝报文的端口从该组播表项对应的出接口列表中删除,并将该PIM剪枝报文转发给DR。
在该PIM SM模式中,组播接收者发送的IGMP离开报文中也仅包含组播地址,假设组播接收者发送的IGMP离开报文中包含的组播流信息为(*,G1)。与组播接收者直连的叶路由器接收到IGMP离开报文后,向RP路由器发送携带(*,G1)的PIM剪枝报文。RP接收到PIM剪枝报文后,确定(*,G1)对应的组播表项,将接收该PIM加入报文的接口从该组播表项对应的出接口列表中删除。本步骤为现有技术,在此不再赘述。
步骤309:DR接收到PIM剪枝报文后,确定配置的组播源信息中包含PIM剪枝报文所携带组播流信息的接口,该接口为组播流入接口,并确定该PIM剪枝报文所携带组播流信息对应的组播表项,将接收该PIM剪枝报文的接口从该组播表项对应的出接口列表中删除。
本步骤中,DR接收到包含(*,G1)的PIM剪枝报文后,确定配置了G1信息的接口,假设P3接口配置了G1信息,该G1信息可以包含在组播组地址池中,也可以包含在组播源与组播组之间的对应关系中,则确定该P3接口为组播流入接口。另外,将接收该PIM剪枝报文的P1接口从包含G1的组播表项对应的出接口列表中删除。
本步骤中的操作可以由设置在DR中的PIM代理执行。
步骤310:DR通过确定的组播流入接口发送IGMP离开报文,该IGMP离开报文中携带确定的组播表项信息。
DR中的PIM代理在本步骤中可以触发DR中的IGMP模块发送IGMP离开报文,该IGMP离开报文通过图2中的P3接口转发给二层交换机。
同样,如果DR确定的组播表项为(*,G1),则IGMP离开报文中也携带(*,G1);如果DR确定的组播表项为(S1、G1)、(S2、G1),则IGMP离开报文中可以携带(S1、G1)、(S2、G1),也可以携带(*,G1),这由组播源侧配置的IGMP版本决定。
另外,DR在接收到该PIM离开报文后,可以开始发送包含上述组播源信息,即包含(*,G1),或者包含(S1,G1)和(S2、G1)的PIM源注册消息。
步骤311:与DR直连的组播源侧二层交换机利用接收到的IGMP离开报文包含的组播表项信息,将接收到该IGMP离开报文的接口从对应的IGMPsnooping表项对应的出接口列表中删除。
在本步骤之后,二层交换机就停止将组播源发往G1的组播流通过P2端口进行转发。
上述实施例中均以IGMP协议为例进行的描述,也可以采用IPv6中的MLD协议,即将上述实施例中的IGMP加入报文替换为MLD加入报文,将IGMP离开报文替换为MLD离开报文,将IGMP snooping表项替换为MLDsnooping表项,下述装置实施例也同样如此。
以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的装置进行详细描述。图4为本发明提供的装置结构示意图,该装置可以设置在DR中,且该DR不向与该DR直连的组播源侧二层交换机发送PIM Hello报文和IGMP查询报文。如图4所示,装置包括:PIM代理模块400和组播发现协议模块410。
其中,PIM代理模块400包括:信息获取模块401、入接口确定模块402和表项处理模块403。
信息获取模块401,用于在DR接收到来自RP路由器的PIM加入报文后,获取该PIM加入报文中携带的组播流信息。
入接口确定模块402,用于确定组播流信息对应的组播流入接口。
表项处理模块403,用于将接收PIM加入报文的接口加入组播流信息所对应组播表项的出接口列表,并向组播发现协议模块410发送第一触发通知。
组播发现协议模块403,用于接收到第一触发通知后,通过组播流入接口发送IGMP加入报文给二层交换机,该IGMP加入报文携带组播表项的信息。
更进一步地,信息获取模块401,还可以用于在DR接收到来自RP路由器的PIM剪枝报文后,获取该PIM剪枝报文携带的组播流信息。
入接口确定模块402,还用于确定PIM剪枝报文携带的组播流对应的组播流入接口。
表项处理模块403,还用于确定PIM剪枝报文携带的组播流信息所对应的组播表项,将接收PIM剪枝报文的接口从该组播表项的出接口列表中删除,向组播发现协议模块410发送第二触发通知。
组播发现协议模块410,用于接收到第二触发通知后,通过PIM剪枝报文携带的组播流对应的组播流入接口发送IGMP离开报文给二层交换机,该IGMP离开报文携带表项处理模块403确定的组播表项的信息。
下面分别对PIM SSM模式下的情况和PIM SM模式下的情况进行描述。
在PIM SSM模式下,组播流信息包括:组播源地址和组播组地址。
入接口确定模块402以PIM加入报文中携带的组播源地址与单播路由表中的目的地址进行匹配,确定对应的出接口,将确定的出接口作为组播流入接口。
在PIM SM模式下,组播流信息仅包括组播组地址;DR上与二层交换机连接的接口上预先配置了该接口所连接的组播源信息。
这种模式下,PIM代理模块400还可以包括:注册消息收发模块404。
表项处理模块403,还用于利用预先配置的组播源信息生成组播表项。
注册消息收发模块404,用于周期性地向PR路由器发送PIM源注册消息;接收RP路由器利用PIM源注册消息携带的组播源信息生成组播表项后回复的PIM源注册确认消息。
入接口确定模块402确定配置的组播源信息包含PIM加入报文携带的组播流信息的接口为组播流入接口。
在PIM SM模式下,表项处理模块403,还可以用于在利用预先配置的组播源信息生成组播表项时,设置该表项的老化时间,如果在老化时间内注册消息收发模块404没有接收到包含组播源信息的PIM源注册消息,则删除该组播表项;如果在老化时间内注册消息收发模块404接收到包含组播源信息的PIM源注册消息,则更新该组播表项的老化时间。其中,老化时间大于PIM源注册消息的发送周期。
更优地,注册消息收发模块404如果在发送PIM源注册消息后的设定时间内没有接收到对应的PIM源注册确认消息,则立即重新发送PIM源注册消息;如果在发送PIM源注册消息后的设定时间内接收到对应的PIM源注册确认消息,则按照预设的发送周期发送PIM源注册消息;其中,设定时间小于PIM源注册消息的发送周期。
上述接口所连接的组播源信息可以包括:包含接口所连接的组播源对应的所有组播组地址的组播组地址池,或者,接口所连接的各组播源与组播组之间的对应关系。
在上述PIM SSM模式和PIM SM模式下,表项处理模块403可以具体包括:表项判断子模块4031、表项建立子模块4032和接口处理子模块4033。
表项判断子模块4031,用于判断DR中是否已经存在包含组播流信息的组播表项,如果是,向接口处理子模块4033发送处理通知;否则,向表项建立子模块4032发送建立通知。
表项建立子模块4032,用于接收到建立通知后,在DR中建立包含组播流信息的组播表项,并向接口处理子模块4033发送处理通知。
接口处理子模块4033,用于接收到处理通知后,将接收PIM加入报文的接口加入包含组播流信息的组播表项的出接口列表,并向组播发现协议模块410发送第一触发通知。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种在IP网络中实现组播点播业务的方法,其特征在于,指定路由器DR不向与该DR直连的组播源侧二层交换机发送协议无关组播PIM Hello报文和组播发现协议查询报文,该方法包括:
A、所述DR接收到来自下游路由器的PIM加入报文后,确定所述PIM加入报文携带的组播流信息对应的组播流入接口,并将接收所述PIM加入报文的接口加入所述组播流信息所对应组播表项的出接口列表;
B、所述DR通过确定的所述组播流入接口发送组播发现协议加入报文给所述二层交换机,所述组播发现协议加入报文携带所述组播表项的信息;
在PIM SM模式下,所述组播流信息仅包括组播组地址;
在所述DR上与所述二层交换机连接的接口上预先配置该接口所连接的组播源信息;
在所述步骤A之前,该方法还包括:
E1、所述DR利用配置的所述组播源信息在本地生成组播表项,并周期性地向下游的RP路由器发送PIM源注册消息,该PIM源注册消息包含预先配置的所述组播源信息;
E2、所述RP路由器收到所述PIM源注册消息后,利用所述组播源信息在本地生成组播表项,并向所述DR回复PIM源注册确认消息;
E3、所述RP路由器接收到与组播接收者直连的叶路由器发送来的PIM加入报文后,确定该PIM加入报文所携带组播流信息对应的组播表项,将接收该PIM加入报文的端口加入确定的该组播表项的出接口列表,并将该PIM加入报文转发给所述DR;
步骤A中确定所述PIM加入报文携带的组播流信息对应的组播流入接口具体包括:所述DR根据所述PIM加入报文携带的组播流信息确定组播流入接口,该组播流入接口上配置的组播源信息包含所述PIM加入报文所携带的组播流信息。
2.根据权利要求1所述的方法,其特征在于,在所述步骤B之后,该方法还包括:
C、所述DR接收到来自所述下游路由器的携带所述组播流信息的PIM剪枝报文后,确定所述组播流信息对应的组播流入接口,并将接收所述PIM剪枝报文的接口从所述组播流信息所对应组播表项的出接口列表中删除;
D、所述DR通过步骤C中确定的组播流入接口发送组播发现协议离开报文给所述二层交换机,该组播发现协议离开报文携带所述组播表项的信息。
3.根据权利要求1所述的方法,其特征在于,步骤A中将接收所述PIM加入报文的接口加入所述组播流信息所对应组播表项的出接口列表具体包括:所述DR判断本地是否已经存在包含所述组播流信息的组播表项,如果是,则将接收所述PIM加入报文的接口加入该组播表项的出接口列表;否则,在本地建立包含所述组播流信息的组播表项,并将接收所述PIM加入报文的接口加入该组播表项的出接口列表。
4.根据权利要求1所述的方法,其特征在于,步骤E2中,所述RP路由器在利用所述组播源信息在本地生成组播表项时,设置该表项的老化时间,如果在老化时间内没有接收到包含所述组播源信息的PIM源注册消息,则删除该组播表项;如果在老化时间内接收到包含所述组播源信息的PIM源注册消息,则更新该组播表项的老化时间;
其中,所述老化时间大于所述PIM源注册消息的发送周期。
5.根据权利要求1所述的方法,其特征在于,所述DR如果在发送PIM源注册消息后的设定时间内没有接收到对应的PIM源注册确认消息,则立即重新发送PIM源注册消息;如果在发送PIM源注册消息后的设定时间内接收到对应的PIM源注册确认消息,则按照预设的发送周期发送PIM源注册消息;
所述设定时间小于所述PIM源注册消息的发送周期。
6.根据权利要求1所述的方法,其特征在于,所述接口所连接的组播源信息包括:包含所述接口所连接的组播源对应的所有组播组地址的组播组地址池,或者,所述接口所连接的各组播源与组播组之间的对应关系。
7.根据权利要求1至2任一权项所述的方法,其特征在于,所述组播发现协议为:因特网组管理协议IGMP或者组播侦听发现MLD协议。
8.一种在IP网络中实现组播点播业务的装置,该装置设置在指定路由器DR中,其特征在于,该DR不向与该DR直连的组播源侧二层交换机发送协议无关组播PIM Hello报文和组播发现协议查询报文;所述装置包括:PIM代理模块和组播发现协议模块;
其中,所述PIM代理模块包括:信息获取模块、入接口确定模块和表项处理模块;
所述信息获取模块,用于在所述DR接收到来自下游路由器的PIM加入报文后,获取该PIM加入报文中携带的组播流信息;
所述入接口确定模块,用于确定所述组播流信息对应的组播流入接口;
所述表项处理模块,用于将接收所述PIM加入报文的接口加入所述组播流信息所对应组播表项的出接口列表,并向所述组播发现协议模块发送第一触发通知;
所述组播发现协议模块,用于接收到所述第一触发通知后,通过所述组播流入接口发送组播发现协议加入报文给所述二层交换机,所述组播发现协议加入报文携带所述组播表项的信息;
在PIM SM模式下,所述组播流信息仅包括组播组地址;
在所述DR上与所述二层交换机连接的接口上预先配置该接口所连接的组播源信息;
所述PIM代理模块还包括:注册消息收发模块;
所述表项处理模块,还用于利用预先配置的所述组播源信息生成组播表项;
所述注册消息收发模块,用于周期性地向下游的PR路由器发送PIM源注册消息;接收所述RP路由器利用所述PIM源注册消息携带的所述组播源信息生成组播表项后回复的PIM源注册确认消息;
所述入接口确定模块根据所述PIM加入报文携带的组播流信息确定组播流入接口,该组播流入接口上配置的组播源信息包含所述PIM加入报文所携带的组播流信息。
9.根据权利要求8所述的装置,其特征在于,所述信息获取模块,还用于在所述DR接收到来自所述下游路由器的PIM剪枝报文后,获取所述PIM剪枝报文携带的组播流信息;
所述入接口确定模块,还用于确定所述PIM剪枝报文携带的组播流对应的组播流入接口;
所述表项处理模块,还用于确定所述PIM剪枝报文携带的组播流信息所对应的组播表项,将接收所述PIM剪枝报文的接口从该组播表项的出接口列表中删除,向所述组播发现协议模块发送第二触发通知;
所述组播发现协议模块,用于接收到所述第二触发通知后,通过所述PIM剪枝报文携带的组播流对应的组播流入接口发送组播发现协议离开报文给所述二层交换机,该组播发现协议离开报文携带所述表项处理模块确定的组播表项的信息。
10.根据权利要求8所述的装置,其特征在于,所述表项处理模块具体包括:表项判断子模块、表项建立子模块和接口处理子模块;
所述表项判断子模块,用于判断所述DR中是否已经存在包含所述组播流信息的组播表项,如果是,向所述接口处理子模块发送处理通知;否则,向所述表项建立子模块发送建立通知;
所述表项建立子模块,用于接收到建立通知后,在所述DR中建立包含所述组播流信息的组播表项,并向所述接口处理子模块发送处理通知;
所述接口处理子模块,用于接收到处理通知后,将接收所述PIM加入报文的接口加入包含所述组播流信息的组播表项的出接口列表,并向所述组播发现协议模块发送第一触发通知。
11.根据权利要求8所述的装置,其特征在于,所述表项处理模块,还用于在利用预先配置的所述组播源信息生成组播表项时,设置该表项的老化时间,如果在老化时间内所述注册消息收发模块没有接收到包含所述组播源信息的PIM源注册消息,则删除该组播表项;如果在老化时间内所述注册消息收发模块接收到包含所述组播源信息的PIM源注册消息,则更新该组播表项的老化时间;
其中,所述老化时间大于所述PIM源注册消息的发送周期。
12.根据权利要求8所述的装置,其特征在于,所述注册消息收发模块如果在发送PIM源注册消息后的设定时间内没有接收到对应的PIM源注册确认消息,则立即重新发送PIM源注册消息;如果在发送PIM源注册消息后的设定时间内接收到对应的PIM源注册确认消息,则按照预设的发送周期发送PIM源注册消息;
所述设定时间小于所述PIM源注册消息的发送周期。
13.根据权利要求8所述的装置,其特征在于,所述接口所连接的组播源信息包括:包含所述接口所连接的组播源对应的所有组播组地址的组播组地址池,或者,所述接口所连接的各组播源与组播组之间的对应关系。
14.根据权利要求8至9任一权项所述的装置,其特征在于,所述组播发现协议为:因特网组管理协议IGMP或者组播侦听发现MLD协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010222545.9A CN102316083B (zh) | 2010-07-06 | 2010-07-06 | 一种在ip网络中实现组播业务的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010222545.9A CN102316083B (zh) | 2010-07-06 | 2010-07-06 | 一种在ip网络中实现组播业务的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102316083A CN102316083A (zh) | 2012-01-11 |
CN102316083B true CN102316083B (zh) | 2014-05-07 |
Family
ID=45428907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010222545.9A Expired - Fee Related CN102316083B (zh) | 2010-07-06 | 2010-07-06 | 一种在ip网络中实现组播业务的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102316083B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601469B (zh) * | 2015-01-12 | 2018-01-12 | 新华三技术有限公司 | 组播报文转发方法和设备 |
CN107347037B (zh) * | 2016-05-04 | 2020-01-10 | 华为技术有限公司 | 一种组播流量控制方法及装置 |
CN110351197B (zh) * | 2018-04-04 | 2023-06-06 | 华为技术有限公司 | 数据传输方法及相关装置 |
CN110868307B (zh) * | 2018-08-28 | 2022-01-21 | 杭州海康威视数字技术股份有限公司 | 一种报文处理方法及装置 |
CN115134290B (zh) * | 2021-03-29 | 2023-06-20 | 中国电信股份有限公司 | 组播信令传递方法和系统 |
CN113490162B (zh) * | 2021-07-04 | 2022-05-17 | 芯河半导体科技(无锡)有限公司 | 一种组播数据流转发的优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889477A (zh) * | 2006-07-18 | 2007-01-03 | 杭州华为三康技术有限公司 | 一种提高组播点播成功率的方法及协议无关组播路由器 |
CN1905530A (zh) * | 2006-08-08 | 2007-01-31 | 杭州华为三康技术有限公司 | 组播点播方法及系统 |
CN101291240A (zh) * | 2008-06-19 | 2008-10-22 | 杭州华三通信技术有限公司 | 一种组播流传输方法和系统 |
CN101388788A (zh) * | 2008-10-29 | 2009-03-18 | 杭州华三通信技术有限公司 | 二层组播管理方法、系统及二层交换机 |
-
2010
- 2010-07-06 CN CN201010222545.9A patent/CN102316083B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889477A (zh) * | 2006-07-18 | 2007-01-03 | 杭州华为三康技术有限公司 | 一种提高组播点播成功率的方法及协议无关组播路由器 |
CN1905530A (zh) * | 2006-08-08 | 2007-01-31 | 杭州华为三康技术有限公司 | 组播点播方法及系统 |
CN101291240A (zh) * | 2008-06-19 | 2008-10-22 | 杭州华三通信技术有限公司 | 一种组播流传输方法和系统 |
CN101388788A (zh) * | 2008-10-29 | 2009-03-18 | 杭州华三通信技术有限公司 | 二层组播管理方法、系统及二层交换机 |
Non-Patent Citations (6)
Title |
---|
Considerations for Internet Group Management Protocol(IGMP) and Multicast Listener Discovery (MLD) Snooping Switches;M.Christensen 等;《IETF RFC4541》;20060531;全文 * |
M.Christensen 等.Considerations for Internet Group Management Protocol(IGMP) and Multicast Listener Discovery (MLD) Snooping Switches.《IETF RFC4541》.2006, |
一种二层以太网上IP组播精确转发方案;吴迪;《科技信息》;20100531(第15期);全文 * |
以太网交换机中组播技术的实现;甘育裕 等;《中国有线电视》;20031215(第23期);全文 * |
吴迪.一种二层以太网上IP组播精确转发方案.《科技信息》.2010,(第15期), |
甘育裕 等.以太网交换机中组播技术的实现.《中国有线电视》.2003,(第23期), |
Also Published As
Publication number | Publication date |
---|---|
CN102316083A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9031069B2 (en) | Method, system, and apparatus for extranet networking of multicast virtual private network | |
CN101291240B (zh) | 一种组播流传输方法和系统 | |
CN102316083B (zh) | 一种在ip网络中实现组播业务的方法和装置 | |
CN105814838B (zh) | 一种软件定义网络的多播方法、装置及系统 | |
CN101252529A (zh) | 一种组播报文的转发方法和设备 | |
CN102215172B (zh) | 一种实现跨虚拟专用局域网组播的方法和系统 | |
CN1988507B (zh) | 转发组播数据的方法、系统及路由器 | |
JP2011518528A (ja) | マルチホップ中継通信システムにおけるマルチキャスト・ツリー管理のための方法および装置 | |
CN1996956A (zh) | 实现组播流跨vlan转发的三层网络设备及方法 | |
CN100490405C (zh) | 一种流媒体数据多点传输方法 | |
AU2011249457B2 (en) | Source selection by routers | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN102025517A (zh) | 一种组播数据的传输方法及装置 | |
CN101547110A (zh) | 一种组播源的注册方法、系统和设备 | |
CN101388788B (zh) | 二层组播管理方法、系统及二层交换机 | |
CN106375100A (zh) | 一种视频监控系统中组播实现方法及装置 | |
CN100508467C (zh) | 一种转发层代理pim的方法及路由设备 | |
KR100453221B1 (ko) | 유니캐스트 망을 이용한 그룹 캐스트 전송 방법 및 시스템 | |
CN108400939A (zh) | Nfv中实现加速组播复制的系统及方法 | |
CN101877678B (zh) | 一种指定源组的组播用户快速离开的方法和装置 | |
CN103905320B (zh) | 一种组播报文处理方法和装置 | |
CN101340305A (zh) | 一种源特定的组播方法、系统及其接入设备 | |
CN104079418B (zh) | 一种简化组播报文的处理方法 | |
CN102377639A (zh) | 组播剪枝方法及协议无关组播路由器、组管理窥探交换机 | |
Wu et al. | IP Network Multicast Technology and Application Simulation |
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 |
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. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140507 Termination date: 20200706 |
|
CF01 | Termination of patent right due to non-payment of annual fee |