当tcp / ip已经有应用程序协议时仍然需要校验和吗?

时间:2009-09-12 07:52:28

标签: tcp checksum robustness

我正在设计一个应用程序协议,我想知道我是否仍然需要在协议中包含校验和,因为tcp / ip已经有校验和。 你有什么看法?

3 个答案:

答案 0 :(得分:3)

BitTorrent协议在TCP之上进行了大量额外的纠错和检测,因此协议设计人员明显看到了它的必要性。

答案 1 :(得分:1)

TCP校验和非常弱,所以如果您完全担心可靠性,那么您可能需要一个应用程序级别。

特别是TCP校验和不是安全散列,并且没有签名,因此如果您担心恶意更改,那么您需要自己添加安全性。

答案 2 :(得分:0)

要添加其他答案,您应该查看消息验证代码。与简单的TCP校验和相比,MAC是一种更健壮的检测错误的方法。

如果你想要一些健壮的东西,请看一下[HMAC] [2]。 HMAC提供错误检测和身份验证(通过共享密钥)。

如果你想要快速和肮脏的东西,为什么不使用sha1哈希?