一种测量网络性能的方法和物理机的制作方法_2

文档序号:9380079阅读:来源:国知局
8]请参阅图2,本发明实施例中测量网络性能的方法一个实施例包括:
[0049]101、当确定运行在虚拟机内的应用程序与服务器进行数据交互时,截获该数据交互过程中传送的数据包;该虚拟机运行在物理机预安装的虚拟机软件中,该服务器位于该物理机外部;
[0050]本实施例中,当物理机确定运行在虚拟机内的应用程序与服务器进行数据交互时,截获该数据交互过程中传送的数据包。
[0051]需要说明的是,上述服务器的个数可以为一个,也可以为多个,并且各服务器的类型可以相同,也可以不同。上述虚拟机运行在物理机预安装的虚拟机软件中,上述服务器位于该物理机外部。
[0052]102、封装该数据包;
[0053]在该数据包被截获后,封装该数据包。
[0054]可以将该数据包封装为dump文件,这样得到的dump文件就是虚拟机内的该应用程序与外界服务器交互的数据包。
[0055]103、对已封装的该数据包进行深度包检测DPI,得到检测结果;
[0056]在该数据包被封装后,对该数据包进行深度包检测DPI,得到检测结果。
[0057]其中检测结果包括网络时延,还包括其他信息。
[0058]104、根据该检测结果确定该数据交互过程中的网络性能。
[0059]在得到检测结果后,通过该检测结果可以确定该数据交互过程中应用程序和服务器之间的网络性能。
[0060]本实施例中,在对网络性能进行测量时,通过截获数据交互过程中传送的数据包的方法来测量网络性能,一方面由于测量过程中没有在网络中引起任何响应,使得测量得到的结果与真实的网络环境相同,提高了测量结果的准确性;另一方面通过对数据包的分析,实现了对网络整体性能的测量。
[0061]为了便于理解,下面对本发明实施例中的测量网络性能的方法进行详细描述,请参阅图3,本发明实施例中测量网络性能的方法的另一实施例包括:
[0062]201、确定运行在虚拟机内的应用程序通过无线网卡与服务器进行数据交互;
[0063]本实施例中,确定运行在虚拟机内的应用程序通过无线网卡与服务器进行数据交互,其中,该无线网卡可以位于虚拟机中,该虚拟机运行在物理机预安装的虚拟机软件中,该服务器位于该物理机外部。
[0064]其中,该物理机运行在Iinux操作系统下,该虚拟机软件可以为QEMU。上述服务器的个数可以为一个,也可以为多个,并且各服务器的类型可以相同,也可以不同。
[0065]进一步的,上述应用程序与服务器之间的数据交互,还可以采用其他方法,不限定于无线网卡。
[0066]202、通过预配置的抓包命令截获该数据交互过程中传送的数据包;
[0067]当确定运行在虚拟机内的应用程序通过无线网卡与服务器进行数据交互时,通过预配置的抓包命令截获该数据交互过程中传送的数据包。
[0068]其中该预配置的抓包命令包括tcpdump命令。
[0069]203、封装该数据包,并存储该数据包;
[0070]在数据包被截获后,将截获的数据包封装为dump文件,这样得到的dump文件就是虚拟机内的应用程序与服务器交互的数据包,在封装完数据包后,把该数据包存储起来。[0071 ] 可以理解的是,还可以将数据包封装为其他类型,具体此处不作限定。
[0072]204、通过预配置的深度包检测技术读取已封装的该数据包中的内容,并通过该数据包中的内容对该数据包对应的开放系统互联OSI七层协议中的信息进行重组,得到带宽、网络时延以及该服务器的互联网协议IP地址的检测结果;
[0073]得到dump文件后,通过预配置的深度包检测技术来进行分析,通过读取该数据包的内容来对OSI七层协议中的信息进行重组,得到应用程序的内容。在应用层,得到DNS服务器的IP地址等信息,同时得到HTTP时延信息,在传输层,得到网络时延,带宽等信息。
[0074]205、根据该检测结果确定该数据交互过程中的网络性能。
[0075]在得到带宽,网络时延以及IP地址后,确定该数据交互过程中的网络性能。
[0076]本实施例中,在对网络性能进行测量时,通过截获数据交互过程中传送的数据包的方法来测量网络性能,一方面由于测量过程中没有在网络中引起任何响应,使得测量得到的结果与真实的网络环境相同,提高了测量结果的准确性;另一方面通过对数据包的分析,实现了对网络整体性能的测量。
[0077]其次,通过无线网卡完成数据交互,通过抓包命令截获数据包,提高了方案的选择性。
[0078]再次,介绍了深度包检测技术检测的具体内容,以及对封装好的数据包进行存储,使得本方案更具体。
[0079]为了便于理解,下面以一实际的应用场景对本发明实施例中的测量网络性能的方法进行描述:
[0080]物理机运行在Ubuntul2.04操作系统下,在物理机中安装QEMU虚拟机软件,Android虚拟机运行在该虚拟机软件中,同时选取的Android版本为4.2.2,应用程序运行在Android虚拟机内。当Android虚拟机内的应用程序通过无线网卡与外界服务器进行数据交互时,物理机并行使用tcpdump命令来对网络中传送的数据包的的包头进行截获,同时将截获的数据包封装为dump文件,通过深度包检测技术对dump文件进行分析,通过读取数据包的内容来对OSI七层协议中的信息进行重组,得到检测结果,通过检测结果确定该数据交互过程中的网络性能。
[0081]下面介绍本发明实施例中的物理机,请参阅图4,本发明实施例中物理机的一个实施例包括:
[0082]第一确定单元301,用于确定运行在虚拟机内的应用程序与服务器进行数据交互;该虚拟机运行在物理机预安装的虚拟机软件中,该服务器位于该物理机外部;
[0083]获取单元302,用于截获该数据交互过程中传送的数据包;
[0084]封装单元303,用于封装该数据包;
[0085]检测单元304,用于对已封装的该数据包进行深度包检测DPI,得到检测结果;
[0086]第二确定单元305,用于根据该检测结果确定该数据交互过程中的网络性能。
[0087]可选的,本实施例还包括:
[0088]存储单元306,用于存储该数据包。
[0089]其中第一确定单元具体用于确定运行在虚拟机内的应用程序通过无线网卡与服务器进行数据交互。
[0090]获取单元具体用于通过预配置的抓包命令截获该数据交互过程中传送的数据包。
[0091]检测单元具体用于通过预配置的深度包检测技术读取已封装的该数据包中的内容,并通过该数据包中的内容对该数据包对应的开放系统互联OSI七层协议中的信息进行重组,得到带宽、网络时延以及该服务器的互联网协议IP地址的检测结果。
[0092]本实施例中,在对网络性能进行测量时,通过截获数据交互过程中传送的数据包的方法来测量网络性能,一方面由于测量过程中没有在网络中引起任何响应,使得测量得到的结果与真实的网络环境相同,提高了测量结果的准确性;另一方面通过对数据包的分析,实现了对网络整体性能的测量。
[0093]其次,通过无线网卡完成数据交互,通过抓包命令截获数据包,提高了方案的选择性。
[0094]再次,介绍了深度包检测技术检测的具体内容,以及对封装好的数据包进行存储,使得本方案更具体。
[0095]为了便于理解,下面以一实际的应用场景对本实施例中物理机各单元间的交互进行描述:
[0096]第一确定单元301确定运行在虚拟机内的应用程序通过无线网卡与服务器进行数据交互,其中,该无线网卡可以位于虚拟机中,该虚拟机运行在物理机预安装的虚拟机软件中,该服务器位于该物理机外部。其中,该物理机运行在Iinux操作系统下,该虚拟机软件可以为QEMU。上述服务器的个数可以为一个,也可以为多个,并且各服务器的类型可以相同,也可以不同。进一步的,上述应用程序与服务器之间的数据交互,还可以采用其他方法,不限定于无线网卡。当确定运行在虚拟机内的应用程序通过无线网卡与服务器进行数据交互时,获取单元302通过预配置的抓包命令截获该数据交互过程中传送的数据包。其中该预配置的抓包命令包括tcpdump命令。在数据包被截获后,封装单元303将截获的数据包封装为dump文件,这样得到的dump文件就是虚拟机内的应用程序与服务器交互的数据包,在封装完数据包后,把该数据包存储起来。得到dump文件后,检测单元304通过预配置的深度包检测技术来进行分析,通过读取该数据包的内容来对OSI七层协议中的信息进行重组,得到应用程序的内容。在应用层,得到DNS服务器的IP地址等信息,同时得到HTTP时延信息,在传输层,得到网络时延,带宽等信息。在
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1