一种用于移动互联网协议的测试平台及测试方法与流程

文档序号:11254569
一种用于移动互联网协议的测试平台及测试方法与流程

本发明涉及移动互联网技术领域,更具体地,涉及一种用于移动互联网协议的测试平台及测试方法。



背景技术:

随着半导体技术、计算机技术以及通信技术的快速发展,相应的网络环境也在发生着巨变,由传统互联网到移动互联网,再由移动互联网到万物互联的物联网。网络终端节点由PC到智能手机,再到各种移动智能设备,由此引发的大量的各式各样具有创新性的网络应用极大的影响着人们的生活方式。

新的技术、新的需求仍然在不断的涌现,而为此提供基础服务的网络协议也面临着各种挑战,已有网络协议需要改进或新的网络协议有待引入。(1)智能手机有多种联网方式,比如WiFi、3G、4G、5G或蓝牙等,而目前的网络协议不能很好的利用智能手机或移动智能设备中的多种网络接口。(2)在一些特殊的环境,比如,大地震、战争或边远地区等环境中,在没有移动信号的情况下,智能手机、移动智能设备需要组成移动自组织网络MANET来互通信息,这就需要智能手机、移动智能设备拥有支持MANET的网络协议。

对于改进的已有的网络协议,或者设计的新网络协议在实际环境中应用前,都需要进行网络协议测试。目前,常用的网络模拟器/仿真器有NS2、NS3、REAL、J-Sim、Glomosim、SSFNet、CORE、IMUNES、OPNET、QualNet、NetSim、OMNeT++等,在此称该环境为虚拟网络环境。采用实际设备构成的网络环境进行各种测试,在此称该环境为真实网络环境。

目前,在对移动互联网协议进行测试的过程中,基本上是直接在真实的网络环境中测试,而真实的网络环境会受到物理条件的限制,切当运行不正常时,修改源代码会非常麻烦。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的用于移动互联网协议的测试平台及测试方法。

根据本发明的一个方面,提供一种用于移动互联网协议的测试平台,包括网络拓扑层、桥接层、虚拟节点层和真实节点层;

所述网络拓扑层,用于生成测试所需的网络拓扑结构,所述网络拓扑结构中具有多个拓扑节点;

所述桥接层,用于将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点桥接起来;

所述真实节点层,包括至少一个真实节点,用于运行操作系统源码,当运行正常后,将操作系统源码复制到虚拟节点层的系统节点中;

所述虚拟节点层,具有多个系统节点,用于在每一个系统节点中安装虚拟机,通过虚拟机在设定的移动互联网协议下运行操作系统源码,以实现移动互联网协议的测试。

本发明的有益效果为:通过构建虚拟网络测试平台,将在真实节点中运行正常的操作系统源码复制到虚拟的系统节点中,在虚拟网络节点中测试在设定的移动互联网协议下该操作系统的运行情况,当运行正常时,表明该移动互联网协议正常,可直接应用于实际的智能设备中。将真实环境与虚拟环境相结合,而无需直接在真实的网络环境中测试,便于网络协议理论人员设计、测试真实的移动互联网协议,能够高效、便捷地将新的网络协议应用于实际的移动互联网中,具有很好的推广应用前景。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步的,所述网络拓扑层具体用于:

根据设定的移动互联网协议,通过编写仿真脚本来生成测试所述移动互联网协议的网络拓扑结构,以用来承载虚拟节点层中系统节点之间的网络流量。

进一步的,所述桥接层具体用于:

使用Linux桥接技术将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点一一对应桥接,使得系统节点连接到虚拟测试网络中。

进一步的,所述虚拟机包括VirtualBox虚拟机和Docker虚拟机,所述VirtualBox虚拟机运行Android操作系统,Docker虚拟机运行Linux操作系统。

进一步的,所述虚拟节点层具体用于:

根据具体网络拓扑的需要,在虚拟节点层中分配安装VirtualBox虚拟机的数量和Docker虚拟机的数量,其中,将VirtualBox虚拟机中实现的部分功能移植到Docker虚拟机中实现。

进一步的,所述移动互联网协议包括多路径传输控制协议MPTCP和移动自组织网络协议。

根据本发明的另一个方面,还提供了一种用于移动互联网协议的测试方法,包括:

S1,在网络拓扑层构建测试所需的网络拓扑结构,所述网络拓扑结构中具有多个拓扑节点;

S2,在虚拟节点层中构造多个系统节点,且在桥接层中使用桥接技术将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点桥接起来;

S3,在虚拟节点层中每一个系统节点中安装虚拟机;

S4,在真实节点层的真实节点中运行操作系统源码,当运行正常后,将操作系统源码复制到虚拟节点层的系统节点中,通过系统节点的虚拟机在设定的移动互联网协议下运行操作系统源码,以实现移动互联网协议的测试。

进一步的,所述步骤S2中在桥接层中使用桥接技术将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点桥接起来具体包括:

使用Linux桥接技术将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点一一对应桥接,使得系统节点连接到虚拟测试网络中。

进一步的,所述虚拟机包括VirtualBox虚拟机和Docker虚拟机,所述VirtualBox虚拟机运行Android操作系统,Docker虚拟机运行Linux操作系统。

进一步的,所述步骤S3中在虚拟节点层中每一个系统节点中安装虚拟机具体包括:

根据具体网络拓扑的需要,在虚拟节点层中分配安装VirtualBox虚拟机的数量和Docker虚拟机的数量,其中,将VirtualBox虚拟机中实现的部分功能移植到Docker虚拟机中实现。

附图说明

图1为本发明一个实施例的用于移动互联网协议的测试平台框架图;

图2为本发明另一个实施例的用于移动互联网协议的测试方法流程图;

图3为本发明又一个实施例的用于移动互联网协议的整个测试方法流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1,图1提供了本发明一个实施例的用于移动互联网协议的测试平台,主要包括网络拓扑层、桥接层、虚拟节点层和真实节点层;

所述网络拓扑层,用于生成测试所需的网络拓扑结构,所述网络拓扑结构中具有多个拓扑节点。所述桥接层,用于将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点桥接起来。所述真实节点层,包括至少一个真实节点,用于运行操作系统源码,当运行正常后,将操作系统源码复制到虚拟节点层的系统节点中。所述虚拟节点层,具有多个系统节点,用于在每一个系统节点中安装虚拟机,通过虚拟机在设定的移动互联网协议下运行操作系统源码,以实现移动互联网协议的测试。

本实施例首先构建虚拟网络环境,虚拟网络环境的主要优点是其使用基本不受物理条件的限制,一般的个人电脑即可运行这样的网络环境,根据需要在虚拟网络环境中搭建各种复杂的网络拓扑结构,能够方便的进行网络协议方面的理论研究。

参见图1,其中的L1表示网络拓扑层,在网络拓扑层中生成所需要测试的网络拓扑结构,其中,生成的网络拓扑结构具有多个拓扑节点。在本实施例中,网络拓扑结构中的拓扑节点均为模拟仿真NS3节点。图1中的L3是指构建的虚拟节点层,虚拟节点层中具有多个系统节点。网络拓扑层中的拓扑节点与虚拟节点层中的系统节点是通过桥接层进行桥接的,使得虚拟节点层中的系统节点连接到虚拟测试网络中。

其中的真实节点层具有至少一个真实节点,真实节点通常是指智能设备,比如,经常所说的智能手机。在虚拟网络环境中进行移动互联网协议的测试之前,需要保证运行的操作系统源码是正常的。因此,在真实节点中,运行操作系统源码,当运行正常后,将操作系统源码复制到虚拟节点层的系统节点中。在虚拟节点层的每一个系统节点中安装虚拟机,在虚拟机上可以对运行正常的操作系统源码进行运行,通过系统节点的虚拟机在设定的移动互联网协议下运行操作系统源码,实现移动互联网协议在虚拟网络环境下的测试。当移动互联网协议在虚拟网络环境下使用正常后,该移动互联网协议在实际的智能设备上也会运行正常,可以将移动互联网协议代码复制到真实节点中。

本实施例通过构建虚拟网络测试平台,将在真实节点中运行正常的操作系统源码复制到虚拟的系统节点中,在虚拟网络节点中测试在设定的移动互联网协议下该操作系统的运行情况,当运行正常时,表明该移动互联网协议正常,可直接应用于实际的智能设备中。将真实环境与虚拟环境相结合,而无需直接在真实的网络环境中测试,便于网络协议理论人员设计、测试真实的移动互联网协议,能够高效、便捷地将新的网络协议应用于实际的移动互联网中,具有很好的推广应用前景。

在本发明的一个实施例中,所述网络拓扑层具体用于:根据设定的移动互联网协议,通过编写仿真脚本来生成测试所述移动互联网协议的网络拓扑结构,用来承载虚拟节点层中系统节点之间的网络流量。

具体的,本实施例可以根据需要测试的移动互联网协议,在网络拓扑层中构建相对应的网络拓扑结构。在具体构建网络拓扑结构时,可以使用C++语言来编写生成移动网络拓扑结构的NS3脚本,使得网络拓扑层能够承载虚拟节点层中各系统节点之间的网络流量。

在本发明的另一个实施例中,所述桥接层具体用于:使用Linux桥接技术将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点一一对应桥接。

在上述实施例中分别构建了网络拓扑层和虚拟节点层,网络拓扑层中有多个拓扑节点,虚拟节点层中有多个系统节点,其中,拓扑节点的个数与系统节点的个数相等。拓扑节点与系统节点是通过桥接层进行桥接的。具体的,桥接层使用Linux桥接技术将网络拓扑层中拓扑节点与虚拟节点层中的系统节点一一对应桥接起来,实现将虚拟节点层中的系统节点连接到虚拟测试网络中。

在本发明的一个实施例中,所述虚拟机包括VirtualBox虚拟机和Docker虚拟机,所述VirtualBox虚拟机运行Android操作系统,Docker虚拟机运行Linux操作系统。

具体的,虚拟节点层中的每一个系统节点是基于X86平台的,在每一个系统节点中安装虚拟机。在本实施例中,虚拟机的主要类型有两种:VirtualBox虚拟机和Docker虚拟机。其中,在VirtualBox虚拟机上运行Andriod操作系统,在Docker虚拟机上运行Linux系统。在实际过程中,目前,真实的智能设备上通常运行的是Andriod操作系统,且Andriod操作系统是开源的。在进行移动互联网协议的测试过程中,是将智能设备上的Andriod操作系统的源代码移植到VirtualBox虚拟机中。因此,在实际的测试过程中,是在VirtualBox虚拟机的Linux操作系统中运行测试的。

但是由于VirtualBox虚拟机所占系统资源较多,运行在一台服务器上的测试平台能够同时开启的VirtualBox虚拟机的数量是有限的,因此,根据具体网络拓扑的需要,在系统节点层中分配安装一定数量的VirtualBox虚拟机和一定数量的Docker虚拟机,,可将VirtualBox虚拟机中实现的部分功能移植到Docker虚拟机中实现。采用Docker虚拟机中运行的Linux系统来实现VirtualBox虚拟机的部分测试功能,使用Docker虚拟机来协助VirtualBox虚拟机共同实现复杂的网络测试任务,减轻服务器的测试压力。移动互联网协议的设计、测试以及实现工作均是在虚拟节点层进行的。

其中,上述所说的所述移动互联网协议包括多路径传输控制协议MPTCP和移动自组织网络协议。

参见图2,图2提供了本发明另一个实施例的用于移动互联网协议的测试方法,包括:

S1,在网络拓扑层构建测试所需的网络拓扑结构,所述网络拓扑结构中具有多个拓扑节点;

S2,在虚拟节点层中构造多个系统节点,且在桥接层中使用桥接技术将网络拓扑层中的拓扑节点与虚拟节点层中的系统节点桥接起来;

S3,在虚拟节点层中每一个系统节点中安装虚拟机;

S4,在真实节点层的真实节点中运行操作系统源码,当运行正常后,将操作系统源码复制到虚拟节点层的系统节点中,通过系统节点的虚拟机在设定的移动互联网协议下运行操作系统源码,以实现移动互联网协议的测试。

其中,所述虚拟机包括VirtualBox虚拟机和Docker虚拟机,所述VirtualBox虚拟机运行Android操作系统,Docker虚拟机运行Linux操作系统。

所述步骤S3中在虚拟节点层中每一个系统节点中安装虚拟机具体包括:根据具体网络拓扑的需要,在系统节点层中分配安装一定数量的VirtualBox虚拟机和一定数量的Docker虚拟机,其中,可将VirtualBox虚拟机中实现的部分功能移植到Docker虚拟机中实现。

上述步骤S1、S2和S3中构建的用于移动互联网协议的测试平台可参见前述的实施例,前述的实施例中详细讲述了构建的测试平台。本实施例主要讲述一下步骤S4中采用构建的测试平台进行移动互联网协议的测试过程。

下面对采用构建的测试平台进行移动互联网协议的测试过程进行说明,主要的过程可参见图3,在真实环境中,将Android-arm源代码进行编译、刷机入智能设备,比如,智能手机,在智能手机上运行该Android-arm源代码,如果运行失败,则解决运行问题,重新编译,直到Android-arm源代码在智能手机上运行成功。当Android-arm源代码在智能手机上运行成功后,将运行成功的Android-arm源代码复制到测试平台的系统节点上,并在系统节点中编译和修改,形成Android-x86.iso文件。在系统节点中安装VirtualBox虚拟机,在网络协议环境下运行Andriod系统,若运行正常,则表示网络协议正常,此时将网络协议代码复制到智能设备所用的Android-arm源代码中。在测试平台搭建的虚拟网络环境中,移动互联网协议运行成功后,那么该移动互联网在智能设备上也会运行成功。本发明将真实环境和虚拟环境相结合,共同完成移动互联网协议的测试,使得网络工程技术人员能够高效、便捷地将新的网络协议应用到实际的移动互联网中。

下面以多路径传输控制协议MPTCP为例具体说明测试流程,主要包括以下步骤:

步骤1、智能手机操作系统的选择,在此选择Huawei honor 5x,操作系统选择lineage-14.1-kiwi;

步骤2、向X86平台移植ARM平台的Android;

步骤3、互联网协议在Linux内核中的实现;

步骤4、网络协议的测试;

步骤5、新的网络协议应用于智能手机。

当要实现一种新的移动互联网协议时,首先将智能手机上运行的Android-arm源代码移植到测试平台的Android-x86中。然后在Android-x86中修改或添加代码,对修改或者添加后的代码在测试平台的虚拟网络环境中进行功能测试。一切正常后,将所有修改过的源文件复制到Android-arm源码树中,编译Android-arm,最后将ROM刷入智能手机。

其中,步骤1中还包括:对所选智能手机的操作系统进行编译、刷机、测试,验证这套Android源代码的可用性。具体步骤1包括以下步骤:

步骤101、下载所选智能手机操作系统(lineage-14.1-kiwi)的整套源代码;

步骤102、在服务器(IBM Server)上编译源代码,生成ROM;

步骤103、采用线刷或卡刷的方法将上步的ROM刷入智能手机(Huawei honor 5x);

步骤104、测试智能手机是否能够正常使用,如果不能正常使用,解决Android源代码中的逻辑问题,然后重复步骤102~步骤104,直到智能手机能够正常使用为止;

步骤105、测试智能手机是否能够正常使用,如果一切正常,流程结束。

其中,向X86平台移植基于ARM平台的Android的步骤具体包括:

步骤201、将步骤1中获得的正确的整套Android源代码(根目录为Android-arm)复制一份,这份源代码的顶层目录命名为Android-x86,接下来的步骤在目录Android-x86中进行;

步骤202、在Android系统架构的驱动层,添加系统启动支持,即:UEFI/Legacy BIOS支持;

步骤203、在Android系统架构的驱动层,修改Linux内核的部分驱动,如MESA OpenGL图形库、键盘/鼠标相关的库;

步骤204、修改build系统,目的是能够编译生成ISO安装镜像文件;

步骤205、在服务器上编译源代码,编译过程中如果有语法问题,重复步骤202~步骤205,如果没有语法问题,会生成ISO文件,执行步骤206;

步骤206、在VirtualBox中安装ISO文件,安装过程中如果有问题,重复步骤202~步骤206,如果没有问题,会安装成功,执行步骤207;

步骤207、启动上步中安装的Android-x86,启动过程中如果有问题,重复步骤202~步骤207,如果没有问题,会成功进入Android GUI,执行步骤208;

步骤208、至此,成功将ARM平台的Android移植到了X86平台,并且可以在VirtualBox中正常使用。

互联网协议(MPTCP)在虚拟节点层中的系统节点的Linux内核中实现,具体的,所述步骤3包括以下步骤:

步骤301、将新网络协议代码(MPTCP)复制到Linux内核;

步骤302、在服务器上编译源代码,编译过程中如果有语法问题,重复步骤301,如果没有语法问题,会生成ISO文件,执行步骤303;

步骤303、在VirtualBox中安装ISO文件;

步骤304、在仿真平台中测试新的协议功能是否正常,如果不正常,修改可能引起异常的内核代码,然后重复步骤302~步骤304;

步骤305、在高保真实验平台中测试(见下面步骤4)新的网络协议功能是否正常,如果正常,则新网络协议代码在内核中成功实现。

网络协议在测试平台上的测试过程,即上述的步骤4包括以下步骤:

步骤401、根据具体的网络拓扑需求,在虚拟节点层中安装x个基于VirtualBox的Android-x86系统,通过脚本自动初始化、启动Android-x86系统;步骤402、根据具体的网络拓扑需求,在虚拟节点层中安装y个基于Docker的Linux系统,通过脚本自动初始化、启动Linux操作系统;

步骤403、使用C++编写网络拓扑对应的NS3脚本核心代码;

步骤404、启动整个用于移动互联网协议的测试平台,对新添加的网络协议进行功能测试。

再进一步的,将新的网络协议直接应用于智能手机,具体的,所述步骤5包括以下步骤:

步骤501、将Android-x86目录中修改过的与新网络协议相关的所有源文件复制到Android-arm目录中对应的位置;

步骤502、在服务器上编译源代码(Android-arm目录),生成ROM;

步骤503、采用线刷或卡刷的方法将步骤502生成的ROM刷入智能手机;

步骤504、如果新网络协议功能不能正常使用,解决Android源代码中的逻辑问题,然后重复步骤502~步骤504,直到智能手机能够正常使用为止。

步骤505、测试新网络协议功能是否正常,如果正常,流程结束。

本发明提供的一种用于移动互联网协议的测试平台及测试方法,通过构建对移动互联网协议测试的平台,能够将互联网协议的实验代码几乎可以不加修改的应用于实际的移动互联网中,较大程度上提高了新的网络协议或经过改进的已有网络协议应用于实际移动互联网中的速度,综合,本发明具有以下几个优点:

(1)通过在虚拟网络节点中运行实际智能手机操作系统的方法,实现网络协议理论研究成果和具体实现高度的一致,克服了以往网络实验平台要么偏重理论实验,要么偏重实际测试,无法兼顾理论与实践两方面的缺点,较大程度上提高了新的网络协议或经过改进的已有网络协议应用于实际网络环境中的速度,缩短了新的网络协议应用于实际网络环境中的周期。

(2)本发明构建的测试平台通过使用Linux桥接技术将网络拓扑层中的拓扑节点(NS3节点)与虚拟节点层中的系统节点(VirtualBox、Docker)对接起来,克服了以往模拟/仿真网络实验平台中网络节点功能简单、单一的缺点。

(3)测试平台采取Docker虚拟机中运行的Linux系统来实现VirtualBox虚拟机的部分测试功能,使用Docker协助VirtualBox虚拟机来共同实现复杂的移动网络测试任务,移动互联网协议的设计及实现工作在VirtualBox、Docker中进行,由于VirtualBox、Docker中运行的都是实际的操作系统,因此,互联网协议的实验代码几乎可以不加修改的应用于实际的网络环境中,实现了实验代码的高保真性。

(4)测试平台通过提供由C++编写的用来生成移动网络拓扑结构的NS3脚本以及VirtualBox和Docker共同实现的系统节点,克服了以往模拟/仿真网络实验平台中移动网络拓扑仅能以功能模拟为目的的缺点,可以实现复杂移动网络拓扑的真实性。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1