CN116708280A - 一种基于乱序度容忍的数据中心网络多路径传输方法 - Google Patents
一种基于乱序度容忍的数据中心网络多路径传输方法 Download PDFInfo
- Publication number
- CN116708280A CN116708280A CN202310987243.8A CN202310987243A CN116708280A CN 116708280 A CN116708280 A CN 116708280A CN 202310987243 A CN202310987243 A CN 202310987243A CN 116708280 A CN116708280 A CN 116708280A
- Authority
- CN
- China
- Prior art keywords
- data
- stream
- group
- field
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 165
- 238000000034 method Methods 0.000 title claims abstract description 31
- 241000470001 Delaya Species 0.000 claims description 4
- 230000001934 delay Effects 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 2
- 238000009825 accumulation Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 8
- 230000008713 feedback mechanism Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000005507 spraying Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络信息技术领域,具体涉及一种基于乱序度容忍的数据中心网络多路径传输方法,包括根据数据包的头部信息识别数据流与数据流类型,根据数据流类型与网络负载确定数据流的组间隔,根据组间隔将数据流中的数据包均匀分组,计算每个传输路径的排队时延,每个数据包选择传输路径时,先排除排队时延小于上一组最大排队时延的传输路径,之后在剩下的传输路径中选择排队时延最小的传输路径。本发明以数据包为转发粒度,提高了链路的使用效率,使多路径传输的流量更加均衡,避免了核心交换机的拥堵现象,减少了队列堆积的问题。
Description
技术领域
本发明涉及网络信息技术领域,具体涉及一种基于乱序度容忍的数据中心网络多路径传输方法。
背景技术
数据中心网络作为数据中心的传输网络,连接了数据中心内部的各种计算节点、存储设备和网络设备,提供了高带宽、低延迟的通信通道。随着人工智能应用转向大模型,分布式部署,通信逐渐成为了人工智能应用的性能瓶颈。数据中心网络采用高速网络设备和优化的网络拓扑结构,能够实现快速的数据传输和低延迟的通信,为人工智能应用提供高效可靠的网络环境。
目前针对数据中心网络传输优化的方向主要有如下三个方向:①定制化的硬件加速:采用高速网络设备、以可编程逻辑器件(FPGA)辅助加速等硬件设备升级的方式,以满足数据中心网络的高并发传输需求;②多路径传输:通过利用数据中心网络中的多条路径来同时传输数据,以提高传输带宽和吞吐量;③优化数据中心架构:设计如自适应网络拓扑、分布式存储和计算等数据中心架构,以提高数据中心网络的整体性能。
然而,方向①定制化的硬件与方向③优化数据中心架构均具有成本昂贵,不利于后期数据中心升级等缺点。特别是在近年数据中心应用的发展过程中,云计算、分布式机器学习等新兴应用产生的主要是横向流量(数据中心内部交互的流量),因此对于数据中心的可拓展性具有较高要求。
方向②多路径传输的优化策略是通过在转发流量时利用多条转发路径,将数据流量分散到多个传输路径上,通过感知各个传输路径的负载情况,实现负载均衡和并行传输,从而减少网络拥塞和瓶颈问题。相比于方向①定制化的硬件与方向③优化数据中心架构,方向②多路径传输无需购买定制化设备,通过普通商业交换机、新型可编程交换机等设备直接在网络层部署,实现与服务器解耦的传输优化升级。方向②多路径传输在更有利于后期数据中心网络的拓展与升级的同时还具有低成本的优势,更具有大规模推广部署的可行性。
方向②多路径传输的优化方案有如下几类:方案A基于流的多路径传输策略,如等价多路径(ECMP);方案B基于数据包的多路径传输策略,如随机包选择(RPS)、数据包路由(DRILL);方案C多路径传输控制协议,如多路径传输控制协议(MPTCP)。其中方案C多路径传输控制协议并非针对数据中心网络提出,在数据中心网络部署时需要对服务器端的操作系统进行修改裁剪,并且其不兼容传统的传输控制协议(TCP协议),同时对网络设备也具有额外的要求,所以在数据中心网络传输优化中一般不采用。
现有的方案A基于流的多路径传输策略不能有效利用多路径带宽,存在着负载不均衡、易在核心交换机造成网络拥堵现象的问题。以常用的ECMP为例,ECMP以数据流为转发粒度,特定的数据流在特定传输路径上传输,虽然避免了乱序的问题,但是对于单条流而言,对链路的利用有限,并且由于哈希函数的随机性问题,容易在核心交换机形成多对一传输,造成核心交换机网络拥堵现象,引发大量丢包。
现有的方案B基于数据包的多路径传输策略没有针对当前新兴的分区/聚合的流量模式进行优化,以随机哈希函数为基础的转发策略容易带来严重乱序的问题。以队列时延感知的包喷洒(Queueing Delay Aware Packet Spraying,QDAPS)为例,该方法以队列时延感知的方式减少了多路径传输时的乱序影响,但是以严格时延排序的方式,容易使同一数据流的数据包倾向于在同一路径上传输,造成队列积累的现象。而队列积累的现象导致各个传输路径上的流量分布不均匀,使传输反而更易乱序。
发明内容
为解决上述问题,本发明提供一种基于乱序度容忍的数据中心网络多路径传输方法。
该方法包括:
步骤一,定义流信息表,流信息表包括:流序号字段、流类型/>字段、流长度/>字段、组内序号/>字段、最大组内时延/>字段、前一组最大时延/>字段、组间隔/>字段和时间戳/>字段;
步骤二,根据数据包的头部信息计算数据包的流序号,并读取数据包的长度,根据流序号定位数据包所属数据流,重新计算数据包所属数据流的数据流长度,根据流序号与数据流长度更新流序号字段与流长度/>字段;
步骤三,根据数据流长度判断数据流类型,并更新流类型字段;
步骤四,根据数据流类型与网络负载设定数据流的组间隔,使用组间隔/>更新组间隔/>字段;
步骤五,根据组间隔为数据包分组并生成数据包的组内序号,使用组内序号更新组内序号/>字段;
步骤六,计算每个传输路径的排队时延;
步骤七,根据时间戳字段计算数据包与前一个数据包的发包间隔时间,并用当前时间更新时间戳/>字段;
步骤八,基于发包间隔时间更新最大组内时延字段与前一组最大时延/>字段,通过比较每个传输路径的排队时延/>与前一组最大时延/>字段,为数据包选择传输路径,使组内数据包之间无序传输,组间数据包之间有序传输;
步骤九,判断数据包选择的传输路径的排队时延是否大于最大组内时延字段,若是,则使用传输路径的排队时延/>更新最大组内时延字段。
进一步的,步骤三具体包括:
数据流的长度大于预设阈值的数据流类型为长流,数据流的长度不大于预设阈值/>的数据流类型为短流。
进一步的,步骤四所述根据数据流类型与网络负载设定数据流的组间隔,具体包括:
定义流类型基数和网络负载基数/>分别反映数据流类型与网络负载对网络传输效率的影响;
设定数据流的组间隔为流类型基数/>和网络负载基数/>之和。
进一步的,步骤六具体包括:
传输路径的排队时延为:
;
其中,代表根据经验值预估的传输路径的队列中数据包的平均长度,/>代表传输路径的队列长度,/>代表传输路径的路径带宽。
进一步的,步骤七所述根据时间戳字段计算数据包与前一个数据包的发包间隔时间,具体包括:
判断数据包是否为数据流的第一个数据包,如是,则发包间隔时间为0;如否,则发包间隔时间为当前时间与流信息表中的时间戳字段的差值。
进一步的,步骤八所述基于发包间隔时间更新最大组内时延字段与前一组最大时延/>字段,具体包括:
将最大组内时延字段的值减去发包间隔时间,并用结果更新最大组内时延/>字段;
判断数据包是否为组内第一个数据包,如是,则将前一组最大时延字段赋值为最大组内时延/>字段的值并将最大组内时延/>字段重置为0。
进一步的,步骤八所述使组内数据包之间无序传输,组间数据包之间有序传输,具体包括:
为数据包选择传输路径时,在所有传输路径中排除排队时延小于前一组最大时延/>字段的值的传输路径,选择剩余传输路径中拥有最小排队时延的传输路径。
进一步的,步骤二所述根据数据包的头部信息计算数据包的流序号,具体包括:
从数据包的网络层头部和传输层头部读取头部信息五元组,头部信息五元组包括:源节点IP地址、目标节点IP地址、源端口号,目标端口号和传输协议类型;
对头部信息五元组采用非对称的乘法和旋转哈希算法生成数据包的流序号。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明以数据包为转发粒度,相比于方案A,提高了链路的使用效率。同时,数据流类型和网络负载感知的动态组间隔调整策略使多路径传输的流量更加均衡,大大减少了在核心交换机的多对一传输,从而避免了核心交换机的拥堵现象。
本发明采用乱序度容忍的策略,传输时对数据流分组,组间数据包传输有序,组内数据包传输无序。相比于方案B,避免了随机性转发导致的严重乱序问题。而相比于队列时延感知的包喷洒等包粒度严格有序传输方案,本发明在各个传输路径上的流量更加均匀,减少了队列堆积的问题。
附图说明
图1为本发明实施例提供的基于乱序度容忍的数据中心网络多路径传输方法示意图;
图2为本发明实施例提供的基于乱序容忍度的多路径传输的转发效果示意图;
图3为本发明实施例提供的应用于分布式机器学习的数据中心网络的网络拓扑图;
图4为本发明实施例提供的数据包的结构示意图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明,在详细说明本发明各实施例的技术方案前,对所涉及的名词和术语进行解释说明,在本说明书中,名称相同或标号相同的部件代表相似或相同的结构,且仅限于示意的目的。
本发明对数据流中的数据包进行均匀分组,采用组内数据包传输无序,组间数据包传输有序的方式进行多路径传输。本发明利用传输层协议原有的对乱序的一定容忍能力,提供了更低的传输时延与更均匀的传输路径选择策略,并有更高的网络利用率。本发明提供的方法部署于数据中心网络层,与服务器端解耦且在传输过程中避免了对数据包的修改,能够保证传输流量在各个传输路径上的均匀性,更适合分区/聚合的流量传输模式。传输路径指的是从源节点到目标节点的一条数据传输通路。
下面结合一个具体的实施例来介绍本发明,在本实施例中,以托菲诺可(Tofino)可编程交换机作为实现平台,数据中心网络拓扑采用普遍使用的叶脊网络(Spine-leaf),如图3所示,4个脊交换机(Spine交换机)与4个叶交换机(Leaf交换机)相互连接,每个Leaf交换机连接8台服务器,采用分布式机器学习作为数据中心网络应用,将本发明提供的方法部署于Leaf交换机,服务器端采用数据中心传输控制协议作为传输层协议。
本发明提供的方法具体步骤如下:
1.定义流信息表
流信息表记录每个数据流数据传输相关的信息,包括以下字段:流序号、流类型、流长度/>、组内序号/>、最大组内时延/>、前一组最大时延/>、组间隔/>和时间戳/>。流信息表中每个字段的意义在后续步骤中详细介绍。
2.数据流识别与数据流分类
2.1数据流识别
在数据中心中,存在大量的数据流需要传输,这些数据流可能来自不同的应用程序、不同的用户或不同的业务需求。在传输过程中,这些数据流会共享网络资源,如带宽、路由器、交换机等,因此需要对这些数据流进行区分,以便采取更加准确的网络资源分配和管理策略。
数据流是指在网络中从源节点到目标节点之间连续的数据传输,通常由多个数据包组成。在传输过程中,数据流可以被分割成多个数据包,每个数据包都包含一部分数据和头部信息。
数据包是网络中传输数据的基本单位,每个数据包的网络层头部信息包括:目标节点IP地址、源节点IP地址、传输协议类型和总长度;每个数据包的传输层头部信息包括:目标端口号和源端口号。图4示出了一个数据包的部分头部信息。
通过读取数据包的网络层头部信息和传输层头部信息获得该数据包的头部信息五元组(源节点IP地址、目标节点IP地址、源端口号,目标端口号和传输协议类型)。为防止哈希碰撞导致的流序号重复,针对头部信息五元组具有较强规律性的特点,对头部信息五元组采用非对称的乘法和旋转哈希算法(MurmurHash)以生成数据包的流序号。
流信息表中的流序号字段代表数据流识别时生成的流序号。流信息表中的流长度/>字段代表数据流的长度。处理一个数据包时,根据该数据包网络层头部的总长度字段读取该数据包的长度,之后,根据该数据包的流序号/>在流信息表中查询是否存在相同的流序号数据,如果存在,则该数据包归属于一个已有数据流/>,将该数据包的长度与流信息表中已有数据流/>的流长度/>字段的值相加,并用相加的结果更新流信息表中已有数据流/>的流长度/>字段;如果不存在,则该数据包为新数据流的第一个数据包,在流信息表中新增一条记录,新增记录的流序号/>字段、流长度/>字段使用该数据包的流序号/>和该数据包的长度进行更新,其他字段初始化为预定值。
2.2数据流分类
在数据中心网络中,不同类型的数据流的需求不同。例如数据传输流通常需要传输大量的数据,如文件、镜像、备份等,其特点是时间敏感度相对较低,需要稳定的带宽占用以保证数据传输的效率和速度,本发明定义此类数据流为长流。而控制流、查询流通常需要传输的数据量相对较小,但对时间的敏感度更高,需要更低的传输时延,以满足对实时性和响应性的要求,本发明定义此类数据流为短流。
考虑到数据中心网络中的网络设备的计算能力有限,本发明将数据流的长度大于预设阈值的数据流作为长流,数据流的长度不大于预设阈值/>的数据流作为短流。
流信息表中的流类型字段代表对数据流的分类结果,流类型/>字段的值只能为long和short两种,long对应长流,short对应短流。所有数据流在流信息表中的流类型字段都被初始化为短流,当一个数据流在流信息表中的流长度/>字段的值大于预设阈值/>时,更新该数据流的流类型/>字段为长流。
预设阈值的值可能无法满足数据中心网络中不同流的实际需求,从而影响网络性能和服务质量。为了解决这个问题,本发明采用采样分析的方法,采样数据中心网络中数据流的长度进行分析,根据分析结果调整预设阈值/>。具体而言,在数据中心网络中对一定比例的数据流进行采样,统计采样的数据流的长度分布情况,并取一定比例的分位点作为更新预设阈值/>的依据。例如,将采样的数据流的长度按照升序排列,取排位在80%处的数据流的长度作为新的预设阈值/>。
3.计算传输路径排队时延
数据包在数据中心网络中的时延主要由排队时延、处理时延、传输时延与传播时延构成。在数据中心网络中,由于网络拓扑的对称性与网络设备的一致性,除排队时延外的其他时延基本一致。因此,排队时延是数据包在数据中心网络中的时延的决定因素。
为了多路径传输策略保持实时性,需要对各个传输路径上的排队时延进行计算。根据排队时延,可以确定每个传输路径的传输能力和延迟情况,从而选择最优的传输路径来传输数据,以最大限度地减少数据传输的延迟和丢包率;同时,排队时延还可以帮助网络实现流量均衡和负载均衡,以更好地利用网络资源,提高网络的吞吐量和效率。
传输路径的排队时延为:
;
其中,代表根据经验值预估的传输路径的队列中数据包的平均长度,/>代表传输路径的队列长度,/>代表传输路径的路径带宽。队列长度/>与路径带宽/>均为从Leaf交换机中直接读取的数据。
如图1所示,计算出的各个传输路径的排队时延将被记录在路径时延表中。
4.基于乱序容忍度的多路径传输
当数据包在网络中传输时,由于网络拓扑、路由选择和传输延迟等原因,数据包的到达顺序与其发送顺序可能不一致,即出现数据包乱序的情况。乱序容忍度指数据流能容忍其数据包到达时的乱序程度。乱序容忍度主要受数据流类型、网络负载状况的影响。如数据类型为长流的数据流需要稳定的带宽占用,乱序程度过大会频繁触发负反馈机制,导致发送速率变慢。而在网络负载较大时,队列的增长会触发主动队列管理(Active QueueManagement)机制,导致队列丢弃数据包,为了保证数据包的正常到达,数据流能够容忍更高程度的乱序。
本发明定义乱序度为数据流到达接收端时,触发负反馈机制的次数,负反馈指一种控制机制,用于告知发送端当前网络的状况,从而控制发送端的传输速率,以避免网络拥塞和数据包丢失。以TCP传输为例,当TCP接收端连续接收到三个非预期序列的数据包时,才可能触发负反馈机制,使发送端接收到连续三个冗余的确认应答(ACK),使发送端窗口降低。
数据中心网络的传输层协议是基于TCP协议的,因此数据中心网络的传输层协议对于乱序的容忍程度与调节机制与TCP基本一致。
4.1数据流分组
在传输过程中,将每个数据流中的数据包按照数据包传输层头部信息中的序号字段进行排序,每个数据流中的数据包依据当前数据流的乱序容忍度按一定的间隔进行划分,划分间隔的大小定义为每个数据流的组间隔。每一个数据流,可以看作一个由多个数据包组构成的序列:/>,每个数据包组/>包括/>个数据包。
不同数据流的乱序容忍度不同,其组间隔可能不同。同一数据流在不同网络状态下,组间隔/>也会发生变化。组间隔/>可用来控制转发数据流的乱序度,数据流在各个数据包组间,严格按照排队时延进行转发,即在转发过程中,数据包组/>的数据包将会依照排队时延,严格排列在数据包组/>的数据包之后。而同属一个数据包组的数据包可以在当前数据包组内无序排列。对数据包组内的数据包按照数据包传输层头部信息中的序号字段的顺序从小到大进行标号,称为组内序号。对一个组间隔/>的数据流,每个数据包组中的数据包的组内序号依次为0,1,2,3。
流信息表中的组内序号字段指某个数据流的正在被处理的数据包在数据包组中的组内序号。流信息表中的组间隔/>字段存储某个数据流的当前的组间隔/>的值。
每处理一个数据包时,该数据包对应的数据流在流信息表中的组内序号字段将被更新。当网络状况发生变化,如网络负载超出阈值时或数据流类型被识别为长流时,组间隔/>字段也会随组间隔/>的更新而变化。本发明设定每个数据流的组间隔/>被初始化为3。
4.2多路径传输
为了保证更低的数据流传输时间与更均衡的传输路径负载,一个特定的数据流的各个数据包组间将根据各个传输路径的排队时延进行严格有序的转发;对于数据包组内的数据包进行无序转发。
为保证数据包组中的所有数据包的转发晚于数据包组/>中的所有数据包的转发,在为数据包组/>中的一个数据包选择传输路径时,在排除排队时延/>小于前一数据包组/>的最大排队时延的传输路径后,选择剩余传输路径中拥有最小排队时延/>的传输路径。
如图2所示,数据流1的组间隔,Leaf交换机与Spine交换机之间共有四条传输路径:路径1、路径2、路径3和路径4。开始处理数据流1的第/>组数据包(即数据包组/>)时,比较计算出的每个传输路径的排队时延/>,得到路径2和路径3的排队时延/>最短,从路径2和路径3中随机选择路径2转发数据流1的第/>组数据包的第一个数据包/>。
流信息表中的时间戳字段代表一个数据流中最后一个被处理的数据包被处理的时间。流信息表中的最大组内时延/>字段,指当前数据包组中所有已处理的数据包所选择的传输路径在转发已处理的数据包时的排队时延/>中的最大值,最大组内时延/>字段被初始化为0。
每个数据包选择传输路径后,需要计算当前数据包与前一个数据包的发包间隔时间:判断当前数据包是否为数据流的第一个数据包,如是,则发包间隔时间为0;如否,则发包间隔时间为处理当前数据包的时间(即当前时间)与流信息表中的时间戳字段的差值。计算发包间隔时间之后,使用处理当前数据包的时间更新流信息表中的时间戳/>字段。
之后,将流信息表中对应的最大组内时延字段的值减去发包间隔时间,并用相减的结果更新对应的最大组内时延/>字段。减去发包间隔时间的原因是,接收到数据包时,最后更新最大组内时延/>字段的数据包在传输路径的队列中的排队时间已经经过了一段时间/>,/>的时间长度与发包间隔时间相等。判断为数据包所选择的传输路径的排队时延/>是否大于流信息表中对应的最大组内时延/>字段的值,如是,则用选择的传输路径的排队时延/>更新流信息表中对应的最大组内时延/>字段。流信息表中对应的最大组内时延字段指流信息表中数据包所属的数据流的最大组内时延/>字段。
以图2为例,在数据包选择路径2后,设置流信息表中数据流1的最大组内时延字段为路径2的排队时延/>,设置流信息表中数据流1的组内序号/>字段为0。
对于第n组数据包的第二个数据包,在计算发包间隔时间后更新流信息表中的时间戳/>字段,并根据发包间隔时间更新最大组内时延/>字段。计算并比较每个传输路径的排队时延/>,得到此时路径3排队时延最短,将数据包/>转发至路径3。判断路径3的排队时延/>是否大于流信息表中的最大组内时延/>字段的值,若是,则更新流信息表中的最大组内时延/>字段的值为路径3的排队时延/>。
之后按照同样的策略将第n组数据包的第三个数据包选用路径3,第四个数据包选用路径1,并更新流信息表。
流信息表中的前一组最大时延字段,指同一数据流中前一数据包组的最大组内时延,前一组最大时延/>字段被初始化为0。
开始处理数据流1的第组数据包(即数据包组/>)的第一个数据包/>时,在计算发包间隔时间后更新流信息表中的时间戳/>字段,并根据发包间隔时间更新最大组内时延/>字段,再将前一组最大时延/>字段赋值为最大组内时延/>字段的值并将最大组内时延/>字段重置为0。
由于其他数据流也会使用这四条传输路径,因此各个传输路径的排队时延有所更新,对数据包/>而言,不能选择比第/>组的数据包更快的传输路径。对数据包处理流程如下:根据计算出的发包间隔时间更新最大组内时延/>字段,再将前一组最大时延/>字段赋值为最大组内时延/>字段的值并将最大组内时延/>字段重置为0;计算各个传输路径的排队时延/>,排除排队时延/>小于流信息表中前一组最大时延/>字段的传输路径,在剩下的传输路径中选排队时延/>最小的传输路径,即路径1,并更新流信息表中最大组内时延/>字段为路径1的排队时延/>。
最终数据包到达的顺序可能是:,/>,/>,/>,/>。
数据流的组间隔越大,则数据流中的每个数据包越倾向于使用排队时延/>小的传输路径传输,传输时间越少,而其乱序到达的可能性也越大,即预设该数据流对乱序度的容忍越大。
5.自适应组间隔调整
数据流类型和网络负载是影响传输策略的重要因素,定义流类型基数和网络负载基数/>分别反映数据流类型与网络负载对网络传输效率的影响。
为优化多路径传输策略的实时性与普适性,本发明采用网络负载与数据流类型感知的自适应组间隔调整算法。
5.1流类型基数确定
由于数据中心网络的传输层协议采用的负反馈机制均为通过感知连续三个冗余ACK来调节发送端的传输效率,为避免触发该负反馈机制,本发明定义数据类型为短流的数据流的流类型基数为/>;由于数据类型为长流的数据流比数据类型为短流的数据流的乱序容忍度更低,故本发明定义数据类型为长流的数据流的流类型基数/>为,/>表示向上取整,本发明定义数据流类型为长流的数据流的流类型基数为2。
5.2网络负载基数确定
网络负载基数由交换机监测到的网络负载决定。在本发明中,预先设定三个传输路径的队列长度的范围,计算所有传输路径的平均队列长度/>,将平均队列长度与三个范围进行比较,根据比较结果来确定网络负载基数/>:
;
其中,为传输路径的队列容量。
5.3自适应调整
对于一个数据流,其组间隔为流类型基数/>和网络负载基数/>之和。
当流类型基数或者网络负载基数/>发生改变时,更新组间隔/>,并在当前数据包组处理结束后,对数据流内的数据包重新分组,并更新流信息表。
本发明对于数据流进行分组,采用组内无序,组间有序的方式进行多路径传输。基于不同数据流类型,不同网络负载下数据流对于乱序的容忍度变化,通过数据流分类与网络负载感知的方式调整数据流的组间隔。利用传输层协议原有的对乱序的容忍能力,提供了更低的传输时延与更均匀的路径选择策略,更适应人工智能等新兴应用分区/聚合的流量模式,并有更高的网络利用率。
以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
Claims (8)
1.一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,包括:
步骤一,定义流信息表,流信息表包括:流序号字段、流类型/>字段、流长度/>字段、组内序号/>字段、最大组内时延/>字段、前一组最大时延/>字段、组间隔/>字段和时间戳/>字段;
步骤二,根据数据包的头部信息计算数据包的流序号,并读取数据包的长度,根据流序号定位数据包所属数据流,重新计算数据包所属数据流的数据流长度,根据流序号与数据流长度更新流序号字段与流长度/>字段;
步骤三,根据数据流长度判断数据流类型,并更新流类型字段;
步骤四,根据数据流类型与网络负载设定数据流的组间隔,使用组间隔/>更新组间隔字段;
步骤五,根据组间隔为数据包分组并生成数据包的组内序号,使用组内序号更新组内序号/>字段;
步骤六,计算每个传输路径的排队时延;
步骤七,根据时间戳字段计算数据包与前一个数据包的发包间隔时间,并用当前时间更新时间戳/>字段;
步骤八,基于发包间隔时间更新最大组内时延字段与前一组最大时延/>字段,通过比较每个传输路径的排队时延/>与前一组最大时延字段,为数据包选择传输路径,使组内数据包之间无序传输,组间数据包之间有序传输;
步骤九,判断数据包选择的传输路径的排队时延是否大于最大组内时延字段,若是,则使用传输路径的排队时延/>更新最大组内时延字段。
2.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤三具体包括:
数据流的长度大于预设阈值的数据流类型为长流,数据流的长度不大于预设阈值/>的数据流类型为短流。
3.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤四所述根据数据流类型与网络负载设定数据流的组间隔,具体包括:
定义流类型基数和网络负载基数/>分别反映数据流类型与网络负载对网络传输效率的影响;
设定数据流的组间隔为流类型基数/>和网络负载基数/>之和。
4.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤六具体包括:
传输路径的排队时延为:
;
其中,代表根据经验值预估的传输路径的队列中数据包的平均长度,/>代表传输路径的队列长度,/>代表传输路径的路径带宽。
5.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤七所述根据时间戳字段计算数据包与前一个数据包的发包间隔时间,具体包括:
判断数据包是否为数据流的第一个数据包,如是,则发包间隔时间为0;如否,则发包间隔时间为当前时间与流信息表中的时间戳字段的差值。
6.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤八所述基于发包间隔时间更新最大组内时延字段与前一组最大时延/>字段,具体包括:
将最大组内时延字段的值减去发包间隔时间,并用结果更新最大组内时延/>字段;
判断数据包是否为组内第一个数据包,如是,则将前一组最大时延字段赋值为最大组内时延/>字段的值并将最大组内时延/>字段重置为0。
7.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤八所述使组内数据包之间无序传输,组间数据包之间有序传输,具体包括:
为数据包选择传输路径时,在所有传输路径中排除排队时延小于前一组最大时延/>字段的值的传输路径,选择剩余传输路径中拥有最小排队时延/>的传输路径。
8.根据权利要求1所述一种基于乱序度容忍的数据中心网络多路径传输方法,其特征在于,步骤二所述根据数据包的头部信息计算数据包的流序号,具体包括:
从数据包的网络层头部和传输层头部读取头部信息五元组,头部信息五元组包括:源节点IP地址、目标节点IP地址、源端口号,目标端口号和传输协议类型;
对头部信息五元组采用非对称的乘法和旋转哈希算法生成数据包的流序号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310987243.8A CN116708280B (zh) | 2023-08-08 | 2023-08-08 | 一种基于乱序度容忍的数据中心网络多路径传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310987243.8A CN116708280B (zh) | 2023-08-08 | 2023-08-08 | 一种基于乱序度容忍的数据中心网络多路径传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116708280A true CN116708280A (zh) | 2023-09-05 |
CN116708280B CN116708280B (zh) | 2023-10-24 |
Family
ID=87836088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310987243.8A Active CN116708280B (zh) | 2023-08-08 | 2023-08-08 | 一种基于乱序度容忍的数据中心网络多路径传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116708280B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117478615A (zh) * | 2023-12-28 | 2024-01-30 | 贵州大学 | 一种确定性网络可靠传输中解决突发乱序问题的方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781992B1 (en) * | 2000-11-30 | 2004-08-24 | Netrake Corporation | Queue engine for reassembling and reordering data packets in a network |
DE102007021922A1 (de) * | 2007-05-10 | 2008-11-13 | Siemens Ag | Paketvermitteltes Kommunikationsnetzwerk und Verfahren zum Rekonfigurieren des Kommunikationsnetzwerks |
US20140269302A1 (en) * | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Intra Switch Transport Protocol |
GB201519275D0 (en) * | 2015-10-30 | 2015-12-16 | Canon Kk | Method and server for managing the transmission of packets of a plurality of paths |
US20160028474A1 (en) * | 2013-03-15 | 2016-01-28 | Alcatel Lucent | Method of resizing a protected oduflex connection in an optical transport network |
CN109257302A (zh) * | 2018-09-19 | 2019-01-22 | 中南大学 | 一种基于分组排队时间的包散射方法 |
CN111711566A (zh) * | 2020-07-03 | 2020-09-25 | 西安电子科技大学 | 多路径路由场景下的接收端乱序重排方法 |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
CN113326244A (zh) * | 2021-05-28 | 2021-08-31 | 中国科学技术大学 | 一种基于日志事件图和关联关系挖掘的异常检测方法 |
WO2022067791A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 一种数据处理、传输方法及相关设备 |
US20220353195A1 (en) * | 2020-05-11 | 2022-11-03 | Chongqing University Of Posts And Telecommunications | Scheduling method applied in industrial heterogeneous network in which tsn and non-tsn are interconnected |
CN116074401A (zh) * | 2023-04-06 | 2023-05-05 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种在可编程交换机上的传输层协议实现方法 |
-
2023
- 2023-08-08 CN CN202310987243.8A patent/CN116708280B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781992B1 (en) * | 2000-11-30 | 2004-08-24 | Netrake Corporation | Queue engine for reassembling and reordering data packets in a network |
DE102007021922A1 (de) * | 2007-05-10 | 2008-11-13 | Siemens Ag | Paketvermitteltes Kommunikationsnetzwerk und Verfahren zum Rekonfigurieren des Kommunikationsnetzwerks |
US20140269302A1 (en) * | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Intra Switch Transport Protocol |
US20160028474A1 (en) * | 2013-03-15 | 2016-01-28 | Alcatel Lucent | Method of resizing a protected oduflex connection in an optical transport network |
GB201519275D0 (en) * | 2015-10-30 | 2015-12-16 | Canon Kk | Method and server for managing the transmission of packets of a plurality of paths |
CN109257302A (zh) * | 2018-09-19 | 2019-01-22 | 中南大学 | 一种基于分组排队时间的包散射方法 |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
US20220353195A1 (en) * | 2020-05-11 | 2022-11-03 | Chongqing University Of Posts And Telecommunications | Scheduling method applied in industrial heterogeneous network in which tsn and non-tsn are interconnected |
CN111711566A (zh) * | 2020-07-03 | 2020-09-25 | 西安电子科技大学 | 多路径路由场景下的接收端乱序重排方法 |
WO2022067791A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 一种数据处理、传输方法及相关设备 |
CN113326244A (zh) * | 2021-05-28 | 2021-08-31 | 中国科学技术大学 | 一种基于日志事件图和关联关系挖掘的异常检测方法 |
CN116074401A (zh) * | 2023-04-06 | 2023-05-05 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种在可编程交换机上的传输层协议实现方法 |
Non-Patent Citations (3)
Title |
---|
AMANI ALHEID: "A study on MPTCP for tolerating packet reordering and path heterogeneity in wireless networks", 2016 WIRELESS DAYS (WD) * |
SHIHAO ZHU: "Tolerate Control-Flow Changes for Sound Data Race Prediction", 2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) * |
薛淼;高德云;张思东;张宏科;: "面向下一代网络的端到端多路径传输层架构", 通信学报, no. 10 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117478615A (zh) * | 2023-12-28 | 2024-01-30 | 贵州大学 | 一种确定性网络可靠传输中解决突发乱序问题的方法 |
CN117478615B (zh) * | 2023-12-28 | 2024-02-27 | 贵州大学 | 一种确定性网络中可靠传输的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116708280B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736388B1 (en) | Load balancing path assignments techniques | |
US20220217076A1 (en) | Method and system for facilitating wide lag and ecmp control | |
US7710874B2 (en) | System and method for automatic management of many computer data processing system pipes | |
Carpio et al. | DiffFlow: Differentiating short and long flows for load balancing in data center networks | |
CN110891019B (zh) | 一种基于负载均衡的数据中心流量调度方法 | |
Hamdi et al. | Performance evaluation of active queue management algorithms in large network | |
CN116708280B (zh) | 一种基于乱序度容忍的数据中心网络多路径传输方法 | |
US8989011B2 (en) | Communication over multiple virtual lanes using a shared buffer | |
US11102127B2 (en) | Load balancing among network links using an efficient forwarding scheme | |
Jose et al. | A distributed algorithm to calculate max-min fair rates without per-flow state | |
Hu et al. | TLB: Traffic-aware load balancing with adaptive granularity in data center networks | |
CN112437019B (zh) | 用于数据中心的基于信用包的主动型传输方法 | |
US10587536B1 (en) | Buffer assignment balancing in a network device | |
Gao et al. | DemePro: DEcouple packet Marking from Enqueuing for multiple services with PROactive congestion control | |
Hu et al. | AMRT: Anti-ECN marking to improve utilization of receiver-driven transmission in data center | |
Li et al. | Towards fine-grained and practical flow control for datacenter networks | |
Li et al. | Research on QoS routing method based on NSGAII in SDN | |
Menikkumbura et al. | Congestion control for datacenter networks: A control-theoretic approach | |
CN109257302B (zh) | 一种基于分组排队时间的包散射方法 | |
WO2023169407A1 (zh) | 一种下发路由表的方法及相关装置 | |
Chen et al. | FACC: Flow-Size-Aware Congestion Control in Data Center Networks | |
US7039011B1 (en) | Method and apparatus for flow control in a packet switch | |
Nandhini et al. | Exploration and Evaluation of Congestion Control Algorithms for Data Center Networks | |
Ma et al. | DCTCP with front marking: Decouple ECN control loop from the queuing delay | |
Guan et al. | dBFC: Destination-based Backpressure Flow Control for Incast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |