一种网络状况检测方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络状况检测方法及检测装置。
背景技术
随着互联网技术的发展,人们在网络上进行聊天、听音乐、看视频、下载文件、浏览网页等活动已经非常普遍,人们在使用网络过程中,常常会遇到的一个问题是网络状况异常,比如聊天软件突然离线、视频画面卡住、网页内容无法加载,此时人们通常会重复登陆或不断刷新页面,甚至重启电脑、路由器等,直到网络恢复正常。这其中用户缺乏一种简单快速的检测当前网络状况的方法,只能被动的等待网络恢复正常。
目前存在的问题是在专业的网络测试方法中,耗费的时间、人力、物力资源较多,并不适用于普通用户,普通用户需要一种简单方便的检测网络状况的方法。
发明内容
本发明提出一种网络状况检测方法及装置,能够方便快速的检测当前网络状况,用户根据检测结果可以知道当前网络状况如何。
本发明提供的技术方案如下:
一种网络状况检测方法,包括步骤:S1设置数据包丢失率基准值、数据包往返时长基准值、数据包延时率基准值、数据包个数;S2发送S1所述个数的数据包并接收相应条数的返回数据信息;S3根据S2所述返回数据信息统计返回数据包个数以及各数据包往返时长;S4根据S3所述返回数据包个数以及S1所述数据包个数,计算实际数据包丢失率;S5比较S4所述实际数据包丢失率与S1所述数据包丢失率基准值;当S4所述实际数据包丢失率大于S1所述数据包丢失率基准值时,执行步骤S8;否则,执行下一步骤;S6根据S3所述各数据包往返时长以及S1所述数据包往返时长基准值,计算实际数据包延时率;S7比较S6所述实际数据包延时率与S1所述数据包延时率基准值;当S6所述实际数据包延时率大于S1所述数据包延时率基准值时,执行步骤:S8显示当前网络状况差。
本发明通过发送测试数据包,根据返回数据信息计算丢包率和延时率,再将它们与基准值比较,能够快速确定当前网络状况是否差。
进一步优选的,所述步骤S1还包括设置延时率基准值的优良比率,当S6所述实际数据包延时率不大于S1所述数据包延时率基准值时,在步骤S7后,还包括步骤:S9比较实际数据包延时率与数据包延时率基准值的优良比率,当实际数据包延时率大于数据包延时率基准值的优良比率时,执行步骤:S91显示当前网络状况良;否则,执行步骤S92:显示当前网络状况优。
本发明在当前网络状况不差的情况下,判断当前网络状况良或当前网络状况优,进一步细分了当前网络状况。
进一步优选的,在步骤S3前,还包括步骤:S21比较S2所述返回数据信息条数与S1所述数据包个数是否相同,若是,执行下一步骤;否则,返回步骤S2。
本发明中,发送数据包越多,检测结果越准确,因而通常发送的数据包个数远多于一个,故在对返回数据信息进行统计前应确保数据包的发送和返回数据信息接收均已完成
进一步优选的,在步骤S1前,还包括步骤:S0检查本地网络协议是否正常,若是,执行下一步骤;否则,执行步骤S8。
本发明中,数据包的发送和接收遵循特定网络协议,如本地网络协议异常,则无法进行网络通讯,可直接显示当前网络状况差。
进一步优选的,在步骤S2前,还包括步骤:S11获取本地网络地址,若获取成功,执行下一步骤;否则,执行步骤S8。
本发明中,作为数据发送方的本地应具有确定的网络地址,若地址获取失败,说明本地没有网络地址,则本地无法发送数据,可以显示当前网络状况差。
进一步优选的,在步骤S2前,还包括步骤:S11获取数据接收端网络地址,若获取成功,执行下一步骤;否则,执行步骤S8。
本发明中,数据接收端应具有确定的网络地址,网络地址通过查询网络上的服务器获取,如果获取网络地址失败,说明网络异常,可以显示当前网络状况差。
一种网络状况检测装置,其特征在于,包括:设置模块,设定数据包丢失率基准值、数据包往返时长基准值、数据包延时率基准值、数据包个数;收发模块,与所述设置模块电连接,发送数据包并接收返回数据信息;统计模块,与所述收发模块电连接,统计返回的数据信息;计算模块,与所述设置模块、所述统计模块电连接,根据统计信息和设置的数值计算实际数据包丢失率和实际数据包延时率;比较模块,与所述设置模块、所述计算模块电连接,比较实际数据包丢失率、实际数据包延时率与对应的基准值的大小。
本发明利用设定模块设置基准值,利用收发模块发送和接收数据包,利用统计模块统计数据信息,利用计算模块计算实际值,利用比较模块比较实际值与基准值,整个装置结构简单,各功能模块易于实现。
进一步优选的,还包括计数模块,所述计数模块与所述收发模块、所述统计模块电连接,判断所述收发模块是否完成接收返回数据信息。
本发明中,利用计数模块判断收发模块是否完成数据包发送和返回数据信息接收,若已完成,统计模块开始统计返回数据信息,否则,继续发送和接收数据。
进一步优选的,还包括检查模块,所述检查模块与所述收发模块电连接,检查本地网络协议是否正常。
本发明中,数据发送和接收遵循特定的网络协议,若本地网络协议异常,则数据无法发送。
进一步优选的,还包括地址获取模块,所述地址获取模块与所述收发模块电连接,获取本地及数据包接收端网络地址。
本发明中,数据的发送接收是端到端的,本地和数据接收端应具有确定的网络地址,否则数据发送和接收无法完成。
本发明的技术效果在于:
本发明提供了一种网络状况检测方法和装置,通过发送数据包并接收返回数据信息,对返回数据信息进行统计、计算、比较实际值与基准值,最终针对当前网络状况得到直观的结果,相比传统的网络测试方法,简单快速,结果直观,节省了人力物力。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种网络状况检测方法和装置的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种网络状况检测方法的主要步骤示意图。
图2是本发明一种网络状况检测方法的完整步骤示意图。
图3是本发明一种网络状况检测装置的主要组成结构示意图。
图4是本发明一种网络状况检测装置的完整组成结构示意图。
附图标号说明:
10-设置模块,20-收发模块,30-统计模块,40-计算模块,50-比较模块,60-计数模块,70-检查模块,80-地址获取模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
实施例一
图1是本发明一种网络状况检测方法的主要步骤示意图。如图1所示,一种网络状况检测方法,包括步骤:S1设置数据包丢失率基准值、数据包往返时长基准值、数据包延时率基准值、数据包个数;S2发送S1所述个数的数据包并接收相应条数的返回数据信息;S3根据S2所述返回数据信息统计返回数据包个数以及各数据包往返时长;S4根据S3所述返回数据包个数以及S1所述数据包个数,计算实际数据包丢失率;S5比较S4所述实际数据包丢失率与S1所述数据包丢失率基准值;当S4所述实际数据包丢失率大于S1所述数据包丢失率基准值时,执行步骤S8;否则,执行下一步骤;S6根据S3所述各数据包往返时长以及S1所述数据包往返时长基准值,计算实际数据包延时率;S7比较S6所述实际数据包延时率与S1所述数据包延时率基准值;当S6所述实际数据包延时率大于S1所述数据包延时率基准值时,执行步骤:S8显示当前网络状况差。
本实施例中,当用户在本地连接到网络也就是互联网,进行网络活动比如浏览新闻、看视频、听音乐等,其实质是本地与网络上的服务器进行网络通信即数据在两端进行上行或下行的数据传输过程,通过发送数据包并接收返回信息来模拟实际数据传输过程,随着网络状况的差异,返回数据信息会有所不同,但本质上,返回数据信息能够在一定程度上反映当前网络状况,利用返回数据信息和设置的基准值,计算数据包丢失率和数据包延时率,制定相应的规则,当两者数据在不同的区间,显示不同的网络状况。
本实施例的核心是利用常用的网络命令ping,具体的是利用“ping-个数数据接收端网络地址”命令来发送数据包,返回数据信息是自动接收的,数据信息的处理包括统计、计算、比较,需要一定的计算能力,但对于作为本地端的网络终端来说应该是具备这样的处理能力的,这里仅对相关原理进行具体描述,比如,发送50个数据包来检测网络状况,可以使用命令“ping-100111.13.101.208”,111.13.101.208是网络上的数据接收方网络地址,所述命令即表示从本地发送100个数据包到数据接收方,而返回信息的接收是自动且依次的,如果数据包被接收并返回,就返回包括数据包往返时间的相关信息,否则显示请求超时等信息,根据返回的数据包个数和总的数据包个数,得到数据包丢失率,数据包丢失率基准值是一个人为设定的介于0到100%的百分数,可以是10%、15%、20%等,数据包丢失率基准值的设定依赖经验和用户体验,但最终它应该在一定程度上反映当前网络状况是否能给用户带来良好的体验,比如用户此时在浏览新浪网,网页加载时间过长,那么此时用户就会觉得网络状况差,此时采用本发明的方法通过ping命令发送多个数据包到www.sina.com.cn对应的网络地址,其数据包丢失率基准值应小于实际数据包丢失率,否则,实际检测结果并不能真实反映用户体验,误差太大,缺乏实际价值,数据包延时率基准值的设定与此同理,应当是一个介于0到100%的能够真实反映当前网络状况的基准值。
作为实施例一的改进的又一个实施例,如图1所示,本实施例,一种网络状况检测方法,除了实施例一的步骤,所述步骤S1还包括设置延时率基准值的优良比率,当S6所述实际数据包延时率不大于S1所述数据包延时率基准值时,在步骤S7后,还包括步骤:S9比较实际数据包延时率与数据包延时率基准值的优良比率,当实际数据包延时率大于数据包延时率基准值的优良比率时,执行步骤:S91显示当前网络状况良;否则,执行步骤:S92显示当前网络状况优。
本实施例中,实际数据包延时率是这样被计算的:先统计返回数据信息,由于返回的数据包的往返时间不同,根据数据包往返时长基准值,将实际数据包往返时长大于往返时长基准值的数据包标记为延时,将实际数据包往返时长不大于往返时长基准值的数据包标记为不延时,被标记为延时的数据包个数除以总的返回的数据包数,得到实际数据包延时率。当实际数据包延时率不大于数据包延时率基准值,可以判定当前网络状况能够进行正常的网络活动,此时,通过比较数据延时率与数据包延时率基准值的优良比率进一步判断当前网络状况优或良,这样,用户对当前网络状况有一个简单直观的了解,、优良比率是一个区分点,可以是三分之一、四分之一、五分之一等任意比率,也可以是多个不同比率并存作为多个不同的点以实现更准确的区间划分,但总体来说,本实施例为了实现快速判断,部分牺牲了精确度而得到一个简单直观的结果。
作为实施例一的改进的又一个实施例,如图2所示,本实施例,一种网络状况检测方法,除了实施例一的步骤,在步骤S3前,还包括步骤:S21比较S2所述返回数据信息条数与S1所述数据包个数是否相同,若是,执行下一步骤;否则,返回步骤S2。
本实施例中,发送的数据包个数对应相应的条数的返回数据信息,对返回数据信息进行统计计算以得到关键的两个数值,实际数据包丢失率和数据包延时率,根据统计学原理,样本越多,统计结果越准确,故发送的数据包个数通常为多个,比如30个或50个,因而统计返回数据信息应在接收完全部的返回数据信息后,避免得到错误的统计结果。
作为实施例一的改进的又一个实施例,如图2所示,本实施例,一种网络状况检测方法,除了实施例一的步骤,在步骤S1前,还包括步骤:S0检查本地网络协议是否正常,若是,执行下一步骤;否则,执行步骤S8。以及,在步骤S2前,还包括步骤:S11获取本地网络地址,若获取成功,执行下一步骤;否则,执行步骤S8。以及,在步骤S11后,还包括步骤:S12获取数据包接收端网络地址,若获取成功,执行下一步骤;否则,执行步骤S8。
本实施例中,考虑了互联网的数据传输特点,当前互联网通信协议标准基于TCP/IP协议,每个连接到互联网的设备必须遵循该协议,为了检测本地TCP/IP网络协议是否正常,可以使用命令ping–n127.0.0.1,即向本地发送n个数据包,其中127.0.0.1为本地回环地址,用来测试本地网络协议是否正常,若能ping通,说明本地网络协议正常;否则,说明本地网络协议异常,可以直接显示当前网络状况差。由于网络数据的发送和接收是端到端的,在遵循TCP/IP协议的互联网上,端与端应具有确定的网络地址,即IP地址,目前普遍使用IPv4网络地址,形如X.X.X.X(X在0~255之间),本地若使用路由器,常常被分配像192.168.0.X(X在0~255之间)这样的IP地址,可以使用相应的命令查看,若本地使用windows系统,用自带的dos命令ipconfig查看本地网络地址,若本地为linux系统,使用ifconfig查看本地网络地址。
数据接收端并不是固定的,由于本实施例的目的是检测网络状况,故数据接收端应是一个在互联网存在的稳定的网络地址,比如111.13.101.208百度公司的服务器IP(由阿里DNS域名解析服务器提供)或61.172.201.194新浪网的服务器IP地址(由阿里DNS域名解析服务器提供),当用户使用百度搜索或浏览新浪网首页,就是一个本地与百度或新浪的服务器端数据传输的过程,可以使用nslookup向网络上的域名服务器查询已知域名的ip地址,比如使用命令“nslookupwww.sina.com.cn”,域名服务器会自动应答本地查询并返回包括61.172.201.194的多个可用ip地址,若未返回ip地址,可能是网络连接故障或域名解析失败,可以显示当前网络状况差。
实施例二
一种网络状况检测装置,如图3所示,包括:设置模块10,设定数据包丢失率基准值、数据包往返时长基准值、数据包延时率基准值、默认数据包个数;收发模块20,与所述设置模块10电连接,发送数据包并接收返回数据信息;统计模块30,与所述收发模块20电连接,统计返回的数据信息;计算模块40,与所述设置模块10、所述统计模块30电连接,根据统计信息和设置的数值计算实际数据包丢失率和实际数据包延时率;比较模块50,与所述设置模块10、所述计算模块40电连接,比较实际数据包丢失率、实际数据包延时率与对应的基准值的大小。
本实施例中,一种网络状况检测装置是实现实施例一的网络检测方法的对应装置,所述装置不一定是具有具体结构或电路的物理装置,而很可能是虚拟装置,比如本地是采用windows系统的计算机,则本地已具备实现网络检测方法的能力,设置模块10,可以是利用键盘输入相关数值到计算机的存储器,收发模块20是计算机与网络上的服务器通信的组件和途径,包括无线网卡、有线网卡加网线、调制解调器等硬件结构以及通信协议、网络驱动、网络服务商接入许可等软件,在计算机的命令行窗口使用键盘输入ping命令发送数据包并显示返回数据信息在显示器上,统计模块30和计算模块40可以是人为的统计或者利用bat脚本命令统计,其最终的目的是得到实际数据包丢失率和实际数据包延时率,数据只是简单的加减计算,对于现代计算机来说易于实现,计算结果可以存储在计算机的存储器上,比较模块50只是简单的数值大小的比较,对于计算机来说也是容易实现的。
作为实施例二的改进的又一个实施例,如图4所示,本实施例除了上述模块,还包括计数模块60、检查模块70、地址获取模块80。计数模块60与收发模块20、统计模块30电连接,判断收发模块是否完成接收返回数据信息;检查模块70与收发模块20电连接,检查本地网络协议是否正常;地址获取模块80与收发模块20电连接,获取本地及数据包接收端网络地址。
本实施例中,计数模块60避免统计模块30在返回信息接收完毕前开始工作,在设置模块10设置个数后,计数模块60读取个数信息并记录收发模块接收的返回信息条数,直到两者相同才通知统计模块30开始工作;检查模块70检查本地网络协议即TCP/IP协议是否正常,通过ping本地回环地址127.0.0.1实现,若无法ping通,说明本地网络协议异常,网络状况差;地址获取模块80获取获取本地和网络上数据接收方的IP地址,使用ipconfig、ifconfig、nslookup等网络命令实现,若无法获得IP地址,说明网络状况差。
需要说明的是,实施例一、实施例二以及基于实施例一、二的改进的实施例,并不是只能检测网络状况,也能够横向比较网络相关的硬件设备的性能差异,比如在一个确定的网络检测环境下,检测到网络状况优,跟换路由器或调制解调器后,采用相同的设置和同样的检测方法得到网络状况良的结果,则说明更换后的硬件设备性能不如更换前的硬件设备性能。或者不更换硬件,本地采用有线和无线的方法分别连接路由器,检测得到不同的丢包率或延时率,也可以说明有线连接和无线连接的网络性能差异。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。