CN109921962B - 带宽测量方法、装置、计算机可读存储介质和计算机设备 - Google Patents
带宽测量方法、装置、计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN109921962B CN109921962B CN201910301810.3A CN201910301810A CN109921962B CN 109921962 B CN109921962 B CN 109921962B CN 201910301810 A CN201910301810 A CN 201910301810A CN 109921962 B CN109921962 B CN 109921962B
- Authority
- CN
- China
- Prior art keywords
- link
- icmp
- internet protocol
- network
- user terminal
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种带宽测量方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取与待检测对象标识对应的互联网协议地址;以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;当检测到链路从第一网络状态变化为第二网络状态时,获取链路处于网络可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。本申请提供的方案可以提高带宽测量的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种带宽测量方法、装置、计算机可读存储介质和计算机设备。
背景技术
服务端到运营商的可用带宽会受机房上联负载均衡、上联运营商限速、中间路径带宽短板等因素的影响,常常出现运营商链路的建设带宽和真实可用带宽不一致的情况。那么,服务端到运营商的可用带宽需要被重新测量。传统的带宽测量方法是运营商需要事先部署最大带宽的网络设备,服务端向运营商的网络设备发送报文,网络设备接收到报文,向服务器返回回应报文,服务端再根据接收的信息计算出最大可用带宽。然而,传统方法存在带宽测量不准确的问题。
发明内容
基于此,有必要针对传统方法存在带宽测量不准确的技术问题,提供一种带宽测量方法、装置、计算机可读存储介质和计算机设备。
一种带宽测量方法,包括:获取与待检测对象标识对应的互联网协议地址;以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;当检测到链路从第一网络状态变化为第二网络状态时,获取链路处于网络可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
一种带宽测量装置,包括:获取模块,用于获取与待检测对象标识对应的互联网协议地址;发送模块,用于以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;检测模块,用于当检测到链路从第一网络状态变化为第二网络状态,获取链路处于可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;处理模块,用于根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:获取与待检测对象标识对应的互联网协议地址;以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;当检测到链路从第一网络状态变化为第二网络状态时,获取链路处于网络可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:获取与待检测对象标识对应的互联网协议地址;以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;当检测到链路从第一网络状态变化为第二网络状态时,获取链路处于网络可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
上述带宽测量方法、装置、计算机可读存储介质和计算机设备,获取与待检测对象标识对应的互联网协议地址,以可调节的宽带速率向互联网协议地址对应的终端发送UDP报文,由于UDP报文是一种面向无连接协议,具有资源消耗小、处理速度快的特点,因此不需要事先部署网络设备,不需要用户终端保持在线的状态进行交互,也不需要所有用户终端都接收到UDP报文,成本低、可操作性高且通用性好;当检测到链路从第一网络状态变化为第二网络状态时,获取处于可用状态时对应的最大宽带速率,处理得到最大可用带宽,能够模拟实际情况中用户终端使用流量的过程,使测量场景接近于实际使用的场景,提高带宽测量的准确性。
附图说明
图1为一个实施例中带宽测量方法的应用环境图;
图2为一个实施例中带宽测量方法的流程示意图;
图3为一个实施例中获取链路的丢包率的流程示意图;
图4为另一个实施例中获取链路的丢包率的流程示意图;
图5为另一个实施例中带宽测量方法的流程示意图;
图6为一个实施例中向互联网协议地址对应的用户终端发送UDP报文的流程示意图;
图7为一个实施例中得到待检测对象标识对应的互联网协议地址的流程示意图;
图8为一个实施例中带宽测量装置的结构框图;
图9为另一个实施例中带宽测量装置的结构框图;
图10为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中带宽测量方法的应用环境图。该带宽测量方法应用于带宽测量***。该带宽测量***包括计算机设备110、目标网络设备120和用户终端130。计算机设备110、目标网络设备120和用户终端130通过网络连接。网络具体可以是计算机设备110可以用独立的服务器或者是多个服务器组成的服务器集群来实现。计算机设备110例如可以是CDN(Content Delivery Network,内容分发网络)服务器,也可以是其他服务器,还可以是终端。目标网络设备120可以是待检测对象标识对应的网络设备,例如待检测对象标识对应的交换机、服务器、路由设备、网关或无限接入点等。用户终端130具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。其中,计算机设备110、目标网络设备120和用户终端130的数量均不限。带宽测量程序可应用于计算机设备110。
如图2所示,在一个实施例中,提供了一种带宽测量方法。本实施例主要以该方法应用于上述图1中的计算机设备110来举例说明。参照图2,该带宽测量方法具体包括如下步骤:
步骤202,获取与待检测对象标识对应的互联网协议地址。
其中,待检测对象具体可以是运营商或者企业等。运营商如移动、联通、电信或者广电等。待检测对象具体还可以区分国籍,例如区分中国、美国、或者欧洲等。待检测对象标识是用于区分待检测对象的唯一标识。待检测对象标识具体可以是由文字、数字或符号中的至少一种组成。互联网协议地址是指IP地址(Internet Protocol Address),用于在网络中标记一台电脑。互联网协议地址的数量不限,具体可以为任意大量的互联网协议地址。
具体地,当带宽测量程序接收到带宽测量指令时,从服务器中存储的业务访问日志中,或者从互联网协议地址数据库中获取与待检测对象标识对应的大量的互联网协议地址。例如,带宽测量程序获取与移动运营商对应的大量的互联网协议地址。
步骤204,以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞。
其中,可调节的宽带速率是指宽带速率可变,例如宽带速率可以为服务器中预设的宽带速率5GB/s(Gigabyte per second,千亿字节每秒)、6GB/s等不限于此。宽带速率具体还可以是根据网络拥塞情况调节的。宽带速率具体可以宽带速率的值,也可以以级别的方式呈现。例如一级宽带速率对应5GB/s,二级宽带速率对应6GB/s等不限于此。UDP报文中可包括报头和任意的报文数据。当UDP报文被发送之后,带宽测量程序对应的服务器无法得知UDP报文是否安全完整到达。报文数据的大小可依据目标网络设备与用户之间的带宽或者宽带速率设置。网络拥塞是一种过载的网络状态。网络拥塞时用户终端对网络资源例如链路带宽的需求超过了固有的带宽容量。
具体地,带宽测量程序与目标网络设备以及互联网协议地址对应的用户终端建立网络连接。当带宽测量程序位于一个服务器中时,带宽测量程序以第一宽带速率通过目标网络设备向互联网协议地址对应的用户终端串行发送UDP报文。带宽测量程序还可以以第二宽带速率、第三宽带速率等等不限于此向互联网协议地址对应的用户终端串行发送UDP报文。其中,每一个宽带速率对应发送至少一次UDP报文。可调节的宽带速率对应的UDP报文可用于使服务器与待检测对象标识对应的目标网络设备之间的链路发生网络拥塞。可调节的宽带速率对应的UDP报文还可用于使服务器与待检测对象标识对应的目标网络设备之间的链路呈现网络可用状态。
本实施例中,宽带速率的调节方式,包括:通过控制UDP报文的发送频率调节宽带速率。具体地,带宽测量程序通过增加UDP报文的发送频率,从而增大宽带速率。或者,带宽测量程序通过减小UDP报文的发送频率,从而减小宽带速率。例如带宽测量程序可以控制UDP报文的发送频率为每秒向互联网协议地址对应的用户终端发送一千次,即0.001GB/ms,那么宽带速率为1GB/s。带宽测量程序可以增加UDP报文的发送频率为每秒向互联网协议地址对应的终端发送两千次,即0.002GB/s,那么宽带速率为2GB/s。
本实施例中,宽带速率的调节方式,包括:通过控制UDP报文中的报文数据大小调节宽带速率。具体地,带宽测量程序通过增大UDP报文中的报文数据大小从而增加宽带速率。或者带宽测量程序通过减小UDP报文中的报文数据大小从而减小宽带速率。例如,带宽测量程序可以将UDP报文的大小设置为4M,则在1秒内发送256个大小为4M的UDP报文即可满足宽带速率为1GB/s。带宽测量程序可以将UDP报文大小设置为8M,则在1秒内发送256个大小为8M的UDP报文即可满足宽带速率为2GB/s。
本实施例中,当多个服务器中的每个服务器均运行带宽测量程序时,该多个服务器中的带宽测量程序并行向互联网协议地址对应的终端发送UDP报文。
步骤206,当检测到链路从第一网络状态变化为第二网络状态时,获取链路处于可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态。
具体地,当通过丢包情况或者延时情况检测到服务器和目标网络设备之间的链路从网络可用状态变化为网络拥塞状态时,带宽测量程序获取链路处于可用状态时对应的最大宽带速率。或者,当通过丢包情况或者延时情况检测到服务器和目标网络设备之间的链路从网络拥塞状态变化为网络可用状态时,带宽测量程序获取链路处于可用状态时对应的最大宽带速率。其中,丢包情况是指丢包率或者发送数据包的总个数相同时对应的丢包个数等。例如固定发送1000个数据包,接收返回的数据包为900个,则丢包个数为100个,丢包率为10%,则带宽测量程序可通过接收的数据包个数或者丢包率得到丢包情况。
步骤208,根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
其中,最大可用带宽是指单位时间能通过链路的最大数据量。
具体地,带宽测量程序根据带速率与带宽之间的换算关系,将链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之前的链路最大可用带宽。例如,宽带速率为256KB/s对应的带宽为2M/s。
上述带宽测量方法,获取与待检测对象标识对应的互联网协议地址,以可调节的宽带速率向互联网协议地址对应的终端发送UDP报文,由于UDP报文是一种面向无连接协议,具有资源消耗小、处理速度快的特点,因此不需要事先部署网络设备,不需要用户终端保持在线的状态进行交互,也不需要所有用户终端都接收到UDP报文,成本低、可操作性高且通用性好;当检测到链路从第一网络状态变化为第二网络状态时,获取处于可用状态时对应的最大宽带速率,处理得到最大可用带宽,能够模拟实际情况中用户终端使用流量的过程,使测量场景接近于实际使用的场景,提高带宽测量的准确性。
在一个实施例中,当多个服务器中的每个服务器均运行带宽测量程序,且一个待检测对象标识对应的目标网络设备为多个时,带宽测量程序将每个服务器对每个目标网络设备测量得到的链路最大可用带宽相加得到所有服务器与所有目标网络设备之间的链路最大可用带宽。上述带宽测量方法,能应用于服务器与目标网络设备之间的链路为多条的情况,可操作性高且计算简单。
在一个实施例中,拥塞状态的检测方式,包括:获取链路的丢包率;当链路的丢包率大于丢包率阈值时,则确定链路处于网络拥塞状态。
其中,丢包率是指所丢失数据包数量占所发送数据包的比率。该数据包具体可以是ICMP(Internet Control Message Protocol,互联网控制报文协议)包或者TCP(Transmission Control Protocol,传输控制协议)包等。丢包率的具体表现可以是百分比、小数或者分数等。丢包率阈值可以是指丢包的上限值。
具体地,带宽测量程序可通过ping命令获取链路的丢包率。Ping命令是指Windows、Unix或者Linux***下的一个命令。ping也属于通信协议,利用“ping”命令可以检查网络是否连通。当检测到链路的丢包率大于丢包率阈值时,则带宽测量程序确定链路处于网络拥塞状态。例如丢包率阈值为5%,则当链路的丢包率大于5%时,带宽测量程序确定链路处于网络拥塞状态。
本实施例中,当链路的丢包率小于或等于丢包率阈值时,则确定链路处于网络可用状态。例如丢包率阈值为5%,则当链路的丢包率小于或等于5%时,带宽测量程序确定链路处于网络可用状态。
上述带宽测量方法,获取链路的丢包率,当链路的丢包率大于丢包率阈值时,确定链路处于拥塞状态,能检查网络是否处于拥塞状态,通过丢包率阈值也能在一定程度上避免由于除网络拥塞之外的原因产生的丢包率误差,提高带宽测量的准确性。
在一个实施例中,如图3所示,获取链路的丢包率,包括:
步骤302,向目标网络设备中的至少一个目标网络设备发送互联网控制报文协议ICMP报文。
其中,一个待检测对象标识可对应多个目标网络设备。ICMP报文主要用于在用户终端与网络设备之间传递控制信息,包括丢包率等。ICMP报文中包括目标网络设备对应的IP地址以及ICMP报头。ICMP报文的数量不限。
具体地,带宽测量程序获取目标网络设备对应的IP地址。当带宽测量程序以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文的同时,也通过Ping命令以及IP地址向至少一个目标网络设备发送预设数量的ICMP报文。
步骤304,接收目标网络设备返回的ICMP回应报文。
具体地,该目标网络设备接收到带宽测量程序发送的ICMP报文后,向目标网络设备返回ICMP回应报文。带宽测量程序接收目标网络设备返回的ICMP回应报文。
步骤306,根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率。
具体地,带宽测量程序获取发送的ICMP报文的数量。带宽测量程序统计目标网络设备返回的ICMP回应报文的数量。带宽测量程序根据发送的ICMP报文的数量和返回的ICMP报文的数量确定服务器与目标网络设备之间的链路的丢包率。计算方法具体可以为丢包率=(发送的ICMP报文的数量-返回的ICMP报文的数量)/发送的ICMP报文的数量×100%。
上述带宽测量方法,向目标网络设备中的至少一个目标网络设备发送ICMP报文,接收目标网络设备返回的ICMP回应报文,根据发送的报文和回应报文的数量确定丢包率,最少只需向一个目标网络设备发送ICMP报文,就能检测网络状态,可操作性强且成本低。
在一个实施例中,如图4所示,获取链路的丢包率,包括:
步骤402,从互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端。
其中,能够回应ICMP报文的用户终端也指能够回应ping命令的用户终端。
具体地,在获取与待检测对象标识对应的互联网协议地址之前,或者在获取与待检测对象标识对应的互联网协议地址之后,带宽测量程序可通过Ping指令向待检测对象标识对应的IP地址对应的用户终端发送ICMP报文。该用户终端接收到ICMP报文,并向带宽测量程序返回ICMP回应报文。那么带宽测量程序确定该IP地址为存活(alive)的IP地址。当该IP地址对应的用户终端无法向服务器返回ICMP回应报文时,则带宽测量程序确定该IP地址不是存活的IP地址,故带宽测量程序在检测网络状态时不会向无法返回ICMP回应报文的IP地址对应的用户终端发送ICMP报文。
带宽测量程序接收到该ICMP回应报文,则选取至少一个能够回应ICMP报文的用户终端作为目标用户终端。
步骤404,向目标用户终端发送ICMP报文。
具体地,当带宽测量程序以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文的同时,也通过目标网络设备向至少一个目标用户终端发送ICMP报文。
步骤406,接收目标用户终端返回的ICMP回应报文。
具体地,目标用户终端接收带宽测量程序发送的ICMP报文后,向带宽测量程序所在的服务器返回ICMP回应报文。带宽测量程序接收目标用户终端返回的ICMP回应报文。
步骤408,根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率。
具体地,带宽测量程序获取发送的ICMP报文的数量。带宽测量程序统计目标用户终端返回的ICMP回应报文的数量。带宽测量程序根据发送的ICMP报文的数量和返回的ICMP报文的数量确定服务器与目标网络设备之间的链路的丢包率。计算方法具体可以为丢包率=(发送的ICMP报文的数量-返回的ICMP报文的数量)/发送的ICMP报文的数量×100%。
上述带宽测量方法,从互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端,能够保证该目标终端处于存活(alive)状态,则最少只需要向一个在线的用户终端发送ICMP报文,接收目标用户终端返回的ICMP回应报文,根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率,还能确定与用户终端之间的链路的丢包率,能检测到网络状态,可操作性强且成本低。
在一个实施例中,获取链路的丢包率,包括:接收用户终端发送的ICMP报文;向用户终端发送ICMP回应报文;接收用户终端返回的丢包率的值,其中,丢包率的值是用户终端根据发送的ICMP报文的数量和ICMP回应报文的数量确定的。
具体地,用户终端通过Ping命令向带宽测量程序所在的服务器发送ICMP报文。带宽测量程序接收用户终端发送的ICMP报文。带宽测量程序向用户终端返回ICMP回应报文。用户终端根据发送的ICMP报文的数量和接收的ICMP回应报文的数量得到丢包率的值。用户终端向带宽测量程序所在的服务器发送丢包率的值。带宽测量程序接收用户终端返回的丢包率的值。
上述带宽测量方法,通过接收用户终端发送的ICMP报文,向用户终端返回ICMP回应报文,接收发送的丢包率的值,不仅能够确定与目标网络设备之间的链路的丢包率,还能确定与用户终端之间的链路的丢包率,能检测到网络状态,可操作性强且成本低。
在一个实施例中,网络状态的检测方式,包括:获取链路的延迟时间;当链路的延迟时间大于延迟时间阈值时,确定该链路处于网络拥塞状态;当链路的延迟时间小于或等于延迟时间阈值时,确定该链路处于网络可用状态。
具体地,例如延迟时间阈值为100ms,则当延迟时间大于100ms时,确定链路处于网络拥塞状态;当延迟时间为0~100ms时,确定链路处于网络可用状态。
上述带宽测量方法,通过获取链路的延迟时间,当延迟时间大于延迟时间阈值时,确定处于网络拥塞状态,当延迟时间小于延迟时间阈值时,确定处于网络可用状态,能根据延迟时间检测得到网络状态,从而得到链路带宽。
在一个实施例中,拥塞状态的检测方式,包括:获取链路的丢包率和延迟时间;当链路的丢包率大于丢包率阈值且延迟时间大于延迟时间阈值时,确定该链路处于网络拥塞状态。上述带宽测量方法,通过同时检测丢包率和延迟时间,能更精确判断网络的拥塞状态,提高带宽测量的准确性。
在一个实施例中,获取链路的延迟时间,包括:向目标网络设备中的至少一个目标网络设备或者向能够回应ICMP报文的至少一个目标用户终端发送ICMP报文,并获取对应的发送时间;当接收到目标网络设备或者目标用户终端返回的ICMP回应报文时,获取接收到ICMP回应报文的接收时间;根据发送时间和接收时间得到链路的延迟时间。
其中,发送时间和接收时间具体可以精确到毫秒,甚至微秒。
具体地,带宽测量程序获取向目标网络设备中的至少一个网络设备发送ICMP报文的发送时间。当接收到该目标网络设备返回的ICMP回应报文时,获取接收到ICMP回应报文的接收时间。则带宽测量程序根据发送时间和接收时间得到链路的延迟时间。或者,带宽测量程序获取向能够回应ICMP报文的至少一个目标用户终端发送ICMP报文的发送时间。当接收到该目标用户终端返回的ICMP回应报文时,获取接收到ICMP回应报文的接收时间。则带宽测量程序根据发送时间和接收时间得到链路的延迟时间。
上述带宽测量方法,通过获取发送时间和接收时间,得到链路的延迟时间,能避免在ICMP报文中加入时间戳而导致的ICMP报文数据量偏大,能使ICMP报文数据量小,不易增加网络拥塞,提高带宽测量的准确性。
在一个实施例中,以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,包括:以依次增大的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文;第一网络状态为网络可用状态;第二网络状态为网络拥塞状态。
具体地,带宽测量程序以依次增大的宽带速率向互联网协议地址对应的用户终端发送UDP报文。例如带宽测量程序以1GB/s、2GB/s、3GB/s……等不限于此宽带速率向互联网协议地址对应的用户终端发送UDP报文。当检测到服务器和目标网络设备之间的链路从网络可用状态变化为网络拥塞状态时,获取最后一次处于网络可用状态时对应的宽带速率,即获取链路处于网络可用状态时对应的最大宽带速率。
上述带宽测量方法,以依次增大的宽带速率向互联网协议地址对应的用户终端发送UDP报文,能够按一定的顺序发送UDP报文,并且速率可调节,能得到精确的宽带速率,提高带宽测量的准确性。
在一个实施例中,如图5所示,为另一个实施例中带宽测量方法的流程示意图,包括:
步骤502,获取与待检测对象标识对应的IP地址列表。
具体地,IP地址可以列表方式存储。
步骤504,以宽带速率S向IP地址列表中的IP地址对应的任意用户终端发送UDP报文。
其中,初始的宽带速率S具体可以是预测宽带速率值。
步骤506,检测服务器与目标网络设备之间的链路是否丢包。
具体地,服务器可通过拥塞信息检测服务器与目标网络设备之间的链路是否发生丢包。拥塞信息例如丢包率、延迟时间中的至少一种。
步骤508,当服务器与目标网络设备之间的链路未发生丢包时,增大宽带速率S。
具体地,增大宽带速率S之后,得到宽带速率为S+1,那么服务器以S+1的宽带速率向IP地址列表中的IP地址对应的任意用户终端发送UDP报文。
步骤510,根据最后一次未丢包的宽带速率处理得到最大可用带宽。
具体地,例如当宽带速率为S+5时,带宽测量程序检测到与目标网络设备之间的链路发生丢包,则获取最后一次未丢包的宽带速率S+4,根据宽带速率S+4计算得到链路的最大可用带宽。
本实施例中,通过拥塞信息判断是否到达最大可用带宽的原理:当链路上数据报文传输速率小于网络链路最大可用带宽,则传输的报文不会发生拥塞,报文的延时平稳且无丢包;若某端的发送速率大于网络链路最大可用带宽,则链路会发生拥塞,链路上传输报文延时时间增大、丢包率上升,因此可用通过报文的延时时间和丢包率等拥塞信息来判断链路当前带宽是否到达最大可用带宽。
上述带宽测量方法,通过获取待检测对象标识对应的IP地址列表,以可调节的宽带速率S向IP地址列表中的IP地址对应的任意用户终端发送UDP报文,并检测链路是否丢包,当未发生丢包时,增大宽带速率再次发送UDP报文,得到最后一次未丢包的宽带速率,并处理得到最大可用带宽,不需要事先部署网络设备,不需要用户终端保持在线的状态进行交互,也不需要所有用户终端都接收到UDP报文,成本低、可操作性高且通用性好,能够模拟实际情况中用户终端使用流量的过程,使测量场景接近于实际使用的场景,提高带宽测量的准确性。
在一个实施例中,以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,包括:以依次递减的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文;第一网络状态为网络拥塞状态;第二网络状态为网络可用状态。
具体地,带宽测量程序以依次减小的宽带速率向互联网协议地址对应的用户终端发送UDP报文。例如带宽测量程序以20GB/s、19GB/s、18GB/s……等不限于此宽带速率向互联网协议地址对应的用户终端发送UDP报文。当检测到服务器和目标网络设备之间的链路从网络拥塞状态变化为网络可用状态时,获取第一次处于网络可用状态时对应的宽带速率,即获取链路处于网络可用状态时对应的最大宽带速率。
上述带宽测量方法,以依次递减的宽带速率向互联网协议地址对应的用户终端发送UDP报文,能够按一定的顺序发送UDP报文,并且速率可调节,能得到精确的宽带速率,提高带宽测量的准确性。
在一个实施例中,如图6所示,以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文,包括:
步骤602,生成随机数标识。
具体地,在获取与待检测对象标识对应的互联网协议地址之前,带宽测量程序将待检测对象标识对应的互联网协议地址全量导入内存数组中,并存储。每个数对应一个互联网协议地址。带宽测量程序随机生成随机数标识。
步骤604,获取随机数标识对应的互联网协议地址。
具体地,带宽测量程序获取与该随机数标识对应的互联网协议地址。例如,随机数标识为5,对应的IP地址为123.123.1.1,那么带宽测量程序获取的IP地址为123.123.1.1。
步骤606,以可调节的宽带速率向随机数标识对应的互联网协议地址对应的用户终端发送UDP报文。
具体地,带宽测量程序以依次递增或依次递减的宽带速率,向随机数标识对应的IP地址对应的用户终端串行发送UDP报文。例如带宽测量程序对应的一个服务器生成随机数标识,例如生成10、8、11、19、5…等等不限于此,当宽带速率为5GB/s时,带宽测量程序以5GB/s的宽带速率串行向10、8、11、19、5对应的IP地址对应的用户终端发送UDP报文。
本实施例中,当多个服务器中均有带宽测量程序时,该待检测对象标识对应的IP地址可以是多个服务器共用的IP地址。那么该多个带宽测量程序均生成随机数标识,获取随机数标识对应的IP地址,向随机数标识对应的IP地址对应的用户终端发送UDP报文,从而可以避免多个机器同一时间向同一个IP地址发送UDP报文。
本实施例中,获取与待检测对象标识对应的互联网协议地址,包括:生成随机数标识,获取待检测对象标识对应的随机数标识对应的互联网协议地址;以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文,包括:以可调节的宽带速率向随机数标识对应的IP地址对应的用户终端发送UDP报文。
上述带宽测量方法,生成随机数标识,获取随机数标识对应的互联网协议地址,以可调节的宽带速率向随机数标识对应的互联网协议地址对应的终端发送UDP报文,能够利用随机数的随机性来均衡发送UDP报文,避免多个设备同一时间向同一互联网协议地址对应的用户终端发送UDP报文,提高UDP报文发送的准确性。
在一个实施例中,该带宽测量方法还包括:当宽带速率大于预设宽带速率时,根据宽带速率对应的第一发送时长和预设宽带速率对应的第二发送时长得到休眠时长;当得到休眠时长后开始休眠,计时达到休眠时长时,重新执行以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文的步骤。
其中,在休眠时长内,带宽测量程序不向互联网协议地址对应的用户终端发送UDP报文。预设宽带速率可以是服务器中存储的任意一个预设宽带速率值。宽带速率对应的第一发送时长是指按照宽带速率定时或发送一定数量的UDP包所花费的时长。预设宽带速率对应的第二发送时长是指按照预设宽带速率发送一定数量的UDP包所花费的时长。
具体地,例如UDP包的字节数为K1,宽带速率为S1,对应的第一发送时长为T1=K1/S1。预设宽带速率为S2,对应的第二发送时长为T2。当宽带速率大于预设宽带速率时,带宽测量程序根据宽带速率对应的第一发送时长T1和预设宽带速率对应的第二发送时长T2得到休眠时长|T1-T2|。当带宽测量程序得到休眠时长后开始休眠并计时,当计时达到休眠时长时,执行以可调节的宽带速率向IP地址对应的用户终端发送UDP报文的步骤。
上述带宽测量方法,当宽带速率大于预设宽带速率时,根据宽带速率对应的第一发送时长和预设宽带速率对应的第二发送时长得到休眠时长,当得到休眠时长后开始休眠,计时达到休眠时长时,重新执行以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文的步骤,能控制宽带速率,提高带宽测量的准确性。
在一个实施例中,如图7所示,在获取目标网络设备对应的互联网协议地址之前,该带宽测量方法还包括:
步骤702,获取业务访问日志。
其中,业务访问日志是指用户终端访问服务器时产生的日志信息。业务访问日志中包括互联网协议地址和对应的待检测对象标识。
具体地,带宽测量程序从服务器中获取业务访问日志。
步骤704,从业务访问日志中获取互联网协议地址。
具体地,带宽测量程序从业务访问日志中获取IP地址。其中IP地址的数量不限,例如可以为大量的IP地址。
步骤706,获取互联网协议地址所对应的待检测对象标识。
具体地,带宽测量程序获取每个互联网协议地址所对应的待检测对象标识。例如IP地址A对应的待检测对象标识为***,B对应的待检测对象标识为***,C对应的待检测对象标识为中国电信,D对应的待检测对象标识为***…等等不限于此。
步骤708,按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址。
具体地,带宽测量程序按照待检测对象标识将IP地址分类,以待检测对象标识相同的IP地址为一类,则得到待检测对象标识对应的互联网协议地址。例如IP地址A和IP地址D同属于***,则归为一类。待检测对象标识为***对应的IP地址中包含A、D、F…等等不限于此。
本实施例中,带宽测量程序将待检测对象标识对应的互联网协议地址全量导入内存数组中。例如带宽测量程序将待检测对象标识为***对应的IP地址全量导入内存数组A中。带宽测量程序将将待检测对象标识为***对应的IP地址全量导入内存数组B中。带宽测量程序将待检测对象标识为中国电信对应的IP地址全量导入内存数组C中。
上述带宽测量方法,从业务访问日志中获取互联网协议地址,获取互联网协议地址对应的待检测对象标识,按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址,能按需求分类,向该IP地址对应的用户终端发送UDP包,从而得到链路的带宽,提高带宽测量的准确性。
在一个实施例中,获取与待检测对象标识对应的互联网协议地址,包括:从互联网协议地址数据库中获取与待检测对象标识对应的互联网协议地址。
具体地,互联网协议地址数据库包含互联网协议地址以及对应的待检测对象标识。互联网协议地址数据库中还可以包含互联网协议地址对应的国籍。带宽测量程序从IP数据库中获取与待检测对象标识对应的互联网协议地址。带宽测量程序还可以从IP数据库中获取与互联网协议地址对应的国籍。
上述带宽测量方法,从互联网协议地址数据库中获取与待检测对象标识对应的互联网协议地址,能获取大量的互联网协议地址并发送UDP报文,提高带宽测量的准确性。
在一个实施例中,一种带宽测量方法,包括:
步骤(a1),获取业务访问日志。
步骤(a2),从业务访问日志中获取互联网协议地址。
步骤(a3),获取互联网协议地址所对应的待检测对象标识。
步骤(a4),按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址。
步骤(a5),获取与待检测对象标识对应的互联网协议地址。
步骤(a6),生成随机数标识。
步骤(a7),获取随机数标识对应的互联网协议地址。
步骤(a8),以可调节的宽带速率向随机数标识对应的互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞。
步骤(a9),当宽带速率大于预设宽带速率时,根据宽带速率对应的第一发送时长和预设宽带速率对应的第二发送时长得到休眠时长。
步骤(a10),当得到休眠时长后开始休眠,计时达到休眠时长时,重新执行以依次增大的宽带速率向随机数标识对应的互联网协议地址对应的用户终端发送UDP报文的步骤。
步骤(a11),向目标网络设备中的至少一个目标网络设备发送互联网控制报文协议ICMP报文。
步骤(a12),接收目标网络设备返回的ICMP回应报文。
步骤(a13),根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率。
步骤(a14),当链路的丢包率大于丢包率阈值时,则确定链路处于网络拥塞状态。
步骤(a15),获取链路处于网络可用状态时对应的最大宽带速率。
步骤(a16),根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
虽然上述步骤(a1)至步骤(a16)按照数字的指示依次显示,但是这些步骤并不是必然按照数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
上述带宽测量方法,获取与待检测对象标识对应的互联网协议地址,以可调节的宽带速率向互联网协议地址对应的终端发送UDP报文,由于UDP报文是一种面向无连接协议,具有资源消耗小、处理速度快的特点,因此不需要事先部署网络设备,不需要用户终端保持在线的状态,也不需要所有用户终端都接收到UDP报文,成本低、可操作性高且通用性好;利用随机数的随机性来均衡发送UDP报文,避免多个设备同一时间向同一互联网协议地址对应的用户终端发送UDP报文,提高UDP报文发送的准确性;当检测链路从第一网络状态变化为第二网络状态时,最少只需向一个目标网络设备发送ICMP报文,获取处于可用状态时对应的最大宽带速率,处理得到最大可用带宽,能够模拟实际情况中用户终端使用流量的过程,使测量场景接近于实际使用的场景,提高带宽测量的准确性。
在一个实施例中,一种带宽测量方法,包括:
步骤(b1),获取业务访问日志。
步骤(b2),从业务访问日志中获取互联网协议地址。
步骤(b3),获取互联网协议地址所对应的待检测对象标识。
步骤(b4),按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址。
步骤(b5),获取与待检测对象标识对应的互联网协议地址。
步骤(b6),生成随机数标识。
步骤(b7),获取随机数标识对应的互联网协议地址。
步骤(b8),以可调节的宽带速率向随机数标识对应的互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞。
步骤(b9),当宽带速率大于预设宽带速率时,根据宽带速率对应的第一发送时长和预设宽带速率对应的第二发送时长得到休眠时长。
步骤(b10),当得到休眠时长后开始休眠,计时达到休眠时长时,重新执行以依次增大的宽带速率向随机数标识对应的互联网协议地址对应的用户终端发送UDP报文的步骤。
步骤(b11),从所述互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端。
步骤(b12),向所述目标用户终端发送ICMP报文。
步骤(b13),接收所述目标用户终端返回的ICMP回应报文。
步骤(b14),根据发送的所述ICMP报文的数量和返回的ICMP回应报文的数量确定与所述目标网络设备之间的链路的丢包率。
步骤(b15),当链路的丢包率大于丢包率阈值时,则确定链路处于网络拥塞状态。
步骤(b16),获取链路处于网络可用状态时对应的最大宽带速率。
步骤(b17),根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
虽然上述步骤(b1)至步骤(b17)按照数字的指示依次显示,但是这些步骤并不是必然按照数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
上述带宽测量方法,获取与待检测对象标识对应的互联网协议地址,以可调节的宽带速率向互联网协议地址对应的终端发送UDP报文,由于UDP报文是一种面向无连接协议,具有资源消耗小、处理速度快的特点,因此不需要事先部署网络设备,不需要用户终端保持在线的状态,也不需要所有用户终端都接收到UDP报文,成本低、可操作性高且通用性好;利用随机数的随机性来均衡发送UDP报文,避免多个设备同一时间向同一互联网协议地址对应的用户终端发送UDP报文,提高UDP报文发送的准确性;向目标用户终端发送ICMP报文,最少只需要向一个在线的用户终端发送ICMP报文,还能确定与用户终端之间的链路的丢包率;则当检测到链路从第一网络状态变化为第二网络状态时,获取处于可用状态时对应的最大宽带速率,处理得到最大可用带宽,能够模拟实际情况中用户终端使用流量的过程,使测量场景接近于实际使用的场景,提高带宽测量的准确性。
应该理解的是,虽然图2至图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,为一个实施例中带宽测量装置的结构框图。一种带宽测量装置,该装置包括获取模块802、发送模块804、检测模块806和处理模块808,其中:
获取模块802,用于获取与待检测对象标识对应的互联网协议地址。
发送模块804,用于以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞。
检测模块806,用于当检测到链路从第一网络状态变化为第二网络状态,获取链路处于可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态。
处理模块808,用于根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
上述带宽测量装置,获取与待检测对象标识对应的互联网协议地址,以可调节的宽带速率向互联网协议地址对应的终端发送UDP报文,由于UDP报文是一种面向无连接协议,具有资源消耗小、处理速度快的特点,因此不需要事先部署网络设备,不需要用户终端保持在线的状态,也不需要所有用户终端都接收到UDP报文,成本低、可操作性高且通用性好;当检测到链路从第一网络状态变化为第二网络状态时,获取处于可用状态时对应的最大宽带速率,处理得到最大可用带宽,能够模拟实际情况中用户终端使用流量的过程,使测量场景接近于实际使用的场景,提高带宽测量的准确性。
在一个实施例中,检测模块806用于获取链路的丢包率;当链路的丢包率大于丢包率阈值时,则确定链路处于网络拥塞状态。
上述带宽测量装置,获取链路的丢包率,当链路的丢包率大于丢包率阈值时,确定链路处于拥塞状态,能检查网络是否处于拥塞状态,通过丢包率阈值也能在一定程度上避免由于除网络拥塞之外的原因产生的丢包率误差,提高带宽测量的准确性。
在一个实施例中,检测模块806用于向目标网络设备中的至少一个目标网络设备发送互联网控制报文协议ICMP报文;接收目标网络设备返回的ICMP回应报文;根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率。
上述带宽测量装置,向目标网络设备中的至少一个目标网络设备发送ICMP报文,接收目标网络设备返回的ICMP回应报文,根据发送的报文和回应报文的数量确定丢包率,最少只需向一个目标网络设备发送ICMP报文,就能检测网络状态,可操作性强且成本低。
在一个实施例中,检测模块806用于从互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端;向目标用户终端发送ICMP报文;接收目标用户终端返回的ICMP回应报文;根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率。
上述带宽测量装置,从互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端,能够保证该目标终端处于存活(alive)状态,则最少只需要向一个在线的用户终端发送ICMP报文,接收目标用户终端返回的ICMP回应报文,根据发送的ICMP报文的数量和返回的ICMP回应报文的数量确定与目标网络设备之间的链路的丢包率,还能确定与用户终端之间的链路的丢包率,能检测到网络状态,可操作性强且成本低。
在一个实施例中,获取模块802用于接收用户终端发送的ICMP报文;向用户终端发送ICMP回应报文;接收用户终端返回的丢包率的值,其中,丢包率的值是用户终端根据发送的ICMP报文的数量和ICMP回应报文的数量确定的。
上述带宽测量装置,通过接收用户终端发送的ICMP报文,向用户终端返回ICMP回应报文,接收发送的丢包率的值,不仅能够确定与目标网络设备之间的链路的丢包率,还能确定与用户终端之间的链路的丢包率,能检测到网络状态,可操作性强且成本低。
在一个实施例中,获取模块802用于获取所述链路的延迟时间。检测模块806用于当所述链路的延迟时间大于延迟时间阈值时,确定所述链路处于网络拥塞状态;当所述链路的延迟时间小于或等于所述延迟时间阈值时,确定所述链路处于网络可用状态。
上述带宽测量装置,通过获取链路的延迟时间,当延迟时间大于延迟时间阈值时,确定处于网络拥塞状态,当延迟时间小于延迟时间阈值时,确定处于网络可用状态,能根据延迟时间检测得到网络状态,从而得到链路带宽。
在一个实施例中,获取模块802用于获取向目标网络设备中的至少一个目标网络设备或者向能够回应ICMP报文的至少一个目标用户终端发送ICMP报文的发送时间;当接收到目标网络设备或者目标用户终端返回的ICMP回应报文时,获取接收到ICMP回应报文的接收时间;根据发送时间和接收时间得到链路的延迟时间。
上述带宽测量装置,通过获取发送时间和接收时间,得到链路的延迟时间,能避免在ICMP报文中加入时间戳而导致的ICMP报文数据量大,能使ICMP报文数据量小,不易导致网络拥塞,提高带宽测量的准确性。
在一个实施例中,发送模块804用于以依次增大的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文;第一网络状态为网络可用状态;第二网络状态为网络拥塞状态。
上述带宽测量装置,以依次增大的宽带速率向互联网协议地址对应的用户终端发送UDP报文,能够按一定的顺序发送UDP报文,并且速率可调节,能得到精确的宽带速率,提高带宽测量的准确性。
在一个实施例中,发送模块804用于以依次递减的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文;第一网络状态为网络拥塞状态;第二网络状态为网络可用状态。
上述带宽测量装置,以依次递减的宽带速率向互联网协议地址对应的用户终端发送UDP报文,能够按一定的顺序发送UDP报文,并且速率可调节,能得到精确的宽带速率,提高带宽测量的准确性。
在一个实施例中,如图9所示,为另一个实施例中带宽测量装置的结构框图。该带宽测量装置还包括生成模块810。生成模块810用于生成随机数标识。获取模块802用于获取随机数标识对应的互联网协议地址。发送模块804用于以可调节的宽带速率向随机数标识对应的互联网协议地址对应的用户终端发送UDP报文。
上述带宽测量装置,生成随机数标识,获取随机数标识对应的互联网协议地址,以可调节的宽带速率向随机数标识对应的互联网协议地址对应的终端发送UDP报文,能够利用随机数的随机性来均衡发送UDP报文,避免多个设备同一时间向同一互联网协议地址对应的用户终端发送UDP报文,提高UDP报文发送的准确性。
在一个实施例中,如图9所示,该带宽测量装置还包括休眠模块812。休眠模块812用于当宽带速率大于预设宽带速率时,根据宽带速率对应的第一发送时长和预设宽带速率对应的第二发送时长得到休眠时长;当得到休眠时长后开始休眠,计时达到休眠时长时,发送模块804用于以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文。
上述带宽测量装置,当宽带速率大于预设宽带速率时,根据宽带速率对应的第一发送时长和预设宽带速率对应的第二发送时长得到休眠时长,当得到休眠时长后开始休眠,计时达到休眠时长时,重新执行以可调节的宽带速率向互联网协议地址对应的用户终端发送UDP报文的步骤,能控制宽带速率,提高带宽测量的准确性。
在一个实施例中,获取模块802还用于获取业务访问日志;从业务访问日志中获取互联网协议地址;获取互联网协议地址所对应的待检测对象标识;按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址。
上述带宽测量装置,从业务访问日志中获取互联网协议地址,获取互联网协议地址对应的待检测对象标识,按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址,能按需求分类,向该IP地址对应的用户终端发送UDP包,从而得到链路的带宽,提高带宽测量的准确性。
在一个实施例中,获取模块802用于从互联网协议地址数据库中获取与待检测对象标识对应的互联网协议地址。
上述带宽测量装置,从互联网协议地址数据库中获取与待检测对象标识对应的互联网协议地址,能获取大量的互联网协议地址并发送UDP报文,提高带宽测量的准确性。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的计算机设备110。如图10所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现带宽测量方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行带宽测量方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的带宽测量装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该带宽测量装置的各个程序模块,比如,图8所示的获取模块、发送模块、检测模块和处理模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的带宽测量方法中的步骤。例如,图10所示的计算机设备可以通过如图8所示的带宽测量装置中的获取模块执行获取与待检测对象标识对应的互联网协议地址。计算机设备可通过发送模块执行以可调节的宽带速率向互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,可调节的宽带速率对应的UDP报文用于使与待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞。计算机设备可通过检测模块执行当检测到链路从第一网络状态变化为第二网络状态,获取链路处于可用状态时对应的最大宽带速率,第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态。计算机设备可通过处理模块执行根据链路处于网络可用状态时对应的最大宽带速率处理得到与目标网络设备之间的链路最大可用带宽。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述带宽测量方法的步骤。此处带宽测量方法的步骤可以是上述各个实施例的带宽测量方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述带宽测量方法的步骤。此处带宽测量方法的步骤可以是上述各个实施例的带宽测量方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (24)
1.一种带宽测量方法,其特征在于,应用于服务器,包括:
获取与待检测对象标识对应的互联网协议地址;
以可调节的宽带速率通过目标网络设备向所述互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,所述可调节的宽带速率对应的UDP报文用于使所述服务器与所述待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;
当检测到所述链路从第一网络状态变化为第二网络状态时,获取所述链路处于网络可用状态时对应的最大宽带速率,所述第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;
根据所述链路处于网络可用状态时对应的最大宽带速率处理得到所述服务器与所述目标网络设备之间的链路最大可用带宽。
2.根据权利要求1所述的方法,其特征在于,所述拥塞状态的检测方式,包括:
获取所述链路的丢包率;
当所述链路的丢包率大于丢包率阈值时,则确定所述链路处于网络拥塞状态。
3.根据权利要求2所述的方法,其特征在于,所述获取所述链路的丢包率,包括:
向所述目标网络设备中的至少一个目标网络设备发送互联网控制报文协议ICMP报文;
接收所述目标网络设备返回的ICMP回应报文;
根据发送的所述ICMP报文的数量和返回的ICMP回应报文的数量确定与所述目标网络设备之间的链路的丢包率。
4.根据权利要求2所述的方法,其特征在于,所述获取所述链路的丢包率,包括:
从所述互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端;
向所述目标用户终端发送ICMP报文;
接收所述目标用户终端返回的ICMP回应报文;
根据发送的所述ICMP报文的数量和返回的ICMP回应报文的数量确定与所述目标网络设备之间的链路的丢包率。
5.根据权利要求2所述的方法,其特征在于,所述获取所述链路的丢包率,包括:
接收所述用户终端发送的ICMP报文;
向所述用户终端发送ICMP回应报文;
接收用户终端返回的丢包率的值,其中,所述丢包率的值是所述用户终端根据所述发送的ICMP报文的数量和所述ICMP回应报文的数量确定的。
6.根据权利要求1所述的方法,其特征在于,所述网络状态的检测方式,包括:
获取所述链路的延迟时间;
当所述链路的延迟时间大于延迟时间阈值时,确定所述链路处于网络拥塞状态;
当所述链路的延迟时间小于或等于所述延迟时间阈值时,确定所述链路处于网络可用状态。
7.根据权利要求6所述的方法,其特征在于,所述获取所述链路的延迟时间,包括:
向所述目标网络设备中的至少一个目标网络设备或者向能够回应ICMP报文的至少一个目标用户终端发送ICMP报文,并获取对应的发送时间;
当接收到所述目标网络设备或者所述目标用户终端返回的ICMP回应报文时,获取接收到ICMP回应报文的接收时间;
根据所述发送时间和所述接收时间得到链路的延迟时间。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述以可调节的宽带速率通过目标网络设备向所述互联网协议地址对应的终端发送UDP报文,包括:
生成随机数标识;
获取所述随机数标识对应的互联网协议地址;
以可调节的宽带速率通过目标网络设备向所述随机数标识对应的互联网协议地址对应的用户终端发送UDP报文。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
当所述宽带速率大于预设宽带速率时,根据所述宽带速率对应的第一发送时长和所述预设宽带速率对应的第二发送时长得到休眠时长;
当得到休眠时长后开始休眠,计时达到所述休眠时长时,重新执行以可调节的宽带速率向所述互联网协议地址对应的用户终端发送UDP报文的步骤。
10.根据权利要求1至7任一项所述的方法,其特征在于,在所述获取目标网络设备对应的互联网协议地址之前,还包括:
获取业务访问日志;
从所述业务访问日志中获取互联网协议地址;
获取所述互联网协议地址所对应的待检测对象标识;
按照所述待检测对象标识将所述互联网协议地址分类,得到所述待检测对象标识对应的互联网协议地址。
11.根据权利要求1至7任一项所述的方法,其特征在于,所述获取与待检测对象标识对应的互联网协议地址,包括:
从互联网协议地址数据库中获取与待检测对象标识对应的互联网协议地址。
12.一种带宽测量装置,其特征在于,所述装置包括:
获取模块,用于获取与待检测对象标识对应的互联网协议地址;
发送模块,用于以可调节的宽带速率通过目标网络设备向所述互联网协议地址对应的用户终端发送用户数据报协议UDP报文,其中,所述可调节的宽带速率对应的UDP报文用于使服务器与所述待检测对象标识所对应的目标网络设备之间的链路发生网络拥塞;
检测模块,用于当检测到所述链路从第一网络状态变化为第二网络状态,获取所述链路处于可用状态时对应的最大宽带速率,所述第一网络状态和第二网络状态中的其中一个为网络可用状态,另一个为网络拥塞状态;
处理模块,用于根据所述链路处于网络可用状态时对应的最大宽带速率处理得到所述服务器与所述目标网络设备之间的链路最大可用带宽。
13.根据权利要求12所述的装置,其特征在于,所述检测模块用于获取所述链路的丢包率;
当所述链路的丢包率大于丢包率阈值时,则确定所述链路处于网络拥塞状态。
14.根据权利要求13所述的装置,其特征在于,所述检测模块用于向所述目标网络设备中的至少一个目标网络设备发送互联网控制报文协议ICMP报文;
接收所述目标网络设备返回的ICMP回应报文;
根据发送的所述ICMP报文的数量和返回的ICMP回应报文的数量确定与所述目标网络设备之间的链路的丢包率。
15.根据权利要求13所述的装置,其特征在于,所述检测模块用于从所述互联网协议地址对应的用户终端中,选取至少一个能够回应ICMP报文的用户终端作为目标用户终端;
向所述目标用户终端发送ICMP报文;
接收所述目标用户终端返回的ICMP回应报文;
根据发送的所述ICMP报文的数量和返回的ICMP回应报文的数量确定与所述目标网络设备之间的链路的丢包率。
16.根据权利要求13所述的装置,其特征在于,所述检测模块用于接收所述用户终端发送的ICMP报文;
向所述用户终端发送ICMP回应报文;
接收用户终端返回的丢包率的值,其中,所述丢包率的值是所述用户终端根据所述发送的ICMP报文的数量和所述ICMP回应报文的数量确定的。
17.根据权利要求12所述的装置,其特征在于,所述获取模块用于获取所述链路的延迟时间;
所述检测模块用于当所述链路的延迟时间大于延迟时间阈值时,确定所述链路处于网络拥塞状态;
当所述链路的延迟时间小于或等于所述延迟时间阈值时,确定所述链路处于网络可用状态。
18.根据权利要求17所述的装置,其特征在于,所述获取模块用于向所述目标网络设备中的至少一个目标网络设备或者向能够回应ICMP报文的至少一个目标用户终端发送ICMP报文,并获取对应的发送时间;
当接收到所述目标网络设备或者所述目标用户终端返回的ICMP回应报文时,获取接收到ICMP回应报文的接收时间;
根据所述发送时间和所述接收时间得到链路的延迟时间。
19.根据权利要求12至18任一项所述的装置,其特征在于,所述带宽测量装置还包括生成模块;
所述生成模块用于生成随机数标识;
所述获取模块用于获取所述随机数标识对应的互联网协议地址;
所述发送模块用于以可调节的宽带速率通过所述目标网络设备向所述随机数标识对应的互联网协议地址对应的用户终端发送UDP报文。
20.根据权利要求12至18任一项所述的装置,其特征在于,所述带宽测量装置还包括休眠模块;
所述休眠模块用于当所述宽带速率大于预设宽带速率时,根据所述宽带速率对应的第一发送时长和所述预设宽带速率对应的第二发送时长得到休眠时长;
当得到休眠时长后开始休眠,计时达到休眠时长时,所述发送模块用于以可调节的宽带速率向所述互联网协议地址对应的用户终端发送UDP报文。
21.根据权利要求12至18任一项所述的装置,其特征在于,所述获取模块还用于获取业务访问日志;从业务访问日志中获取互联网协议地址;获取互联网协议地址所对应的待检测对象标识;按照待检测对象标识将互联网协议地址分类,得到待检测对象标识对应的互联网协议地址。
22.根据权利要求12至18任一项所述的装置,其特征在于,所述获取模块还用于从互联网协议地址数据库中获取与待检测对象标识对应的互联网协议地址。
23.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
24.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910301810.3A CN109921962B (zh) | 2019-04-16 | 2019-04-16 | 带宽测量方法、装置、计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910301810.3A CN109921962B (zh) | 2019-04-16 | 2019-04-16 | 带宽测量方法、装置、计算机可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109921962A CN109921962A (zh) | 2019-06-21 |
CN109921962B true CN109921962B (zh) | 2021-03-23 |
Family
ID=66977348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910301810.3A Active CN109921962B (zh) | 2019-04-16 | 2019-04-16 | 带宽测量方法、装置、计算机可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109921962B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572440B (zh) * | 2019-08-16 | 2022-03-25 | 海尔优家智能科技(北京)有限公司 | 用于数据传输的方法及装置、家电设备、存储介质 |
CN112787879A (zh) * | 2019-11-08 | 2021-05-11 | 西安诺瓦星云科技股份有限公司 | 千兆以太网丢包检测方法及其装置 |
CN110932997B (zh) * | 2019-12-09 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种降低网络流量丢包的方法、设备及介质 |
CN111092791B (zh) * | 2019-12-31 | 2023-01-31 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN111404783B (zh) * | 2020-03-20 | 2021-11-16 | 南京大学 | 一种网络状态数据采集方法及其*** |
CN111988196B (zh) * | 2020-07-21 | 2022-04-01 | 中国长城科技集团股份有限公司 | 一种带宽检测方法、装置、电子设备和存储介质 |
CN112073128A (zh) * | 2020-08-18 | 2020-12-11 | 江苏创通电子股份有限公司 | 通信设备性能测试方法及装置 |
CN112202921A (zh) * | 2020-10-23 | 2021-01-08 | 苏州聚慧邦信息科技有限公司 | 办公设备远程交互方法、装置及在线办公交互平台 |
CN114338473A (zh) * | 2021-12-20 | 2022-04-12 | 广州市柏特科技有限公司 | 一种多元协同的宽带测速方法、测速***、终端及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242318A (zh) * | 2008-03-14 | 2008-08-13 | 华为技术有限公司 | 获取网络节点网络连接质量情况的方法和装置 |
CN106487613A (zh) * | 2016-11-16 | 2017-03-08 | 北京华为数字技术有限公司 | 一种带宽测试方法、装置和*** |
CN106612238A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 流量控制方法、装置和*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7983189B2 (en) * | 2008-03-12 | 2011-07-19 | Embarq Holdings Company, Llc | System and method for tracking performance and service level agreement compliance for multipoint packet services |
CN108011771A (zh) * | 2016-11-01 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 网络链路可用带宽的探测方法、装置和设备 |
-
2019
- 2019-04-16 CN CN201910301810.3A patent/CN109921962B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242318A (zh) * | 2008-03-14 | 2008-08-13 | 华为技术有限公司 | 获取网络节点网络连接质量情况的方法和装置 |
CN106612238A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 流量控制方法、装置和*** |
CN106487613A (zh) * | 2016-11-16 | 2017-03-08 | 北京华为数字技术有限公司 | 一种带宽测试方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN109921962A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109921962B (zh) | 带宽测量方法、装置、计算机可读存储介质和计算机设备 | |
US20220329535A1 (en) | Data flow control method and apparatus | |
US9674279B2 (en) | Methods, devices, and systems for allocating service nodes in a network | |
US9118599B2 (en) | Network testing using a control server | |
CN108632110B (zh) | 设备性能测试方法、***、计算机设备和存储介质 | |
CN107534587B (zh) | 时延测量***及方法 | |
US9379989B2 (en) | Congestion avoidance and control for UDP-based protocols | |
CN112653634A (zh) | 一种流量控制方法、装置、设备及可读存储介质 | |
CN115460572A (zh) | 应用程序加速方法、装置、设备及存储介质 | |
CN110691139B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN111917682B (zh) | 访问行为识别方法、性能检测方法、装置、设备和*** | |
US11622396B2 (en) | Method and network node of setting up a wireless connection | |
CN110912904B (zh) | 恶意设备识别方法、装置、存储介质和计算机设备 | |
CN113179172B (zh) | 故障检测模型的训练方法、装置及*** | |
CN110380981B (zh) | 一种流量分发方法及设备 | |
CN110891077A (zh) | Cdn节点检测方法及装置 | |
CN115002008B (zh) | 一种网络时延测量的方法、装置、设备以及存储介质 | |
US20220368590A1 (en) | Fault Detection Method, Apparatus, and System | |
US11677651B2 (en) | UDPING—continuous one-way monitoring of multiple network links | |
CN107911498A (zh) | 一种基于dns代理实现dns解析的方法及装置 | |
CA3149650C (en) | Methods and system for adaptive measurements applied to real time performance monitoring in a packet network | |
US9112766B2 (en) | Method and apparatus having improved line rate IP packet communication | |
CN109002296A (zh) | 一种软件下载方法、装置及基站 | |
Al-Imareen et al. | On the Effectiveness of Congestion Control Algorithms on MPT-GRE Networks | |
CN115865768A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |