比 TCP 可靠性更高的协议是什么?

What is a higher reliability protocol than TCP?

我知道 TCP 有一个 16 位校验和,用于捕获传输中的错误。所以 TCP 在另一端的输出在理论上是可靠的......在某种程度上。

这篇文章表明 TCP 并不像人们希望的那样可靠,如果他们在 "high reliability" 之后: http://iang.org/ssl/reliable_connections_are_not.html#ref_6

是否有比 TCP 更可靠的现成协议,甚至是传输库(C/C++ 首选)? 速度也需要适度关注。

我认为传输库实际上是 TCP 大部分部分的重新实现。

遗憾的是,TCP 没有更灵活地允许以 throughput/latency/speed 为代价来换取更高的可靠性。如果您将校验和设为 32 位而不是 16 位,您可以获得更高的可靠性。如果您选择将其设为 64 位,则同样如此。 在 TCP 之上添加您自己的可靠传输层似乎需要很大的成本:对于初学者来说,处理 TCP 的硬件加速支持是不够的,您需要提供一些 CPU是时候处理这​​一层了。此外,实现这样的事情需要很多额外的复杂性和代码,如果 TCP 校验和更大或可以选择,这些都是可以避免的。

TLS

广泛部署,易于理解,大量库以所有常用语言提供。

如果通过 'reliability' 您了解检测流更改(不良硬件或恶意干扰)的更好机会,那么加密 HMAC 是 方法。 TLS 几乎是行业标准。