无线网格网络(Wireless Mesh Network)是基于Wi-Fi技术而发展出来的一种新型的无线城域网解决方案。这种网络的特点是:自组织、自修复、自平衡以及自动扩展。

无线网格网络是“多跳网络”,任何无线设备节点均可同时作为AP(Access Point)与路由器,即每个节点都可以与一个或多个对等节点进行直接通信,数据包会根据网络情况路由到与之最近的下一个节点进行传输,直到达到终点。多跳网络在成本方面具有巨大优势,免设AP减小成本,同时扩大了网络覆盖范围。而且由于集群内所有节点均可作为网络传输通道,网络竞争减少,网络容量大大提高。在同时保留了分布式网络所拥有的冗余机制和重新路由功能的情况下,该网络应对复杂状况的能力更强大。同时无线网格网络的缺点同样显而易见,若通信范围内的节点数量稀疏,则很容易造成网络中断。由于缺少提前布线,网络通信建立速度相比单跳网络较为缓慢[1]

随着技术进步与数字化水平提高,现代战争对通信网络要求同样提高,美军针对数字化战场提出“战术互联网”(Tactical Internet)概念。战术互联网的环境通常恶劣又复杂,网络拓扑变化快速频繁且没有集中的基础设施。美国TrellisWare技术公司基于战术通信需求开发了一种新型的快速、稳健、可扩展的组播战术互联网——阻继网络(Barrage Relay Network,BRN)[2-3]。这种网络利用无线广播机制首先建立通信区域,然后在通信区域内实现高速数据传输,适用于较低频高容量通信需求。同时该网络不依赖于网络拓扑的变化,大大减小了网络的延迟和开销,具有良好的可扩展性和鲁棒性。

本文基于YunSDR-Y450射频硬件主要实现BRNs 的路由协议。本文实现的方案依托时分多址技术、自主协同技术完成受控拦截区域的建立,该过程通过传输路由控制消息(请求与回复)来实现。在无异常情况下,接收到信息后,节点对消息中的关键值进行保存、计算并最终通过判定公式确定该节点在受控拦截区域中的传输属性,形成封闭结构后自动结束路由建立过程,以供快速传输消息使用。因此,BRN协议的网络延迟与冲突产生主要集中于受控拦截区域的建立过程,BRN网络协议具体实现中的难点便体现在受控拦截区域建立过程的算法实现中。

1 Barrage Relay Networks网络协议原理

1.1 概述

Barrage Relay Networks利用部分节点的阻断功能将网络划分成若干个相互独立的通信区域,从而实现更高效的数据传输。BRNs中控制消息在源与目的两处广播,节点通过记录其到源和目的的跳数距离来确定自己的功能身份(中继转发节点或信息阻拦节点),构建一个源到目的之间的数据流传输区域。该区域内通信方式为单播,由于传输区域确定,区域内节点可免除上层判断直接传输消息,从而提高传输速率[4]

1.2 自主协同通信

由于无线网络的广播特性,传输消息时难以避免多路径传输情况,协同通信的使用可以产生显著的性能改进。然而,传统的协同通信方法需要大量的节点间协调。这种协调通常包括团队形成、信道识别和码本分配等。在具有高动态拓扑的网络中,将需要频繁更新节点间协调信息,从而影响开销并增加数据包转发所需的等待时间。

BRNs采用多路径的协同传输方式,协同通信节点只需保证粗量级的TDMA时间同步,无需获取额外交互信息,在同一时隙传输完全相同消息,接收节点处收到互为镜像的内容,既避免了冲突产生,又形成冗余提高传输安全性。

1.3 时间同步

BRNs采用时分多址技术(TDMA)进行时间同步,以便参与自主协同通信的节点能够在相同时间进行传输。并且,BRNs依赖广播机制,应用TDMA可使路由建立环节易于调节控制。

需要特别注意的是,BRNs要求每个节点对每个数据包只转发一次来避免产生环路以及网络洪泛。

1.4 受控拦截区域

受控拦截区域(Control Barrage Region,CBR)的建立是BRNs网络通信机制的核心技术。CBR本身是一个封闭的广播区域,区域内部消息透明共享,区域外部则与内部完全无关。区域边界由Buffer节点确定,广播数据到达Buffer节点后遭到丢弃,使得Buffer节点的连线成为一条消息“封锁线”,从而形成封闭边界。采用CBR进行路由的优点在于:由于建立后的CBR内部及其边界处所有节点对之后收到消息的处理方式已经确定,故而可在物理层对收到的消息直接做出相应处理(转发或丢弃)且无需判断,这将有效提高CBR内部的通信速度[5]

2 基于YunSDR-Y450的开发实现

2.1 硬件参数概述

YunSDR的板卡主要由ZYNQ嵌入式处理器、AD9371射频前端和电源电路构成。嵌入式处理器采用Xilinx集成可编程逻辑和CortexA9双核处理器架构的ZYNQ系列XC7Z035;射频前端频率范围达300 MHz~6 GHz,支持半双工全双工,拥有TDD/FDD模式,接收端口最大100 MHz实时带宽,发送端口最大250 MHz实时带宽,集成功率放大器(14 dB@2 GHz),支持最高发射功率10 dBm(P1dB17dB)。

2.2 设计综述

2.2.1 系统架构

图1展示了软件系统架构的三个方面。



无线mesh网络是在什么协议中被定义的_时间同步

firmware文件下主要分FPGA与linux_app两部分。

FPGA配置与物理层相关的基础设置与控制逻辑。其中包括配置射频元件参数、调节硬件交互接口,以及通信时的组帧、解析等底层功能。FPGA模块包含完整的硬件系统,内含pldma_test.cache/hw/ipdef/runs/sd -k/sim/srcs/tmp/xpr等工程文件,拥有工程编译生成文件、逻辑软件工程、硬件约束等。

linux_app模块则与MAC层相关,实现功能包括基本的通信接口(TCP/UDP套接字)、协议栈、调用物理层功能接口以及其他可扩展功能(TDMA、TDD等)。在linux_app文件夹中包含三部分,app文件夹中储存MAC层核心逻辑代码,rfchip文件夹储存所有MAC层与物理层接口API,而v3best文件夹则负责在MAC层初始化射频模块的设置。

app文件夹中主要包含以下文件:yunsdr_device.h,yunsdr_eth.h,command.h,yunsdr_main.c。其中yunsdr_device.h中声明了所有物理层启用的REG分别具有的功能,yunsdr_eth.h声明以太网协议相关的标准协议头及其字段定义,command.h设置了与上位机终端交互相关的函数,而yunsdr_main.c则是MAC层逻辑核心代码,所有MAC层进行的逻辑控制均在该文件中编写。

host与sd_image分别管理上位机与硬件接口和固件信息。本文相关开发中上位机交互主要通过MATLAB进行,固件由Penta Linux软件将firmware部分设计代码导入后自动生成,包含整体配置文件。

2.2.2 TDMA

BRNs应用TDMA进行时间同步,所有BRNs的消息基于时隙广播。本方案中TDMA技术的建立应用时戳同步方法,需在硬件系统配置时戳系统。

时间同步时将节点分为已同步与待同步两个集合,同步操作对两个节点进行,同步对象为节点k与节点i,节点i为同步集群内节点,节点k为待同步节点。首先由节点k发起同步,接收信号后节点i根据本地时戳系统记录接收信号时刻与其相应时隙起始时刻的差值ΔTi,k;再由节点i将该差值返回给节点k,类似地,节点k记录ΔTk,i,同时节点k收到节点i记录的ΔTi,k

ΔTi,k与ΔTk,i的计算由图2原理图可得:



无线mesh网络是在什么协议中被定义的_时间同步_02

节点k对本地时戳系统引入Δδ的延迟即可进入同步集群[6]

在使用自主协调通信的情况下,BRN广播中对TDMA的应用如图3所示。图中应用3-slot TDMA,其中时槽标记为A、B和C。假设源节点在第一个TDMA帧的时槽A上发送数据包。由定义,成功接收该数据包的所有节点距离源节点一跳。然后,这些节点在时槽B上发送相同的包,从而转发到距离源节点两跳的节点,这些节点又在时槽C上发送信息,依次传递下去。为了防止产生网络环路,每个节点仅转发给定分组一次。时槽的空间重用使得数据包可以被流水线化到源节点中以便每M个时槽传输。例如,在图3中,一跳节点将不接收在第二个TDMA帧的时槽A期间由三跳节点发送的分组。因此,源节点可以在该时槽安全地发送第二分组。显然要求M≥3才能允许这种空间流水线操作。当然也可以选择较大的M值以提高交换吞吐量并增强对拓扑变化的鲁棒性。



无线mesh网络是在什么协议中被定义的_udp协议拦截_03

2.2.3 自主协同通信

BRNs应用自主协同技术进行冲突避免,同时提高消息传输的可靠性。本方案中自主协同的实现依赖TDMA,基于时隙完成多路径协同传输。

首先,网络堆栈通常修改每个中继节点处的协议报头信息,使得即使两个中继节点发送相同的有效载荷数据,所得到的广播包也可以是不同的。为了支持自主协作,必须舍弃节点特定的分组变换:协议报文头添加跳数字段,该字段记录收到消息的节点距离源节点的跳数。与之配套的转发处理方式为:节点转发消息时不更改报文头中源节点与目标节点的内容,仅对跳数字段做+1操作。

其次,协同节点必须在相同的时隙上转发相同的数据包。传统上,转发决策是在网络层进行的,这便引入了不可预测且依赖于节点的处理延迟。为了最大限度地减少延迟并确保在同一时隙上发生转发,必须在物理层进行转发决策(通过建立CBR辅助实现)。

2.2.4 CBR建立

BRNs采用受控拦截区域技术建立路由,CBR的建立需要依赖TDMA与自主协同。CBR建立过程涉及路由请求与路由回复消息的传输以及途径节点的相关处理行为。具体方法如下:

定义:标记网络拓扑为G=(V,E),v∈V表示节点的集合,(u,v)∈E表示节点u与节点v之间的无线连接。对于任意UV,GU表示仅包含VU节点的G的子图。对于不相同的节点u,v,w∈V,d(u,v)定义为连接节点u和节点v的最短路径长度,d(u,v;w)定义为连接节点u和节点v但不经过节点w的最短路径长度。设定宽度参数非负整数N。

节点设定:源节点S(Source)、目的节点D(Destination)、中继节点R(Relay)、阻拦节点B(Buffer)、不可达节点U(Unreachable)。图4为一个简单的CBR建立示意图,初始条件为源节点S∈V,目的节点D∈V。算法如下:



无线mesh网络是在什么协议中被定义的_时间同步_04

(1)S节点向周围广播“请求发送数据包”(Request to Send,RTS):(S_ID,D_ID,d(S,v)[起始值为1,内含跳数计数器])。

RTS发送时槽为:

(2)节点v∈V{S,D}接收RTS并解码,存储a(v)=d(S,v;D),RTS跳数+1,并中继转发。

RTS接收时槽为:

(3)D节点接收到RTS,存储δ=d(S,D);等待一定时槽t1后发送阻拦数据包BUF(收到BUF而未收到RTS即判定为B,接收后不转发);再等待一定时槽t2后向周围广播“清除发送数据包”(Clear to Send):(S_ID,D_ID,δ,d(D,v)[起始值为1,内含跳数计数器])。

RTS接收时槽为:

(4)节点v接收CTS并解码,首先验证v接收过S与D传输中的RTS,获取b(v)=d(D,v;S)。而后根据a(v)、b(v)与δ的值执行一个判定式,若满足,v被判定为R,CTS跳数+1,并中继转发;若不满足,v被判定为B;

CTS接收时槽为:

(5)S节点接收到CTS,发送类似的BUF数据包,上述过程中未参与节点均视为U。

CTS接收时槽为:

2.2.5 冲突避免

CBR建立过程中共有4个数据包被广播,互相之间可能产生冲突的情况共两类,本文采用等待退让的方法避免冲突产生,由t1、t2、t3调控。

(1)第1类:D节点接收RTS并发送BUF的冲突和S节点接收CTS并发送BUF的冲突。两者类似,此处仅选取D节点相关冲突进行讨论。假设节点r为D节点的一跳节点,为避免出错,需要满足ttx(D;BUF)>trx(r;RTS),于是t1≥N-1,又t1≥0,可知t1≥max(0,N-1)。

(2)第2类:某节点同时接收CTS与RTS的冲突。由于存在宽度参数N,对于CBR内部节点可能存在同时接收CTS与RTS的冲突,假设该节点为r,满足a(r)+b(r)=δ+ε(02≥ε,虽然这样CBR外部节点仍然无法避免冲突,但对于CBR建立不存在影响,不予考虑。因为CTS必须晚于BUF广播,即t2>t1,所以t2≥max(1,N)。

2.2.6 硬件处理

数据包格式以802.11b协议格式为原型进行修改。判定结果传递给物理层,R节点将在物理层直接转发接收到的数据包,B节点将直接丢弃数据包。

2.3 测试

测试环境共4个测试节点,可实现的网络拓扑较为简单,如图5所示,以下逐一列举测试例及结果。



无线mesh网络是在什么协议中被定义的_udp 协议阻断_05

测试结果1、2、3、4表明,在所有节点可连通情况下,源节点与目的节点传输最短路径途经的节点均被判定为中继节点,其余节点被判定为阻拦节点,故中继转发节点与信息阻拦节点的判定无误。

测试结果5、6表明,在网络拓扑出现中断的情况下,与源节点可连通的节点可被正常判定,而与节点无连通的节点(包括目的节点)均无法判定而视为不可达,故不可达节点的判定无误。

3 性能仿真

3.1 仿真环境

本文使用MATLAB软件对DSR协议(Dynamic Source Routing)、OLSR协议(Optimized Link State Routing)和BRN协议进行网络性能仿真。仿真设置在1 000×1 000的环境中,随机布置50个节点,以5 Hz频率发送大小均为512 B的数据包。

本文针对以下3个数据指标仿真:

(1)端到端平均时延(Average Delay,AD):该指标强调网络延迟。AD=∑(接收包的时刻-发送包的时刻)/发送数据包的个数;

(2)数据包投递率(Packet Delivery Ratio,PDR):该指标强调网络传输可靠性。PDR=目的节点收到数据包个数/源节点发送数据包的个数;

(3)路由开销(Normalized Routing Load,NRL):该指标强调网络资源规模。NRL=转发的数据包个数/目的节点接收到的路由个数。

3.2 仿真结果与分析

3.2.1 场景一

节点暂停时间为60 s,分别以0 m/s、5 m/s、10 m/s…45 m/s、50 m/s的速度移动,结果如图6所示。



无线mesh网络是在什么协议中被定义的_udp协议拦截_06

移动速度的影响分析:

AD:DSR对移动速度比较敏感且延迟较大;表驱动的OLSR几乎不受移动速度影响;而BRN在移速不太大的情况下很稳定,当移速较大时开始受到影响。

PDR:3个协议的PDR都随着移速的增大明显减小,移速越大导致源节点与目的节点无法联通的情况越多,符合规律。其中BRN下降速度较缓,PDR一直保持最高,应对拓扑突变的鲁棒性尚可。

NRL:DSR的最大优势在于低开销,其路由开销基本不受移速影响;为了维护路由表,OLSR产生了较大开销;BRN的开销增大源自CBR的扩大,介于二者之间。

BRN在应对节点随机移动的情况时,在一定范围内保持了较高的性能与较低的开销,综合效果最优。

3.2.2 场景二

节点向随机方向以30 m/s的速度移动,暂停时间分别为0 s、10 s、20 s…160 s,结果如图7所示。



无线mesh网络是在什么协议中被定义的_时槽_07

暂停时间的影响分析:

AD:与移动速度情况相似,DSR表现较差而OLSR稳定且低时延;BRN在暂停时间小于60 s时敏感且时延偏高,暂停时间大于60 s时性能接近OLSR,原因在于BRN需要首先建立CBR,之后提供低时延的网络。

PDR:OLSR的PDR稳定分布在0.9附近,BRN在暂停时间大于60 s后也稳定在0.9附近,DSR的PDR偶然误差较大,整体呈上升趋势。

NRL:3个协议的路由开销均对暂停时间不太敏感,随暂停时间增大略有下降。其中OLSR开销最大,BRN次之,DSR最小。

BRN对网络的稳定性有一定要求。对于符合要求的网络环境,BRN可以提供低时延、低开销与高数据包传递率。

仿真综合分析知,OLSR作为典型的表驱动路由协议,具有良好的稳定性,同时低时延、高开销优劣分明;相反地,按需驱动路由协议DSR使用很少的开销,但在网络性能上偏差;BRN均衡二者的利弊,建立CBR的过程更接近DSR,而建立CBR之后的网络性能更接近OLSR,综合性能最佳。

4 结论

本文基于YunSDR-Y450硬件进行路由协议开发,核心目标为实现CBR的建立,其前提条件为网络集群自主协同通信且TDMA时间同步。

针对BRN、DSR、OLSR进行仿真模拟,通过对三者模拟结果的对比分析,进一步印证了BRN的优越性:应对变化的网络环境鲁棒性高,使用较少开销换取更低的网络时延。该协议值得进一步研究开发。

参考文献

[1] BROWN T A,HALFORD T R,JOHNSON M L,et al.Method and system for global topology discovery in multihop ad hoc networks:U.S.patent Application 13/467,999[P].2013-11-14.

[2] TrellisWare Technologies,Inc..Methods for coordinating access to a barrage relay network:欧洲专利局,EP2856718(B1)[P].2017-09-27.

[3] TALARICO S,VALENTI M C,HALFORD T R .Controlled barrage regions: stochastic modeling,analysis, and optimization[C].MILCOM 2016-2016 IEEE Military Communications Conference(MILCOM),2016:466-472.

[4] 卢玲,王钺,王剑,等.一种基于分簇的新型组播网络[J].计算机仿真,2013,30(4):183-187.

[5] Ding Ying,Wang Yue,Yuan Jian.A blackhole attack analysis for barrage relay networks[C].2013 International Conference on Sensor Network Security Technology and Privacy Communication System(SNS & PCS 2013),18-19 May 2013,Harbin,China,2013:13-17.

[6] 刘庆刚,李大双,朱家成.多跳TDMA组网同步的分布式控制方法[J].通信技术,2012,45(5):26-28,32.

作者信息:

任 能

(清华大学 电子工程系,北京100089)