1.一种面向加密流量分类的TCP数据增强方法,其特征在于,包括以下步骤:包括以下步骤:步骤1,对采集的流量数据进行预处理:从每条流量中按照时间顺序记录每个数据包的长度大小,按照流量类型生成分类标签,得到每条流的包长度序列,并对包长度序列进行长度统一化处理;
步骤2,根据多路径传输机制,通过创建两条以上独立路径,为每条路径设定随机延迟、丢包率和带宽,并利用哈希函数将数据包分配到不同路径;通过按传输延迟排序重组数据包,实现数据包乱序增强;
步骤3,利用滑动窗口机制,模拟数据包传输过程中随机丢包,触发重传机制,重发数据包插入到增强队列中,实现生成数据包重传增强;
步骤4,根据TCP的拥塞控制机制控制数据包传输的大小,根据最大报文段大小MSS的动态调整和数据包往返时间RTT的状态变化,对拥塞控制阶段进行相应调整,对数据包进行动态分段控制,调整数据包长度大小,实现数据包长度特征增强。
2.根据权利要求1所述的方法,其特征在于,步骤1包括:
步骤1‑1,捕获原始网络数据流,提取关键字段,包括:IP 数据包长度、时间戳,以及五元组:源 IP、目的 IP、源端口、目的端口、协议类型;
步骤1‑2,按五元组(src_ip, dst_ip, src_port, dst_port, protocol) 分组为独立流,对每个流内的数据包按时间戳升序排列;其中src_ip表示源 IP,dst_ip表示目的 IP,src_port表示源端口,dst_port表示目的端口,protocol表示协议类型;
步骤1‑3,对每条流的数据包长度序列进行统一化处理,如果数据包数量不足N长度,用零填充,如果数据包数量超出N长度,进行截断;
步骤1‑4,为每条数据包长度序列关联一个标签label;
步骤1‑5,将处理好的数据保存为CSV文件格式,其中每一行前N列表示数据包长度序列,最后一列表示流的标签,分离数据包长度序列和标签,提取label标签列,对标签编码,将分类标签标准化为数值,将数据包长度序列作为特征存储到数据类中,转换为NumPy数组。
3.根据权利要求2所述的方法,其特征在于,步骤2包括:
步骤2‑1,动态路径初始化处理:创建两条以上独立路径,设置路径数量取值范围,每条路径设置以下动态参数:队列长度Q,用于记录当前待传输的数据包大小;动态延迟值D,用于模拟真实网络中多种因素导致的延迟波动;丢包率q,用于统计最新的丢包次数;动态带宽B,用于周期性地测量实际传输速率;
步骤2‑2,设置动态带宽B,通过周期性触发检查更新一次带宽,检查当前时间与上次带宽更新的时间之间的差值,如果差值大于预设的带宽更新间隔,触发带宽的更新,公式为: (1),
(2),
其中,拥塞级别c是当前队列长度 Q 与队列长度阈值 的比值; 是路径基础带宽;
是拥塞敏感系数; 是带宽扰动权重; 是高斯噪声;
步骤 2‑3,设置动态延迟值:根据当前的队列长度Q和动态带宽B计算平均延迟 ,公式为: (3), (4),其中 是延迟标准差, 为路径的基础延迟,每次数据包进入时更新队列长度Q,更新和 ;
步骤 2‑4,设置动态丢包率 :
(5),
其中, 是基础丢包率; 是调节系数;
步骤 2‑5,分配数据包到路径:计算每条路径的权重,根据路径i的权重和所有路径的总权重计算得到每条路径的选择概率 : (6),
(7),
其中, 是第i条路径的权重, 是路径当前的可用带宽, 是路径的实时平均延迟;
构建哈希概率映射,利用数据包长度特征作为哈希输入的特征,使用哈希函数SHA‑256对生成的字符串进行哈希处理,得到一个固定长度的哈希值取模归一化到[0,1),使用二分查找匹配累积概率区间,确定选择路径;
步骤 2‑6,每个数据包到达路径时需要增加一个延迟值D,用于模拟真实网络中多种因素导致的延迟波动,公式为: (8),
(9),其中, 是路径的基础延迟,从标准正态分布 中生成随机噪声; 是传输时延, 是当前数据包大小; 是网络拥塞导致的等待时间, 是传输延迟系数;
步骤 2‑7,重组乱序数据包:每个数据包在发送时都需要添加一个时间戳,接收端计算时间戳与动态延迟值D的和作为数据包到达接收端的时间,根据到达的先后顺序进行排序,形成最终的乱序序列。
4.根据权利要求3所述的方法,其特征在于,步骤3包括如下步骤:
步骤 3‑1,初始化参数:初始阶段为慢启动阶段,设置初始拥塞窗口cwnd、慢启动阈值、最大窗口 和最小窗口 ,以及最大报文段大小MSS;MSS是指TCP协议中单个数据段能携带的应用数据的最大字节数;
步骤 3‑2,动态窗口调整:分为两个阶段,第一阶段是慢启动阶段,此时,窗口 ;第二阶段是拥塞避免阶段,此时 ,每次向传输队列M中添加数据包时,计数器累加,当计数器达到慢启动阈值ssthresh时触发调整,窗口调整为 ;
步骤 3‑3,如果出现随机丢包,则缩小窗口,基于重传得到数据增强结果,在快速重传触发窗口缩小阶段,更新慢启动阈值 ,更新窗口,超时重传触发窗口缩小阶段,重置窗口 ,更新慢启动阈值
, 是超时前的窗口大小;
步骤 3‑4,设定基准丢包率 ,参数b是初始拥塞窗口cwnd对丢包率的调节权重,在慢启动阶段设置 ,在拥塞避免阶段设置 ,快速重传触发窗口缩小阶段设置 ,超时重传触发窗口缩小阶段设置 ,当b=0.3时,优先触发快速重传;当b=0.1时,优先触发拥塞避免;当b=0.5时,优先触发超时重传;根据公式(9)设置随机丢包概率 : (10),
其中 是路径在无拥塞状态下的固有丢包概率;
设置随机数 ,如果 ,则正常发送数据包到最终确认队列,如果 ,则数据包标记为丢失,加入到待确认队列中,等待重传;
步骤 3‑5,检测到丢包的重复ACK次数达到3次以上时,触发快速重传;ACK是指接收方发送给发送方的信号,用于确认已成功接收数据包;检测到延迟超过RTO周期后进行超时重传,RTO是发送方在发送数据包后,等待接收方返回确认的最大时间,设置随机数 ,快速重传概率 ,如果 ,则触发快速重传,如果 ,则触发超时重传;
步骤 3‑6,如果 ,触发快速重传,进入快速重传触发窗口缩小阶段,将数据包加入到待确认队列buf中,每收到一次接收方发送给发送方的信号ACK,将数据包传入到最终确认队列中,设置最大重复次数 ,即在第3次收到确认重传接收到的信号,数据重复之后根据步骤3‑2和步骤3‑3动态调整窗口;
步骤 3‑7,如果 ,触发超时重传,进入超时重传触发窗口缩小阶段,设置连续丢包数量S,将数据包加入到待确认队列中,设置丢包超时重传延迟范围为T,模拟超时等待,对每个丢失包等待T个数据包后触发重传,插入到T个数据包之后,保持原始包顺序,数据重复之后根据步骤3‑2和步骤3‑3动态调整窗口,直到遍历完所有的数据得到最终的数据重复增强列表。
5.根据权利要求4所述的方法,其特征在于,步骤4中,对于经过乱序增强和重传增强的数据表,执行如下步骤:步骤4‑1,初始化处理:生成随机延迟序列delays,模拟网络传输中的延迟;待确认队列buf用来模拟数据包缓冲区;最终确认队列res用于存储最终的增强处理结果;初始化拥塞控制的相关参数,包括:设置初始拥塞窗口cwnd的值为1MSS;初始化慢启动阈值ssthresh,初始值设为44MSS;初始化最大报文段大小MSS,用于覆盖不同的网络环境,设置最大报文段大小MSS的候选列表,包括不同场景下的最大报文段大小MSS候选值,并设置初始的最大报文段大小MSS;设置初始带宽,处理延迟 和基础传播延迟 ;
步骤 4‑2,动态调整最大报文段大小MSS,设置概率P=15%触发MSS缩小,从最大报文段大小MSS的候选列表中筛选所有比当前MSS小的值,取筛选结果中的最大值;设置概率P=8%模拟路径恢复探测,从候选列表中筛选所有比当前MSS大的值,取筛选结果中的最小值;
步骤 4‑3,在动态最大传输单元MTU网络环境中,TCP通过实时感知路径最大传输单元MTU变化,触发最大报文段大小MSS的主动调整,直接影响往返时间RTT计算,计算RTT值: (11);
步骤 4‑4,数据包处理:在每个往返时间RTT内,基于动态最大报文段大小MSS分片策略和拥塞窗口限制,将数据包拆分为合规的报文段;
步骤 4‑5,调整结果,将当前往返时间RTT内的处理过的数据包数据加入最终结果;根据传输状态调整拥塞窗口和慢启动阈值;
步骤 4‑6,固定序列长度,对结果进行填充或截断,调整为固定长度,最终输出长度特征增强的数据包长度序列。
6.根据权利要求5所述的方法,其特征在于,步骤4‑4包括:
步骤 4‑4‑1,延迟处理:从预生成的动态延迟序列delays中取出一个延迟值,从RTT时间窗口中扣除延迟值,得到剩余往返时间remaining_RTT,如果剩余往返时间remaining_RTT ≤0,表示当前窗口时间耗尽,停止发送数据到数据包缓冲区buf中,直接发送到最终确认队列res中;如果 剩余往返时间remaining_RTT > 0,继续发送数据包到数据包缓冲区buf中,进行数据包大小分段处理;
步骤 4‑4‑2,数据包处理:将数据存储在输入input队列里,每次从输入input队列中取出一个数据包,加入到数据包缓冲区buf中,进行下一步的操作;
步骤 4‑4‑3,如果数据包的大小小于最大报文段大小MSS,不立即发送数据包,先将数据包缓存到数据包缓冲区buf中,当数据包缓冲区buf的数据包累积到等于或超过最大报文段大小MSS时,发送一个完整的报文段到最终确认队列res中,并从数据包缓冲区buf中减去最大报文段大小MSS,剩余的数据包继续存储在数据包缓冲区buf中,进行下次的累加;如果数据包大小已经大于或等于最大报文段大小MSS,直接发送到最终确认队列res中;
步骤 4‑4‑4,根据拥塞窗口的限制,检查当前发送量是否超过拥塞窗口,如果数据包缓冲区buf的大小大于或等于当前的拥塞窗口,则说明数据包已经超过了当前可用的窗口大小,停止发送数据包,等待网络状态恢复;
步骤 4‑4‑5,处理剩余缓冲区,如果数据包缓冲区buf中仍有未发送的数据,且当前窗口时间未耗尽,则将未发送的数据直接加入最终确认队列res中;
步骤 4‑4‑6,每次往返时间RTT内的数据包处理完后,重新生成一个新的往返时间RTT,从动态延迟序列delays中取出下一个延迟值,模拟数据包传输,循环操作步骤4‑4‑1到步骤
4‑4‑5,直到处理完所有的数据包。
7.根据权利要求6所述的方法,其特征在于,步骤4‑5包括:
步骤4‑5‑1,调整拥塞窗口,如果往返时间RTT未用尽,即发送方在估计的往返时间RTT内收到了确认ACK信号,表示成功传输数据包,调整cwnd,如果cwnd小于慢启动阈值ssthresh,进入慢启动阶段;否则进入拥塞避免阶段;
步骤4‑5‑2,如果往返时间RTT用尽,即发送方在预估的往返时间RTT内没有收到某个数据包的确认ACK信号,表示发生丢包,重置的大小为一个最大报文段大小MSS,慢启动阈值ssthresh设为当前cwnd的一半,重新进入慢启动阶段。
8.一种基于权利要求1 7任一项所述的方法实现的面向加密流量分类的TCP数据增强~系统,其特征在于,包括:
数据预处理模块,用于对采集的网络数据进行预处理形成数据增强的特征输入;
乱序特征增强模块,用于,通过多路径传输机制设置多条路径,利用哈希函数将数据包分配到不同路径,增加延迟并按传输延迟顺序进行排序,重组数据包;
重传数据增强模块,用于,在动态窗口调整中,设置丢包而触发重传机制,进行重发数据包插入到增强队列中;
数据包长度特征增强模块,用于,利用动态调整最大报文段大小MSS,在每个往返时间RTT内根据拥塞窗口和动态分段控制算法处理数据包,调整序列中数据包的长度大小特征。
9.一种流量分类设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1 7任一项所述的~方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1 7任一项所述的方法的步骤。
~