摘要:也是总结的时候了,写完了TCP的多个经典的拥塞算法,但是由于这方面的优化算法还有很多,没办法能够一一讲完,所以下面对其他的一些比较典型的也进行一个简单的介绍:FastTCP:FastTCP由于后来没有对开源界做贡献了,因为作者本人自己创办了公司,把FastTCP变成了商业产品,所以后续的学术研究就比较少了。FastTCP是从TCPvegas的思想发展而来,利用网络延时进行拥塞判断。之前讨论过,基于延迟的算法是对整个网络的拥塞控制有好处的,但是和当前的基于丢包的算法来说两者不公平。所以估计作者后面也做了很多的改进。ECN:显式拥塞通知,该算法的思想是想借助路由器,因为拥塞的状况中间的路由器是最清
阅读全文
摘要:问题现象在测试部发现的问题:测试SqlPlus的数据库查询速度的时候,发现经过我们连接代理后速度比不过代理时候慢一倍,在关闭我们的功能后1分钟能够完成查询,但是启用后就2分钟才能完成。当时对SqlPlus的数据流还有TCP的抓包进行分析,该查询器查询数据的特点是客户端发出21个字节的数据包,然后服务器回应9356字节的数据,然后再由客户端发21字节的数据,再回应9356字节,如此重复直到查询完成。...
阅读全文
摘要:接上文,在BIC-TCP提出后不久,NorthCarolinaStateUniversity的研究人员在根据BI-TCP的一些缺点后,再次提出了CUBIC的算法,CUBIC不仅仅是简单的对BIC-TCP存在问题的一些修正,它的整个算法都已经做了较大的调整。先看下BIC-TCP的缺点:首先就是抢占性较强,BIC-TCP的增长函数在小链路带宽时延短的情况下比起标准的TCP来抢占性强,它在探测阶段相当于...
阅读全文
摘要:上面我们已经提到了HSTCP,它通过简单的修改标准TCP的增长方式,从而达到了高吞吐。方法很简单,但是缺点在于,它存在严重的RTT不公平性,RTT不公平性在标准TCP中也是存在的,但是HSTCP显然扩大了这个不公平性。RTT的不公平性指的是当有多条连接在同一个瓶颈带宽上跑时,如果这些连接的RTT不相等,那么这些TCP连接在该链路上分得的带宽也是不一样的。作为一个公平性的协议,是应该达到这一点的。从...
阅读全文
摘要:这是一个非常古老的话题,最近因为工作的原因,又翻了下字符串匹配算法,这一翻又翻出来新花样。 学过数据结构和算法的应该最熟悉的是著名的KMP算法,KMP利用模式串自身的匹配性质,在不匹配的时候可以跳跃比较长的距离,从而比之朴素的字符串算法速度快。 首先要说的是BM算法,据称该算法比KMP又快上3-5倍,该算法在Linux内核中有实现,详见Ts_bm.c,我用的内核版本是2.6.25,其他版本可能文...
阅读全文