我知道TCP有一个16位校验和,以捕捉传输中的错误.所以TCP在另一端的输出理论上是可靠的.在某种程度上。
本文建议,如果TCP是在“高可靠性”( 6 )之后,则不像人们所希望的那样可靠。
是否有现成的协议,甚至是传输库(C/C++首选),它们比TCP?速度也更可靠。
我认为传输库实际上是TCP大部分部分的重新实现。
遗憾的是,TCP没有更灵活地允许以吞吐量/延迟/速度为代价进行更高可靠性的权衡。如果你做了32位的校验和,而不是16位的话,你可以得到更多的可靠性。如果你选择64位的话。在TCP之上添加自己的可靠传输层似乎需要很大的成本:首先,对处理TCP的硬件加速支持是不够的,您需要提供一些CPU时间来处理这一层。此外,实现这样的事情需要额外的复杂性和代码,如果TCP校验和更大或可以选择的话,这是可以避免的。
发布于 2015-07-02 08:05:53
https://stackoverflow.com/questions/31178785
复制相似问题