【问题标题】:Is the tcp/ip optimal protocol for transfering large amount of data?tcp/ip 是传输大量数据的最佳协议吗?
【发布时间】:2016-06-02 02:44:47
【问题描述】:
Tcp/ip 在大多数情况下都是通用的。作为一般解决方案,它对于特定情况并不是最佳的:
1) 在有丢包的大陆上传输数据。 (例如 [Appera1,在某些情况下,它可以使传输速度提高 10 倍。)
2) 对于没有丢包的千兆局域网。在这里,TCP/IP 会通过 ACK 和用于长距离和慢速网络的东西引入开销。我记得读过一些关于千兆字节 LAN 的协议,它比 TCP/IP 快得多。
最后一个对于备份应该传输大量数据的解决方案很有趣。您对 Windows 的替代网络数据传输协议了解多少?
【问题讨论】:
标签:
windows
networking
tcp
ip
【解决方案1】:
如果你正在做备份,我猜#2 是你关心的情况。
TCP 有几个优化来解决 #2:滑动窗口、窗口缩放以及发生拥塞时的快速重传和恢复。只要接收器的窗口打开,ACK 就不会选通有效带宽。
由于这个问题是关于 SO 的,我假设涉及到编程,因此在实现接收程序时,您可以通过提供大缓冲区来保持窗口打开。在确定缓冲区大小时使用带宽延迟积。您可以动态计算,或者如果您的环境稳定,则可以使用静态计算。
关于 windows 协议,您有两种选择。 “在盒子里”和第 3 方。您可以通过转到控制面板、网络、更改适配器设置(适用于您的 gigE 适配器)、属性、安装、协议来查看框中的协议。在我的 2008R2 系统上,我只看到 Microsoft Virtual Switch Protocol 和 Reliable Multicast Protocol。除非您想同时备份到多个位置(使用多播),否则两者都无济于事。
就第 3 方协议而言,这确实超出了 SO 的范围。几个精心挑选的网络搜索将满足这一要求。
如果您追求绝对最快的速度并且您的备份源和目标在同一个广播域中,您可以完全跳过 IP 并在 MAC 层进行编程。你会失去很多功能,但如果你做得好,它会很快。