CN112436984A - 数据中心网络遥测方法、***、存储介质及遥测服务器 - Google Patents
数据中心网络遥测方法、***、存储介质及遥测服务器 Download PDFInfo
- Publication number
- CN112436984A CN112436984A CN202011377551.1A CN202011377551A CN112436984A CN 112436984 A CN112436984 A CN 112436984A CN 202011377551 A CN202011377551 A CN 202011377551A CN 112436984 A CN112436984 A CN 112436984A
- Authority
- CN
- China
- Prior art keywords
- telemetry
- probe
- query
- data center
- center network
- 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.)
- Pending
Links
Images
Classifications
-
- 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/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明提供一种数据中心网络遥测方法、***、存储介质及遥测服务器,以在满足全覆盖和可扩展的要求下对数据中心网络进行按需遥测。所述数据中心网络遥测方法,包括:获取多个遥测查询;利用预设探针生成算法和多个所述遥测查询生成探针;将各探针注入到数据中心网络中,并从数据中心网络收集探针;分析收集的探针,得到遥测查询对应的遥测结果。
Description
技术领域
本发明涉及网络遥测技术领域,具体涉及一种数据中心网络遥测方法、***、存储介质及遥测服务器。
背景技术
在传统网络中,由于设计复杂和硬件工艺限制等问题,向交换芯片添加新型功能或新型网络协议往往需要数年,导致网络设备难以满足快速新型协议和网络协议的发展要求。针对网络设备演进慢的挑战,斯坦福大学Nick McKeown教授领导的团队提出了协议无关的可编程数据平面架构。该架构以可重配置匹配动作表为基础,通过可编程的控制逻辑,构建协议无关的数据包处理流水线,可快速地向交换芯片中添加新型网络功能。通过可编程数据平面架构,设备制造商或网络管理员可以像软件编程一样对交换芯片进行编程,定制交换芯片所支持的网络协议和数据包处理功能,满足实际网络应用和策略的需求。在以往研究工作基础上,Nick McKeown教授研究组针对可编程数据平面架构提出了领域特定语言P4。P4是一种声明式的编程语言,为可编程数据平面提供高级编程抽象。通过P4所提供的语法支持,程序员可以灵活地定义可编程交换设备行为,实现复杂的数据包处理逻辑。P4语言与可编程数据平面的出现改变了传统交换设备处理逻辑难以更改、不可编程的困境,为网络架构的演进发展提供了更多方向。
在数据中心网络中,网络管理员需要进行持续的网络监控以收集性能信息、故障信息等网络状态。传统的网络测量方法(例如:SNMP、Netflow等)为网络管理员提供粗粒度的运维信息,是管理员的主要运维手段。但是,随着数据中心网络规模的日益扩大,进行网络运维的难度也越来越大,传统网络测量技术已经无法满足管理员的需求,需要更强大的网络测量技术。因此,学术界和工业界对于持续、细粒度、实时的网络测量技术的呼声越来越高,这类网络测量技术被称为网络遥测(Network Telemetry)。随着可编程数据平面的兴起,网络遥测这类新技术可以很容易地被可编程交换机所支持,从而为网络测量打开了一扇新的大门。在数据中心网络,网络遥测可以提供细粒度的网络可视性(例如:队列长度、端口吞吐、链路利用率等),这对于理解实时网络状态而言非常重要。此外,网络遥测还可以用来诊断网络是否应该对应用程序的性能下降负责,简化网络OAM(操作、管理和维护),并为大规模数据中心网络里的网络故障提供线索。
发明内容
本发明提供一种数据中心网络遥测方法、***、存储介质及遥测服务器,以在满足全覆盖和可扩展的要求下对数据中心网络进行按需遥测。
第一方面,本发明提供一种数据中心网络遥测方法,包括:
获取多个遥测查询;
利用预设探针生成算法和多个所述遥测查询生成探针;
将各探针注入到数据中心网络中,并从数据中心网络收集探针;
分析收集的探针,得到遥测查询对应的遥测结果。
根据本发明的实施例,可选地,所述遥测查询是通过预设API输入的遥测应用得到。
根据本发明的实施例,可选地,所述利用预设探针生成算法和多个所述遥测查询生成探针,包括:
将所述遥测查询划分为不同类别的查询集群;
针对不同类别的查询集群的遥测查询生成对应的探针。
根据本发明的实施例,可选地,所述查询集群的类别包括性能查询集群;所述针对不同类别的查询集群的遥测查询生成对应的探针,包括:
分解所述性能查询集群中的各性能查询,并在所述性能查询集群内部合并各性能查询对应的派生元数据;
分解派生元数据,使用节点层面的原始元数据表示链路层面的原始元数据,并合并原始元数据;
为所述性能查询集群生成探针路径,进而生成探针。
根据本发明的实施例,可选地,为所述性能查询集群生成探针路径时,从遥测频率最高的性能查询集群迭代到遥测频率最低的性能查询集群,复用遥测频率。
根据本发明的实施例,可选地,为所述性能查询集群中的性能查询生成探针路径,包括:
利用启发式算法为所述性能查询集群中性能查询生成探针路径。
根据本发明的实施例,可选地,所述查询集群的类别包括故障查询集群;所述针对不同类别的查询集群的遥测查询生成对应的探针,包括:
为所述故障查询集群中每个故障查询生成探针路径。
根据本发明的实施例,可选地,所述探针包括转发标签堆栈和遥测标签堆栈;
其中,所述转发标签堆栈包括交换机节点的出端口号标签列表和出端口号标签列表长度字段,每个转发标签对应探针当前经过的交换机节点,每个转发标签的值对应探针当前经过的交换机节点的出端口号;
所述遥测标签堆栈,其中的每个遥测标签包括探针当前经过的交换机节点的ID、元数据位图和元数据值列表,所述遥测标签用于记录遥测数据。
根据本发明的实施例,可选地,所述探针的头部包含以太网头部、IP头部,以及TCP/UDP头部;
其中,TCP/UDP头部包含所述探针的目的端口号,用于通知交换机节点当前报文为探针。
根据本发明的实施例,可选地,所述探针的长度不超过预设的转发标签堆栈阈值且不超过预设的遥测标签堆栈阈值。
根据本发明的实施例,可选地,所述方法还包括:根据更新的遥测查询,并利用预设更新方案更新探针;
所述预设更新方案至少包括如下更新方案中的一种:
第一更新方案:直接为获取到的新的遥测查询生成探针;对于删除的遥测查询,不重新生成探针;
第二更新方案:针对获取到的新的遥测查询与之前的遥测查询,执行所述利用预设探针生成算法和多个所述遥测查询生成探针的步骤;
第三更新方案:首先,为获取到的新的遥测查询采用第一更新方案生成探针,其次,在达到按预设周期执行第二更新方案。
第二方面,本发明提供一种数据中心网络遥测***,包括:
遥测服务提供器,用于获取多个遥测查询,并分配给遥测协调器;
遥测协调器,用于利用预设探针生成算法和多个所述遥测查询生成探针:
遥测收发器,用于将各探针注入到数据中心网络中,并从数据中心网络收集探针;
遥测分析器,用于分析收集的探针,得到遥测查询对应的遥测结果,将所述遥测结果传递给所述遥测服务提供器。
第三方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如第一方面所述的数据中心网络遥测方法。
第四方面,本发明提供一种遥测服务器,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的数据中心网络遥测方法。
与现有技术相比,本发明的一个或多个实施例至少具有如下有益效果:
本发明针对当前数据中心网络遥测技术的不足,能够实现了按需、全覆盖、可扩展的网络遥测。首先,可以通过遥测API按需表达整个管辖范围内网络的遥测应用,使网络管理员可以按需自定义遥测目标、遥测特征和遥测频率,并在运行时动态查询网络状态,而不会中断网络中的业务流量。然后,借助源路由技术设计了一种新的探针结构,仅需要一台遥测服务器就可以为大型数据中心网络生成数量很少的探针,实现了遥测目标的全覆盖。并且,通过高效的探针生成算法和探针更新方案,用来合并遥测元数据、复用遥测频率以及使用节点级元数据来计算路径级遥测信息,大大减少了网络带宽开销,提高了遥测***的可扩展性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的一种数据中心网络遥测方法流程图;
图2是本发明实施例提供的探针结构示意图;
图3是本发明实施例提供的交换机处理逻辑示意图;
图4是本发明实施例提供的探针生成示意图;
图5是本发明实施例提供的数据中心网络遥测方法的工作原理示意图;
图6是本发明实施例提供的数据中心网络遥测***框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于大规模数据中心,设计一套高效的网络遥测***需要满足下述三个关键要求:
(1)按需遥测。网络管理员可能有多种遥测需求(例如:服务质量验证、节点黑洞检测、端口吞吐测量等),网络遥测***应该按照管理员的需求支持不同的遥测应用。此外,由于各种遥测应用对于数据采集频率的要求不同(例如:10s一次、5min一次、2h一次),因此遥测***应该按需支持不同的遥测频率。
(2)全覆盖。遥测目标应该尽可能完整地覆盖网络中各个交换机和链路,如果遥测目标覆盖不全面,未覆盖部分的网络故障和性能下降将逃过管理员的监控,在严重情况下还会导致一系列连锁事件和潜在的经济损失。
(3)可扩展。近年来数据中心的规模迅速增长,并且还会保持增长的趋势。因此,实际的遥测***需要具备良好的可扩展性,产生的遥测数据量和进行遥测数据处理的时间需要处于一个相对合理可接受的量级。
相关技术中,遥测技术分为被动遥测技术和主动遥测技术,然而两者都无法在满足全覆盖和可扩展的要求下对数据中心网络进行按需遥测,具体而言:
(1)被动遥测技术借助业务流量来进行测量,已有的被动遥测技术要么无法获取细粒度的全网视图,要么会上传海量的遥测数据;
(2)主动网络遥测技术通过主动发送探针报文的方式来进行测量,已有的主动遥测技术要么只支持固定的遥测应用,要么需要引入大量的服务器来发送大量探针报文。
鉴于此,本发明通过如下实施例提供一种数据中心网络遥测方法、***、存储介质及遥测服务器,解决相关技术无法在满足全覆盖和可扩展的要求下对数据中心网络进行按需遥测的技术问题。
实施例一
图1示出了一种数据中心网络遥测方法流程图,图5示出了一种数据中心网络遥测方法的工作原理示意图。如图1和图5所示,本实施例提供一种数据中心网络遥测方法,应用于遥测服务器,包括如下步骤:
步骤S110、获取多个遥测查询。
其中,遥测查询是通过预设API(Application Programming Interface,应用程序接口)输入的遥测应用得到。
网络管理员可以编写遥测应用,输入给遥测服务器暴露的预设API,随后获取遥测报告,无需直接操纵底层网络设施。遥测应用可以通过预设API进行各种遥测查询,按需表达整个数据中心网络范围内的遥测应用,使网络管理员可以按需自定义遥测目标、遥测特征和遥测频率等,并在查询过程中动态查询网络状态,而不会中断网络中的业务流量,当探针在底层的数据中心网络完成遥测查询任务回到遥测服务器时,也通过该预设API将遥测报告(遥测结果)反馈给遥测应用。
为了简化网络管理员的遥测意图表达,可以提供实现多种遥测查询所需的预设API,以供网络管理员编写遥测应用时调用。本实施例中,例如可以提供如下API:
(1)PathQuery(“SrcNode:SrcPort”,“DstNode:DstPort”):表示查询源节点和目的节点所对应端口之间的路径级别的遥测信息;
(2)NodeQuery(“Node:Port”):表示查询给定节点的遥测信息;
(3)ProbeQuery(“TerminalIP”):表示查询从某个遥测服务器发送出来的探针的遥测信息;
(4)Where(“Scope”):表示限定所查询元数据的范围;
(5)Period(“DesiredTime”):表示设置一个时钟来周期性地查询网络;
(6)Return(“Metadata”):表示返回所需的元数据作为遥测结果。
网络管理员可以通过编写遥测查询来表达各种遥测应用,包括对整个数据中心网络的查询(全局查询)或仅对部分数据中心网络的查询(非全局查询)。非全局查询,例如:查询某条路径、查询一个Pod中的交换机。如表1所示,列举了几个遥测应用示例:
(1)证明网络清白。网络管理员可以利用本方法周期性地测量路径吞吐量,以便当应用服务发生中断的时候,能够在第一时间确定应该归咎于终端主机还是归咎于网络。
(2)网络规划。网络管理员可以借助本方法,为长期的网络容量规划和拓扑扩充收集大量的一手遥测数据(例如:队列长度)。
(3)故障定位。网络管理员可以查询容易出现故障的部分网络甚至整个数据中心网络,从而在第一时间发现零星出现的故障。
(4)事件回溯。网络管理员如果想及时了解丢包的时间和地点,借助本方法,可以轻松获得与某些不可复现事件有关的重要线索(例如:随机丢包计数)。
表1遥测应用示例
步骤S120、利用预设探针生成算法和多个所述遥测查询生成探针。
在具体应用中,可编程数据平面(例如P4语言的可编程数据平面原型***)所支持的元数据,可以包括:原始元数据和派生元数据,其中:
(1)原始元数据:由数据平面直接支持,包括交换机元数据(例如:交换机ID)、入端口元数据(例如:入端口报文计数)、缓冲区元数据(例如:瞬时队列长度)和出端口元数据(例如:出端口利用率);
(2)派生元数据:是高级的自定义元数据,可以通过原始元数据进行计算得到,它包含路径级别的元数据(例如:路径利用率)、节点级别的元数据(例如:交换机工作负载)和探针级别的元数据(例如:探针数目)。
本实施例中,探针可以采用如图2所示的结构设计,其包括转发标签堆栈和遥测标签堆栈,图2中的ni表示元数据值的数量,i表示交换机节点,不同交换机节点,元数据值的数量可能不同。
其中,转发标签堆栈包括交换机节点的出端口号标签列表和出端口号标签列表长度字段(1字节),每个转发标签对应探针当前经过的交换机节点,每个转发标签的值对应探针当前经过的交换机节点的出端口号(2字节)。
遥测标签堆栈,其中的每个遥测标签包括探针当前经过的交换机节点的ID、元数据位图和元数据值列表,所述遥测标签用于记录遥测数据。其中,元数据位图决定了探针需要收集的元数据类型,元数据值列表用来记录这些元数据的值。
除了转发标签堆栈和遥测标签堆栈之外,探针的头部与普通数据包头类似,包含以太网头部、IP头部,以及TCP/UDP头部;其中,TCP/UDP头部包含探针的目的端口号,用于通知交换机节点当前报文为探针。
为了通知数据中心网络的可编程交换机节点此种类型的报文是本方法的探针,可以将探针的目的端口号预设为某个不常用的固定值,并将探针的目的IP地址设置为遥测服务器的IP,以确保最终能够将探针转发到遥测服务器。
在探针被转发与处理期间,交换机节点弹出转发标签堆栈中的转发标签以转发探针,压入遥测标签堆栈中的遥测标签所对应的元数据值以记录遥测信息。
本实施例通过一台遥测服务器即可生成、注入和收集探针,而交换机节点的任务则相对简单,只负责依据探针头部信息来处理和转发探针,最后将探针转发到遥测服务器以便进行进一步的分析。与前述设计的探针结构相适应,本实施例还设计了相应的交换机处理逻辑,前述转发标签堆栈和遥测标签堆栈的解耦设计分别负责逐跳转发探针以及记录遥测元数据,而当遥测服务器生成探针后,转发探针以及处理探针的逻辑就已携带在探针头部里,交换机节点只需遵循探针头部的逻辑来处理和转发探针,就可以确保在不中断数据平面业务流量的前提下动态生成和更新探针。
在探针被转发与处理期间,经过的交换机节点弹出转发标签堆栈中的转发标签以转发探针,压入遥测标签堆栈中的元数据值以记录遥测信息。如图3所示,数据包进入交换机节点后,交换机节点首先会检查TCP/UDP头部的目的端口号dst_port是否为预设的固定值。如果不是,则交换机节点将其视为普通报文,并在交换机节点的寄存器中刷新与其相关的元数据(例如:该报文所经历的队列长度),即用普通报文刷新交换机寄存器中相应队列的元数据。然后,对该报文进行正常处理和转发。如果dst_port是预设的固定值,交换机节点将遥测标签堆栈中的交换机节点的ID与本交换机节点的ID进行一一比较,一旦找到与自身相同的ID,这意味着需要监控当前的交换机节点,该交换机节点将重写遥测标签堆栈中的元数据值列表,根据元数据位图添加对应的遥测结果。最后,无论是否压入遥测标签,都会弹出一个转发标签,并根据转发标签对应的出端口号转发探针。在此种处理逻辑下,本实施例的探针无需覆盖所有的链路,只需覆盖所有交换机节点即可获取每个交换机队列的信息,将遥测目标从O(N2)减少到O(N)量级,N表示所管辖范围内所有交换机节点的数目,从而大大减小了探针的数目。
本实施例中的预设探针生成算法运行在遥测服务器上,主要解决两个方面的问题:第一个问题是如何快速地将网络管理员的遥测查询转换为底层网络的探针,并且探针长度不超过交换机节点的MTU(最大传输单元,Maximum Transmission Unit,MTU);第二个问题是如何减小探针带来的带宽开销。
对于第一个问题,通过引入转发标签堆栈阈值kFwd和遥测标签堆栈阈值kTele来限制单个探针的长度,使探针的长度不超过预设的转发标签堆栈阈值且不超过预设的遥测标签堆栈阈值。如果一个探针路径比其他探针路径长得多,遥测服务器必须等到所走路径最长的探针返回,这会降低遥测结果的有效性和准确性。此外,探针经过的路径越长,需要的标签越多,从而导致超出MTU。通过引入可以由网络管理员指定的转发标签堆栈阈值kFwd和遥测标签堆栈阈值kTele,在生成探针的时候避免单个探针长度过长,然后用另外的探针获取剩下的元数据即可。
对于第二个问题,可以通过合并冗余元数据,来提高遥测效率,使用节点级别的元数据来近似计算路径级别的元数据,以减少遥测目标;再进一步通过复用遥测频率,提高探针利用率。
因此,在一些实施方式中,利用预设探针生成算法和多个所述遥测查询生成探针,包括:
步骤S120-1、将遥测查询划分为不同类别的查询集群。
其中,查询集群的类别至少包括性能查询集群和/或故障查询集群,在实际应用中,还可以根据遥测应用的查询需求,划分为其他类别,在此不做唯一限定。
将遥测查询分类为查询集群,并独立计算每个查询集群,可以使更少的探针携带更多遥测结果。尽管这种做法减少了探针数量,但只要一个探针发生丢包就会同时影响多个遥测查询,因此为了减少探针丢包造成的影响,本实施例将遥测查询分为两种类型:性能查询和故障查询,性能查询是指需要在网络中获取性能信息的查询(例如:队列长度检测),其探针丢包率可以忽略不计(约1×10-5)。故障查询是指需要检测网络中的故障(例如:节点黑洞发现),会有很大概率被丢弃探针。通过分类将一批遥测查询划分为性能查询集群、故障查询集群,优化了性能查询的探针生成方式,对性能查询进行聚合和优化,而针对故障查询,则单独为每个故障查询生成探针,不做聚合和优化。可以理解的是,由于遥测查询中写入了遥测频率,因此,同一类别的查询集群可能因遥测频率不同而存在多个,也就是说,分类后可能存在不同遥测频率的性能查询集群/故障查询集群。
步骤S120-2、针对不同类别的查询集群的遥测查询生成对应的探针。
若查询集群的类别包括性能查询集群,则可以通过对同一查询集群内的性能查询进行聚合和优化,减少遥测目标,提高查询效率。因此,针对每个性能查询集群的遥测查询生成对应的探针,可以包括:
步骤a、分解性能查询集群中的各性能查询,并在性能查询集群内部合并各性能查询对应的派生元数据。
由于不同的遥测查询可能需要获取相同的派生元数据,因此,可以通过合并派生元数据以减少遥测目标。但是,由于跨越不同的查询集群意味着不同的遥测频率(不同性能查询集群,遥测频率不同),因此,只能在单个性能查询集群中合并派生元数据。如果网络管理员编写的遥测查询混用了派生元数据和原始元数据,则可以保留原始元数据,而只处理派生元数据,到步骤c中再处理原始元数据。分解后的每个元数据(原始元数据/派生元数据)都与对应的遥测频率进行绑定。
步骤b、分解派生元数据,使用节点层面的原始元数据表示链路层面的原始元数据,并合并原始元数据。
分解派生元数据来近似计算原始元数据,使用节点层面的原始元数据近似表示链路层面的原始元数据,并合并原始元数据(将相同交换机节点合并、相同的原始元数据合并),没有合并的派生元数据会导致过多的原始元数据,对于分布在链路上的派生元数据,可以将派生元数据分割到相邻的交换机节点,并使用原始元数据近似表示派生元数据,例如:图4中交换机节点B和C之间的延迟,可以使用出口时间戳减去入口时间戳,计算得到单个交换机节点中的处理延迟和排队延迟,而忽略传播延迟,来近似表示交换机节点B和C之间的延迟,这样可以将链路延迟这一遥测查询的派生元数据信息分割到交换机节点B和C上完成,分解为两个不同节点层面的原始元数据,通过这种方式,可以将一条路径(链路)分割为多个部分进行测量,并以相同的粒度合并路径级别(链路层面)信息和节点级别(节点层面)信息。
本实施例中,通过将路径级别(链路层面)的元数据近似表示为节点级别(节点层面)的元数据来进行计算。具体来说,与延迟相关的遥测数据包括四个部分:发送延迟、传输延迟、排队延迟和处理延迟。其中,排队延迟和处理延迟能够表征网络性能的波动。因此,本方法无需测量路径的延迟,而是测量每个交换机节点的排队延迟和处理延迟,并使用节点级别的排队延迟和处理延迟来组成路径级别的遥测信息。至于吞吐相关的遥测数据,路径吞吐量由路径上的最小端口吞吐量决定。同理,也无需测量路径的吞吐量,而是测量每个交换机节点的端口吞吐量,并使用节点级别的端口吞吐量来计算路径级别的遥测信息。
步骤c、为性能查询集群生成探针路径,进而生成探针。
优选地,为性能查询集群生成探针路径时,从遥测频率最高的性能查询集群迭代到遥测频率最低的性能查询集群,复用遥测频率。从遥测频率最高的查询集群迭代到遥测频率最低的查询集群,如此,只要探针通过一个交换机节点,就会从该交换机节点收集所有原始元数据(包括当前遥测频率及低于当前遥测频率较的原始元数据),可以理解的是,可以探针的长度受限于转发标签堆栈阈值kFwd和遥测标签堆栈阈值kTele,不能超过转发标签堆栈阈值kFwd和遥测标签堆栈阈值kTele,那么剩下的原始元数据则由下一个探针来收集。因此,可以实现复用遥测频率,提高探针利用率,而不会产生额外的绕路开销。此外,随着程序的迭代,由于较高遥测频率的探针已经获取了原始元数据,因此需要访问较低遥测频率的查询集群中的交换机节点变得更少了,也进一步降低了遥测目标的数目。
优选地,可以利用启发式算法为性能查询集群中性能查询生成探针路径。
在另一些实施方式中,查询集群的类别还可以包括故障查询集群;针对不同类别的查询集群的遥测查询生成对应的探针,包括:为故障查询集群中每个故障查询生成探针路径。
步骤S130、将各探针注入到数据中心网络中,并从数据中心网络收集探针。
步骤S140、分析收集的探针,得到遥测查询对应的遥测结果。
在实际应用中,网络管理员可能需要添加、删除或者修改遥测查询,并且网络拓扑也可能会变更,这就需要根据遥测查询的变更或网络拓扑的变更来更新探针,因此,在一些可能的实现方式中,本方法还包括:
步骤S150、根据更新的遥测查询,并利用预设更新方案更新探针。
其中,预设更新方案至少包括如下更新方案中的一种:
第一更新方案:直接为获取到的新的遥测查询生成探针;对于删除的遥测查询,不重新生成探针。此更新方案也是时间最短的更新方案,当管理员需要更新遥测查询并立即查看遥测结果时,优选使用此时间最短的更新方案,具体而言,对于添加新的遥测查询,直接为该遥测查询生成一组探针,而对于遥测查询的删除,则不执行任何更新操作,而是直接使用现有的探针来获取遥测结果。
第二更新方案:针对获取到的新的遥测查询与之前的遥测查询,执行利用预设探针生成算法和多个所述遥测查询生成探针的步骤。此更新方案也是探针数目最少的更新方案。前述的时间最短的更新方案,由于为每个新的遥测查询单独生成探针,并且不会删除多余的探针,难免会引入大量冗余探针,因此,也可以采用此探针数目最少的更新方案,将更新后的遥测查询集作为输入,从头开始生成探针。
第三更新方案:首先,为获取到的新的遥测查询采用第一更新方案生成探针,其次,在达到按预设周期执行第二更新方案。此更新方案也是一种混合更新方案,第一更新方案和第二更新方案虽然追求不同的目的,但它们可以共同工作以兼顾较短的时间开销和较少的带宽开销。因此,采用此混合更新方案将消耗时间最短的更新方案和探针数目最少的更新方案结合在一起,能够综合两者优点。具体而言,发生更新事件即获取到的新的遥测查询时,立即采用时间最短的更新以尽快获得遥测结果,之后,按预设周期(例如10分钟)定期运行探针数目最少的更新以执行更新事件的批处理从而获得数量最少的探针。
实施例二
图6示出了一种数据中心网络遥测***框图,如图6所示,本实施例提供一种数据中心网络遥测***,包括:
遥测服务提供器610,用于获取多个遥测查询,并分配给遥测协调器;
遥测协调器620,用于利用预设探针生成算法和多个遥测查询生成探针:
遥测收发器630,用于将各探针注入到数据中心网络中,并从数据中心网络收集探针;
遥测分析器640,用于分析收集的探针,得到遥测查询对应的遥测结果,将遥测结果传递给遥测服务提供器。
可以理解,遥测服务提供器610可用于执行实施例一中的步骤S110,遥测协调器620可用于执行实施例一中的步骤S120,遥测收发器630可用于执行实施例一中的步骤S130,遥测分析器640可用于执行实施例一中的步骤S140,具体步骤请参见实施例一,此处不再赘述。
显然本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这一本发明不限制于任何限定的硬件和软件结合。
实施例三
本实施例提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被一个或多个处理器执行时,实现实施例一的数据中心网络遥测方法。
本实施例中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
实施例四
本实施例提供一种遥测服务器,包括存储器和处理器,该存储器上存储有计算机程序,计算机程序被该处理器执行时实现实施例一的数据中心网络遥测方法。
本实施例中,处理器可以是专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(ProgrammableLogic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例中的方法,该方法可以基于Python版本实现。在处理器上运行的计算机程序被执行时所实现的方法可参照本发明实施例一提供的数据中心网络遥测方法具体实施例,此处不再赘述。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的***和方法,也可以通过其它的方式实现。以上所描述的***和方法实施例仅仅是示意性的。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (14)
1.一种数据中心网络遥测方法,其特征在于,包括:
获取多个遥测查询;
利用预设探针生成算法和多个所述遥测查询生成探针;
将各探针注入到数据中心网络中,并从数据中心网络收集探针;
分析收集的探针,得到遥测查询对应的遥测结果。
2.根据权利要求1所述的数据中心网络遥测方法,其特征在于,所述遥测查询是通过预设API输入的遥测应用得到。
3.根据权利要求1所述的数据中心网络遥测方法,其特征在于,所述利用预设探针生成算法和多个所述遥测查询生成探针,包括:
将所述遥测查询划分为不同类别的查询集群;
针对不同类别的查询集群的遥测查询生成对应的探针。
4.根据权利要求3所述的数据中心网络遥测方法,其特征在于,所述查询集群的类别包括性能查询集群;所述针对不同类别的查询集群的遥测查询生成对应的探针,包括:
分解所述性能查询集群中的各性能查询,并在所述性能查询集群内部合并各性能查询对应的派生元数据;
分解派生元数据,使用节点层面的原始元数据表示链路层面的原始元数据,并合并原始元数据;
为所述性能查询集群生成探针路径,进而生成探针。
5.根据权利要求4所述的数据中心网络遥测方法,其特征在于,为所述性能查询集群生成探针路径时,从遥测频率最高的性能查询集群迭代到遥测频率最低的性能查询集群,复用遥测频率。
6.根据权利要求4所述的数据中心网络遥测方法,其特征在于,为所述性能查询集群中的性能查询生成探针路径,包括:
利用启发式算法为所述性能查询集群中性能查询生成探针路径。
7.根据权利要求3所述的数据中心网络遥测方法,其特征在于,所述查询集群的类别包括故障查询集群;所述针对不同类别的查询集群的遥测查询生成对应的探针,包括:
为所述故障查询集群中每个故障查询生成探针路径。
8.根据权利要求1至7中任一项所述的数据中心网络遥测方法,其特征在于,所述探针包括转发标签堆栈和遥测标签堆栈;
其中,所述转发标签堆栈包括交换机节点的出端口号标签列表和出端口号标签列表长度字段,每个转发标签对应探针当前经过的交换机节点,每个转发标签的值对应探针当前经过的交换机节点的出端口号;
所述遥测标签堆栈,其中的每个遥测标签包括探针当前经过的交换机节点的ID、元数据位图和元数据值列表,所述遥测标签用于记录遥测数据。
9.根据权利要求8所述的数据中心网络遥测方法,其特征在于,所述探针的头部包含以太网头部、IP头部,以及TCP/UDP头部;
其中,TCP/UDP头部包含所述探针的目的端口号,用于通知交换机节点当前报文为探针。
10.根据权利要求8所述的数据中心网络遥测方法,其特征在于,所述探针的长度不超过预设的转发标签堆栈阈值且不超过预设的遥测标签堆栈阈值。
11.根据权利要求1所述的数据中心网络遥测方法,其特征在于,还包括:根据更新的遥测查询,并利用预设更新方案更新探针;
所述预设更新方案至少包括如下更新方案中的一种:
第一更新方案:直接为获取到的新的遥测查询生成探针;对于删除的遥测查询,不重新生成探针;
第二更新方案:针对获取到的新的遥测查询与之前的遥测查询,执行所述利用预设探针生成算法和多个所述遥测查询生成探针的步骤;
第三更新方案:首先,为获取到的新的遥测查询采用第一更新方案生成探针,其次,在达到按预设周期执行第二更新方案。
12.一种数据中心网络遥测***,其特征在于,包括:
遥测服务提供器,用于获取多个遥测查询,并分配给遥测协调器;
遥测协调器,用于利用预设探针生成算法和多个所述遥测查询生成探针:
遥测收发器,用于将各探针注入到数据中心网络中,并从数据中心网络收集探针;
遥测分析器,用于分析收集的探针,得到遥测查询对应的遥测结果,将所述遥测结果传递给所述遥测服务提供器。
13.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求1至11中任一项所述的数据中心网络遥测方法。
14.一种遥测服务器,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至11中任一项所述的数据中心网络遥测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011377551.1A CN112436984A (zh) | 2020-11-30 | 2020-11-30 | 数据中心网络遥测方法、***、存储介质及遥测服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011377551.1A CN112436984A (zh) | 2020-11-30 | 2020-11-30 | 数据中心网络遥测方法、***、存储介质及遥测服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112436984A true CN112436984A (zh) | 2021-03-02 |
Family
ID=74697576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011377551.1A Pending CN112436984A (zh) | 2020-11-30 | 2020-11-30 | 数据中心网络遥测方法、***、存储介质及遥测服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112436984A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225229A (zh) * | 2021-05-08 | 2021-08-06 | 北京邮电大学 | 一种基于标签的分布式轻量级全网遥测方法及装置 |
CN113242142A (zh) * | 2021-04-13 | 2021-08-10 | 清华大学 | 带内网络遥测方法、装置、电子设备及存储介质 |
CN113347059A (zh) * | 2021-05-24 | 2021-09-03 | 北京邮电大学 | 基于固定探针位置的带内网络遥测最优探测路径规划方法 |
CN113629871A (zh) * | 2021-08-12 | 2021-11-09 | 广西电网有限责任公司 | 一种运用源端录波信息过滤的录波主站优化运行方法 |
CN115442275A (zh) * | 2022-07-27 | 2022-12-06 | 北京邮电大学 | 基于分级可信流的混合遥测方法和*** |
CN116192652A (zh) * | 2023-03-17 | 2023-05-30 | 东南大学 | 一种面向动态网络环境的双时间尺度网络遥测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110289902A (zh) * | 2018-12-29 | 2019-09-27 | 中国科学院软件研究所 | 一种星上软件的更新*** |
CN110958157A (zh) * | 2019-11-18 | 2020-04-03 | 清华大学 | 一种网络测试方法、***、存储介质及电子设备 |
-
2020
- 2020-11-30 CN CN202011377551.1A patent/CN112436984A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110289902A (zh) * | 2018-12-29 | 2019-09-27 | 中国科学院软件研究所 | 一种星上软件的更新*** |
CN110958157A (zh) * | 2019-11-18 | 2020-04-03 | 清华大学 | 一种网络测试方法、***、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
YUNSENXIAO LIN等: "NetView: Towards On-Demand Network-Wide Telemetry in the Data Center", 《ICC 2020 - 2020 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242142A (zh) * | 2021-04-13 | 2021-08-10 | 清华大学 | 带内网络遥测方法、装置、电子设备及存储介质 |
CN113242142B (zh) * | 2021-04-13 | 2022-04-29 | 清华大学 | 带内网络遥测方法、装置、电子设备及存储介质 |
CN113225229A (zh) * | 2021-05-08 | 2021-08-06 | 北京邮电大学 | 一种基于标签的分布式轻量级全网遥测方法及装置 |
CN113225229B (zh) * | 2021-05-08 | 2022-04-05 | 北京邮电大学 | 一种基于标签的分布式轻量级全网遥测方法及装置 |
CN113347059A (zh) * | 2021-05-24 | 2021-09-03 | 北京邮电大学 | 基于固定探针位置的带内网络遥测最优探测路径规划方法 |
CN113347059B (zh) * | 2021-05-24 | 2022-06-17 | 北京邮电大学 | 基于固定探针位置的带内网络遥测最优探测路径规划方法 |
CN113629871A (zh) * | 2021-08-12 | 2021-11-09 | 广西电网有限责任公司 | 一种运用源端录波信息过滤的录波主站优化运行方法 |
CN113629871B (zh) * | 2021-08-12 | 2023-10-24 | 广西电网有限责任公司 | 一种运用源端录波信息过滤的录波主站优化运行方法 |
CN115442275A (zh) * | 2022-07-27 | 2022-12-06 | 北京邮电大学 | 基于分级可信流的混合遥测方法和*** |
CN115442275B (zh) * | 2022-07-27 | 2024-02-27 | 北京邮电大学 | 基于分级可信流的混合遥测方法和*** |
CN116192652A (zh) * | 2023-03-17 | 2023-05-30 | 东南大学 | 一种面向动态网络环境的双时间尺度网络遥测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112436984A (zh) | 数据中心网络遥测方法、***、存储介质及遥测服务器 | |
US10320691B1 (en) | Visibility packets | |
US10447815B2 (en) | Propagating network configuration policies using a publish-subscribe messaging system | |
US10200279B1 (en) | Tracer of traffic trajectories in data center networks | |
US10374956B1 (en) | Managing a hierarchical network | |
Lin et al. | Netview: Towards on-demand network-wide telemetry in the data center | |
US8638680B2 (en) | Applying policies to a sensor network | |
US20180262454A1 (en) | Network routing using a publish-subscribe messaging system | |
US8248926B2 (en) | Packet rate detection apparatus and method | |
US20180262585A1 (en) | Sub-second network telemetry using a publish-subscribe messaging system | |
Ding et al. | An incrementally-deployable P4-enabled architecture for network-wide heavy-hitter detection | |
US12047477B2 (en) | Packet-programmable statelets | |
US20120026890A1 (en) | Reporting Statistics on the Health of a Sensor Node in a Sensor Network | |
US20120026938A1 (en) | Applying Policies to a Sensor Network | |
Chowdhury et al. | Lint: Accuracy-adaptive and lightweight in-band network telemetry | |
Sheng et al. | DeltaINT: Toward general in-band network telemetry with extremely low bandwidth overhead | |
Chefrour | One-way delay measurement from traditional networks to sdn: A survey | |
Yang et al. | Flow monitoring scheme design in SDN | |
Simsek et al. | Efficient network monitoring via in-band telemetry | |
Ferriol-Galmés et al. | FlowDT: a flow-aware digital twin for computer networks | |
US10805206B1 (en) | Method for rerouting traffic in software defined networking network and switch thereof | |
Fezeu et al. | Anomalous model-driven-telemetry network-stream bgp detection | |
US11405296B1 (en) | Automated validation of network matrices | |
Gao et al. | UniROPE: Universal and robust packet trajectory tracing for software-defined networks | |
Chang et al. | A Congestion Aware Multi-Path Label Switching in Data Centers Using Programmable Switches |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210302 |
|
RJ01 | Rejection of invention patent application after publication |