路由存储方法及装置与流程

文档序号:16686139发布日期:2019-01-22 18:20阅读:219来源:国知局
路由存储方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种路由存储方法及装置。



背景技术:

虚拟专用网络(virtualprivatenetwork,vpn)中的用户边缘(customeredge,ce)设备用于发布用户网络中的路由,并将其存储在服务提供商边缘(provideredge,pe)设备中。为避免vpn中的路由数目过多影响网络性能通常会对ce能够发布的路由数目设置一个最大值,当ce设备发布的路由数达到最大值时,根据路由存储时长对路由进行存储。例如,当ce设备发布的路由数目达到最大值之后,若ce设备发布了新的路由,则软件定义网络(softwaredefinednetwork,sdn)控制器指示pe设备删除路由表中存储时间最长的路由或存储时间最短的路由(即直接丢弃新发布的路由)。但是用户网络中的用户路由往往具有不同的优先级,仅仅根据路由存储时长来对路由进行存储会导致ce设备新发布的优先级较高的路由无法及时存储,降低网络服务质量。



技术实现要素:

本申请实施例提供一种路由存储方法及装置,以解决现有技术中路由存储达到最大值之后高优先级路由无法存储的问题。

为达到上述目的,本申请采用如下技术方案:

第一方面,本申请提供了一种路由存储方法,该方法包括:软件定义网络sdn控制器接收服务提供商边缘pe设备发送的第一路由,所述第一路由为在目标用户边缘ce设备对应的路由表中路由的数目达到阈值之后,pe设备接收到的所述目标ce设备发布的路由;所述sdn控制器检测所述第一路由的优先级是否高于第二路由的优先级,所述第二路由为所述目标ce设备对应的路由表中优先级最低的路由;若所述第一路由的优先级高于所述第二路由的优先级,则所述sdn控制器将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

第二方面,本申请提供了一种路由存储装置,该装置包括:接收模块,用于接收服务提供商边缘pe设备发送的第一路由,所述第一路由为在目标用户边缘ce设备对应的路由表中路由的数目达到阈值之后,pe设备接收到的所述目标ce设备发布的路由;处理模块,用于检测所述第一路由的优先级是否高于第二路由的优先级,所述第二路由为所述目标ce设备对应的路由表中优先级最低的路由;若所述第一路由的优先级高于所述第二路由的优先级,则所述处理模块,还用于将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

第三方面,本申请提供了另一种路由存储装置,该装置包括:处理器、通信接口和存储器;其中,存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,当该路由存储装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该路由存储装置执行上述第一方面及其任意一种实现方式所述的路由存储方法。

第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述第一方面及其任意一种实现方式所述的路由存储方法。

第五方面,本申请提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面及其任意一种实现方式所述的路由存储方法。

本申请提供的路由存储方法及装置,sdn控制器接收pe设备发送的第一路由,并检测第一路由和第二路由的优先级;若第一路由的优先级高于所述第二路由的优先级,则所述sdn控制器指示所述第一路由替换vpn路由表中的第二路由;从而保证高优先级的路由的优先存储,提高了用户的网络体验。

附图说明

图1为本申请实施例提供的一种vpn的网络架构图;

图2为本申请实施例提供的一种路由存储方法的流程图;

图3为本申请实施例提供的一种路由存储装置的结构示意图;

图4为本申请实施例提供的另一种路由存储装置的结构示意图。

具体实施方式

下面将结合附图对本申请提供的路由存储方法及装置进行详细的描述。

本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。

此外,本申请的描述中所提到的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。

本申请实施例提供的路由存储方法可以应用于图1所示的vpn中。

如图1所示,该vpn100包括用户网络101和运营商网络102。其中所述用户网络101包括:ce设备103和用户终端104;所述运营商网络包括:服务提供商边缘(provideredge,pe)设备105和sdn控制器106。在所述vpn100中,ce设备103为所述用户终端104发布路由,并将该路由发送至pe设备105中。

所述ce设备103为用户网络101的出口路由器,与所述运营商网络102中的pe设备105直接相连;其中,一个pe设备105连接至少一个ce设备103。pe设备105中创建有与ce设备103对应的vpn路由表。该vpn路由表用于存储ce设备103发布的路由。

本申请实施例中,在vpn网络中增加设置sdn控制器。该sdn控制器与运营商网络中的所有pe设备相连。本申请实施例提供的路由存储方法可以由该sdn控制器实现。

本申请实施例提供的路由存储方法中,在初始化时,sdn控制器确定用户网络中所有终端的优先级,并设置用户终端发布的路由的优先级与用户终端的优先级为一一对应关系,为不同的优先级分配地址段。sdn控制器通过北向接口获取预先分配的用户终端的优先级与地址段之间的对应关系,并设置路由的优先级与地址段的对应关系。

示例性的,所述用户终端为电脑,用户网络中存在50台电脑;为这50台电脑划分优先级。其中,10台董事会电脑,划分为高优先级,20台财务、工程与研发等重点部门的电脑,划分为中优先级。20台一般职能部门的电脑,划分为低优先级。为不同的优先级设置不同的地址段;为高优先级的电脑设置地址段为:10.100.1.0/24,10.100.2.0/24。中优先级的电脑设置地址段为:10.200.0.0/16。低优先级的电脑设置地址段为:rdefault。其中rdefault是指最低级的路由段,是其他级别路由段范围之和的补集;即除了上述高、中优先级的地址段之外,其他地址段全部为低优先级。sdn控制器通过北向接口获取这些地址段与优先级之间的对应关系。

在本申请的一种可实现方式中,sdn控制器预先设置允许用户网络设置的最大优先级个数。用户设置的优先级个数不能超过该最大优先级个数。

当vpn路由表中存储的路由数达到最大值时,sdn控制器可以通过预设规则判断新发布的路由的优先级与vpn路由表中存储的路由的优先级,并进行过路由存储。具体判断方法参见下文s201-s204。

如图2所示,所述s201-s204为:

s201、sdn控制器设置pe设备中路由表能够存储的路由数最大值。并定期获取该路由表。

具体为,所述sdn控制器根据用户需求确定各个ce设备发布的路由数最大值;并根据该各个ce设备发布的路由数最大值生成路由表设置消息。sdn控制器下发路由表设置消息至对应的pe设备,各个pe设备根据接收到的路由表设置消息设置对应的路由表能够存储的路由数最大值。路由表能够存储的路由数最大值等于该路由表对应的ce设备能够发布的路由数最大值。设置完成之后,ce设备可以向pe设备发布路由,发布的路由存储在该ce设备对应的路由表中。每间隔固定时间(例如5分钟),sdn控制器向各个pe设备下发路由表上报消息,pe设备接收到路由表上报消息之后将所述路由表上报至sdn控制器,sdn控制器可以根据所述路由表确定对应的ce设备发布的路由数以及各个路由的优先级。

s202、sdn控制器接收pe设备发送的第一路由。

其中,所述第一路由为在ce设备对应的路由表中路由的数目达到阈值之后,pe设备接收到的所述目标ce设备发布的路由。

具体为,当ce设备对应的路由表中存储的路由数量达到最大值之后,ce设备继续发布的路由数将无法进行存储。此时,ce设备将该路由发送至pe设备,pe设备判断对应的路由表满之后将该路由发送至sdn控制器。由sdn控制器执行路由存储判断。

203、所述sdn控制器检测所述第一路由的优先级是否高于第二路由的优先级。

其中,所述第二路由为所述目标ce设备对应的路由表中优先级最低的路由。

具体为,所述sdn控制器接收到所述第一路由之后,检测所述第一路由的地址段,并根据初始化阶段确定的地址段与路由优先级的关联关系确定所述第一路由的优先级,并标记所述第一路由的优先级。所述sdn控制器检测s201中获取的路由表中的各个路由的优先级,并标记所述路由表中各个路由的优先级。所述sdn控制器判断第一路由的优先级是否高于第二路由的优先级。

在本步骤的一种实现方式中,所述sdn控制器识别路由优先级的方法为:所述sdn控制器接收到所述ce设备发布的第一路由之后,识别所述第一路由中的地址段;若所述地址段为:10.100.1.0/24或10.100.2.0/24,则确认所述第一路由的优先级为高优先级;若所述地址段为:10.200.0.0/16;则确认所述第一路由的优先级为中优先级;若所述地址段为:rdefault,则确认所述第一路由的优先级为低优先级。根据同样的方法确定所述目标ce设备对应的路由表中所有路由的优先级;并从中选出第二路由。

示例性的,上述所述sdn控制器识别路由优先级的方法为:检测到路由中的地址段为:10.200.1.0/24。从高优先级开始查询是否有匹配的地址段。查询到所述地址段不属于高优先级中的任一地址段;则继续向中优先级进行查询,查询到所述中优先级中有与之匹配的地址段,则确定该路由为中优先级路由。并将其标记为中优先级的路由。

s204、若所述第一路由的优先级高于所述第二路由的优先级,所述sdn控制器将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

具体为,若所述第一路由的优先级高于所述第二路由的优先级,所述sdn控制器将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

若所述第一路由的优先级与所述第二路由的优先级相同,则所述sdn控制器确定所述第一路由的辅助优先级和所述第二路由辅助优先级;其中,所述辅助优先级包括以下至少一种:发布时长、路由长度和路由属性;若所述第一路由的辅助优先级高于所述第二路由的辅助优先级,所述sdn控制器将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。若所述第一路由的辅助优先级等于或低于所述第二路由的辅助优先级,则所述sdn控制器指示所述pe设置直接丢弃所述第一路由。

若所述第一路由的优先级低于所述第二路由的优先级;则所述sdn控制器指示所述pe设置直接丢弃所述第一路由。

本申请提供的路由存储方法及装置,sdn控制器接收pe设备发送的第一路由,并检测第一路由和第二路由的优先级;若第一路由的优先级高于所述第二路由的优先级,则所述sdn控制器指示所述第一路由替换vpn路由表中的第二路由;从而保证高优先级的路由的优先存储,提高了用户的网络体验。

在本申请的一种实现方式中,若以路由发布时长为辅助优先级,并且发布时间长的路由挤占发布时间短的路由。则所述sdn控制器接收到所述第一路由之后,直接检测所述第一路由的优先级,若所述第一路由的优先级为最低优先级。则直接丢弃所述第一路由。而不必与检测路由表中的路由优先级并与所述第二路由进行优先级比较。若第一路由的优先级不是最低优先级则按照上述步骤s203-s204的方式判断是否存储第一路由。

在本申请的另一种可实现方式中,所述sdn控制器为所述第一ce设备设置每个优先级发布的最大路由数;其中,所述每个优先级发布的最大路由数之和等于所述第一ce设备可发布的最大路由数。

若所述路由表中与所述第一路由优先级相同的路由的数量等于所述第一路由的优先级可发布的最大路由数,所述sdn控制器丢弃所述第一路由。

若所述路由表中与所述第一路由优先级相同的路由的数量小于所述第一路由的优先级发布的最大路由数,所述sdn控制器将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。通过设置各个优先级可以发布的最大路由数可以避免高优先级的用户终端大量发布无用路由导致vpn中路由存储性能下降。

本申请实施例可以根据上述方法示例对路由存储装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

如图3所示,本申请提供了一种路由存储装置,用于执行前述路由存储方法,所述装置包括:

接收模块301,用于接收服务提供商边缘pe设备发送的第一路由,所述第一路由为在目标用户边缘ce设备对应的路由表中路由的数目达到阈值之后,pe设备接收到的所述目标ce设备发布的路由。

处理模块302,用于检测所述第一路由的优先级是否高于第二路由的优先级,所述第二路由为所述目标ce设备对应的路由表中优先级最低的路由。

若所述第一路由的优先级高于所述第二路由的优先级,则所述处理模块302,还用于将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

可选的,所述处理模块302,还用于:根据目标路由中的地址段确定所述目标路由的优先级;并为所述目标路由设置优先级标记;其中,所述地址段为预先为用户终端分配的地址段。

可选的,所述处理模块302,还用于:若所述第一路由的优先级与所述第二路由的优先级相同,则确定所述第一路由的辅助优先级和所述第二路由辅助优先级;其中,所述辅助优先级包括以下至少一种:发布时长、路由长度和路由属性;若所述第一路由的辅助优先级高于所述第二路由的辅助优先级,则将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

可选的,所述处理模块302,还用于:为所述第一ce设备设置每个优先级发布的最大路由数;其中,所述每个优先级发布的最大路由数之和等于所述第一ce设备可发布的最大路由数;若所述路由表中与所述第一路由优先级相同的路由的数量等于所述第一路由的优先级可发布的最大路由数,则丢弃所述第一路由;若所述路由表中与所述第一路由优先级相同的路由的数量小于所述第一路由的优先级发布的最大路由数,则将所述第二路由从所述目标ce设备对应的路由表中删除,以及将所述第一路由添加到所述目标ce设备对应的路由表中。

图4示出了上述实施例中所涉及路由存储装置的又一种可能的结构示意图。该装置包括:处理器402和通信接口403。处理器402用于对装置的动作进行控制管理,例如,执行上述处理模块302执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口403用于支持该装置与其他网络实体的通信,例如,执行上述接收模块301执行的步骤。终端还可以包括存储器401和总线404,存储器401用于存储装置的程序代码和数据。

其中,上述处理器402可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

存储器401可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。

总线404可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。

其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(applicationspecificintegratedcircuit,asic)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。

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