一种多跳无线网络动态拓扑模拟器的设计与实现

2020-03-18 16:34:10米志超
江苏科技信息 2020年1期
关键词:网络拓扑终端设备数据包

赵 宁,倪 明,米志超

(1.中国电子科技集团公司第二十八研究所,江苏南京 210007;2.陆军工程大学,江苏南京 210007)

0 引言

Ad Hoc移动网络不需要架设固定中心的基站等设备,节点间通过交互信息,相互合作而形成多跳的移动通信网络,其结构形式更加灵活,有着广泛的应用前景。如何评估多跳无线网络组网性能指标是当前Ad Hoc网络研究的一个重要内容[1]。针对不同拓扑环境的网络协议仿真,对无线网络的协议具有极大的意义。

计算机仿真和建立实验床是目前研究Ad Hoc网络常见的方法[2]。但纯软件仿真需要将测试实物上的软件重新在仿真平台上实现,增加了工作量。而实验床仿真测试一般规模较小,很难在有限空间内仿真出各种拓扑结构。

本文设计并实现了一种支持多跳无线网络拓扑模拟器系统,该系统能够支持带有无线信道的设备进行网络性能仿真,支持多跳无线环境的模拟,使得对Ad Hoc网络的研究更方便和全面。

1 设计思路

iptables[3]是Linux平台下的数据包过滤防火墙工具。数据包过滤是iptables功能的核心,它能够通过向列表中插入或删除相应的规则参数来禁止一个节点的数据包进入本节点,也可以禁止本节点的数据包发送到另外一个节点,以此来实现过滤特定数据包的功能。当数据包被发送到防火墙后,防火墙首先将数据包转发给检查模块进行处理。检查模块则通过过滤规则的对比,来决定转发或丢弃该数据包。本文借助iptables模拟网络节点间链路的建立或断开,在有限的实验环境中实现网络的拓扑模拟控制。下面本文分别从系统结构设计和实验测试等方面进行描述。

2 系统结构设计

2.1 系统模型设计

拓扑模拟器系统模型如图1所示。其中,图1(b)描述了网络拓扑模拟控制系统的组成,它主要由一台具备无线通信功能的计算机以及若干个无线终端设备构成。其中计算机是整个系统的拓扑模拟控制中心,它通过一系列的控制消息来控制无线终端设备自动实现网络拓扑构建和更新。无线终端设备既是控制中心的受控节点,同时也是网络节点,网络拓扑的构建和更新工作由所有无线终端设备共同实现。

拓扑模拟控制中心通过UDP协议与每个无线终端设备进行通信并以此来检测无线终端信息。整体设计思想如下:首先,如图1(a)中所示的原始的拓扑中,由于所有的无线终端均处于彼此一跳的通信范围内,因此所有无线终端都可以直接进行通信。当希望构建一个预期的网络拓扑(如图1(c)所示)时,则在拓扑模拟控制中心的应用界面中对预期的网络拓扑进行描述,然后控制中心的生成算法为每个无线终端设备生成对应的MAC地址屏蔽消息。接着该地址屏蔽消息将被发送给对应的无线终端设备,而每个无线终端设备在接收到各自的地址屏蔽消息后,自动调用其iptables工具并执行相应参数规则来过滤特定的MAC地址无线终端发来的数据包,构造如图1(c)所示的预期网络拓扑。

图1 系统模型

这样通过无线终端MAC地址屏蔽关系的自动生成、iptables参数规则的自动设置以及拓扑恢复及再构建,拓扑模拟控制系统就可以实现预期网络拓扑的构建和更新。

2.2 通信协议设计

拓扑模拟控制中心和无线终端间的通信是整个拓扑模拟控制系统的基础。首先,网络内的设备具有不同的身份,设备间需要识别网络中其他设备的身份,而控制中心和无线终端也需要获取彼此的相关信息。此外,当进行拓扑构建时,控制中心需要将MAC地址屏蔽消息发送给每个无线终端,当网络拓扑需要更新时,控制中心也需要通知所有无线终端。

本文设计了一个拓扑模拟控制中心和无线终端间的通信协议,以解决两者间的通信和控制需求。通信协议建立在UDPSOCKET基础上,在通信协议中每个消息的传输方向、消息内容和传输类型描述如下。

(1)地址请求(ARS)消息。在网络的最初始状态,拓扑模拟控制中心就是通过向系统内的无线终端设备广播地址请求消息来通告其身份,并同时请求所有的无线终端回馈它们的IP和MAC地址。

(2)准备就绪(RA)消息。系统内的无线终端通过开机后即广播准备就绪消息向网络内的其他设备通告其身份。

(3)拓扑更新(TU)消息。拓扑模拟控制中心将广播拓扑更新消息向系统内的无线终端通告系统准备更新网络拓扑。

(4)IP地址通告(IA)消息。控制中心通过广播IP地址通告消息来让系统内的无线终端获取其IP地址。

(5)地址响应(ARP)消息。无线终端通过向拓扑模拟控制中心单播地址响应消息来回馈其IP和MAC地址。

(6)MAC地址屏蔽(MAF)消息。MAC地址屏蔽消息由拓扑模拟控制中心送给每个无线终端。无线终端在收到MAC地址屏蔽消息后会自动触发内置的iptables工具并根据MAC地址屏蔽消息设置相应的iptables参数规则。

2.3 工作流程

拓扑模拟控制中心首先广播地址请求消息来通告身份并请求所有的无线终端回馈IP和MAC地址。无线终端启动程序后则开始广播准备就绪消息来表明身份。这样系统内所有的设备均可获知其他设备的身份。

拓扑模拟控制中心发送IP地址,无线终端设备一旦收到地址请求消息则响应它们的IP和MAC地址。在拓扑模拟控制中心成功获取所有终端的信息后,需要在拓扑模拟控制中心上完成网络拓扑描述以提供所有终端间的连接关系。拓扑模拟控制中心根据拓扑描述为每个终端生产MAC地址屏蔽消息。然后拓扑模拟控制中心开启定时器并将MAC地址屏蔽消息分别发送给每个无线终端。所有终端在收到MAC地址屏蔽消息后都需要向拓扑模拟控制中心发送确认并自动配置iptables过滤规则。如果拓扑模拟控制中心在计时器的有效周期内未收到确认,则重复MAC地址屏蔽消息发送过程。当所有终端都设置相应的参数规则后,数据包将按照预期的路径进行收发。

如果期望更新网络拓扑,则拓扑模拟控制中心重新广播新的拓扑更新消息来通知所有的无线终端系统准备更新网络拓扑。

3 系统实验测试

拓扑模拟控制器实验系统主要由1台笔记本电脑(完成拓扑模拟控制中心)和5台无线树莓派设备组成。研究人员将所有的树莓派设备按照1至5依次编号。

网络的原始拓扑与图1(a)相同。实验中,研究人员希望构建如图1(c)所示的网络拓扑。拓扑构建实现过程操作如下:首先,让所有无线终端与拓扑模拟控制中心建立连接。然后拓扑模拟控制中心获取IP和MAC地址,描述网络拓扑。接着拓扑模拟控制中心将产生并发送MAC地址屏蔽消息。最后,无线终端调用并设置iptables规则,构建网络拓扑。

实验采用ping的方法来检验拓扑构建实验的有效性[4]。让节点1来ping节点2,在初始的网络拓扑中,节点1和节点2彼此具备连接关系,因此从节点1发出的数据包可以直接到达节点2而无须其他节点进行转发。但是当拓扑构建过程完成后,节点1和节点2在逻辑上彼此不再具备直接的连接关系,因此从节点1发出的数据包需要经过其他节点的转发才能到达节点2。

实验结果表明节点1发出的ICMP数据包是经过节点4转发后到达节点2,网络拓扑发生变化,符合预期的网络拓扑变化,因此网络拓扑构建成功。

4 结语

本文为了降低多跳无线通信网络拓扑模拟控制实现的复杂度、提高可靠性、解决传统方法中无法实现动态拓扑的缺陷,设计并实现了一种多跳无线网络拓扑模拟器。该模拟器的拓扑模拟控制中心根据用户描述的网络拓扑生成MAC地址屏蔽消息,而无线终端则根据控制消息自动设置iptables规则来过滤指定的数据包,实现网络拓扑构建,并能够根据具体要求实现拓扑更新。

猜你喜欢
网络拓扑终端设备数据包
基于通联关系的通信网络拓扑发现方法
视频监视系统新型终端设备接入方案
能量高效的无线传感器网络拓扑控制
电子制作(2018年23期)2018-12-26 01:01:16
SmartSniff
劳斯莱斯古斯特与魅影网络拓扑图
配电自动化终端设备在电力配网自动化的应用
电子制作(2016年15期)2017-01-15 13:39:12
车站信号系统终端设备整合及解决方案
基于多任务异步处理的电力系统序网络拓扑分析
电测与仪表(2016年5期)2016-04-22 01:13:46
基于Libpcap的网络数据包捕获器的设计与实现
基于手持终端设备中软件通信架构的应用
河南科技(2014年1期)2014-02-27 14:04:05