流量转发控制方法、装置、系统和计算机可读存储介质与流程

文档序号:20020017发布日期:2020-02-25 11:27阅读:129来源:国知局
流量转发控制方法、装置、系统和计算机可读存储介质与流程

本发明涉及网络技术领域,特别涉及一种流量转发控制方法、装置、系统和计算机可读存储介质。



背景技术:

目前,ip(internetprotocol,网络协议)网络的组网基于tcp(transmissioncontrolprotocol,传输控制协议)/ip协议实现。在流量调度上,通常采用发送端推送(push)到接收端或者接收端授权发送端发送固定量数据(pull)的流量调度机制。在相关技术中,通常预先选择一种流量调度机制使用。然而,这种方式会使得网络存在性能损失,使得流量转发效率较低。



技术实现要素:

本发明实施例所要解决的一个技术问题是:如何提高流量的转发效率。

根据本发明一些实施例的第一个方面,提供一种流量转发控制方法,包括:获取网络中的通信设备的路由信息和网络状况信息;从路由信息中获取流量转发路径;根据网络状况信息确定流量转发路径的通信能力;根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制;将流量调度机制下发到流量转发路径上的通信设备,以便通信设备按照流量调度机制调度流量。

在一些实施例中,根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制包括:在流量转发路径的通信能力能够满足流量转发需求的情况下,将流量转发路径的流量调度机制确定为发送端推送机制;在流量转发路径的通信能力不能够满足流量转发需求的情况下,将流量转发路径的流量调度机制确定为接收端授权发送端发送固定量数据的机制。

在一些实施例中,根据网络状况信息确定流量转发路径的通信能力包括:根据流量转发路径上每个通信设备的网络状况信息,确定每个通信设备的通信能力;将每个通信设备的通信能力中的最低通信能力作为流量转发路径的通信能力。

在一些实施例中,流量转发控制方法还包括:与网络中的通信设备建立内部边界网关协议ibgp连接,以便通过ibgp连接获取网络中的通信设备的路由信息。

在一些实施例中,通过以太网虚拟专用网络evpn扩展协议收集网络中通信设备的网络状况信息。

根据本发明一些实施例的第二个方面,提供一种流量转发控制装置,包括:信息获取模块,被配置为获取网络中的通信设备的路由信息和网络状况信息;转发路径获取模块,被配置为从路由信息中获取流量转发路径;通信能力确定模块,被配置为根据网络状况信息确定流量转发路径的通信能力;机制确定模块,被配置为根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制;机制下发模块,被配置为将流量调度机制下发到流量转发路径上的通信设备,以便通信设备按照流量调度机制调度流量。

在一些实施例中,机制确定模块进一步被配置为在流量转发路径的通信能力能够满足流量转发需求的情况下,将流量转发路径的流量调度机制确定为发送端推送机制;在流量转发路径的通信能力不能够满足流量转发需求的情况下,将流量转发路径的流量调度机制确定为接收端授权发送端发送固定量数据的机制。

在一些实施例中,通信能力确定模块进一步被配置为根据流量转发路径上每个通信设备的网络状况信息,确定每个通信设备的通信能力;将每个通信设备的通信能力中的最低通信能力作为流量转发路径的通信能力。

在一些实施例中,流量转发控制装置还包括:连接建立模块,被配置为与网络中的通信设备建立内部边界网关协议ibgp连接,以便信息获取模块通过ibgp连接获取网络中的通信设备的路由信息。

在一些实施例中,信息获取模块进一步被配置为通过以太网虚拟专用网络evpn扩展协议收集网络中通信设备的网络状况信息。

在一些实施例中,流量转发控制装置为独立的设备或者位于通信设备中。

根据本发明一些实施例的第三个方面,提供一种流量转发控制系统,包括:前述任意一种流量转发控制装置;以及通信设备,被配置为按照流量转发控制装置下发的流量调度机制调度流量。

根据本发明一些实施例的第四个方面,提供一种流量转发控制装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种流量转发控制方法。

根据本发明一些实施例的第五个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种流量转发控制方法。

上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例可以根据流量转发路径的通信能力来灵活地选择符合当前网络状况的流量调度机制,提高了流量转发效率。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明一些实施例的流量转发控制方法的流程示意图。

图2为根据本发明一些实施例的通信能力确定方法的流程示意图。

图3为根据本发明一些实施例的流量调度机制确定方法的流程示意图。

图4为根据本发明一些实施例的路由信息收集方法的流程示意图。

图5为根据本发明另一些实施例的流量转发控制方法的流程示意图。

图6为根据本发明一些实施例的流量转发控制装置的结构示意图。

图7为根据本发明一些实施例的流量转发控制系统的结构示意图。

图8为根据本发明另一些实施例的流量转发控制装置的结构示意图。

图9为根据本发明又一些实施例的流量转发控制装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为根据本发明一些实施例的流量转发控制方法的流程示意图。如图1所示,该实施例的流量转发控制方法包括步骤s102~s110。

在步骤s102中,获取网络中的通信设备的路由信息和网络状况信息。

在一些实施例中,当收集了上述信息后,可以生成全局视图,全局视图中包括网络中各个设备的情况以及中间网络的负荷。

在一些实施例中,路由信息例如可以为路由表,包括路由信息类别、目的网段、度量值、下一跳地址、出口等等。在一些实施例中,网络状况信息包括设备的负载信息、网络的通信状况信息等等,例如可以包括链路、端口、队列的负载情况等等。

在步骤s104中,从路由信息中获取流量转发路径。例如,可以从路由表中读取流量转发路径的相关信息。从而,可以获知流量转发路径上都有哪些设备。

在步骤s106中,根据网络状况信息确定流量转发路径的通信能力。在一些实施例中,流量转发路径的通信能力可以是该路径所能够达到的最佳通信能力。

在步骤s108中,根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制。

流量转发需求可以为流量转发路径的待转发流量的参数或者业务需求,例如报文大小、传输速度等等。通信能力与流量转发需求的匹配结果例如可以为通信能力是否能够满足流量转发需求。

在一些实施例中,流量调度机制可以包括发送端推送到接收端的机制、即push机制,以及接收端授权发送端发送固定量数据的机制、即pull机制。

在步骤s110中,将流量调度机制下发到流量转发路径上的通信设备,以便通信设备按照流量调度机制调度流量。

通过上述实施例的方法,可以根据流量转发路径的通信能力来灵活地选择符合当前网络状况的流量调度机制,提高了流量转发效率。即使是相同的通信设备,在面对不同的流量转发任务或者不同的网络状况时,也可以采取不同的流量调度机制。

本发明的实施例可以由一个独立的设备执行,也可以由路由设备执行。本领域技术人员可以根据需要进行选择。

在一些实施例中,流量转发路径的通信能力可以根据流量转发路径中各个设备的通信能力的最低值确定。下面参考图2描述本发明通信能力确定方法的实施例。

图2为根据本发明一些实施例的通信能力确定方法的流程示意图。如图2所示,该实施例的通信能力确定方法包括步骤s202~s204。

在步骤s202中,根据流量转发路径上每个通信设备的网络状况信息,确定每个通信设备的通信能力。

在步骤s204中,将每个通信设备的通信能力中的最低通信能力作为流量转发路径的通信能力。

从而,可以根据流量转发路径上能力最低的通信设备选择流量转发机制,提高了转发效率。

在一些实施例中,还可以首先确定流量转发路径上存在能力瓶颈的通信设备的通信能力,并将存在能力瓶颈的通信设备的通信能力中的最低通信能力作为流量转发路径的通信能力,以提高处理效率。

发明人经过分析后发现,在相关技术中,往往不考虑网络是否拥塞、或者接收端是否能够处理而直接采用push机制,或者不考虑发端数据量和网络负载情况而直接采用pull机制,从而进一步导致了流量转发效率低下。而本发明可以根据流量转发路径的通信能力与流量转发需求的不同匹配结果选择push或者pull机制。下面参考图3描述本发明流量调度机制确定方法的实施例。

图3为根据本发明一些实施例的流量调度机制确定方法的流程示意图。如图3所示,该实施例的流量调度机制确定方法包括步骤s302~s306。

在步骤s302中,判断流量转发路径的通信能力是否能够满足流量转发需求。如果能够满足,执行步骤s304;如果不能满足,执行步骤s306。

在步骤s304中,将流量转发路径的流量调度机制确定为发送端推送机制。当流量转发路径的通信能力能够满足流量转发需求时,说明路径上通信设备的负载较轻,因此可以采用push机制实现低时延和高吞吐。

在步骤s306中,将流量转发路径的流量调度机制确定为接收端授权发送端发送固定量数据的机制。当流量转发路径的通信能力不能够满足流量转发需求时,说明路径上通信设备的负载较重,因此可以采用pull机制实现零丢包。

从而,上述实施例可以提高流量转发的效率。

在一些实施例中,还可以通过内部边界网关协议(internalbordergatewayprotocol,简称:ibgp)连接收集路由信息。下面参考图4描述路由信息收集方法的实施例。

图4为根据本发明一些实施例的路由信息收集方法的流程示意图。如图4所示,该实施例的路由信息收集方法包括步骤s402~s404。

在步骤s402中,与网络中的通信设备建立ibgp连接。

在步骤s404中,通过ibgp连接获取网络中的通信设备的路由信息。

在一些实施例中,可以基于路由反射器收集路由信息。负责路由信息收集的设备可以作为路由反射器(routereflector,简称:rr),其他通信设备可以作为客户机(client),路由反射器和客户机组成一个集群(cluster)。客户机与路由反射器之间建立ibgp连接并反射路由信息。

根据需要,本领域技术人员也可以选择其他的路由收集方式,例如通过软件定义网络(softwaredefinednetwork,简称:sdn)等等,这里不再赘述。

在一些实施例中,可以通过以太网虚拟专用网络(ethernetvirtualprivatenetwork,简称:evpn)扩展协议收集网络中通信设备的网络状况信息。由于evpn是基于多协议边界网关协议(multiprotocolbordergatewayprotocol,简称:mp-bgp)实现的,而交换机、路由器等通信设备都具有良好的端到端支持能力,因此上述方法易于实现。根据需要,本领域技术人员还可以对简单网络管理协议(simplenetworkmanagementprotocol,简称:snmp)、网络交换模型openflow、路径计算单元通信协议(pathcomputationelementcommunicationprotocol,简称:pcep)等等进行扩展定义,以承载通信设备的网络状况信息。

下面参考表1示例性地介绍通信设备上报网络状况信息时的消息格式,其中,vxlan(virtualextensiblelocalareanetwork)为虚拟可扩展局域网,vni(virtualnetworkinterface)为虚拟网络接口。

表1

下面参考表2示例性地介绍下发流量调度机制时的消息格式。

表2

下面参考图5描述本发明流量转发控制方法的实施例。在该实施例中,设通信设备1和通信设备2为流量转发路径上的部分通信设备,为了节约篇幅,其他设备略去不表,其他设备的处理方式与通信设备1和通信设备2是类似的。

图5为根据本发明另一些实施例的流量转发方法的流程示意图。如图5所示,该实施例的流量转发方法包括步骤s502~s510。

在步骤s502中,控制装置与通信设备1和2建立ibgp连接,以收集路由信息。该控制装置为用于执行上述流量转发控制方法的装置。

在步骤s504中,通信设备1和2通过evpn扩展协议上报自身的缓冲容量。

在步骤s506中,控制装置找出接收速率大于发送速率的通信设备的缓冲容量的最小值,然后比较该最小值与流量转发路径待转发的报文大小,基于比较结果选择流量调度机制,其中,接收速率大于发送速率的通信设备可能存在缓冲瓶颈。如果上述最小值小于报文大小,则选择pull策略,否则选择push策略。

在步骤s508中,控制装置将选择的流量调度机制下发给通信设备1和2。

在步骤s510中,通信设备1和2根据接收的流量调度机制更新自身的发送状态,以便按照接收的流量调度机制转发流量。

下面参考图6描述本发明流量转发控制装置的实施例。

图6为根据本发明一些实施例的流量转发控制装置的结构示意图。如图6所示,该实施例的流量转发控制装置600包括:信息获取模块6100,被配置为获取网络中的通信设备的路由信息和网络状况信息;转发路径获取模块6200,被配置为从路由信息中获取流量转发路径;通信能力确定模块6300,被配置为根据网络状况信息确定流量转发路径的通信能力;机制确定模块6400,被配置为根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制;机制下发模块6500,被配置为将流量调度机制下发到流量转发路径上的通信设备,以便通信设备按照流量调度机制调度流量。

在一些实施例中,机制确定模块6400进一步被配置为在流量转发路径的通信能力能够满足流量转发需求的情况下,将流量转发路径的流量调度机制确定为发送端推送机制;在流量转发路径的通信能力不能够满足流量转发需求的情况下,将流量转发路径的流量调度机制确定为接收端授权发送端发送固定量数据的机制。

在一些实施例中,通信能力确定模块6300进一步被配置为根据流量转发路径上每个通信设备的网络状况信息,确定每个通信设备的通信能力;将每个通信设备的通信能力中的最低通信能力作为流量转发路径的通信能力。

在一些实施例中,流量转发控制装置600还包括:连接建立模块6600,被配置为与网络中的通信设备建立内部边界网关协议ibgp连接,以便信息获取模块6100通过ibgp连接获取网络中的通信设备的路由信息。

在一些实施例中,信息获取模块6100进一步被配置为通过以太网虚拟专用网络evpn扩展协议收集网络中通信设备的网络状况信息。

在一些实施例中,流量转发控制装置600为独立的设备或者位于通信设备中。

下面参考图7描述本发明流量转发控制系统的实施例。

图7为根据本发明一些实施例的流量转发控制系统的结构示意图。如图7所示,该实施例的流量转发控制系统70包括流量转发控制装置710和通信设备720。流量转发控制装置710的具体实施方式可以参考图6实施例的流量转发控制装置600。通信设备720被配置为按照流量转发控制装置710下发的流量调度机制调度流量。通信设备720的数量可以根据需要设置,图7中仅示例性地示出一个。

图8为根据本发明另一些实施例的流量转发控制装置的结构示意图。如图8所示,该实施例的流量转发控制装置80包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一个实施例中的流量转发控制方法。

其中,存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

图9为根据本发明又一些实施例的流量转发控制装置的结构示意图。如图9所示,该实施例的流量转发控制装置90包括:存储器910以及处理器920,还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为sd卡、u盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种流量转发控制方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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