一种基于任播地址保护的方法及装置与流程

文档序号:17757527发布日期:2019-05-24 21:25阅读:251来源:国知局
一种基于任播地址保护的方法及装置与流程

本发明涉及数据通信技术领域,特别涉及一种基于任播地址保护的方法及装置。



背景技术:

draft-ietf-spring-segment-routing-12描述了sr(segmentrouting,分段路由)的架构,分段路由技术使得一个节点可以为特定的报文指定其转发路径,而不是按一般的最短路径转发,通过在报文中附加由segmentid组成的segmentlist相关的信息,不需要在中间节点上为维护每路径的状态信息。分段路由主要扩展igp(interiorgatewayprotocol,内部网关协议)/bgp(bordergatewayprotocol,边界网关协议)以支持通告和学习segmentid,一般在部署了分段路由的网络中,就不再需要部署ldp(labeldistributionprotocol,标签分发协议)与rsvp-te(resourcereservationprotocol-trafficengineering,基于流量工程扩展的资源预留协议)协议了。在分段路由网络中,sr-te(segmentrouting-trafficengineering,分段路由-流量工程)tunnel不仅仅可部署端到端的路径检测和保护,还会得益于igp/bgp提供的局部保护技术,使得保护更加全面。

在分段路由网络中,知名的局部保护技术是ti-lfa(topologyindependentloop-freealternate,拓扑无关的无环备份),在draft-bashandy-rtgwg-segment-routing-ti-lfa-01中定义,可用于在area内做局部保护,当plr(pointoflocalrepair,本地修复节点)检测到主链路或主下一跳节点失效时,能将流量快速切换到备份路径,备份路径可以很简单如仅包含单个链路或单个节点,也可以很复杂如包含一条segmentlist。不过ti-lfa不适用于跨域场景中各域边界节点的冗余保护,对于这类保护场景,已知的方法有:

1)draft-ietf-spring-segment-routing-12描述了如何通过anycastsegment做慢收敛保护。其缺点是故障发生后,流量收敛慢。

2)draft-ietf-spring-segment-routing-12描述了通过mirrorsegment做镜像保护,另外draft-bowers-spring-advertising-lsps-with-sr-01和draft-hegde-spring-node-protection-for-sr-te-paths-00中也描述了类似的镜像保护例子。镜像保护的缺点是镜像节点上需要维护特定上下文空间的标签表项,实现复杂。

3)draft-ietf-spring-segment-routing-central-epe-06描述了通过peer-setsegment在出口pe上做peer节点的冗余保护。但是这种方法不针对出口pe自身的冗余保护。



技术实现要素:

根据本发明实施例提供的方案解决的技术问题是现有跨域场景中域边界节点冗余保护技术繁多复杂不能达到快速收敛流量。

根据本发明实施例提供的一种基于任播地址保护的方法,包括:

为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

与所述域边界节点相邻的邻居节点在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

在报文转发期间,若所述邻居节点检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

优选地,所述域边界节点将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点包括:

所述域边界节点通过内部网关协议igp将包含任播组标志的所述任播地址及任播地址段标签通告给其所在域内的邻居节点。

优选地,所述邻居节点将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态包括:

所述邻居节点将直连下游的域边界节点作为主域边界节点,将至距离非直连下游的域边界节点作为备域边界节点。

优选地,还包括:在报文转发期间,若所述邻居节点检测至所述主域边界节点的转发信息有效时,则用所述至主域边界节点的转发信息进行报文转发。

根据本发明实施例提供的一种基于任播地址保护的装置,包括:

配置及通告模块,用于为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

创建模块,用于在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

报文转发模块,用于在报文转发期间,若检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

优选地,所述配置及通告模块包括:

配置单元,用于为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签;

通告单元,用于通过内部网关协议igp将包含任播组标志的所述任播地址及任播地址段标签通告给其所在域内的邻居节点。

优选地,所述创建模块具体用于将直连下游的域边界节点作为主域边界节点,将至距离非直连下游的域边界节点作为备域边界节点。

优选地,所述报文转发模块还具体用于在报文转发期间,若检测至所述主域边界节点的转发信息有效时,则用所述至主域边界节点的转发信息进行报文转发。

根据本发明实施例提供的一种基于任播地址保护的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的基于任播地址保护的程序,所述基于任播地址保护的程序被所述处理器执行时实现包括:

为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

在报文转发期间,若检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

根据本发明实施例提供的一种计算机存储介质,存储有基于任播地址保护的程序,所述基于任播地址保护的程序被处理器执行时实现包括:

为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

在报文转发期间,若检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

根据本发明实施例提供的方案,基于任播地址的域边界节点冗余保护的机制,且保护机制更简单,并能快速收敛流量,应用于特定的场景。

附图说明

图1是本发明实施例提供的一种基于任播地址保护的方法流程图;

图2是本发明实施例提供的一种基于任播地址保护的装置示意图;

图3是本发明实施例提供的prefix-sid(segmentid,段标签)sub-tlv(type,length,value,类型、长度、值)示意图;

图4是本发明实施例提供的一种基于任播地址保护的网络拓扑图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1是本发明实施例提供的一种基于任播地址保护的方法流程图,如图1所示,包括:

步骤s101:为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

步骤s102:与所述域边界节点相邻的邻居节点在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

步骤s103:在报文转发期间,若所述邻居节点检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

其中,所述域边界节点将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点包括:所述域边界节点通过内部网关协议igp将包含任播组标志的所述任播地址及任播地址段标签通告给其所在域内的邻居节点。

其中,所述邻居节点将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态包括:所述邻居节点将直连下游的域边界节点作为主域边界节点,将至距离非直连下游的域边界节点作为备域边界节点。

本发明实施例还包括:在报文转发期间,若所述邻居节点检测至所述主域边界节点的转发信息有效时,则用所述至主域边界节点的转发信息进行报文转发。

图2是本发明实施例提供的一种基于任播地址保护的装置示意图,如图2所示,包括:配置及通告模块201,用于为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;创建模块202,用于在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;报文转发模块203,用于在报文转发期间,若检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

其中,所述配置及通告模块201包括:配置单元,用于为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签;通告单元,用于通过内部网关协议igp将包含任播组标志的所述任播地址及任播地址段标签通告给其所在域内的邻居节点。

其中,所述创建模块202具体用于将直连下游的域边界节点作为主域边界节点,将至距离非直连下游的域边界节点作为备域边界节点。

其中,所述报文转发模块203还具体用于在报文转发期间,若检测至所述主域边界节点的转发信息有效时,则用所述至主域边界节点的转发信息进行报文转发。

本发明实施例提供的一种基于任播地址保护的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的基于任播地址保护的程序,所述基于任播地址保护的程序被所述处理器执行时实现包括:

为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

在报文转发期间,若检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

本发明实施例提供的一种计算机存储介质,存储有基于任播地址保护的程序,所述基于任播地址保护的程序被处理器执行时实现包括:

为相互形成冗余保护的每个域边界节点配置相同的任播地址及任播地址段标签,并将所述任播地址及任播地址段标签通告给所述域边界节点的邻居节点;

在收到所述任播地址及任播地址段标签后,分别创建包含至每个所述域边界节点的转发信息,并将至一个主域边界节点的转发信息置为活跃状态,至备域边界节点的转发信息置为非活跃状态;

在报文转发期间,若检测到至所述主域边界节点的转发信息失效时,则将至备域边界节点的转发信息激活为活跃状态,以便用所述至备域边界节点的转发信息进行报文转发。

本发明采用以下技术方案:在相互形成冗余保护的一组域边界节点上,配置相同的任播地址及其prefix-sid(segmentid,前缀段标签),任播地址的prefix-sid可以通过igp在area内通告,或者通过bgp在as(autonomoussystem,自治系统)间通告,通告时打上anycast-group标志,表示这些边界节点处于同一任播组内。这些边界节点的所有邻居节点(不含边界节点自身)在收到这种任播地址prefix-sid通告后,将建立相应的anycast-group表项,表项中包括至多个边界节点的转发信息,其中只有至某一个边界节点的转发信息为当前活跃状态可用于转发,至其它边界节点的转发信息为非活跃状态。如果当前活跃状态的至某个边界节点的转发信息失效时,会重新选择有效的至其它某个边界节点的转发信息激活用于转发。

本发明所述一种基于任播地址的保护方法包括以下步骤:

第一步,在相互形成冗余保护的一组域边界节点上,配置相同的任播地址及其prefix-sid,prefix-sid配置时使能anycast-group标志。prefix-sid可通过igp或者bgp向邻居通告,通告时打上anycast-group标志。

第二步,这些边界节点的所有邻居节点(不含边界节点自身)在收到这种任播地址prefix-sid通告后,可以额外建立相应的anycast-group表项,表项中包括至多个边界节点的转发信息,其中只有至某一个边界节点的转发信息为当前活跃状态可用于转发,至其它边界节点的转发信息为非活跃状态。

具体地说,各邻居节点一般会在可能建立的anycast-group表项中尝试选择metric最小的直连下游边界节点的转发信息为活跃状态。如果存在这样的边界节点,则会建立anycast-group表项,此时anycastprefix-sid对应的标签转发表项将指向该anycast-group表项,然后该anycast-group表项将给出活跃状态的转发信息;如果不存在这样的metric最小的直连下游边界节点,则anycast-group表项本身无需创建,此时anycastprefix-sid对应的标签转发表项将直接包含至相应任播路由的最短路径转发信息。

第三步,各邻居节点的转发面如果检测到其anycast-group表项中当前活跃状态的至某个直连下游边界节点的转发信息失效,会重新选择有效的至其它某个边界节点的转发信息予以激活并用于转发,应优先选择其它直连下游边界节点,如果不存在其它直连下游边界节点,再选择其它非直连的边界节点按最短路径转发。

图3是本发明实施例提供的prefix-sid(segmentid,段标签)sub-tlv(type,length,value,类型、长度、值)示意图,如图3所示,用于isis(intermediatesystemtointermediatesystem,中间系统到中间系统)通告prefix-sid,与draft-ietf-isis-segment-routing-extensions-13中定义的基本相同,区别是本专利在其flags字段中新增一种标志位,如下:

ag:anycastgroup标志位,表明本prefix-sid是一个anycastprefix-sid,并且希望接受者尝试建立anycast-group表项。

类似的,亦可在ospf(openshortestpathfirst,开放式最短路径优先)、bgp的prefix-sid通告消息中增加上述标志位,用于同样的目的,不再赘述。

图4是本发明实施例提供的一种基于任播地址保护的网络拓扑图,如图4所示,a1~a8通过gw(gateway,网关)接入到核心网络core,各节点的prefix-sid如图所示,其中gw11和gw12配置相同的任播地址anycast-ip1以及分配相同的anycastprefix-sid16001,gw21和gw22配置相同的任播地址anycast-ip2以及分配相同的anycastprefix-sid16002。具体步骤如下:

步骤401,gw11和gw12上均配置相同的任播地址anycast-ip1以及为该任播地址分配相同的prefix-sid16001(也称为anycastprefix-sid16001),配置该prefix-sid时同时使能anycast-group标志。

步骤402,gw11和gw12分别在其所属的igparea通过isis泛洪其anycastprefix-sid,泛洪anycastprefix-sid的消息中携带了ag(anycast-group)标志。

步骤403,比如a1~a5将会收到gw11和gw12通告的上述anycastprefix-sid16001,则a1~a5将尝试在本地创建相应的anycast-group表项,anycast-group表项中将包括两个成员,即{gw11,gw12}。具体为:

a1上将不会创建上述anycast-group表项,因为假设a1至成员gw11的最短路径下一跳为a2,即成员gw11不是a1的直连下游节点,另外假设a1至成员gw12的最短路径下一跳为a4,即成员gw12也不是a1的直连下游节点。a1上为prefix-sid16001创建的标签转发表项将包含至anycast-ip1的最短路径下一跳,比如为a2(或a4)。

a2、a4上也不会创建上述anycast-group表项,原因同上。a2上为prefix-sid16001创建的标签转发表项将包含至anycast-ip1的最短路径下一跳a3。a4上为prefix-sid16001创建的标签转发表项将包含至anycast-ip1的最短路径下一跳a5。

a3上将创建上述anycast-group表项,因为a3至成员gw11的最短路径下一跳为gw11,即成员gw11就是a1的直连下游节点,满足创建anycast-group表项的条件。另外假设a3至成员gw12的最短路径下一跳为a4。a3上为prefix-sid16001创建的标签转发表项将指向上述创建的anycast-group表项,然后该anycast-group表项中给出当前活跃的转发信息为至成员gw11的最短路径转发信息(即下一跳为gw11),非活跃的转发信息为至成员gw12的最短路径转发信息(即下一跳为a4)。

a5上也将创建上述anycast-group表项,因为a5至gw12的最短路径下一跳为gw12,即成员gw12就是a5的直连下游节点,满足创建anycast-group表项的条件。另外假设a5至成员gw11的最短路径下一跳为a2。a5上为prefix-sid16001创建的标签转发表项将指向上述创建的anycast-group表项,然后该anycast-group表项中给出当前活跃的转发信息为至成员gw12的最短路径转发信息(即下一跳为gw12),非活跃的转发信息为至成员gw11的最短路径转发信息(即下一跳为a2)。

步骤404,现在假设a1上存在一条srte路径为{anycast-ip1,anycast-ip2,a8},相应的sidlist为{16001,16002,18008}。假设a1至anycast-ip1的最短路径下一跳为a2,gw11至anycast-ip2的最短路径下一跳为c1,则按照上述srte路径转发的报文实际所经历的完整路径为:a1-a2-a3-gw11-c1-gw21-a6-a8,即报文先按最短路径转发至gw11,再按最短路径转发至gw21,再按最短路径转发至a8。

步骤405,现在假设考虑节点gw11失效,在已有的任播业务使用中,都按照在控制层面上等待isis路由协议重新收敛,比如a1上将至anycast-ip1的最短路径下一跳重新收敛为a4,这种慢收敛将导致很长的丢包时间。

应用本专利所述方法后,gw11的上游节点a3将在转发层面直接检测到gw11故障,于是立即触发相应的anycast-group表项{至gw11(下一跳为gw11),至gw12(下一跳为a4)}做快切,即当前活跃表项从“至gw11(下一跳为gw11)”快切为“至gw12(下一跳为a4)”。那么按分段路由转发的顶层sid为16001的报文到达a3时,将会被转发至下一跳a4;a4收到报文后,继续按最短路径将报文发往gw12;gw12收到报文后,弹掉顶层sid16001,新的顶层sid为16002,则继续按最短路径将报文发往gw22;gw22收到报文后,弹掉顶层sid16002,新的顶层sid为18008,则继续按最短路径将报文发往a8。上述过程中,快切导致的丢包时间很短,一般在50ms之内。

步骤406,稍后,控制层面上路由协议重新收敛完毕,比如a1上将至anycast-ip1的最短路径下一跳重新收敛为a4,则按照上述sidlist{16001,16002,18008}转发的报文实际所经历的完整路径为:a1-a4-a5-gw12-c2-gw22-a7-a8,即报文先按最短路径转发至gw12,再按最短路径转发至gw22,再按最短路径转发至a8。

根据本发明实施例提供的方案,基于任播地址的域边界节点冗余保护的机制,能快速收敛能量。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

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