CN103209134A - 一种组播转发的方法和设备 - Google Patents
一种组播转发的方法和设备 Download PDFInfo
- Publication number
- CN103209134A CN103209134A CN2013101421018A CN201310142101A CN103209134A CN 103209134 A CN103209134 A CN 103209134A CN 2013101421018 A CN2013101421018 A CN 2013101421018A CN 201310142101 A CN201310142101 A CN 201310142101A CN 103209134 A CN103209134 A CN 103209134A
- Authority
- CN
- China
- Prior art keywords
- pim
- downstream
- multicast
- route table
- switching equipment
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种组播转发的方法和设备,通过应用本发明实施例所提出的技术方案,可以在数据源侧组网中的交换机上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表项,并根据下游相邻路由设备发送的PIM加入/剪枝报文,为该PIM-Snooping路由表项添加或删除下游端口,以控制是否向下游转发所述组播数据流,使得只有在下游用户有接收需求的时候,组播数据流才被发送到下游相邻路由设备;而如果下游没有用户需要接收这个组播数据流的时候,该组播数据流只会被发送到接入交换设备,而不再继续向下游相邻路由设备方向发送,从而,达到节约网络带宽,避免组播流量泛滥的目的。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种组播转发的方法和设备。
背景技术
作为一种与单播(Unicast)和广播(Broadcast)并列的通信方式,组播(Multicast)技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量网络带宽、降低网络负载。
如图1所示,为现有技术中的组播方式的信息传输过程的示意图。当IP网络中的某些主机(即接收端Receiver)需要信息时,若采用组播的方式,组播源(即Source)仅需发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。
通常,把工作在网络层的IP组播称为“三层组播”,相应的组播协议称为“三层组播协议”,包括IGMP(Internet Group Management Protocol,互联网组管理协议)、PIM(Protocol Independent Multicast,协议无关组播)、MSDP(Multicast Source Discovery Protocol,组播源发现协议)等;把工作在数据链路层的IP(Internet Protocol,网络互联协议)组播称为“二层组播”,相应的组播协议称为“二层组播协议”,包括IGMP Snooping(监听)、PIM Snooping等。
三层组播协议中应用最广泛的协议是IGMP与PIM。IGMP协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。PIM协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。
二层组播协议则主要有IGMP Snooping与PIM Snooping等协议。运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC(Media Access Control,媒体接入控制)组播地址建立起映射关系,并根据这样的映射关系转发组播数据。运行PIM Snooping的二层设备通过对收到的PIM协议报文进行分析,将有接收需求的端口添加到相应的组播转发表项中,以实现组播报文的精确转发。
在实现本发明实施例所提出的技术方案的过程中,发明人发现现有技术存在以下不足:
如图2所示,为现有技术中的数据中心二层组网的结构示意图。在一个数据中心内部,如果服务器集群作为组播数据源,三层核心交换机作为组播源侧的PIM DR(Designated Router,指定路由器),那么在组播源与PIM DR之间,还存在着多跳的接入与汇聚的二层设备,按照现有的协议及实现,组播数据流从服务器发出来之后,将会在接入交换机与汇聚交换机等二层设备之间广播,造成数据流量的泛滥。
即使在这些二层设备上使能二层组播协议,根据IGMP Snooping的工作原理,核心交换机向汇聚交换机发送PIM Hello报文,汇聚交换机维护二层组播路由器端口,并将PIM Hello报文在VLAN(Virtual Local Area Network,虚拟局域网)内广播,接入交换机同样也根据PIM Hello报文维护路由器端口,由于组播流量会无条件向路由器端口转发,同样会造成流量的冗余。另外,按照现有机制,组播源侧的PIM DR不向组播源方向发送PIM加入剪枝报文,PIMSnooping就无法工作,PIM Snooping根据PIM加入剪枝报文使流量精确转发的优势就无法体现。
同时,如果该组播数据源处于活动状态,那么无论是否有接收者需要点播该源组的数据,这些数据都将无条件被发送至三层核心交换机,用于创建(S,G)表项,并由PIM DR向PIM RP(Rendezvous Point,汇聚点)注册该数据源,导致流量时刻都在发送,占用链路带宽。
综上所述,对于现有的二层组网组播技术,当下游用户对组播源数据没有接收需求的时候,组播源仍然将数据源源不断的发送出去,造成接入交换机到组播源侧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路由表项相对应的PIM Hello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;
当所述未添加下游端口的PIM-Snooping路由表项老化时,所述接入交换设备停止发送所述PIM Hello报文。
优选的,所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM-Snooping路由表项的下游端口之后,还包括:
当所述接入交换设备接收到下游相邻路由设备发送的与添加了下游端口的所述PIM-Snooping路由表项相对应的PIM剪枝报文时,所述接入交换设备在添加了下游端口的所述PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,并停止通过所述下游端口向下游转发相应的组播数据流。
另一方面,本发明实施例还提供了一种接入交换设备,其特征在于,至少包括:
接收模块,用于接收组播源所发送的组播数据流;
查询模块,用于查询本地是否保存有所述接收模块所接收到的组播数据流相对应的PIM-Snooping路由表项;
建立模块,用于在所述查询模块的查询结果为否时,根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项;
添加模块,用于当所述接收模块接收到下游相邻路由设备发送的与所述PIM-Snooping路由表项相对应的PIM加入报文时,将接收所述PIM加入报文的端口,添加为所述PIM-Snooping路由表项的下游端口;
传输模块,用于在所述接收模块接收到与所述建立模块所建立的未添加下游端口的PIM-Snooping路由表项相对应的组播数据流时,停止向下游转发所述组播数据流,在所述接收模块接收到与所述PIM加入报文对应的组播源所发送的组播数据流时,通过所述添加模块所添加的下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述传输模块,还用于:
在所述查询模块的查询结果为是时,判断所述PIM-Snooping路由表项当前是否存在下游端口;
如果不存在,则停止向下游转发所述组播数据流;
如果存在,则通过所述下游端口将所述组播数据流发送给相应的下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述接入交换设备,还包括保活模块,用于:
在接收组播源所发送的组播数据流之后,按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新;
当确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间阈值时,停止发送所述保活报文,并对当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化;
其中,当所述下游相邻路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述下游相邻路由设备对本地当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化。
优选的,所述传输模块,还用于:
在所述建立模块根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项之后,按照预设的报文发送周期,向下游相邻路由设备方向发送与所述未添加下游端口的PIM-Snooping路由表项相对应的PIMHello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;
当所述建立模块所建立的所述未添加下游端口的PIM-Snooping路由表项老化时,停止发送所述PIM Hello报文。
优选的,所述添加模块,还用于:
在将接收所述PIM加入报文的端口,添加为所述PIM-Snooping路由表项的下游端口之后,当所述接收模块接收到下游相邻路由设备发送的与所述PIM-Snooping路由表项相对应的PIM剪枝报文时,在所述PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,并通知所述传输模块停止通过所述下游端口向下游转发相应的组播数据流。
另一方面,本发明实施例还提供了一种组播转发的方法,所述方法至少包括以下步骤:
作为组播源侧指定路由器DR的路由设备接收与组播源直连的接入交换设备按照预设的报文发送周期发送的保活报文,在本地维护与所述接入交换设备直连的组播源相对应的PIM路由表项,其中,所述保活报文具体为所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息;
当所述路由设备确定所维护的PIM路由表项添加下游出接口时,所述路由设备向所述接入交换设备发送与所述路由设备维护的相应PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项的下游端口;
所述路由设备接收所述接入交换设备通过所述下游端口发送的与所述PIM加入报文对应的组播源所发送的组播数据流,将所述组播数据流通过所述下游出接口发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述的方法,还包括:
所述路由设备接收所述接入交换设备发送的保活报文,以周期性的获取相对应的组播源的活动状态,对所述组播源的活动定时器进行更新,
当所述路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述路由设备对本地当前已建立的相对应的PIM路由表项进行老化。
优选的,当所述路由设备确定所维护的PIM路由表项添加下游出接口时,所述路由设备向所述接入交换设备发送与所述路由设备维护的PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项的下游端口之后,还包括:
当所述路由设备确定所维护的PIM路由表项相对应的下游出接口不存在时,所述路由设备向所述接入交换设备发送与所维护的PIM路由表项相对应的PIM剪枝报文,以使所述接入交换设备在与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
另一方面,本发明实施例还提供了一种路由设备,可用于组播源侧DR,至少包括:
接收模块,用于接收与组播源直连的接入交换设备按照预设的报文发送周期发送的保活报文,其中,所述保活报文具体为所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息;
维护模块,用于在所述路由设备上维护与所述接入交换设备直连的组播源相对应的PIM路由表项;
发送模块,用于当确定所述维护模块所维护的PIM路由表项添加下游出接口时,向所述接入交换设备发送与所述维护模块所维护的相应PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的相应PIM路由表项相对应的PIM-Snooping路由表项的下游端口;
传输模块,用于接收所述接入交换设备通过所述下游端口发送的与所述发送模块所发送的PIM加入报文对应的组播源所发送的组播数据流,将所述组播数据流通过所述下游出接口发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述接收模块,还用于:
接收所述接入交换设备发送的保活报文,以周期性的获取相对应的组播源的活动状态,对所述组播源的活动定时器进行更新;
当确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,通知所述维护模块对当前已建立的相对应的PIM路由表项进行老化。
优选的,所述发送模块,还用于:
当确定所述维护模块所维护的路由表项相对应的下游出接口不存在时,向所述接入交换设备发送与所述维护模块所维护的该PIM路由表项相对应的PIM剪枝报文,以使所述接入交换设备在与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,可以在数据源侧组网中的接入交换设备上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表项,并根据下游相邻路由设备发送的PIM加入/剪枝报文,为该PIM-Snooping路由表项添加或删除下游端口,以控制是否向下游转发所述组播数据流,使得只有在下游用户有接收需求的时候,组播数据流才被发送到下游相邻路由设备;而如果下游没有用户需要接收这个组播数据流的时候,该组播数据流只会被发送到接入交换设备,而不再继续向下游相邻路由设备方向发送,从而,达到节约网络带宽,避免组播流量泛滥的目的。
附图说明
图1为现有技术中的组播方式的传信息输过程的示意图;
图2为现有技术中的数据中心二层组网的结构示意图;
图3为本发明实施例所提出的一种组播转发的方法的流程示意图;
图4为本发明实施例所提出的一种组播转发的方法在下游相邻路由设备侧的流程示意图;
图5为本发明实施例所提出的PIM加入/剪枝报文的示意图;
图6为本发明实施例所提出的PIM加入/剪枝报文的局部示意图;
图7为本发明实施例所提出的一种接入交换设备的结构示意图;
图8为本发明实施例所提出的一种路由设备的结构示意图。
具体实施方式
如图3所示,为本发明所提出的一种组播转发的方法的流程示意图,该方法具体包括以下步骤:
步骤S301、与组播源直连的接入交换设备接收所述组播源所发送的组播数据流,并查询本地是否保存有相对应的PIM-Snooping路由表项。
如果查询结果为否,则执行步骤S302;
如果查询结果为是,所述接入交换设备判断所述PIM-Snooping路由表项当前是否存在下游端口;
如果不存在,所述接入交换设备停止向下游转发所述组播数据流;
如果存在,通过所述下游端口将所述组播数据流发送给相应的下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
需要说明的是,在本步骤中接收到组播数据流之后,还包括以下处理过程:
所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新。
需要进行说明的是,此处提及的保活报文的内容可以是从组播数据流中直接截取的一个或多个数据包(例如接收到的组播数据流的第一个数据包),也可以是对组播数据流所提取的信息(例如对组播数据流所提取的源组信息),其目的在于使下游相邻路由设备确认组播源的活动情况,在实际的应用场景中,凡是能够达到上述技术效果的技术方案都可以应用于本发明,这样的变化并不会影响本发明的保护范围。
当所述接入交换设备确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间阈值时,所述接入交换设备停止发送所述保活报文,并对当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化。
其中,当所述下游相邻路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述下游相邻路由设备对本地当前已建立的与所述组播源相对应的PIM路由表项进行老化。
步骤S302、所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项,并停止向下游转发所述组播数据流。
在具体的应用场景中,所述接入交换设备根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项之后,还包括:
所述接入交换设备按照预设的报文发送周期,向下游相邻路由设备方向发送与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM Hello报文,以使所述下游相邻路由设备上维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;
当所述未添加下游端口的PIM-Snooping路由表项老化时,所述接入交换设备停止发送所述PIM Hello报文。
当所述接入交换设备接收到下游相邻路由设备发送的与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM加入报文时,执行步骤S303。
步骤S303、所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM-Snooping路由表项的下游端口。
需要说明的是,所述接入交换设备将接收所述PIM加入报文的端口,添加为所述未添加下游端口的PIM-Snooping路由表项的下游端口之后,还包括:
当所述接入交换设备接收到下游相邻路由设备发送的与添加了下游端口的所述PIM-Snooping路由表项相对应的PIM剪枝报文时,所述接入交换设备在添加了下游端口的所述PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
步骤S304、所述接入交换设备将所述PIM加入报文对应的组播源所发送的组播数据流,通过所述下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
为了实现上述的技术方案,与现有技术相比,需要在上述的下游相邻路由设备上进行相应的配置,完成相应的向接入交换设备发送PIM加入/剪枝报文的处理过程,具体的,如图4所示,为本发明实施例提出的一种组播转发的方法在接入交换设备的下游相邻路由设备侧的流程示意图,具体包括以下步骤:
步骤S401、作为组播源侧DR(指定路由器)的路由设备接收与组播源直连的接入交换设备按照预设的报文发送周期发送的保活报文,在本地维护与所述接入交换设备上的直连的组播源相对应的组播表项,其中,所述保活报文具体为所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息。
当所述路由设备确定所维护的PIM路由表项添加下游出接口时,进一步执行步骤S402。
步骤S402、所述路由设备向所述接入交换设备发送与所述路由设备维护的相应PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项的下游端口。
通过本步骤的处理,在下游存在相应的组播数据需求的情况下,路由设备通过发送PIM加入报文使接入交换设备添加了相应的下游端口,从而使组播数据流可以顺利地向下游传输。
进一步的,考虑到下游的组播数据需求的非持续性,路由设备在下游不再继续存在上述的组播数据需求的情况下,需要指示接入交换设备进行相应的下游端口的删除,具体的处理过程如下:
当所述路由设备确定所维护的PIM路由表项相对应的下游出接口不存在时,所述路由设备向所述接入交换设备发送与所述路由设备维护的PIM路由表项相对应的PIM剪枝报文,以使所述接入交换设备在与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
通过这样的处理,在下游不再存在组播数据需求的情况下,删除了接入交换设备的下游端口,使组播数据流不会再继续向下游转发,避免了数据泛滥和资源浪费。
步骤S403、所述路由设备接收所述接入交换设备通过所述下游端口发送的与所述PIM加入报文对应的组播源所发送的组播数据流,将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
需要说明的是,与前述的步骤S301相对应,上述的路由设备作为组播源侧DR需要进一步通过保活报文确定组播源的活动状态,因此,本发明实施例所提出的技术方案需要进一步执行以下的处理流程:
所述路由设备接收所述接入交换设备发送的保活报文,以周期性的获取相对应的组播源的活动状态,对所述组播源的活动定时器进行更新;
当所述路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述路由设备对本地当前已建立的相对应的PIM路由表项进行老化。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,可以在数据源侧组网中的接入交换机上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表项,并根据下游相邻路由设备发送的PIM加入/剪枝报文,为该PIM-Snooping路由表项添加或删除下游端口,以控制是否向下游转发所述组播数据流,使得只有在下游用户有接收需求的时候,组播数据流才被发送到下游相邻路由设备;而如果下游没有用户需要接收这个组播数据流的时候,该组播数据流只会被发送到接入交换设备,而不再继续向下游相邻路由设备方向发送,从而,达到节约网络带宽,避免组播流量泛滥的目的。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
为了实现上述的技术方案,本发明实施例还提出了一种组播源感知、保活与老化机制,使得组播源侧PIM DR在组播数据源处于活动状态时能够获知组播的源组信息,处于非活动状态时又能够及时老化相关的信息。
对于活动组播源的感知、保活与老化机制进行说明如下:
首先,在系统中增加一种功能,该功能可以仅在直连组播源的交换机上配置,其他交换机上无需配置。
当直连组播源的接入交换设备上配置了该活动组播源感知功能时,从组播源收到组播流量后,让的PIM-Snooping模块周期性从底层抓取一个组播数据报文,并将该报文向组播源侧PIM DR方向发送,使得组播远侧PIM DR能够感知组播源的存在,完成其向RP进行组播源注册的功能。
具体的处理过程如下:
(1)使能PIM-Snooping的接入交换设备上配置了活动组播源感知功能后,从组播源收到收到组播数据流时,会根据流量的源组信息,创建PIM-Snooping路由表项,上游端口为直连服务器的端口;同时PIM-Snooping表项的下游维护加入剪枝状态,即当此时没有接收者时,下游不添加出端口,流量匹配上该表项后如果没有出端口,则不向外转发。如果下游存在接收者的时候,下游相邻路由设备PIM DR就会向接入交换设备方向发送PIM加入报文,使接入交换设备的PIM-Snooping表项添加下游出端口,实现流量精确转发;如果下游接收者不再接收该源组的流量的时候,下游下游相邻路由设备PIM DR就会向接入交换设备发送PIM剪枝报文,将PIM-Snooping表项的下游出端口删除,避免流量泛滥。PIM DR发送加入/剪枝报文的流程将在下文详细描述。
(2)配置了活动组播源感知功能的接入交换设备上的PIM-Snooping模块以60s为周期从底层获取一份组播数据报文的拷贝,将其在使能了PIM-Snooping的VLAN内广播。
(3)接入交换设备与PIM DR之间的交换机,如汇聚交换机,需要使能PIM-Snooping,但不需配置周期发送组播数据的功能,按照其原有PIM-Snooping实现,不根据数据报文创建表项。这些交换机收到该数据报文后,直接将该报文在VLAN内转发。
(4)作为PIM DR的下游相邻路由设备收到该组播数据报文后,将报文上送至三层PIM模块,若报文源地址与DR收到该报文的三层接口地址同网段,则正常处理该组播数据报文,创建PIM路由表项,并完成其向RP进行组播源注册的过程;若报文源地址与接口非同网段,则DR不处理该数据报文。
(5)以60s为周期,重复步骤(2)到(4),使PIM DR能周期性获取组播源的活动状态,并更新DR维护的组播源活动定时器。
(6)如果组播源不再处于活动状态,直连源的接入交换设备的底层一定时间(60s)后上报组播源状态变为非活动,PIM-Snooping模块停止发送组播数据报文,同时老化本地维护的PIM-Snooping表项。PIM DR在一定时间之后没有收到周期性发送的源保活报文,也会老化本地维护的PIM路由表项。
通过以上步骤,可以确保组播源感知、保活与老化机制能够正常进行,组播数据报文被周期性发送至PIM DR。
然后,本发明实施例所提出的技术方案中还设计了另一项功能,使接入交换设备根据收到组播流创建PIM-Snooping表项后,向PIM DR方向发送一个PIM Hello报文,用于其他使能了PIM-Snooping的交换机维护PIM邻居信息,来指导PIM加入剪枝报文的转发,从而为PIM-Snooping表项精确添加出端口,使组播数据报文精确转发。同该功能时还用于使下游相邻路由设备PIM DR判断是否从直连组播源的接口向上游发送PIM加入/剪枝报文。该功能与上文描述的周期发送组播数据的功能同时使用,也仅在直连组播源的接入交换设备上配置,其他交换机上无需配置。
具体的处理步骤如下:
(1)直连组播组播源的接入交换设备上配置了周期发送Hello报文的功能后,根据创建PIM-Snooping表项,构造一个PIM Hello报文,报文源IP地址填写PIM-Snooping表项的源地址,目的地址为协议规定的默认地址224.0.0.13。报文DR优先级选项填写0,保证该地址在链路上默认不会作为DR存在,其余选项字段则按照协议默认值填写即可。该Hello报文周期性在VLAN内广播发送。
(2)接入交换设备与PIM DR之间的交换机,如汇聚交换机,不需要配置周期发送PIM Hello的功能,按照其原有PIM-Snooping实现,收到PIM Hello报文后,维护PIM-Snooping邻居,并在VLAN内广播该报文。PIM邻居信息则用于后续指导PIM加入剪枝报文的转发。
(3)作为PIM DR的下游相邻路由设备收到该Hello报文后,按规则正常处理该报文,若报文源地址与DR收到该报文的三层接口地址同网段,则维护PIM邻居;若报文源地址与接口非同网段,则DR不处理该报文。
(4)以30s为周期,重复步骤(1)到(3),使接入交换设备与PIM DR之间的交换机,以及PIM DR设备正常维护PIM邻居状态。
(5)若组播源不再处于活动状态,则等PIM-Snooping表项老化之后,停止发送PIM Hello报文。
根据上文的描述,如果PIM DR没有维护以组播源为邻居的时候,则不做额外处理;如果PIM DR维护的邻居列表中有组播源地址,则表示出现了本文所设计的使用场景,PIM DR需要根据下游接收者存在与否,向上游发送PIM加入或剪枝报文。当下游接收者对该源组的数据流有(无)接收需求的时候,让PIM DR向组播源方向发送PIM加入(剪枝)报文,从而使PIM-Snooping按照接收需求添加(删除)出端口,实现流量的精确转发。在具体的应用场景中,需要定义一个特定bit位来实现这一功能。
如图5所示,为本发明实施例所提出的PIM加入/剪枝报文的示意图,各字段的解释如下:
PIM Ver,Type,Reserved,Checksum等字段与其他PIM报文用法相同。
Upstream Neighbor Address:上游邻居的地址,本报文的目的地。
Reserved:保留字段。
Num groups:本报文所包含的组个数。
Holdtime:接收者收到本报文后保持加入/剪枝状态的时间范围,以秒为单位。
Multicast Group Address1..m:本报文所要加入或剪枝的组播组地址列表。
Number of Joined/Pruned Sources:接收者收到本报文对于某一个组,下游需要加入或剪枝的组播源个数。
Joined/Pruned Source Address1..n:加入或剪枝的组播源地址列表。
这里使用上游邻居地址字段后面的保留字段中的最高位,如图6所示,将其置为1,标示该PIM J/P报文是由三层直连组播源的PIM DR,向组播源方向的二层TRILL网络所发送的特定的加入剪枝报文,用于PIM-Snooping表项维护下游加入剪枝状态,添加出端口控制组播流量精确转发。
下面的流程图显示PIM DR在有下游出接口的情况下,向组播源方向发送上文定义的PIM加入报文,组播源与PIM DR之间的交换机添加PIM-Snooping出端口,进行流量转发的过程。
(1)当下游相邻路由设备PIM DR收到下游加入报文添加了出接口时,三层PIM模块即构造发送上文定义的特定字段置位的PIM加入报文,报文上游邻居填写组播源的地址,表示该报文是用于组播源与DR之间的交换机上的PIM-Snooping模块添加表项出端口的PIM加入报文。
(2)接入交换设备与PIM DR之间的交换机,如汇聚交换机,收到该加入报文后,按照PIM-Snooping处理规则正常处理该报文,创建PIM-Snooping表项,将收到该报文的端口添加到表项的出端口列表中,同时读取报文中的上游邻居字段,再查找本地维护的邻居信息,将该加入报文向对应的端口转发。
(3)直连组播源的接入交换设备收到该PIM加入报文后,将收到该报文的端口添加为PIM-Snooping表项的出端口,组播流量即可从出端口沿精确转发路径发送到PIM DR。
(4)PIM加入报文周期性向组播源方向发送,用于更新PIM-Snooping表项出端口的存在时间,发送周期为60秒。
通过上述步骤可以使下游存在接收者的情况下,组播流量精确转发至PIM DR,避免了广播泛滥的问题。若PIM DR上由于不存在接收者而删除了出接口,则向上游发送PIM剪枝报文,上游邻居与特定字段置位与加入报文相同,用于将PIM-Snooping表项所维护的出接口删除。具体执行步骤如下:
(1)下游相邻路由设备PIM DR向组播源方向发送PIM剪枝报文。
(2)接入交换设备与PIM DR之间的交换机,如汇聚交换机,收到该加入报文后,按照PIM-Snooping处理规则正常处理该报文,删除PIM-Snooping表项出接口,如果此时表项已没有其他出接口时,则删除表项,同时将该报文在VLAN内转发。
(3)直连组播源的接入交换设备收到该PIM剪枝报文后,识别出该报文的特定字段置位,将收到该报文的端口从PIM-Snooping表项的出端口列表中删除,如果PIM-Snooping表项没有其他出端口时,表项本身依然保留并不删除,组播流量匹配上该表项时发现没有出端口,则不再向外转发。
(4)下游相邻路由设备PIM DR设备周期性向组播源方向发送PIM剪枝报文,用于维护PIM-Snooping表项下游出端口的剪枝状态,发送周期为60秒。
按照上面的流程,通过对PIM-Snooping表项删除出端口,实现流量在有需要时进行转发,没有接收需要时则不转发,实现了流量的精确控制,避免了网络带宽浪费与流量冗余。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,可以在数据源侧组网中的接入交换机上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表项,并根据下游相邻路由设备发送的PIM加入/剪枝报文,为该PIM-Snooping路由表项添加或删除下游端口,以控制是否向下游转发所述组播数据流,使得只有在下游用户有接收需求的时候,组播数据流才被发送到下游相邻路由设备;而如果下游没有用户需要接收这个组播数据流的时候,该组播数据流只会被发送到接入交换设备,而不再继续向下游相邻路由设备方向发送,从而,达到节约网络带宽,避免组播流量泛滥的目的。
为了实现本发明的技术方案,本发明还提出了一种接入交换设备,其结构示意图7所示,包括:
接收模块71,用于接收组播源所发送的组播数据流;
查询模块72,用于查询本地是否保存有所述接收模块71所接收到的组播数据流相对应的PIM-Snooping路由表项;
建立模块73,用于在所述查询模块72的查询结果为否时,根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项;
添加模块74,用于当所述接收模块71接收到下游相邻路由设备发送的与所述PIM-Snooping路由表项相对应的PIM加入报文时,将接收所述PIM加入报文的端口,添加为所述PIM-Snooping路由表项的下游端口;
传输模块75,用于在所述接收模块71接收到与所述建立模块73所建立的未添加下游端口的PIM-Snooping路由表项相对应的组播数据流时,停止向下游转发所述组播数据流,在所述接收模块71接收到与所述PIM加入报文对应的组播源所发送的组播数据流时,通过所述添加模块74所添加的下游端口发送给所述下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述传输模块75,还用于:
在所述查询模块72的查询结果为是时,判断所述PIM-Snooping路由表项当前是否存在下游端口;
如果不存在,则停止向下游转发所述组播数据流;
如果存在,则通过所述下游端口将所述组播数据流发送给相应的下游相邻路由设备,以使所述下游相邻路由设备将所述组播数据流转发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述接入交换设备还包括保活模块76,用于:
在接收组播源所发送的组播数据流之后,按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新;
当确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间阈值时,停止发送所述保活报文,并对当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化;
其中,当所述下游相邻路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述下游相邻路由设备对本地当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化。
优选的,所述传输模块75,还用于:
在所述建立模块73根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项之后,按照预设的报文发送周期,向下游相邻路由设备方向发送与所述未添加下游端口的PIM-Snooping路由表项相对应的PIMHello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;
当所述建立模块73所建立的所述未添加下游端口的PIM-Snooping路由表项老化时,停止发送所述PIM Hello报文。
优选的,所述添加模块74,还用于:
在将接收所述PIM加入报文的端口,添加为所述PIM-Snooping路由表项的下游端口之后,当所述接收模块71接收到下游相邻路由设备发送的与所述PIM-Snooping路由表项相对应的PIM剪枝报文时,在所述PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,并通知所述传输模块75停止通过所述下游端口向下游转发相应的组播数据流。
进一步的,本发明实施例还进一步提出了一种路由设备,可用于组播源侧DR,其结构示意图如图8所示,包括:
接收模块81,用用于接收与组播源直连的接入交换设备按照预设的报文发送周期发送的保活报文,其中,所述保活报文具体为所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息;
维护模块82,用于在所述路由设备上维护与所述接入交换设备直连的组播源相对应的PIM路由表项;
发送模块83,用于当确定所述维护模块所维护的PIM路由表项添加下游出接口时,向所述接入交换设备发送与所述维护模块所维护的相应PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的相应PIM路由表项相对应的PIM-Snooping路由表项的下游端口;
传输模块84,用于接收所述接入交换设备通过所述下游端口发送的与所述发送模块83所发送的PIM加入报文对应的组播源所发送的组播数据流,将所述组播数据流通过所述下游出接口发送给下游的请求接收所述组播数据流的终端设备。
优选的,所述接收模块81,还用于:
接收所述接入交换设备发送的保活报文,以周期性的获取相对应的组播源的活动状态,对所述组播源的活动定时器进行更新;
当确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,通知所述维护模块82对当前已建立的相对应的PIM路由表项进行老化。。
优选的,所述发送模块83,还用于:
当确定所述维护模块82所维护的路由表项相对应的下游出接口不存在时,向所述接入交换设备发送与所述维护模块82所维护的该PIM路由表项相对应的PIM剪枝报文,以使所述接入交换设备在与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,可以在数据源侧组网中的接入交换设备上使能PIM-Snooping,建立未添加下游端口的PIM-Snooping路由表项,并根据下游相邻路由设备发送的PIM加入/剪枝报文,为该PIM-Snooping路由表项添加或删除下游端口,以控制是否向下游转发所述组播数据流,使得只有在下游用户有接收需求的时候,组播数据流才被发送到下游相邻路由设备;而如果下游没有用户需要接收这个组播数据流的时候,该组播数据流只会被发送到接入交换设备,而不再继续向下游相邻路由设备方向发送,从而,达到节约网络带宽,避免组播流量泛滥的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不用于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (16)
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路由表项相对应的PIM Hello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;
当所述未添加下游端口的PIM-Snooping路由表项老化时,所述接入交换设备停止发送所述PIM Hello报文。
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所述的接入交换设备,其特征在于,还包括保活模块,用于:
在接收组播源所发送的组播数据流之后,按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息,作为保活报文发送给所述下游相邻路由设备,以使所述下游相邻路由设备周期性获取所述组播源的活动状态,对所述组播源的活动定时器进行更新;
当确定未接收到所述组播源所发送的组播数据流的时间超过预设的保活时间阈值时,停止发送所述保活报文,并对当前已建立的与所述组播源相对应的PIM-Snooping路由表项进行老化;
其中,当所述下游相邻路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述下游相邻路由设备对本地当前已建立的与所述组播源相对应的组播表项进行老化。
9.如权利要求6所述的接入交换设备,其特征在于,所述传输模块,还用于:
在所述建立模块根据所述组播数据流,建立未添加下游端口的PIM-Snooping路由表项之后,按照预设的报文发送周期,向下游相邻路由设备方向发送与所述未添加下游端口的PIM-Snooping路由表项相对应的PIMHello报文,以使所述下游相邻路由设备方向上使能PIM-Snooping的设备维护与所述未添加下游端口的PIM-Snooping路由表项相对应的PIM邻居信息;
当所述建立模块所建立的所述未添加下游端口的PIM-Snooping路由表项老化时,停止发送所述PIM Hello报文。
10.如权利要求6所述的接入交换设备,其特征在于,所述添加模块,还用于:
在将接收所述PIM加入报文的端口,添加为所述PIM-Snooping路由表项的下游端口之后,当所述接收模块接收到下游相邻路由设备发送的与所述PIM-Snooping路由表项相对应的PIM剪枝报文时,在所述PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以使所述传输模块停止通过所述下游端口向下游转发相应的组播数据流。
11.一种组播转发的方法,其特征在于,所述方法至少包括以下步骤:
作为组播源侧指定路由器DR的路由设备接收与组播源直连的接入交换设备按照预设的报文发送周期发送的保活报文,在本地维护与所述接入交换设备直连的组播源相对应的PIM路由表项,其中,所述保活报文具体为所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息;
当所述路由设备确定所维护的PIM路由表项添加下游出接口时,所述路由设备向所述接入交换设备发送与所述路由设备维护的相应PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项的下游端口;
所述路由设备接收所述接入交换设备通过所述下游端口发送的与所述PIM加入报文对应的组播源所发送的组播数据流,将所述组播数据流通过所述下游出接口发送给下游的请求接收所述组播数据流的终端设备。
12.如权利要求11所述的方法,其特征在于,还包括:
所述路由设备接收所述接入交换设备发送的保活报文,以周期性的获取相对应的组播源的活动状态,对所述组播源的活动定时器进行更新,
当所述路由设备确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,所述路由设备对本地当前已建立的相对应的PIM路由表项进行老化。
13.如权利要求11所述的方法,其特征在于,当所述路由设备确定所维护的PIM路由表项添加下游出接口时,所述路由设备向所述接入交换设备发送与所述路由设备维护的PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项的下游端口之后,还包括:
当所述路由设备确定所维护的PIM路由表项相对应的下游出接口不存在时,所述路由设备向所述接入交换设备发送与所维护的PIM路由表项相对应的PIM剪枝报文,以使所述接入交换设备在与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
14.一种路由设备,可用于组播源侧指定路由器DR,其特征在于,至少包括:
接收模块,用于接收与组播源直连的接入交换设备按照预设的报文发送周期发送的保活报文,其中,所述保活报文具体为所述接入交换设备按照预设的信息发送周期,从底层获取接收到的所述组播源所发送的组播数据流的部分内容或所述组播源所发送的组播数据流所对应的信息;
维护模块,用于在所述路由设备上维护与所述接入交换设备直连的组播源相对应的PIM路由表项;
发送模块,用于当确定所述维护模块所维护的PIM路由表项添加下游出接口时,向所述接入交换设备发送与所述维护模块所维护的相应PIM路由表项相对应的PIM加入报文,以使所述接入交换设备将接收所述PIM加入报文的端口,添加为所述接入交换设备上的与所述路由设备维护的相应PIM路由表项相对应的PIM-Snooping路由表项的下游端口;
传输模块,用于接收所述接入交换设备通过所述下游端口发送的与所述发送模块所发送的PIM加入报文对应的组播源所发送的组播数据流,将所述组播数据流通过所述下游出接口发送给下游的请求接收所述组播数据流的终端设备。
15.如权利要求14所述的路由设备,其特征在于,所述接收模块,还用于:
接收所述接入交换设备发送的保活报文,以周期性的获取相对应的组播源的活动状态,对所述组播源的活动定时器进行更新;
当确定未接收到所述接入交换设备所发送的保活报文的时间超过预设的保活时间阈值时,通知所述维护模块对当前已建立的相对应的PIM路由表项进行老化。
16.如权利要求14所述的路由设备,其特征在于,所述发送模块,还用于:
当确定所述维护模块所维护的路由表项相对应的下游出接口不存在时,向所述接入交换设备发送与所述维护模块所维护的该PIM路由表项相对应的PIM剪枝报文,以使所述接入交换设备在与所述路由设备维护的PIM路由表项相对应的PIM-Snooping路由表项中删除与接收所述PIM剪枝报文的端口相对应的下游端口,以停止通过所述下游端口向下游转发相应的组播数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310142101.8A CN103209134B (zh) | 2013-04-22 | 2013-04-22 | 一种组播转发的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310142101.8A CN103209134B (zh) | 2013-04-22 | 2013-04-22 | 一种组播转发的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103209134A true CN103209134A (zh) | 2013-07-17 |
CN103209134B CN103209134B (zh) | 2017-02-15 |
Family
ID=48756223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310142101.8A Active CN103209134B (zh) | 2013-04-22 | 2013-04-22 | 一种组播转发的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103209134B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243325A (zh) * | 2014-09-03 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种(s,g)表项的管理方法和设备 |
CN105591938A (zh) * | 2015-10-12 | 2016-05-18 | 杭州华三通信技术有限公司 | 保活报文处理方法及装置 |
CN105704046A (zh) * | 2014-11-27 | 2016-06-22 | 中兴通讯股份有限公司 | 一种组播路由表项处理方法及装置 |
WO2019062515A1 (zh) * | 2017-09-27 | 2019-04-04 | 华为技术有限公司 | 一种组播转发方法及组播路由器 |
CN113472667A (zh) * | 2021-06-29 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置、节点设备及存储介质 |
CN114265805A (zh) * | 2021-12-13 | 2022-04-01 | 中国科学院计算技术研究所 | 一种PCIe交换芯片上、下游端口路由表构建方法及系统 |
WO2022089008A1 (zh) * | 2020-10-31 | 2022-05-05 | 华为技术有限公司 | 一种基于p2p的数据分发方法、装置及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674248A (zh) * | 2009-10-21 | 2010-03-17 | 福建星网锐捷网络有限公司 | 实现组播流二层转发的方法、设备和系统 |
CN102624604A (zh) * | 2011-02-01 | 2012-08-01 | 华为技术有限公司 | 一种组播控制方法、路由设备及组播系统 |
-
2013
- 2013-04-22 CN CN201310142101.8A patent/CN103209134B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674248A (zh) * | 2009-10-21 | 2010-03-17 | 福建星网锐捷网络有限公司 | 实现组播流二层转发的方法、设备和系统 |
CN102624604A (zh) * | 2011-02-01 | 2012-08-01 | 华为技术有限公司 | 一种组播控制方法、路由设备及组播系统 |
Non-Patent Citations (1)
Title |
---|
张乐: "对PIM-Snooping协议的优化", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243325A (zh) * | 2014-09-03 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种(s,g)表项的管理方法和设备 |
CN104243325B (zh) * | 2014-09-03 | 2018-07-13 | 新华三技术有限公司 | 一种(s,g)表项的管理方法和设备 |
CN105704046A (zh) * | 2014-11-27 | 2016-06-22 | 中兴通讯股份有限公司 | 一种组播路由表项处理方法及装置 |
CN105591938A (zh) * | 2015-10-12 | 2016-05-18 | 杭州华三通信技术有限公司 | 保活报文处理方法及装置 |
CN105591938B (zh) * | 2015-10-12 | 2019-05-17 | 新华三技术有限公司 | 保活报文处理方法及装置 |
WO2019062515A1 (zh) * | 2017-09-27 | 2019-04-04 | 华为技术有限公司 | 一种组播转发方法及组播路由器 |
US11190367B2 (en) | 2017-09-27 | 2021-11-30 | Huawei Technologies Co., Ltd. | Multicast forwarding method and multicast router |
WO2022089008A1 (zh) * | 2020-10-31 | 2022-05-05 | 华为技术有限公司 | 一种基于p2p的数据分发方法、装置及系统 |
CN113472667A (zh) * | 2021-06-29 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置、节点设备及存储介质 |
CN113472667B (zh) * | 2021-06-29 | 2022-06-21 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置、节点设备及存储介质 |
CN114265805A (zh) * | 2021-12-13 | 2022-04-01 | 中国科学院计算技术研究所 | 一种PCIe交换芯片上、下游端口路由表构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103209134B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10230620B2 (en) | Multicast traffic management within a wireless mesh network | |
EP2622805B1 (en) | Method for pruning a multicast branch, protocol independent multicast router, and layer-2 exchange | |
CN103209134A (zh) | 一种组播转发的方法和设备 | |
US7839850B2 (en) | Forming equal cost multipath multicast distribution structures | |
US8009671B2 (en) | Multicast method and multicast routing method | |
CN101656679B (zh) | 一种组播快速收敛方法、路由器和通信系统 | |
CN109150580B (zh) | 协议无关多播加入熵 | |
EP2989755B1 (en) | Efficient multicast delivery to dually connected (vpc) hosts in overlay networks | |
US11509572B2 (en) | Optimizing IP multicast delivery with use of local source nodes and the propagation of advertisements therefor | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
US20090067426A1 (en) | Join message load control system and method in network using PIM-SSM | |
JP4822905B2 (ja) | ブリッジ装置、ブリッジ装置における制御方法、及び制御プログラム | |
CN101394358B (zh) | 提高组播转发可靠性的方法和装置 | |
CN102111279B (zh) | 一种组播数据的传输方法和设备 | |
CN101610200A (zh) | 组播路由的切换方法及装置 | |
US9313037B2 (en) | Method, apparatus and system for forwarding data under protocol independent multicast dual join | |
CN104348736A (zh) | 组播负载场景下选路的方法和路由器 | |
Bartczak et al. | Lightweight PIM—a new multicast routing protocol | |
CN102843303B (zh) | Pim中的组播报文处理方法及装置 | |
CN102739532A (zh) | 防止三层组播数据流洪泛的方法 | |
Chakeres et al. | Connecting MANET multicast | |
CN114915588B (zh) | 用于任播部署的上游多播跳umh扩展 | |
Danilov et al. | MANET multicast with multiple gateways | |
CA2902402A1 (en) | Multicast traffic management within a wireless mesh network | |
JP6175848B2 (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. |