发明名称 基于吞吐量变化率和ECN机制的TCP拥塞控制方法
摘要 本发明提供一种基于吞吐量变化率和ECN机制的TCP拥塞控制方法,该方法使用ECN机制防止拥塞的发生,在没有ECN标记时,如果出现丢包会根据吞吐量的变换率来判断丢包发生的原因,进而调整发送速率,而不是盲目减半,进而避免由于无线随机丢包而导致的严重的性能问题。同时,当没有丢包发生时,窗口的增长幅度也要根据吞吐量的变换率来调整,进一步防止拥塞的发生。本发明结合采用ECN技术和基于吞吐量变换率的控制方法,ECN可以在网络轻度拥塞时进行控制,避免有线数据中心的TCP Incast现象。基于吞吐量变换率的控制方法根据当前网络吞吐量的变换率对发送窗口进行调整,当出现丢包时可以判断丢包发生的原因,进而避免由于无线随机丢包而导致的发送窗口减半。
申请公布号 CN103051554B 申请公布日期 2015.09.16
申请号 CN201310002460.3 申请日期 2013.01.05
申请人 北京航空航天大学 发明人 王静远;蒋云晶;李超;熊璋
分类号 H04L12/807(2013.01)I;H04L12/823(2013.01)I 主分类号 H04L12/807(2013.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 杨学明
主权项 一种基于吞吐量变化率和ECN机制的TCP拥塞控制方法,其特征在于,该方法包括有下列处理步骤:步骤一:交换机上进行ECN标记当交换机收到数据包时,首先判断当前缓冲区的队列长度,如果超过某一个门限值,则为该数据包设置ECN标记位,否则,不设置;步骤二:接收方设置ECN‑echo接收方查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN‑echo位,否则,返回没有设置ECN‑echo位的ACK;步骤三:发送方动态调整发送窗口当发送端收到ACK后,首先由吞吐量变化率计算模块计算往返时延RTT、最小往返时延RTTmin、期望吞吐量expected和实际吞吐量actual,并计算吞吐量的变化率dif;然后ECN控制模块查看该ACK是否设置了ECN‑echo位,如果是,则设置ecn_flag表示需要根据ECN调整发送速率,并计算它收到的带有ECN‑echo标记的ACK占上一发送窗口所发送数据包总数的比例α,并根据α调整发送窗口,否则,根据吞吐量的变化率动态调整发送窗口;其中,根据吞吐量的变化率动态调整发送窗口的过程分丢包和非丢包两种情况;丢包情况下窗口的调整过程如下:发送方保存一个预先设置好的门限值β,如果吞吐量的变换率dif大于β/RTTmin,则认为丢包是由于拥塞导致的,故将拥塞窗口cwnd减半,即cwnd=cwnd×1/2,否则,认为是无线随机丢包,设置拥塞窗口cwnd=cwnd×4/5;非丢包情况下窗口的调整过程如下:发送方保存一个预先设置好的门限值γ,如果吞吐量的变换率dif小于γ,则认为当前网络状况很好,故设置拥塞窗口cwnd=cwnd+1/cwnd,否则,认为当前网络有出现拥塞的迹象,减小拥塞窗口增长的幅度,设置拥塞窗口<img file="FDA0000731022670000011.GIF" wi="609" he="127" />
地址 100191 北京市海淀区学院路37号