一种组播数据不间断转发的方法

文档序号:7623846阅读:149来源:国知局
专利名称:一种组播数据不间断转发的方法
技术领域
本发明涉及计算机网络通信技术领域,尤其涉及一种保持组播数据不间断转发的方法。如

图1所示,是计算机通信网络的基本结构图,用户的流量通过接入网接入三层交换机,多个三层交换机将流量向上一级三层交换机汇聚(如图中的虚线框所示),通过三层交换机的汇聚作用,最后将用户的流量通过核心网送达Internet业务提供商,Internet业务提供商为用户提供的业务按照相反的方向传递到用户,从而实现业务的端到端连接。其中,这些三层交换机的连接形成了接入层的汇聚网络,一般来说,三层交换机连接的VLAN(虚拟局域网)划分为两种形式1、通过二层汇聚,所有三层交换机的端口都配置成相同的VLAN,所有的流量通过二层以太网交换的方式汇聚到核心网。
2、通过三层汇聚,三层交换机汇聚流量的入VLAN与出VLAN配置不同,也就是说,三层交换机的入口和出口配置不同的VLAN,这些VLAN间要达到互通,只能通过三层的IP互通,流量通过三层IP交换的方式汇聚到核心网。
为了保证链路的可靠性,对接的某一个三层交换机可能将多个物理端口(例如N个,N≥2)配置在同一个VLAN内(多端口VLAN),同时另一个交换机也有多个端口(N个)配置在这个VLAN内,这两个交换机的N个物理端口一一对接。因为组播数据在二层以太网链路的发送方式是广播发送的,因此支持组播业务的应用,在多端口VLAN对接的情况下,组播数据会在对接的以太网链路上产生广播风暴,为了防止二层以太网链路上的广播风暴,应该在三层交换机的所有端口上运行生成树协议,如RSTP(快速生成树协议)、MSTP(多生成树协议)。如果三层交换机是通过三层汇聚方式对接的,为支持组播转发,三层交换机上应该启动组播路由协议,如PIM(协议无关多播)协议,交换机之间通过交换组播路由协议信息在整个网络上生成组播转发树,在每一个交换机内部生成组播转发表,指导组播数据的转发,同时交换机之间通过周期性的发送握手报文(如PIM的HELLO报文)来保持连通性。在多端口VLAN的情况下,VLAN下面的端口因为运行了生成树协议,在一个VLAN接口包含的所有物理端口上,同一时刻只能从唯一的端口上收到组播协议报文,并且组播流量只在收到组播路由协议的端口上发送,从而达到按照端口精确转发组播流量的目的。
三层交换机在VLAN下面的所有端口上实时侦听是否收到组播协议报文,如果端口侦听到组播协议报文,就将这个端口设置为组播转发端口,而将没有侦听组播协议报文的端口设置为阻塞组播转发端口;如果组播转发端口在一段时间内没有收到组播协议报文,组播转发端口就会变成阻塞组播转发端口,由此保证了组播数据在端口上能够被精确转发。
如图2所示,为三层交换机对接的示意图。三层交换机L3(A)、三层交换机L3(B)上运行组播路由协议,两者通过相同VLAN号的三层接口对接,三层交换机L3(A)的P1、P2端口、三层交换机L3(B)的P3、P4端口是属于对接VLAN的以太网端口,这些端口都配置在同一个VLAN内,P1端口与P3端口物理上相接,P2端口与P4端口物理上相接。
在P1、P2、P3、P4端口上运行生成树协议,设置交换机L3(A)的桥ID小于交换机L3(B)的桥ID,P1对应的端口ID小于P2对应的端口ID,P3对应的端口ID小于P4对应的端口ID,通过生成树协议机制,选举交换机L3(A)为根桥,P1、P2是生成树协议的指定端口,端口的生成树协议状态为Forwarding(转发),可以接收转发数据;交换机L3(B)为非根桥,P3为根端口,端口的生成树协议状态为Forwarding(转发),可以接收转发数据,P4为可选端口,端口的生成树协议状态为Discarding(丢弃),不能接收转发数据。
交换机L3(A)、L3(B)之间相互发送组播协议报文,交换机L3(A)只能在P1端口上接收到交换机L3(B)从P3端口上发送的组播协议报文,交换机L3(B)只能在P3端口上接收到交换机L3(A)从P1端口上发送的组播协议报文。因此交换机L3(A)、L3(B)分别将P1、P3端口设置为组播转发端口,将P2、P4端口设置为阻塞组播转发端口。
在生成树协议的运行过程中,如果交换机L3(B)的根端口从P3改变为P4,这种根端口切换操作是10毫秒级的,切换的结果是P3端口的生成树协议状态由Forwarding转变为Discarding,P4端口的生成树协议状态由Discarding转变为Forwarding,但是,在这种情况P4端口无法立刻转发组播数据,从而导致交换机L3(A)、L3(B)间组播数据转发被阻断。因为P4端口还没有收到交换机间互相发送的定期握手报文,所以P4端口还是阻塞组播转发端口;一般情况下,交换机间互相发送的定期握手报文的发送时间间隔是分钟级的,在根端口切换时,交换机L3(B)并不立刻从P4端口发送握手报文,而是在交换机L3(B)规定的下一个握手报文的发送周期到来时,才会向交换机L3(A)发送握手报文,当交换机L3(A)上的P2端口第一次接收到交换机L3(B)从P4端口发送的握手报文时,交换机L3(A)将P2端口从阻塞组播转发端口改变为组播转发端口,然后,在交换机L3(A)规定的下一个握手报文的发送周期到来时,才会向交换机L3(B)发送握手报文,交换机L3(B)在P4端口第一次收到握手报文时,交换机L3(B)将P4端口从阻塞组播转发端口改变为组播转发端口,到此为止,交换机L3(A)、L3(B)间才恢复了组播数据转发。由于P1端口在一段时间内没有收到周期性握手报文,P1端口就会从组播转发端口改变为阻塞组播转发端口。这里需要说明的是,在根端口切换时,并不一定是先由P4端口向P2端口发送握手报文,也有可能是P2端口先向P4端口发送握手报文,换言之,P2、P4端口的先后发送握手报文是随机的。但无论是P2端口还是P4端口先发送握手报文,交换机L3(A)、L3(B)之间对组播数据转发都会达到分钟级的阻断,这不依赖于系统处理器的速度,而是依赖于协议规定的时间。
因此,目前的技术方案在生成树协议根端口切换时,交换机之间就会产生分钟级的组播数据阻断,对于在三层交换机上开展实时组播业务来说,这种分钟级的组播数据阻断是不能容许的。本发明要解决的技术问题是提供一种组播数据不间断转发的方法,在三层交换机之间通过包含多物理端口的VLAN相对接的情况下,且在VLAN接口上运行组播路由协议,在VLAN的所有端口上运行生成树协议,当生成树协议的根端口变化时,能够保持组播数据不间断转发,缩短因根端口切换时产生的组播转发阻断的时间间隔,提高组播转发的效率。
本发明是通过以下的技术方案来实现的一种组播数据不间断转发的方法,当非根桥三层设备上生成树协议的根端口切换时,包括以下步骤101、非根桥三层设备将新的根端口设置为组播转发端口,并通过新的根端口向根桥三层设备的指定端口发送邻居发现协议报文;102、根桥三层设备收到所述邻居发现协议报文时,将所述指定端口设置为组播转发端口,通过该指定端口向所述新的根端口回应邻居发现协议报文;103、非根桥三层设备收到根桥三层设备回应的邻居发现协议报文后,所述新的根端口与所述指定端口之间的链路建立,组播数据通过该链路继续转发。
在步骤101之前还包括当非根桥三层设备上生成树协议的根端口切换时,新的根端口和旧的根端口的生成树协议状态分别为转发和丢弃。
步骤101中,当非根桥三层设备将新的根端口设置为组播转发端口时,将旧的根端口设置为阻塞组播转发端口。
步骤101中,非根桥三层设备首先超时其内部的周期性邻居发现协议报文发送定时器,然后再通过新的根端口向根桥三层设备的指定端口发送邻居发现协议报文。
步骤102中,根桥三层设备首先超时其内部的周期性邻居发现协议报文发送定时器,然后再通过所述指定端口向所述新的根端口回应邻居发现协议报文。
本发明的改进在于所述三层设备为三层交换机或者路由器。
本发明的改进在于所述邻居发现协议报文是协议无关多播的你好报文或者参加报文。
本发明的改进在于所述生成树协议为快速生成树协议或者多生成树协议。
本发明中,当生成树协议的根端口变化时,采用上述的技术方案能够保持组播数据不间断转发,缩短因根端口切换时产生的组播转发阻断的时间间隔,使时间间隔从分钟级降低到10毫秒级,满足组播业务实时性的要求,提高组播转发的效率。图1是计算机通信网络的基本结构图。
图2是两个三层交换机对接示意图。
图3是本发明中实现组播数据不间断转发的方法流程图。下面结合附图和实施例对本发明进行进一步阐述本发明中三层交换机之间通过包含多物理端口的VLAN相对接,在对接的VLAN接口上运行组播路由协议,在对接的该VLAN包含的所有以太网端口上运行生成树协议;端口的状态定义为两种组播转发状态、阻塞组播转发状态。
如图2所示,两个三层交换机对接,三层交换机L3(A)、三层交换机L3(B)上运行组播路由协议,两者通过相同VLAN号的三层接口对接,三层交换机L3(A)的P1、P2端口、三层交换机L3(B)的P3、P4端口是属于对接VLAN的以太网端口,这些端口都配置在同一个VLAN内,P1端口与P3端口物理上相接,P2端口与P4端口物理上相接。
在P1、P2、P3、P4端口上运行生成树协议,设置三层交换机L3(A)的桥ID小于三层交换机L3(B)的桥ID,P1对应的端口ID小于P2对应的端口ID,P3对应的端口ID小于P4对应的端口ID,通过生成树协议机制,选举三层交换机L3(A)为根桥,P1、P2是生成树协议的指定端口,端口的生成树协议状态为Forwarding(转发),可以接收转发数据;三层交换机L3(B)为非根桥,P3为根端口,端口的生成树协议状态为Forwarding(转发),可以接收转发数据,P4为可选端口,端口的生成树协议状态为Discarding(丢弃),不能接收转发数据。
在正常工作的情况下,三层交换机L3(A)、三层交换机L3(B)上都分别启动了周期性握手报文发送定时器,假设周期为m秒(m>0秒),定时器周期性的经过m秒超时,三层交换机L3(A)和三层交换机L3(B)相互发送组播握手报文,只有这样才能保证两个三层交换机之间的可靠互通。由于组播握手报文是在P1端口和P3端口之间相互发送的,因此P1、P3端口设置为组播转发状态,而P2、P4端口设置为阻塞组播转发状态。
这里需要补充的是组播握手报文可以是PIM的HELLO(你好)报文,,也可以是JOIN(参加)报文,但不管是哪一种报文,都可以统称为邻居发现协议报文,交换机之间互发邻居发现协议报文,其目的是确认对方的可达性,使得组播流量能够顺利到达对方。
如图3所示,为实现组播数据不间断转发的方法流程图,其具体过程为第一步当P1端口与P3端口之间发生链路故障时,组播流转发中断,三层交换机L3(B)检测到这一故障信息时,三层交换机L3(B)上就会发生根端口切换,即根端口由P3端口(旧的根端口)变成P4端口(新的根端口);三层交换机L3(B)立刻将P4端口从阻塞组播转发状态改变为组播转发状态,同时将P3端口从组播转发状态改变为阻塞组播转发状态。此时,P3端口的生成树协议状态为Discarding(丢弃),不能接收转发数据,P4端口的生成树协议状态为Forwarding(转发),可以接收转发数据。
第二步三层交换机L3(B)立刻超时周期性握手报文发送定时器,不等待组播握手报文的发送周期到来,在P4端口上立刻向P2端口发送组播握手报文。
第三步当三层交换机L3(A)的P2端口(P2端口的生成树协议状态为Forwarding(转发),可以接收转发数据)上第一次收到组播握手报文时,P2端口立刻从阻塞组播转发状态改变为组播转发状态;三层交换机L3(A)立刻超时周期性握手报文发送定时器,不等待组播握手报文的发送周期到来,在P2端口上立刻向P4端口发送组播握手报文。
第四步P4端口接收到组播握手报文,表明三层交换机L3(B)与三层交换机L3(A)都能够相互到达,此时,P2、P4端口都设置为组播转发状态,P2、P4之间链路建立,组播流量通过这条链路实现不间断转发。
本发明实现不间断转发组播流量的方法,避开了三层交换机之间相互发送组播握手报文所存在的周期性时间间隔,当非根桥三层交换机检测到链路层故障而发生以太网端口切换(根端口发生切换)时,非根桥三层交换机立刻超时组播握手报文周期定时器,通过新的根端口主动发送组播握手报文,而根桥交换机的任何一个以太网端口第一次收到组播握手报文时,根桥三层交换机也立刻超时组播握手报文周期定时器,向非根桥交换机发送组播握手报文,这样就加快了根桥交换机与非根桥交换机之间的链路建立,减少组播业务流中断的时间,提高了转发效率。
另外,本发明中的三层交换机可以更换成路由器,不管是三层交换机还是路由器,都属于携带路由选择功能的三层设备,只要它们之间通过包含多物理端口的VLAN相对接,在对接的VLAN接口上运行组播路由协议,在对接的该VLAN包含的所有以太网端口上运行生成树协议,就可以采用本发明的不间断转发的方法,实现本发明的目的。
权利要求
1.一种组播数据不间断转发的方法,当非根桥三层设备上生成树协议的根端口切换时,包括以下步骤101、非根桥三层设备将新的根端口设置为组播转发端口,并通过新的根端口向根桥三层设备的指定端口发送邻居发现协议报文;102、根桥三层设备收到所述邻居发现协议报文时,将所述指定端口设置为组播转发端口,通过该指定端口向所述新的根端口回应邻居发现协议报文;103、非根桥三层设备收到根桥三层设备回应的邻居发现协议报文后,所述新的根端口与所述指定端口之间的链路建立,组播数据通过该链路继续转发。
2.根据权利要求1所述的一种组播数据不间断转发的方法,其特征在于,在步骤101之前还包括当非根桥三层设备上生成树协议的根端口切换时,新的根端口和旧的根端口的生成树协议状态分别为转发和丢弃。
3.根据权利要求1所述的一种组播数据不间断转发的方法,其特征在于步骤101中,当非根桥三层设备将新的根端口设置为组播转发端口时,将旧的根端口设置为阻塞组播转发端口。
4.根据权利要求1所述的一种组播数据不间断转发的方法,其特征在于步骤101中,非根桥三层设备首先超时其内部的周期性邻居发现协议报文发送定时器,然后再通过新的根端口向根桥三层设备的指定端口发送邻居发现协议报文。
5.根据权利要求1所述的一种组播数据不间断转发的方法,其特征在于步骤102中,根桥三层设备首先超时其内部的周期性邻居发现协议报文发送定时器,然后再通过所述指定端口向所述新的根端口回应邻居发现协议报文。
6.根据权利要求1至5任一所述的一种组播数据不间断转发的方法,其特征在于所述三层设备为三层交换机或者路由器。
7.根据权利要求1至5任一所述的一种组播数据不间断转发的方法,其特征在于所述邻居发现协议报文是协议无关多播的你好报文或者参加报文。
8.根据权利要求1所述的一种组播数据不间断转发的方法,其特征在于所述生成树协议为快速生成树协议或者多生成树协议。
全文摘要
本发明公开了一种组播数据不间断转发的方法,涉及计算机网络通信技术领域。当非根桥三层设备上生成树协议的根端口切换时,非根桥三层设备将新的根端口设置为组播转发端口,并通过新的根端口向根桥三层设备的指定端口发送邻居发现协议报文;根桥三层设备收到邻居发现协议报文时,将指定端口设置为组播转发端口,通过该指定端口向新的根端口回应邻居发现协议报文;非根桥三层设备收到根桥三层设备回应的邻居发现协议报文后,新的根端口与所述指定端口之间的链路建立,组播数据通过该链路继续转发。本发明的方法能够缩短因根端口切换时产生的组播转发阻断的时间间隔,使时间间隔降低到10毫秒级,满足组播业务实时性的要求,提高组播转发的效率。
文档编号H04L29/06GK1859288SQ20051010208
公开日2006年11月8日 申请日期2005年12月1日 优先权日2005年12月1日
发明者牛乐宏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1