我知道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校验和更大或可选择,这些都可以避免。
答案 0 :(得分:1)