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

时间:2015-07-02 08:01:40

标签: tcp network-programming protocols reliability

我知道TCP有一个16位校验和,用于捕获传输错误。那么另一端的TCP输出在理论上是可靠的......到了一定程度。

本文认为,如果TCP追求“高可靠性”,那么TCP就不像人们希望的那样可靠: http://iang.org/ssl/reliable_connections_are_not.html#ref_6

是否有比TCP更可靠的协议,甚至传输库(首选C / C ++)?中等关注的速度。

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

令人遗憾的是,TCP不能更灵活地允许以吞吐量/延迟/速度为代价来获得更高的可靠性。如果您甚至将校验和设置为32位而不是16位,则可以获得更高的可靠性。如果您选择将其设为64位,那么又一次。 在TCP之上添加自己的可靠传输层似乎需要付出很大的代价:对于初学者来说,处理TCP的硬件加速支持是不够的,而且你需要提供一些CPU时间来处理这个层。此外,实现这样的事情还有很多额外的复杂性和代码,如果TCP校验和更大或可选择,这些都可以避免。

1 个答案:

答案 0 :(得分:1)

TLS

广泛部署,众所周知,所有常用语言都有大量库。

如果通过'可靠性'您理解检测流更改(坏硬件或恶意干扰)的更好机会,那么加密HMAC就是 方式。 TLS几乎是行业标准。