一种基于VPP路由器的多链路智能调度方法及装置与流程

    专利2022-07-07  123


    本申请涉及网络链路调度技术领域,尤其涉及一种基于vpp路由器的多链路智能调度方法及装置。



    背景技术:

    软件定义网络(sdn)重新定义了传统的网络结构,将原来的网络设备,采用网络虚拟化的方式,更灵活更便捷地面向运营商和用户。而作为sdn其中最重要的分支,软件定义广域网(sd-wan)无疑具有重要的研究价值和应用价值。vpp则是sd-wan开源中一个很好的平台,可提供开箱即用的生产质量交换机/路由器功能,它是思科矢量数据包处理(vpp)技术的开源版本,可以在商用cpu上运行,经过验证的技术,其高性能,模块化,灵活性以及丰富的功能集获得到大家的喜爱。

    在现有的网络环境下,目前绝大多数企业,对wan侧的网络链路,基本都是采用主-备模式,即有一条链路作为主要的出口链路,其他几条作为备用链路使用,只有当主线路出现故障的时候,网管才会手动将链路切到备用线路上去,以此来保证网络。这种情况很明显存在一定的缺陷,在有多链路的情况下只使用到其中一条,当网络故障时还要手动切换,从而造成网络资源和人力资源的浪费。



    技术实现要素:

    本申请实施例提供了一种基于vpp路由器的多链路智能调度方法及装置,使得在正常网络的环境下,智能调度地将流量均衡在多个出口链路上去,从而减轻网络压力。

    有鉴于此,本申请第一方面提供了一种基于vpp路由器的多链路智能调度方法法,所述方法包括:

    轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,所述链路信息包括链路的时延、抖动和丢包参数;

    若所述链路信息均小于预设的预置,则根据每条链路的所述链路信息进行加权计算,得到每条链路的加权数,将所述加权数最小的链路作为最优链路;

    按照每条链路的所述加权数占总的所述加权数的比值将数据负载均衡到不同链路。

    可选的,还包括:

    若存在特殊转发需求的数据,则对特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,每个所述vlan标签对应固定的链路。

    可选的,还包括:

    对不同应用的流量数据进行优先级划分;

    根据数据的优先级对不同应用的流量数据分配不同的qos等级,使得当发生网络阻塞时,优先传输优先级高的数据。

    可选的,还包括:

    定时监测每条链路的带宽、时延、抖动和丢包参数,并更新每条链路的加权数。

    可选的,还包括:

    当存在任一所述链路信息大于所述预设的阈值时,则表示当前链路网络异常;

    将异常链路的所述加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分所述数据流量按照所述加权数占总的所述加权数的比例分配至无网络异常的链路。

    本申请第二方面提供一种基于vpp路由器的多链路智能调度装置,所述装置包括:

    监测单元,用于轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,所述链路信息包括链路的带宽、时延、抖动和丢包参数;

    计算单元,用于当所述链路信息均小于预设的预置,则根据每条链路的所述链路信息进行加权计算,得到每条链路的加权数,将所述加权数最小的链路作为最优链路;

    负载均衡单元,用于按照每条链路的所述加权数占总的所述加权数的比值将数据负载均衡到不同链路。

    可选的,还包括:

    特殊数据转发单元,用于若存在特殊转发需求的数据,则对特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,每个所述vlan标签对应固定的链路。

    可选的,还包括:

    优先级划分单元,用于对不同应用的流量数据进行优先级划分;

    分配单元,用于根据数据的优先级对不同应用的流量数据分配不同的qos等级,使得当发生网络阻塞时,优先传输优先级高的数据。

    可选的,还包括:

    监测更新单元,用于定时监测每条链路的带宽、时延、抖动和丢包参数,并更新每条链路的加权数。

    可选的,还包括:

    数据流量分配单元,用于当存在任一所述链路信息大于所述预设的阈值时,则表示当前链路网络异常;

    将异常链路的所述加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分所述数据流量按照所述加权数占总的所述加权数的比例分配至无网络异常的链路。

    从以上技术方案可以看出,本申请实施例具有以下优点:

    本申请实施例中,提供了一种基于vpp路由器的多链路智能调度方法,包括:轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,链路信息包括链路的带宽、时延、抖动和丢包参数;若链路信息均小于预设的预置,根据每条链路的链路信息进行加权计算,得到每条链路的加权数,将加权数最小的链路作为最优链路;按照每条链路的加权数占总的加权数的比值将数据负载均衡到不同链路。

    本申请通过vpp的路由器向每条链路上的节点发送心跳包,获取每条链路的链路信息,根据每条链路的带宽、时延、抖动和丢包参数为每条链路分配加权值,并根据加权值占总的加权值的比例,将流量数据负载均衡到对应的链路。

    附图说明

    图1为本申请一种基于vpp路由器的多链路智能调度方法的一个实施例的方法流程图;

    图2为本申请一种基于vpp路由器的多链路智能调度方法的另一个实施例的方法流程图;

    图3为本申请一种基于vpp路由器的多链路智能调度装置的一个实施例的装置结构图;

    图4为本申请的包含vpp路由器的网络拓扑图。

    具体实施方式

    为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

    图1为本申请一种基于vpp路由器的多链路智能调度方法的一个实施例的方法流程图,图1中包括:

    101、轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,链路信息包括链路的带宽、时延、抖动和丢包参数。

    需要说明的是,本申请中的vpp路由器会有一个探针,通过负载均衡设备定期轮询每一个wan口,向链路上的节点发送心跳包,监测每个wan侧的isp的网络状态,通过icmpecho报文,来获取不同链路的带宽、时延、抖动和丢包网络情况,还可以根据链路的带宽、时延、抖动和丢包网络情况判断是否发生网络阻塞等故障。

    图4为本申请包含vpp路由器的网络拓扑图,图中局域网设备通过连接vpp路由器与wan侧进行连接。

    102、若链路信息均小于预设的预置,则根据每条链路的链路信息进行加权计算,得到每条链路的加权数,将加权数最小的链路作为最优链路。

    需要说明的是,本申请可以将链路的时延、抖动和丢包参数与预设的阈值进行比较,从而判断链路是否发生网络异常;再根据每一条链路的带宽、时延、丢包和抖动这些参数进行加权计算,得到每条链路的加权数,根据链路的加权数大小,可以每条链路的网络状态。选择加权数最小的链路作为最优链路。

    103、按照每条链路的加权数占总的加权数的比值将数据负载均衡到不同链路。

    需要说明的是,本申请可以根据每条链路的加权值将数据包就进行了一次负载均衡的分配,提高了多链路的利用率,减轻了多链路的传输压力,进而保证了多链路的稳定性。

    本申请通过vpp的路由器向每条链路上的节点发送心跳包,获取每条链路的链路信息,根据每条链路的带宽、时延、抖动和丢包参数为每条链路分配加权值,并根据加权值占总的加权值的比例,将流量数据负载均衡到对应的链路。

    本申请还提供了一种基于vpp路由器的多链路智能调度方法的另外一种实施例,如图2所示,图2中包括:

    201、轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,链路信息包括链路的时延、抖动和丢包参数。

    202、根据链路信息判断链路是否正常,如果链路正常,则根据每条链路的链路信息进行加权计算,得到每条正常链路的加权数,将加权数最小的正常链路作为最优链路。

    需要说明的是,本申请可以根据链路信息判断链路是否正常,具体为,将链路的时延、抖动和丢包参数与预设的阈值进行比较,若链路的时延、抖动和丢包参数均小于对应的时延阈值、抖动阈值以及丢包阈值,则判断链路为正常链路。将所有正常链路进行加权计算,得到每条正常链路的加权数,将加权数最小的正常链路作为最优链路。

    例如,可以根据多次icmp的ping报文,可以直接获得其延时、丢包和抖动,比如一次ping百度的过程。可以获得丢包是0,抖动是2.58ms,时延是5.711ms,在相同的带宽条件下,这些数据越小,代表网络状态最好。这里可以设置对应的阈值,比如丢包阈值为50%,抖动阈值为10ms,时延阈值为20ms,当超过这个阙值代表网络异常。

    网络异常的链路可以直接排除,在网络正常的链路中选择最优,例如,有a、c、d三条链路正常,为了方便计算假设其丢包为lossa=0,lossc=0,lossd=20%;抖动值为mdeva=2ms,mdevc=1ms,mdevd=3ms;时延的值为avqa=5ms,avqc=5ms,avqd=6ms。

    在一种具体的实施方式中,加权公式可以为:

    链路a权值为:(0*1 2*1 5*1)/(1 1 1)=7/3=2.33333

    链路c权值为:(0*1 1*1 5*1)/(1 1 1)=6/3=2

    链路d权值为:(0.2*1 3*1 6*1)/(1 1 1)=9.2/3=3.6666

    则可以得到c链路的权值最小,即c链路为最优链路。

    203、若存在特殊转发需求的数据,则对特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,每个vlan标签对应固定的链路。

    需要说明的是,对于存在特殊转发需求的数据,例如对于公司财务商务等机密数据流量,可以将这一类特殊转发需求的数据打上vlan标签,即可以将公司财务类数据打上vlan100,将所有带有vlan100标签的数据从同一条链路进行传输,例如可以将带有vlan100标签的数据通过专线进行传输。对于音视频会议等大流量数据,打上vlan200标签,将所有带有vlan200标签的数据,通过从isp1链路进行转发传输。

    204、对不同应用的流量数据进行优先级划分;根据数据的优先级对不同应用的流量数据分配不同的qos等级,使得当发生网络阻塞时,优先传输优先级高的数据。

    需要说明的是,本申请结合服务质量(qos)的技术,对不同应用的流量进行优先级排序,使得当链路发生网络阻塞时,能够保证重要的数据优先传输。例如,对于线上会议这类对带宽较大,网络质量要求较高的数据,将其设置qos等级为高,将普通的邮件聊天数据,qos等级设置为低,具体可以根据用户自身需求将不同应用的数据优先级进行设置。使得在出现网络阻塞不稳定的情况下,可以保障优先级较高业务的流量优先转发,例如将视频会议的数据优先传输,将普通邮件聊天数据延后进行传输,从而保障重要的业务优先进行。

    205、按照每条链路的加权数占总的加权数的比值将数据负载均衡到不同链路。

    需要说明的是,当存在以上特殊转发需求的数据或者存在优先级划分的数据时,则先将相同标签的数据通过固定的链路进行转发,或者按照优先级的划分优先传输优先级高的数据。若不存在特殊转发需求的数据或者存在优先级划分的数据时,则按照每条正常链路的加权数占总的加权数的比值将数据负载均衡到不同链路。

    在一种具体的实施方式中,本申请还可以定时监测每条链路的带宽、时延、抖动和丢包参数,并更新每条链路的加权数。

    206、根据链路信息判断链路是否正常,若链路出现网络异常,则将异常链路的加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分数据流量按照加权数占总的加权数的比例分配至无网络异常的链路。

    需要说明的是,当存在链路的时延、抖动和丢包参数均大于对应的时延阈值、抖动阈值以及丢包阈值时,则判断链路为异常链路。因此,需要减少发送至异常链路的数据,则可以将异常链路的加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分数据流量按照正常链路的加权数占总的正常链路加权数的比例分配至正常链路。并且通过实时监测每条链路的链路信息,使得当链路恢复正常时,将分配出去的数据流量重新分配至原来的链路。

    本申请通过vpp的路由器向每条链路上的节点发送心跳包,获取每条链路的链路信息,根据每条链路的带宽、时延、抖动和丢包参数为每条链路分配加权值,并根据加权值占总的加权值的比例,将流量数据负载均衡到对应的链路。通过识别不同的应用数据,将特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,并根据数据重要性进行优先级划分,使得本申请可以针对对于不同业务或不同服务的流量智能调度地将流量分在不同的出口;还能通过减少异常链路的数据流量,并将减少的部分数据流量按照加权数占总的加权数的比例分配至无网络异常的链路,从而减少网络阻塞。

    以上是本申请方法的实施例,本申请还包括一种基于vpp路由器的多链路智能调度装置的实施例,如图3所示,图3中包括:

    监测单元301,用于轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,链路信息包括链路的带宽、时延、抖动和丢包参数;

    计算单元302,用于当链路信息均小于预设的预置,则根据每条链路的链路信息进行加权计算,得到每条链路的加权数,将加权数最小的链路作为最优链路。

    负载均衡单元303,用于按照每条链路的加权数占总的加权数的比值将数据负载均衡到不同链路。

    在一种具体的实施方式中,还包括:

    特殊数据转发单元,用于若存在特殊转发需求的数据,则对特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,每个所述vlan标签对应固定的链路。

    优先级划分单元,用于对不同应用的流量数据进行优先级划分;

    分配单元,用于根据数据的优先级对不同应用的流量数据分配不同的qos等级,使得当发生网络阻塞时,优先传输优先级高的数据。

    监测更新单元,用于定时监测每条链路的带宽、时延、抖动和丢包参数,并更新每条链路的加权数。

    数据流量分配单元,用于当存在任一链路信息大于预设的阈值时,则表示当前链路网络异常;

    将异常链路的所述加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分数据流量按照加权数占总的加权数的比例分配至无网络异常的链路。

    所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

    应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

    在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

    另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

    以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。


    技术特征:

    1.一种基于vpp路由器的多链路智能调度方法,其特征在于,包括:

    轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,所述链路信息包括链路的时延、抖动和丢包参数;

    若所述链路信息均小于预设的预置,则根据每条链路的所述链路信息进行加权计算,得到每条链路的加权数,将所述加权数最小的链路作为最优链路;

    按照每条链路的所述加权数占总的所述加权数的比值将数据负载均衡到不同链路。

    2.根据权利要求1所述的基于vpp路由器的多链路智能调度方法,其特征在于,还包括:

    若存在特殊转发需求的数据,则对特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,每个所述vlan标签对应固定的链路。

    3.根据权利要求1所述的基于vpp路由器的多链路智能调度方法,其特征在于,还包括:

    对不同应用的流量数据进行优先级划分;

    根据数据的优先级对不同应用的流量数据分配不同的qos等级,使得当发生网络阻塞时,优先传输优先级高的数据。

    4.根据权利要求1所述的基于vpp路由器的多链路智能调度方法,其特征在于,还包括:

    定时监测每条链路的带宽、时延、抖动和丢包参数,并更新每条链路的加权数。

    5.根据权利要求1所述的基于vpp路由器的多链路智能调度方法,其特征在于,还包括:

    当存在任一所述链路信息大于所述预设的阈值时,则表示当前链路网络异常;

    将异常链路的所述加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分所述数据流量按照所述加权数占总的所述加权数的比例分配至无网络异常的链路。

    6.一种基于vpp路由器的多链路智能调度装置,其特征在于,包括:

    监测单元,用于轮询每一个wan口,向每条链路上的节点发送心跳包,监测wan侧的isp的链路信息,所述链路信息包括链路的带宽、时延、抖动和丢包参数;

    计算单元,用于当所述链路信息均小于预设的预置,则根据每条链路的所述链路信息进行加权计算,得到每条链路的加权数,将所述加权数最小的链路作为最优链路;

    负载均衡单元,用于按照每条链路的所述加权数占总的所述加权数的比值将数据负载均衡到不同链路。

    7.根据权利要求6所述的基于vpp路由器的多链路智能调度装置,其特征在于,还包括:

    特殊数据转发单元,用于若存在特殊转发需求的数据,则对特殊转发需求的数据打上vlan标签,并将打上相同标签的数据通过固定的链路进行转发,每个所述vlan标签对应固定的链路。

    8.根据权利要求6所述的基于vpp路由器的多链路智能调度装置,其特征在于,还包括:

    优先级划分单元,用于对不同应用的流量数据进行优先级划分;

    分配单元,用于根据数据的优先级对不同应用的流量数据分配不同的qos等级,使得当发生网络阻塞时,优先传输优先级高的数据。

    9.根据权利要求6所述的基于vpp路由器的多链路智能调度装置,其特征在于,还包括:

    监测更新单元,用于定时监测每条链路的带宽、时延、抖动和丢包参数,并更新每条链路的加权数。

    10.根据权利要求6所述的基于vpp路由器的多链路智能调度装置,其特征在于,还包括:

    数据流量分配单元,用于当存在任一所述链路信息大于所述预设的阈值时,则表示当前链路网络异常;

    将异常链路的所述加权数乘以权重缩小因子,使得减少异常链路的数据流量,并将减少的部分所述数据流量按照所述加权数占总的所述加权数的比例分配至无网络异常的链路。

    技术总结
    本申请公开了一种基于VPP路由器的多链路智能调度方法及装置,方法包括:轮询每一个WAN口,向每条链路上的节点发送心跳包,监测WAN侧的ISP的链路信息,链路信息包括链路的带宽、时延、抖动和丢包参数;若链路信息均小于预设的预置,根据每条链路的链路信息进行加权计算,得到每条链路的加权数,将加权数最小的链路作为最优链路;按照每条链路的加权数占总的加权数的比值将数据负载均衡到不同链路。使得在正常网络的环境下,智能调度地将流量均衡在多个出口链路上去,从而减轻网络压力。

    技术研发人员:林弘凯;张阳;吴远明;温振环
    受保护的技术使用者:广州西麦科技股份有限公司
    技术研发日:2020.11.17
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8388.html

    最新回复(0)