一种组播转发的方法和设备技术

技术编号:8935761 阅读:155 留言:0更新日期:2013-07-18 04:28
本发明专利技术实施例公开了一种组播转发的方法和设备,通过应用本发明专利技术实施例所提出的技术方案,可以在数据源侧组网中的交换机上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表项,并根据下游相邻路由设备发送的PIM加入/剪枝报文,为该PIM-Snooping路由表项添加或删除下游端口,以控制是否向下游转发所述组播数据流,使得只有在下游用户有接收需求的时候,组播数据流才被发送到下游相邻路由设备;而如果下游没有用户需要接收这个组播数据流的时候,该组播数据流只会被发送到接入交换设备,而不再继续向下游相邻路由设备方向发送,从而,达到节约网络带宽,避免组播流量泛滥的目的。

【技术实现步骤摘要】
一种组播转发的方法和设备
本专利技术涉及通信
,特别涉及一种组播转发的方法和设备。
技术介绍
作为一种与单播(Unicast)和广播(Broadcast)并列的通信方式,组播(Multicast)技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量网络带宽、降低网络负载。如图1所示,为现有技术中的组播方式的信息传输过程的示意图。当IP网络中的某些主机(即接收端Receiver)需要信息时,若采用组播的方式,组播源(即Source)仅需发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。通常,把工作在网络层的IP组播称为“三层组播”,相应的组播协议称为“三层组播协议”,包括IGMP(InternetGroupManagementProtocol,互联网组管理协议)、PIM(ProtocolIndependentMulticast,协议无关组播)、MSDP(MulticastSourceDiscoveryProtocol,组播源发现协议)等;把工作在数据链路层的IP(InternetProtocol,网络互联协议)组播称为“二层组播”,相应的组播协议称为“二层组播协议”,包括IGMPSnooping(监听)、PIMSnooping等。三层组播协议中应用最广泛的协议是IGMP与PIM。IGMP协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。PIM协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。二层组播协议则主要有IGMPSnooping与PIMSnooping等协议。运行IGMPSnooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC(MediaAccessControl,媒体接入控制)组播地址建立起映射关系,并根据这样的映射关系转发组播数据。运行PIMSnooping的二层设备通过对收到的PIM协议报文进行分析,将有接收需求的端口添加到相应的组播转发表项中,以实现组播报文的精确转发。在实现本专利技术实施例所提出的技术方案的过程中,专利技术人发现现有技术存在以下不足:如图2所示,为现有技术中的数据中心二层组网的结构示意图。在一个数据中心内部,如果服务器集群作为组播数据源,三层核心交换机作为组播源侧的PIMDR(DesignatedRouter,指定路由器),那么在组播源与PIMDR之间,还存在着多跳的接入与汇聚的二层设备,按照现有的协议及实现,组播数据流从服务器发出来之后,将会在接入交换机与汇聚交换机等二层设备之间广播,造成数据流量的泛滥。即使在这些二层设备上使能二层组播协议,根据IGMPSnooping的工作原理,核心交换机向汇聚交换机发送PIMHello报文,汇聚交换机维护二层组播路由器端口,并将PIMHello报文在VLAN(VirtualLocalAreaNetwork,虚拟局域网)内广播,接入交换机同样也根据PIMHello报文维护路由器端口,由于组播流量会无条件向路由器端口转发,同样会造成流量的冗余。另外,按照现有机制,组播源侧的PIMDR不向组播源方向发送PIM加入剪枝报文,PIMSnooping就无法工作,PIMSnooping根据PIM加入剪枝报文使流量精确转发的优势就无法体现。同时,如果该组播数据源处于活动状态,那么无论是否有接收者需要点播该源组的数据,这些数据都将无条件被发送至三层核心交换机,用于创建(S,G)表项,并由PIMDR向PIMRP(RendezvousPoint,汇聚点)注册该数据源,导致流量时刻都在发送,占用链路带宽。综上所述,对于现有的二层组网组播技术,当下游用户对组播源数据没有接收需求的时候,组播源仍然将数据源源不断的发送出去,造成接入交换机到组播源侧DR之间的带宽浪费;另外,按照现有协议及实现,从接入交换机转发出去的组播数据报文只能通过广播的方式到达组播源侧DR,无法做到精确转发,造成了一定的数据泛滥。
技术实现思路
本专利技术实施例提供一种组播转发的方法和设备,解决现有二层组网组播技术中只是通过广播方式向组播源侧DR发送组播数据报文,从而造成数据泛滥和资源浪费的问题。为达到上述目的,本专利技术实施例一方面提供了一种组播转发的方法,所述方法至少包括以下步骤:与组播源直连的接入交换设备接收所述组播源所发送的组播数据流,并查询本地是否保存有相对应的PIM-Snooping路由表项;如果查询结果为否,所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项,并停止向下游转发所述组播数据流;当所述接入交换设备接收到下游相邻路由设备发送的与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM加入报文时,所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM-Snooping路由表项的下游端口;所述接入交换设备将所述PIM加入报文对应的组播源所发送的组播数据流,通过所述下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。优选的,所述与组播源直连的接入交换设备接收所述组播源所发送的组播数据流,并查询本地是否保存有相对应的PIM-Snooping路由表项之后,还包括:如果查询结果为是,所述接入交换设备判断所述PIM-Snooping路由表项当前是否存在下游端口;如果不存在,所述接入交换设备停止向下游转发所述组播数据流;如果存在,通过所述下游端口将所述组播数据流发送给相应的下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。优选的,所述与组播源直连的接入交换设备接收所述组播源所发送的组播数据流之后,还包括:所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新;当所述接入交换设备确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间阈值时,所述接入交换设备停止发送所述保活报文,并对当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化;其中,当所述下游相邻路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述下游相邻路由设备对本地当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化。优选的,所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项之后,还包括:所述接入交换设备按照预设的报文发送周期,向下游相邻路由设备方向发送与所述未添加下游端口的PIM-Snooping路由表项相对应的PIMHello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snoopi本文档来自技高网
...
一种组播转发的方法和设备

【技术保护点】
一种组播转发的方法,其特征在于,所述方法至少包括以下步骤:与组播源直连的接入交换设备接收所述组播源所发送的组播数据流,并查询本地是否保存有相对应的协议无关组播监听PIM?Snooping路由表项;如果查询结果为否,所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM?Snooping路由表项,并停止向下游转发所述组播数据流;当所述接入交换设备接收到下游相邻路由设备发送的与所述未添加下游端口的PIM?Snooping路由表项相对应的协议无关组播PIM加入报文时,所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM?Snooping路由表项的下游端口;所述接入交换设备将所述PIM加入报文对应的组播源所发送的组播数据流,通过所述下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。

【技术特征摘要】
1.一种组播转发的方法,其特征在于,所述方法至少包括以下步骤:与组播源直连的接入交换设备接收所述组播源所发送的组播数据流,并查询本地是否保存有相对应的协议无关组播监听PIM-Snooping路由表项;如果查询结果为否,所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项,并停止向下游转发所述组播数据流;当所述接入交换设备接收到下游相邻路由设备发送的与所述未添加下游端口的PIM-Snooping路由表项相对应的协议无关组播PIM加入报文时,所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM-Snooping路由表项的下游端口;所述接入交换设备将所述PIM加入报文对应的组播源所发送的组播数据流,通过所述下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。2.如权利要求1所述的方法,其特征在于,所述与组播源直连的接入交换设备接收所述组播源所发送的组播数据流,并查询本地是否保存有相对应的PIM-Snooping路由表项之后,还包括:如果查询结果为是,所述接入交换设备判断所述PIM-Snooping路由表项当前是否存在下游端口;如果不存在,所述接入交换设备停止向下游转发所述组播数据流;如果存在,通过所述下游端口将所述组播数据流发送给相应的下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。3.如权利要求1所述的方法,其特征在于,所述与组播源直连的接入交换设备接收所述组播源所发送的组播数据流之后,还包括:所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新;当所述接入交换设备确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间阈值时,所述接入交换设备停止发送所述保活报文,并对当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化;其中,当所述下游相邻路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述下游相邻路由设备对本地当前已建立的与所述组播源相对应的PIM路由表项进行老化。4.如权利要求1所述的方法,其特征在于,所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项之后,还包括:所述接入交换设备按照预设的报文发送周期,向下游相邻路由设备方向发送与所述未添加下游端口的PIM-Snooping路由表项相对应的PIMHello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;当所述未添加下游端口的PIM-Snooping路由表项老化时,所述接入交换设备停止发送所述PIMHello报文。5.如权利要求1所述的方法,其特征在于,所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM-Snooping路由表项的下游端口之后,还包括:当所述接入交换设备接收到下游相邻路由设备发送的与添加了下游端口的所述PIM-Snooping路由表项相对应的PIM剪枝报文时,所述接入交换设备在添加了下游端口的所述PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,并停止通过所述下游端口向下游转发相应的组播数据流。6.一种接入交换设备,其特征在于,至少包括:接收模块,用于接收组播源所发送的组播数据流;查询模块,用于查询本地是否保存有所述接收模块所接收到的组播数据流相对应的PIM-Snooping路由表项;建立模块,用于在所述查询模块的查询结果为否时,根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项;添加模块,用于当所述接收模块接收到下游相邻路由设备发送的与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM加入报文时,将接收所述PIM加入报文的端口,添加为所述PIM-Snooping路由表项的下游端口;传输模块,用于在所述接收模块接收到与所述建立模块所建立的未添加下游端口的PIM-Snooping路由表项相对应的组播数据流时,停止向下游转发所述组播数据流,在所述接收模块接收到与所述PIM加入报文对应的组播源所发送的组播数据流时,通过所述添加模块所添加的下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。7.如权利要求6所述的接入交换设备,其特征在于,所述传输模块,还用于:在所述查询模块的查询结果为是时,判断所述PIM-Snooping路由表项当前是否存在下游端口;如果不存在,则停止向下游转发所述组播数据流;如果存在,则通过所述下游端口将所述组播数据流发送给相应的下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。8.如权利要求6所述的接入交换设备,其特征在于,还包括保活模块,用于:在接收组播源所发送的组播数据流之后,按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新;当确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间...

【专利技术属性】
技术研发人员:柴佳林王琦
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1