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

当tcp/ip已经有校验和时,应用程序协议中还需要校验和吗?,tcp,checksum,robustness,Tcp,Checksum,Robustness,我正在设计一个应用程序协议,我想知道我是否还需要在协议中包含校验和,因为tcp/ip已经有校验和了。 您的看法是什么?BitTorrent协议在TCP之上有大量额外的纠错和检测功能,因此协议设计者显然看到了它的必要性。TCP校验和非常弱,因此如果您担心可靠性,您可能需要一个应用程序级别 特别是TCP校验和不是安全的散列,并且没有签名,因此如果您担心恶意更改,那么您需要自己添加安全性。要添加到其他答案中,您可能应该查看消息身份验证代码。MAC比简单的TCP校验和更可靠地检测错误 如果你想要一些健壮

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

BitTorrent协议在TCP之上有大量额外的纠错和检测功能,因此协议设计者显然看到了它的必要性。

TCP校验和非常弱,因此如果您担心可靠性,您可能需要一个应用程序级别


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

要添加到其他答案中,您可能应该查看消息身份验证代码。MAC比简单的TCP校验和更可靠地检测错误

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

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