CN110505118B - 个人区域网实验床及其实现、测试方法 - Google Patents

个人区域网实验床及其实现、测试方法 Download PDF

Info

Publication number
CN110505118B
CN110505118B CN201910767772.0A CN201910767772A CN110505118B CN 110505118 B CN110505118 B CN 110505118B CN 201910767772 A CN201910767772 A CN 201910767772A CN 110505118 B CN110505118 B CN 110505118B
Authority
CN
China
Prior art keywords
experimental
router
equipment
user
luci
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
Application number
CN201910767772.0A
Other languages
English (en)
Other versions
CN110505118A (zh
Inventor
张俊星
徐巧枝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inner Mongolia University
Original Assignee
Inner Mongolia University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inner Mongolia University filed Critical Inner Mongolia University
Priority to CN201910767772.0A priority Critical patent/CN110505118B/zh
Publication of CN110505118A publication Critical patent/CN110505118A/zh
Application granted granted Critical
Publication of CN110505118B publication Critical patent/CN110505118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种个人区域网实验床及其实现、测试方法,实现方法具体为:修改路由器OpenWRT系统自带的LUCI配置页面,用户根据实验需求在该页面选择实验设备、设置实验设备之间的网络通讯参数,设置控制规则;利用路由器的后端发现实验设备,将实验设备及对应的网络通信参数解析为TC命令并执行,对指定实验设备的数据流进行细粒度整形,即得到个人区域网实验床。本发明利用低成本家用路由器和用户周边设备,提供了可控制、可重复的真实实验环境,用户能够自定义网络通讯参数,不需预约,可以随时进行实验测试,成本低,设备种类多、易更新,解决了现有技术中存在的问题。

Description

个人区域网实验床及其实现、测试方法
技术领域
本发明属于计算机网络测试技术领域,涉及一种个人区域网实验床及其实现、测试方法。
背景技术
各种基于网络的研究与应用在被实施之前,必须进行功能和性能等方面的测试,这些测试经常是利用网络测试床完成的。网络测试床将模拟、仿真和叠加网络三种实验环境统一到一个软硬结合的实验平台,可以产生可重复、可控制的数据流及场景,所搭建的实验平台易于使用、便于控制、不失真实性,可以避免因搭建实验环境所造成的成本浪费。
但是这些网络测床存在以下缺点:(1)用户使用不便利,需以组织的形式注册并得到测床管理者同意才可使用;(2)实验设备的种类相对固定,更新设备比较难,对新兴设备的支持相对滞后,使得用户难以及时完成个性化的、对新技术和新应用的测试;(3)对移动环境的测试支持较少;(4)背景流量不真实,使用的是数据包注入的方式,可能会对实验结果的真实性产生影响等。
发明内容
为了解决上述问题,本发明提供一种个人区域网实验床的实现方法,利用低成本家用路由器和用户周边设备,提供了可控制、可重复的真实实验环境,用户能够自定义网络通讯参数,不需预约,可以随时进行实验测试,成本低,设备种类多、易更新,解决了现有技术中存在的问题。
本发明的另一目的是,提供一种个人区域网实验床。
本发明的另一目的是,提供一种测试方法。
本发明所采用的技术方案是,一种个人区域网实验床的实现方法,具体按照以下步骤进行:
步骤S1,修改路由器OpenWRT系统自带的LuCI配置页面,用户根据实验需求在该页面选择实验设备、设置实验设备之间的网络通讯参数,设置控制规则;
步骤S2,利用路由器的后端发现实验设备,将实验设备及对应的网络通信参数解析为TC命令并执行,对指定实验设备的数据流进行细粒度整形,即得到个人区域网实验床。
进一步的,所述步骤S1,还包括将WEB服务器搭建在OpenWRT路由器上并以模板的方式嵌入到路由器OpenWRT系统自带的LuCI配置页面。
进一步的,所述步骤S2中,对指定实验设备的数据流进行细粒度整形,具体为:在路由器上以开源的OpenWRT系统、Linux网络模拟功能模块Netem和流量控制器TC模块作为基础,采用虚拟局域网技术,利用HTB队列实现对指定实验设备的数据流进行细粒度整形;当用户通过前端指定了实验设备之间的通信参数后,生成一系列规则,后端将这些规则解析为HTB队列的一个子类,并在该子类上增加限制参数,最后在该子类上增加过滤器,以实现对指定实验设备的数据流进行细粒度控制。
进一步的,所述步骤S2中,限制参数包括带宽、延迟时间和丢包率。
一种个人区域网实验床,采用上述实现方法,包括
前端,基于OpenWRT系统自带的LuCI配置页面,用于用户根据实验需求选择实验设备、设置实验设备之间的网络通讯参数,设置控制规则;
后端,基于路由器的后端,用于发现实验设备,将实验设备及对应的网络通信参数解析为TC命令并执行,对指定实验设备的数据流进行细粒度整形。
进一步的,所述后端包括:
设备发现模块:用于发现当前连接到该路由器的所有设备的名称、IP地址及MAC地址信息,同时将该信息显示到前端页面;
路由器配置模块:用于根据用户选择的实验设备在网络配置文件中增加虚拟局域网,然后将所选择的设备与新增加的虚拟局域网绑定;
规则解析模块:用于提取不同设备之间的网络连接参数,输入至规则应用模块;
规则应用模块:用于将规则解析模块传入的数值转化为TC命令,并在路由器上执行这些TC命令,完成网络环境的仿真。
一种测试方法,采用上述个人区域网实验床,具体按照以下步骤进行:
步骤S1,待测实验设备通过wifi或以太网连接到路由器OpenWRT系统;
步骤S2,用户根据实验需求在路由器OpenWRT系统的LuCI配置页面设置待测实验设备的网络通信参数,通过待测实验设备的访问接口操作该设备,测试该设备所支持的应用。
本发明的有益效果是,利用低成本家用OpenWRT路由器和用户周边设备,为用户搭建轻量级的测试平台,提供了可控制、可重复的真实实验环境,用户能够基于该平台,方便地利用周边设备开展实验和测试,确定自己要测试的应用或算法;用户能够自定义网络通讯参数,不需预约,可以随时进行实验测试,不受时间和空间限制;设备种类多、易更新、成本低,能够支持新兴设备的网络测试,便于用户及时完成个性化的、对新技术和新应用的测试,能够支持移动环境的测试。
本发明实验床中所有的设备都是真实的物理设备,所处的网络环境由路由器、连接到路由器的设备、各设备上运行的网络应用程序等构成,均是真实的,使得测试环境真实,测试结果更准确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明个人区域网实验床的架构图。
图2是本发明个人区域网实验床的WEB前端架构图。
图3是本发明个人区域网实验床的流量整形框图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明基于个人周边设备,为用户搭建一个轻量级的测试平台,用户能够基于该平台,设计自己的实验,确定自己要测试的应用或算法。个人区域网内的设备主要包括家用路由器(AP)、计算机、智能手机、平板电脑和传感器等,这些设备具备一定计算处理能力,但用户很难直接对这些设备的网络通信参数进行细粒度控制。本发明个人区域网实验床基于家用OpenWRT路由器,根据用户的实验需求,设置设备的网络通信参数,为用户搭建轻量级网络测床,使用户能够方便地利用周边设备开展实验和测试,不受时间和空间限制。
个人区域网实验床的实现方法,如图1所示,具体按照以下步骤进行:
步骤S1,修改路由器OpenWRT系统自带的LuCI配置页面,用户根据实验需求在该页面选择实验设备、设置实验设备之间的网络通讯参数,设置控制规则;
修改OpenWRT系统自带的LuCI前端web页面具体为:默认的openwrt路由器的web页面不包含关于网络仿真的配置,本发明用LuCI语言创建了该页面,其中包含了网络仿真参数的配置选项,我们把该文件保存在一个服务器上。如果有用户需要改造自己的openwrt路由器,需从该服务器下载该页面文件。下载后需将该文件存入openwrt路由器存放web luci文件的目录(通常是/usr/lib/lua/luci),并重启路由器,才能被路由器的openwrt系统识别并自动加载。并通过SSH的方式将这些文件复制到路由器的指定目录,路由器没有为用户提供直接访问路由器系统的接口,所以通过开启路由器的SSH(安全外壳协议)登录权限,用户通过SSH登录到路由器存储磁盘,才能把所下载的页面保存到指定位置,才能使用户设置网络仿真参数;然后重启路由器,路由器会加载新的web页面;下载的文件对路由器初始LuCI页面进行了修改,其中有一个web页面包含若干文本框,用于用户对各设备之间网络通讯参数的设置。
为了方便用户的使用,个人区域网实验床为用户提供了WEB的交互方式。Emulab等测床采用单独的WEB服务器专门处理用户的实验请求,但是个人区域网内的设备数目有限,甚至可能没有PC,搭建单独的WEB服务器在某些特殊环境下可能是不现实的,所以本发明选择将WEB服务器搭建在OpenWRT路由器上,使个人区域网实验床的适应性更好,更具一般性。为了使个人区域网实验床对路由器性能的影响降到最低,并兼顾用户的方便性,本发明将个人区域网测试床的前端以模板的方式嵌入到OpenWRT路由器自带的LuCI配置页面,便于用户查看、选择及设置。
步骤S2,利用路由器的后端发现实验设备,将实验设备及对应的网络通信参数解析为TC命令并执行,对指定实验设备的数据流进行细粒度整形,即得到个人区域网实验床。
在个人区域网中,一般只有一个家用路由器和若干不同类型的用户设备,为了不影响用户对设备的日常使用,应尽量减少对用户设备的改动;本发明在路由器上以开源的OpenWRT系统、Linux网络模拟功能模块Netem和流量控制模块TC作为基础,利用HTB队列实现指定数据流的细粒度整形,如图3所示。在实现过程中,采用Vlan(虚拟局域网)技术。当用户通过WEB前端指定了实验设备之间的通信参数后,生成一系列规则,后端将这些规则解析为HTB队列的一个子类,并在该子类上增加限制参数,如带宽、延迟时间和丢包率等,最后在该子类上增加过滤器,以实现对数据流的细粒度控制。
采用上述实现方法得到的个人区域网实验床的架构,包括:
前端(WEB前端),基于OpenWRT系统自带的LuCI配置页面,用于用户根据实验需求选择实验设备、设置实验设备之间的网络通讯参数,设置控制规则;
后端,基于路由器的后端,用于发现实验设备,将实验设备及对应的网络通信参数解析为TC命令并执行,对指定实验设备的数据流进行细粒度整形。
后端包括:
设备发现模块:用于发现当前连接到该路由器的所有设备的名称、IP地址及MAC地址信息,同时将该信息显示到个人区域网测试床的前端页面;
路由器配置模块:用于根据用户选择的实验设备在网络配置文件中增加虚拟局域网,然后将所选择的设备与新增加的虚拟局域网绑定;当用户选择了实验设备后,路由器会更改网络配置文件(/etc/network文件),首先在该文件中增加Vlan,然后将所选择的设备与新增加的Vlan绑定,然后重启路由器,这些配置会生效;
规则解析模块:用于提取不同设备之间的网络连接参数,输入至规则应用模块;
规则应用模块:用于将规则解析模块传入的数值转化为TC命令,并在路由器上执行这些TC命令,完成网络环境的仿真。
OpenWRT系统自带模块的关系及OpenWRT内部请求的处理过程,如图2所示,网络模拟功能模块Netem是Linux 2.6及以上内核版本提供的网络模拟功能模块。该功能模块能够在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。2.6(或以上)版本内核的很多发行版Linux都开启了该内核功能,比如Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian等等。流量控制模块TC是Linux系统中的一个工具,全名为traffic control(流量控制)。流量控制模块TC能够用来控制网络模拟功能模块Netem的工作模式,也就是说,想要使用网络模拟功能模块Netem,则需要内核开启了网络模拟功能模块Netem,而且安装了流量控制模块TC。流量控制模块TC控制的是发包动作,不能控制收包动作。后端会将用户的设置转化为TC命令,并直接利用shell执行这些TC命令。
采用本发明个人区域网实验床的测试方法,具体按照以下步骤进行:
步骤S1,待测实验设备通过wifi或以太网连接到路由器OpenWRT系统,以被路由器检测到;
步骤S2,用户根据实验需求在路由器OpenWRT系统的LuCI配置页面设置待测实验设备的网络通信参数(带宽、延迟时间和丢包率等),通过待测实验设备的访问接口操作该设备,测试该设备所支持的应用;只要设备厂商提供了访问接口,即可完成测试。
本发明实验床中所有的设备都是真实的物理设备,所处的网络环境(路由器、连接到路由器的设备、各设备上运行的网络应用程序等)也是真实的,所以可以保障测试结果的真实性。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (3)

1.一种个人区域网实验床的实现方法,其特征在于,具体按照以下步骤进行:
步骤S1,修改路由器OpenWRT系统自带的LuCI配置页面,用户根据实验需求在LuCI配置页面选择实验设备、设置实验设备之间的网络通信参数,设置控制规则;
修改路由器OpenWRT系统自带的LuCI配置页面具体为:用LuCI语言创建web页面,该web页面包含关于网络仿真的配置,其中包含网络仿真参数的配置选项,把该web页面保存在一个服务器上;用户改造自己的路由器,从该服务器下载该web页面;下载后需将该web页面存入路由器存放web LuCI文件的目录,并重启路由器,被路由器的OpenWRT系统识别并自动加载;并通过安全外壳协议的方式将web LuCI文件复制到路由器的指定目录,通过开启路由器的安全外壳协议登录权限,用户通过安全外壳协议登录到路由器的存储磁盘,所下载的web页面保存到指定位置,用户设置网络仿真参数;然后重启路由器,路由器加载新的web页面;下载的web页面对路由器初始LuCI配置页面进行了修改,其中有一个web页面包含若干文本框,用于用户对各实验设备之间的网络通信参数的设置;
所述步骤S1,还包括将web服务器搭建在路由器上并以模板的方式嵌入到路由器OpenWRT系统自带的LuCI配置页面;
步骤S2,利用路由器的后端发现实验设备,将实验设备及对应的网络通信参数解析为TC命令并执行,对指定实验设备的数据流进行细粒度整形,得到个人区域网实验床;并在路由器上执行这些TC命令,完成网络环境的仿真;
所述步骤S2中,利用路由器的后端发现实验设备为发现当前连接到该路由器的所有设备信息,同时将所有设备信息显示到前端web页面;所述所有设备信息包括所有设备的名称、IP地址及MAC地址信息;
所述步骤S2中,对指定实验设备的数据流进行细粒度整形,具体为:在路由器上以开源的OpenWRT系统、Linux网络模拟功能模块Netem和流量控制器TC模块作为基础,采用虚拟局域网技术,利用HTB队列实现对指定实验设备的数据流进行细粒度整形;
当用户通过前端web页面指定了实验设备之间的网络通信参数后,生成一系列规则,后端将这些规则解析为HTB队列的一个子类,并在该子类上增加限制参数,最后在该子类上增加过滤器,以实现对指定实验设备的数据流进行细粒度控制。
2.根据权利要求1所述的一种个人区域网实验床的实现方法,其特征在于,所述步骤S2中,限制参数包括带宽、延迟时间和丢包率。
3.一种测试方法,采用如权利要求1所述的一种个人区域网实验床,其特征在于,具体按照以下步骤进行:
步骤S1,待测实验设备通过wifi或以太网连接到路由器OpenWRT系统;
步骤S2,用户根据实验需求在路由器OpenWRT系统的LuCI配置页面设置待测实验设备的网络通信参数,通过待测实验设备的访问接口操作该待测实验设备,测试该待测实验设备所支持的应用。
CN201910767772.0A 2019-08-20 2019-08-20 个人区域网实验床及其实现、测试方法 Active CN110505118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910767772.0A CN110505118B (zh) 2019-08-20 2019-08-20 个人区域网实验床及其实现、测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910767772.0A CN110505118B (zh) 2019-08-20 2019-08-20 个人区域网实验床及其实现、测试方法

Publications (2)

Publication Number Publication Date
CN110505118A CN110505118A (zh) 2019-11-26
CN110505118B true CN110505118B (zh) 2021-11-23

Family

ID=68588912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910767772.0A Active CN110505118B (zh) 2019-08-20 2019-08-20 个人区域网实验床及其实现、测试方法

Country Status (1)

Country Link
CN (1) CN110505118B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681125A (zh) * 2015-12-28 2016-06-15 国云科技股份有限公司 一种云平台的虚拟机外网流量统计方法
WO2016099671A1 (en) * 2014-12-19 2016-06-23 Thomson Licensing S.A. Open wrt network service provider front end (nspfe) usb dongle

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254178B (zh) * 2016-08-03 2019-12-17 陈鸣 一种基于nfv的网络试验平台nfvntp及其试验方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016099671A1 (en) * 2014-12-19 2016-06-23 Thomson Licensing S.A. Open wrt network service provider front end (nspfe) usb dongle
CN105681125A (zh) * 2015-12-28 2016-06-15 国云科技股份有限公司 一种云平台的虚拟机外网流量统计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于TC做流量控制;dragonliu;《https://www.cnblogs.com/liujiliang/p/9274287.html》;20180706;2 *
智能路由器-Open WRT系列三(OpenWRT安装LuCI&网络配置);emenxin;《https://www.cnblogs.com/wizju/p/6915040.html》;20170528;1 *
面向物联网实验的网络测床的初步研究;高宏媛;《中国优秀硕士学位论文全文数据库》;20140915(第9期);I138-809 *

Also Published As

Publication number Publication date
CN110505118A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
US10977111B2 (en) Constraint solver execution service and infrastructure therefor
CN107766126A (zh) 容器镜像的构建方法、系统、装置及存储介质
CN108958927A (zh) 容器应用的部署方法、装置、计算机设备和存储介质
US20160191623A1 (en) Methods and systems of workload mobility across divergent platforms
CN105704188B (zh) 应用与服务的部署方法和装置
CN104750372B (zh) 一种文件共享方法和装置
CN105765533B (zh) 用于固件虚拟化的方法和装置
CN103123605B (zh) 一种Android平台自动化集成测试方法和装置
CN105204871B (zh) 一种插件式开发方法和装置
KR102274178B1 (ko) 서버에서 시험 분산 애플리케이션을 에뮬레이션하는 기법
CN105740138A (zh) 应用的测试方法、测试装置及测试系统
CN113301116A (zh) 微服务应用跨网络通信方法、装置、系统及设备
CN107395747B (zh) 一种基于stf平台的高扩展方法
CN109213498A (zh) 一种互联网web前端的配置方法及服务器
CN107368420A (zh) Api测试方法、装置及电子设备
US11882154B2 (en) Template representation of security resources
US7251456B2 (en) Wireless module simulator
Xiang et al. Mininet: An instant virtual network on your computer
WO2020245504A1 (en) Method and system for integration testing
CN112887440A (zh) 一种ip地址管理方法和装置
CN110505118B (zh) 个人区域网实验床及其实现、测试方法
CN104570967A (zh) 基于Android系统的远程控制方法及系统
Freire et al. Automated deployment and customization of routing overlays on planetlab
CN110198266B (zh) 实时数据流处理方法及系统
Vitucci et al. Implementation and deployment of a server at the edge using openstack components

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