首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >校验和是在互联网层还是传输层完成的?

校验和是在互联网层还是传输层完成的?
EN

Stack Overflow用户
提问于 2011-09-20 03:55:40
回答 2查看 9.2K关注 0票数 3

我做了大量的研究,这只会让我更困惑。问题是,数据包校验和是在internet层(IP)还是在传输层(TCP/UDP)验证,还是在两者都验证?

EN

回答 2

Stack Overflow用户

发布于 2011-09-20 09:50:25

IP层和TCP层都有校验和。IP校验和只是报头校验和,而TCP是伪报头、TCP数据段报头和有效负载的校验和。

两者都检查校验和,IP检查其报头校验和,如果通过,TCP在接收到来自IP层的数据包时执行校验和。两个校验和都应该通过,以使数据到达预期的应用程序。

如果IP校验和失败,IP应该丢弃数据报,如果TCP校验和失败,它也应该丢弃它。

票数 5
EN

Stack Overflow用户

发布于 2020-11-20 11:07:44

问得好。这是另一个问题,谁的答案可能会提供一些帮助。谁使用校验和?

不是每个设备都会查看每个报头,对吧?交换机仅查找第2层/数据链路层,路由器仅查找第3层/网络层,最终主机评估第4层/传输层。正如您所提到的,只有L3和L4标头具有校验和,这意味着开关不能计算校验和。但是,路由器可以并将丢弃具有错误CRC的数据包(它只评估IP报头校验和)。这节省了带宽,因为数据包将被转发到目的地,但只会被丢弃。如果数据包最终到达终端主机,它会验证L3校验和以及L4报头。因此,我们实现了CRC错误的端到端检测,从而节省了带宽。

注意:我不确定由于错误的CRC而丢弃数据包的路由器是否会向客户端生成通知,以便它可以立即重新传输,而不是等待计时器超时。这将加快重新传输过程,这可能是路由器上的一个可配置选项,但我可以想象,如果它存在,它将是一个安全漏洞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7476543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档