一种TCP拥塞控制方法及装置制造方法及图纸

技术编号:13134452 阅读:71 留言:0更新日期:2016-04-06 20:56
本发明专利技术提供一种TCP拥塞控制方法及装置,该方法包括:确定本往返延时RTT周期结束且确定拥塞状态机处于Open状态时,确定本RTT周期的RTT值以及本RTT周期的拥塞窗口;根据本RTT周期的RTT值以及历史RTT最小值,确定当前RTT最小值;根据本RTT周期的RTT值、本RTT周期的拥塞窗口以及历史RTT平均值,确定本RTT周期的RTT平均值;根据当前RTT最小值、本RTT周期的RTT平均值以及本RTT周期的拥塞窗口,确定期望拥塞窗口;根据期望拥塞窗口以及本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口。本发明专利技术可以使得确定的下一RTT的拥塞窗口更加准确可靠。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种TCP拥塞控制方法及装置
技术介绍
传输控制协议(TransmissionControlProtocol,TCP)是一种面向连接的、可靠的、基于字节流的、应用于网络层的传输层通信协议。Internet(因特网)上大部分数据流都是使用TCP协议。而随着过去十几年计算机的迅猛增长。随之而来出现了越来越多的网络拥塞问题,由于在某段时间内对网络的带宽和网络中间设备性能的需求大大超出了所能提供的可用部分,造成网络的性能变的越来越坏。而TCP的拥塞控制算法就是控制过多的数据注入到网络中,这样可以使网络中的中间设备不至于过载,可以说拥塞控制算法是TCP拥塞控制的关键因素。目前TCP拥塞控制分为四个阶段,包括:慢启动阶段、拥塞避免阶段、快速重传和快速恢复阶段,设置一个报文阈值,在慢启动阶段拥塞窗口以指数增长,当拥塞窗口增加到报文阈值时,进入拥塞避免阶段,在拥塞避免阶段,为了避免网络拥塞的出现,拥塞窗口不再以指数形式增长,而是以线性形式增长,在慢启动阶段和拥塞避免阶段拥塞窗口的增长形式仅依靠报文阈值确定,进而确定每个RTT(Round-tripTime,往返延时)周期的拥塞窗口,这样得到的拥塞窗口不够准确。
技术实现思路
本专利技术提供一种TCP拥塞控制方法及装置,用以解决利用现有技术得到的拥塞窗口不够准确的技术问题。一种TCP拥塞控制方法,包括:确定本往返延时RTT周期结束且确定拥塞状态机处于Open状态时,确定本RTT周期的RTT值以及本RTT周期的拥塞窗口;根据本RTT周期的RTT值以及历史RTT最小值,确定当前RTT最小值;根据本RTT周期的RTT值、本RTT周期的拥塞窗口以及历史RTT平均值,确定本RTT周期的RTT平均值;根据所述当前RTT最小值、本RTT周期的RTT平均值以及本RTT周期的拥塞窗口,确定期望拥塞窗口;根据所述期望拥塞窗口以及本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口。所述方法,还包括:确定本RTT周期结束且确定拥塞状态机处于非Open状态时,根据历史RTT平均值和本RTT周期的RTT值,判断是否发生网络拥塞;如果是,根据预先设置的RTT值与拥塞窗口调整比例的对应关系以及本RTT周期的RTT值,调整本RTT周期的拥塞窗口,并将调整后的拥塞窗口作为下一RTT周期的拥塞窗口,所述调整后的拥塞窗口小于本RTT周期的拥塞窗口;如果否,将本RTT周期的拥塞窗口作为下一RTT周期的拥塞窗口。本专利技术实施例,由于进行了网络拥塞判断,从而可以判断出当前网络是否真正发生了网络拥塞,当真正发生网络拥塞时,才对拥塞窗口进行调整,从而避免了由于RTT突增(未发生网络拥塞)而导致的拥塞窗口调整的情况。所述方法,采用如下公式根据本RTT周期的RTT值、本RTT周期的拥塞窗口以及历史RTT平均值,确定本RTT周期的RTT平均值:RTTavg=(1-min(3cwnd,18))×RTTavgls+min(3cwnd,18)×RTTben]]>其中,RTTavg表示本RTT周期的RTT平均值,cwnd为本RTT周期的拥塞窗口,RTTavgls为历史RTT平均值,RTTben为本RTT周期的RTT值。所述方法,采用如下公式根据所述当前RTT最小值、本RTT周期的RTT平均值以及本RTT周期的拥塞窗口,确定期望拥塞窗口:cwndE=(RTTminRTTavg×cwnd+cwnd+α)×K]]>其中,cwndE为期望拥塞窗口,RTTmin为当前RTT最小值,RTTavg为本RTT周期的RTT平均值,cwnd为本RTT周期的拥塞窗口,α为设定常数,K为大于0小于1的常数。所述方法中,根据所述期望拥塞窗口和本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口,具体包括:确定所述期望拥塞窗口小于或等于本RTT周期的拥塞窗口时,判断所述期望拥塞窗口是否大于当前网络中的TCP报文数;如果是,确定所述期望拥塞窗口为下一RTT周期的拥塞窗口;否则,确定当前网络中的TCP报文数为下一RTT周期的拥塞窗口。本专利技术实施例,本RTT周期的拥塞窗口比期望窗口大或相等时,说明不需要再增大拥塞窗口了,而是需要将拥塞窗口降低为期望窗口。为了保证正常传输当前网络中的TCP报文,进一步地将期望窗口与当前网络中的TCP报文数进行比较,从而确定最终如何调整拥塞窗口并将调整后的拥塞窗口作为下一RTT周期的拥塞窗口所述方法中,根据所述期望拥塞窗口和本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口,具体包括:确定期望拥塞窗口大于本RTT周期的拥塞窗口时,将期望拥塞窗口与本RTT周期的拥塞窗口之差的绝对值,作为本RTT周期对应的拥塞窗口增加步长;将本RTT周期对应的拥塞窗口增加步长与本RTT周期对应的第一设定阈值累加,作为本RTT周期的参考步长;;根据本RTT周期的参考步长以及本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口。本专利技术实施例,当期望窗口大于本RTT周期的拥塞窗口时,需要适当增加本RTT周期的拥塞窗口,并将增加后的拥塞窗口作为下一RTT周期的拥塞窗口。所述方法中,根据本RTT周期的参考步长以及本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口,具体包括:确定本RTT周期的拥塞窗口大于第二设定阈值时,将本RTT周期的拥塞窗口增加一,作为下一RTT周期的拥塞窗口,并将所述参考步长减一所得的结果,作为下一RTT周期对应的第一设定阈值;确定本RTT周期的拥塞窗口小于或等于第二设定阈值时,比较本RTT周期的拥塞窗口与所述参考步长的大小;确定本RTT周期的拥塞窗口小于或等于所述参考步长时,将本RTT周期的拥塞窗口乘以设定倍数,作为下一RTT周期的拥塞窗口,并将所述参考步长减去本RTT周期的拥塞窗口所得的结果,作为下一RTT周期对应的第一设定阈值;确定本RTT周期内的拥塞窗口大于所述参考步长时,将本RTT周期内的拥塞窗口增加所述参考步长,作为下一RTT周期的拥塞窗口,并将所述参考步长置为零,作为下一RTT周期对应的第一设定阈值。本专利技术实施例,根据参考步长以及本RTT周期的拥塞窗口,分情况确定了下一RTT周期的拥塞窗口,从而使得调整后的拥塞窗口更加精确稳定。本专利技术还提供一种传输控制协议TCP拥塞控制装置,包括:第一确定单元,用于确定本往本文档来自技高网...

【技术保护点】
一种传输控制协议TCP拥塞控制方法,其特征在于,包括:确定本往返延时RTT周期结束且确定拥塞状态机处于Open状态时,确定本RTT周期的RTT值以及本RTT周期的拥塞窗口;根据本RTT周期的RTT值以及历史RTT最小值,确定当前RTT最小值;根据本RTT周期的RTT值、本RTT周期的拥塞窗口以及历史RTT平均值,确定本RTT周期的RTT平均值;根据所述当前RTT最小值、本RTT周期的RTT平均值以及本RTT周期的拥塞窗口,确定期望拥塞窗口;根据所述期望拥塞窗口以及本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口。

【技术特征摘要】
1.一种传输控制协议TCP拥塞控制方法,其特征在于,包括:
确定本往返延时RTT周期结束且确定拥塞状态机处于Open状态时,确定
本RTT周期的RTT值以及本RTT周期的拥塞窗口;
根据本RTT周期的RTT值以及历史RTT最小值,确定当前RTT最小值;
根据本RTT周期的RTT值、本RTT周期的拥塞窗口以及历史RTT平均
值,确定本RTT周期的RTT平均值;
根据所述当前RTT最小值、本RTT周期的RTT平均值以及本RTT周期
的拥塞窗口,确定期望拥塞窗口;
根据所述期望拥塞窗口以及本RTT周期的拥塞窗口,确定下一RTT周期
的拥塞窗口。
2.如权利要求1所述的方法,其特征在于,还包括:
确定本RTT周期结束且确定拥塞状态机处于非Open状态时,根据历史
RTT平均值和本RTT周期的RTT值,判断是否发生网络拥塞;
如果是,根据预先设置的RTT值与拥塞窗口调整比例的对应关系以及本
RTT周期的RTT值,调整本RTT周期的拥塞窗口,并将调整后的拥塞窗口作
为下一RTT周期的拥塞窗口,所述调整后的拥塞窗口小于本RTT周期的拥塞
窗口;
如果否,将本RTT周期的拥塞窗口作为下一RTT周期的拥塞窗口。
3.如权利要求1所述的方法,其特征在于,采用如下公式根据本RTT周
期的RTT值、本RTT周期的拥塞窗口以及历史RTT平均值,确定本RTT周
期的RTT平均值:
RTTavg=(1-min(3cwnd,18))×RTTavgls+min(3cwnd,18)×RTTben]]>其中,RTTavg表示本RTT周期的RTT平均值,cwnd为本RTT周期的拥塞
窗口,RTTavgls为历史RTT平均值,RTTben为本RTT周期的RTT值。
4.如权利要求1所述的方法,其特征在于,采用如下公式根据所述当前
RTT最小值、本RTT周期的RTT平均值以及本RTT周期的拥塞窗口,确定期
望拥塞窗口:
cwndE=(RTTminRTTavg×cwnd+cwnd+α)×K]]>其中,cwndE为期望拥塞窗口,RTTmin为当前RTT最小值,RTTavg为本RTT
周期的RTT平均值,cwnd为本RTT周期的拥塞窗口,α为设定常数,K为大
于0小于1的常数。
5.如权利要求1所述的方法,其特征在于,根据所述期望拥塞窗口和本
RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口,具体包括:
确定所述期望拥塞窗口小于或等于本RTT周期的拥塞窗口时,判断所述
期望拥塞窗口是否大于当前网络中的TCP报文数;
如果是,确定所述期望拥塞窗口为下一RTT周期的拥塞窗口;
否则,确定当前网络中的TCP报文数为下一RTT周期的拥塞窗口。
6.如权利要求1或5所述的方法,其特征在于,根据所述期望拥塞窗口
和本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口,具体包括:
确定期望拥塞窗口大于本RTT周期的拥塞窗口时,将期望拥塞窗口与本
RTT周期的拥塞窗口之差的绝对值,作为本RTT周期对应的拥塞窗口增加步
长;
将本RTT周期对应的拥塞窗口增加步长与本RTT周期对应的第一设定阈
值累加,作为本RTT周期的参考步长;
根据本RTT周期的参考步长以及本RTT周期的拥塞窗口,确定下一RTT
周期的拥塞窗口。
7.如权利要求6所述的方法,其特征在于,根据本RTT周期的参考步长
以及本RTT周期的拥塞窗口,确定下一RTT周期的拥塞窗口,具体包括:
确定本RTT周期的拥塞窗口大于第二设定阈值时,将本RTT周期的拥塞

\t窗口增加一,作为下一RTT周期的拥塞窗口,并将所述参考步长减一所得的
结果,作为下一RTT周期对应的第一设定阈值;
确定本RTT周期的拥塞窗口小于或等于第二设定阈值时,比较本RTT周
期的拥塞窗口与所述参考步长的大小;
确定本RTT周期的拥塞窗口小于或等于所述参考步长时,将本RTT周期
的拥塞窗口乘以设定倍数,作为下一RTT周期的拥塞窗口,并将所述参考步
长减去本RTT周期的拥塞窗口所得的结果,作为下一RTT周期对应的第一设
定阈值;
确定本RTT周期内的拥塞窗口大于所述参考步长时,将本RTT周期内的
拥塞窗口增加所述参考步长,作为下一RTT周期的拥塞窗口,并将所述参考
步长置为零,作为下一RTT周期对应的第一设定阈值。
8.一种传输控制协议TCP拥塞控...

【专利技术属性】
技术研发人员:董圆
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:福建;35

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

1