CN111766837A - 使用集中式控制器计划和管理网络探测 - Google Patents
使用集中式控制器计划和管理网络探测 Download PDFInfo
- Publication number
- CN111766837A CN111766837A CN201910943136.9A CN201910943136A CN111766837A CN 111766837 A CN111766837 A CN 111766837A CN 201910943136 A CN201910943136 A CN 201910943136A CN 111766837 A CN111766837 A CN 111766837A
- Authority
- CN
- China
- Prior art keywords
- node
- link
- links
- network
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000523 sample Substances 0.000 title claims abstract description 165
- 238000013439 planning Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 146
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 40
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 12
- 230000002441 reversible effect Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 28
- 238000003860 storage Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 16
- 238000005259 measurement Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013499 data model Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 235000008694 Humulus lupulus Nutrition 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000000899 pressurised-fluid extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- WDQKVWDSAIJUTF-GPENDAJRSA-N via protocol Chemical compound ClCCNP1(=O)OCCCN1CCCl.O([C@H]1C[C@@](O)(CC=2C(O)=C3C(=O)C=4C=CC=C(C=4C(=O)C3=C(O)C=21)OC)C(=O)CO)[C@H]1C[C@H](N)[C@H](O)[C@H](C)O1.C([C@H](C[C@]1(C(=O)OC)C=2C(=C3C([C@]45[C@H]([C@@]([C@H](OC(C)=O)[C@]6(CC)C=CCN([C@H]56)CC4)(O)C(=O)OC)N3C=O)=CC=2)OC)C[C@@](C2)(O)CC)N2CCC2=C1NC1=CC=CC=C21 WDQKVWDSAIJUTF-GPENDAJRSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33139—Design of industrial communication system with expert system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
- H04L45/037—Routes obligatorily traversing service-related nodes
- H04L45/0377—Routes obligatorily traversing service-related nodes for service chaining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及使用集中式控制器计划和管理网络探测。大体上,本公开描述了用于测量基于边缘的体验质量(QoE)度量的技术。例如,网络装置可以构造网络的拓扑表示,拓扑表示包括网络内的节点和连接节点的链路的指示。至于每个链路,网络装置可以选择由相应链路连接的两个节点装置中的一个节点装置,以测量相应链路的一个或多个QoE度量,其中,非选定节点装置不测量QoE度量。响应于选择该选定节点装置,网络装置可以接收从选定节点装置流动至非选定节点装置的数据流的相应链路的一个或多个QoE度量的集合。网络装置可以存储QoE度量并且确定用于从非选定节点装置流动至选定节点装置的数据流的相对的QoE度量。
Description
技术领域
本公开涉及计算机网络。
背景技术
在过去的几十年间,互联网已经从包括几个节点的小网络成倍增长为服务十亿以上用户的世界范围的普遍网络。现今,个人订户不局限于通过网络利用语音和/或数据下载运行几个网络会话。而是,订户使用的服务范围从多媒体游戏、音频和视频流、web服务、IP语音(VoIP)等广泛变化。随着新技术渗透,诸如,增加使用物联网(IoT)和M2M(机器对机器)通信,给定订户可能需要的网络服务和软件应用也从几个会话改变为具有平行流的多个会话。因为订户越来越多地同时运行多个应用、服务、交易,因此这个数字在迅速增加。订户会话和分组流的增加量和种类在诸如延迟、滞后和抖动等网络性能方面给网络服务提供商造成挑战。
发明内容
大体上,本公开描述了集中式控制器使用网络拓扑信息根据高级意图配置开发探测计划以确定网络中链路的应用体验质量(QoE)度量的技术。例如,诸如执行本文中描述的技术的软件定义网络(SDN)控制器等控制器可以评估诸如软件广域网(SD-WAN)等网络的拓扑,确定连接哪个节点并且每个节点直接连接至几个其他节点。SDN控制器可以评估通信流量以构建用于评估的网络拓扑。该拓扑还可以指示哪个节点正在各种链路上执行探测过程。使用该拓扑,SDN控制器可以修改在拓扑中执行的探测计划,诸如通过从拓扑删除以停止SDN控制器确定是多余的一些探测过程,减少网络中的总体通信量。
在一些SD-WAN中,SDN控制器可以指定客户端装置与应用服务器之间的数据流的路径。这些路径一般使用服务等级协议(SLA)参数和WAN链路的各种QoE度量选择。SLA参数实际上可以更静态,或者至少在SD-WAN设备接收该流之前是预定的,而各种WAN链路的度量可以更动态,因为描述特定的WAN链路的能力的度量可以基于网络的各种当前方面改变。这些度量通过在各种链路上发送探测分组和分析传送结果获得,其中,具有与数据流中的数据分组相同大小的探测分组合理地测量特定的WAN链路可以如何处理数据流。
通过网络内的链路发送的探测分组可以占据有价值的带宽和其他资源,因为节点(例如,SD-WAN设备)正在将数据插入除了必须通过链路传送的正常的应用通信量之外的流中。当每个节点装置正在通过连接至相应节点的每个链路传送多个探测分组时,通过链路传送的附加数据的量可以是大的。仅当节点设备在由多条链路组成的复杂路径上发送探测数据包以努力确定复杂路径的QoE指标时,此问题才变得更加复杂。
不是指示每个节点装置测量连接至SD-WAN中节点装置和/或每个其他节点装置的每个链路(包括复杂路径上)的QoE度量,本文中描述的技术可以选择由特定链路连接的两个节点的单个节点测量特定链路的QoE度量。SDN控制器然后可以循环通过链路并且选择由相应链路连接的两个节点中的一个测量用于该特定链路的QoE度量。从该测得的QoE度量的集合中,SDN控制器可以推断数据以估计相同链路上的相反方向的QoE度量和由多个链路(包括为其测量QoE度量的链路)组成的复杂路径的QoE度量。例如,SDN控制器可以使用测得的QoE度量作为链路的相反方向(例如,从非选定节点装置流动至选定节点装置的方向)的QoE度量。
使用本文中描述的技术可能具有一个或多个优势。尽管在所有情况下实际度量可能不同,但是特定链路在每个方向上通常将具有相似的QoE度量。类似地,当通过包括多个链路的复杂路径发送探测分组时,尽管QoE度量可能不是精确地组成复杂路径的链路的组合,但是采用跨每个链路的QoE度量的组合仍然可以为路径提供QoE度量的准确估计。因而,以由本公开的技术描述的方式估计节点装置之间的各种链路的QoE度量可以极大减少由节点装置消耗的带宽和其他资源,以努力可靠地确定整个网络的QoE度量。因为节点装置具有较少的探测分组生成和处理,因此这还可以提高每个单独的节点装置的效率,包括减少中央处理单元(CPU)使用率、存储器使用、以及每个单独的节点装置的功率消耗,从而改善节点装置的功能。
进一步地,SDN控制器可以捕捉用户意图(例如,以经由合成探测测量网络上的用户图表协议(UDP)性能)。SDN控制器还可以分析网络拓扑且建造当前拓扑的映射,所有这些都可以利用现有探测。SDN控制器可以通过使用单个测量推断来源于相同装置的反向路径和额外逻辑路径(例如,VPN等)的QoE度量来减少冗余。SDN控制器可以删除探测以避免重复和冗余(例如,反向路径上的装置不需要再次探测)。SDN控制器可以可替换地或此外重新分布探测以保证拓扑(或拓扑内的子集)上的均匀分布。换言之,假设网络拓扑的潜在非均匀性,SDN控制器可以在各个节点装置之间执行重新分布探测责任的算法,使得没有单个节点装置承担探测大量不相等链路的任务。
SDN控制器可以平衡装置上的现有接口以配置和监测该探测。该架构还可以维持该意图映射以使探测相关度量(例如,抖动、分组丢失等)相关。通过利用该SDN控制器,网络管理员可以更好地看到网络状态以帮助做出更好计划。
在本文中描述的技术的一个实例中,描述了一种方法,该方法包括由用于包括多个节点装置的网络的网络装置构造网络的拓扑表示,其中,拓扑表示包括多个节点装置中的每一个的指示和多个链路中的每个链路的指示,每个链路连接多个节点装置中的两个节点装置。该方法还包括,对于多个链路中的每一个,由网络装置并且基于网络的拓扑表示,选择由相应链路连接的两个节点装置中的一个节点装置,以测量相应链路的一个或多个体验质量(QoE)度量,其中,非选定节点装置不测量相应链路的QoE度量;响应于选择该选定节点装置测量相应链路的一个或多个QoE度量,由网络装置从选定节点装置接收相应链路的一个或多个QoE度量的集合,其中,一个或多个QoE度量的集合指示从选定节点装置流动至非选定节点装置的数据流的QoE度量;由网络装置将相应链路的QoE度量的集合存储在数据库中;以及由网络装置基于相应链路的一个或多个QoE度量的集合确定指示从非选定节点装置流动至选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
在本文中描述的技术的另一实例中,描述了网络装置。网络装置包括存储器。网络装置还包括与存储器通信的一个或多个处理器。一个或多个处理器被配置为对于包括多个节点装置的网络,构造网络的拓扑表示,其中,拓扑表示包括多个节点装置中的每一个的指示和多个链路中的每个链路的指示,每个链路连接多个节点装置中的两个节点装置。一个或多个处理器还被配置为对于多个链路中的每一个,基于网络的拓扑表示,选择由相应链路连接的两个节点装置中的一个节点装置测量相应链路的一个或多个体验质量QoE度量,其中,非选定节点装置不测量相应链路的QoE度量;响应于选择选定节点装置测量相应链路的一个或多个QoE度量,从选定节点装置接收相应链路的一个或多个QoE度量的集合,其中,一个或多个QoE度量的集合指示从选定节点装置流动至非选定节点装置的数据流的QoE度量;将相应链路的QoE度量的集合存储在数据库中;以及基于用于相应链路的一个或多个QoE度量的集合确定指示从非选定节点装置流动至选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
在本文中描述的技术的另一实例中,描述了非易失性计算机可读存储介质,该非易失性计算机可读存储介质将指令存储在其上,当执行时这些指令使得一个或多个处理器经由软件定义网络(SDN)装置的执行为包括多个节点装置的网络构造该网络的拓扑表示,其中,该拓扑表示包括多个节点装置中的每一个的指示和多个链路中的每个链路的指示,每个链路连接多个节点装置中的两个节点装置。当执行时,这些指令还使得一个或多个处理器对多个链路中的每一个:基于网络的拓扑表示选择由相应链路连接的两个节点装置中的一个节点装置测量相应链路的一个或多个体验质量(QoE)度量,其中,非选定节点装置不测量相应链路的QoE度量;响应于选择选定节点装置测量相应链路的一个或多个QoE度量,从选定节点装置接收相应链路的一个或多个QoE度量的集合,其中,一个或多个QoE度量的集合指示从选定节点装置流动至非选定节点装置的数据流的QoE度量;将相应链路的QoE度量的集合存储在数据库中;以及基于用于相应链路的一个或多个QoE度量的集合确定指示从非选定节点装置流动至选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
在本文中描述的技术的另一实例中,描述了一种方法,该方法包括由网络装置接收指示用于测量网络中的应用体验质量(QoE)的用户意图的配置数据,该网络包括多个节点装置和多个链路,每个链路连接多个节点装置中的两个节点装置。该方法还包括由网络装置构造网络的拓扑表示,其中,拓扑表示包括多个节点装置中的每一个的指示和所多个链路中的每个链路的指示。该方法还包括由网络装置基于用户意图和网络的拓扑表示修改初始探测列表中的一个或多个条目以创建修改探测列表,其中,初始探测列表包括多个条目,其中,每个条目指示多个节点中的正在执行用于多个链路中的特定链路的探测过程的特定节点装置。该方法还包括由网络装置根据修改探测列表指示多个节点装置中的一个或多个节点装置在修的探测列表中的对应条目中的相应链路上执行探测过程,其中,探测过程生成相应链路的应用QoE度量数据。该方法还包括响应于从一个或多个节点装置接收指示执行探测过程的应用QoE度量数据,由网络装置聚合应用QoE度量数据。
在本文中描述的技术的另一实例中,描述了网络装置。网络装置包括存储器。网络装置还包括与存储器通信的一个或多个处理器。一个或多个处理器被配置为接收指示出测量网络中的应用体验质量(QoE)的用户意图的配置数据,该网络包括多个节点装置和多个链路,每个链路连接多个节点装置中的两个节点装置。一个或多个处理器还被配置为构造网络的拓扑表示,其中,该拓扑表示包括多个节点装置中的每一个的指示和多个链路中的每个链路的指示。一个或多个处理器还被配置为基于用户意图和网络的拓扑表示修改初始探测列表中的一个或多个条目以创建修改探测列表,其中,初始探测列表包括多个条目,其中,每个条目指示多个节点中的正在执行用于所述多个链路中的特定链路的探测过程的特定节点装置。一个或多个处理器还被配置为根据修改探测列表指示多个节点装置中的一个或多个节点装置在修改探测列表中的对应条目中的相应链路上执行探测过程,其中,探测过程生成相应链路的应用QoE度量数据。一个或多个处理器还被配置为响应于从指示执行探测过程的一个或多个节点装置接收应用QoE度量数据,聚合应用QoE度量数据。
在本文中描述的技术的另一实例中,描述了非易失性计算机可读存储介质,该非易失性计算机可读存储介质将指令存储在其上,当执行时这些指令使得一个或多个处理器经由软件定义网络(SDN)装置的执行接收指示用于测量包括多个节点装置和多个链路的网络中的应用体验质量(QoE)的用户意图,每个链路连接多个节点装置中的两个节点装置。这些指令还使得一个或多个处理器构造网络的拓扑表示,其中,该拓扑表示包括多个节点装置中的每一个的指示和多个链路中的每个链路的指示。这些指令还使得一个或多个处理器基于用户意图和网络的拓扑表示修改初始探测列表中的一个或多个条目以创建修改探测列表,其中,初始探测列表包括多个条目,其中,每个条目指示多个节点中正在执行用于多个链路中的特定链路的探测过程的特定节点装置。这些指令还使得一个或多个处理器根据修改探测列表指示多个节点装置中的一个或多个节点装置在修改探测列表中的对应条目中的相应链路上执行探测过程,其中,探测过程生成用于相应链路的应用QoE度量数据。这些指令还使得一个或多个处理器响应于从指示执行探测过程的一个或多个节点装置接收应用QoE度量数据,聚合应用QoE度量数据。
在附图和以下描述中阐述了一个或多个实例的细节。其他特征、目的和优点将从说明书和附图以及从权利要求中显而易见。
附图说明
图1是示出了根据本公开的技术的执行基于边缘的路由技术的示例性软件定义广域网系统的框图。
图2是示出了根据本公开的一个或多个技术的示例性软件定义广域网的框图。
图3是示出了根据本公开的技术的被配置为执行基于边缘的路由技术的一个或多个功能的示例性软件定义广域网控制器的框图。
图4是示出了根据本公开的技术的被配置为执行基于边缘的路由技术的一个或多个功能的示例性软件定义广域网设备的框图。
图5是示出了根据本公开的技术的用于软件定义广域网系统中的多个节点的示例性拓扑的概念流程图。
图6是示出了根据本公开的技术的被配置为执行基于边缘的路由技术的云控制器的示例性架构的概念图。
图7是示出了根据本公开的技术的执行用于网络中的节点的基于边缘的路由功能的软件定义广域网系统的示例性技术的流程图。
图8是示出了根据本公开的技术的进行用于网络中的节点的基于边缘的路由功能的软件定义广域网系统的示例性技术的流程图。
具体实施方式
图1是示出了根据本文中描述的实例的执行基于边缘的路由技术的示例性软件定义广域网系统2的框图。
图1的示例性网络系统包括SD-WAN系统2,作为专用网操作,以将基于分组的网络服务提供至订户装置16。即,SD-WAN系统2为订户装置16提供网络接入的认证和建立,使得订户装置可以开始与公用网络12交换数据分组,该公用网络可以是内部或外部的基于分组的网络,诸如,互联网。
在图1的实例中,SD-WAN系统2包括经由服务提供商软件定义广域网7(在下文中,“SD-WAN 7”)和路由器8提供至公用网络12的连接的接入网络6。SD-WAN 7和公用网络12提供可用于订户装置16请求和使用的基于分组的服务。作为实例,SD-WAN 7和/或公用网络12可以提供批量数据递送、语音互联网协议(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服务。
通常,订户装置16经由接入网络6连接至网关路由器8以接收与由公用网络12或路由器9托管的应用的订户服务的连接。例如,订户可以表示企业、家庭订户或移动订户。例如,订户装置16可以是个人计算机、便携式计算机或放置在客户设备(CE)11后面的其他类型的计算装置,这可以提供本地路由和切换功能。订户装置16中的每一个可以运行各种软件应用,诸如,文字处理和其他办公支持软件、网络浏览软件、支持语音呼叫、视频游戏、视频会议和电子邮件的软件等。例如,订户装置16可以是各种网络使能装置,通常被称为“物联网”(IoT)装置,诸如,相机、传感器、电视机、设备等。此外,订户装置16可以包括经由无线电接入网络(RAN)6接入SD-WAN系统2的数据服务的移动装置。示例性移动订户装置包括移动电话、例如具有3G无线卡的膝上型或台式计算机、无线上网本、视频游戏装置、寻呼机、智能电话、个人数据助理(PDA)等。
网络服务提供商操作或者在一些情况下租赁接入网络6的元件以在订户装置16与路由器8之间提供分组传输。接入网络6表示聚合来自一个或多个订户装置16的数据通信量以用于传输至服务提供商的SD-WAN 7和/或从服务提供商的SD-WAN 7传输的网络。接入网络6包括执行通信协议以传输控制和用户数据以促进订户装置16与路由器8之间的通信的网络节点。接入网络6可包括宽带接入网络、无线LAN、公用交换电话网(PSTN)、客户前端设备(CPE)网络或者其他类型的接入网络,并且可包括诸如无线电接入网络(RAN)(未示出)等蜂窝接入网络或者以其他方式为该蜂窝接入网络提供连接。实例包括符合通用移动电信系统(UMTS)架构、称为长期演进(LTE)的UMTS的演进、由互联网工程任务组(IETF)标准化的移动IP、以及由第三代合作伙伴计划(3GPP)、第三代合作伙伴计划2(3GGP/2)和WiMAX论坛提出的其他标准的网络。
SD-WAN设备18可以是客户边缘(CE)路由器、提供商边缘(PE)路由器、或者接入网络6与SD-WAN 7之间的其他网络装置。SD-WAN 7提供与附接至接入网络6的订户装置16的基于分组的连接,以用于接入公用网络12(例如,互联网)。SD-WAN 7可以表示由服务提供商拥有和操作的公用网络以使可包括接入网络6的多个网络相互连接。在一些实例中,SD-WAN 7可以实现多协议标签交换(MPLS)转发,并且在这种情况下,可被称为MPLS网络或MPLS主干。在有些情况下,SD-WAN 7表示多个相互连接的自主系统,诸如互联网,其从一个或多个服务提供商提供服务。公用网络12可以表示互联网。公用网络12可以表示经由转接网络22和一个或多个网络装置耦接至SD-WAN 7的边缘网络,例如,诸如客户边缘交换机或路由器的客户边缘装置。公用网络12可包括数据中心。路由器8可以经由虚拟网络20与服务节点10交换分组,并且路由器8可以经由转接网络22将分组转发至公用网络12。
在包括有线/宽带接入网络的网络2的实例中,路由器8可以表示宽带网络网关(BNG)、宽带远程访问服务器(BRAS)、MPLS PE路由器、核心路由器或网关、或者电缆调制解调器终止系统(CMTS)。在包括蜂窝接入网络作为接入网络6的网络2的实例中,路由器8可以表示移动网关,例如,网关通用分组无线业务(GPRS)服务节点(GGSN)、接入网关(aGW)、或者分组数据网络(PDN)网关(PGW)。在其他实例中,关于路由器8描述的功能可以在交换机、服务卡或另一个网络元件或部件中实现。在一些实例中,路由器8本身可以是服务节点。
管理网络2的至少一部分的网络服务提供商一般将服务提供至与接入SD-WAN系统2的装置(例如,订户装置16)相关联的订户。例如,提供的服务可包括传统的互联网接入、VoIP、视频和多媒体业务和安全业务。如以上相对于SD-WAN 7描述的,SD-WAN 7可以支持连接至服务提供商网络接入网关以提供接入提供的服务的多种类型的接入网络基础设施。在有些情况下,网络系统可包括附接至具有变化架构的多个不同的接入网络6的订户装置16。
通常,任意一个或多个订户装置16可以通过将会话请求发送至诸如SD-WAN设备18或路由器8等网关装置请求授权和数据服务。接着,软件定义广域网(“SD-WAN”)设备18可以接入诸如认证、授权和计费(AAA)服务器的中央服务器(未示出)以认证请求网络接入的一个订户装置16。一旦认证,任何订户装置16可以朝向SD-WAN 7发送订户数据通信量以访问和接收由公用网络12提供的服务,并且这种分组可以作为至少一个分组流的一部分穿过路由器8。在一些实例中,SD-WAN设备18可以将所有认证的订户通信量转发至公用网络12,并且如果订户通信量需要服务节点10上的服务,则路由器8可以将服务15应用于数据中心9和/或将特定的订户通信量引导至数据中心9。可以在服务节点10上托管要应用于订户通信量的应用(例如,服务应用)。
例如,当转发订户通信量时,路由器8可以通过在安装在路由器8内的一个或多个服务卡上执行的服务15引导单独的订户分组流。此外,或者可替换地,SD-WAN系统2包括数据中心9,该数据中心具有为最虚拟化的网络服务提供执行环境的一串服务节点10。在一些实例中,服务节点10中的每一个表示服务实例。服务节点10中的每一个可以将一个或多个服务应用于通信流量。因而,路由器8可以通过由服务节点10提供的定义的服务集操纵订户分组流。即,在一些实例中,每个订户分组流可以通过由服务节点10提供的服务的特定的有序组合转发,每个有序集在本文中被称为“服务链”。作为实例,服务15和/或服务节点10可以应用状态防火墙(SFW)和安全服务、深度包检测(DPI)、营运商级别网络地址转换(CGNAT)、通信目的地功能(TDF)服务、媒体(语音/视频)最优化、网络协议安全(IPSec)/虚拟专用网络(VPN)服务、分组流的超文本传送协议(HTTP)过滤、计数、计费、充值、和/或负载均衡、或者应用于网络通信量的其他类型的服务。
在图1的实例中,订户分组流可以沿着包括服务15和/或由服务节点10应用的服务中的任一个的服务链引导。一旦在服务链的终端节点处被处理,即,最后服务应用于沿着特定服务路径流动的分组,则可以将通信量引导至公用网络12。
鉴于“服务链”定义要以特定顺序应用的一个或多个服务,以提供用于绑定至服务链的分组流的应用的复合服务,“服务隧道”或“服务路径”是指由通过服务链处理的分组流采用的逻辑和/或物理路径,以及根据服务链排序转发分组流的转发状态。每个服务链可以与各个服务隧道相关联,并且与每个订户装置16相关联的分组流根据与各个订户相关联的服务档案沿着服务隧道流动。例如,给定的订户可以与特定的服务档案相关联,接着被映射至与特定服务链相关联的服务隧道。类似地,另一个订户可以与不同的服务档案相关联,接着被映射至与不同服务链相关联的服务隧道。在一些实例中,在SD-WAN设备18认证和建立用于订户的访问会话之后,SD-WAN设备18或路由器8可以沿着适合的服务隧道引导用于订户的分组流,从而使得数据中心9应用给定订户的必要的有序服务。在一些实例中,SDN控制器14还可以将转发规则集提供至SD-WAN设备18或路由器8用于管理转发路径。在一些实例中,SDN控制器14管理起始于路由器8穿过数据中心9中的所有元素的转发路径。
在一些实例中,服务节点10可以使用内部配置的转发状态实现服务链,该状态沿着根据所识别的服务节点10的集合处理的服务链引导分组流的分组。这种转发状态可以指定使用诸如IP或通用路由封装(GRE)隧道的网络隧道、使用GRE的网络虚拟化(NVGRE),或者通过使用VLAN、虚拟可扩展的LAN(VXLAN)、MPLS技术等在服务节点10之间隧穿的隧道接口。在有些情况下,相互连接服务节点10的真实或虚拟交换机、路由器或其他网络元件可以被配置为根据服务链将分组流引导至服务节点10。
在图1的实例中,SD-WAN系统2包括软件定义网络(SDN)和网络功能虚拟化(NFV)架构。SDN控制器装置14可以提供用于配置和管理SD-WAN系统2的路由和交换基础设施的高级控制器。尽管本文中描述的一些实例涉及执行本文中描述的基于边缘的路由技术的SD-WAN设备18,但是SDN控制器14还可以执行用于SD-WAN系统2的这些技术。NFV协调器装置13可以提供用于配置和管理网络服务的虚拟化进入数据中心9的服务节点10的高级协调器。在有些情况下,SDN控制器14管理数据中心9的操作环境内的虚拟机(VM)的部署。例如,SDN控制器14可以与提供商边缘(PE)路由器8交互以指定在下面更详细地描述的服务链信息。例如,由SDN控制器14提供的服务链信息可以指定由服务节点10提供的服务、用于隧穿或以其他方式沿着服务路径传输分组流的通信量工程信息、速度限制、指定用于将分组流匹配至特定服务链的标准的服务类型(TOS)标记或分组分类器的任何组合和顺序。在2013年6月5日提交的PCT国际性专利申请PCT/US 13/44378中描述了SDN控制器的更多实例详情,其全部内容通过引证结合于此。
尽管示出为数据中心9的一部分,但是服务节点10可以是由SD-WAN7的一个或多个交换机或虚拟交换机耦接的网络装置。在一个实例中,服务节点10中的每一个可以作为VM在虚拟计算环境中运行。此外,计算环境可以包括可扩展的通用计算装置的集群,诸如,x86基于处理器的服务器。如另一实例,服务节点10可以包括通用计算装置和专用设备的组合。作为虚拟化的网络服务,由服务节点10提供的单独的网络服务可以正如在现代数据中心中通过虚拟化存储器的分配、处理器利用率、储存和网络策略以及水平增加额外的负载平衡的VM扩展。在其他实例中,服务节点10可以是网关装置或其他路由器。在又一实例中,关于服务节点10中的每一个描述的功能可以在交换机、服务卡或者另一个网络元件或部件中实现。
如本文中描述的,例如,SD-WAN系统2内的元件(诸如,SD-WAN设备18)可以使用各种应用体验质量(QoE)度量功能执行应用数据监测,诸如,实时性能监测(RPM)或双向主动测量协议(TWAMP)。即,可以在SD-WAN系统2内使用RPM和TWAMP例如基于还被称为主机或端点的网络装置之间的每个订户测量网络性能(诸如,路径连接、路径延迟、分组抖动、分组丢失、分组重新排序等)的单向和双向或往返度量。通常,QoE测量架构包括各个支持使用协议且执行特定角色以开始数据会话和交换用于数据会话的测试分组的网络装置。在图1中示出的示例性网络架构中,SD-WAN设备18被配置为执行QoE度量预测。SD-WAN设备18允许连接上的负载分配并且基于网络状况调整通信流量以改善性能。尽管在图1中仅示出了单个SD-WAN设备18,但是在一些实例中,系统2可包括多个SD-WAN设备。
示例性QoE度量功能包括由SD-WAN设备18执行的主动或合成探测。主动或合成探测导致额外通信量,通信量还基于的网络拓扑和分组类型(例如,网络控制消息协议(ICMP)、用户数据报协议(UDP)、传输控制协议(TCP)、超文本传送协议(HTTP)、安全HTTP(HTTPS)或专用探测)而变化。这将意味着在客户前置设备(CPE)类型的部署上,CPE(例如,CE 11)可以承受涌入网络的大量这些探测分组。这种情况可以在可能存在从一个点跨越至另一个点的多个路径的全网格网络拓扑的情况下恶化。因为探测在网络上分散,所以可能不存在任何集中式管理。
进一步地,网络管理员可需要配置这些探测分组。复杂的网络拓扑可在这些网络中产生许多冗余探测。更糟糕的是,重复探测可能来源于相同CPE装置的不同的VPN。作为本文中描述的技术,这种基于意图的配置可以提供可靠的测量并且可以避免数据重复。通过基于云的控制器实现本文中描述的技术可以最佳使用主动和被动探测的组合,最佳地管理探测,并且避免冗余探测。
在复杂的网络拓扑的情况下,本文中描述的技术可以分布探测。本文中描述的技术还可以提供探测的基于云的相关性。该技术还可以提供更易于计划和管理的探测的集中式集合。进一步地,本文中描述的技术可以是高度可用的并且使用容错管理系统,利用现有功能。
执行基于边缘的路由算法的SD-WAN设备18还确定QoE度量,诸如,包括往返时间(RTT)、抖动和分组丢失的服务级别协议(SLA)度量,其受到如分组大小、分组的队列和突发的应用的实时参数的影响,以确定最佳路径。尽管本文中描述的一些实例涉及执行本文中描述的基于边缘的路由技术的SDN控制器14,但是SD-WAN设备18还可以执行用于SD-WAN系统2的这些技术。
不是双向测量用于节点之间的每个链路和网络中的服务节点10的两个节点之间的每个最短路径的QoE度量,SDN控制器14可以控制服务节点10中的每一个仅单向测量用于节点之间的每个边缘的各个QoE度量。进一步地,SDN控制器14可以通过聚合单向计算的QoE度量确定用于组成多个边缘的复杂路径或者用于边缘上的数据的反向流的QoE度量来避免冗余探测。主动或合成探测导致额外通信量,通信量还基于网络拓扑和分组的类型而变化。这种情况可能在可能存在从一个点跨越至另一点的多个路径的全网格网络拓扑的情况下恶化。如以下关于图3至图8所描述的,本文中描述的技术允许SDN控制器14(或者SD-WAN设备18)实现基于边缘的路由以更精确地测量网络中的各个QoE度量同时限制注入到该系统中的探测的数量。
根据本文中描述的技术,SDN控制器14可以是用于SD-WAN系统2的云控制器,协调和映射SD-WAN系统2上的探测过程。例如,SDN控制器14可以为包括多个节点装置(例如,订户装置16和服务节点10)的SD-WAN系统2构造SD-WAN系统2的拓扑表示。拓扑表示可以采用提供每一个节点装置的指示和多个链路中的每个链路的指示的任何形式(例如,矩阵、数据库、图形、文本或任何其他数据结构),其中,每个链路连接节点装置的中的两个节点装置。
在图1的实例中,SN控制器14可以创建在SD-WAN系统2中描述的任何数量的网络的拓扑表示。例如,拓扑表示可以具有接入网络6中的CE 11、具有订户装置16、具有SD-WAN 7中的SD-WAN设备18的一个或多个实例、或者SDN系统(例如,SD-WAN系统2)中的任何组合。
对应多个链路中的每一个,SDN控制器14可以基于网络的拓扑表示选择由相应链路连接的两个节点装置中的一个节点装置以测量相应链路的一个或多个体验质量(QoE)度量。因此,非选定节点装置不测量相应链路的QoE度量,这意味着只有选定节点装置将执行相应链路的主动或合成探测功能。响应于选择选定节点装置测量相应链路的一个或多个QoE度量,SDN控制器14可以从选定节点装置接收相应链路的一个或多个QoE度量的集合。该一个或多个QoE度量的集合将指示从选定节点装置流动至非选定节点装置的数据流的QoE度量。SDN控制器14可以将用于相应链路的QoE度量的集合存储在数据库中,使得可以其他链路和/或该链路的相反方向的更多推断和估计中参考该链路的QoE度量。例如,SDN控制器14可以基于相应链路的一个或多个QoE度量的集合确定指示用于从非选定节点装置流动至选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
最终,这些技术可以使SDN控制器14能够在数据库中沿各个方向创建每个链路和每个可能的连接的QoE度量的动态表示。例如,SDN控制器14可以将所接收的每个链路的测量存储在数据库中。然后,对于每个推断/估计(例如,对于所接收的QoE度量的每个相反方向、对于连接还由链路连接的两个节点装置的每个逻辑路径、以及对于作为未由链路直接连接的两个节点装置之间的最短路径的每个复杂路径),SDN控制器14可以将相应的相对QoE度量存储在数据库中。当SDN控制器14接收到新度量时,可以更新该信息。利用该信息,每当SDN控制器14必须为应用通信量或节点之间的通信量做出路由决策,SDN控制器14都可以参考该数据库和存储在数据库内的QoE度量以为网络内的通信量做出路由决策。
SDN控制器14可以比用于该链路的相反方向更简单地推断这些QoE度量。在一些实例中,SDN控制器14还可以估计已经测量物理链路的两个节点装置之间的诸如虚拟专用网络(VPN)的不同逻辑路径的QoE度量。进一步地,对于由多个链路组成的复杂路径,SDN控制器14可以通过采用先前在组成复杂路径的链路上测量的QoE度量的组合估计复杂路径的QoE度量。
在一些实例中,由QoE探测分组承载的度量可包括用于发送或接收测试分组的一个或多个时间戳、用于发送或接收测试分组的误差估计、用于发送测试分组的序列号、用于测试分组的生存时间(TTL)值、持活分组数据单元(PDU)、和/或服务的分组、字节或订户的计数。单向和双向网络性能测量可包括保持活动(keepalive)或路径连接、往返时间(RTT)、路径延迟、分组抖动、分组重新排序、分组丢失、服务延迟测量、或者基于所接收的度量的服务负载测量。
图2是示出根据本公开的一个或多个技术的示例性SD-WAN 37的框图。在本文中描述的实例中,SD-WAN 7包括三个不同的WAN链路:第一WAN链路40,将SD-WAN设备38耦接至多协议层交换(MPLS)网络50;第二WAN链路42,将SD-WAN设备38耦接至互联网52;以及第三WAN链路44,将SD-WAN设备38耦接至长期演进(LTE)网络54。在其他实例中,SD-WAN 7可包括用于在客户端侧(例如,客户端装置36和SD-WAN设备38)与应用侧(例如,SD-WAN设备56和应用服务器58)之间传输数据流的任何合适类型的任意数量的链路。
图3是示出了被配置为实现本文中描述的技术的图1的示例性SDN控制器14的框图。在图3的实例中,SDN控制器60创建包含SDN控制器60或由SDN控制器60管理的网络的拓扑表示以便有效创建用于探测网络内的各个链路的全过程。SDN控制器60可以操作为用于服务提供商网络的网络服务控制器。在图3所示出的实例中,SDN控制器60包括管理单元65、用于控制SDN控制器60的操作的控制单元64、以及用于通过入站链路67和出站链路68与网络装置交换分组的网络接口66。
在一些实例中,控制单元64和/或管理单元65可被实现为在一个或多个物理计算装置的一个或多个虚拟机上执行的一个或多个过程。即,尽管一般示出和描述为在单个SDN控制器60上执行,但是这些单元中的每一个的方面可以委托给其他计算装置或分布在其他计算装置上。
控制单元64和/或管理单元65中的每一个可包括一个或多个处理器(未示出),这些处理器执行存储至计算机可读存储介质(未示出)的诸如用于定义软件或计算机程序的那些软件指令,计算机可读存储介质诸如包括存储装置(例如,磁盘驱动器或光盘驱动器)的非暂时性计算机可读介质或存储器(诸如,闪速存储器或RAM)或者任何其他类型的易失性或非易失性存储器,它们存储使得一个或多个处理器执行本文中描述的技术的指令。可替换地,或者此外,控制单元64和/或管理单元65中的每一个可包括专用硬件,诸如,一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个FPGA、或者一个或多个上述专用硬件的实例的任何组合,以用于执行本文中描述的技术。图3中示出的SDN控制器60的架构仅为示例性目的而示出,并且不应局限于此架构。在其他实例中,SDN控制器60可以以各种方式实现,诸如,只有软件、只有硬件或者软件和硬件这两者的结合。
管理单元65可以包括SDN控制器60的管理层,而控制单元64可以包括SDN控制器60的控制层。管理单元65包括分析单元61和配置单元62。分析单元61可以从SD-WAN系统2内的物理和/或虚拟网络元件(例如,图1的网关、服务节点10或者每个数据中心9)捕捉信息,并且分析用于管理由服务提供商提供的网络服务的信息。该信息可包括统计、日志、事件和误差。
配置单元62将网络元件的配置信息存储在SD-WAN系统2内。在一些实例中,配置信息包括虚拟网络配置。配置单元62可以将预期的虚拟网络配置的高级数据模型转换为用于与网络元件交互的较低级数据模型。
SDN控制器60的控制单元64实现对维持持续改变网络状态负责的SD-WAN系统2的集中控制平面。控制单元64与SD-WAN系统2内的网络元件交互,以在所有网络元件上维持一致的网络状态。控制单元64为命令行接口守护进程75(“CLI 75”)提供操作环境,该守护进程提供接口,通过该接口管理员或其他管理实体可以使用基于文本的命令修改SDN控制器60的配置。控制单元64还为几个协议70提供操作环境,这些协议包括如图3的实例中示出的边界网关协议(BGP)72和可扩展消息出席协议(XMPP)74。根据本文中描述的技术,这些命令可以改变哪个QoE度量要被测量、SDN控制器60如何构造网络拓扑、以及SDN控制器60是否优化在节点装置上执行的探测过程的分布。用户配置(例如,基于意图的配置)还可以配置探测本身,提供关于探测是不是主动探测、被动探测或其组合的指令。
在一些实例中,控制单元64使用XMPP 74通过XMPP接口(未示出)与SD-WAN系统2内的网络元件通信,诸如,图1的SD-WAN系统2内的网关8、客户端装置16或数据中心9的服务节点10。虚拟网络路由数据、统计收集、日志和配置信息可以作为可扩展标记语言(XML)文件根据用于在SDN控制器60和网络元件之间通信的XMPP 74发送。控制单元64还可以使用XMPP74与SDN控制器60的分析单元61和配置单元62中的一个或两个通信。
控制单元64还包括装置管理器71、拓扑单元76、探测管理单元77、拓扑数据库78和度量数据库79,该度量数据库使控制单元64能够构造节点、链路和探测过程的拓扑表示以在网络拓扑上开发完整探测计划。根据本文中描述的技术,SDN控制器60可以是用于网络的云控制器,协调和映射该网络上的探测过程。例如,拓扑单元76可以为包括多个节点装置(例如,订户装置和服务节点)的网络构造该网络的拓扑表示。拓扑表示可以采用提供每一个节点装置的指示和多个链路中的每个链路的指示的任何形式(例如,矩阵、数据库、图形、文本或任何其他数据结构),其中,每个链路连接节点装置的中的两个节点装置。拓扑表示可以存储在拓扑数据库78中。
在一些实例中,拓扑单元76可以将与网络拓扑相关联的高级数据模型转换为适用于与网络元件或装置(诸如,图1和图2中示出的网络装置)交互的低级模型。在一些情况下,拓扑单元76可以经由网络接口66从编制引擎和/或管理员接收高级数据模型(例如,基于用户意图的网络或数据模型)。这些模型可以与网络的拓扑相关联。拓扑单元76可以使用这些模型和意图构造拓扑表示以存储在拓扑数据库78内。
在构造网络的拓扑表示中,拓扑单元76可以监测通过多个链路中的每一个发送的一个或多个探测分组。例如,当本文中描述的技术首先应用于网络时,每个节点装置可以通过每一个节点装置的相应链路发送探测分组。然而,拓扑单元76内在可能不固有描述哪个节点装置在网络中以及每个节点装置链接至其他哪个节点装置的数据结构。通过监测在网络上发送的各个探测分组,拓扑单元76可以利用哪个节点装置在网络中以及每个节点装置正在将探测分组发送至其他哪个节点装置的指示填充数据结构,诸如,邻接矩阵。因为可以将网络配置为使得每个节点装置正在执行连接至节点装置的每个链路的探测功能,因此该监测功能将利用网络内的各个链路的完整表示提供拓扑单元76,并且拓扑单元76可以使用图论得出网络内的各个节点装置和链路的拓扑表示。
对于多个链路中的每一个,探测管理单元77可以基于网络的拓扑表示选择由相应链路连接的两个节点装置中的一个节点装置,以测量相应链路的一个或多个QoE度量。因此,非选定节点装置不测量相应链路的QoE度量,这意味着只有选定节点装置将执行相应链路的主动或合成探测功能。
在选择由相应链路连接的两个节点装置中的该节点装置测量相应链路的QoE度量中,探测管理单元77可以指示由相应链路连接的两个节点装置的选定节点装置通过相应链路发送一个或多个探测分组。在其他实例中,节点装置可以自动地被配置为通过节点装置的相应链路发送一个或多个探测分组。在这种情况下,不是主动指示选定节点装置测量相应链路的QoE度量,而是探测管理单元77可替代地指示两个节点装置中的非选定节点装置抑制通过相应链路发送任何附加的探测分组,从而主动指示非选定节点不测量QoE度量。
为了优化本文中描述的整个系统的效率,探测管理单元77可以选择节点装置使得探测过程尽可能地均匀分布在节点装置上。换言之,如果两个节点装置由链路连接,则两个节点装置中的对探索更少链路的节点装置可以更好地定位为处理当前链路的探测。因而,当选择在相应链路上的节点装置时,探测管理单元77可以执行最佳化算法。至于多个节点装置中的每个节点装置,探测管理单元77可以检查多个链路中的包括相应节点装置的每个链路。对于多个链路中的包括相应节点装置的每个链路,探测管理单元77可以确定由相应链路连接至相应节点装置的第二节点装置是否被配置为探测链路总数小于或等于由相应节点装置探测的链路总数。响应于确定由相应链路连接至相应节点装置的第二节点装置正在发送小于或等于由相应节点装置探测的链路总数的探测的总数,探测管理单元77可以选择相应节点装置抑制通过相应链路将进一步的探测分组发送至由相应链路连接至相应节点装置的第二节点装置。
探测管理单元77可以以此方式继续遍历节点装置和链路,直到每个链路仅具有单个选定节点装置,或者直到该系统被优化并且以此方式通过节点装置的循环将不改变全部探测计划。在多个链路中存在由相应链路连接的每个节点装置正在为其通过相应链路发送探测分组的链路的同时,探测管理单元77可以选择由相应链路连接的节点装置的单个节点装置以抑制基于由相应链路连接的每个节点装置探测的链路总数来探测相应链路。
在确定哪个节点装置正在探测更少链路中,探测管理单元77可以邻接矩阵的方式使用拓扑表示。当探测管理单元77选择由相应链路连接的两个节点装置中的一个节点装置时,探测管理单元77可以基于指示多个节点装置中的哪个节点装置正在发送探测分组且每个节点装置正在为几个链路测量相应的一个或多个QoE度量的集合的邻接矩阵确定两个节点装置中的哪个节点装置正在为较少链路测量相应的一个或多个QoE度量的集合。探测管理单元77可以通过计算与所讨论的节点装置相关联的矩阵中的列/行的总和并且比较该总和来确定。一旦探测管理单元77选择一个节点装置,则探测管理单元77可以更新邻接矩阵,使得非选定节点的列/行的总和将减少1。
尽管上述功能可以是实现本文中描述的技术开始时的初始化技术的一部分,但是当新节点装置进入网络时可以重复这些技术。SD-WAN实际上是动态的,并且节点装置可以随时进入或离开网络。这意味着贯穿SD-WAN的存在创建链路和从系统移除链路。因而,新节点装置无论何时进入系统或者当前节点装置无论何时离开该系统,拓扑单元76和探测管理单元77都可以被配置为重复本文中描述的过程。
例如,拓扑单元76可以确定新节点装置已进入网络,将新节点添加至拓扑数据78。通过进入网络的本质,新节点装置可以经由至少一个新链路连接至多个节点装置中的至少一个节点装置。对于至少一个新链路的每个新链路,探测管理单元77可以确定通过相应的新链路连接至新节点装置的节点装置是否被配置为探测链路总数小于或等于由新节点装置探测的链路总数。响应于确定由相应的新链路连接至新节点装置的节点装置正在探测小于或等于由新节点装置探测的链路总数的链路总数,探测管理单元77可以选择新节点装置以抑制通过相应的新链路将进一步的探测分组发送至由相应的新链路连接至新节点装置的节点装置。相反地,响应于确定由相应的新链路连接至新节点装置的节点装置正在探测大于由新节点装置探测的链路总数的链路总数,探测管理单元77可以选择通过相应的新链路连接至新节点装置的节点装置以抑制通过相应的新链路将进一步的探测分组发送至新节点装置。当节点装置离开网络时,可以应用最优化功能的类似重复,因为由于与退出的节点装置相关联的链路导致保持在网络中的一些节点装置可以受到离开的节点装置比其他节点装置更大的影响。
响应于选择选定节点装置以测量相应链路的一个或多个QoE度量,探测管理单元77可以从选定节点装置接收相应链路的一个或多个QoE度量的集合。该一个或多个QoE度量的集合将指示从选定节点装置流动至非选定节点装置的数据流的QoE度量。探测管理单元77可以将相应链路的QoE度量的集合存储在度量数据库79中,使得可以在用于其他链路和/或该链路的相反方向的更多推断和估计中参考该链路的QoE度量。例如,探测管理单元77可以基于用于相应链路的一个或多个QoE度量的集合确定指示从非选定节点装置流动至选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
尽管以上描述了探测管理单元77使用用于链路的QoE度量估计该链路的相反方向的QoE度量,但是探测管理单元77也可以将这些QoE度量用于其他确定。例如,探测管理单元77可以将所确定的QoE度量用于每一个链路以确定包括多个链路(例如,用于未直接彼此连接的节点)的更复杂的路径的QoE度量。探测管理单元77可以确定包括多个链路的第一链路和多个链路的第二链路的组合的路径,其中,第一链路连接多个节点装置的第一节点装置和多个节点装置的第二节点装置。第二链路连接多个节点装置的第二节点装置和多个节点装置的第三节点装置。因为该路径可以是第一节点装置和第三节点装置之间最短的路径,因此多个节点装置的第一节点装置和多个节点装置的第三节点装置可能不会由多个链路的任何链路直接连接。因而,探测管理单元77可以检索第一链路的一个或多个QoE度量的集合和第二链路的一个或多个QoE度量的集合,并且使用这些检索的QoE度量估计该路径的一个或多个QoE度量的集合。
探测管理单元77还可以将这些技术扩展为用于连接已经由链路连接的两个节点装置的逻辑路径。例如,对于连接多个节点装置的第一节点装置和多个节点装置的第二节点装置的多个链路的第一链路,探测管理单元77可以基于存储在度量数据库79中的第一链路的一个或多个QoE度量的集合,估计连接第一节点装置和第二节点装置的逻辑路径的一个或多个QoE度量的集合。尽管逻辑路径可以是与第一链路不同的连接,但是可以在两个节点装置之间的该连接中使用相似的物理硬件。因而,用于逻辑路径的QoE度量最终可以与用于所测量的链路的QoE度量相似。因而,尽管该测量可能不准确,但是该估计仍然可以在不使用额外的资源通过逻辑路径发送额外的探测分组的情况下为逻辑路径提供可靠的QoE度量。
装置管理器75可以基于由拓扑数据库78和度量数据库79提供的输入生成供应商无关的装置信息。与供应商无关的装置信息还可以被称为装置摘要配置信息。与供应商无关的装置信息是不可知的,每个装置配置信息用于网络中的每个单独的网络装置。在一些实例中,与供应商无关的装置信息可以包括可扩展标记语言(XML)方案或又一下一代(YANG)方案信息。
SDN控制器60然后可以利用装置管理器75实现一个或多个转换过程以将供应商无关的装置信息转换为供应商特定的装置信息。供应商特定的装置信息还可以被称为供应商特定的、或具体的装置配置信息。网络中的每个单独的网络装置可具有供应商无关的装置信息和供应商特定的装置信息。在一些实例中,供应商特定的装置信息可以是经由例如每个不同的供应商的Jinja2模板的使用可定制的。
因此,装置管理器75可以被配置为以图4中示出的方式生成与供应商无关的装置信息和供应商特定的装置信息。与供应商无关的装置信息可包括与供应商无关的装置配置和/或命令信息(例如,经由CLI 75或其他管理接口进入的),并且供应商特定的装置信息也可包括供应商特定的装置配置和/或命令信息(例如,经由网络接口66和/或经由协议70发送的)。图4中示出的SDN控制器60可以将供应商特定的装置信息发送至已经为其生成供应商特定的装置信息的单独的网络装置。例如,SDN控制器60可以将供应商特定的装置配置信息经由配置接口提供至网络装置,并且可以将供应商特定的装置命令信息经由命令接口提供至网络装置。在这个实例中,供应商特定的装置配置信息和供应商特定的装置命令信息均可以包括在从与供应商无关的装置信息转换的供应商特定的装置信息中。可以在2016年6月30日提交的且题为TRANSLATING HIGH-LEVEL CONFIGURATION INSTRUCTIONS TO LOW-LEVEL DEVICE CONFIGURATION的美国专利申请序号15/198,657中找到关于高级配置指令到低级装置配置的翻译的额外信息,通过引证结合于此。
这些技术可以使探测管理单元77能够在拓扑数据库78和度量数据库79中在各个方向上创建每个链路和每个可能的连接的QoE度量的动态表示。例如,探测管理单元77可以将所接收的每个链路的测量存储在度量数据库79中。然后,至于在拓扑数据库78中指示的每个推断/估计(例如,至于所接收的QoE度量的每个相反方向、至于连接还由链路连接的两个节点装置的每个逻辑路径、以及至于作为未由链路直接连接的两个节点装置之间的最短路径的每个复杂路径),探测管理单元77可以将相应的估计的QoE度量存储在度量数据库79中。随着由探测管理单元77接收到新度量,可以更新该信息。利用该信息,无论何时SDN控制器60必须为应用通信量或节点之间的通信量做出路由决策,SDN控制器60都可以参考拓扑数据库78和存储在度量数据库79内的QoE度量以为网络内的通信量做出路由决策。
可存在使用本文中描述的技术的一个或多个优势。尽管实际度量并非在所有情况下都准确,但是特定链路一般将在每个方向上具有相似的QoE度量。类似地,当通过包括多个链路的复杂路径发送探测分组时,尽管QoE度量可能不是精确地组成复杂路径的链路的组合,但是跨每个链路对QoE度量进行组合仍然可以为路径提供QoE度量的准确估计。因而,以由本公开的技术描述的方式估计用于节点装置之间的各种链路的QoE度量可以极大地减少节点装置消耗的带宽和其他资源,以努力可靠地生成整个网络的QoE度量。因为节点装置具有更少的探测分组生成和处理,因此这还可以增加每个单独的节点装置的效率,包括减少中央处理单元(CPU)使用率、存储器使用、以及用于每个单独的节点装置的功率消耗。
图4是示出了根据本公开的技术的被配置为执行进行基于边缘的路由技术的一个或多个功能的示例性网络装置的框图。尽管该网络装置可以是被配置为执行本文中描述的技术的任何网络装置,但是该网络装置可以是图1的SD-WAN设备18或者图2的SD-WAN设备38的实例。例如,SD-WAN设备80可以在本文中的图1的SD-WAN系统2的背景内描述,并且可以表示路由器8或SD-WAN设备18中的任一个。此外尽管相对于例如路由器或SD-WAN设备的具体网络装置进行了描述,但是该技术可以通过可以作为SD-WAN设备操作的任何网络装置,诸如客户端装置、层3(L3)或L2/L3交换器或服务器实现。
在这个实例中,SD-WAN设备80被分成三个逻辑或物理“平面”以包括执行装置的控制操作的控制平面81、用于转发转接网络通信量的数据平面85以及应用一个或多个网络服务87以转接由路由器转发的分组流的服务平面83。即,路由器81实现三个单独的功能(例如,路由/控制、转发数据和网络服务功能),例如在逻辑上作为在相同的硬件部件集上执行的单独的软件实例,或者例如在物理上作为静态实现硬件中的功能或者动态执行软件或计算机程序以实现该功能的单独的物理专用硬件部件。在这个实例中,高速内部交换结构105耦合控制平面81、服务平面83和数据平面85以在单元之间传送数据单元和控制消息。交换结构105可以表示内部交换结构或交叉开关、总线或链路。
在图4的实例中,控制平面81包括具有主微处理器102的控制单元82,该主微处理器执行装置管理服务、订户验证和SD-WAN设备80的控制平面路由功能。微处理器102可以包括一个或多个通用或专用的处理器,诸如,数字信号处理器(DSP)、ASIC、现场可编程门阵列(FPGA)或者任何其他等效的逻辑装置。因此,如本文所使用的术语“处理器”或“控制器”可以指代上述结构中的任何一个或多个或者可操作为执行本文中描述的技术的任何其他结构。可执行程序(诸如,探测引擎110)可以由微处理器102可操作为执行SD-WAN设备80的各个动作、操作或功能。例如,SD-WAN设备80的微处理器102可以检索和执行由使得微处理器102执行探测引擎110的操作的各个数据存储所存储的指令。
SD-WAN设备80内的一个或多个存储部件(例如,RIB 104)可以存储用于在SD-WAN设备80(例如,SD-WAN设备80可以存储通过探测引擎110在SD-WAN设备80的执行期间访问的数据)的操作期间处理的信息。在一些实例中,存储部件是临时存储器,这意味着存储部件的主要目的不是长期存储装置。SD-WAN设备80上的存储部件可被配置为作为易失性存储器的短期信息存储装置,并且因此如果断电不保留所存储的内容。易失性存储器的实例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和本领域已知的其他形式的易失性存储器。
在一些实例中,存储部件还包括一个或多个计算机可读存储介质。在一些实例中,存储部件包括一个或多个非易失性计算机可读存储介质。与一般存储的易失性存储器相比,存储部件可以被配置为存储更大量的信息。存储部件还可以被配置为作为非易失性存储空间的长期信息存储装置并且保留电源接通/断开循环之后的信息。非易失性存储其的实例包括磁硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。存储部件可以存储与探测引擎110相关联的程序指令和/或信息(例如,数据)。存储部件248可包括被配置为存储与探测引擎110相关联的数据或其他信息的存储器。
在一些实例中,探测引擎110可以被配置为执行本文中描述的各个技术的一个或多个方面。如本文所示,探测引擎110可以实现为控制平面中的控制单元82的部件。然而,在其他实现方式中,探测引擎110可以是与SD-WAN设备80不同且物理分开的且超出SD-WAN设备80中限定的任何平面的范围的网络装置的独立部件,评价超出控制平面、数据平面和服务平面的范围的所接收的数据通信量。在这种情况下,控制单元82可以照接收的原样复制应用分组,将应用通信量的原始情况发送至一个转发单元112并且将复制的应用通信量发送至探测引擎110以与常规的数据流分开评估。
通常,控制单元82表示硬件或者实现控制平面协议89A-89N(“路由协议89”)以学习和保持路由信息库104(“RIB 104”)内的路由信息的控制的软件和硬件的组合。RIB 104可包括定义网络的拓扑的信息,诸如,图1的服务提供商网络。路由协议89与在控制单元82上执行的内核100(例如,通过API调用的方式)交互以基于由SD-WAN设备80接收到的路由协议消息更新RIB 104。内核100可以解决由RIB 104中的路由信息定义的拓扑以选择或确定通过网络的一个或多个路由。例如,内核可以基于在RIB 104中表示的网络拓扑生成转发信息库103A-103N(“FIB 103”)的形式的转发信息,即,执行路由解析。一般地,内核100生成基数或其他查找树形式的FIB 103以将分组信息(例如,具有目的地信息和/或标签栈的报头信息)映射至下一跳并且最终映射至与相应转发单元112相关联的IFC 114的接口端口。例如,每一个FIB 103可以使网络目的地与特定的下一跳和对应的IFC 114相关联。对于MPLS相关的通信量转发,FIB 103为给定FEC存储包括入站标签、出站标签和用于分组的下一跳的标记信息。控制单元82然后可以利用FIB 103编程数据平面85的转发单元112,其将FIB安装在查找ASIC 106内。
在这个实例中,数据平面85是数据平面功能和分组转发功能分给多个转发单元112A-112N(“转发单元112”)的分散数据平面。在SD-WAN设备80的实例中,数据平面85包括提供由接口卡114A-114N(“IFC 44”)经由入站链路116A-116N至出站链路118A-118N接收的网络通信量的高速转发的转发单元112。转发单元112可以各自包括耦接至相应的接口卡114的一个或多个分组转发引擎(“PFE”),并且例如,可以表示密集端口集中器(DPC)、模块端口集中器(MPC)、柔性物理接口卡(PIC)集中器(FPC)、或者例如可插入机架或者SD-WAN设备80的机架的组合内的另一个线卡。
如图3的实例所示,每一个转发单元112包括相应的一个查找ASIC 106A-106N(“查找ASIC 106”),其经由IFC卡114接收控制和数据会话通信量,执行路由查找,并且基于安装至FIB 103的路由将通信量经由连接至一个输出链路48的接口转发至控制单元82(指定给SD-WAN设备80的控制通信量)或者转发至用于输出的一个转发单元40(经过数据通信量)。在一个实例中,查找ASIC 106是由在每一个转发单元112上执行的从微处理器(未示出)可编程地配置的微码控制的芯片组。具体地,在这个实例中,每一个ASIC 106可以是由从微处理器编程的内部微码可控制的。
当转发分组时,各个查找ASIC 106内的控制逻辑遍历相应的FIB 103,并且一旦达到用于分组的FIB条目(例如,叶节点),则微码实现的控制逻辑自动选择用于转发分组的一个或多个转发下一跳(FNH)。以此方式,因为分组穿过SD-WAN设备80的内部架构,因此转发单元112的ASIC 106通过在各个分组上在相应的内部分组转发路径上执行一系列操作来处理分组。例如,操作可以基于对应的入口接口、入口PFE 114、出口PFE 114、出口接口或者在出口之前将分组引导至的SD-WAN设备80的其他部件,诸如一个或多个服务卡中的任一个在各个分组上执行。转发单元112各自包括转发结构,当执行时,检查各个分组的内容(或者另一分组属性,例如,进入接口),并且例如,基于此做出转发决定,应用过滤器,和/或执行计费、管理、通信量分析和负载均衡。
在一个实例中,每一个转发单元112将转发结构布置为可以链接在一起作为沿着用于网络装置的内部分组转发路径的一系列“跳”的下一跳数据。在许多情况下,转发结构在ASIC 106的内部存储器内执行查找操作,其中,该查找可以针对树(或trie)搜索、表格(或索引)搜索执行。可以利用下一跳指定的其他示例性操作包括过滤器确定和应用、或者速率限制器确定和应用。查找操作将与分组内容或者分组或分组流的另一属性(诸如,分组的进站接口)匹配的项位于查找数据结构(例如,查找树)内。根据由ASIC 106内的下一跳转发结构定义的操作的分组处理的结果确定分组被转发单元112从其一个IFC 114上的输入接口至其一个IFC 114上的输出接口转发或以其他方式处理的方式。
查找ASIC 106可以使用转发专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者任何其他等效的集成或离散逻辑电路、以及这种部件的任何组合实现。每一个转发单元112可包括执行基本上相似的功能的基本上相似的部件。
SD-WAN设备80的服务平面83包括多个服务单元113A-113K(“服务单元”),它们作为实例可以是被配置为将网络服务应用于通过数据平面85流动的分组的可拆卸的服务卡。即,当转发分组时,转发单元112可以将分组引导至服务平面83,以由服务单元113应用一个或多个网络服务131。在这个实例中,每一个服务单元113包括被配置为执行超控制器129以为多个网络服务131提供操作环境的微处理器127。作为实例,服务单元113可以应用防火墙和安全服务、运营商级网络地址解析(CG-NAT)、媒体优化(语音/视频)、IPSec/VPN服务、深度包检测(DPI 131A)、HTTP过滤、分组流的计数、结算、计费和负载均衡或者应用于网络通信量的其他类型的服务。例如,每一个服务131可以实现为由超控制器129和微处理器127执行的虚拟机或者容器。
在图4的实例中,控制单元82为探测引擎110提供操作环境。在一些实例中,控制单元82可以使用探测引擎110执行一个或多个TWAMP或RPM逻辑角色,诸如,控制客户端、服务器、会话发送器和会话反射器。
根据本文中描述的技术,探测引擎110可以从SDN控制器(例如,SDN控制器60)接收指令以探测或者不探测一个或多个链路中的将SD-WAN设备80连接至另一个节点装置的任一个链路。探测引擎110可以按照接收到的指令执行探测过程以测量将SD-WAN设备80连接至另一个节点装置的链路的QoE度量或者抑制执行该探测过程。对于探测引擎110测量QoE度量的链路,探测引擎110可以将测量的QoE度量发送至SDN控制器。SDN控制器可以根据本文中描述的技术从SD-WAN设备80和网络中的其他节点装置聚合这些度量。
探测引擎110还可以将测量的QoE度量存储在本地参考数据库90中。探测引擎110可以使用存储在参考数据库90中的QoE度量和存储在SLA数据库92中的SLA度量将应用通信流量分配给各个链路。
图5是示出了根据本公开的技术的用于软件定义广域网系统中的多个节点502A-502G的示例性拓扑的概念流程图。应用探测在测量网络性能以及不断验证链路是否能够满足应用分组所需特性方面发挥着至关重要的作用。探测实际上可以是主动的(例如,类似应用数据分组的合成分组)或者被动的(例如,实时通信量中嵌入的探测报头)。尽管被动探测不会导致额外通信量,但是分组需要被拦截和处理,导致额外负载以及对隐私和安全性的关注。合成探测依赖引入模仿实际应用的测试分组,从而测量网络性能。网络拓扑也是网络的计划和管理中的一个重要因素。
在图5的实例中,节点502各自可以是在网络中被配置在通过各个链路彼此之间传输数据的装置。例如,节点502可以接入网络中的分开的客户设备(例如,图1的接入网络6中的CE 11)、网络内的分开的订户装置(例如,图1的订户装置16)、数据中心中的节点(例如,图1的数据中心9的节点10)、SD-WAN中的分开的SD-WAN设备(例如,图1的SD-WAN设备18)、或者SDN系统(例如,图1的SD-WAN系统2)中的它们的任何组合。因而,图5可以是图1的SD-WAN7的简化的网络拓扑、图1的接入网络6或者图1的SD-WAN系统2的实例。
本文中描述的技术的实例避免多余探测并且以下关于图5描述减少通信量的探测重复。考虑节点502A和节点502B的拓扑。如果探测正在从节点502A发送至节点502B,则SDN控制器(例如,SDN控制器14)可以避免运行从节点502B至节点502A的另一个探测,反而将在节点502A上收集的度量相关联以同样对节点502B做出决策。
SDN控制器还可以保证网络拓扑上的均匀分布。在复杂的全网格的情况下,如果在全网格中存在N个装置,则最坏情况的是对于给定协议各个装置将运行N-1个探测(总共N(N-1)个探测)。使用本文中描述的技术,这可以优化为N(N-1)/2个探测,并且额外分布负载使得各个装置运行(N-1)/2个探测。
本文中描述的技术还准予SDN控制器执行复杂探测的能力。假设云控制器接收请求确定从节点502A至节点502C的路径的QoE度量的配置数据。如果云控制器已经确定节点502A至节点502B与从节点502B至节点502C之间的QoE度量,则云控制器可以在这些链路中的每一个上简单聚合QoE以推断节点502A至节点502C之间的网络行为。由本文中描述的技术提供的解决方案可以假设装置支持联网探测(诸如,RPM、应用级别探索等),因为它可利用现有的配置接口。
A | B | C | D | E | F | G | |
A | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
B | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
C | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
D | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
E | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
F | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
G | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
表I.邻接矩阵(假设单个探测)
A | B | C | D | E | F | G |
1 | 4 | 3 | 3 | 3 | 3 | 3 |
表II.从每一个节点的探测的原始分布
A | B | C | D | E | F | G |
1 | 2 | 2 | 1 | 2 | 1 | 1 |
表III.优化分布
在本文中描述的技术中使用的分布式算法的实例中,云控制器(例如,SDN控制器14)可以遍历每一个节点。对于每个节点(例如,节点502A),云控制器可以遍历相邻节点。因为矩阵的上半部已被优化,因此云控制器可能只查看这个节点以下的子矩阵。如果该相邻节点已经等于或小于负载,则云控制器可以确定没有探测它。否则,云控制器可以在相邻节点上清除探测标记。云控制器可以基于重新分布继续从装置删除探测。以此方式,本文中描述的技术可以在得出贯穿系统的探测的最佳分布中使用图论概念。在多个探测的情况下,可以在邻接矩阵中反映计数。
表IV.节点A的子矩阵
表V.节点B的子矩阵
表VI.节点C的子矩阵
表VII.节点E的子矩阵
SDN控制器可以捕获用户意图(例如,经由合成探测测量网络上的UDP性能)。该架构还可以分析网络拓扑且建造当前拓扑的映射,所有这些全部利用现有探测。该架构可以通过使用单个测量推断用于来源于相同装置的反向路径和额外逻辑路径(例如,VPN等)的QoE度量来减少冗余度。SDN控制器可以删除探测以避免重复和冗余度(例如,反向路径上的装置不需要再次探测)。SDN控制器还可以打乱探测以保证拓扑(或拓扑内的子集)上的均匀分布。该架构可以利用装置上的现有接口以配置和监测该探测。SDN控制器还可以维持该意图映射以使探测相关度量相关(例如,运行图5的节点502A和502B之间的单个探测并且诸如抖动、分组丢失等度量可以应用于A和B这两者)。
通过利用本文中描述的技术,该SDN控制器可以为联网探测提供统一管理系统,使网络管理员能够更好地看到网络状态以帮助做出更好计划。例如,一旦SDN控制器构造网络的拓扑表示,则SDN控制器可以将用于显示的拓扑表示的可视化输出至用户。SDN控制器还可以输出探测管理过程的结果的可视化,指示哪些节点装置正在发送探测分组并且这些节点装置正通过哪些链路发送探测分组。这可以使用户能够关于不同的路由可能性做出更明智的决定,哪些节点装置这种探测大部分装置,并且用户可以如何改变配置或意图以最佳地优化网络上的资源。
图6是示出了根据本公开的技术的被配置为执行基于边缘的路由技术的云控制器602的示例性架构的概念图。云控制器602可以是图1的SDN控制器14的实例,并且可以被配置为执行本文中描述的任何技术。在一些实例中,随着节点进入或离开拓扑,云控制器602可以动态地重新分布探测分配。本文中描述的技术还可以用于除了本文中描述的那些之外的其他网络布置,包括轴辐网络。
在图6的实例中,装置612A和612B由多个逻辑路径在不同的协议下连接,协议包括链路控制管理协议(LCMP)、语音互联网协议(VOIP)、传输控制协议(TCP)和UDP。如图6所示,装置612A和612B可以在每一个逻辑路径上交换探测分组以确定每一个逻辑路径的QoE度量。探测分组可以分别通过装置612A和612B中的每一个的各种部件(诸如,代理614A和614B)生成和分析。
根据本文中描述的技术,云控制器602可以经由配置接口610与装置612A和612B通信以改变这些装置的探测协议。例如,云控制器602可以指示装置612A抑制将任何更多探测分组发送至612B。进一步地,云控制器602可以指示装置612B仅在UDP逻辑路径上发送探测分组。云控制器602可以从装置612B接收QoE度量并且将QoE度量存储在数据库606中。然后,云控制器602可以推断该数据以估计从装置612A至装置612B之间流动的UDP逻辑路径以及双向的相互逻辑路径(LCMP、VOIP和TCP)的QoE度量。云控制器602还可以将这些估计的QoE度量存储在数据库606中。
因而,不是发送4个甚至8个探测分组来评估连接装置612A和612B的链路之间的QoE度量,而是云控制器602可以通过仅在链路上发送单个探测分组确定装置612A和612B之间的各个路径的可靠的QoE度量。因而,本文中描述的技术可以将由探测分组所引起的通信量减少多达87.5%。
图7是示出了根据本公开的技术的用于基于网络的拓扑表示执行探测分配功能的软件定义的广域网系统的示例性技术的流程图。例如,可以通过图1的SDN控制器14或者图3的SDN控制器60执行示例性操作。以下是该过程的步骤,尽管在本公开的技术中执行的过程的其他实例可包括额外步骤或者不可包括以下列出的一些步骤。
根据本文中描述的技术,SDN控制器14可以为包括多个节点装置(例如,订户装置16和服务节点10)的SD-WAN系统2构造SD-WAN系统2的拓扑表示(702)。拓扑表示可以采用提供每一个节点装置的指示和多个链路中的每个链路的指示的任何形式(例如,矩阵、数据库、图形、文本或任何其他数据结构),其中,每个链路连接节点装置的中的两个节点装置。SDN控制器14可以选择评估QoE度量测量的链路(704)。对于这个相应链路,SDN控制器14可以基于网络的拓扑表示选择由相应链路连接的两个节点装置中的一个节点装置测量相应链路的一个或多个QoE度量(706)。因此,非选定节点装置不测量相应链路的QoE度量,意味着只有选定节点装置将执行相应链路的主动或合成探测功能。
响应于选择选定节点装置以测量相应链路的一个或多个QoE度量,SDN控制器14可以从选定节点装置接收响应链路的一个或多个QoE度量的集合(708)。这些QoE度量可基于接收的用户意图,在某种意义上,该意图可以指定要测量什么信息或者基于所接收的信息做出什么决定。因而,当选择两个节点装置中的节点装置时,SDN控制器14可以通过选定节点装置指示测量什么QoE度量。该一个或多个QoE度量的集合将指示用于从选定节点装置流动至非选定节点装置的数据流的QoE度量。SDN控制器14可以将相应链路的QoE度量的集合存储在数据库中(710),使得可以在其他链路和/或该链路的相反方向的更多推断和估计中参考该链路的QoE度量。例如,SDN控制器14可以基于相应链路的一个或多个QoE度量的集合确定指示从非选定节点装置流动至选定节点装置的数据流的QoE度量的一个或多个相对的QoE度量的集合(712)。
SDN控制器14可以为各个链路重复该过程。例如,如果存在SDN控制器14必须分配节点装置测量该链路的QoE度量的额外链路(714的是分支),则如上所述(704),SDN控制器14可以选择用于QoE评估的这种链路。否则(714的否分支),SDN控制器14可以在操作的正常过程期间监测该网络并分配应用通信量。
图8是示出了根据本公开的技术的用于基于网络的拓扑表示执行探测分配功能的软件定义的广域网系统的示例性技术的流程图。例如,可以通过图1的SDN控制器14或者图3的SDN控制器60执行示例性操作。以下是该过程的步骤,尽管在本公开的技术中执行的过程的其他实例可包括额外步骤或者不可包括以下列出的一些步骤。
根据本文中描述的技术,拓扑单元76可以接收指示用户意图的配置数据以测量网络中的应用体验质量(QoE)(802)。基于该意图,拓扑单元76可以构造包括SDN控制器60或由SDN控制器60管理的网络的拓扑表示(804)。网络的拓扑表示指示网络中的多个节点装置中的每一个和多个链路中的每个链路的指示,每个链路连接多个节点装置中的两个节点装置。然后,探测管理单元77可以从指示多个节点装置中的哪些节点装置正在执行探测过程及所述节点装置在哪些链路上执行探测过程的初始探测列表修改该探测列表的一个或多个条目以创建修改探测列表,使得只有单个节点装置正在为每个链路执行探测过程(806)。使用该修改探测列表,探测管理单元77可以指示节点装置在仅对应于修改探测列表中的条目的链路上执行探测过程(808)。这些指令包括一旦执行探测过程就指示所述节点装置将QoE度量数据发送至SDN控制器60。实质上,如果对应条目被从探测列表删除,则SDN控制器60还隐含地或明确地指示其他节点装置抑制在特定链路上执行探测过程。该探测列表还可以以探测列表可包括在每个装置上的探测过程期间测量什么信息的方式基于用户意图。一旦节点装置将所请求的QoE度量数据发送至SDN控制器60,则拓扑单元76可以聚合QoE度量数据以通过推断所接收的QoE度量数据估计用于没有明确包括在探测列表中的连接的QoE度量来完成拓扑(810)。在完成拓扑中,拓扑单元76在各个方向上可具有网络中的节点装置、连接网络中的各个节点装置的链路、以及用于节点装置之间的各个连接的应用QoE度量的完整映射。使用该完整拓扑,SDN控制器60可以安排网络内的数据流以满足指示用户意图的配置数据。
本文中描述的技术可以在硬件、软件、固件、或其任何组合中实现。描述为模块、单元或部件的各种特征可以一起在集成逻辑装置中实现,或者单独地实现为离散但可互操作的逻辑装置或其他硬件装置。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路装置,诸如,集成电路芯片或芯片组。
如果在硬件中实现,则本公开可针对诸如处理器或集成电路装置(诸如,集成电路芯片或芯片组)的设备。可替换地或者此外,如果在软件或者固件中实现,通过包括指令的计算机可读数据存储介质可至少部分地实现该技术,当执行时,该指令使处理器执行以上描述的一个或多个方法。例如,计算机可读数据存储介质可以存储这种指令以由处理器执行。
计算机可读介质可以形成可包括封装材料的计算机程序产品的一部分。计算机可读介质可包括计算机数据存储介质,诸如,随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁或光学数据存储介质等。在一些实例中,制造品可包括一个或多个计算机可读存储介质。
在一些实例中,计算机可读存储介质可包括非临时性介质。术语“非暂时性”可以指示存储介质没有体现在载波或传播信号中。在某些实例中,非暂时性存储介质可存储可以随时间改变的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由包括一个或多个处理器的处理电路执行的软件和/或固件,诸如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其他等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可以指任何上述结构或适用于实现本文中所描述的技术的任何其他结构。此外,在一些方面中,可以在软件模块或硬件模块内提供本公开中所描述的功能。
已经描述了各种实例。这些和其他实例在所附权利要求的范围内。
Claims (20)
1.一种方法,包括:
由网络的网络装置构造所述网络的拓扑表示,所述网络包括多个节点装置,其中,所述拓扑表示包括所述多个节点装置中的每一个的指示和多个链路中的每个链路的指示,每个链路连接所述多个节点装置中的两个节点装置;以及
对于所述多个链路中的每一个:
由所述网络装置基于所述网络的所述拓扑表示,选择由相应链路连接的所述两个节点装置中的一个节点装置,以测量所述相应链路的一个或多个体验质量QoE度量,其中,非选定节点装置不测量所述相应链路的所述QoE度量;
响应于选择选定节点装置测量所述相应链路的所述一个或多个QoE度量,由所述网络装置从所述选定节点装置接收所述相应链路的一个或多个QoE度量的集合,其中,一个或多个QoE度量的所述集合指示从所述选定节点装置流动至所述非选定节点装置的数据流的QoE度量;
由所述网络装置将所述相应链路的QoE度量的所述集合存储在数据库中;以及
由所述网络装置基于所述相应链路的一个或多个QoE度量的所述集合确定指示从所述非选定节点装置流动至所述选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
2.根据权利要求1所述的方法,还包括:
由所述网络装置确定包括所述多个链路中的第一链路和所述多个链路中的第二链路的组合的路径,其中,所述第一链路连接所述多个节点装置中的第一节点装置和所述多个节点装置中的第二节点装置,其中,所述第二链路连接所述多个节点装置中的所述第二节点装置和所述多个节点装置中的第三节点装置,并且其中,所述多个节点装置中的所述第一节点装置和所述多个节点装置中的所述第三节点装置不由所述多个链路中的任何链路直接连接;
由所述网络装置检索所述第一链路的一个或多个QoE度量的集合和所述第二链路的一个或多个QoE度量的集合;以及
由所述网络装置基于所述第一链路的一个或多个QoE度量的集合和所述第二链路的一个或多个QoE度量的集合确定所述路径的一个或多个QoE度量的集合。
3.根据权利要求1所述的方法,还包括:
对于所述多个链路中的连接所述多个节点装置中的第一节点装置和所述多个节点装置中的第二节点装置的第一链路,由所述网络装置基于存储在所述数据库中的所述第一链路的一个或多个QoE度量的集合确定连接所述第一节点装置和所述第二节点装置的逻辑路径的一个或多个QoE度量的集合,其中,所述逻辑路径是与所述第一链路不同的连接。
4.根据权利要求1所述的方法,还包括:
对于所述多个节点装置中的每个节点装置:
对于包括相应节点装置的所述多个链路中的每个链路:
由所述网络装置确定由所述相应链路连接至所述相应节点装置的第二节点装置是否被配置为探测小于或等于由所述相应节点装置探测的链路总数的链路总数;
响应于确定由所述相应链路连接至所述相应节点装置的所述第二节点装置正在发送小于或等于由所述相应节点装置探测的所述链路总数的探测总数,由所述网络装置选择所述相应节点装置抑制通过所述相应链路将进一步的探测分组发送至由所述相应链路连接至所述相应节点装置的所述第二节点装置。
5.根据权利要求4所述的方法,还包括:
在所述多个链路中存在由所述相应链路连接的每个节点装置正在通过相应链路为其发送探测分组的链路时,由所述网络装置选择由所述相应链路连接的所述节点装置中的单个节点装置基于由所述相应链路连接的每个节点装置探测的链路总数抑制探测所述相应链路。
6.根据权利要求1至4中任一项所述的方法,
其中,选择由所述相应链路连接的所述两个节点装置中的所述节点装置包括:基于指示所述多个节点装置中的哪些节点装置正在发送探测分组并且每个节点装置正在测量几个链路的相应的一个或多个QoE度量的集合的邻接矩阵,确定所述两个节点装置中的哪个节点装置正在测量更少链路的所述相应的一个或多个QoE度量的集合,
所述方法还包括响应于选择所述选定节点装置发送测量所述相应链路的所述一个或多个QoE度量,由所述网络装置更新所述邻接矩阵。
7.根据权利要求1至4中任一项所述的方法,还包括:
由所述网络装置确定新节点装置已经进入所述网络,其中,所述新节点装置经由至少一个新链路连接至所述多个节点装置中的至少一个节点装置;
对于所述至少一个新链路中的每个新链路:
由所述网络装置确定由相应的新链路连接至所述新节点装置的所述节点装置是否被配置为探测小于或等于由所述新节点装置探测的链路总数的链路总数;
响应于确定由所述相应的新链路连接至所述新节点装置的所述节点装置正在探测小于或等于由所述新节点装置探测的链路总数的链路总数,由所述网络装置选择所述新节点装置抑制通过所述相应的新链路将进一步的探测分组发送至由所述相应的新链路连接至所述新节点装置的所述节点装置;以及
响应于确定由所述相应的新链路连接至所述新节点装置的所述节点装置正在探测大于由所述新节点装置探测的链路总数的链路总数,由所述网络装置选择通过所述相应的新链路连接至所述新节点装置的所述节点装置抑制通过所述相应的新链路将进一步的探测分组发送至所述新节点装置。
8.根据权利要求1至4中任一项所述的方法,其中,选择由所述相应链路连接的所述两个节点装置中的所述节点装置测量所述相应链路的所述一个或多个体验质量QoE度量包括:
由所述网络装置指示由所述相应链路连接的所述两个节点装置中的所述选定节点装置通过所述相应链路发送一个或多个探测分组。
9.根据权利要求1至4中任一项所述的方法,其中,构造所述网络的所述拓扑表示包括:
由所述网络装置监测通过所述多个链路中的每一个发送的一个或多个探测分组;以及
由所述网络装置基于通过所述多个链路中的每一个发送的所述一个或多个探测分组并使用图论构造所述拓扑表示。
10.一种网络装置,包括:
存储器;以及
与所述存储器通信的一个或多个处理器,所述一个或多个处理器被配置为:
对于包括多个节点装置的网络,构造所述网络的拓扑表示,其中,所述拓扑表示包括所述多个节点装置中的每一个的指示和多个链路中的每个链路的指示,每个链路连接所述多个节点装置中的两个节点装置;以及
对于所述多个链路中的每一个:
基于所述网络的所述拓扑表示,选择由相应链路连接的所述两个节点装置中的一个节点装置测量所述相应链路的一个或多个体验质量QoE度量,其中,非选定节点装置不测量所述相应链路的所述QoE度量;
响应于选择选定节点装置测量所述相应链路的所述一个或多个QoE度量,从所述选定节点装置接收所述相应链路的一个或多个QoE度量的集合,其中,一个或多个QoE度量的所述集合指示从所述选定节点装置流动至所述非选定节点装置的数据流的QoE度量;
将所述相应链路的QoE度量的所述集合存储在数据库中;以及
基于所述相应链路的一个或多个QoE度量的所述集合确定指示从所述非选定节点装置流动至所述选定节点装置的数据流的QoE度量的一个或多个反向QoE度量的集合。
11.根据权利要求10所述的网络装置,其中,所述一个或多个处理器还被配置为:
确定包括所述多个链路中的第一链路和所述多个链路中的第二链路的组合的路径,其中,所述第一链路连接所述多个节点装置中的第一节点装置和所述多个节点装置中的第二节点装置,其中,所述第二链路连接所述多个节点装置中的所述第二节点装置和所述多个节点装置中的第三节点装置,并且其中,所述多个节点装置中的所述第一节点装置和所述多个节点装置中的所述第三节点装置不由所述多个链路中的任何链路直接连接;
检索所述第一链路的一个或多个QoE度量的集合和所述第二链路的一个或多个QoE度量的集合;以及
基于所述第一链路的一个或多个QoE度量的集合和所述第二链路的一个或多个QoE度量的集合,估计所述路径的一个或多个QoE度量的集合。
12.根据权利要求10所述的网络装置,其中,所述一个或多个处理器还被配置为:
对于所述多个链路中的连接所述多个节点装置中的第一节点装置和所述多个节点装置中的第二节点装置的第一链路,基于用于存储在所述数据库中的所述第一链路的一个或多个QoE度量的集合,估计连接所述第一节点装置和所述第二节点装置的逻辑路径的一个或多个QoE度量的集合,其中,所述逻辑路径是与所述第一链路不同的连接。
13.根据权利要求10所述的网络装置,其中,所述一个或多个处理器还被配置为:
对于所述多个节点装置中的每个节点装置:
对于包括相应节点装置的所述多个链路中的每个链路:
确定由所述相应链路连接至所述相应节点装置的第二节点装置是否被配置为探测小于或等于由所述相应节点装置探测的链路总数的链路总数;
响应于确定由所述相应链路连接至所述相应节点装置的所述第二节点装置正在发送小于或等于由所述相应节点装置探测的链路总数的探测总数,选择所述相应节点装置抑制通过所述相应链路将进一步的探测分组发送至由所述相应链路连接至所述相应节点装置的所述第二节点装置。
14.根据权利要求10所述的网络装置,其中,被配置为选择由所述相应链路连接的所述两个节点装置中的所述节点装置的所述一个或多个处理器包括:被配置为基于指示所述多个节点装置中的哪些节点装置正在发送探测分组并且每个节点装置正在测量几个链路的相应的一个或多个QoE度量的集合的邻接矩阵,确定所述两个节点装置中的哪个节点装置正在测量更少链路的所述相应的一个或多个QoE度量的集合的一个或多个处理器,以及
其中,所述一个或多个处理器还被配置为响应于选择所述选定节点装置发送测量所述相应链路的所述一个或多个QoE度量,更新所述邻接矩阵。
15.根据权利要求10至14中任一项所述的网络装置,其中,所述一个或多个处理器还被配置为:
确定新节点装置已经进入所述网络,其中,所述新节点装置经由至少一个新链路连接至所述多个节点装置中的至少一个节点装置;
对于所述至少一个新链路中的每个新链路:
确定由所述相应的新链路连接至所述新节点装置的所述节点装置是否被配置为探测小于或等于由所述新节点装置探测的链路总数的链路总数;以及
响应于确定由所述相应的新链路连接至所述新节点装置的所述节点装置正在探测小于或等于由所述新节点装置探测的链路总数的链路总数,选择所述新节点装置抑制通过所述相应的新链路将进一步的探测分组发送至由所述相应的新链路连接至所述新节点装置的所述节点装置;以及
响应于确定由所述相应的新链路连接至所述新节点装置的所述节点装置正在探测大于由所述新节点装置探测的链路总数的链路总数,选择通过所述相应的新链路连接至所述新节点装置的所述节点装置抑制通过所述相应的新链路将进一步的探测分组发送至所述新节点装置。
16.根据权利要求10至14中任一项所述的网络装置,其中,所述网络装置包括软件定义网络SDN控制器装置。
17.一种方法,包括:
由网络装置接收指示出测量网络中的应用体验质量QoE的用户意图的配置数据,所述网络包括多个节点装置和多个链路,每个链路连接所述多个节点装置中的两个节点装置;
由所述网络装置构造所述网络的拓扑表示,其中,所述拓扑表示包括所述多个节点装置中的每一个的指示和所述多个链路中的每个链路的指示;
由所述网络装置基于所述用户意图和所述网络的所述拓扑表示修改初始探测列表中的一个或多个条目以创建修改探测列表,其中,所述初始探测列表包括多个条目,其中,每个条目指示所述多个节点中的正在执行用于所述多个链路中的特定链路的探测过程的特定节点装置;
由所述网络装置根据所述修改探测列表指示所述多个节点装置中的一个或多个节点装置在所述修改探测列表中的对应条目中的相应链路上执行所述探测过程,其中,所述探测过程生成所述相应链路的应用QoE度量数据;以及
响应于从指示执行所述探测过程的所述一个或多个节点装置接收所述应用QoE度量数据,由所述网络装置聚合所述应用QoE度量数据。
18.根据权利要求17所述的方法,其中,聚合所述应用QoE度量数据包括:
由所述网络装置推断所接收的应用QoE度量数据以估计从所述初始探测列表删除的所述多个条目中的每个条目的应用QoE度量数据。
19.根据权利要求17所述的方法,其中,所述初始探测列表包括邻接矩阵,其中,修改所述初始探测列表中的所述一个或多个条目包括:
基于所述邻接矩阵,确定特定条目中所述两个节点装置中的哪个节点装置正在测量较少链路的相应应用QoE度量数据;以及
由所述网络装置从所述初始探测列表删除对应于所述两个节点装置中的正在测量来自更多链路的相应的应用QoE度量数据的所述节点装置的条目。
20.根据权利要求17至19中任一项所述的方法,还包括:
由所述网络装置确定新节点装置已经进入所述网络,其中,所述新节点装置经由至少一个新链路连接至所述多个节点装置中的至少一个节点装置;以及
响应于确定所述新节点已经进入所述网络,对于所述至少一个新链路中的每个新链路:
由所述网络装置确定由相应的新链路连接至所述新节点装置的所述节点装置是否被配置为探测小于或等于由所述新节点装置探测的链路总数的链路总数;
响应于确定由所述相应的新链路连接至所述新节点装置的所述节点装置正在探测小于或等于由所述新节点装置探测的链路总数的链路总数,由所述网络装置选择所述新节点装置抑制通过所述相应的新链路将进一步的探测分组发送至由所述相应的新链路连接至所述新节点装置的所述节点装置;以及
响应于确定由所述相应的新链路连接至所述新节点装置的所述节点装置正在探测大于由所述新节点装置探测的链路总数的链路总数,由所述网络装置选择通过所述相应的新链路连接至所述新节点装置的所述节点装置以抑制通过所述相应的新链路将进一步的探测分组发送至所述新节点装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/354,402 US10924392B2 (en) | 2019-03-15 | 2019-03-15 | Planning and managing network probes using centralized controller |
US16/354,402 | 2019-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111766837A true CN111766837A (zh) | 2020-10-13 |
CN111766837B CN111766837B (zh) | 2021-12-24 |
Family
ID=67220628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943136.9A Active CN111766837B (zh) | 2019-03-15 | 2019-09-30 | 使用集中式控制器计划和管理网络探测 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10924392B2 (zh) |
EP (1) | EP3709581B1 (zh) |
CN (1) | CN111766837B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285441A (zh) * | 2021-12-29 | 2022-04-05 | 国网辽宁省电力有限公司信息通信分公司 | 一种基于sdn的电力数据通信网络系统 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924392B2 (en) | 2019-03-15 | 2021-02-16 | Juniper Networks, Inc. | Planning and managing network probes using centralized controller |
EP3722944A1 (en) * | 2019-04-10 | 2020-10-14 | Juniper Networks, Inc. | Intent-based, network-aware network device software-upgrade scheduling |
US11381491B2 (en) * | 2019-04-15 | 2022-07-05 | Netscout Systems, Inc. | System and method for load balancing of network packets received from a MME with smart clustering |
US11303727B2 (en) * | 2019-04-30 | 2022-04-12 | Jio Platforms Limited | Method and system for routing user data traffic from an edge device to a network entity |
US10938717B1 (en) | 2019-09-04 | 2021-03-02 | Cisco Technology, Inc. | Policy plane integration across multiple domains |
US20210176530A1 (en) * | 2019-12-06 | 2021-06-10 | Q'ligent Corporation | ESTIMATING OTT PLAYER QoE METRICS FROM CDN LOGS USING AI AND MACHINE LEARNING |
US11304115B2 (en) * | 2020-03-18 | 2022-04-12 | Equinix, Inc. | Network defined edge routing for an application workload |
US11985534B2 (en) * | 2020-03-18 | 2024-05-14 | Equinix, Inc. | Application workload routing and interworking for network defined edge routing |
US11233733B2 (en) | 2020-03-26 | 2022-01-25 | Verizon Patent And Licensing Inc. | Systems and methods for SR-MPLS to SRv6 interworking |
US11296947B2 (en) | 2020-06-29 | 2022-04-05 | Star2Star Communications, LLC | SD-WAN device, system, and network |
US11374907B2 (en) * | 2020-08-27 | 2022-06-28 | Sedonasys Systems Ltd | Highly available software defined wide area network |
US11463343B2 (en) * | 2020-10-07 | 2022-10-04 | Hewlett Packard Enterprise Development Lp | SDWAN overlay routing service |
US11323312B1 (en) | 2020-11-25 | 2022-05-03 | Juniper Networks, Inc. | Software-defined network monitoring and fault localization |
US11552886B2 (en) * | 2021-03-09 | 2023-01-10 | Cisco Technology, Inc. | Topology optimization in SD-WANs with path downgrading |
US11431567B1 (en) * | 2021-03-11 | 2022-08-30 | Juniper Networks, Inc. | Deploying a network management controller in an existing data center fabric |
US11388047B1 (en) * | 2021-03-17 | 2022-07-12 | Microsoft Technology Licensing, Llc | Stateless control planes |
US11799731B2 (en) * | 2021-06-25 | 2023-10-24 | Microsoft Technology Licensing, Llc | Representation and orchestration for virtual wide area networks |
US11677661B2 (en) | 2021-07-06 | 2023-06-13 | Cisco Technology, Inc. | Detecting a lack of correlation between application quality of experience and network conditions |
US11671374B2 (en) | 2021-07-14 | 2023-06-06 | Cisco Technology, Inc. | SaaS application clustering for path probing to support application-based routing |
US11627075B2 (en) | 2021-07-15 | 2023-04-11 | Microsoft Technology Licensing, Llc | Stitching multiple wide area networks together |
US11533246B1 (en) * | 2021-10-04 | 2022-12-20 | At&T Intellectual Property I, L.P. | Network probe placement optimization |
US11916779B2 (en) * | 2021-10-07 | 2024-02-27 | Juniper Networks, Inc. | Peer comparison-based outlier detection for network performance monitoring |
CN114143205B (zh) * | 2021-12-01 | 2023-08-01 | 杭州联芯通半导体有限公司 | 网络拓扑的控制方法及装置、电子设备、存储介质 |
US20230262002A1 (en) * | 2022-02-14 | 2023-08-17 | Cisco Technology, Inc. | Network interface selection based on application profiles |
US11924047B2 (en) * | 2022-04-20 | 2024-03-05 | Jpmorgan Chase Bank, N.A. | System and method for declarative automation for deployment of a software-defined network (SDN) |
JP7427847B1 (ja) | 2023-03-03 | 2024-02-05 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 情報提供装置、情報提供方法及び情報提供プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050081116A1 (en) * | 2003-09-26 | 2005-04-14 | Lucent Technologies, Inc. | System and method for monitoring link delays and faults in an IP network |
CN101371497A (zh) * | 2006-01-27 | 2009-02-18 | 卢森特技术有限公司 | 使用源路由探测的端到端服务质量 |
CN105164975A (zh) * | 2013-04-10 | 2015-12-16 | 华为技术有限公司 | 用于控制平面参考模型框架的系统和方法 |
CN107005439A (zh) * | 2014-11-20 | 2017-08-01 | 瑞典爱立信有限公司 | 用于在线服务链接的被动性能测量 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987272B2 (en) | 2004-12-06 | 2011-07-26 | Cisco Technology, Inc. | Performing message payload processing functions in a network element on behalf of an application |
US9143422B2 (en) * | 2011-03-08 | 2015-09-22 | Cisco Technology, Inc. | Determining network node performance data based on location and proximity of nodes |
US9064216B2 (en) | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
US8693374B1 (en) | 2012-12-18 | 2014-04-08 | Juniper Networks, Inc. | Centralized control of an aggregation network with a reduced control plane |
US9935832B2 (en) * | 2014-06-19 | 2018-04-03 | Telefonaktiebolaget L M Ericsson (Publ) | Automated placement of measurement endpoint nodes in a network |
US9634928B2 (en) | 2014-09-29 | 2017-04-25 | Juniper Networks, Inc. | Mesh network of simple nodes with centralized control |
US9929949B2 (en) | 2015-06-29 | 2018-03-27 | Google Llc | Systems and methods for inferring network topology and path metrics in wide area networks |
US10135701B2 (en) | 2016-02-19 | 2018-11-20 | At&T Intellectual Property I, L.P. | Context-aware virtualized control decision support system for providing quality of experience assurance for internet protocol streaming video services |
US10200248B1 (en) | 2016-06-30 | 2019-02-05 | Juniper Networks, Inc. | Translating high-level configuration instructions to low-level device configuration |
US10924392B2 (en) * | 2019-03-15 | 2021-02-16 | Juniper Networks, Inc. | Planning and managing network probes using centralized controller |
-
2019
- 2019-03-15 US US16/354,402 patent/US10924392B2/en active Active
- 2019-06-24 EP EP19181903.6A patent/EP3709581B1/en active Active
- 2019-09-30 CN CN201910943136.9A patent/CN111766837B/zh active Active
-
2021
- 2021-02-11 US US17/173,766 patent/US11611504B2/en active Active
-
2023
- 2023-03-20 US US18/186,552 patent/US11968118B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050081116A1 (en) * | 2003-09-26 | 2005-04-14 | Lucent Technologies, Inc. | System and method for monitoring link delays and faults in an IP network |
CN101371497A (zh) * | 2006-01-27 | 2009-02-18 | 卢森特技术有限公司 | 使用源路由探测的端到端服务质量 |
CN105164975A (zh) * | 2013-04-10 | 2015-12-16 | 华为技术有限公司 | 用于控制平面参考模型框架的系统和方法 |
CN107005439A (zh) * | 2014-11-20 | 2017-08-01 | 瑞典爱立信有限公司 | 用于在线服务链接的被动性能测量 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285441A (zh) * | 2021-12-29 | 2022-04-05 | 国网辽宁省电力有限公司信息通信分公司 | 一种基于sdn的电力数据通信网络系统 |
Also Published As
Publication number | Publication date |
---|---|
US11611504B2 (en) | 2023-03-21 |
EP3709581A1 (en) | 2020-09-16 |
US20230231801A1 (en) | 2023-07-20 |
US10924392B2 (en) | 2021-02-16 |
US20210168068A1 (en) | 2021-06-03 |
US11968118B2 (en) | 2024-04-23 |
EP3709581B1 (en) | 2022-01-05 |
CN111766837B (zh) | 2021-12-24 |
US20200296029A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111766837B (zh) | 使用集中式控制器计划和管理网络探测 | |
CN111770028B (zh) | 用于计算机网络的方法和网络设备 | |
CN112019371B (zh) | 用于网络管理的方法和设备 | |
US10958555B2 (en) | Real-time application-driven synthetic probing | |
CN111682952B (zh) | 针对体验质量度量的按需探测 | |
US10505804B2 (en) | System and method of discovering paths in a network | |
EP3222006B1 (en) | Passive performance measurement for inline service chaining | |
EP3222005B1 (en) | Passive performance measurement for inline service chaining | |
US11323312B1 (en) | Software-defined network monitoring and fault localization | |
WO2018197924A1 (en) | Method and system to detect virtual network function (vnf) congestion | |
EP3940994A1 (en) | Synthesizing probe parameters based on historical data | |
Raspall | Building Nemo, a system to monitor IP routing and traffic paths in real time | |
Arnold | Understanding Cloud Network Performance | |
Emmanuel | Proposed New SD-WAN Architecture to Facilitate Dynamic Load Balancing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |