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

技术编号:11534919 阅读:85 留言:0更新日期:2015-06-03 09:43
一种TCP拥塞控制方法及装置,所述方法包括:当前TCP连接建立成功时,根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息;根据网络的实际运行状况,计算得出拥塞窗口增长数值;采用计算得到的所述当前TCP连接的初始拥塞窗口和所述拥塞窗口增长数值,进行TCP会话。上述的方案可以提高带宽资源的利用率,提升用户的使用体验。

【技术实现步骤摘要】
TCP拥塞控制方法及装置
本专利技术涉及网络通信
,特别是涉及一种TCP拥塞控制方法及装置。
技术介绍
网络的吞吐量与通信子网负荷(即通信子网中正在传输的分组数)有着密切的关系。当通信子网负荷比较小时,网络的吞吐量(分组数/秒)随网络负荷(每个节点中分组的平均数)的增加而线性增加。当网络负荷增加到某一值后,若网络吞吐量反而下降,则表征网络中出现了拥塞现象。在一个出现拥塞现象的网络中,到达某个节点的分组将会遇到无缓冲区可用的情况,从而使这些分组不得不由前一节点重传,或者需要由源节点或源端系统重传。当拥塞比较严重时,通信子网中相当多的传输资源和节点缓冲器都用于这种无谓的重传,从而使通信子网的有效吞吐量下降。由此引起恶性循环,使通信子网的局部甚至全网处于死锁状态,最终导致网络有效吞吐量接近为零。现有的英特网(Internet)中拥塞控制的大部分工作是由TCP完成的,目前标准TCP协议的实现都包含了一些避免和控制网络拥塞的TCP拥塞控制算法。采用TCP拥塞控制算法是一种防止网络拥塞、流量控制,网络拥塞恢复处理的算法,能够有效确保TCP网络畅通,网络稳定。当今网络的可靠性和稳定性与TCP拥塞控制机制密不可分,而TCP的成功也要归功于其稳固的拥塞控制机制。但是,现有技术中的TCP拥塞控制方法,所有的TCP连接均采用相同的方法进行拥塞窗口的控制,存在着带宽资源利用率较低的问题。
技术实现思路
本专利技术实施例解决的问题是如何在TCP拥塞控制过程中提高带宽资源的利用率。为解决上述问题,本专利技术实施例提供了一种TCP拥塞控制方法,所述方法包括:当前TCP连接建立成功时,根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息;根据网络的实际运行状况,计算得出拥塞窗口增长数值;采用计算得到的所述当前TCP连接的初始拥塞窗口和所述拥塞窗口增长数值,进行TCP会话。可选地,所述方法还包括:当TCP会话过程中发生丢包事件时,判断所述当前丢包事件是否由网络拥塞造成;当确定所述当前丢包事件为网络拥塞造成时,减少拥塞窗口,并进行丢失数据的重传;当确定所述当前丢包事件非网络拥塞造成时,恢复当前丢包事件发生时刻的拥塞窗口,并进行丢失数据的重传。可选地,所述判断当前丢包事件是否由网络拥塞造成,包括:在当前丢包事件发生时,将所述当前丢包事件与丢包事件记录表中的丢包事件进行匹配,所述丢包事件记录表中的丢包事件由非网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配成功时,确定所述当前丢包事件非为网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配失败时,确定所述当前丢包事件为网络拥塞造成。可选地,所述方法还包括:采集并存储所述当前丢包事件对应的拥塞原因、拥塞开始时间及相应的拥塞窗口,以及拥塞结束时间及相应的拥塞窗口的信息。可选地,所述根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息,包括:获取TCP连接的往返时间和预设拥塞窗口的信息;采用所获取的TCP连接的往返时间和预设拥塞窗口的信息,计算得出所述初始拥塞窗口。可选地,所述采用所获取的TCP连接的往返时间和预设拥塞窗口的信息,计算得出所述初始拥塞窗口,包括:cwnd=((5*rtt+3*α)/8)*β;其中,cwnd表示初始拥塞窗口的数值,rtt表示TCP连接的往返时间,α为预设的TCP连接往返时间的平均值,β是预设的拥塞窗口数值。可选地,所述方法还包括:根据TCP连接的往返时间与最大拥塞窗口的信息,计算得出网络最大吞吐量对应的拥塞窗口的数值;在TCP会话过程中,控制拥塞窗口小于或等于所述网络最大吞吐量对应的拥塞窗口。可选地,所述根据网络实际运行状况,计算得出拥塞窗口增长数值,包括:根据请求数据包的发送时间和应答数据包的接收时间,计算得出TCP连接的往返时间;根据当前TCP连接已经发送未确认的数据包的数量,得出当前网络带宽的信息;采用计算得出TCP连接的往返时间和当前网络带宽的信息,计算得出拥塞窗口增长数值。可选地,所述采用计算得出TCP连接的往返时间和当前网络带宽的信息,计算得出拥塞窗口增长数值,包括:cnt=(bw/min_rtt-bw/rtt)*α;其中,cnt表示拥塞窗口增长数值,rtt表示TCP连接的平均往返时间,min_rtt是TCP连接的往返时间的最小值,bw表示当前网络带宽,α为预设的增长比例。本专利技术实施例还提供了一种TCP拥塞控制方法,所述方法包括:当TCP会话过程中发生丢包事件时,判断所述当前丢包事件是否由网络拥塞造成;当确定所述当前丢包事件为网络拥塞造成时,减少拥塞窗口,并进行丢失数据的重传;当确定所述当前丢包事件非网络拥塞造成时,恢复当前丢包事件发生时刻的拥塞窗口,并进行丢失数据的重传。可选地,所述判断当前丢包事件是否由网络拥塞造成,包括:在当前丢包事件发生时,将所述当前丢包事件与丢包事件记录表中的丢包事件进行匹配,所述丢包事件记录表中的丢包事件由非网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配成功时,确定所述当前丢包事件非为网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配失败时,确定所述当前丢包事件为网络拥塞造成。可选地,所述方法还包括:采集并存储所述当前丢包事件对应的拥塞原因、拥塞开始时间及相应的拥塞窗口,以及拥塞结束时间及相应的拥塞窗口的信息。本专利技术实施例还提供了一种TCP拥塞控制装置,所述装置包括:第一计算单元,适于当前TCP连接建立成功时,根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息;第二计算单元,适于根据网络的实际运行状况,计算得出拥塞窗口增长数值;会话控制单元,适于采用计算得到的所述当前TCP连接的初始拥塞窗口和所述拥塞窗口增长数值,进行TCP会话。可选地,所述装置还包括:第一判断单元,适于当TCP会话过程中发生丢包事件时,判断所述当前丢包事件是否由网络拥塞造成;拥塞处理单元,适于当确定所述当前丢包事件为网络拥塞造成时,减少拥塞窗口,并进行丢失数据的重传;当确定所述当前丢包事件非网络拥塞造成时,恢复当前丢包事件发生时刻的拥塞窗口,并进行丢失数据的重传。可选地,所述装置还包括:第一判断单元,适于当TCP会话过程中发生丢包事件时,判断所述当前丢包事件是否由网络拥塞造成;当确定所述当前丢包事件为网络拥塞造成时,减少拥塞窗口,并进行丢失数据的重传;当确定所述当前丢包事件非网络拥塞造成时,恢复当前丢包事件发生时刻的拥塞窗口,并进行丢失数据的重传。可选地,所述第一判断单元适于在当前丢包事件发生时,将所述当前丢包事件与丢包事件记录表中的丢包事件进行匹配,所述丢包事件记录表中的丢包事件由非网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配成功时,确定所述当前丢包事件非为网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配失败时,确定所述当前丢包事件为网络拥塞造成。可选地,所述装置还包括:第一存储单元,适于采集并存储所述当前丢包事件对应的拥塞原因、拥塞开始时间及相应的拥塞窗口,以及拥塞结束时间及相应的拥塞窗口的信息。可选地,所述本文档来自技高网...
TCP拥塞控制方法及装置

【技术保护点】
一种TCP拥塞控制方法,其特征在于,包括:当前TCP连接建立成功时,根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息;根据网络的实际运行状况,计算得出拥塞窗口增长数值;采用计算得到的所述当前TCP连接的初始拥塞窗口和所述拥塞窗口增长数值,进行TCP会话。

【技术特征摘要】
1.一种TCP拥塞控制方法,其特征在于,包括:当前TCP连接建立成功时,根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息;根据网络的实际运行状况,计算得出拥塞窗口增长数值;采用计算得到的所述当前TCP连接的初始拥塞窗口和所述拥塞窗口增长数值,进行TCP会话;所述根据网络的实际运行状况和所获取的预设的拥塞窗口数值,计算得出当前TCP连接的初始拥塞窗口的信息,包括:获取TCP连接的往返时间和预设拥塞窗口的信息;采用所获取的TCP连接的往返时间和预设拥塞窗口的信息,计算得出所述初始拥塞窗口;所述采用所获取的TCP连接的往返时间和预设拥塞窗口的信息,计算得出所述初始拥塞窗口,包括:cwnd=((5*rtt+3*α)/8)*β;其中,cwnd表示初始拥塞窗口的数值,rtt表示TCP连接的往返时间,α为预设的TCP连接往返时间的平均值,β是预设的拥塞窗口数值。2.根据权利要求1所述的TCP拥塞控制方法,其特征在于,还包括:当TCP会话过程中发生丢包事件时,判断所述当前丢包事件是否由网络拥塞造成;当确定所述当前丢包事件为网络拥塞造成时,减少拥塞窗口,并进行丢失数据的重传;当确定所述当前丢包事件非网络拥塞造成时,恢复当前丢包事件发生时刻的拥塞窗口,并进行丢失数据的重传。3.根据权利要求2所述的TCP拥塞控制方法,其特征在于,所述判断当前丢包事件是否由网络拥塞造成,包括:在当前丢包事件发生时,将所述当前丢包事件与丢包事件记录表中的丢包事件进行匹配,所述丢包事件记录表中的丢包事件由非网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配成功时,确定所述当前丢包事件非为网络拥塞造成;当所述当前丢包事件与所述丢包事件记录表中的丢包事件匹配失败时,确定所述当前丢包事件为网络拥塞造成。4.根据权利要求2所述的TCP拥塞控制方法,其特征在于,还包括:采集并存储所述当前丢包事件对应的拥塞原因、拥塞开始时间及相应的拥塞窗口,以及拥塞结束时间及相应的拥塞窗口的信息。5.根据权利要求1所述的TCP拥塞控制方法,其特征在于,还包括:根据TCP连接的往返时间与最大拥塞窗口的信息,计算得出网络最大吞吐量对应的拥塞窗口的数值;在TCP会话过程中,控制拥塞窗口小于或等于所述网络最大吞吐量对应的拥塞窗口。6.根据权利要求1所述的TCP拥塞控制方法,其特征在于,所述根据网络实际运行状况,计算得出拥塞窗口增长数值,包括:根据请求数据包的发送时间和应答数据包的接收时间,计算得出TCP连接的往返时间;根据当前TCP连接已经发送未确认的数据包的数量,得出当前网络带宽的信息;采用计算得出TCP连接的往返时间和当前网络带宽的信息,计算得出拥塞窗口增长数值。7.根据权利要求6所述的TCP拥塞控制方法,其特征在于,所述采用计算得出TCP连接的往返时间和当前网络带宽的信息,计算得出拥塞窗口增长数值,包括:cnt=(bw/min_rtt-bw/rtt)*α;其中,cnt表示拥塞窗口增长数值,rtt表示TCP连接的平均往返时间,min_rtt是TCP连接的往返时间的最小值,...

【专利技术属性】
技术研发人员:蒋德武
申请(专利权)人:上海帝联信息科技股份有限公司
类型:发明
国别省市:上海;31

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

1