为什么我们已经讨论的所有 I n t e r n e t协议(I P, ICMP, IGMP, UDP, TCP)收到有检验和错 的分组都仅作丢弃处理?

Posted 明耀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我们已经讨论的所有 I n t e r n e t协议(I P, ICMP, IGMP, UDP, TCP)收到有检验和错 的分组都仅作丢弃处理?相关的知识,希望对你有一定的参考价值。

当分组的checksum与接收方的计算结果不一致的时候,有三种处理方案:一是立即通知发送方重传;二是直接丢弃分组,等待发送方定时器超时后重传;三是尝试纠错,比如数据链路层中的CRC。但是,因为不一致的一般是有两种情况导致的:1)checksum部分出错,2)分组中其他字段出错。所以,接收方是无法是哪里出错,尤其是如果分组中出错的字段就是发送方的地址(比如IP分组中源地址字段错了),那么根本无法将重传请求回馈给发送方。所以处理方法就是直接丢弃分组等待超时重传。
还有,为什么CRC只用在数据链路层呢?因为CRC需要的额外比特位还是比较多的,加上因为数据链路层已经有了检测能力高的CRC,传输的准确率已经得到保证,所以上层协议就没有必要再使用CRC了。


链接:https://www.zhihu.com/question/26997887/answer/34880234
来源:知乎

以上是关于为什么我们已经讨论的所有 I n t e r n e t协议(I P, ICMP, IGMP, UDP, TCP)收到有检验和错 的分组都仅作丢弃处理?的主要内容,如果未能解决你的问题,请参考以下文章

用h,o,s,e,t来组一个英语单词求求你们了

window.open

jQuery如何操作video标签里面的autoplay属性

002: NetBeans 的 代码补全

网站登录简单验证码

莫队 Codeforces Round #340 (Div. 2) E