基于深度学习的TCP拥塞控制版本识别方法和装置转让专利

申请号 : CN201811594006.0

文献号 : CN111371689B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晓宇徐树公陈旭东曹姗张舜卿

申请人 : 上海大学

摘要 :

一种基于深度学习的TCP拥塞控制版本识别方法和装置,在TCP数据流传输过程中,以被动检测的方式在服务端侧采集不同条件下的各种TCP拥塞控制机制的相关信息,用于对深度学习模型进行离线训练,将训练后的特征模型在线识别各种类型的拥塞控制机制。本发明采用深度学习的方式建立识别模型,可以同时应用在有线和无线环境、可以联合服务端侧以及终端侧的采集信息进行识别,同时对各种类型的拥塞控制机制,如基于延迟,基于丢包和新型拥塞控制机制等,都有很高的识别准确率。

权利要求 :

1.一种基于深度学习的TCP拥塞控制版本识别方法,其特征在于,在TCP数据流传输过程中,以被动方式采集不同条件下的各种TCP拥塞控制机制的相关信息,用于对深度学习模型进行离线训练,将训练后的特征模型在线识别各种类型的拥塞控制机制;

所述的被动方式采集是指:在基站侧和中间节点构成的服务端侧采集或在终端侧采集;

所述的TCP相关信息包括:基站侧或中间节点构成的服务端侧的状态信息、终端侧的TCP数据流信息;

所述的状态信息包括:在无线网络中,基站侧的无线链路控制层的缓冲区尺寸状态信息、分组数据汇聚协议层的延迟信息;在有线网络中,中间节点的空中数据包变化信息;

所述的TCP数据流信息包括:连接的单向延迟和吞吐量;

所述的深度学习模型为两层长短时记忆网络和两层Dense layer连接的模型,能够结合输入序列的上下文信息,检测输入序列时序变化特征,进而识别TCP拥塞控制机制版本。

2.根据权利要求1所述的方法,其特征是,所述的空中数据包的确定方法为:Numinflight=SendSN‑ACKSN,其中:Numinflight就是空中数据的数量情况,SendSN为TCP数据包头部的发送字段序号,ACKSN是TCP数据包头部的确认接收的字段序号。

3.根据权利要求1所述的方法,其特征是,所述的单向时延通过开启TCP timestamps选项进行测定:发送端会将TCP数据包的发送时间添加在TCP数据包头部,在终端接收时候就可以进行检测,进而计算链路的单向时延;

所述的吞吐量 其中:Tputi为终端收到第i个TCP数据包时的吞吐量,Sizei为终端接收到的第i个TCP数据包的尺寸信息,Δti为第i个TCP数据包和第i‑1个数据包的到达时间差。

4.根据权利要求1所述的方法,其特征是,所述的训练后的特征模型是指:使用各种TCP拥塞控制机制在不同条件下的采集信息对深度学习模型进行训练,构建了不同TCP拥塞控制机制的特征模型以识别各种类型的拥塞控制机制。

5.一种实现权利要求1~4中任一所述方法的装置,其特征在于,包括:部署在终端侧的第一信息采集单元和用于监听上行链路空闲状态的终端上报单元、部署在服务端侧的第二信息采集单元、包含深度学习模型的识别处理单元和反馈处理单元,其中:第一和第二信息采集单元分别采集TCP连接持续阶段终端侧的TCP数据流信息和服务端侧状态信息,并添加时间戳标记;终端上报单元将TCP数据流信息上报到基站侧识别处理单元;识别处理单元根据状态信息和TCP数据流信息进行时域对齐,利用深度学习模型进行TCP拥塞控制机制的识别;

所述的服务端侧包括基站和中间节点,即在无线网络中,位于基站的第二信息采集单元采集RLC buffer变化情况和pdcp层时延;在有线网络中,位于中间节点的第二信息采集单元采集TCP数据流并分析inflight变化情况。

6.根据权利要求5所述的装置,其特征是,所述的识别处理单元中设有用于时域对齐的缓冲区,该缓冲区采用环形缓冲区设计,对若干组数据进行缓冲,当缓冲长度满足识别模型需求时则将其输入深度学习模型进行识别。

7.根据权利要求5所述的装置,其特征是,所述的时域对齐是指:将时间戳标记在允许范围内的TCP数据流信息和状态信息,通过均匀抽样的方法构成一组信息。

8.根据权利要求5所述的装置,其特征是,所述的监听上行链路是指:终端上报单元向基站节点发送请求信息,若基站反馈信息没有分配上行资源,表明上行链路被占用,终端上报单元采用类载波监听多路访问/碰撞避免(CSMA/CA)的退避方式重新发送请求,退避的次数小于等于3次,否则将数据丢弃以减小对识别结果实时性的影响。

9.根据权利要求5所述的装置,其特征是,在服务端侧进一步设有反馈处理模块,该反馈处理模块根据识别处理模块的识别结果做出服务端侧针对不同TCP拥塞控制版本作出优化配置操作,以提高TCP链路的性能。

10.根据权利要求9所述的装置,其特征是,所述的优化配置操作包括:排队策略的更改,缓冲队列尺寸调整。

说明书 :

基于深度学习的TCP拥塞控制版本识别方法和装置

技术领域

[0001] 本发明涉及的是一种信息网络领域的技术,具体是一种基于深度学习的TCP拥塞控制版本识别方法和装置,可以部署在移动边缘计算(MEC)场景中。

背景技术

[0002] 随着通信网络不断发展,无线网络部署也越来越广泛。考虑到无线网络和有线网络的无缝连接,无线网络依旧沿用TCP/IP架构,使用传输控制协议(TCP)中的拥塞控制
(congestion control)机制来避免网络拥塞,以及应对无线信道导致的丢包。从现有研究
情况来看,拥塞控制机制能够有效提高终端用户吞吐量,降低时延,是现代网络避免网络拥
塞的重要保障。
[0003] 现有的拥塞控制机制包括主动识别和被动测量两种机制,前者包括Congestion Avoidance Algorithm Identification(CAAI)(拥塞控制机制也叫拥塞避免机制),通过收
集TCP数据包进而提取拥塞控制机制的乘减因子和窗口增长函数两个特征,然后通过K近邻
(KNN)的方法在训练模板中匹配相近版本完成14种TCP拥塞控制机制的识别。后者通过在靠
近服务器侧的中间节点采集TCP数据包流并分析TCP链接的byte‑in‑flight值(即inflight
值)后预测服务器端的发送窗口(cwnd)大小和回退因子(back‑off factor)。
[0004] 但上述两种方法都存在一定的不足之处:主动识别方式需要对现有流量做出修改并造成对现有流量的影响,在异构网络中较难推广;被动测量识别的准确性很大程度受制
于特征提取的准确性(回退因子)且只能适用于有线链路网络。此外上述两种方式都需要消
耗较大的计算资源,引入额外的延迟,降低识别算法的速度。

发明内容

[0005] 本发明针对现有技术存在的上述不足,提出一种基于深度学习的TCP拥塞控制版本识别方法和装置,在服务端侧,即基站侧或中间节点使用被动检测的方式对现有TCP拥塞
控制机制版本进行识别。通过分析在服务端侧和终端侧收集的TCP数据信息直接进行识别,
避免特征提取带来的人为误差。此外本发明采用深度学习的方式建立识别模型,可以同时
应用在有线和无线环境、联合服务端侧以及终端侧的采集信息进行识别,同时对各种类型
的拥塞控制机制,如基于延迟,基于丢包和新型拥塞控制机制等,都有很高的识别准确率。
[0006] 本发明是通过以下技术方案实现的:
[0007] 本发明涉及一种基于深度学习的TCP拥塞控制版本识别方法,在TCP数据流传输过程中,以被动检测的方式在服务端侧采集不同条件下的各种TCP拥塞控制机制的相关信息,
用于对深度学习模型进行离线训练,将训练后的特征模型在线识别各种类型的拥塞控制机
制。
[0008] 所述的被动方式采集是指:在基站侧和中间节点构成的服务端侧或终端侧采集。
[0009] 所述的TCP相关信息包括:服务端侧的状态信息、终端侧的TCP数据流信息。
[0010] 所述的深度学习模型为两层长短时记忆网络(LSTM)和两层Dense layer连接的模型,能够结合输入序列的上下文信息,符合检测输入序列时序变化特征的进而识别TCP拥塞
控制机制版本的需求。
[0011] 所述的训练后的特征模型是指:使用各种TCP拥塞控制机制在不同条件下的采集信息对深度学习模型进行训练,构建了不同TCP拥塞控制机制的特征模型以识别各种类型
的拥塞控制机制。
[0012] 所述的状态信息包括:在无线网络中,基站侧的无线链路控制层(Radio Link Control layer,RLC层)的缓冲区尺寸状态信息、分组数据汇聚协议层(Packet Data 
Convergence Protocol layer,PDCP层)的延迟信息;在有线网络中,中间节点的空中数据
包(inflight)变化信息。
[0013] 所述的空中数据包的确定方法为:Numinflight=SendSN‑ACKSN,其中:Numinflight就是空中数据的数量情况,SendSN为TCP数据包头部的发送字段序号,ACKSN是TCP数据包头部的
确认接收的字段序号。
[0014] 所述的TCP数据流信息包括:TCP连接的单向延迟和吞吐量。
[0015] 所述的单向时延通过开启TCP timestamps选项进行测定:发送端会将TCP数据包的发送时间添加在TCP数据包头部,在终端接收时候就可以进行检测,进而计算链路的单向
时延。
[0016] 所述的吞吐量 其中:Tputi为终端收到第i个TCP数据包时的吞吐量,Sizei为终端接收到的第i个TCP数据包的尺寸信息,Δti为第i个TCP数据包和第i‑1个数据
包的到达时间差。
[0017] 本发明涉及一种实现上述方法的装置,包括:部署在终端侧的第一信息采集单元和用于监听上行链路空闲状态的终端上报单元、部署在服务端侧的第二信息采集单元、包
含深度学习模型的识别处理单元和反馈处理单元,其中:第一和第二信息采集单元分别采
集TCP连接持续阶段终端侧的TCP数据流信息和服务端侧状态信息,并添加时间戳标记;终
端上报单元将TCP数据流信息上报到基站侧识别处理单元;识别处理单元根据状态信息和
TCP数据流信息进行时域对齐,利用深度学习模型进行TCP拥塞控制机制的识别。
[0018] 所述的服务端侧包括基站和中间节点,即在无线网络中,位于基站的第二信息采集单元采集RLC buffer变化情况和PDCP层时延;在有线网络中,位于中间节点的第二信息
采集单元采集TCP数据流并分析inflight变化情况。
[0019] 所述的时间戳标记即为采集信息时刻的系统时间。
[0020] 所述的监听上行链路是指:终端上报单元向基站节点发送请求信息,若基站反馈信息没有分配上行资源,表明上行链路被占用,终端上报单元采用类载波监听多路访问/碰
撞避免(CSMA/CA)的退避方式重新发送请求,优选退避的次数小于等于3次,否则将数据丢
弃以减小对识别结果实时性的影响。
[0021] 所述的识别处理单元中优选设有用于时域对齐的缓冲区,该缓冲区采用环形缓冲区设计,对若干组数据进行缓冲,当缓冲长度满足识别模型需求时则将其输入深度学习模
型进行识别。
[0022] 所述的缓冲长度可根据应用场景识别任务的速度响应需求重新部署。
[0023] 所述的时域对齐是指:将时间戳标记在允许范围内的TCP数据流信息和状态信息,通过均匀抽样的方法构成一组信息。
[0024] 所述的装置,在服务端侧进一步设有反馈处理模块,该反馈处理模块根据识别处理模块的识别结果做出服务端侧的优化配置操作,包括且不限于排队策略的更改,缓冲队
列尺寸调整等,针对不同TCP拥塞控制版本作出优化配置操作,以提高TCP链路的性能。
[0025] 技术效果
[0026] 与现有技术相比,本发明采用被动检测的方式,在基站或中间节点采集信息,同时联合终端侧采集到的信息。该发明直接使用采集数据进行训练,从而避免特征参数提取时
引入的人为误差,本发明识别准确性能够达到98.2%。本发明采集多个维度的数据信息进
行训练,避免了单一维度采集信息对可识别拥塞控制机制种类的影响,通过与深度学习模
型相结合,充分考虑采集信息在时序和空间上的相关性,可以很好识别各种类型的拥塞控
制机制,包括最新的拥塞控制机制。此外,本发明仅需在服务端侧部署,对终端侧微小改动
即可实现于无线和有线并存的异构网络。

附图说明

[0027] 图1为基于深度学习的TCP拥塞控制版本识别示意图;
[0028] 图2为基站(中间节点)和终端识别协助模块实现示意图;
[0029] 图3为TCP拥塞控制机制版本识别使用的深度学习模型;
[0030] 图4为基于深度学习的TCP拥塞控制版本识别方法总流程图;
[0031] 图5为有线网络拓扑结构示意图;
[0032] 图6为无线网络拓扑结构示意图。

具体实施方式

[0033] 如图1和图2所示,本实施例搭建了有线和无线网络拓扑结构,来验证本发明在有线环境和无线环境的识别准确率。挑选了六种TCP拥塞控制算法用于训练和测试,这六种算
法代表不同类型拥塞控制机制,分别是基于丢包的Cubic、NewReno和Hybla算法,基于时延
的Vegas和Westwood算法,以及新提出的基于最小带宽延迟积的BBR算法。其中Westwood算
法由于在无线环境工作正常,仅用于在无线环境下进行测试。
[0034] 本实施例具体包括步骤:
[0035] 步骤1、信息采集单元的信息获取:将通过被动检测的方式收集TCP连接持续状态下的数据。具体为服务端侧的状态信息,包括无线环境下基站的RLC层缓冲区变化情况和
PDCP层的延迟,以及有线环境下TCP连接的相关数据信息。在终端侧,则收集TCP数据流信
息。
[0036] 步骤2、信息采集单元指标计算和时间戳标记:根据TCP数据包头信息计算吞吐量和单向时延,并为采集数据添加时间戳标记,即为采集信息时刻的系统时间,其中:
[0037] a.单向时延的测定需要开启TCP timestamps选项,在这种情况下,发送端会将TCP数据包的发送时间添加在TCP数据包头部,在终端侧,用接收时间和发送时间相减,即为TCP
数据包经历的链路单向延迟。
[0038] b.吞吐量 其中:Tputi为终端收到第i个TCP数据包时的吞吐量,Sizei为终端接收到的第i个TCP数据包的尺寸信息,Δti为第i个TCP数据包和第i‑1个数据包到
达时间差。
[0039] c.无线环境下基站侧的状态信息通过监测获得,有线环境下中间节点的空中数据包计算方法为:Numinflight=SendSN‑ACKSN,其中:Numinflight就是空中数据的数量情况,SendSN
为TCP数据包头部的发送字段序号,ACKSN是确认接收的字段序号。
[0040] 步骤3、上行链路的空闲状态监测:终端上报单元接收来自终端信息采集单元的信息并向基站节点发送请求信息,若基站反馈信息没有分配上行资源,表明上行链路被占用,
终端上报单元采用类载波监听多路访问/碰撞避免(CSMA/CA)的退避方式重新发送请求,优
选退避的次数小于等于3次,否则将数据丢弃以减小对识别结果实时性的影响。
[0041] 步骤4、识别处理单元的数据缓冲和时域对齐:优选为缓存TCP数据流信息和服务端侧采集的状态信息,并对其中时间戳标记在允许范围内的TCP数据流信息和基站(或中间
节点)采集的状态信息采用均匀抽样的方法对这组信息进行时域对齐,即构成一组信息。
[0042] 步骤5、识别处理单元的缓冲区检测:缓冲长度满足识别模型需求,则将该长度缓冲数据送入深度学习模型进行离线训练以及在线识别,具体步骤包括:
[0043] 步骤5.1)在离线训练阶段,采用两层LSTM和两层Dense layer相连的网络进行训练。网络输入为一组包含服务端侧状态信息和终端侧吞吐量和单向时延的数据。该数据的
时间长度可变,但应在训练和测试时保持一致,输入样本的标签为,采集训练数据时候使用
的TCP拥塞控制机制版本。
[0044] 离线训练的参数设置,用于模拟各种场景提高模型鲁棒性,包括高延时,高带宽,高拥塞等场景,采集不同TCP拥塞控制机制下的服务端侧的状态信息和终端侧的TCP数据信
息,用于模型训练。其中有线网络的TCP拥塞控制机制包括:Cubic、NewReno、Hybla、Vegas、
BBR,有线链路的总往返时延范围设置为40至100ms,带宽设置为5‑10Mbps,缓冲区延迟带宽
积(BDP)设置为1‑10,参数选取符合均匀分布,训练集和测试集数量分别为16800和900;无
线网络的拥塞控制机制包括:Cubic、NewReno、Hybla、Vegas、Westwood和BBR,上下行链路的
资源块数设置范围为6,15和25,核心网的延迟设置为5至45ms,基站RLC层的buffer最大尺
寸设置为100‑700packets,最大传输单元设置为1500Bytes,参数选取符合均匀分布,训练
集和测试集的数目分别是4320和1440。
[0045] 所述的离线训练阶段的损失函数为交叉熵:H(y,y′)=Hy′(y)=‑∑iyi′log(yi)),其中:y是TCP拥塞控制机制的预测概率分布,y′是TCP拥塞控制机制在训练集中的实际概率
分布。
[0046] 步骤5.2)在线识别阶段,部署于服务端侧的深度学习模型采用两层长短时记忆网络(LSTM)和两层Dense layer连接来对TCP拥塞控制机制的版本进行识别。
[0047] 步骤6、反馈处理单元响应识别结果:使用混淆矩阵和机器学习常见的指标,对本发明方法的识别准确性进行评价。结果如下:从表可以看出,本发明所设计的方法,在有线
和无线的环境中都实现了较高的识别准确率,其中有线的总识别准确率为99.8%,无线环
境的总识别准确率为98.2%,高于现有技术95%的准确率。
[0048] 本发明对不同种类的TCP拥塞控制机制也有很高的识别准确率,包括基于丢包的Cubic、NewReno、Hybla,基于时延的Vegas和Westwood,还有新提出的基于延迟带宽积的BBR
等。
[0049] 表1有线网络拥塞控制机制识别混淆矩阵
[0050]   BBR Cubic NewReno Hybla VegasBBR 179 1 0 0 0
Cubic 0 179 1 0 0
NewReno 0 0 180 0 0
Hybla 0 0 0 180 0
Vegas 0 0 0 0 180
[0051] 表2有线网络拥塞控制机制识别结果
[0052]
[0053]
[0054] 表3无线网络拥塞控制机制识别混淆矩阵
[0055]   BBR Cubic NewReno Hybla Vegas WestwoodBBR 240 0 0 0 0 0
Cubic 0 227 13 0 0 0
NewReno 0 0 238 0 0 0
Hybla 0 0 0 229 0 0
Vegas 0 0 0 0 240 0
Westwood 0 0 0 0 0 240
[0056] 表4无线网络拥塞控制机制识别结果
[0057]  精确度 召回率 F1分数 样本数
BBR 1.000 1.000 1.000 240
Cubic 0.991 0.996 0.968 240
NewReno 0.915 0.992 0.952 240
Hybla 1.000 0.954 0.976 240
Vegas 0.992 1.000 0.996 240
Westwood 1.000 1.000 1.000 240
平均/总计 0.983 0.982 0.982 1440
准确率 0.982      
[0058] 上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所
限,在其范围内的各个实现方案均受本发明之约束。