基于可用带宽分配的耦合多流TCP拥塞控制方法技术

技术编号:33831686 阅读:13 留言:0更新日期:2022-06-16 11:09
本发明专利技术提出了一种基于可用带宽分配的耦合多流TCP拥塞控制方法,用于解决现有技术中存在的无法区分拥塞丢包和误码丢包和无法满足业务对于时延的不同要求的技术问题,实现步骤为:定义IP网络;每个发送端确定瓶颈链路,同时发送数据包;每条瓶颈链路的网络控制器获取共享瓶颈流组和背景流组;每条瓶颈链路的网络控制器获取共享瓶颈流组的可用带宽;每条瓶颈链路的网络控制器计算共享瓶颈流的发送速率;最后共享瓶颈流的发送端调整拥塞窗口大小。本发明专利技术根据瓶颈点路由器缓冲区队列长度来判断拥塞状态,解决了现有技术无法区分拥塞丢包和误码丢包的问题;并通过为不同业务预设最低发送速率,满足了业务对时延的不同要求,实现了多样化的服务质量保证。多样化的服务质量保证。多样化的服务质量保证。

【技术实现步骤摘要】
基于可用带宽分配的耦合多流TCP拥塞控制方法


[0001]本专利技术属于通信
,涉及一种TCP拥塞控制方法,具体涉及一种基于可用带宽分配的耦合多流TCP拥塞控制方法。

技术介绍

[0002]传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,为各主机之间提供可靠有序的传输服务。一般情况下,如果传输实体以过快的速度发送过多的数据包,则会使网络不堪重负而变得拥塞,继而导致数据包被延迟和丢失,造成网络性能严重下降,因此拥塞控制是保证网络传输性能的必要方法。TCP协议通过调整拥塞窗口大小的方式来控制传输速率,从而避免网络拥塞。这里,拥塞窗口大小为任何时刻发送端可以向网络发送的字节数,而拥塞窗口的调整则主要通过慢启动、拥塞避免、快速重传和快速恢复等四个机制来实现,目标是在避免拥塞的情况下实现吞吐量的最大化。在如今的互联网中,用户数量以及网络服务种类日益增长,随之带来了庞大的数据量,再加上网络自身的异构性,这一现状对当前网络拥塞控制方法提出了新的挑战。
[0003]当前针对单个TCP流的网络拥塞控制方法主要包括以下三种:基于丢包的拥塞控制方法、基于带宽估计的拥塞控制方法和基于机器学习的拥塞控制方法。其中,基于丢包的拥塞控制方法主要根据丢包情况来控制网络拥塞,且默认丢包总是由拥塞所导致的,但是在无线网络中,这一假设并不总是成立;基于带宽估计的拥塞控制算法首先通过网络测量方法来估计当前信道的可用带宽,接着依据估计的可用带宽来调整发送速率。上述三种方法都是针对单TCP流的拥塞控制方法(简称单流拥塞控制方法),由于各个TCP流的拥塞控制机制相互独立运行,当多个流存在共享一个瓶颈链路的情况时,单流拥塞控制方法会使各流互相竞争带宽资源,而最终获取到的带宽则由各流自身的拥塞控制算法所决定。这种单流拥塞控制机制导致越激进的拥塞控制算法获得的带宽越多,严重影响了网络服务的公平性,因此各流获取带宽的大小不应该由算法的激进程度来决定,而应该根据各流本身的带宽需求和流所属的应用服务优先级来确定,这样才能够满足现代网络的服务质量要求。
[0004]为了解决单流拥塞控制方法存在的因为互相盲目竞争带宽资源所导致的排队延迟或分组丢失率增加的问题,研究者提出了通过耦合多个TCP流来进行拥塞控制的新方法,例如:Safiqul Islam,Michael Welzl等人于2018年在第21届IEEE全球互联网研讨会上发表的名称为“ctrlTCP:Reducing Latency through Coupled,Heterogeneous Multi

Flow TCP Congestion Control”(“ctrlTCP:通过耦合、异构多流TCP拥塞控制减少延迟”)的论文,文章中公开了一种基于耦合多流的TCP拥塞控制的方法,此方法通过在靠近发送端处采用共享瓶颈检测算法,将经过同一个瓶颈链路的多个TCP流作为一个共享瓶颈流组,然后再将组中各流的拥塞控制窗口统一设置为其中拥有最及时拥塞信息的TCP流的拥塞窗口。这样,各流不需要通过竞争就可以拥有相同大小的拥塞窗口,因而可以获得相同的可用带宽。此外,ctrlTCP方法根据优先级来调整发送速率。与单流拥塞控制算法相比,ctrlTCP方法避
免了无意义的带宽资源竞争,减少了拥塞窗口的抖动,从而有效避免由于窗口抖动造成的持续拥塞,并且实现了一定意义上的公平性。另一方面,ctrlTCP方法采用了TCP NewReno算法,本质上仍属于基于丢包的拥塞控制方法。这种方法仅凭丢包作为判断链路是否拥塞的依据,而无法区分丢包是由拥塞造成的,还是由误码造成的,因此会在误码丢包的情况下误认为发生拥塞而限制吞吐量,导致传输性能下降。此外,ctrlTCP的带宽分配机制过于简单,仅仅通过优先级权重来直接决定可用带宽的分配比例,而没有考虑不同业务对于时延的要求,因此无法提供多样化的服务质量保证。

技术实现思路

[0005]本专利技术的目的在于克服上述现有技术的不足,提出一种基于可用带宽分配的耦合多流TCP拥塞控制方法,用于解决现有技术中存在的因无法区分拥塞丢包和误码丢包导致吞吐量较低,以及带宽分配不能满足业务对于时延的不同要求,而无法提供多样化的服务质量保证的技术问题
[0006]为实现上述目的,本专利技术采取的技术方案包括以下步骤:
[0007](1)定义IP网络N:
[0008]定义包括Q个发送端F={F1,F2,...,F
q
,...,F
Q
}、W个接收端J={J1,J2,...,J
w
,...,J
W
}、作为中间节点的P个路由器Y={Y1,Y2,...,Y
p
,...,Y
P
}、M条路径I={I1,I2,...,I
m
,...,I
M
}的IP网络N,在路由器Y中为每条相连链路设置网络控制器模块O,用来获取链路信息,所有路由器缓冲区大小均为buffer
max
,其中P≥1,Q≥1,W≥1,M≥1,Y
p
表示第p个路由器,F
q
表示第q个发送端,J
w
表示第w个接收端,I
m
表示第m条路径;
[0009](2)每个发送端确定瓶颈链路,同时发送数据包:
[0010](2a)每条路径I
m
对应的发送端F
m
测量I
m
的瓶颈点路由器Y
mmax
,并将I
m
上与Y
mmax
相连接的靠近接收端J
m
的链路i
m
作为I
m
的瓶颈链路,得到瓶颈链路集合i={i1,...,i
m
,...,i
M
},同时向接收端J
m
发送包括H
m
个数据包的数据包序列i
m
表示I
m
对应的网络控制器为O
m
,带宽为b
m
的瓶颈链路,H
m
≥1,为第h个数据包;
[0011](3)每条瓶颈链路的网络控制器获取共享瓶颈流组和背景流组;
[0012](3a)每条瓶颈链路i
m
的网络控制器O
m
以t为周期、在u时长内对经过瓶颈链路i
m
的数据包序列packet
m
进行检测,并根据所检测的每个数据包的源IP地址目的IP地址传输层协议、源端口号和目的端口号将packet
m
分成J条TCP流,然后以i
m
作为瓶颈链路将J条TCP流中的K条TCP流耦合为共享瓶颈流组C
m
,将其余除C
m
之外的Z条TCP流耦合为背景流组B
m
...

【技术保护点】

【技术特征摘要】
1.一种基于可用带宽分配的耦合多流TCP拥塞控制方法,其特征在于,包括以下步骤:(1)定义IP网络N:定义包括Q个发送端F={F1,F2,...,F
q
,...,F
Q
}、W个接收端J={J1,J2,...,J
w
,...,J
W
}、作为中间节点的P个路由器Y={Y1,Y2,...,Y
p
,...,Y
P
}、M条路径I={I1,I2,...,I
m
,...,I
M
}的IP网络N,在路由器Y中为每条相连链路设置网络控制器模块O,用来获取链路信息,所有路由器缓冲区大小均为buffer
max
,其中P≥1,Q≥1,W≥1,M≥1,Y
p
表示第p个路由器,F
q
表示第q个发送端,J
w
表示第w个接收端,I
m
表示第m条路径;(2)每个发送端确定瓶颈链路,同时发送数据包:(2a)每条路径I
m
对应的发送端F
m
测量I
m
的瓶颈点路由器Y
mmax
,并将I
m
上与Y
mmax
相连接的靠近接收端J
m
的链路i
m
作为I
m
的瓶颈链路,得到瓶颈链路集合i={i1,...,i
m
,...,i
M
},同时向接收端J
m
发送包括H
m
个数据包的数据包序列i
m
表示I
m
对应的网络控制器为O
m
,带宽为b
m
的瓶颈链路,H
m
≥1,为第h个数据包;(3)每条瓶颈链路的网络控制器获取共享瓶颈流组和背景流组;(3a)每条瓶颈链路i
m
的网络控制器O
m
以t为周期、在u时长内对经过瓶颈链路i
m
的数据包序列packet
m
进行检测,并根据所检测的每个数据包的源IP地址目的IP地址传输层协议、源端口号和目的端口号将packet
m
分成J条TCP流,然后以i
m
作为瓶颈链路将J条TCP流中的K条TCP流耦合为共享瓶颈流组C
m
,将其余除C
m
之外的Z条TCP流耦合为背景流组B
m
::其中,t≤100毫秒,u≥10毫秒,表示第k条共享瓶颈流,表示第z条背景流,Z=J

...

【专利技术属性】
技术研发人员:张岗山杨家璇赵林靖刘炯吴炜
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1