【问题标题】:Still need checksum in application protocol when tcp/ip already has it?当 tcp/ip 已经有它时,还需要应用程序协议中的校验和吗?
【发布时间】:2009-09-12 07:52:28
【问题描述】:

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

【问题讨论】:

    标签: tcp checksum robustness


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        如果您想要更强大的东西,请查看 [HMAC][2]。 HMAC 提供错误检测和身份验证(通过共享密钥)。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-09-24
          • 2013-04-29
          • 2017-02-20
          • 1970-01-01
          • 2012-02-05
          • 1970-01-01
          • 1970-01-01
          • 2014-05-09
          相关资源
          最近更新 更多