基于强化学习的拥塞窗口调整策略研究
来源:用户上传
作者: 周萍
摘 要:针对网络拥塞控制问题,结合机器学习算法,提出了基于强化学习的拥塞窗口调整(CWARL)策略。首先定义了部分网络知识来表示所感知到的网络拥塞程度,设计了动作集合以确定调整拥塞窗口的幅度,设计了兼顾吞吐量和丢包率的奖励函数。其次提出了基于Q学习的窗口调整策略,通过学习网络特征合理地调整拥塞窗口。最后使用实验评估CWARL策略,实验结果表明,提出的CWARL策略的综合性能优于所对比的拥塞控制策略。
关键词:强化学习;拥塞控制;窗口调整
中图分类号:TP391 文献标识码:A文章编号:2096-4706(2022)08-0086-03
Research on Congestion Window Adjustment Strategy Based on Reinforcement Learning
ZHOU Ping
(Nanchang Vocational University, Nanchang 330599, China)
Abstract: Aiming at the problem of network congestion control, combined with machine learning algorithms, this paper proposes a strategy of Congestion Window Adjustment based on Reinforcement Learning (CWARL). This paper first defines some network knowledge to represent the perceived degree of network congestion, designs actions set to determine the magnitude of the adjustment congestion windows, and designs a reward function to juggle throughput and packet loss rate. Second, this paper proposes a window adjustment strategy based on Q-learning, adjusts reasonably the congestion window by learning network features. Finally, it uses experiments to evaluate the CWARL strategy, and the experimental results show that the overall performance of the proposed CWARL strategy is better than the contrasted congestion control strategy.
Keywords: reinforcement learning; congestion control; window adjustment
0 引 言
网络拥塞控制策略是确保数据传输稳定性和网络资源利用公平性的网络系统关键模块。传输控制协议(Transmission Control Protocol, TCP)是当前Internet等网络主流的传输协议,TCP实现了大多数的拥塞控制机制[1]。但是,随着网络功能和服务的发展,现有的TCP已经逐渐不适应当前网络的需求。例如,TCP会将随机的数据包丢失检测为网络拥塞,从而导致数据传输性能下降[2]。对此,研究者们针对不同应用场景中的TCP协议提出了许多新颖的拥塞控制方法中[3]。在动态且资源受限的网络中计算合适的拥塞窗口是一个极具挑战的问题。然而现有的拥塞控制机制无法很好地适应快速变化的网络环境。对此,提出了CWARL,一种基于强化学习的拥塞窗口调整策略。CWARL(Congestion Window Adjustment based on Reinforcement Learning)在源节点进行在线训练,并在可用时使用网络内机制确定拥塞窗口的更新值。
1 状态、动作和奖励函数定义
CWARL策略利用发送者收集的统计数据来计算下一个拥塞窗口值。表1展示了本文选择用来构建模型状态空间的特征。其中,特征1到7是端到端的y计特征,特征8和9是网络的统计特征。端到端的特征是由发送方在每个时间间隔内进行收集。网络统计特征分别代表来自网络的部分信息(特征8)和一个表示知识量的参数(特征9)。对于每个受控制的交换机,令Pin为在给定时间间隔内接收到的数据包总数,而Pout为传出数据包的总数。然后将diff定义为|Pin-Pout|。
部分网络知识(PNK)代表了网络已知拥塞程度的指标。PNK可以使用以下公式计算:PNK=max(diff1,…,diff2)。PNK显示了当前的拥塞级别,即网络中的丢失率。PNK可以通过协议和网络测量应用程序(例如OpenFlow或NetFlow)进行测量得到。此外,将每个所选特征的k个历史窗口视为状态,以充分预测网络状况并相应地调整拥塞窗口。提出的深度强化学习算法的神经网络的输入为一个N×k矩阵,将k值设置为5。
拥塞窗口是连接状态变量之一,TCP使用它来限制发送方在收到ACK之前可以传输的数据量。在有损链路中,当丢包发生后,TCP会通过过度地减少拥塞窗口来大幅度地降低传输速率,从而对端到端传输性能产生负面影响。因此,利用基于RL的在线训练算法来正确更新拥塞窗口。CWARL的动作是用来确定拥塞窗口的改变量,拥塞窗口改变量所构成的集合很大,并且与RL系统的奖励相关。所使用的动作集合为:A={-10,-3,-1,0,1,3,10}。
nlc202208231447
转载注明来源:https://www.xzbu.com/1/view-15438088.htm