为满足用户需求以及提高船舶网络运行效率和稳定性,进行数据传输拥塞控制是很有必要的。查找发生拥塞的节点,运用控制方法根据每个传输数据的大小来调节排列顺序,依次进行传输,不仅不会造成拥塞,还会在原有的基础上提高传输效率,并有效克服因拥塞导致的被动式丢尾、死锁、泄漏以及网络瘫痪等一系列问题。
任智等[1]提出一种基于CoAP协议的物联网数据传输拥塞控制算法,根据计算得到信号强、弱数据包传输往返时间,来判定其传输信道的拥塞状态。按照CoAP协议计算得到正常数据传输的时效标准,对超出该标准数据的信道设置拥塞控制器。该方法没有考虑到数据传输失败导致的时延问题,对拥塞数据的判定误差过大,控制精准度不高。杨华等[2]则采用一种基于博弈论的数据网络拥塞控制方法,建立数据博弈模型,提取路由器和互联网链路的数据流效用函数,根据博弈理论获取其中流量数据的带宽需求量,将其反馈给下路进行控制。该方法整体所需运算量过大,进行拥塞控制需要迭代计算的次数过多,实用价值不高。
基于上述问题,本文提出一种强化学习的船舶网络数据传输拥塞控制方法。
1 船舶网络数据传输拥塞问题描述通常情况下,船舶网络源端发送的数据包会沿着某条路径进行传输,路径中包含中间交换和储存节点。数据流则包括2种:一种是可控数据流,另一种则为不可控数据流,可控数据流是根据上一路径的反馈信息来确定具体传输速率,不可控数据流则是按照预先给定的速率进行传输[3]。出现传输拥塞主要是因为:当源端发送数据的传输速率判定错误时,由于节点缓冲就会造成拥塞问题,也称为瓶颈现象。Si(i=1,2,···,n)表示网络源端,Di(i=1,2,···,n)代表数据传输接收端。假设出现拥塞的区域设定值为x0,其发送可控数据包时的传输速率为u(t);不可控数据包的传输速率为w(t);初始速率为qi(t);网络拥塞导致的前向延伸为
$ x\left( t \right) = Sa{t_x}\left\{ {\sum\limits_{i = 1}^N {{q_i}\left( {t - {\tau _{ti}}} \right) + w\left( t \right) - \mu \left( t \right)} } \right\} ,$ | (1) |
其中:
$ Sa{t}_{x}\left\{z\right\}=\left\{\begin{array}{l}z\prec 0\\ z\succ K\\ {\rm{others}}\end{array}\right\} 。$ | (2) |
式中:
上述过程根据可控数据流和不可控数据流的传输时延判定拥塞的具体程度,为提高后续拥塞控制的精准性[4]。设定一组判定窗口,根据数据包在不同大小窗口中传输的队列长度和速率,来判定窗口对其数据拥塞程度的影响,表达公式为:
$ \frac{{{\rm{d}}W\left( t \right)}}{{{\rm{d}}t}} = \frac{1}{{R\left( t \right)}} - \frac{{W\left( t \right)}}{2} \cdot \frac{{W\left( {t - R\left( t \right)} \right)}}{{R\left( {t - R\left( t \right)} \right)}}p\left( {t - R\left( t \right)} \right),$ | (3) |
$ \frac{{{\rm{d}}q\left( t \right)}}{{{\rm{d}}t}} = \frac{{W\left( t \right)}}{{R\left( t \right)}}N\left( t \right) - C 。$ | (4) |
式中:w为窗口大小;q为数据包传输的队列长度;R(t)为数据包往返时间;C为网络信道容量;N(t)为接口连接数量;d为源端数量。假设R(t)=0为常量,源端窗口数值均具有相同变化,根据该特点确定出现拥塞和正常情况窗口的数据传输率:
$ \begin{gathered} x''\left( t \right) = \frac{N}{{{R^2}}} - \frac{{x\left( t \right)x\left( {t - {R_0}} \right)}}{{2N}}p\left( {t - {R_0}} \right),\\ {q_{ref}} = x\left( t \right) - C。\\ \end{gathered} $ | (5) |
通常上述公式可以发现,当出现传输拥塞时,数据包传输的往返时间R(t)过长,数值会增大,判定此时数据队列长度为qref。标记该队列长度的网络数据,将其作为下一步拥塞控制的对比阈值,控制后的数据传输队列长度需小于qref,由此可大大提高控制的精准度和效率。
2 网络拥塞控制实现本文采用强化学习算法建立船舶网络数据传输拥塞控制器,强化学习算法具有一定自学习能力,可在多次迭代中捕捉目标数据并给出决策行为,将其应用到拥塞控制中,其基本思想是选择一个动态环境作为对象,当环境中出现拥塞时,给出一个强化信号反馈接收点,接收点进行判断后给出决策控制行为。控制思路框架如图1所示。
根据图1给出的强化学习控制思路,结合学习算法计算船舶网络中拥塞动作和状态所对应的值函数Q(s,a),该值函数代表算法在某个状态
$ \begin{gathered} Q\left( {s,a} \right) = E\left[ {{R_t}\left| {{S_t} = s,{A_t} = a} \right|} \right] = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} E\left[ {{r_i} + \gamma Q\left( {{S_{t + 1}},{A_{t + 1}}} \right)\left| {{S_t} = s,{A_{t + 1}} = a} \right|} \right] 。\\ \end{gathered} $ | (6) |
式中:St为在
为了能获取拥塞控制最优动作值
$ {Q^*}\left( {{s_t},{a_t}} \right) = Q\left( {{s_t},{a_t}} \right) + \left[ {{r_t} + r\mathop {\max \left( {Q\left( {{S_{t + 1}},{a_{t + 1}}} \right) - Q\left( {{s_t},{a_t}} \right)} \right)}\limits_{{a_{t + 1}} \in A} } \right]。$ | (7) |
式中,rt为在
要想提高控制方法与船舶网络之间的贴合度,需要对源端进行标记,建立控制窗口,当数据包经过窗口时,通过调节窗口大小来更改数据的传输速率,进而达到传输稳定的效果。当所有数据均能遵循当下链路最佳的速率进行传输时,也就不会出现拥塞现象,实现了高效控制。
为保证控制的有效性,减少链路的丢包率,用P1表示数据传输的丢包概率[5],当每经过一个链路节点(n+1)2时,用以下公式计算实时更新:
$ {P_1}\left( {n + 1} \right) = \left[ {{P_1}\left( n \right)} \right] + \xi {\left[ {\left( {EC{S_1}\left( n \right) - EC{S_{th}}} \right)} \right]^*}。$ | (8) |
式中:
设w(n)为正常数据的控制窗口大小,由于每个数据包的拥塞概率标识会因为数据流变化而发生改变,当网络检测到拥塞标识时,设置平均控制窗口w(n+1)2的大小为:
$ w{\left( {n + 1} \right)^2} = \frac{{\left( {w\left( n \right) + 1\left( {1 - m\left( n \right)w\left( n \right)} \right) + m\left( n \right)w{{\left( n \right)}^2}} \right)}}{2}。$ | (9) |
式中:m(n)为根据数据流量大小而变化的实时数值,用于调整控制窗口的大小,当检测到链路中存在拥塞节点时,根据数据经过窗口的流量大小数值,迅速根据竞争状态调整窗口进行增减,由此约束数据的传输速率和队列长度,实现拥塞精准控制。
3 控制方法性能实验 3.1 实验设置为验证本文提出控制方法的有效性,建立船舶网络数据传输仿真平台,该平台包含单源端和多源端,每个服务器与用户之间存在3种传输方式,包含3个数据子流,每个子流为一个通信信道,作为数据传输环境。为保证实验数据的可参考性,在其中2条传输子流中添加共享瓶颈,并在子流中加入1~5个共享竞争用户,在资源传输受限的环境中减少子支流、增加动态数据数量,用于模拟真实的数据传输拥塞环境。
3.2 控制前后船舶网络吞吐量变化对比分析在上述实验环境对网络归一化吞吐量的变化情况进行测试,由此判定控制方法的优异。网络吞吐量值是指在没有失帧的情况下,系统流入、处理以及流出数据包的速率,吞吐量越高代表系统处理信息的效率越高,反之,则越差,实验结果如图2和图3所示。可以看出,未控制时船舶网络链路吞吐量整体变动较大,整体分布较低,不同链路的吞吐量之间存在较大差异。说明由于传输拥塞的影响,网络处理数据的效率下降,随着拥塞时间的增加对线路影响越来越大;反观经过本文方法控制后的吞吐量变化情况,数值明显上升且趋势走向平稳,能够稳定高效地传输数据,证明本文控制方法能够疏通拥塞链路,实现高效传输。
为了精准测试本文方法的有效性,根据节点运行的受限次数来验证方法的有效性,并与基于CoAP协议的物联网拥塞控制算法、基于博弈论的命名数据网络拥塞控制方法进行对比分析,实验结果如图4和图5所示。可以看出,经过本文方法控制后的节点受限制次数较少,在同等的传输环境下,本文方法能帮助节点实现更好更快速地数据传输,对拥塞情况控制效果较佳,使得船舶网络环境更稳定,数据运行更高效安全。
本文提出一种强化学习的船舶网络数据传输拥塞控制方法,建立网络拥塞模型,计算正常情况和拥塞情况下,数据节点的队列长度,在此基础上,再进行控制可提高控制精准度。本文考虑到拥塞节点在网络中的动态因素,采用强化学习算法学习拥塞节点的关键参数,如数据包流量、变化率以及数据竞争概率,根据这些参数与待测试拥塞点进行对比,给出最为适用的传输窗口,实现船舶网络数据传输拥塞有效控制。
[1] |
任智, 吴本源, 周舟, 等. 基于CoAP协议的泛在电力物联网拥塞控制算法[J]. 计算机工程, 2021, 47(10): 166-173. REN Zhi, WU Benyuan, ZHOU Zhou, et al. Congestion control algorithm for ubiquitous electric IoT based on CoAP protocol[J]. Computer Engineering, 2021, 47(10): 166-173. |
[2] |
杨华, 孙欣伊, 贾宗星, 等. 基于博弈论的命名数据网络拥塞控制策略[J]. 东华大学学报(自然科学版), 2021, 47(4): 49-54+61. YANG Hua, SUN Xinyi, JIA Zongxing, et al. Congestion control strategy in named data networking based on game theory[J]. Journal of Donghua University(Natural Science), 2021, 47(4): 49-54+61. |
[3] |
赵夙, 王伟, 朱晓荣, 等. 基于自适应网络编码的异构无线链路并发传输控制方法研究[J]. 电子与信息学报, 2022, 44(8): 2777-2784. ZHAO Su, WANG Wei, ZHU Xiaorong, et al. Research on concurrent transmission control of heterogeneous wireless links based on adaptive network coding[J]. Journal of Electronics & Information Technology, 2022, 44(8): 2777-2784. |
[4] |
焦贤龙, 郭松涛, 黎勇, 等. 基于相继干扰消除和跨层并发传输的物联网数据聚合调度[J]. 电子学报, 2021, 49(10): 1982-1992. JIAO Xianlong, GUO Songtao, LI Yong, et al. SIC-Based data aggregation scheduling with cross-layer concurrent transmission for internet of things[J]. Acta Electronica Sinica, 2021, 49(10): 1982-1992. |
[5] |
侯睿, 刘俊康, 张成俊, 等. 基于ZigBee的医疗监测系统自适应拥塞控制方法[J]. 中南民族大学学报(自然科学版), 2020, 39(6): 632-636. HOU Rui, LIU Junkang, ZHANG Chengjun, et al. Adaptive congestion control method for medical monitoring system based on ZigBee[J]. Journal of South-central Minzu University (Natural Science Edition), 2020, 39(6): 632-636. |