一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用服务级别协议的动态预测和管理的制作方法

2022-02-22 07:44:04 来源:中国专利 TAG:


1.本公开涉及计算机网络。


背景技术:

2.在过去几十年里,互联网已经从包括几个节点的小型网络指数增长为服务超十亿用户的世界级普及网络。如今,个体用户不限于通过网络上的语音和/或数据下载来运行一些网络会话。代替地,用户使用的服务的范围在多媒体游戏、音频和视频流传输、网络服务、ip电话(voip)等方面广泛地改变。随着新技术的突破,诸如越来越多地使用物联网(iot)和m2m(机器到机器)通信,给定用户可能要求的网络服务和软件应用也从几个会话改变到具有并发流的多个会话。随着用户越来越多地同时运行多个应用、服务和事务,该数字正在快速增长。用户会话和分组流的数量和种类的增加为网络服务提供商带来了网络性能方面的挑战,例如等待时间、延迟和抖动。


技术实现要素:

3.总体上,本公开描述了用于评估针对特定应用的流量流以自适应地预测针对应用的服务级别协议(sla)参数,以便将源自于应用的流量分配给具有满足针对应用的所预测的sla参数的体验质量(qoe)度量的链路的技术。
4.在一些软件定义广域网(sd-wan)中,sd-wan路由设备可以使用wan链路的sla参数和各种qoe度量来选择由应用发送到客户端设备的数据流的路径。sla参数可以是应用特定的,使得不同应用的数据流可以具有不同的sla参数。尽管网络管理员可以尝试基于网络管理者的自身经验和知识来手动配置针对不同应用的sla参数,诸如往返时间和抖动,但是网络管理员可能缺乏知识来最佳地配置针对不同应用的sla参数。
5.sd-wan系统可以实现本公开的技术以执行对在应用服务器与客户端设备之间的应用的数据流的端到端监测,并且基于对数据流的这种端到端监测来执行自学习以自适应地预测应用的一个或多个sla参数。具体地,针对经由传输控制协议(tcp)在到客户端设备的链路上被传输的应用的数据流,sd-wan系统可以执行tcp序列号分析以跟踪应用服务器与客户端设备之间的应用的数据流的往返时间、抖动、重传以及分组损失来确定应用的一个或多个sla参数。
6.sd-wan系统可以针对链路上的应用的数据流,在给定由数据流的分组经历的往返时间的情况下,基于监测应用的数据流的分组重传来确定应用的数据流是否正在经历分组重传。如果sd-wan系统确定应用的数据流在给定往返时间中没有经历分组的tcp重传,那么sd-wan系统可以将针对应用的sla参数的往返时间参数设置为应用的数据流经历的往返时间。另一方面,如果sd-wan系统确定应用的数据流正在经历分组的tcp重传,而分组重传可能是链路变差的指示,则sd-wan系统可以确定分组的当前往返时间不是针对应用的数据流的最佳往返时间。当应用的数据流的分组经历的往返时间改变时,sd-wan系统可以持续监测应用的数据流的分组重传,并且可以基于对应用的数据流的这种监测来调节针对应用的
sla参数的往返时间参数。以这种方式,sd-wan系统可以自适应地预测针对应用的sla参数。
7.可以存在使用本文描述的技术的一个或多个优点。本文描述的技术可以使得sd-wan系统能够在没有用户干预的情况下自适应地预测针对应用的一个或多个sla参数。即,代替手动设置应用的一个或多个sla参数的网络管理员,本文描述的技术可以使得sd-wan系统能够基于sd-wan系统内的应用的实际数据流来确定应用的一个或多个sla参数。通过基于应用到客户端设备的实际端到端数据流来自适应地预测一个或多个sla参数,本文描述的技术可以能够确定基于sd-wan系统中的链路的实际网络状况的sla参数,由此产生与手动确定的sla参数相比可能更适合于sd-wan系统中的实际网络状况的sla参数。因此,本文描述的技术可以给端用户提供更好的体验和整个网络的更好资源利用。
8.在本文描述的技术的一个示例中,描述了一种方法。该方法包括由网络设备监测在应用服务器与客户端设备之间的链路上被传输的应用的数据流的多个分组的往返时间。该方法还包括由网络设备确定在数据流的多个分组的传输期间发生的分组的重传量。该方法还包括由网络设备并且至少部分地基于数据流的多个分组的往返时间和在数据流的多个分组的传输期间发生的分组的重传量来预测针对与应用相关联的服务级别协议(sla)的往返时间参数。
9.在本文描述的技术的另一示例中,描述了一种网络设备。网络设备包括存储器。网络设备还包括与存储器通信的一个或多个处理器,一个或多个处理器被配置为:监测在应用服务器与客户端设备之间的链路上传输的应用的数据流的多个分组的往返时间;确定在数据流的多个分组的传输期间发生的分组的重传量;以及至少部分地基于数据流的多个分组的往返时间和在数据流的多个分组的传输期间发生的分组的重传量来预测针对与应用相关联的服务级别协议(sla)的往返时间参数。
10.在本文描述的技术的另一示例中,描述了一种非瞬态计算机可读存储介质,其上存储了指令。指令当被运行时,经由软件定义广域网设备的执行,使得一个或多个处理器:监测在应用服务器与客户端设备之间的链路上传输的应用的数据流的多个分组的往返时间;确定在数据流的多个分组的传输期间发生的分组的重传量;以及至少部分地基于数据流的多个分组的往返时间和在数据流的多个分组的传输期间发生的分组的重传量来预测针对与应用相关联的服务级别协议(sla)的往返时间参数。
11.在附图和下面的描述中阐述一个或多个示例的细节。其他特征、目的和优点将从说明书和附图、并且从权利要求书变得显而易见。
附图说明
12.图1是图示了根据本公开的技术的自适应地确定应用的服务级别协议参数以便将源自于应用的流量分配给链路的示例软件定义广域网系统的框图。
13.图2是图示了根据本公开的一个或多个技术的示例软件定义广域网的框图。
14.图3是图示了被配置为实现本文描述的技术的示例sd-wan设备的框图。
15.图4是图示了根据本公开的技术的自适应地确定针对应用的服务级别协议的用于软件定义广域网系统的示例技术的流程图。
具体实施方式
16.图1是图示了根据本公开的技术的自适应地确定应用的服务级别协议参数以便将源自于应用的业务分配给链路的示例软件定义广域网系统的框图。图1的示例网络系统1包括sd-wan系统2,其包括公共网络和专用网络以向用户设备16提供基于分组的网络服务。即,sd-wan系统2为用户设备16提供认证和网络接入的建立,使得用户设备可以开始与公共网络12(其可以是内部或外部的基于分组的网络,诸如互联网)交换数据分组。
17.在图1的示例中,sd-wan系统2包括经由服务提供商软件定义广域网7(下文称为“sd-wan 7”)和路由器8提供到公共网络12的连接性的接入网络6。sd-wan 7和公共网络12提供可用于由用户设备16请求和使用的基于分组的服务。作为示例,sd-wan 7和/或公共网络12可以提供批量数据传递(bulk data delivery)、互联网协议电话(voip)、互联网协议电视(iptv)、短消息服务(sms)、无线应用协议(wap)服务或客户专用应用服务。公共网络12可以包括例如局域网(lan)、广域网(wan)、互联网、虚拟lan(vlan)、企业lan、第3层虚拟专用网络(vpn)、由访问接入网络6、企业ip网络或其特定组合的服务提供商操作的互联网协议(ip)内联网。在各种示例中,公共网络12连接到公共wan、互联网或其他网络。公共网络12运行一个或多个分组数据协议(pdp),诸如ip(ipv4和/或ipv6)、x.25或点到点协议(ppp),以实现公共网络12服务的基于分组的传输。在一些示例中,公共网络12可以表示互联网。在一些示例中,公共网络12可以表示经由转接网络22和一个或多个网络设备(例如,客户边缘设备,诸如客户边缘交换机或路由器)耦合到sd-wan 7的边缘网络。公共网络12可以包括数据中心。路由器8可以经由虚拟网络20与服务节点10交换分组,并且路由器8可以经由转接网络22将分组转发到公共网络12。
18.通常,用户设备16经由接入网络6连接到网关路由器8以接收到用于由公共网络12或路由器8托管的应用的用户服务的连接性。用户可以表示例如企业、居民用户、或移动用户。用户设备16可以例如为被定位在用户设备(ce)11后面的个人计算机、膝上型计算机或其他类型的计算设备,其可以提供本地路由和交换功能。用户设备16中的每个可以运行各种软件应用,诸如文字处理和其他办公支持软件、网络浏览软件、支持语音通话、视频游戏、视频会议及电子邮件的软件等。例如,用户设备16可以是具有联网能力的各种设备,一般被称为“物联网”(iot)设备,诸如相机、传感器(s)、电视、电器等。另外,用户设备16可以包括经由无线接入网络(ran)6访问sd-wan系统2的数据服务的移动设备。示例移动用户设备包括移动电话、具有例如3g无线卡的膝上型或桌面计算机、具有无线功能的上网本、视频游戏设备、寻呼机、智能电话、个人数据助理(pda)等。
19.网络服务提供商运营或在一些情况下租用接入网络6的元件以提供在用户设备16与路由器8之间的分组传输。接入网络6表示聚合来自用户设备16中的一个或多个的数据流量用于传输到/自服务提供商的sd-wan 7的网络。接入网络6包括运行用于传输控制数据和用户数据的通信协议,以促进在用户设备16与路由器8之间的通信的网络节点。接入网络6可以包括宽带接入网络、无线lan、公共交换电话网络(pstn)、客户驻地设备(cpe)网络或其他类型的接入网络,并且可以包括或以其他方式提供用于蜂窝接入网络(诸如无线接入网络(ran)(未示出))的连接性。示例包括符合通用移动电信系统(umts)架构、被称为长期演进(lte)的umts演进、由互联网工程任务组(ietf)标准化的移动ip以及由第3代合作伙伴项目(3gpp)、第3代合作伙伴项目2(3gpp/2)和wimax论坛提出的其他标准的网络。
20.sd-wan设备18可以是用户边缘(ce)路由器、提供商边缘(pe)路由器、防火墙、sd-wan设备或接入网络6与sd-wan 7之间的其他网络设备。sd-wan 7将基于分组的连接性提供到附接到接入网络6以访问公共网络12(例如,互联网)的用户设备16。sd-wan 7可以表示由服务提供商拥有且运营的将多个网络相互连接的公共网络,其可以包括接入网络6。在一些示例中,sd-wan 7可以实现多协议标签交换(mpls)转发并且在这样的实例中可以被称为mpls网络或mpls骨干。在一些实例中,sd-wan 7表示多个相互连接的自主系统,诸如互联网,其提供来自一个或多个服务提供商的服务。
21.在包括有线/宽带接入网络的sd-wan系统2的示例中,路由器8可以表示宽带网络网关(bng)、宽带远程访问服务器(bras)、mpls pe路由器、核心路由器或网关、或电缆调制解调器终端系统(cmts)。在包括蜂窝接入网络作为接入网络6的sd-wan系统2的示例中,路由器8可以表示移动网关,例如网关通用分组无线电业务(gprs)服务节点(ggsn)、接入网关(agw)或分组数据网络(pdn)网关(pgw)。在其他示例中,关于路由器8描述的功能可以被实现在交换机、服务卡或另一网络元件或组件中。在一些示例中,路由器8本身可以是服务节点。
22.管理sd-wan系统2的至少一部分的网络服务提供商通常将服务提供给与接入sd-wan系统2的设备(例如,用户设备16)相关联的用户。提供的服务可以包括例如传统互联网接入、voip、视频和多媒体服务、以及安全服务。如以上关于sd-wan 7所描述的,sd-wan7可以支持连接到服务提供商网络接入网关以提供对提供的服务的接入的多种类型的接入网络基础设施。在一些实例中,网络系统可以包括附接到具有不同架构的多个不同的接入网络6的用户设备16。
23.通常,用户设备16中的任何一个或多个可以通过向网关设备(诸如sd-wan设备18或路由器8)发送会话请求来请求授权和数据服务。继而,软件定义广域网(“sd-wan”)设备18可以访问中心服务器(未示出),诸如认证、授权和核算(aaa)服务器,以认证请求网络接入的用户设备16中的一个。一旦被认证,用户设备16中的任何用户设备可以向sd-wan 7发送用户数据流量以访问并接收由公共网络12提供的服务,并且这些分组可以作为至少一个分组流的部分经过路由器8。在一些示例中,sd-wan设备18可以将所有已认证的用户流量转发到公共网络12,并且在用户流量要求服务节点10上的服务的情况下,则路由器8可以将服务15应用到和/或将特定用户流量操纵到数据中心9。要应用到用户流量的应用(例如,服务应用)可以被托管在服务节点10上。
24.例如,当转发用户流量时,路由器8可以指引个体用户分组流通过运行在安装在路由器8内的一个或多个服务卡上的服务15。另外或备选地,sd-wan系统2包括具有为大多数虚拟化的网络服务提供执行环境的服务节点10集群的数据中心9。在一些示例中,服务节点10中的每个表示服务实例。服务节点10中的每个可以将一个或多个服务应用到流量流。因此,路由器8可以操纵用户分组流通过由服务节点10提供的定义集合的服务。即,在一些示例中,每个用户分组流可以通过由服务节点10提供的服务的特定有序组合来转发,每个有序集合在本文被称为“服务链”。作为示例,服务15和/或服务节点10可以应用有状态防火墙(sfw)和安全服务、深度分组检查(dpi)、运营商级网络地址转换(cgnat)、流量目标功能(tdf)、媒体(音频/视频)优化、互联网协议安全(ipsec)/虚拟专用网络(vpn)服务、超文本传输协议(http)过滤、计数、审计、计费和/或分组流负载均衡、或者应用到网络流量的其他
类型的服务。
25.在图1的示例中,用户分组流可以沿着包括服务15和/或由服务节点10应用的服务中的任何服务的服务链被指引。在服务链的终端节点处被处理后,即,将被应用于沿着特定服务路径流动的分组的最后服务,流量就可以被指引到公共网络12。
26.尽管“服务链”定义了要以特定顺序被应用的一个或多个服务,以便将针对应用的复合服务提供到绑定到服务链的分组流,但是“服务隧道”或“服务路径”是指由服务链处理的分组流采用的逻辑和/或物理路径、以及用于根据服务链顺序转发分组流的转发状态。每个服务链可以与相应的服务隧道相关联,并且与每个用户设备16相关联的分组流根据与相应用户相关联的服务配置沿着服务隧道流动。例如,给定用户可以与特定服务配置相关联,该特定服务配置又被映射到与特定服务链相关联的服务隧道。类似地,另一用户可以与不同服务配置相关联,该服务配置又被映射到与不同服务链相关联的服务隧道。在一些示例中,在sd-wan设备18已经认证并建立了针对用户的接入会话之后,sd-wan设备18或路由器8可以指引用户的数据流沿着合适服务隧道,由此使数据中心9针对给定用户应用所必要的有序服务。在一些示例中,sdn控制器14还可以将转发规则集提供到sd-wan设备18或路由器8以用于管理转发路径。在一些示例中,sdn控制器14从路由器8开始管理通过数据中心9中的所有元件的转发路径。
27.在一些示例中,服务节点10可以使用内部配置的转发状态来实现服务链,该转发状态指引分组流的分组沿着服务链,以便根据所识别的服务节点10的集合进行处理。这样的转发状态可以指定用于使用网络隧道(诸如ip或通用路由封装(gre)隧道、使用gre的网络虚拟化(nvgre)、或通过使用vlan、虚拟可扩展lan(vxlan)、mpls技术等)在服务节点10之间隧道传输的隧道接口。在一些实例中,将服务节点10相互连接的真实或虚拟交换机、路由器或其他网络元件可以被配置为根据服务链将分组流指引到服务节点10。
28.在图1的示例中,sd-wan系统2包括软件定义网络(sdn)和网络功能虚拟化(nfv)架构。sdn控制器14可以提供用于配置和管理sd-wan系统2的路由和交换基础设施的高级控制器。nfv协调器设备13可以提供用于配置和管理到数据中心9的服务器节点10中的网络服务的虚拟化的高级协调器。在一些实例中,sdn控制器14管理数据中心9的操作环境内的虚拟机(vm)的部署。例如,sdn控制器14可以与提供商边缘(pe)路由器8交互以指定下面更详细地描述的服务链信息。例如,由sdn控制器14提供的服务链信息可以指定由服务节点10提供的服务的任何组合和排序、用于沿着服务路径隧道传输或以其他方式传输分组流的流量工程信息、速率限制、服务类型(tos)标记、或指定用于将分组流匹配到特定服务链的分组分类器。sdn控制器的更多示例细节被描述在于2013年6月5日提交的pct国际专利申请pct/us13/44378,其整体内容通过引用被并入本文。
29.尽管被图示为数据中心9的部分,但是服务节点10可以是由sd-wan 7的一个或多个交换机或虚拟交换机耦合的网络设备。在一个示例中,服务节点10中的每个可以作为虚拟计算环境中的vm运行。此外,计算环境可以包括通用计算设备(诸如基于x86处理器的服务器)的可伸缩集群。作为另一示例,服务节点10可以包括通用计算设备和专用设备的组合。作为虚拟化网络服务,由服务节点10提供的个体网络服务可以像在现代数据中心中那样通过虚拟存储器的分配、处理器利用、存储和网络策略、以及通过水平地添加附加负载平衡vm来缩放。在其他示例中,服务节点10可以是网关设备或其他路由器。在另外的示例中,
关于服务节点10中的每个描述的功能可以被实现在交换机、服务卡或另一网络元件或组件中。
30.如本文描述的,sd-wan系统2内的元件可以使用各种应用体验质量(qoe)度量功能来执行端到端应用数据监测,诸如以实时性能监测(rpm)或双向主动测量协议(twamp)例。即,rpm和twamp可以在sd-wan系统2内被用于测量网络性能的单向和双向或往返度量,诸如路径连接性、路径延迟、分组抖动、分组损失、分组重新排序等,例如,在网络设备(也被称为主机或端点)之间针对每个用户进行测量。通常,qoe测量架构包括网络设备,其中每个网络设备都支持使用的协议并执行特定作用以开始数据会话。
31.sd-wan系统2可以确定qoe度量,例如,服务级别协议(sla)度量,包括受应用的实时参数(如分组大小、队列和分组的爆发)影响的往返时间、抖动和分组损失,以确定最佳路径。qoe旨在通过持续地监测服务类参数和应用流量的sla兼容性来改进应用层的用户体验,从而确保在可用的sla兼容性最好的链路上发送应用数据。具体地,当传输应用流量时,sd-wan系统2可以尝试选择满足应用的sla参数的用于传输应用流量的链路。
32.根据本文描述的技术,sd-wan系统2的一个或多个组件,诸如路由器8、nfv协调器13、sdn控制器14或sd-wan设备18可以实现通过监测应用的端到端数据流来预测针对应用的sla参数的技术。sd-wan系统2可以使用所预测的sla参数的集合来指导sd-wan设备18找到将数据流发送到意图目的地的最佳链路。
33.在一些示例中,针对最初不知道其sla参数的新数据流,sd-wan系统2可以实现无探测技术来预测sla参数,诸如往返时间、抖动和tcp重传。即,sd-wan设备18可以自适应地确定针对数据流的sla参数而不发送任何测试分组或探测分组,以便找出用于向意图目的地发送数据流的适当链路。代替地,sd-wan系统2可以基于监测数据流来预测针对数据流的sla参数。sd-wan系统2可以基于针对数据流的所预测的sla参数来确定满足所预测的sla参数的用于传输数据流的合适链路。
34.在一些示例中,sd-wan系统2可以预测针对经由传输控制协议(tcp)传输的数据流的sla参数。tcp使用被称为重传肯定应答的技术,其要求接收方在其接收到数据时以确认消息做出应答。发送方可以维持由发送方发送的每个分组的记录并且可以维持特定长度的重传定时器。如果针对由发送者发送的分组重传定时器在发送从接收方接收到确认之前到期,则发送方向接收方重传输分组。发生这种分组重传可能给端用户带来差的体验并且还可能增加网络的负载。在携带流传输视频的数据流的示例中,数据流的分组重传可能造成流传输的视频卡顿。
35.sd-wan系统2可以通过监测在一个或多个链路上的应用的数据流来确定数据流的sla参数,该sla参数减少重传量。例如,当数据流在链路上传输时,sd-wan系统2可以基于监测应用数据流的分组的往返时间、应用的数据流的分组重传以及抖动来确定针对应用的往返时间参数。sd-wan系统2可以将在监测应用的数据流时收集的数据馈送到sla管理引擎中,sla管理引擎可以能够基于所收集的数据来自适应地确定或预测针对应用的sla参数。
36.根据本公开的方面,sd-wan系统2可以监测在应用服务器与客户端设备之间的链路上被传输的应用的数据流的分组的往返时间。sd-wan系统2可以通过监测在链路上的数据流的传输期间发生的分组的重传量分组的重传量来确定在数据流的分组的传输期间的重传量。sd-wan设备2可以至少部分地基于数据流的分组的往返时间和在链路上的数据流
的传输期间发生的重传量来确定针对与应用相关联的sla的往返时间参数。
37.在一些示例中,如果sd-wan系统2确定数据流经历的重传量低于预定义的重传阈值,则sd-wan设备可以确定数据流经历的往返时间是“好”值。因此,sd-wan系统2可以将针对与应用相关联的sla的往返时间参数设置为数据流的分组经历的往返时间。在一些示例中,如果sd-wan系统2确定数据流经历的重传量处于或高于预定义的重传阈值,那么sd-wan设备可以制止将针对与应用相关联的sla的往返时间参数设置为数据流的分组经历的往返时间。在一些示例中,预定义的重传阈值可以指定重传次数,诸如1次重传、2次重传等,并且可以被预定义在sd-wan系统2中,诸如通过网络管理员编程、出厂编程等。
38.sd-wan系统2可以基于监测数据流的分组的往返时间和在链路上的数据流的传输期间发生的重传量来自适应地调节针对数据流的sla的往返时间参数。当数据流通过链路被传输时,数据流的分组的往返时间可能由于诸如链路的网络状况改变(例如,链路承载的网络流量增加或减少)而改变(例如,增加和/或减少)。当数据流的分组的往返时间改变时,sd-wan系统2可以基于数据流的分组的往返时间的改变来自适应地确定是否改变针对数据流的sla的往返时间参数。
39.具体地,在数据流的分组的往返时间增加的情况下,如果数据流经历的重传量保持低于预定义的重传阈值,则sd-wan系统2可以增加针对数据流的sla的往返时间参数。例如,如果sd-wan系统2确定在链路上被传输的数据流的分组具有第一往返时间,并且如果sd-wan系统确定在链路上被传输的数据流具有低于预定义的重传阈值的重传率,则sd-wan系统2将针对数据流的sla的往返时间参数设置为第一往返时间。如果数据流的分组的往返时间从第一往返时间改变到大于第一往返时间的第二往返时间,则sd-wan系统2可以确定数据流是否经历仍然低于预定义的重传阈值的重传量。如果sd-wan系统2确定数据流仍然经历仍然低于预定义的重传阈值的重传量,则sd-wan系统2将针对与应用相关联的sla的往返时间参数设置为第二往返时间。
40.例如,sd-wan系统2可以监测通过在链路上被传输的应用的数据流,其中数据流的分组的往返时间在第一时间窗口中是30毫秒(ms)并且可以在第一时间窗口期间针对数据流中的分组重传来监测数据流,其中,预定义的重传阈值是1。如果当链路具有30ms的往返时间时,sd-wan系统2在第一时间窗口期间未检测到数据流中的任何分组重传,则sd-wan系统2可以将针对与应用相关联的sla的往返时间参数设置为数据流的分组的往返时间,其是30ms。
41.在第二时间窗口中,通过链路传输的应用的数据流的分组的往返时间可以从30ms改变为50ms,诸如由于有更多负载通过链路传输。sd-wan系统2可以继续监测第二时间窗口中的在链路上被传输的数据流,以针对数据流中的分组重传监测数据流。如果sd-wan系统2在第二时间窗口期间检测到数据流中的分组重传,则sd-wan系统2可以制止将针对与应用相关联的sla的往返时间参数从其30ms的值改变为在第二时间窗口期间的数据流的分组的往返时间,其是50ms。
42.在第三时间窗口中,在链路上被传输的应用的数据流的分组的往返时间可以改变为40ms。sd-wan系统2可以继续监测第三时间窗口中的在链路上被传输的数据流以针对数据流中的分组重传来监测数据流。如果sd-wan系统2在第三时间窗口期间未检测到数据流中的任何分组重传,则sd-wan系统2可以将针对与应用相关联的sla的往返时间参数从30ms
的值改变为40ms的值。
43.如可以看出的,sd-wan系统2可以确定针对应用的sla的初始往返时间参数,并且可以能够在往返时间参数的增加值不会增加数据流中的分组重传的情况下自适应地增加针对与应用相关联的sla的往返时间参数。因为针对数据流的往返时间参数可以是往返时间的上限值,所以数据流可以在具有等于或小于与应用相关联的sla的往返时间参数的往返时间的链路上传输而不增加数据流的重传量。因此,通过增加针对与应用相关联的sla的往返时间参数,sd-wan系统2可以能够增加具有可以满足与应用相关联的sla的体验质量度量的链路的数量。
44.在一些示例中,应用的不同会话或实例可以在不同链路上发送不同数据流,并且不同数据流的分组可以经历不同的往返时间。sd-wan系统2可以因此监测不同链路上的应用的不同数据流以便确定针对与应用相关联的sla的往返时间参数。例如,应用可以在第一链路上发送第一数据流,并且第一数据流的分组可以经历第一往返时间(例如,40ms)。应用可以在第二链路上发送第二数据流,并且第二数据流的分组可以经历第二往返时间(例如,30ms)。如果sd-wan系统2检测到在第一链路上被传输的第一数据流的分组重传但没有检测到在第二链路上被传输的第二数据流的任何分组重传,则sd-wan系统2可以将针对与应用相关联的sla的往返时间参数设置为第二往返时间(例如,30ms)。
45.sd-wan系统2可以使用与应用相关联的sla来选择sd-wan系统2中的用于传输应用的数据流的链路。具体地,sd-wan系统2可以针对应用选择具有满足与应用相关联的sla的体验质量度量的链路。例如,针对具有指定40ms的往返时间参数的sla的应用,sd-wan系统2可以选择可以满足40ms的往返时间参数的用于传输该应用的数据流的链路。
46.可以存在使用本文描述的技术的一个或多个优点。本文描述的技术可以使得sd-wan系统2能够在没有用户干预的情况下自适应地预测应用的一个或多个sla参数。通过基于应用到客户端设备的实际端到端数据流来自适应地预测一个或多个sla参数,本文描述的技术可以能够确定基于sd-wan系统2中的链路的实际网络状况的sla参数,由此产生与手动确定的sla参数相比可能更适合于sd-wan系统2中的实际网络状况的sla参数。例如,通过使用应用的sla参数来选择满足针对应用的sla的往返时间参数的链路,sd-wan系统2可以最小化应用的数据流经历的tcp重传量。本技术还可以提供用于sd-wan系统2将应用数据流切换出过度利用的链路的信息,并且避免具有可用带宽的其他链路变得利用不足。因此,本文描述的技术可以给端用户提供的更好体验和整个网络的更好资源利用。
47.图2是图示了根据本公开的一个或多个技术的示例sd-wan的框图。在本文描述的示例中,sd-wan 37包括三个不同的wan链路:将sd-wan设备38耦合到多协议层交换(mpls)网络50的第一wan链路40,将sd-wan设备38耦合到互联网52的第二wan链路42以及将sd-wan设备38耦合到长期演变(lte)网络54的第三wan链路44。在其他示例中,sd-wan 37可以包括任何适当类型的任何数量的链路用于在客户端侧(例如,客户端设备36和sd-wan设备38)与应用侧(例如,sd-wan设备56和应用服务器58)之间传输数据流。
48.在一些示例中,sd-wan设备56周期性地向潜在wan链路40、42和44中的每个发送各种大小的探测分组,以便保持针对wan链路40、42和44的度量的最新记录,使得数据流可以在接收后被快速地路由。例如,sd-wan设备56可以具有参考数据存储库,其具有通常由sd-wan设备56处理的数据流中的各种数据分组大小的探测分组的指示。周期性地,网络设备可
以向可用wan链路40、42和44中的每个发送多个探测分组(例如,参考数据存储库中指定的每种大小发送一个),以便如果特定wan链路将要传输具有相应分组大小的数据流的话,则获得该wan链路的当前度量,将这些度量存储在参考数据存储库中。
49.例如,sd-wan设备56可以接收应用的数据流。sdn控制器14可以诸如经由以上描述的技术来监测应用的数据流,以确定与应用相关联的sla。sdn控制器14可以响应于确定与应用相关联的sla,将与应用相关联的sla的指示发送到sd-wan设备56。
50.sd-wan设备56可以确定链路40、42和44中的哪个具有满足与应用相关联的sla的体验质量度量,并且sd-wan设备56可以将数据流分配给满足与应用相关联的sla的链路。例如,sd-wan设备56可以响应于确定用于互联网链路42的体验质量度量将满足与应用相关联的sla,将数据流分配给经由互联网链路42传输。
51.图3是图示了被配置为实现本文描述的技术的示例sd-wan设备的框图。在图3的示例中,sd-wan设备60可以在图1的sd-wan系统2的背景下进行描述,并且可以表示sd-wan系统2的任何合适的组件,诸如以nfv协调器13、sdn控制器14、路由器8、以及sd-wan设备18为例。此外,尽管参考特定网络设备(例如,sdn控制器14、路由器或sd-wan设备)进行描述,但是本技术可以通过可以用作sd-wan系统2中的网络设备(诸如客户端设备、第3层(l3)或以上网络设备、服务器、或可以用作tcp代理、tcp监测器、tcp跟踪器等的任何其他网络设备)的任何网络设备来实现。在一些示例中,sd-wan设备可以是运行sd-wan网络功能虚拟化(nfv)的设备、提供sd-wan系统2中的防火墙的设备或运行本文描述为基于云的服务的sd-wan功能的设备。
52.sd-wan设备60可以用作诸如sd-wan系统2中的用于服务提供商网络的网络服务控制器。具体地,sd-wan设备60可以执行对在包含sd-wan设备60或由其管理的网络内传输的应用数据流的端到端监测,以便确定针对应用的sla的一个或多个参数。
53.在图3的图示示例中,sd-wan设备60包括管理单元65、用于控制sd-wan设备60的操作的控制单元64、以及用于通过入站链路67和出站链路68与网络设备交换分组的网络接口66。在一些示例中,控制单元64和/或管理单元65可以被实现为运行在一个或多个物理计算设备的一个或多个虚拟机上的一个或多个进程。即,尽管总体上被图示和描述为在单个sd-wan设备60上运行,但是这些单元的每个单元的各方面可以被委托给其他计算设备或跨其他计算设备分布。
54.控制单元64和/或管理单元65中的每个可以包括运行软件指令的一个或多个处理器(未示出),例如,软件指令用于定义被存储到计算机可读存储介质(未示出)的软件或计算机程序,计算机可读存储介质是诸如包括存储设备(例如,磁盘驱动器或光学驱动器)或存储器(诸如闪存或ram)的非瞬态性计算机可读介质,或任何其他类型的易失性或非易失性存储器的非计算机可读介质,其存储指令以使一个或多个处理器执行本文描述的技术。备选地或额外地,控制单元64和/或管理单元65中的每个可以包括用于执行本文描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个专用集成电路(asic)、一个或多个应用专用的专用处理器(assp)、一个或多个fpga、或专用硬件的前述示例中的一个或多个的任何组合。图3中图示的sd-wan设备60的架构仅出于示例目的被示出,并且不应当限于该架构。在其他示例中,sd-wan设备60可以以各种方式(诸如仅软件、仅硬件或软件和硬件两者的组合)来实现。
55.管理单元65可以包括sd-wan设备60的管理层,而控制单元64可以包括sd-wan设备60的控制层。管理单元65包括分析单元61和配置单元62。分析单元61可以捕获来自sd-wan系统2内的物理和/或虚拟网络元件(例如,网关、服务节点10)或图1的每个数据中心9或来自图2的应用服务器58和/或客户端设备36的信息,并且分析信息以用于管理由服务提供商提供的网络服务。信息可以包括统计信息、日志、事件和错误。
56.例如,管理单元65的分析单元61可以执行对从应用服务器(例如,应用服务器58)到客户端设备(例如,客户端设备36)的应用数据流的端到端监测。具体地,分析单元61可以监测经由tcp传输的应用数据流的各种度量,例如,往返时间、抖动、tcp重传等,分析单元61可以将它们发送到sla管理引擎77。分析单元61可以经由网络接口66与应用服务器(诸如应用服务器58)进行通信,以便当数据流被传输时,针对与数据流相关联的度量监测运行在应用服务器上的应用的数据流,并且可以当分析单元61监测数据流时,将这样的数据馈送到sla管理引擎77中以确定针对应用的sla的一个或多个参数。
57.例如,为了监测应用服务器58上运行的应用通过链路(例如,wan链路40、42和44之一)到客户端设备36的数据流,分析单元61可以与应用服务器58通信以接收关于从应用服务器58发送到客户端设备36的数据流的信息。例如,分析单元61可以针对从应用服务器58发送到客户端设备的数据流的每个分组接收分组的序列号、指示分组被发送的时间的分组的时间戳、应用服务器58接收到分组的确认、由应用服务器58对分组的任何重传等。分析单元61可以响应于接收到关于应用的数据流的这样的信息,将接收到的信息发送到sla管理引擎77。
58.分析单元61可以能够同时监测多个应用的多个数据流。即,分析单元61可以能够并发地监测从应用的相同实例传输到相同或不同客户端设备的多个数据流、从相同应用的不同实例传输到相同或不同客户端设备的多个数据流、或从不同应用传输到相同或不同客户端设备的多个数据流,并且可以将来自所监测的数据流的接收到的信息发送到sla管理引擎77。
59.配置单元62存储sd-wan系统2内的网络元件的配置信息。在一些示例中,配置信息包括虚拟网络配置。配置单元62可以将意图的虚拟网络配置的高级数据模型转化为用于在与网络元件交互中使用的更低级数据模型。
60.sd-wan设备60的控制单元64实现针对sd-wan系统2的负责维持不断改变的网络状态的中心化控制平面。控制单元64与sd-wan系统2内的网络元件交互以维持跨所有网络元件的一致网络状态。控制单元64提供命令行接口守护进程75(“cli 75”)的操作环境,该操作环境提供了接口,管理员或其他管理实体可以使用基于文本的命令,通过该接口修改sd-wan设备60的配置。控制单元64还提供针对若干协议70的操作环境,这些协议包括边界网关协议(bgp)72和可扩展消息出席协议(xmpp)74,如图3的示例中图示的。根据本文描述的技术,这些命令可以改变要测量哪些qoe度量,sd-wan设备60如何构建网络的拓扑,以及sd-wan设备60是否优化跨节点设备执行的探测进程的分布。用户配置(例如,基于意图的配置)还可以配置探测本身,提供关于探测是主动探测、被动探测还是其组合的指令。
61.在一些示例中,控制单元64使用xmpp 74,通过xmpp接口(未示出)与sd-wan系统2内的网络元件(诸如图1的sd-wan系统2内的网关8、客户端设备16或数据中心9的服务节点10)通信。根据用于在sd-wan设备60与网络元件之间的通信的xmpp 74,虚拟网络路由数据、
统计数据收集、日志和配置信息可以作为可扩展标记语言(xml)文档被发送。控制单元64还可以使用xmpp 74与sd-wan设备60的分析单元61和配置单元62中的一个或两者通信。
62.控制单元64还包括sla管理引擎77。sla管理引擎77可以使得控制单元64能够确定向sd-wan系统2内的客户端设备发送数据流的应用的sla度量的一个或多个参数。根据本文描述的技术,sd-wan设备60可以监测sd-wan系统2的链路上的应用数据流,以确定与sd-wan系统2内的应用的sla相关联的一个或多个参数。sla管理引擎77可以接收与在应用服务器与客户端设备之间的链路上被传输的应用的数据流的分组相关联的信息,并且slp管理引擎77可以对数据流的分组执行tcp序列号分析,以确定针对应用的sla的一个或多个参数预测值。然后,sla管理引擎77可以将所预测的sla参数值存储到sla数据库79。诸如sd-wan设备的网络设备可以使用与应用相关联的sla来选择具有满足针对应用的sla的体验质量度量的、用于传输应用的数据流的链路。
63.sla管理引擎77可以从分析单元61并且针对由应用从应用服务器58发送到客户端设备的数据流的每个分组接收分组的序列号、指示分组被发送的时间的分组的时间戳、应用服务器58接收到分组的确认、由应用服务器58对分组的任何重传等。sla管理引擎77可以能够使用这种信息来预测与针对应用的sla相关联的一个或多个参数。
64.sla管理引擎77可以分析与数据流的分组相关联的信息以监测关于数据流的各种数据。例如,sla管理引擎77可以监测在应用服务器与客户端设备之间的链路上传输的应用的数据流的分组的端到端往返时间。具体地,sla管理引擎77可以针对分组流的每个分组,将针对数据流的分组的往返时间确定为在应用向客户端设备发分组与应用接收到对分组的确认之间经过的时间。sla管理引擎77可以能够通过使用与分组和对应的确认相关联的序列号来识别分组和对应的确认,并且通过使用分组的时间戳和对应的确认的时间戳来确定发送分组与接收对应的确认之间经过的时间,确定分组的这种往返时间。
65.除了确定分组流中的分组的往返时间,sla管理引擎77还可以将数据流的抖动确定为分组的往返时间之间的差。sla管理引擎77可以针对分组流中的两个连续分组中的每个,将这两个分组的抖动确定为分组的往返时间的差。例如,如果sla管理引擎77确定数据流中的第一分组具有30ms的往返时间并且数据流中的随后的第二分组具有40ms的往返时间,那么sla管理引擎77可以将数据流中的第一分组与第二分组之间的抖动确定为10ms。
66.sla管理引擎77还可以确定在数据流的分组的传输期间的tcp重传量。针对经由tcp传输的应用的数据流,如果应用没有在指定时间量内接收到对应用发送的分组的确认,那么应用可以重传分组。如果sla管理引擎77确定数据流包括由应用发送的具有相同序列号的两个或更多个分组,则sla管理引擎77可以确定在数据流中已经发生分组重传。通过确定在数据流中发送的重复分组的量,sla管理引擎77可以确定数据流中的分组的重传量。
67.sla管理引擎77可以至少部分地基于数据流的分组的往返时间和在数据流的分组的传输期间的重传量来确定针对与应用相关联的sla的往返时间参数。具体地,sla管理引擎77可以确定数据流中的分组的重传量是否低于重传阈值。在一些示例中,重传阈值可以指定重传率,其可以是作为数据流的一部分传输的每指定数量的分组当中的重传次数。在一些示例中,重传阈值可以是一个数,诸如1、2、3等。在一些示例中,如果数据流中的分组的重传量为零(即,数据流中没有分组重传),则sla管理引擎77可以确定数据流中的分组的重传量低于重传阈值。
68.如果sla管理引擎77确定数据流中的分组的重传量低于重传阈值,那么sla管理引擎77可以基于针对数据流的分组确定的往返时间来确定针对与应用相关联的sla的往返时间参数。在一些示例中,sla管理引擎77可以根据针对数据流的分组确定的往返时间来确定针对数据流的往返时间,并且可以将针对sla的往返时间参数设置为所确定的往返时间。然而,如果sla管理引擎77确定数据流中的分组的重传量处于或高于重传阈值,那么sla管理引擎77可以制止基于针对数据流的分组确定的往返时间来确定针对与应用相关联的sla的往返时间参数。
69.在一些示例中,如果针对数据流的分组确定的所有往返时间都具有相同值,那么sla管理引擎77可以将针对数据流的往返时间确定为针对数据流的分组的往返时间中的任一个的值。在一些示例中,sla管理引擎77可以将数据流的往返时间确定为针对数据流的分组的往返时间的平均往返时间值或中值往返时间值。在一些示例中,sla管理引擎77可以将针对数据流的往返时间确定为针对数据流的分组的往返时间中的最大往返时间值。sla管理引擎77还可以使用任何其他合适的技术以根据针对数据流的分组确定的往返时间来确定针对数据流的往返时间。
70.如果针对与应用相关联的sla的往返时间参数还没有被确定,那么sla管理引擎77可以将与应用相关联的sla的相关联的往返时间参数预测为数据流的往返时间,并且将所预测的针对应用的往返时间参数存储在sla数据库79中。如果与应用相关联的sla的往返时间参数已经被事先确定、并且被存储在sla数据库79中,那么sla管理引擎77可以将数据流的当前确定的往返时间和针对与应用相关联的sla的往返时间参数进行比较,以确定是否将针对与应用相关联的sla的往返时间参数设置为数据流的当前确定的往返时间。具体地,sla管理引擎77可以确定数据流的当前确定的往返时间是否大于针对与应用相关联的sla的往返时间参数。
71.如以上所描述的,将针对与应用相关联的sla的往返时间参数设置为较大的值可以增加具有满足体验质量的体验质量度量的链路的数量。因此,sla管理引擎77可以响应于确定数据流的当前确定的往返时间大于针对与应用相关联的sla的往返时间参数,将针对与应用相关联的sla的往返时间参数设置为数据流的当前确定的往返时间。在一些示例中,sla管理引擎77还可以将针对与应用相关联的sla的抖动参数设置为针对数据流的抖动,并且可以将针对应用的抖动参数存储在sla数据库79中。例如,针对数据流的抖动可以是由sla管理引擎77确定的数据流的平均或中值抖动。sla管理引擎77可以因此将针对应用确定的sla参数存储在sla数据库79中。
72.sla管理引擎77可以执行自学习,以自适应地确定针对与应用相关联的sla的往返时间参数。即,sla管理引擎77可以连续地确定针对与应用相关联的sla的往返时间参数。在一些示例中,因为用于传输数据流链路的特性可以改变,诸如链路承载的负载的量的改变,所以通过链路传输的数据流的分组的往返时间也可以随着时间而改变。因此,sla管理引擎77可以实际上将通过链路传输的应用的数据流的分组划分成分组的顺序组,并且可以确定数据流中分组的每个组的往返时间和重传量。例如,sla管理引擎77可以确定数据流的第一个100个分组的往返时间和重传量,确定数据流的第二个100个分组的往返时间和重传量,确定数据流的第三个100个分组的往返时间和重传量,等等。
73.因此,响应于确定在应用服务器与客户端设备之间的链路上被传输的应用的数据
流的第一组分组的分组的往返和分组的重传量,sla管理引擎77可以使用以上描述的技术,来确定在应用服务器与客户端设备之间的链路上被传输的应用的数据流的第二组分组的分组的往返时间和分组的重传量。例如,sla管理引擎77可以监测针对数据流的第二组分组的数据流的分组的往返时间,以确定数据流的第二组分组的往返时间。类似地,sla管理引擎77通过例如确定第二组分组的数据流的分组的重传量,可以确定在数据流的第二组分组的传输期间的重传量。
74.sla管理引擎77可以至少部分地基于数据流的第二组分组的往返时间、以及在数据流的第二组分组的传输期间的重传量,来确定是否更新针对与应用相关联的sla的往返时间参数,诸如通过将针对sla的经更新的往返时间参数存储在sla数据库79中。即,如果sla管理引擎77确定第二组分组的数据流的分组的重传量低于重传阈值,那么sla管理引擎77可以确定是否将针对与应用相关联的sla的往返时间设置为数据流的第二组分组的往返时间。
75.具体地,如果sla管理引擎77确定第二组分组的数据流的分组的重传量低于重传阈值,并且如果sla管理引擎77确定数据流的第二组分组的往返时间大于针对与应用相关联的sla的往返时间参数,那么sla管理引擎77可以将针对与应用相关联的sla的往返时间参数设置为数据流的第二组分组的往返时间参数。以这种方式,sla管理引擎77可以连续地确定针对与应用相关联的sla的往返时间参数。
76.因此,例如,如果sla管理引擎77确定数据流的第一组分组的往返时间是30ms,并且第一组分组的数据流的分组的重传量低于重传阈值,那么sla管理引擎77可以通过将30ms的往返参数存储到sla数据库79,来将针对与应用相关联的sla的往返时间参数设置为30ms。
77.随后,sla管理引擎77确定数据流的第二组分组的往返时间是50ms。然而,如果sla管理引擎77确定第二组分组的数据流的分组的重传量处于或高于重传阈值,那么sla管理引擎77可以制止将针对与应用相关联的sla的往返时间参数设置为50ms,诸如制止将50ms的往返参数存储到sla数据库79。随后,如果sla管理引擎77确定数据流的第三组分组的往返时间是40ms,并且第三组分组的数据流的分组的重传量低于重传阈值,那么sla管理引擎77可以通过将40ms的往返时间参数存储到sla数据库79,来将针对与应用相关联的sla的往返时间参数设置为40ms。以这种方式,sla管理引擎77可以连续地确定针对与应用相关联的sla的往返时间参数。
78.在一些示例中,sla管理引擎77可以监测sd-wan系统2中的不同链路上的应用的多个数据流,以自适应地确定针对与应用相关联的sla的往返时间参数。例如,sla管理引擎77可以使用以上描述的技术,来确定在第一链路上被传输的应用的第一数据流的分组的分组的往返时间和分组的重传量。sla管理引擎77还可以使用以上描述的技术,来确定在第二链路上被传输的应用的第二数据流的分组的分组的往返时间和分组的重传量,其中,第一链路和第二链路上的第一数据流和第二数据流的传输是至少部分地并发的。
79.sla管理引擎77可以响应于确定第一数据流中的分组的重传量低于重传阈值,将针对与应用相关联的sla的往返时间参数设置为第一数据流的往返时间。随后,如果sla管理引擎77确定第二数据流中的分组的重传量低于重传阈值,那么确定是否将针对与应用相关联的sla的往返时间参数设置为针对第二数据流的往返时间。具体地,如果sla管理引擎
77确定第二数据流的往返时间大于针对与应用相关联的sla的往返时间参数,则sla管理引擎77可以将针对与应用相关联的sla的往返时间参数设置为第二数据流的往返时间。以这种方式,sla管理引擎77可以利用在多个不同链路上被传输的应用的数据流来确定针对与应用相关联的sla的往返时间参数。
80.如以上所描述的,sd-wan设备60可以将诸如针对与应用相关联的sla的往返时间、抖动参数等的参数存储在sla数据库79中。sd-wan设备60还可以能够将与不同应用相关联的sla的参数存储在sla数据库79中。sd-wan设备60可以能够经由任何合适的技术(诸如通过从例如应用服务器接收这样的应用的标识,通过执行深度分组检查,等等)识别与数据流相关联的应用。在一些示例中,针对sd-wan设备60无法识别的应用,sd-wan设备60可以能够至少部分地基于应用的数据流来确定应用签名并且可以将针对sla的参数与sla数据库79中的应用相关联。
81.在一些示例中,sd-wan设备60可以确定并记录应用的数据流的流量模式,以便确定应用的应用签名和/或识别来自相同应用的未来流量流。例如,sla管理引擎77可以记录应用的数据流的流量模式,诸如每秒的分组、分组间延迟、数据流内的分组的爆发、数据流的会话持续时间等,以确定应用的应用签名。当sd-wan设备60监测未来的数据流时,sd-wan设备60可以分析数据流的流量模式以识别与数据流相关联的应用(或应用签名)。
82.通过识别与由sd-wan设备60监测的数据流相关联的应用,sd-wan设备60可以确定是否有相关联的sla被存储在sla数据库79中。sd-wan设备60可以响应于识别到与由sd-wan设备60监测的数据流相关联的应用,确定与该应用相关联的sla是否被存储在sla数据库79中。
83.响应于确定与应用相关联的sla被存储在sla数据库79中,sd-wan设备60可以将应用的数据流分配给具有满足与应用相关联的sla的体验质量度量的特定链路。即,sd-wan设备60可以将应用的数据流分配给满足与应用相关联的sla的往返时间和/或抖动参数的特定链路。例如,sd-wan设备60可以将与应用相关联的sla的指示发送到网络设备,诸如图2的sd-wan设备56,其可以选择和/或改变用于传输应用的数据流的链路。网络设备可以响应于接收到与应用相关联的sla,将应用的数据流分配给具有满足与应用相关联的sla的体验质量度量的特定链路。以这种方式,通过自适应地确定应用的sla的一个或多个参数,sd-wan设备60使得应用的数据流能够在非常适合于该应用的链路上传输。
84.图4是图示了根据本公开的技术的自适应地确定针对应用的服务级别协议的用于软件定义广域网系统的示例技术的流程图。这些技术可以参考图3的sd-wan设备60来描述。
85.根据本文描述的技术,sd-wan设备60可以监测在应用服务器与客户端设备之间的链路上传输的应用的数据流的多个分组的往返时间(102)。sd-wan设备60可以确定在数据流的多个分组的传输期间发生的分组的重传量(104)。例如,sd-wan设备60可以确定在数据流的多个分组的传输期间发生的分组的重传量。
86.sd-wan设备60可以至少部分地基于数据流的多个分组的往返时间和在数据流的多个分组的传输期间发生的分组的重传量来预测针对与应用相关联的服务级别协议(sla)的往返时间参数(106)。
87.例如,sd-wan设备60可以确定在数据流的多个分组的传输期间发生的分组的重传量是否低于预定义的重传阈值,并且可以响应于确定在数据流的多个分组的传输期间发生
的分组的重传量低于预定义的重传阈值,至少部分地基于数据流的多个分组的往返时间来预测针对与应用相关联的sla的往返时间参数。例如,sd-wan设备60可以基于应用的数据流的多个分组的往返时间来确定往返时间并且可以将针对sla的往返时间参数设置为该往返时间。
88.在一些示例中,sd-wan设备60可以响应于预测针对与应用相关联的sla的往返时间参数,监测应用的数据流的第二多个分组的往返时间。sd-wan设备60可以确定在数据流的第二多个分组的传输期间的重传量。sd-wan设备60可以至少部分地基于数据流的第二多个分组的往返时间和在数据流的第二多个分组的传输期间发生的重传量来确定是否更新针对与应用相关联的sla的往返时间。
89.在一些示例中,sd-wan设备60可以确定在数据流的第二多个分组的传输期间的分组的重传量。sd-wan设备60可以确定在数据流的第二多个分组的传输期间发生的分组的重传量是否低于预定义的重传阈值。sd-wan设备60可以基于应用的数据流的第二多个分组的往返时间来确定往返时间。sd-wan设备60可以响应于确定在数据流的第二多个分组的传输期间发生的分组的重传量低于预定义的重传阈值并且往返时间大于针对与应用相关联的sla的往返时间参数,将针对sla的往返时间参数设置为该往返时间。
90.在一些示例中,应用的数据流的第二多个分组包括在应用服务器与客户端设备之间的链路上传输的应用的数据流的第二多个分组。在一些示例中,在应用服务器与客户端设备之间传输的应用的数据流的第二多个分组包括在第二链路上传输的应用的数据流的第二多个分组。
91.在一些示例中,数据流的多个分组经由传输控制协议被传输。
92.在一些示例中,sd-wan设备60可以将应用的第二数据流分配给具有满足与应用相关联的sla的体验质量度量的特定链路。
93.在一些示例中,sd-wan设备60可以包括软件定义网络(sdn)设备或任何其他软件定义广域网设备。
94.本文描述的技术可以以硬件、软件或其任何组合来实现。被描述为模块、单元或组件的各种特征可以被一起实现在集成逻辑设备中或者被单独地实现为分立的但是可互操作的逻辑设备或其他硬件设备。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路设备,诸如集成电路芯片或芯片组。
95.如果以硬件来实现,那么本公开可以涉及一种装置,诸如处理器或集成电路设备,诸如集成电路芯片或芯片组。备选地或额外地,如果以软件或固件来实现,那么本技术可以至少部分地通过包括指令的计算机可读数据存储介质来实现,指令当被运行时使处理器执行以上描述的方法中的一个或多个。例如,计算机可读数据存储介质可以存储用于由处理器运行的这种指令。
96.计算机可读介质可以形成计算机程序产品的部分,其可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机访问存储器(ram)、只读存储器(rom)、非易失性随机访问存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪速存储器、磁性或光学数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
97.在一些示例中,计算机可读存储介质可以包括非瞬态介质。术语“非瞬态”可以指示未实现在载波或传播信号中的存储介质。在某些示例中,非瞬态存储介质可以存储随时
间变化(例如,ram或缓存中的)的数据。
98.代码或指令可以是由处理电路运行的软件和/或固件,处理电路包括一个或多个处理器,诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或其他等效集成或分立的逻辑电路。因此,如本文所使用的术语“处理器”可以是指适合于实现本文描述的技术的任何前述结构或任何其他结构。另外,在一些方面中,本公开中描述的功能可以被提供在软件模块或硬件模块内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献