我正在寻找 MS Windows 中的 TCP 实现,尤其是 Windows XP 和 7,以防它们不同。
更具体地说,我对 TCP 实现的以下部分感兴趣:
- 拥塞控制
- 慢启动
- 避免拥塞
- 快速重传
- 快速恢复
- 窗口大小
我对无线链路的拥塞控制优化算法特别感兴趣,例如 Westwood(+)、Vegas 等。
我不期望实现可用,但我希望存在关于这些年来对原始 RFC TCP 协议添加了哪些优化(如果有的话)的信息。由于 wifi 网络的广泛传播,我确实希望对无线链路进行优化。也许你可以告诉我在哪里搜索,或者最好已经有答案了。如果可能,请添加对你答案的引用。
我很感激你的帮助。谢谢。
答案1
微软编写了自己的拥塞控制,这一事实多年来给互操作性带来了一些困扰。
引入 Windows Vista 及更高版本复合TCP与基于标准的 Vegas 的主要区别在于,它维持两个拥塞窗口而不是一个,以便更好地响应网络状况。
- http://research.microsoft.com/apps/pubs/default.aspx?id=70189<-- 一篇关于 CTCP 的微软研究论文(2005),其中应该有实施细节。
- http://academic.research.microsoft.com/Paper/1820611.aspx<-- 另一篇微软研究论文(2004),发表在期刊上,描述了 CTCP 及其解决的问题。
Windows XP 64 中提供 CTCP 支持作为修补程序,但我不相信它默认随任何服务包级别一起提供。XP 32 没有可用的 CTCP 支持。
Windows XP 支持基于标准的拥塞控制,例如 Reno 和 Vegas。