[0001]
本发明涉及网络技术领域,尤其涉及一种基于分段路由的流量工程sr-te实现方法、装置及控制器。
背景技术:[0002]
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]
sr(segment routing,分段路由)作为一种源路由技术,通过首节点指定sid(segment id,段标识)列表,实现报文按照指定路径转发。这种技术不需要每个中间节点维护每条路径的状态,只有首节点需要维持路径的状态,当路径变更时,只需要在首节点调整sid列表即可。这种基于分段路由的流量工程(segment routing traffic engineering,简称sr-te),相比传统的rsvp-te(resource reservation protocol traffic engineering,资源预留协议流量工程)具有更大的优势,减少了控制面的协议交互,也解决了rsvp-te无法实现的负载均衡的问题。
[0004]
在现有的sr-te方案中,对sr路径的建立都是在候选路径中指定sid列表,sid列表中的sid类型有node-sid(节点sid),adj-sid(邻接sid),prefix-sid(前缀sid)等。sr域的首节点或者控制器节点通过使用不同的flex-ago算法来指定sr路径满足不同的业务需求。
[0005]
然而,现有的sid的定义仅仅标识一个拓扑,其node-sid和adj-sid仅仅标识一个节点和一条链路,使得节点在处理流量的时候,都是无差别对待;因此,无法实现类似于rsvp-te的隧道专享带宽,以及无法满足隧道之间的业务隔离等te需求。
技术实现要素:[0006]
本发明实施例提供一种基于分段路由的流量工程sr-te实现方法,用以实现基于分段路由的流量工程sr-te差分服务,该方法包括:
[0007]
控制器收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的段标识sid;
[0008]
每一sr节点动态发布携带te属性的sid信息,并根据所配置的携带te属性的sid,进行资源预留;
[0009]
控制器根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点;
[0010]
sr首节点根据所述配置信息以及满足te需求的sid列表,创建sr-te隧道,并发布sr-te隧道所关联的携带te属性的sid;
[0011]
当报文进入到每一sr节点时,每一sr节点按照sr-te隧道所关联的携带te属性的sid转发报文。
[0012]
本发明实施例还提供一种基于分段路由的流量工程sr-te实现方法,用以实现基
于分段路由的流量工程sr-te差分服务,该方法包括:
[0013]
收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的sid;
[0014]
根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点。
[0015]
本发明实施例还提供一种基于分段路由的流量工程sr-te实现装置,用以实现基于分段路由的流量工程sr-te差分服务,该装置包括:
[0016]
控制器,用于收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的sid;根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点;
[0017]
每一sr节点,用于动态发布携带te属性的sid信息,并根据所配置的携带te属性的sid,进行资源预留;当报文进入到每一sr节点时,按照sr-te隧道所关联的携带te属性的sid转发报文;
[0018]
sr首节点,用于根据所述配置信息以及满足te需求的sid列表,创建sr-te隧道,并发布sr-te隧道所关联的携带te属性的sid。
[0019]
本发明实施例还提供一种基于分段路由的流量工程sr-te实现控制器,用以实现基于分段路由的流量工程sr-te差分服务,该控制器包括:
[0020]
采集单元,用于收集sr域的te信息;
[0021]
建立单元,用于建立te数据库;
[0022]
分配单元,用于为每一sr节点和每一链路分配携带te属性的sid;
[0023]
确定单元,用于根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表;
[0024]
下发单元,用于将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点。
[0025]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于分段路由的流量工程sr-te实现方法。
[0026]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于分段路由的流量工程sr-te实现方法的计算机程序。
[0027]
本发明实施例中,基于分段路由的流量工程sr-te实现方案,通过:控制器收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的段标识sid;te数据库包括sr域所有sr节点和链路的te信息及sid信息;每一sr节点动态发布携带te属性的sid信息,并根据所分配的te-sid进行资源预留;控制器根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点;sr首节点根据所述配置信息以及满足te需求的sid列表,创建sr-te隧道,并发布sr-te隧道所关联的携带te属性的sid;当报文进入到每一sr节点时,每一sr节点按照sr-te隧道所关联的携带te属性的
sid转发报文,可以实现基于分段路由的流量工程sr-te差分服务,从而可以满足业务的te需求及业务隔离需求,提高了系统的安全性及网络资源使用率。
附图说明
[0028]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0029]
图1为本发明实施例中基于分段路由的流量工程sr-te实现方法的流程示意图;
[0030]
图2为本发明实施例中基于分段路由的流量工程sr-te实现方法的原理示意图;
[0031]
图3为本发明实施例一中基于分段路由的流量工程sr-te实现方法的示意图;
[0032]
图4为本发明实施例一中基于分段路由的流量工程sr-te实现方法的转发路径示意图;
[0033]
图5为本发明实施例二中基于分段路由的流量工程sr-te实现方法的示意图;
[0034]
图6为本发明实施例中应用于控制器的基于分段路由的流量工程sr-te实现方法的流程示意图;
[0035]
图7为本发明实施例中基于分段路由的流量工程sr-te实现控制器的结构示意图。
具体实施方式
[0036]
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
[0037]
发明人发现:现有的基于sr隧道的承载机制无法满足业务对转发面的网络切片的应用,即不能满足不同业务对带宽的完全隔离需求,也无法满足业务的sla(service level agreement,服务等级协议)需求。
[0038]
由于发明人发现了上述技术问题,因此提出了一种基于分段路由的流量工程sr-te实现方案,该方案为一种流量工程的实现方法及装置,其通过为sr节点分配携带te属性的sid,te属性包括带宽使用模式、优先级、带宽、时延等,并通过igp(内部网关协议,interior gateway protocol)或者bgp(border gateway protocol,边界网关协议)对关联te属性的sid进行发布;其中,带宽使用模式分为独占模式和共享模式;控制器使用不同的sid来建立满足业务te需求的sr路径。本发明实施例通过指定sid的te属性来标识不同的网络资源和报文处理方式,从而满足业务的te需求以及业务隔离需求,提高了系统的安全性以及网络资源使用率。下面对该基于分段路由的流量工程sr-te实现方案进行详细介绍如下。
[0039]
图1为本发明实施例中基于分段路由的流量工程sr-te实现方法的流程示意图,该方法可以应用于装置,如图1所示,该方法包括如下步骤:
[0040]
步骤101:控制器收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的段标识sid;
[0041]
步骤102:每一sr节点动态发布携带te属性的sid信息,并根据所分配的te-sid进
行资源预留;
[0042]
步骤103:控制器根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点;
[0043]
步骤104:sr首节点根据所述配置信息以及满足te需求的sid列表,创建sr-te隧道,并发布sr-te隧道所关联的携带te属性的sid;
[0044]
步骤105:当报文进入到每一sr节点时,每一sr节点按照sr-te隧道所关联的携带te属性的sid转发报文。
[0045]
本发明实施例提供了一种基于分段路由的流量工程sr-te实现方案,该方案为一种流量工程的实现方法及装置,其通过为sr节点分配携带te属性的sid,te属性包括带宽使用模式、优先级、带宽、时延等,并通过igp或者bgp对关联te属性的sid进行发布;其中,带宽使用模式分为独占模式和共享模式;控制器使用不同的sid来建立满足业务te需求的sr路径。本发明通过指定sid的te属性来标识不同的网络资源和报文处理方式,从而满足业务的te需求以及业务隔离需求,提高了系统的安全性以及网络资源使用率。
[0046]
本发明实施例中,控制器收集sr域的te信息,建立te数据库,并为sr节点分配携带te属性的sid;sr节点动态的发布携带te属性的sid;控制器根据业务申请确定满足需求的sr-te隧道的路径,并将sr-te隧道的配置信息以及te-sid列表下发到sr首节点;sr首节点根据配置信息创建sr-te隧道,并发布sr-te隧道的te属性;当报文进入到sr节点时,sr节点按照te-sid转发报文。本文中,te-sid(traffic engineering segment id,流量工程段标识)标识携带te属性的sid。
[0047]
如图2所示,具体实现步骤可以如下:
[0048]
①
控制器收集sr域的te信息,建立te数据库,并为sr节点分配携带te属性的sid;
[0049]
te数据库中的信息包括sr域所有的sr节点和链路的te信息以及sid信息。本文中te-sid数据库和te数据库是同一个实体,只是描述不同。
[0050]
控制器为每个sr节点分配多个节点sid以及为每个链路分配多个adj-sid,其中节点sid的te属性有模式和优先级;adj-sid的te属性有带宽、模式、优先级、metric。
[0051]
模式分为独享和共享两种:独享模式标识该sid只能被某一个业务使用,一旦被某个业务占用,则其他业务不可以使用该sid,共享模式标识该sid可以被多个业务共享;优先级标识流量拥塞时,优先调度高优先级流量;进一步地对于adj-sid的共享模式划分多个优先级,高优先级的可以抢占低优先级带宽,低优先级的业务可以占用闲置的高优先级带宽;进一步地只有共享模式的带宽可以被抢占。
[0052]
如果某条链路所有的adj-sid都是独享模式,则独享模式sid所分配的带宽总和不能超过实际的链路的带宽;若某条链路的adj-sid是独享模式和共享模式的混合,则共享模式的最大带宽和所有独享模式带宽的总和,不能超过实际的链路带宽,共享模式的最大带宽是指同一优先级带宽总和的最大值;若某条链路的所有adj-sid只有共享模式,则共享模式的同一优先级带宽总和的最大带宽不能超过实际的链路带宽。
[0053]
带宽是指adj-sid所占用的最大带宽以及未使用带宽。
[0054]
综上,在一个实施例中,te数据库包括sr域所有sr节点和链路的te信息及sid信息;所述te属性包括带宽使用模式、时延、带宽及优先级;所述带宽使用模式包括独占模式
和共享模式。
[0055]
②
sr节点动态地发布携带te属性的sid信息,并根据所分配的te-sid进行资源预留;
[0056]
在一个实施例中,每一sr节点根据sid的配置信息以及实际使用情况,每隔预设时段发布携带te属性的sid信息,可以包括:
[0057]
每一sr节点根据sid的配置信息以及实际使用情况,每隔预设时段通过内部网关协议igp或边界网关协议链路状态bgp-ls通告携带te属性的sid信息。
[0058]
具体实施时,由于节点、链路以及sr-te隧道的te属性是动态变化的,因此,sr节点需要通过igp(interior gateway protocol,内部网关协议)或者bgp-ls(bgp link-state,bgp链路状态,其中,bgp(border gateway protocol,边界网关协议))通告te-sid的状态信息。
[0059]
通告的方式以及频率由通告协议和实际应用确定,本文不做限制。
[0060]
③
控制器根据业务申请确定满足需求的sr-te隧道的路径,并将sr-te的配置下发到sr首节点;
[0061]
控制器根据业务需求计算满足业务需求的sr-te隧道的路径并根据所分配的满足te需求的sid确定sid列表。比如,业务1需要独享资源,与其他的业务进行隔离,业务2需要申请10m的带宽,业务3对时延比较敏感,需要最小时延等;控制器根据业务需求,选择满足需求的路径,确定可用sid列表。进一步地,若没有满足业务需求的可用的sid,控制器可以sr节点分配满足业务需求的新的sid,并下发到sr节点。
[0062]
控制器将sr-te隧道的配置信息,包括隧道的业务等级,带宽,时延,模式,目的节点以及sid列表等信息下发到隧道的首节点。
[0063]
在一个实施例中,上述基于分段路由的流量工程sr-te实现方法还可以包括:
[0064]
在控制器根据业务申请,以及发布的携带te属性的sid信息,确定现有的路径满足业务需求,且存在sr节点或链路没有可用的sid的情况时,控制器根据业务需求为没有可用的sid的sr节点或链路分配新的满足业务需求的sid。
[0065]
具体实施时,若现有的路径满足业务需求,但是某个sr节点或者某条链路没有可用的sid,则控制器节点可以根据业务的需求为sr节点分配新的满足业务需求的sid,比如本实施例中,若没有可以用的独占式的sid,则可以生成新的满足隔离需求的独占式的sid;控制器将新的sid下发到sr节点,进一步提高了sr-te差分实现的灵活性和稳定性。
[0066]
在一个实施例中,上述基于分段路由的流量工程sr-te实现方法还可以包括:
[0067]
在控制器根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的路径有多条时,根据te属性,选择一条最优路径作为满足业务需求的sr-te隧道的路径。
[0068]
具体实施时,若满足业务需求的路径有多条,则根据业务的优先级或者其他的te属性,比如时延,最短路径等,选择一条合适的路径,进一步提高了sr-te差分实现的效率。
[0069]
④
sr首节点根据配置信息创建sr-te隧道,并对外发布sr-te隧道的te-sid;
[0070]
⑤
当报文到达sr节点时,sr节点按照te-sid对报文进行处理。
[0071]
在一个实施例中,上述基于分段路由的流量工程sr-te实现方法还可以包括:
[0072]
在控制器检测到现有链路的sid满足带宽需求,且sid的带宽容量大于预设容量值时,根据网络带宽使用原则,重新为所述现有链路分配新的携带te属性的sid。
[0073]
具体实施时,若现有的sid满足带宽需求,但是sid的带宽容量太大,则可以根据网络带宽使用原则,重新为链路分配新的sid,以免造成不必要的资源浪费,进一步地节省了网络资源。
[0074]
为了便于理解本发明如何实施,下面举两个例子进行说明。
[0075]
实施例一:
[0076]
本实施例sr域拓扑如图3所示,控制器节点没有在图中呈现,控制器管理sr域的所有sr节点。本实施例中,所有的链路的带宽默认为10g,metric默认为10,metric包括传输距离,cost以及时延等信息。本实施例中,部分标记的缩写定义为:s=1,标识共享模式,s=0则为独享模式;bw标识带宽,u表示未使用带宽,m标识metric。n-sid标识节点sid,l标识优先级,缺省为0。
[0077]
本实施例中,业务a的需求与其他的业务进行隔离,独享带宽,带宽需求为100m,对时延不敏感。实现步骤如下:
[0078]
1.控制器收集sr域的te信息,建立te数据库,并为sr节点分配携带te属性的sid;
[0079]
控制器收集sr域的sr节点的te信息,包括节点信息、链路信息以及sid信息,包括节点的处理能力,链路的带宽能力以及带宽使用情况,以及现有的sid的属性和使用情况;并根据实际的业务以及网络流量现状为sr节点创建满足不同te属性的sid;如图3所示;
[0080]
sr的节点sid为100(s=0,l=0)和101(s=1,l=0),分别标识不同的共享模式,其他的节点与之类似。
[0081]
每条链路的带宽为10g,metric=10。sr1-sr2的之间的链路adj-sid为150和151;
[0082]
adj-sid=150,s=1,bw=100m,u=50m,m=10,l=0;即该adj-sid为共享模式,最大带宽为100m,空闲带宽50m,metric为10,优先级为0;
[0083]
adj-sid=151,s=0,bw=100m,u=100m,m=10;即独享模式,最大带宽为100m,空闲带宽100m,metric为10,优先级为0,即l=0,未在图中标注。
[0084]
2.sr节点收到控制器配置的sid信息,则对外动态的发布携带te属性的sid,并根据所分配的te-sid进行资源预留;sid的te属性包括带宽,时延,优先级,模式等,可以通过igp或者bgp-ls发布。
[0085]
3.控制器根据业务申请(包括目的地址,所需要的带宽,时延,以及优先级,是否进行隔离等)确定满足需求的sr隧道的路径以及te-sid列表,并下发到sr首节点;
[0086]
业务a的需求与其他的业务进行隔离,独享带宽,带宽需求为100m,对时延不敏感。控制器接收到业务a的需求之后,计算满足带宽需求的业务路径,本实施例中,满足带宽需求的路径有sr1-sr2-sr3-sr4和sr1-sr6-sr3-sr4,进一步地校验路径上的sid是否满足隔离的需求,校验之后,同时满足带宽需求以及隔离需求的路径为sr1-sr2-sr3-sr4,sid列表为<100,151,200,251,300,351>,控制器进一步地对sid列表进行压缩,结果为<151,200,251,300,351>。控制器将sr隧道的配置信息以及sid列表下发到sr首节点,配置信息包括隧道的端点信息以及color属性(代表隧道所承载的业务优先级),te信息包括带宽,模式和时延等。
[0087]
进一步地,若现有的路径满足业务需求,但是某个sr节点或者某条链路没有可用的sid,则控制器节点可以根据业务的需求为sr节点分配新的满足业务需求的sid,比如本实施例中,若没有可以用的独占式的sid,则可以生成新的满足隔离需求的独占式的sid;控
制器将新的sid下发到sr节点。
[0088]
进一步地,若满足业务需求的路径有多条,则根据业务的优先级或者其他的te属性,比如时延,最短路径等,选择一条合适的路径。
[0089]
进一步地,若现有的sid满足带宽需求,但是sid的带宽容量太大,则可以根据网络带宽使用原则,重新为链路分配新的sid,以免造成不必要的浪费。
[0090]
4.sr首节点接收到配置信息之后,根据配置信息创建sr-te隧道,并发布sr-te隧道的te-sid。
[0091]
5.当报文进入到sr节点时,sr节点按照te-sid转发报文。转发路径如图4所示:
[0092]
sr接收到报文之后,按照te-sid转发报文,当节点繁忙时,按照sid的所标识的优先级来处理报文;对于独占模式,sid所标识的带宽已经超过预留的带宽,则进行队列等待;对于共享模式,则根据优先级来调度,可以抢占优先级较低的其他的sid的带宽;低优先级的sid也可以使用空闲的高优先级的sid的带宽。
[0093]
实施例二:
[0094]
本实施例sr域拓扑如图5所示,控制器节点没有在图中呈现,控制器管理sr域的所有sr节点。本实施例中,所有的链路的带宽默认为10g,metric默认为10,metric包括传输距离,cost以及时延等信息。本实施例中,部分标记的缩写定义为:s=1,标识共享模式,s=0则为独占模式;bw标识带宽,u表示未使用带宽,m标识metric。n-sid标识节点sid,l标识优先级,缺省为0。
[0095]
本实施例中,业务s1和s3的带宽需求分别为20m,10m,业务等级都为0,业务s2的带宽需求为20m,业务等级为1。业务s1,s2,s3都没有业务隔离的需求。
[0096]
实现步骤如下:
[0097]
1.控制器收集sr域的te信息,建立te数据库,并为sr节点分配携带te属性的sid;
[0098]
控制器收集sr域的sr节点的te信息,包括节点信息、链路信息以及sid信息,包括节点的处理能力,链路的带宽能力以及带宽使用情况,以及现有的sid的属性和使用情况;并根据实际的业务以及网络流量现状为sr节点创建满足不同te属性的sid;如图5所示;sr的节点sid为100(s=1,l=0)和101(s=1,l=1),分别标识不同的处理优先级和共享模式,其他的节点与之类似。
[0099]
每条链路的带宽为10g,metric=10。sr1-sr2的adj-sid为150和152。
[0100]
sid为151的te属性为:s=1,bw=100m,u=50m,m=10,l=0;即共享模式,最大带宽为100m,空闲带宽50m,metric为10,优先级为0;
[0101]
sid为152的te属性为:s=1,bw=100m,u=50m,m=10,l=1;即独占模式,最大带宽为100m,空闲带宽100m,metric为10,优先级为1;其他链路的te属性见图5。
[0102]
2.sr节点收到控制器配置的sid信息,则对外动态的发布携带te属性的sid,sid的te属性包括带宽,时延,优先级,模式等,可以通过igp或者bgp-ls发布。
[0103]
3.控制器根据业务申请确定满足需求的sr隧道的路径以及te-sid列表,并下发到sr首节点;
[0104]
业务s1申请的带宽是20m,业务等级0;业务s2申请的带宽是20m,业务等级1;s3的带宽为10m,业务等级0;入口节点都为sr1,出口节点都为sr4。
[0105]
控制器接收到业务s1、s2、s3的需求之后,计算满足带宽需求的业务路径,本实施
例中,满足带宽需求的路径有sr1-sr2-sr3-sr4和sr1-sr6-sr3-sr4,进一步地校验路径上的sid是否满足带宽和优先级的需求,校验之后,现有满足需求的sr路径为sr1-sr2-sr3-sr4;满足s1和s3的sid列表为<100,151,200,251,300,351>,满足s2业务需求的sid列表为<101,152,201,252,301,352>,进一步地,控制器对sid列表进行压缩。控制器将为业务s1和s3创建隧道tunnel1,tunnel1的sid列表为<151,200,251,300,351>;为业务s2创建隧道tunnel2,tunnel2的sid列表为<152,201,252,301,352>;将sr隧道的基本信息以及te信息下发到sr首节点,基本信息包括隧道的端点信息以及color属性,te信息包括带宽,模式和时延等。同时将引流方式下发到sr的首节点,即将s1和s3的流量引入tunnel1,s2的流量引入tunnel2,引入属于现有技术,此处不再赘述。
[0106]
进一步地,若现有的路径满足业务需求,但是某个sr节点或者某条链路没有可用的sid,则控制器节点可以根据业务的需求为sr节点分配新的满足业务需求的sid,比如本实施例中,若没有满足否则优先级的sid,则可以新建sid。
[0107]
进一步地,若sid的未使用带宽,不满足使用需求,则可以新建sid。
[0108]
进一步地,若满足业务需求的路径有多条,则根据业务的优先级或者其他的te属性,比如时延,最短路径等,选择一条合适的路径。
[0109]
4.sr首节点接收到配置信息之后,根据配置信息创建sr-te隧道,并发布sr-te隧道的te-sid。
[0110]
5.当报文进入到sr节点时,sr节点按照te-sid转发报文。
[0111]
sr接收到报文之后,按照te-sid转发报文,当节点繁忙时,按照sid的所标识的优先级来处理报文;对于独占模式,sid所标识的带宽已经超过预留的带宽,则进行队列等待;对于共享模式,则根据优先级来调度,可以抢占优先级较低的其他的sid的带宽;低优先级的sid也可以使用空闲的高优先级的sid的带宽。
[0112]
本发明实施例中还提供了一种应用于控制器的基于分段路由的流量工程sr-te实现方法,如下面的实施例所述。由于该方法解决问题的原理与应用于装置的基于分段路由的流量工程sr-te实现方法相似,因此该方法的实施可以参见应用于装置的基于分段路由的流量工程sr-te实现方法的实施,重复之处不再赘述。
[0113]
图6为本发明实施例中应用于控制器的基于分段路由的流量工程sr-te实现方法的流程示意图,如图6所示,该方法包括如下步骤:
[0114]
步骤201:收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的sid;
[0115]
步骤202:根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点。
[0116]
在一个实施例中,te数据库包括sr域所有sr节点和链路的te信息及sid信息;所述te属性包括带宽使用模式、时延、带宽及优先级;所述带宽使用模式包括独占模式和共享模式。
[0117]
在一个实施例中,上述基于分段路由的流量工程sr-te实现方法还可以包括:
[0118]
在根据业务申请,以及发布的携带te属性的sid信息,确定现有的路径满足业务需求,且存在sr节点或链路没有可用的sid的情况时,根据业务需求为没有可用的sid的sr节
点或链路分配新的满足业务需求的sid。
[0119]
在一个实施例中,上述基于分段路由的流量工程sr-te实现方法还可以包括:
[0120]
在根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的路径有多条时,根据te属性,选择一条最优路径作为满足业务需求的sr-te隧道的路径。
[0121]
在一个实施例中,上述基于分段路由的流量工程sr-te实现方法还可以包括:在检测到现有链路的sid满足带宽需求,且sid的带宽容量大于预设容量值时,根据网络带宽使用原则,重新为所述现有链路分配新的携带te属性的sid。
[0122]
本发明实施例中还提供了一种基于分段路由的流量工程sr-te实现装置,如下面的实施例所述。由于该装置解决问题的原理与应用于装置的基于分段路由的流量工程sr-te实现方法相似,因此该装置的实施可以参见应用于装置的基于分段路由的流量工程sr-te实现方法的实施,重复之处不再赘述。
[0123]
基于分段路由的流量工程sr-te实现装置,包括:
[0124]
控制器(未在图3和图5中示出),用于收集sr域的te信息,建立te数据库,并为每一sr节点和每一链路分配携带te属性的sid;根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表,并将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr首节点;
[0125]
每一sr节点(例如图3和图5中的sr1、sr2、sr3、sr4、sr5和sr6),用于根据sid的实际使用情况,动态发布携带te属性的sid信息,并根据所分配的te-sid进行资源预留;当报文进入到每一sr节点时,按照sr-te隧道所关联的te-sid转发报文;
[0126]
sr首节点(例如图3和图5中的sr1),用于根据所述配置信息以及满足te需求的sid列表,创建sr-te隧道,并发布sr-te隧道所关联的te-sid。
[0127]
在一个实施例中,te数据库包括sr域所有sr节点和链路的te信息及sid信息;所述te属性包括带宽使用模式、时延、带宽及优先级;所述带宽使用模式包括独占模式和共享模式。
[0128]
在一个实施例中,每一sr节点具体可以用于:每一sr节点根据sid的配置信息以及实际使用情况,每隔预设时段通过内部网关协议igp或边界网关协议链路状态bgp-ls通告携带te属性的sid信息。
[0129]
本发明实施例中还提供了一种基于分段路由的流量工程sr-te实现控制器,如下面的实施例所述。由于该控制器解决问题的原理与应用于装置的基于分段路由的流量工程sr-te实现方法相似,因此该控制器的实施可以参见应用于装置的基于分段路由的流量工程sr-te实现方法的实施,重复之处不再赘述。
[0130]
图7为本发明实施例中基于分段路由的流量工程sr-te实现控制器的结构示意图,如图7所示,该控制器包括:
[0131]
采集单元01,用于收集sr域的te信息;
[0132]
建立单元02,用于建立te数据库;
[0133]
分配单元03,用于为每一sr节点和每一链路分配携带te属性的sid;
[0134]
确定单元04,用于根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的sr-te隧道的路径,以及满足te需求的sid列表;
[0135]
下发单元05,用于将所述sr-te隧道的配置信息及满足te需求的sid列表下发到sr
首节点。
[0136]
在一个实施例中,te数据库包括sr域所有sr节点和链路的te信息及sid信息;所述te属性包括带宽使用模式、时延、带宽及优先级;所述带宽使用模式包括独占模式和共享模式。
[0137]
在一个实施例中,所述分配单元还可以用于在根据业务申请,以及发布的携带te属性的sid信息,确定现有的路径满足业务需求,且存在sr节点或链路没有可用的sid的情况时,根据业务需求为没有可用的sid的sr节点或链路分配新的满足业务需求的sid。
[0138]
在一个实施例中,所述确定单元具体可以用于:在根据业务申请,以及发布的携带te属性的sid信息,确定满足业务需求的路径有多条时,根据te属性,选择一条最优路径作为满足业务需求的sr-te隧道的路径。
[0139]
在一个实施例中,上述基于分段路由的流量工程sr-te实现控制器还可以包括:重分配单元,用于在检测到现有链路的sid满足带宽需求,且sid的带宽容量大于预设容量值时,根据网络带宽使用原则,重新为所述现有链路分配新的携带te属性的sid。
[0140]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于分段路由的流量工程sr-te实现方法。
[0141]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于分段路由的流量工程sr-te实现方法的计算机程序。
[0142]
本发明实施例提供的基于分段路由的流量工程sr-te实现方案的有益技术效果是:本发明实施例中,通过指定sid的te(traffic engineering,流量工程)属性来标识不同的网络资源和报文处理方式,从而满足业务的te需求以及业务隔离需求,提高了系统的安全性以及网络资源使用率。
[0143]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0144]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0145]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0146]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0147]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。