APP下载

面向私有云储存访问的无线网络信道分配算法

2018-10-23李永昌

计算机与数字工程 2018年10期
关键词:报文链路信道

李永昌 任 伟

(成都医学院人文信息管理学院 成都 610500)

1 引言

随着计算机互联网技术的快速发展,人们已经全面进入了互联信息时代[1],尤其在移动互联通信崛起的现在,使得信息储存量变得更大、实时访问变得更加便利[2]。云端储存技术作为高效管理分布式系统、集群和虚拟化网络等平台应用[3],其操作便捷、节约数据储存所需费用等优点不断凸显[4]。然而,伴随着用户越来越多,云储存的安全性能也逐渐受到了人们的关注。私有云(private cloud),亦成为内部云(internal cloud)或企业云(corporate cloud),在特定的范围内为有限人群提供托管服务[5]。同时,随着无线WI-FI设备的普及,特定范围内的无线网络传输数据量不断增加,这也为无线网络数据传输的性能要求提出了更大的挑战。面对私有云储存通过无线网络快速访问且保有高度安全性的问题,传统单射频无线私有云储存网络中网络容量十分有限[6],随着射频设备价格的降低,有学者提出引入多射频多信道[7]。配备多射频的节点能够同时发送和接受数据,且链路可以通过不同的信道进行多并发传输,极大地提升了网络容量。然而这种多射频多信道无线私有云储存网络(MRMC-WMNs)在逻辑拓扑构建,接口分配,信道分配和路由等方面同样面临许多挑战[8]。

虽然现有的信道分配方案和路由优化方案能够有效地减小用户在访问私有云储存时,拥塞发生的概率使网络获得较大的吞吐量,但是集中式的控制方式决定了算法在应对局部拥塞和拓扑结构变化引起的局部干扰时不够灵活,特别是在私有云储存网络规模较大且数据结构复杂的情况下,这个问题将会更加明显。本文提出的信道分配机制作为一种补充算法,能够很好地弥补这一缺陷,每个节点通过动态监测网络的局部拥塞情况,能在发生拥塞时及时切换信道,充分利用了分布式设计的快速响应能力,解决了用户利用无线网络快速访问私有云储存终端的操作。

2 私有云储存的无线网络

2.1 无线路由

针对面向私有云存储的终端访问网络传输,通常一个无线节点,在网络层有多个网络接口控制器,在数据链路层还有队列管理控制模块、媒体访问控制和射频接口。在IEEE 802.11规定的频段中正交频率信道的数目是有限的[9],例如,IEEE 802.11b/g提供3个不重叠渠道,IEEE 802.11a有12个不重叠的信道。由于频道数量有限,有些网卡可能工作在同一频段,如果恰好这些网卡彼此靠近,就会产生相当大的信号干扰并造成网络拥塞,导致网络整体的传输速率和容量都大幅下降,图1展示了单个无线路由节点的结构。

图1 无线路由节点的结构

2.2 网络模型

首先,网络模型构建在多射频、多信道的无线私有云储存网络之上,网络中的无线路由节点集合用V表示,其中网关节点用W表示,数据链路集合用E表示。网络的拓扑结构可以用图G(V,E,C)表示,其中C代表网络中正交功率信道的集合。V=(v1,…,vn)是图中所有节点的集合,代表网络中的无线私有云储存路由器,E代表节点vi与vj之间的单向逻辑链路,(vi,vj)∈V。当两节点互相处于在对方的通信范围内且都工作在某一相同信道ci∈C上时,上述数据链路被建立。任意节点vi∈V配置Un个可工作在所有正交信道C的网络适配器。假定任意逻辑链路eij(eij∈E)的总负载为δij,且δij<d。其中d代表该链路的传输速率。假设每个无线私有云储存路由器转发n个大小为bytes的数据包,总共有 f条流向网关节点W的数据流,那么网关节点W 的数据流量为 f×n。

对任意节点,如果相邻节点满足且至少有一个网络接口与的任意网络接口工作在同一信道,则称可通邻居节点。进一步定义可通邻居节点集合(NCNs),NCNs代表所有的可通邻居节点组成的集合[10],可以表示为

NCNs(vi,ci)={v|d(vi,vj)≤RT,Ci∩Cj≠ φ} (1)

其中,Ci表示节点vi使用的信道集合。当两条链路使用同一信道,且至少有一条链路的一个端点在另一条链路的一个或两个端点的干扰范围内时,那么称这两条链路彼此干扰。对于链路eij和euv,可以用式(2)表示两者的干扰关系[11]:

当信道没被数据发送接口和数据接收接口占用,且允许被节点使用,那么称这样的信道为可用信道。如果集合中的每个元素都是某节点的可用信道,那么称这样的集合为该节点的可用信道集合。

3 无线网络传输模型

3.1 干扰模型

造成无线网络容量下降的一个重要原因就是信号干扰[12]。无线网络中节点间成功的信息传输条件可以被公式化并用物理干扰模型或协议干扰模型来表示。本算法采用协议干扰模型[13],无线网络中的信号干扰取决于节点的分散程度,即对任意节点vi和vj,只有在同时满足采用同一信道进行数据传输、处于彼此的传输范围中以及确保不在其他节点的干扰范围内这三个条件时才能成功地传输数据。假设vi为发射节点,vj为接收节点,节点之间的距离为,上述条件可以表示为

其中,vk代表同时使用相同信道传输数据的发射节点,RT和RI分别表示传输半径和干扰半径。

3.2 信道分配

IEEE802.11a中的信道频率工作在2.5GHZ,相邻信道间的干扰会因为造成链路拥塞并导致端到端时延和往返时间(RTT)的增加,进而对网络吞吐量造成极大的影响[14]。为了提升无线私有云储存网络的网络容量,多射频、多信道被引入,这样一来所有的节点都可以同时接受和发送数据,可是同时也带来新的挑战,比如怎样才能为不同射频接口高效地分配信道。对于信道分配策略而言,链路容量Hij,节点信号覆盖范围,节点位置以及信道频率都是需要被予以充分考虑的重要参数。其中节点信号覆盖范围由传播模型、发送功率以及信号接受敏感度决定[15]。在本算法中,假定所有固定路由节点使用某一确定传输功率并保持不变。逻辑链路的链路容量可以由以下公式计算得出:

其中,k是常数,取决于调制方案,在IEEE802.11a/g/n中调制方案为正交频分复用(OFDM)。 p*N0代表信号与干扰和噪声功率的比值(SNIR)。

图2 单射频无线私有云储存网络

如图2所示,所有无线路由节点都与网格拓扑中相邻的节点建立连接,且使用单一射频接口和信道,网络中最右侧的几点为网关节点。在这种情况中,网络会产生大量的同频干扰,因为所有节点都采用相同频率的信道。

图3 多射频多信道无线私有云储存网络

在图3中,所有节点通过多射频接口和多信道与相邻节点通信,且尽量使用正交频率信道,经过信道分配没有任何一个节点与相邻节点工作在同频信道。

4 基于拥塞控制的分布式信道分配

4.1 访问时延

无线私有云储存网络的概念与移动Ad hoc网络的十分相似,两者最大的区别在于无线私有云储存网络的移动性更低,相较于后者来说可忽略不计[16]。最开始无线私有云储存网络被设计为只有单射频、单频率信道的通信设备运行,而这种设计会导致规模较大的网络的容量锐减,所以在随后的设计中单射频、多信道被引入,使得射频接口能根据数据流量的动态变化在不同的信道间切换。然而,实际中对信道的切换是有时间损耗的,这将会导致不可忽略的时延,通常是224us。网络的总时延由物理的信道切换时间、硬件注册配置时间以及MAC层的数据包处理时间组成:

本算法的目标是通过实时监测记录每个路由节点不同网络接口的拥塞情况,在网络局部拥塞发生时利用对部分节点的信道分配减小无线私有云储存网络中逻辑链路eij的拥塞程度和同频信道干扰,同时保证产生最少的控制数据流量。因此,算法需要满足两个约束条件。首先,每个节点被分配的信道数量必须小于其配置的网络接口数,即Uc≤Un。其次,任意逻辑链路承受的负载量不能超过其链路容量,即δij≤Hij。

4.2 算法概述

本文提出的拥塞控制信道分配方案可以分为三个阶段。首先通过检测路由节点的等待队列的信息来获取拥塞情况。接着通过广播控制信息将拥塞情况通知已经建立连接的节点。最后拥塞节点从自身维护的历史拥塞信道表中选择最少造成拥塞的信道进行切换。

对本文算法的分析基于以下三点:

1)使用分布式Hyacinth算法来解决单个节点信道切换容易引起的全网连锁反应的问题。

2)假设所有传输节点在时间间隔t内传递等量的通信数据流。

3)为了分析方便,假定所有无线信道的状态保持稳定并具有最小移动性。

算法的首要目标是降低每条链路的拥塞程度,当存在对链路eij的同频信道干扰Ic时,数据包就会被送入等待队列由队列管理模块处理,因此每个节点都要通过检测等待队列的长度QL来衡量自身的拥塞程度。频谱分配的决策是基于等待队列长度的阈值QLT,算法的整个执行流程如图4。

图4 算法执行流程图

4.3 信道选择

在执行信道转换后,为了保证属于原数据流的所有链路仍能正常通信,可能需要各个链路上的节点也相应地进行信道转换,即信道转换不仅会发生在拥塞节点还同样会在与拥塞节点相邻的节点上进行。因此,拥塞节点必须向邻居节点发送拥塞情况信息和信道转换请求。

图5 尾部丢弃机制

图5 显示了尾部丢弃机制工作过程,其中当等待队列长度达到上限时开始丢弃数据包,而对数据包的丢弃会使发送节点减慢传输速率,整体上导致吞吐量的下降。图6显示的是执行本算法的过程,与尾部丢弃机制不同,在等待队列长度达到设定的阈值时并不直接丢弃数据包,而是转到其他拥塞程度较轻的信道上传输,这样不仅能避免丢包,减少拥塞和同频干扰还能使整个网络在RTT和吞吐量上有更好的表现。

图6 信道切换机制

接着,拥塞节点的射频接口将根据自身的历史拥塞信道表选择当前拥塞程度最小的信道,如图7所示。历史拥塞信道的作用是尽可能地减少信道拥塞,所有节点的不同射频接口都维护各自的这张表,该表组网时被初始化并记录历史拥塞信息。算法会选中拥塞程度最轻的信道而忽略最拥塞的信道,并且还确保同一节点的所有射频接口都工作在不同信道以避免在接受信道交换命令时发生广播冲突。拥塞信息表中的数据在每次成功交换信道后都会被更新。如图7所示,网络中有三个路由节点,分别是S1、S2和S3,每个节点都配备两个射频接口,共有6个可用信道。

图7 可用信道分配

从表1中我们可以看出Channel6在被分配到S1的R1接口时发生过2次拥塞,分配到S2的R2接口时发生过3次,总用次数为5次,是所有组合中拥塞程度最小的。因此当S1与S2之间的链路I12发生拥塞时,为了提升R1与R2之间的通信质量,Channel6将被选中进行信道交换。同样地,在S2的R1和S3的R2之间将被分配Channel1。

表1 拥塞信道表

对于链路eij,如果QL≥QLT,那么对应节点vi的射频接口将向它的邻居节点广播带有待交换信道编码的交换请求信息,在邻居节点在接收到交换信息后做出确认应答然后进行信道交换,最后节点vi收到应答信息同时记录本次拥塞信息,并切换到新信道,至此之后队列中的所有数据包将在新信道上继续传输。

4.4 信道协商

当选取最优的信道用来传输数据时,本文采用的是改进的RTS/CTS协议进行信道协商和数据收发控制。改进的RTS/CTS协议使用一个改进的RTS报文和两类改进的CTS报文,节点在发送数据前,使用改进的RTS和CTS报文协商信道,发送完成后,使用改进的CTS释放信道,流程主要包括4步。

步骤1:源节点通过控制信道发送RTS报文,RTS报文中包含选取的信道,用以约定要传输的信道。

步骤2:目的节点收到该RTS报文后,如果同意用该信道进行传输,则发送一个一类CTS报文,表明目的节点将选择该信道用于进行数据传输。

步骤3:源节点收到该一类CTS报文后,同样发送一个一类CTS报文,通知其可通邻居节点,将使用该信道进行数据传输。

步骤4:当数据传输完成,源节点和目的节点依次发送二类CTS报文,释放其占用信道。

在上述数据传输过程中,所有收到CTS报文的节点,都会修改可通邻居节点集合和可用信道集合。当收到一类CTS报文时,则将一类CTS报文中包含的选取信道从可用信道集合中删除,并更新目的节点的可通邻居节点可用信道表;当收到二类CTS报文时,目的节点将二类CTS报文中包含的选取信道加入到目的节点存储的源节点可用信道集合中,并更新目的节点的可通邻居节点可用信道表。

5 仿真实验与性能分析

5.1 实验准备

使用Matlab网络模拟器评估了本文所提出的算法的性能。为了设计本文所需的模型,使用了INET网络仿真框架,它可以对IPv4、IPv6、以太网以及基于802.11协议建立的模型进行分析,同时还支持AODV、DSR、OLSR和一些其他MANET路由协议。所建立的模型中网络的覆盖区域是1500m×1500m,包含13个无线私有云储存网的路由节点,且其中之一兼具网关功能。使用的通道控制的最大功率和射频传输功率均为2.0mW。在第二组实验中分别使用了IEEE802.11a中规定的12个正交频频率信道和2.5GHz载波频率,以及IEEE802.11g中提供的3个不重叠频率信道和2.4GHz的频率。在节点移动性上采用稳定移动性模型。设定数据包的大小是536字节,数据流的来源为TCP应用程序会话,等待队列的最大长度为5(阈值QLT=3)并且限定仿真运行时间为100s。

实验中可以通过改变每个路由节点的网卡数量和可用正交信道数量来分析检验了网络性能的变化。在仿真中,分别使用配置了1、2、3个射频接口的节点进行了模拟运行,此外还对基于IEEE 802.11a和IEEE 802.11g协议的网络性能测试和分析。所进行的三组实验的性能分析参数是平均往返时间(RTT)。

5.2 射频接口分析

根据网络中TCP数据流的数量变化,对路由节点的射频接口数量不同的网络进行对比实验。图8展示了实验仿真结果。很显然单接口的网络无法应对通信流量较大的情况,RTT随着TCP数据流的增加急剧上升,这是因为每个射频接口都工作同一频率会产生大量的跨数据流与数据流内的干扰,网络中的数据链路便因为干扰变得异常拥塞。还可以看出,增加射频接口数量可以显著提高网络性能,多接口意味着能减少逻辑链路的信道冲突,进而减少干扰避免拥塞。为了避免拥塞,路由节点可以切换信道,可是与其他节点交换拥塞信息和控制信息会增加网络时延。而在使用3个NICs时,因为增加了网络容量反而能够减少节点进行信道切换的几率。

图8 使用不同射频接口数时RTT的对比

5.3 协议标准分析

如图9所示中,设定网络中路由节点都配置有3个NICs,比较使用IEEE 802.11a和IEEE 802.11g标准的网络的RTT随全网TCP数据流的数量变化的变化情况。可以看出,在IEEE 802.11g标准下网络的RTT更高,这是因为其较低的数据速率,并且只有3个非重叠的信道,意味着信道更容易产生拥塞。

图9 使用不同协议标准时RTT的对比

5.4 信道数量分析

图10 显示了使用不同数量的正交信道时网络RTT的变化情况。通过使用更多的频谱资源,能得到网络性能的明显提升。当有更多的频道被使用时,邻近的节点可以工作在不同的频段,节点间逻辑链路的信道共用情况会减少,从而避免了干扰。

图10 在不同可用信道数量下RTT的对比

6 结语

本文提出了一个多射频、多信道无线私有云储存网络的信道分配问题,并采用动态分布式信道分配方案对问题加以解决,实现了减少网络中同信道干扰和链路拥塞的目标。首先,本文使用了等待队列的长度作为每个无线路由器中拥塞情况的度量参数。为了维持网络的连通性,节点需要预先通知其相邻节点然后再执行切换信道的操作,且只有队列长度达到门限值时才会进行。该算法对拥塞节点进行信道的动态分配,并记录拥塞和信道切换信息为未来的分配提供依据。通过实验表明,本文提出的无线私有云储存网络信道分配机制,在提高网络连通性的同时,能够有效地控制整体网络延迟的增加。

猜你喜欢

报文链路信道
基于J1939 协议多包报文的时序研究及应用
一种移动感知的混合FSO/RF 下行链路方案*
以太网QoS技术研究及实践
基于凸优化的FSO/RF 自动请求重传协议方案
天空地一体化网络多中继链路自适应调度技术
信号/数据处理数字信道接收机中同时双信道选择与处理方法
浅析反驳类报文要点
一种高效多级信道化数字接收机的设计与实现
一种无人机数据链信道选择和功率控制方法
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片