CN118400303A - 一种网络探测的方法、装置、电子设备及存储介质 - Google Patents
一种网络探测的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118400303A CN118400303A CN202410631891.4A CN202410631891A CN118400303A CN 118400303 A CN118400303 A CN 118400303A CN 202410631891 A CN202410631891 A CN 202410631891A CN 118400303 A CN118400303 A CN 118400303A
- Authority
- CN
- China
- Prior art keywords
- detection
- equipment
- command
- time
- commands
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 330
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000009792 diffusion process Methods 0.000 claims abstract description 29
- 239000000523 sample Substances 0.000 claims description 56
- 238000012360 testing method Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000000737 periodic effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 108010003272 Hyaluronate lyase Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种网络探测的方法、装置、电子设备及存储介质,该方法包括:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。本申请通过进行时间扩散,能够满足高频率、多并发探测的同时,也能保持探测结果稳定、主机性能稳定、机房整体探测流量稳定、资源消耗低。
Description
技术领域
本申请涉及网络探测技术领域,具体而言,涉及一种网络探测的方法、装置、电子设备及存储介质。
背景技术
随着企业机器数量的增多和网络环境的复杂化,加强网络环境监控成为了一个迫切需求。在众多网络监控方案中,主机间互相探测是一种业界广泛采用的主动监控手段。
现有技术中的网络探测方法包括了ping、fping、go-ping等,但是这些现有的探测方法在高频率多并发网络探测场景下表现出性能瓶颈,特别是存在资源消耗大、调度难、稳定性差等问题。
发明内容
有鉴于此,本申请的目的在于提供一种网络探测的方法、装置、电子设备及存储介质,以克服现有技术中的问题。
第一方面,本申请实施例提供了一种网络探测的方法,应用于探测设备,所述方法包括:
根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;
基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;
依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
在本申请一些技术方案中,上述基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间,包括:
根据所述探测设备的设备标识,确定出与该探测设备对应所述探测命令的偏移时间和扩散时间;
根据所述偏移时间和所述扩散时间,确定所述探测命令的首次执行时间。
在本申请一些技术方案中,上述根据所述探测设备的设备标识,确定出与该探测设备对应所述探测命令的偏移时间,包括:
对所述探测设备的设备标识进行数学计算处理,得到所述设备标识的参考值;
根据所述设备标识的参考值,确定与该探测设备对应所述探测命令的偏移时间。
在本申请一些技术方案中,上述根据所述探测设备的设备标识,确定出与该被测设备对应所述探测命令的扩散时间,包括:
根据所有所述设备标识的数量和预设的探测间隔,计算得到扩散因子;
根据所述探测设备的设备标识和所述扩散因子,确定出与该被测设备对应所述探测命令的扩散时间。
在本申请一些技术方案中,上述方法还包括:
按照所述探测命令的首次执行时间,将所述探测命令放置预设时间轮的时间槽中;
所述依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备,包括:
执行所述时间轮;
按照所述时间轮中各个时间槽的顺序,依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
在本申请一些技术方案中,上述按照所述探测命令的首次执行时间,将所述探测命令放置预设的时间轮的时间槽中,包括:
将相同首次执行时间的所述探测命令,放置在同一所述时间槽中;
若相同首次执行时间的所述探测命令的数量超出所述时间槽的容量时,将超出的所述探测命令放置于下一时间槽中。
在本申请一些技术方案中,上述方法还包括:
将所述探测命令转化为周期性命令;
按照所述时间轮的顺序,周期性地将各个所述探测命令发送给对应的所述被测设备。
在本申请一些技术方案中,上述依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备,包括:
构建所述探测命令的回显请求;其中,所述回显请求对应一报文标识;
将各个所述首次执行时间下的所述回显请求同时发送给对应的所述被测设备。
在本申请一些技术方案中,上述方法还包括:
接收所述被测设备发送的回应报文;
根据所述报文标识和所述回应报文,确定所述探测命令的探测结果。
在本申请一些技术方案中,在接收所述被测设备发送的回应报文之后,所述方法还包括:
对所述回应报文进行匹配检测,在所述回应报文通过匹配检测的时候,根据所述报文标识和所述回应报文,确定所述探测命令的探测结果。
在本申请一些技术方案中,上述方法还包括:对所述探测命令进行超时检测;
若所述探测命令超过预设市场时,生成所述探测命令的探测结果。
第二方面,本申请实施例提供了一种网络探测的方法,应用于被测设备,所述方法包括:
接收探测设备发送的探测命令;其中,所述探测设备通过以下方式向所述被测设备发送探测命令:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
第三方面,本申请实施例提供了一种网络探测的装置,应用于探测设备,所述装置包括:
分解模块,用于根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;
确定模块,用于基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;
发送模块,用于依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
第四方面,本申请实施例提供了一种网络探测的装置,应用于被测设备,所述装置包括:
第一接收模块,用于接收探测设备发送的探测命令;其中,所述探测设备通过以下方式向所述被测设备发送探测命令:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的网络探测的方法的步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的网络探测的方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请方法包括:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。本申请通过进行时间扩散,能够满足高频率、多并发探测的同时,也能保持探测结果稳定、主机性能稳定、机房整体探测流量稳定、资源消耗低。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种网络探测的方法的流程示意图;
图2示出了本申请实施例所提供的一种将探测命令放置时间轮的示意图;
图3示出了本申请实施例所提供的一种发包流程示意图;
图4示出了本申请实施例所提供的一种收包流程示意图;
图5示出了本申请实施例所提供的一种超时检测的示意图;
图6示出了本申请实施例所提供的一种网络探测的装置示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其他的特征。
随着企业机器数量的增多和网络环境的复杂化,加强网络环境监控成为了一个迫切需求。在众多网络监控方案中,主机间互相探测是一种业界广泛采用的主动监控手段。
现有技术中的网络探测方法包括了ping、fping、go-ping等。ping工具该工具基于C语言实现,其在小于100PPS的探测频率下性能表现良好,但超过此频率时CPU使用率急剧上升。fping工具采用C语言实现,存在40PPS的发包频率限制。基于单进程同步收发包模式,使用select模型收包,只能通过多进程多开执行提高探测频率。fping未解决多进程收包混杂问题。go-ping工具采用GO语言编写,尽管使用系统自带的ICMP套接字能解决多进程收包混杂问题,但存在系统兼容性问题(Linux内核<2.6.x不支持ICMP套接字),且需额外开启net.ipv4.ping_group_range参数。go-ping未解决定时器空转导致的CPU消耗问题。
基于此,本申请实施例提供了一种网络探测的方法、装置、电子设备及存储介质,能够满足高频率、多并发探测、系统兼容强的同时,也能保持探测结果稳定、主机性能稳定、机房整体探测流量稳定、资源消耗低。下面通过实施例进行描述。
图1示出了本申请实施例所提供的一种网络探测的方法的流程示意图,其中,该方法包括步骤S101-S103;具体的:
S101、根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;
S102、基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;
S103、依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
下面对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
网络探测表征探测设备向被测设备发送探测命令,测试是否可达及了解其有关状态。本申请实施例中的网络探测方法应用在设备集群中,设备集群中包括了多个设备,每个设备均具有发送和接收信息的能力。在设备集群中,向外发送测试命令的设备称为探测设备,接收到探测命令的设备称为被测设备。例如,可以将本申请中的网络探测方式应用在互联网数据中心等场景中,该互联网数据中心包括有一百台主机,其中主机A像主机B发送探测命令,在该过程下,将主机A称为探测设备,主机B称为被测设备。如果同时主机B也向主机A发送探测命令的话,那么在该过程下,主机B也称为探测设备,主机A称为被测设备。也就是说,本申请实施例设备集群中的任一设备既可以是探测设备,也可以是被测设备。下文以机房为例对本申请实施例中的网络探测方法进行描述。
需要说明的是,在进行网络探测的时候,默认都用ICMP协议,如果没有特殊声明,本申请中“探测”指为基于ICMP(Internet Control Message Protocol)回显请求和回显应答报文实现的网络探测。
本申请实施例中的网络探测方法应用在探测设备的时候,探测设备运行Agent先获取了探测任务。探测任务可以有多个来源:Agent可以主动从指定服务端拉取探测任务,也可以被动接收服务端的探测任务推送,也可以从指定文件中获取,只要满足Agent的输入协定即可。Agent:为了简化描述,代表的网络探测工具,其为部署在机房的每台机器上面的代理装置。本申请实施例中的探测任务包括多个被测设备、参数和元数据,参数包含了必要的任务唯一标识符、探测周期(也叫探测间隔)、IP协议类型(v4还是v6);元数据则描述了探测设备和被测设备的属性:比如所在业务、分组等。一个探测任务中包括有多个被测设备,包含的被测设备具体可以使用IP或者域名表示。探测设备在获取了探测任务之后,需要将探测任务分解为探测命令。探测命令为探测的被执行最小单元,从探测任务中派生,包含了以下必要内容:一个被测设备和IP协议类型、探测周期。
探测设备在获取的探测任务中包含的多个被测设备中,会存在被测设备重复出现的问题。在对探测任务进行分解的时候,是根据被测设备进行的,即每个被测设备会对应一探测命令。在被测设备重复出现的时候,就会出现同一被测设备对应了多个探测命令的情况,针对这种情况,如果不进行处理的话,后续的循环探测会出现问题。所以上述S101在执行的时候,包括:根据探测任务重包含的被测设备,将所述探测任务分解为初始命令;对初始命令进行冗余处理,得到所述探测命令。即本申请在对探测任务及进行分解的时候,如果遇到同一被测设备对应有多个探测命令的时候,要进行探测命令的删除,一个被测设备仅保留一个探测命令即可。
在删除了冗余之后,根据被测设备标识的顺序,可以对探测命令进行排序,将需要优先探测的被测设备排到前边,即上述S101在具体执行的时候还包括:根据被测设备标识的顺序,对所述探测命令进行排序处理,生成排序后的所述探测命令。
为了确保本申请中的网络探测方法能够适用于高频率多并发网络探测场景,本申请实施例在得到了排序后的探测命令后,需要合理地将探测任务分解成探测命令并让其在合适的时间运行,确保高频率、多并发下探测结果稳定、探测设备稳定、全局流量稳定。
现有技术中使用的是随机算法来确定探测命令的首次执行时间,这种方式在后续进行周期性探测的时候,存在很大的不确定性,这将会让探测设备存在潜在的风险。为了保证探测设备的稳定性,本申请实施例采用了可靠散列算法。这里的可靠散列算法是基于探测设备和被测设备的设备标识确定的。设备标识可以是设备编号、设备IP等。
基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间具体为基于所述探测设备的设备标识,确定出探测命令的偏移时间和扩散时间,然后根据所述偏移时间和所述扩散时间,确定所述探测命令的首次执行时间。为了保证探测命令的稳定性,本申请实施例根据设备标识来计算出探测命令的偏移时间和扩散时间。
计算偏移时间的过程为:对探测设备的设备标识进行数学计算处理,得到一参考值,根据该参考值确定出探测命令的偏移时间。这里的数据计算处理可以是计算哈希值等处理。计算设备标识的哈希值作为参考值。然后计算参考值与探测间隔之间的偏移时间,具体为偏移时间使用参考值除以探测间隔取的余数表示。这里的探测间隔为发送探测命令的时间间隔。偏移时间表征的是控制在单位时间内最多存在多少台探测设备执行同一个探测任务。
计算扩散时间的过程为:先计算得到扩散因子,然后根据设备标识和扩散因子,确定扩散时间。这里的扩散因子其目的是将同一探测任务的多个被测设备根据相同的间隔进行扩散。即本申请实施例中的扩散因子是依据所有设备标识的数量确定的,除了设备标识的数量之外还有探测间隔。具体为探测间隔除以设备标识的数量得到扩散因子。
在具体实施的时候,使用B表示偏移时间(大于等于0),使用G表示扩散因子(大于等于1),使用i表示设备标识的排序号(排序后探测命令对应的编号),使用Tn为第n个探测命令的首次执行时间;第n个探测命令首次被执行的时间计算方法为:Tn=B+i*G,其意义是控制第n个探测命令延迟到时间Tn之后被执行。
在一可选的实施方式中,如图2所示,为了能够进行周期性的探测,本申请实施例在确定了探测命令的首次执行时间之后,按照首次执行时间的先后顺序,将探测命令放置到预设时间轮的时间槽中,即相同首次执行时间的多个探测命令放置于同一时间槽中。探测设备通过执行时间轮,按照时间轮中各个时间槽的顺序,依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
需要说明的是,时间轮是一种高效的定时调度算法,适用于处理大量的定时任务。它将时间分割成多个时间槽,每个时间槽对应一段时间窗口。探测任务根据其预定执行时间被分配到相应的槽中,当时间窗口到达时,对应槽中的任务被批量推进协程池执行。通过使用时间轮使得本申请中的方法支撑高频率、多并发的情景,同时保证探测结果稳定。时间轮协程被计算机执行,其中包含一个将要被执行的探测命令。全局序列号递增加1。构建的过程具体为使用进程号后16位作为ID字段、全局序列号作为序列号字段。
在将探测命令向时间轮进行填充的时候,为了保证探测设备运行的稳定性,本申请为每个时间槽设置了一个容量阈值(例如设置为10),即在向时间槽中填充探测命令的数量不能超出该容量阈值。如果相同首次执行时间的探测命令的数量超出该容量阈值的时候,将超出的探测命令放置于下一时间槽中。在具体进行填充的时候,优先填充排序靠前的探测命令,直至达到时间槽的容量。超出的探测命令放置于下一时间槽中,如果下一时间槽也处于满载状态的话,依次向下寻找直至找到未满载的时间槽。若时间轮上所有的时间槽均为满载状态,且存在未填充的探测命令的话,生成报错信息。
在另一方面,探测设备的运行资源(CPU利用率、网络带宽使用)也是影响探测设备运行稳定性的因素之后,所以探测设备还需要对自身运行资源进行监测。具体为:获取运行资源的监测值,将监测值与预设的监测阈值进行对比,根据对比结果确定探测设备的稳定性。具体为如果监测值大于监测阈值的话,就需要降低探测并发量。如果监测值小于等于监测阈值的话,正常运行。例如,在监测值大于监测阈值的时候,原始的并发量为十个探测命令,降低并发量之后为六个探测命令(其余四个舍弃)。
在将探测命令填充至时间轮的各个时间槽之后,即可将探测命令升级为周期性命令,按照时间轮的属性周期性将各个所述探测命令发送给对应的所述被测设备。周期性命令会以固定时间周期执行,这里会开启多个协程进行执行,以达到多并发效果。
在一可选的实施方式中,如图3所示,探测设备在向被测设备发送探测命令的时候,需要先构建探测命令的回显请求,其中,所述回显请求对应一报文标识;将各个所述首次执行时间下的所述回显请求同时发送给对应的所述被测设备。
本申请实施例采用了异步收发包的方式。异步:即异步I/O,指的是应用程序在发起一个I/O操作(例如读取网络数据)后,可以继续执行其他任务,而不用等待I/O操作完成。当I/O操作完成时,应用程序会通过某种机制(如回调函数、事件、Promise或者future等)得到通知。这种方式允许应用程序高效地管理多个I/O操作,因为它们不会因等待某个操作而阻塞。探测设备将探测命令发送给被测设备之后,无需等待收包操作,可以继续发送下一个探测命令。
如图4所示,被测设备在接收到探测设备发送的探测命令之后,生成回应报文,将回应报文发送给探测设备。探测设备确定探测命令的探测结果。探测结果为探测命令的探测结果统计,包含了以下必要内容:探测设备、被测设备、探测结果值、探测时间、任务唯一标识等。
为了解决收包混乱问题带来的不稳定性问题,探测设备应用BPF编程技术在内核层面判断回应报文是否与回显请求的报文标识匹配。BPF(Berkeley Packet Filter)最初设计用于网络流量过滤,允许系统在数据包进入网络堆栈的更早阶段决定是否接受一个数据包,它在内核中实现了一个虚拟机,该虚拟机可以运行一小段用于过滤数据包的程序。这意味着,操作系统可以在数据包通过网络堆栈的较低层次时,根据用户定义的规则对其进行过滤,这样可以极大地提高数据包处理的效率。
如果匹配时,用户态结束阻塞被唤醒,收包程序开始执行,检查ICMP回应报文类型,区分正常回包与丢包。正常回包时提取报文序列号,从命令集合中根据序列号检索并删除对应命令,命令继承回包状态,该报文生命周期结束。丢包时,将探测命令加入统计队列待处理。如果不匹配时,丢弃不符合条件的报文,该报文生命周期结束。
具体的检测方式为:加载网络数据包的IP头部长度信息到寄存器X中,具体为执行指令bpf.LoadMemShift{Off:0},以便于后续对数据包中特定字段的读取。根据寄存器X中的偏移量信息,加载网络数据包中偏移量为4的ICMP(Internet Control MessageProtocol)身份标识字段,具体执行指令为bpf.LoadIndirect{Off:4,Size:2}。通过比较获取的ICMP身份标识与预设的进程标识符(pid),判断所述ICMP身份标识是否等于预设的进程标识符,具体执行条件跳转指令bpf.JumpIf{Cond:JumpNotEqual,Val:pid,SkipTrue:1}。若判断所述ICMP身份标识不等于预设的进程标识符,则执行指令bpf.RetConstant{Val:0},以实现对该网络数据包的丢弃,即不允许该数据包通过。若判断所述ICMP身份标识等于预设的进程标识符,则执行指令bpf.RetConstant{Val:1024},以允许该网络数据包的前1024字节传送到用户空间,即允许该数据包通过。通过上述方法,能有效地根据ICMP身份标识对网络数据包进行筛选,以保证只有符合条件的数据包被允许通过,从而避免受外部因素影响,增强了稳定性。
进一步的,如图5所示本申请为了克服BPF带来的收包异常问题,还对探测命令是否超时进行了检测,将超期的探测命令标记为丢包,将未超期的探测命令标记为正常。超期检测后加入统计队列。对统计队列中的探测命令进行统计,比如丢包率、连续丢包次数等,并将结果展示或上传到服务器。
在一可选的实施方式中,本申请实施例还提供一种网络探测的方法,应用于被测设备,所述方法包括:接收探测设备发送的探测命令;其中,所述探测设备通过以下方式向所述被测设备发送探测命令:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。该实施例中的特征与上述实施例中应用于探测设备的网络探测方法的特征是对应的,在此不再赘述。
图6示出了本申请实施例所提供的一种网络探测的装置的结构示意图,应用于探测设备,所述装置包括:
分解模块,用于根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;
确定模块,用于基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;
发送模块,用于依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
所述基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间,包括:
根据所述探测设备的设备标识,确定出与该探测设备对应所述探测命令的偏移时间和扩散时间;
根据所述偏移时间和所述扩散时间,确定所述探测命令的首次执行时间。
所述根据所述探测设备的设备标识,确定出与该探测设备对应所述探测命令的偏移时间,包括:
对所述探测设备的设备标识进行数学计算处理,得到所述设备标识的参考值;
根据所述设备标识的参考值,确定与该探测设备对应所述探测命令的偏移时间。
所述根据所述探测设备的设备标识,确定出与该被测设备对应所述探测命令的扩散时间,包括:
根据所有所述设备标识的数量和预设的探测间隔,计算得到扩散因子;
根据所述探测设备的设备标识和所述扩散因子,确定出与该被测设备对应所述探测命令的扩散时间。
所述装置还包括:放置模块,用于按照所述探测命令的首次执行时间,将所述探测命令放置预设时间轮的时间槽中;
所述依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备,包括:
执行所述时间轮;
按照所述时间轮中各个时间槽的顺序,依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
所述按照所述探测命令的首次执行时间,将所述探测命令放置预设的时间轮的时间槽中,包括:
将相同首次执行时间的所述探测命令,放置在同一所述时间槽中;
若相同首次执行时间的所述探测命令的数量超出所述时间槽的容量时,将超出的所述探测命令放置于下一时间槽中。
将所述探测命令转化为周期性命令;
按照所述时间轮的顺序,周期性地将各个所述探测命令发送给对应的所述被测设备。
所述依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备,包括:
构建所述探测命令的回显请求;其中,所述回显请求对应一报文标识;
将各个所述首次执行时间下的所述回显请求同时发送给对应的所述被测设备。
所述装置还包括第二接收模块,用于接收所述被测设备发送的回应报文;根据所述报文标识和所述回应报文,确定所述探测命令的探测结果。
所述装置还包括检测模块,在接收所述被测设备发送的回应报文之后,用于:
对所述回应报文进行匹配检测,在所述回应报文通过匹配检测的时候,根据所述报文标识和所述回应报文,确定所述探测命令的探测结果。
对所述探测命令进行超时检测;
若所述探测命令超过预设市场时,生成所述探测命令的探测结果。
在了另一方面,本申请实施例提供了一种网络探测的装置,应用于被测设备,所述装置包括:
第一接收模块,用于接收探测设备发送的探测命令;其中,所述探测设备通过以下方式向所述被测设备发送探测命令:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
如图7所示,本申请实施例提供了一种电子设备,用于执行本申请中的网络探测的方法,该设备包括存储器、处理器、总线及存储在该存储器上并可在该处理器上运行的计算机程序,其中,上述处理器执行上述计算机程序时实现上述的网络探测的方法的步骤。
具体地,上述存储器和处理器可以为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述的网络探测的方法。
对应于本申请中的网络探测的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的网络探测的方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的网络探测的方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其他的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种网络探测的方法,其特征在于,应用于探测设备,所述方法包括:
根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;
基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;
依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
2.根据权利要求1所述的方法,其特征在于,所述基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间,包括:
根据所述探测设备的设备标识,确定出与该探测设备对应所述探测命令的偏移时间和扩散时间;
根据所述偏移时间和所述扩散时间,确定所述探测命令的首次执行时间。
3.根据权利要求2所述的方法,其特征在于,所述根据所述探测设备的设备标识,确定出与该探测设备对应所述探测命令的偏移时间,包括:
对所述探测设备的设备标识进行数学计算处理,得到所述设备标识的参考值;
根据所述设备标识的参考值,确定与该探测设备对应所述探测命令的偏移时间。
4.根据权利要求2所述的方法,其特征在于,所述根据所述探测设备的设备标识,确定出与该被测设备对应所述探测命令的扩散时间,包括:
根据所有所述设备标识的数量和预设的探测间隔,计算得到扩散因子;
根据所述探测设备的设备标识和所述扩散因子,确定出与该被测设备对应所述探测命令的扩散时间。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照所述探测命令的首次执行时间,将所述探测命令放置预设时间轮的时间槽中;
所述依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备,包括:
执行所述时间轮;
按照所述时间轮中各个时间槽的顺序,依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
6.根据权利要求5所述的方法,其特征在于,所述按照所述探测命令的首次执行时间,将所述探测命令放置预设的时间轮的时间槽中,包括:
将相同首次执行时间的所述探测命令,放置在同一所述时间槽中;
若相同首次执行时间的所述探测命令的数量超出所述时间槽的容量时,将超出的所述探测命令放置于下一时间槽中。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述探测命令转化为周期性命令;
按照所述时间轮的顺序,周期性地将各个所述探测命令发送给对应的所述被测设备。
8.根据权利要求1所述的方法,其特征在于,所述依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备,包括:
构建所述探测命令的回显请求;其中,所述回显请求对应一报文标识;
将各个所述首次执行时间下的所述回显请求同时发送给对应的所述被测设备。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述被测设备发送的回应报文;
根据所述报文标识和所述回应报文,确定所述探测命令的探测结果。
10.根据权利要求9所述的方法,其特征在于,在接收所述被测设备发送的回应报文之后,所述方法还包括:
对所述回应报文进行匹配检测,在所述回应报文通过匹配检测的时候,根据所述报文标识和所述回应报文,确定所述探测命令的探测结果。
11.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对所述探测命令进行超时检测;
若所述探测命令超过预设市场时,生成所述探测命令的探测结果。
12.一种网络探测的方法,其特征在于,应用于被测设备,所述方法包括:
接收探测设备发送的探测命令;其中,所述探测设备通过以下方式向所述被测设备发送探测命令:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
13.一种网络探测的装置,其特征在于,应用于探测设备,所述装置包括:
分解模块,用于根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;
确定模块,用于基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;
发送模块,用于依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
14.一种网络探测的装置,其特征在于,应用于被测设备,所述装置包括:
第一接收模块,用于接收探测设备发送的探测命令;其中,所述探测设备通过以下方式向所述被测设备发送探测命令:根据探测任务中包含的被测设备,将所述探测任务分解为多个探测命令;基于所述探测设备的设备标识,确定各个所述探测命令的首次执行时间;依次将各个所述首次执行时间下的所述探测命令同时发送给对应的所述被测设备。
15.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至12任一所述的网络探测的方法的步骤。
16.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至12任一所述的网络探测的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410631891.4A CN118400303A (zh) | 2024-05-20 | 2024-05-20 | 一种网络探测的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410631891.4A CN118400303A (zh) | 2024-05-20 | 2024-05-20 | 一种网络探测的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118400303A true CN118400303A (zh) | 2024-07-26 |
Family
ID=92001045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410631891.4A Pending CN118400303A (zh) | 2024-05-20 | 2024-05-20 | 一种网络探测的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118400303A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118714049A (zh) * | 2024-08-28 | 2024-09-27 | 中电信数字城市科技有限公司 | 海量ip探活的方法、装置、电子设备和存储介质 |
-
2024
- 2024-05-20 CN CN202410631891.4A patent/CN118400303A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118714049A (zh) * | 2024-08-28 | 2024-09-27 | 中电信数字城市科技有限公司 | 海量ip探活的方法、装置、电子设备和存储介质 |
CN118714049B (zh) * | 2024-08-28 | 2024-11-01 | 中电信数字城市科技有限公司 | 海量ip探活的方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015316B2 (en) | Correlation of asynchronous business transactions | |
US9491247B2 (en) | Automatic capture of detailed analysis information based on remote server analysis | |
US20050108385A1 (en) | Method and system for managing a discovery-related process in a network | |
CN101510167A (zh) | 一种插件运行的方法、装置及系统 | |
US20090282413A1 (en) | Scalable Scheduling of Tasks in Heterogeneous Systems | |
CN111324423B (zh) | 容器内进程的监控方法、装置、存储介质和计算机设备 | |
JP2012099092A (ja) | インシデント・プールの管理方法、システムおよびコンピュータ・プログラム | |
CN111177729B (zh) | 一种程序漏洞的测试方法以及相关装置 | |
US9218199B2 (en) | Identifying thread progress information by monitoring transitions between interesting states | |
CN112416581A (zh) | 定时任务的分布式调用系统 | |
US20230037783A1 (en) | Resource scheduling method and related apparatus | |
CN118400303A (zh) | 一种网络探测的方法、装置、电子设备及存储介质 | |
CN110716848A (zh) | 数据收集方法、装置、电子设备及存储介质 | |
CN112256542A (zh) | 基于eBPF的微服务系统性能检测方法、装置和系统 | |
US20170126580A1 (en) | Tracking Contention in a Distributed Business Transaction | |
US20140006554A1 (en) | System management apparatus, system management method, and storage medium | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
CN113342500A (zh) | 任务执行方法、装置、设备及存储介质 | |
CN113485891A (zh) | 业务日志监控方法、装置、存储介质及电子设备 | |
CN117997802B (zh) | 一种网络抖动检测方法、装置、设备及介质 | |
CN110209548B (zh) | 服务控制方法、系统、电子设备及计算机可读存储介质 | |
US10009151B2 (en) | Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium | |
JP2006260056A (ja) | 統合運用管理サーバ、統合的な運用管理のためのメッセージの抽出方法、及び、プログラム | |
US11216352B2 (en) | Method for automatically analyzing bottleneck in real time and an apparatus for performing the method | |
CN111008146A (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 |