隧道收敛的方法及装置与流程

文档序号:12161834阅读:1324来源:国知局
隧道收敛的方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种隧道收敛的方法及装置。



背景技术:

组播的虚拟专用网(Virtual Private Network,简称为VPN)是一项在现有边界网关协议(Border Gateway Protocol,简称为BGP)/多协议标签交换(Multiprotocol Label Switching,简称为MPLS)IP VPN基础上支持组播业务的技术,该技术通过对私网组播报文进行封装,并将其由各网段间建立的组播隧道进行传递,以完成组播数据在私网之间的传送。

组播VPN技术主要解决的问题是公网在不知道私网路由的情况下如何进行逆向路径转发(Reverse Path Forwarding,简称为RPF)检查达到转发组播数据的目的,私网组播源,目的地址重叠,私网组播数据流如何转发到需要的私网上等。在相关技术中,实现方式有组播域(Multicast Domain,简称为MD)和MVPN P2MP(point-to-multipoint);图1是相关技术中典型的MVPN组网示意图,如图1所示,MVPN P2MP的公网不用维护组播状态,PE和P设备只需要建立基本的隧道,多协议标签分发协议(Multicast Label Distribution Protocol,简称为mLDP)就是用来建立这个基本隧道的技术。

图2是相关技术中典型的mLDP组网示意图,如图2所示,mLDP的标签转发路径(Label Switched Path,简称为LSP)由一个根节点,多个中间节点,多个叶子节点组成。一条普通mLDP LSP的建立大致步骤如下:

1.由MVPN通告叶子节点及根节点的添加;

2.由叶子节点发起mLDP LSP的建立和拆除;叶子节点添加后会查找到根节点的最优路由,确定向哪一个中间节点通告标签映射消息;

3.中间节点收到叶子节点的通告后记录下叶子节点通告的标签值等信息,然后与叶子节点一样查找路由并通告标签映射消息到上游,同时下发转发形成标签转发表;

4.直到到达根节点,根节点记录下收到的标签信息,下发转发,到此整个LSP建立完成。

先建后拆(Make Before Break,简称为MBB)处理是mLDP LSP建立过程的一个可选扩展;当链路起来或者路由发生变化时,到达根节点的最优路由可能发生变化,LSP可能断链而导致短暂的丢包,直到LSP重新收敛于一个新的上游节点;MBB的目的就是当这个发生的时候保证丢包的时间尽可能的短,

图3是相关技术中典型的MBB场景组网示意图,如图3所示,假设所有节点都使能了MBB,LSR1(Label Switched Router,泛指支持标签交换的设备,如路由器、交换机等)是隧道根节点,LSR4是隧道叶子节点,LSR2与LSR3是隧道中间节点,发生MBB的详细过程如下:

LSR4-LSR1之间已经建立起mLDP隧道;

此时LSR4上路由变化,到根节点LSR1的最优路由下一跳变为LSR3,LSR4会申请一个新的标签,向LSR3发送一个携带MBB标记的标签映射消息,并生成一个暂未激活的上游控制块(An inactive accepting element that consists of an upstream neighbor and local label,以下简称inactive),此时流量转发依然走LSR4-LSR1隧道;

LSR3收到LSR4发送来的带有MBB标记的标签映射消息,也会做同样的动作向LSR2发送一个带MBB标记的标签映射消息,直到根节点LSR1;

LSR1是隧道的根节点,会回一个MBB通知消息给LSR2告知已经准备好可以建立隧道;MBB通知消息被依次传递下去;

当LSR4收到LSR3发送来的MBB通知消息时就会将该inactive的上游控制块置为已激活状态(An active accepting element,以下简称active)并下发转发信息,同时向最初的最优上游LSR1发送标签撤销消息并删除旧的转发信息,隧道从LSR4-LSR1切换到LSR4-LSR3-LSR2-LSR1;当新的隧道建立前流量依然走旧的隧道,当新的隧道建立后再切断旧的隧道,就不会出现丢包现象;达到MBB的目的;

如果LSR1没有使能MBB,就不会给LSR2发送MBB通知消息,LSR2不会给LSR3回MBB通知消息,LSR3就也不会给LSR4回MBB通知消息;LSR4一直没有收到上游回的MBB通知消息,LSR4会等待,直到MBB超时,超时后LSR4会当做已经收到MBB通知消息进行处理;

现在的问题在于,如果将叶子节点LSR4上MBB等待时间配置比较长,且由于根节点LSR1没有配置MBB或者报文堵塞等原因导致LSR4一直没有收到MBB通知消息,当LSR4在等待MBB通知消息时,如果在LSR4上去使能MBB,LSR4依然要等待MBB超时才能将隧道切换到新的路径,而不会立马切换。

对于中间节点LSR3如果配置MBB等待时间很长,当叶子节点LSR4去使能MBB后,LSR3将要一直等待MBB通知消息,直到超时才能下转发,才能给LSR4回MBB通知消息,隧道才能建立;上述这种情况会造成隧道收敛慢,可能造成环路,甚至会造成流量黑洞。

针对相关技术中,MBB场景下mLDP隧道收敛慢的问题,目前还没有有效的解决方案。



技术实现要素:

本发明提供了一种隧道收敛的方法及装置,以至少解决相关技术中MBB场景下mLDP隧道收敛慢的问题。

根据本发明的一个方面,提供了一种隧道收敛的方法,包括:

标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,所述标签映射消息用于指示所述上游节点结束处于MBB通知消息等待状态;

所述叶子节点将未激活状态的上游控制块设置为激活状态的上游控制块;

所述叶子节点通过所述第一链路下发转发信息。

进一步地,所述叶子节点通过所述第一链路下发转发信息之后,包括:

所述叶子节点向第二链路的上游节点发送标签撤销信息,删除所属第二链路上的转发信息,所述第二链路是建立所述第一链路之前的所述叶子节点所属的链路。

根据本发明的另一个方面,还提供了一种隧道收敛的方法,包括:

标签转发路径隧道的中间节点接收当前更新第一链路上叶子节点的没有携带MBB标记的标签映射消息,所述标签映射消息用于指示所述中间节点结束处于MBB通知消息等待状态;

所述中间节点根据所述标签映射信息更新下游控制块信息;

所述中间节点通过所述第一链路下发转发信息。

进一步地,所述方法还包括:

检查所述中间节点是否有未激活状态的上游控制块,在有未激活的上游控制块的情况下,向所述中间节点的上游节点发送没有携带MBB标记的标签映射消息;

所述中间节点将未激活状态的上游控制块设置为激活状态的上游控制块。

进一步地,所述中间节点通过所述第一链路下发转发信息之后,所述方法包括:

所述中间节点向所述叶子节点发送MBB通知信息。

根据本发明的另一个方面,还提供了一种隧道收敛的装置,包括:

发送模块,用于标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,所述标签映射消息用于指示所述上游节点结束处于MBB通知消息等待状态;

第一设置模块,用于所述叶子节点将未激活状态的上游控制块设置为激活状态的上 游控制块;

第一转发模块,用于所述叶子节点通过所述第一链路下发转发信息。

进一步地,所述装置还包括:

撤销模块,用于所述叶子节点向第二链路的上游节点发送标签撤销信息,删除所属第二链路上的转发信息,所述第二链路是建立所述第一链路之前的所述叶子节点所属的链路。

根据本发明的另一个方面,还提供了一种隧道收敛的装置,包括:

接收模块,用于标签转发路径隧道的中间节点接收当前更新第一链路上叶子节点的没有携带MBB标记的标签映射消息,所述标签映射消息用于指示所述中间节点结束处于MBB通知消息等待状态;

更新模块,用于所述中间节点根据所述标签映射信息更新下游控制块信息;

第二转发模块,用于所述中间节点通过所述第一链路下发转发信息。

进一步地,所述装置还包括:

检查模块,用于检查所述中间节点是否有未激活状态的上游控制块,在有未激活的上游控制块的情况下,向所述中间节点的上游节点发送没有携带MBB标记的标签映射消息;

第二设置模块,用于所述中间节点将未激活状态的上游控制块设置为激活状态的上游控制块。

进一步地,所述装置还包括:

通知模块,用于所述中间节点向所述叶子节点发送MBB通知信息。

通过本发明,标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,该标签映射消息用于指示该上游节点结束处于MBB通知消息等待状态,该叶子节点将未激活状态的上游控制块设置为激活状态的上游控制块,该叶子节点通过该第一链路下发转发信息,解决了MBB场景下mLDP隧道收敛慢的问题,实现了mLDP隧道的快速收敛。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是相关技术中典型的MVPN组网示意图;

图2是相关技术中典型的mLDP组网示意图;

图3是相关技术中典型的MBB场景组网示意图;

图4是根据本发明实施例的一种隧道收敛的方法的流程图一;

图5是根据本发明实施例的一种隧道收敛的方法的流程图二;

图6是根据本发明实施例的一种隧道收敛的装置的结构框图一;

图7是根据本发明实施例的一种隧道收敛的装置的结构框图二;

图8是根据本发明优选实施例的叶子节点LSR4上的操作流程示意图一;

图9是根据本发明优选实施例的中间节点LSR3上的操作流程示意图一;

图10是根据本发明优选实施例的中间节点LSR3上的操作流程示意图二;

图11是根据本发明优选实施例的叶子节点LSR4上的操作流程示意图二。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种隧道收敛的方法,图4是根据本发明实施例的一种隧道收敛的方法的流程图一,如图4所示,该流程包括如下步骤:

步骤S402,标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,该标签映射消息用于指示该上游节点结束处于MBB通知消息等待状态;

步骤S404,该叶子节点将未激活状态的上游控制块设置为激活状态的上游控制块;

步骤S406,该叶子节点通过该第一链路下发转发信息。

通过上述步骤,标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,该叶子节点将未激活状态的上游控制块设置为激活状态的上游控制块,该叶子节点通过该第一链路下发转发信息,解决了MBB场景下mLDP隧道收敛慢的问题,实现了mLDP隧道的快速收敛。

在本发明的实施例中,该叶子节点通过该第一链路下发转发信息之后,该叶子节点向第二链路的上游节点发送标签撤销信息,删除所属第二链路上的转发信息,该第二链路是建立该第一链路之前的该叶子节点所属的链路。

在本实施例中还提供了一种隧道收敛的方法,图5是根据本发明实施例的一种隧道收敛的方法的流程图二,如图5所示,该流程包括如下步骤:

步骤S502,标签转发路径隧道的中间节点接收当前更新第一链路上叶子节点的没有携带MBB标记的标签映射消息,该标签映射消息用于指示该中间节点结束处于MBB通知消息等待状态;

步骤S504,该中间节点根据该标签映射信息更新下游控制块信息;

步骤S506,该中间节点通过该第一链路下发转发信息。

通过上述步骤,标签转发路径隧道的中间节点接收当前更新第一链路上叶子节点的没有携带MBB标记的标签映射消息,该标签映射消息用于指示该中间节点结束处于MBB通知消息等待状态,该中间节点根据该标签映射信息更新下游控制块信息,该中间节点通过该第一链路下发转发信息,解决了MBB场景下mLDP隧道收敛慢的问题,实现了mLDP隧道的快速收敛。

在本实施例中,检查该中间节点是否有未激活状态的上游控制块,在有未激活的上游控制块的情况下,向该中间节点的上游节点发送没有携带MBB标记的标签映射消息,该中间节点将未激活状态的上游控制块设置为激活状态的上游控制块。

在本实施例中,该中间节点通过该第一链路下发转发信息之后,该方法包括:该中间节点向该叶子节点发送MBB通知信息。

在本实施例中还提供了一种隧道收敛的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的一种隧道收敛的装置的结构框图一,如图6所示,该装置包括:

发送模块62,用于标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,该标签映射消息用于指示该上游节点结束处于MBB通知消息等待状态;

第一设置模块64,用于该叶子节点将未激活状态的上游控制块设置为激活状态的上游控制块;

第一转发模块66,用于该叶子节点通过该第一链路下发转发信息。

通过上述装置,标签转发路径隧道的叶子节点向当前更新第一链路上未激活状态的上游节点发送没有携带MBB标记的标签映射消息,该叶子节点将未激活状态的上游控制块设置为激活状态的上游控制块,该叶子节点通过该第一链路下发转发信息,解决了 MBB场景下mLDP隧道收敛慢的问题,实现了mLDP隧道的快速收敛。

在本实施例中,该装置还包括:撤销模块,用于该叶子节点向第二链路的上游节点发送标签撤销信息,删除所属第二链路上的转发信息,该第二链路是建立该第一链路之前的该叶子节点所属的链路。

图7是根据本发明实施例的一种隧道收敛的装置的结构框图二,如图7所示,该装置包括:

接收模块72,用于标签转发路径隧道的中间节点接收当前更新第一链路上叶子节点的没有携带MBB标记的标签映射消息,该标签映射消息用于指示该中间节点结束处于MBB通知消息等待状态;

更新模块74,用于该中间节点根据该标签映射信息更新下游控制块信息;

第二转发模块76,用于该中间节点通过该第一链路下发转发信息。

通过上述装置,标签转发路径隧道的中间节点接收当前更新第一链路上叶子节点的没有携带MBB标记的标签映射消息,该标签映射消息用于指示该中间节点结束处于MBB通知消息等待状态,该中间节点根据该标签映射信息更新下游控制块信息,该中间节点通过该第一链路下发转发信息,解决了MBB场景下mLDP隧道收敛慢的问题,实现了mLDP隧道的快速收敛。

在本实施例中,该装置还包括:

检查模块,用于检查该中间节点是否有未激活状态的上游控制块,在有未激活的上游控制块的情况下,向该中间节点的上游节点发送没有携带MBB标记的标签映射消息;

第二设置模块,用于该中间节点将未激活状态的上游控制块设置为激活状态的上游控制块

在本实施例中,该装置还包括:

通知模块,用于该中间节点向该叶子节点发送MBB通知信息。

下面通过优选实施例和实施方式对本发明进行详细说明。

本优选实施例提供一种mLDP中MBB场景下mLDP隧道快速收敛的方法,旨在解决去使能MBB后需要等待MBB超时才能实现隧道切换的问题,使得去使能MBB后隧道能立马切换到新的链路上;避免出现隧道收敛速度过慢而导致的环路甚至是流量黑洞。

本优选实施例实现的技术方案包括如下内容:

如果是叶子节点有处于inactive状态的上游控制块,此时去使能MBB:

1.叶子节点将inactive的新上游控制块置为active,下发转发,不用等待MBB超 时,重新向inactive的上游发送一个没有携带MBB标记的标签映射消息,以免新上游可能一直处于MBB通知消息等待状态直到MBB超时;

2.叶子节点同时向旧的active的上游发送标签撤销消息,撤销旧的链路;

3.当新上游收到标签映射消息时,需要重新更新保存的下游控制块信息,同时需要下发转发,如果有inactive的上游控制块,也需要向该上游发送不携带MBB标记的标签映射消息,直到到达隧道根节点,完成新链路建立;

如果是中间节点有处于inactive的上游控制块,此时去使能MBB:

1.中间节点将inactive的上游控制块置为active,下发转发,并重新向inactive的上游发送不携带MBB标记的标签映射消息;

2.发送MBB通知消息给下游,以免下游一直处于等待MBB通知消息的状态,直到MBB超时;

3.下游收到MBB通知消息后会马上完成旧链路向新链路的切换,而不需要等待MBB超时;

本优选实施例的组网及配置如下:

1)LSR1与LSR4,LSR1与LSR2,LSR2与LSR3,LSR3与LSR4分别有一个接口直连;

2)在LSR1,LSR4上配置mLDP,LDP等相关配置,建立一条mLDP隧道LSR4—LSR1,LSR1是隧道根节点,LSR4是隧道叶子节点;

3)LSR2,LSR3,LSR4上分别使能mLDP MBB;并配置MBB等待时间;LSR1上不使能MBB;

下面对叶子节点去使能MBB,中间节点去使能MBB时各个节点的行为做进一步说明:

一.叶子节点LSR4去使能MBB

图8是根据本发明优选实施例的叶子节点LSR4上的操作流程示意图一,如图8所示,包括如下流程:

步骤801,LSR4上去使能MBB,进入步骤802;

步骤802,LSR4向inactive状态的上游发送一个不携带MBB标记的标签映射消息,进入步骤803;

步骤803,inactive状态的上游控制块被置为active,进入步骤804;

步骤804,LSR4下发新的转发信息,进入步骤805;

步骤805,LSR4向旧的上游发送标签撤销消息,并删除旧的转发信息。

图9是根据本发明优选实施例的中间节点LSR3上的操作流程示意图一,如图9所示,包括如下流程:

步骤901,LSR3收到来自LSR4的不携带MBB标记的标签映射消息,进入步骤902;

步骤902,更新下游控制块上的信息,进入步骤903;

步骤903,检查是否有inactive状态的上游控制块,如果有,进入步骤904;如果没有,进入步骤905;

步骤904,向该上游发送不携带MBB标记的标签映射消息,进入步骤905;

步骤905,下发转发信息,结束MBB通知消息等待状态;

LSR2上的操作与LSR3上一致,直到隧道根节点LSR1,整个新的隧道建立成功,完成旧隧道到新隧道的快速切换。

二.中间节点LSR3去使能MBB

图10是根据本发明优选实施例的中间节点LSR3上的操作流程示意图二,如图10所示,包括如下流程:

步骤1001,LSR3上去使能MBB,进入步骤1002;

步骤1002,LSR3向inactive状态的上游发送一个不携带MBB标记的标签映射消息,进入步骤1003;

步骤1003,inactive状态的上游控制块被置为active,进入步骤1004;

步骤1004,下发转发信息,进入步骤1005;

步骤1005,向下游LSR4发送MBB通知消息。

图11是根据本发明优选实施例的叶子节点LSR4上的操作流程示意图二,如图11所示,包括如下流程:

步骤1101,收到上游LSR3发来的MBB通知消息,进入步骤1102;

步骤1102,按照本次发明前收到MBB通知消息操作一样,不再继续处于MBB通知消息等待状态,撤销旧的隧道,下发新的转发信息,隧道完成从旧到新的快速切换。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述实施例的方法步骤的程序代码:

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例的方法步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1