我想的程序,用于确定在捕获的TCP会话使用的 TCP拥塞控制算法。

所引用的维基百科文章指出:

  

TCP新里诺是最常用   实现算法,SACK支持   很常见的,是一个扩展   里诺/新里诺。大多数人都   竞争的提案仍需   评价。与2.6.8启动   Linux内核切换默认   从里诺实施BIC。该   默认实现再次   改为CUBIC在2.6.19   版本

此外:

  

化合物TCP是一个Microsoft   实现TCP的它保持   两个不同的拥塞窗口   同时,与目标   实现对LFNs性能良好   同时不损害公平。它有   一直与微软广泛部署   Windows Vista和Windows Server 2008中   并且已经被移植到旧的Microsoft   Windows版本以及Linux。

什么会是一些策略,用于确定哪个CC算法是在使用(从第三方捕捉会话)?

<强>更新

该项目已经建立了一个工具来做到这一点:

  

在因特网最近一直   从同质拥堵演变   控制异类拥堵   控制。几年前,互联网   交通主要是由控制   标准的TCP AIMD算法,而   互联网流量现在被控制   许多不同的TCP拥塞控制   算法,如AIMD,BIC,立方体,   CTCP,HSTCP,HTCP,HYBLA,伊利诺斯州,   LP,STCP,拉斯维加斯,VENO,WESTWOOD +,和   YEAH。然而,很少有   在性能和稳定性的工作   互联网与研究   异构拥塞控制。一   根本的原因是缺乏的   不同的部署信息   TCP算法。这样做的目的   项目是:

1) develop tools for identifying the TCP algorithms in the Internet,
2) conduct large-scale TCP-algorithm measurements in the Internet.
有帮助吗?

解决方案

有更多的拥塞控制算法,比你在这里提一下,把我的头顶部的列表包括:快速,可扩展,HSTCP,HTCP,比克,立方,静脉,拉斯维加斯

有也由于在实际的实施方式和我猜想,在不同的操作系统的实现也表现彼此略微不同的错误修正他们的小的变化。

但是,如果我需要尝试想出一个主意,将是估计连接的RTT,你可以尝试看看它采取了第三和第四包之间的时间,作为第一和第二包可以通过沿路径的ARP及其它发现算法被感染。

在你有一个估计RTT你可以尝试完善它一路走来,我不完全相信你怎么能这样做,虽然。但你并不需要一个完整的规范的程序,只是想法: - )

随着RTT想通了,你可以尝试把报文放入垃圾箱RTT并计算每个区间的飞行数据包的数量。这样,你就可以“暗算”估计,拥塞窗口时间(在仓包#),并尝试一些模式匹配存在。

另一种方法是沿着轨迹去尝试在你的脑袋“跑”不同的拥塞控制算法,看看是否在任何时候决定你会做的决定一致。这将需要一些宽大和间隔精度

这肯定听起来像一个有趣和富有挑战性的任务!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top