CN110896368A - 网络质量监控方法及装置 - Google Patents
网络质量监控方法及装置 Download PDFInfo
- Publication number
- CN110896368A CN110896368A CN201911060970.XA CN201911060970A CN110896368A CN 110896368 A CN110896368 A CN 110896368A CN 201911060970 A CN201911060970 A CN 201911060970A CN 110896368 A CN110896368 A CN 110896368A
- Authority
- CN
- China
- Prior art keywords
- header information
- network quality
- packet header
- tcp window
- 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/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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/14—Network analysis or design
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种网络质量监控方法及装置,所述方法包括:获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。本发明实施例提供的网络质量监控方法及装置,通过获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络质量监控方法及装置。
背景技术
随着互联网的快速发展,用户需求不断增加,网络复杂度越来越高,用户对于网络管理的要求也不断提高。其中,网络质量监控是网络维护的核心问题之一。
现有技术中,数据中心网络质量通常采用以下两种方案进行监控:一、通过探针拨测的方式来进行监控,通过探针进行周期性拨测可以监控从探针到被测目标服务器之间网络通断情况及链路时延;二、除主动探测外,还可以通过镜像流量的方式,对网络中传输的数据包进行复制,并导入旁路系统进行分析,得到对网络质量的评估结果。
但是,现有技术中,采用探针拨测的方案在待监控的链路数量较多时,需要增加探针的数量;采用镜像流量的方式则需要引入额外的分光设备或由网络设备支持端口镜像功能,由于数据中心内服务器之间数据传输链路较多,且传输数据量较大,大规模部署分光设备或者对网络设备配置端口镜像,以及对大流量数据的分析都会变得非常困难。
发明内容
本发明实施例提供一种网络质量监控方法及装置,用于解决现有技术中的上述技术问题。
为了解决上述技术问题,一方面,本发明实施例提供一种网络质量监控方法,包括:
获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
进一步地,所述字段信息至少包括源IP、源端口、目的IP、目的端口、连接状态标识位、SEQ序号标识位和选择性应答SACK标识位。
进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,具体包括:
判断所述目标包头信息是否包含SACK标识位;
若所述目标包头信息包含SACK标识位,则确定数据中心内数据传输时的网络丢包率大于第一预设阈值。
进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,具体包括:
根据所述目标包头信息确定在一次连接中TCP窗口是否缩小,且缩小后的TCP窗口值是否小于第二预设阈值;
若在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于所述第二预设阈值,则确定数据中心内数据传输时出现网络拥塞。
进一步地,所述根据所述目标包头信息确定在一次连接中TCP窗口是否缩小,且缩小后的TCP窗口值是否小于第二预设阈值,具体包括:
根据所述目标包头信息包含的源IP、源端口、目的IP、目的端口和连接状态标识位,确定所述目标数据包与预先存储的数据包是否为一次连接;
若所述目标数据包与预先存储的数据包为一次连接,则根据第一SEQ序号值和第一TCP窗口值,以及第二SEQ序号值和第二TCP窗口值,确定在一次连接中TCP窗口是否缩小;其中,所述第一SEQ序号值为所述目标包头信息包含的SEQ序号值,所述第一TCP窗口值为所述目标包头信息包含的TCP窗口值,所述第二SEQ序号值为预先存储的数据包中的包头信息包含的SEQ序号值,所述第二TCP窗口值为预先存储的数据包中的包头信息包含的TCP窗口值;
若所述第一SEQ序号值小于所述第二SEQ序号值且所述第一TCP窗口值大于所述第二TCP窗口值,则确定所述第二TCP窗口值是否小于所述第二预设阈值;
若所述第二TCP窗口值小于所述第二预设阈值,则确定在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于所述第二预设阈值。
进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量之后,还包括:
当网络出现异常时,将异常信息记录到系统日志中。
进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量之后,还包括:
当网络出现异常时,将异常信息上报至监控平台,所述监控平台用于对所有的异常信息进行聚类分析。
另一方面,本发明实施例提供一种数据中心服务器,包括:
获取模块,用于获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
监控模块,用于将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
再一方面,本发明实施例提供一种电子设备,包括:存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述方法的步骤。
又一方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述方法的步骤。
本发明实施例提供的网络质量监控方法及装置,通过获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
附图说明
图1为本发明实施例提供的网络质量监控方法示意图;
图2为本发明实施例提供的匹配过程逻辑流程图;
图3为本发明实施例提供的网络质量监控装置示意图;
图4为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,采用探针拨测对网络质量进行监控的方案均是采用周期性拨测的方法进行监控,两次拨测之间存在监控盲区,提升拨测频率会增加监控系统负荷,降低拨测频率则无法及时发现网络质量问题。
另外,现有技术中,引入带心跳的统计模块方案仅适用于具备心跳报文的长连接场景,方案适用场景受限,且与采用探针拨测方案类似,该方案采用抽样方式进行计算,也存在抽样频率、监控系统负载和监控精度之间的冲突。
为了解决上述技术问题,本发明实施例通过事件驱动的方式对网络链路质量进行主动监控。
图1为本发明实施例提供的网络质量监控方法示意图,如图1所示,本发明实施例提供一种网络质量监控方法,其执行主体为网络质量监控装置,该网络质量监控装置可以为一个独立的设备,也可以为数据中心内参与数据传输的服务器中的一个模块。该方法包括:
步骤S101、获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息。
具体来说,本发明实施例在数据中心内每台参与数据传输的服务器中对数据包中的包头信息进行高效分析,达到监控数据中心内网络质量的目的。
在对数据中心内的网络质量进行监控时,首先获取网络传输的数据包中的包头信息。TCP协议实现中,数据包的包头信息包含了部分与网络质量相关的字段,如选择性应答(Selective Acknowledgment,SACK)和TCP窗口大小等,这些字段的出现或变化趋势都与网络质量波动相关。
Netfilter是Linux操作系统的内核模块之一,在Linux2.4.x版本的操作系统及该版本之后的操作系统中均可应用。Netfilter运行于内核态,与IP协议栈契合,可以对进出服务器的数据包进行过滤、地址转换和其他处理,可满足大流量场景下的高效数据包分析。
获取网络传输的数据包中的包头信息可以通过对数据中心内参与数据传输的任一服务器的操作系统中的Netfilter内核模块进行功能扩展实现。在Netfilter内核模块中注册自定义的hook函数获取数据包中的包头信息。具体步骤包括:
首先,监测数据包的出入站事件。当数据包进入数据中心内参与数据传输的服务器的操作系统内核时,将触发入站事件,当数据包从服务器的操作系统内核发出时,将触发出站事件,监测数据包的出入站事件,可以及时获知数据包的出入站的情况。
当有数据包出站或入站时,获取当前的数据包的包头信息。通过监测数据包的出入站事件,当有数据包出站或入站时,及时获取当前的数据包的包头信息,避免了数据包的遗漏,解决监控盲区的问题,从而提升监控的准确性。
步骤S102、将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
具体来说,在获取网络传输的数据包中的包头信息之后,根据该包头信息即可确定数据中心内的网络质量。
通过将所获取的网络传输的数据包中的包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,预设匹配规则可以提前根据专家知识库获得。
无论规则匹配结果是否会触发网络质量监控告警,注册hook函数的返回值均为NF_ACCEPT,确保数据包可以得到上层应用正常处理,以避免破坏协议完整性。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,进一步地,所述字段信息至少包括源IP、源端口、目的IP、目的端口、连接状态标识位、SEQ序号标识位和选择性应答SACK标识位。
具体来说,TCP协议实现中,数据包的包头信息包含了部分与网络质量相关的字段。本发明实施例中,包头信息中的字段信息至少包括源IP、源端口、目的IP、目的端口、连接状态标识位、SEQ序号标识位和选择性应答SACK标识位。
Netfilter内核模块允许在NF_IP_PRE_ROUTING、NF_IP_LOCAL_IN、NF_IP_FORWARD、NF_IP_LOCAL_OUT、NF_IP_POST_ROUTING这5个挂载点上注册回调函数。
本发明实施例中关注进出服务器的数据包,因此选择NF_IP_LOCAL_IN和NF_IP_LOCAL_OUT两个挂载点注册hook函数。
本发明实施例中,采用事件驱动的方式对网络质量进行监控,所有数据包的出站、入站均需要通过Netfilter内核子模块,因此在对应的挂载点注册hook函数后,当有数据包出入站事件发生时,即可获取其头部信息,从而提升监控的准确性。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,具体包括:
判断所述目标包头信息是否包含SACK标识位;
若所述目标包头信息包含SACK标识位,则确定数据中心内数据传输时的网络丢包率大于第一预设阈值。
具体来说,TCP协议实现中,数据包的包头信息包含了部分与网络质量相关的字段,如选择性应答(Selective Acknowledgment,SACK)和TCP窗口大小等,这些字段的出现或变化趋势都与网络质量波动相关。
SACK是在RFC2018规范中定义的标识,当前主流服务器操作系统均支持该字段,伴随SACK标识位出现的,通常是网络内高丢包率的故障,因此可用该标识位作为高丢包率的监控项。
图2为本发明实施例提供的匹配过程逻辑流程图,如图2所示,本发明实施例中,在获取网络传输的数据包中的包头信息之后,根据该包头信息与预先设置的一系列规则匹配,即可确定数据中心内的网络质量。具体过程如下:
解析包头信息中的所有字段,如果数据包的包头信息中出现了SACK标识位,则匹配到丢包率高规则,确定数据中心内的网络传输的网络丢包率大于第一预设阈值,触发网络质量异常告警,该第一预设阈值可以根据实际应用中的需要进行手动配置。
例如,可以通过在Netfilter内核模块中注册自定义的hook函数确定数据中心内的网络质量。hook函数在获取到上述包头信息中的字段后执行一系列规则匹配,如果包头信息中包含SACK标识位字段,则确定数据中心内的网络传输的网络丢包率高于预设阈值。无论规则匹配结果是否会触发网络质量监控告警,注册hook函数的返回值均为NF_ACCEPT,确保数据包可以得到上层应用正常处理,以避免破坏协议完整性。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,具体包括:
根据所述目标包头信息确定在一次连接中TCP窗口是否缩小,且缩小后的TCP窗口值是否小于第二预设阈值;
若在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于所述第二预设阈值,则确定数据中心内数据传输时出现网络拥塞。
具体来说,TCP协议实现中,数据包的包头信息包含了部分与网络质量相关的字段,如选择性应答(Selective Acknowledgment,SACK)和TCP窗口大小等,这些字段的出现或变化趋势都与网络质量波动相关。
图2为本发明实施例提供的匹配过程逻辑流程图,如图2所示,本发明实施例中,在获取数据包中的包头信息之后,根据该包头信息与预先设置的一系列规则匹配,即可确定数据中心内的网络质量。具体过程如下:
解析包头信息中的所有字段,如果根据获取到的数据包中的包头信息确定在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于第二预设阈值,则确定数据中心内的网络传输出现网络拥塞。该第二预设阈值可以根据实际应用中的需要进行手动配置。
例如,可以通过在Netfilter内核模块中注册自定义的hook函数确定数据中心内的网络质量。hook函数在获取到上述包头信息中的字段后执行一系列规则匹配,当TCP窗口最大为64K时,第二预设阈值设定为窗口最大值的一半,则若出现TCP窗口呈缩小趋势,且缩小后的TCP窗口小于32K时,确定数据中心内的网络传输出现网络拥塞,触发网络拥塞告警。无论规则匹配结果是否会触发网络质量监控告警,注册hook函数的返回值均为NF_ACCEPT,确保数据包可以得到上层应用正常处理,以避免破坏协议完整性。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,进一步地,所述根据所述目标包头信息确定在一次连接中TCP窗口是否缩小,且缩小后的TCP窗口值是否小于第二预设阈值,具体包括:
根据所述目标包头信息包含的源IP、源端口、目的IP、目的端口和连接状态标识位,确定所述目标数据包与预先存储的数据包是否为一次连接;
若所述目标数据包与预先存储的数据包为一次连接,则根据第一SEQ序号值和第一TCP窗口值,以及第二SEQ序号值和第二TCP窗口值,确定在一次连接中TCP窗口是否缩小;其中,所述第一SEQ序号值为所述目标包头信息包含的SEQ序号值,所述第一TCP窗口值为所述目标包头信息包含的TCP窗口值,所述第二SEQ序号值为预先存储的数据包中的包头信息包含的SEQ序号值,所述第二TCP窗口值为预先存储的数据包中的包头信息包含的TCP窗口值;
若所述第一SEQ序号值小于所述第二SEQ序号值且所述第一TCP窗口值大于所述第二TCP窗口值,则确定所述第二TCP窗口值是否小于所述第二预设阈值;
若所述第二TCP窗口值小于所述第二预设阈值,则确定在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于所述第二预设阈值。
具体来说,图2为本发明实施例提供的匹配过程逻辑流程图,如图2所示,根据获取到的数据包中的包头信息确定在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于第二预设阈值的具体步骤包括:
a、首先,根据获取到的数据包中的包头信息包含的源IP、源端口、目的IP、目的端口和连接状态标识位,确定目标数据包与预先存储的数据包是否为一次连接中的数据包。
为记录一次连接过程中TCP窗口变化情况,需要在内存中存储一次连接中的历史最近一次数据包传输时的包头信息,该包头信息包括源IP、源端口、目的IP、目的端口、连接状态标识位、SEQ序号值和TCP窗口值。当一次连接结束后,预先存储的数据包的包头信息对应的存储状态也可以释放。
连接状态标识位包括SYN标识位、SYN+ACK标识位、FIN标识位和FIN+ACK标识位。在一次连接中的各个数据包中,会以包含SYN标识位的数据包为开始、以包含FIN+ACK标识位的数据包为结束,在二者(开始数据包和结束数据包)之间的各个数据包中,具备相同的源IP、源端口、目的IP、目的端口的前后两个数据包为一次连接中的数据包中的数据包。具备相同的源IP、源端口、目的IP、目的端口之间的数据包交互作为一次连接。
b、如果目标数据包与预先存储的数据包为一次连接中的数据包,则根据第一SEQ序号值SEQ1和第一TCP窗口值WIN1,以及第二SEQ序号值SEQ2和第二TCP窗口值WIN2,确定在一次连接中TCP窗口是否缩小。
其中,SEQ1为目标数据包中的包头信息包含的SEQ序号值,WIN1为目标数据包中的包头信息包含的TCP窗口值,SEQ2为预先存储的数据包中的包头信息包含的SEQ序号值,WIN2为预先存储的数据包中的包头信息包含的TCP窗口值。
通过一次连接中的数据包的包头信息包含的SEQ序号值,来判断数据包传输的先后顺序,SEQ序号值在一次连接中单调递增,但是,数据包接收方并不一定按照SEQ序号值单调递增的顺序接收数据包。可能会因为网络质量等因素导致,SEQ序号值较大的数据包后被接收到。因此,SEQ1可能大于SEQ2,也有可能小于SEQ2。
如果SEQ1小于SEQ2,且WIN1大于WIN2,则在一次连接中TCP窗口缩小;如果SEQ1大于SEQ2,且WIN1小于WIN2,则也可确定在一次连接中TCP窗口缩小。
c、TCP窗口缩小通常与网络拥塞相关,但数据接收端处理能力不足也会导致TCP窗口缩小,故在此项规则中,需要增加一个阈值来避免偶发的TCP窗口缩小情况。
因此,如果判断获知TCP窗口缩小,则当WIN1大于WIN2时,需要进一步确定WIN2是否小于第二预设阈值;当WIN1小于WIN2时,需要进一步确定WIN1是否小于第二预设阈值。该第二预设阈值可以根据实际应用中的需要进行手动配置。
例如,在TCP窗口最大为64K时,第二预设阈值设定为窗口最大值的一半,则若出现TCP窗口呈缩小趋势,且缩小后的TCP窗口小于32K时,匹配到网络拥塞规则,确定数据中心内的网络传输出现网络拥塞,触发网络拥塞告警。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量之后,还包括:
当网络出现异常时,将异常信息记录到系统日志中。
具体来说,具体应用中,在根据获取到的数据包中的包头信息,确定数据中心内的网络质量之后,如果当网络质量出现异常,可以通过日志的形式,仅记录网络质量出现异常的情况,记录内容包括数据传输双方的IP地址、端口信息及网络质量异常的种类等,网络异常的种类包括丢包率高、网络拥塞等。网络质量正常的情况不必记录,以提升网络质量监控的效率。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,进一步地,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量之后,还包括:
当网络出现异常时,将异常信息上报至监控平台,所述监控平台用于对所有的异常信息进行聚类分析。
具体来说,在确定数据中心内的网络质量之后,通过日志的形式,仅记录网络质量出现异常的情况,记录内容包括数据传输双方的IP地址、端口信息及网络质量异常的种类等,网络异常的种类包括丢包率高、网络拥塞等。网络质量正常的情况不必记录,以提升网络质量监控的效率。
同时,为了避免全量上报到统一分析平台中引入的性能问题,本发明实施例中网络质量监控由数据中心内所有参与数据传输的服务器完成,服务器仅将网络质量出现异常的情况对应的日志上报至监控平台,由监控平台进行汇总分析(记录日志是用于向监控平台上报数据不可达的场景下定位使用)。
监控平台负责对数据中心内所有的网络质量异常上报数据进行聚类计算,通过对上报结果的共性分析,得到网络质量异常发生的位置、影响范围等信息,例如,同一上联交换机下的服务器均上报TCP窗口缩小,触发网络拥塞的监控上报,此时聚类分析后,会触发告警给到网络运维人员排查对应交换机带宽用量是否异常;或者过防火墙的一条链路数据传输过程中出现SACK,其它服务器未上报异常,经过分析认为点到点链路网络丢包,则优先排查防火墙丢包问题。
本发明实施例提供的网络质量监控方法,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
基于上述任一实施例,图3为本发明实施例提供的网络质量监控装置示意图,如图3所示,本发明实施例提供一种网络质量监控装置,该网络质量监控装置可以为一个独立的设备,也可以为数据中心内参与数据传输的服务器中的一个模块。该网络质量监控装置包括获取模块301和监控模块302,其中:
获取模块301用于获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;监控模块302用于将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
本发明实施例提供一种网络质量监控装置,用于执行上述任一实施例中所述的方法,通过本实施例提供的装置执行上述某一实施例中所述的方法的具体步骤与上述相应实施例相同,此处不再赘述。
本发明实施例提供的网络质量监控装置,对Netfilter内核模块提供的hook函数机制进行功能扩展,使得网络质量监控的操作运行在操作系统的内核态,通过hook函数获取网络传输的数据包中的包头信息,将包头信息与预设匹配规则进行匹配,确定数据中心内的网络质量,实现了高效的分布式网络质量监控。
图4为本发明实施例提供的电子设备的结构示意图,如图4所示,所述设备包括:处理器(processor)401、存储器(memory)402、总线403,以及存储在存储器上并可在处理器上运行的计算机程序。
其中,处理器401和存储器402通过总线403完成相互间的通信;
处理器401用于调用并执行存储器402中的计算机程序,以执行上述各方法实施例中的步骤,例如包括:
获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例中的步骤,例如包括:
获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述各方法实施例中的步骤,例如包括:
获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种网络质量监控方法,其特征在于,包括:
获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
2.根据权利要求1所述的网络质量监控方法,其特征在于,所述字段信息至少包括源IP、源端口、目的IP、目的端口、连接状态标识位、SEQ序号标识位和选择性应答SACK标识位。
3.根据权利要求1或2所述的网络质量监控方法,其特征在于,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,具体包括:
判断所述目标包头信息是否包含SACK标识位;
若所述目标包头信息包含SACK标识位,则确定数据中心内数据传输时的网络丢包率大于第一预设阈值。
4.根据权利要求1或2所述的网络质量监控方法,其特征在于,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量,具体包括:
根据所述目标包头信息确定在一次连接中TCP窗口是否缩小,且缩小后的TCP窗口值是否小于第二预设阈值;
若在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于所述第二预设阈值,则确定数据中心内数据传输时出现网络拥塞。
5.根据权利要求4所述的网络质量监控方法,其特征在于,所述根据所述目标包头信息确定在一次连接中TCP窗口是否缩小,且缩小后的TCP窗口值是否小于第二预设阈值,具体包括:
根据所述目标包头信息包含的源IP、源端口、目的IP、目的端口和连接状态标识位,确定所述目标数据包与预先存储的数据包是否为一次连接;
若所述目标数据包与预先存储的数据包为一次连接,则根据第一SEQ序号值和第一TCP窗口值,以及第二SEQ序号值和第二TCP窗口值,确定在一次连接中TCP窗口是否缩小;其中,所述第一SEQ序号值为所述目标包头信息包含的SEQ序号值,所述第一TCP窗口值为所述目标包头信息包含的TCP窗口值,所述第二SEQ序号值为预先存储的数据包中的包头信息包含的SEQ序号值,所述第二TCP窗口值为预先存储的数据包中的包头信息包含的TCP窗口值;
若所述第一SEQ序号值小于所述第二SEQ序号值且所述第一TCP窗口值大于所述第二TCP窗口值,则确定所述第二TCP窗口值是否小于所述第二预设阈值;
若所述第二TCP窗口值小于所述第二预设阈值,则确定在一次连接中TCP窗口缩小,且缩小后的TCP窗口值小于所述第二预设阈值。
6.根据权利要求1所述的网络质量监控方法,其特征在于,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量之后,还包括:
当网络出现异常时,将异常信息记录到系统日志中。
7.根据权利要求1所述的网络质量监控方法,其特征在于,所述将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量之后,还包括:
当网络出现异常时,将异常信息上报至监控平台,所述监控平台用于对所有的异常信息进行聚类分析。
8.一种数据中心服务器,其特征在于,包括:
获取模块,用于获取网络传输的目标数据包中的目标包头信息;其中,所述目标包头信息中包含若干个用于表征网络质量的字段信息;
监控模块,用于将所述目标包头信息与预设匹配规则进行匹配,确定数据中心内数据传输时的网络质量。
9.一种电子设备,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至7任一项所述网络质量监控方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如权利要求1至7任一所述网络质量监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060970.XA CN110896368A (zh) | 2019-11-01 | 2019-11-01 | 网络质量监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060970.XA CN110896368A (zh) | 2019-11-01 | 2019-11-01 | 网络质量监控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110896368A true CN110896368A (zh) | 2020-03-20 |
Family
ID=69787974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911060970.XA Pending CN110896368A (zh) | 2019-11-01 | 2019-11-01 | 网络质量监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110896368A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134434A (zh) * | 2022-06-17 | 2022-09-30 | 奇安信科技集团股份有限公司 | 会话连接的监控方法及装置 |
CN115442833A (zh) * | 2021-06-03 | 2022-12-06 | 中国移动通信集团四川有限公司 | 一种投诉根因分析方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413503A (zh) * | 2011-12-27 | 2012-04-11 | 上海海事大学 | 一种用于Semi-TCP的自适应确认分组延迟发送的方法 |
CN105611406A (zh) * | 2015-12-21 | 2016-05-25 | 东南大学 | 一种接入网服务商监测用户到视频服务器延迟特性方法 |
CN108075988A (zh) * | 2017-11-16 | 2018-05-25 | 华为技术有限公司 | 数据传输方法和装置 |
CN109167734A (zh) * | 2018-08-06 | 2019-01-08 | 华为技术有限公司 | 识别传输控制协议状态的方法和装置 |
-
2019
- 2019-11-01 CN CN201911060970.XA patent/CN110896368A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413503A (zh) * | 2011-12-27 | 2012-04-11 | 上海海事大学 | 一种用于Semi-TCP的自适应确认分组延迟发送的方法 |
CN105611406A (zh) * | 2015-12-21 | 2016-05-25 | 东南大学 | 一种接入网服务商监测用户到视频服务器延迟特性方法 |
CN108075988A (zh) * | 2017-11-16 | 2018-05-25 | 华为技术有限公司 | 数据传输方法和装置 |
CN109167734A (zh) * | 2018-08-06 | 2019-01-08 | 华为技术有限公司 | 识别传输控制协议状态的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442833A (zh) * | 2021-06-03 | 2022-12-06 | 中国移动通信集团四川有限公司 | 一种投诉根因分析方法、装置及电子设备 |
CN115134434A (zh) * | 2022-06-17 | 2022-09-30 | 奇安信科技集团股份有限公司 | 会话连接的监控方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7991867B2 (en) | Server checking using health probe chaining | |
US5383178A (en) | Network commentator | |
US20060218447A1 (en) | Packet trace diagnostic system | |
WO2019120187A1 (en) | Non-intrusive mechanism to measure network function packet processing delay | |
CN110324198B (zh) | 丢包处理方法和丢包处理装置 | |
EP2974146B1 (en) | Methods, systems, and computer readable media for assisting with the debugging of conditions associated with the processing of test packets by a device under test | |
EP3682595B1 (en) | Obtaining local area network diagnostic test results | |
CN110896368A (zh) | 网络质量监控方法及装置 | |
US10129899B2 (en) | Network apparatus | |
CN109273045B (zh) | 存储设备在线检测方法、装置、设备及可读存储介质 | |
US5363493A (en) | Token ring network test device using finite state machine | |
CN114584485A (zh) | 检测边缘网络质量的方法、装置、设备和计算机可读存储介质 | |
CN110943864B (zh) | 分布式存储系统的网络异常定位方法及装置 | |
JP4558662B2 (ja) | Ipネットワーク経路診断装置およびipネットワーク経路診断システム | |
CN108156052B (zh) | 一种设备稳定性测试的方法及系统 | |
CN113014450B (zh) | 设备测试方法、装置及计算机可读介质 | |
CN112350844A (zh) | 用于数据传输的方法和装置 | |
CN115348157B (zh) | 分布式存储集群的故障定位方法、装置、设备及存储介质 | |
GB2566467A (en) | Obtaining local area network diagnostic test results | |
CN117255005B (zh) | 一种基于cdn的业务告警处理方法、装置、设备及介质 | |
CN113472567B (zh) | 一种网络sla的计算方法及装置 | |
CN110022249B (zh) | 基于反向波测技术的复杂网络环境网络延时监测方法 | |
CN115632968A (zh) | 网络链路的监测方法及装置、电子设备、存储介质 | |
CN116112398A (zh) | 链路抖动的抑制方法、装置、存储介质及电子设备 | |
CN117667565A (zh) | 业务异常监控方法、电子设备及存储介质 |
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: 20200320 |
|
RJ01 | Rejection of invention patent application after publication |