原创-“差错控制”在数据链路层和运输层中的区别(不同)
来源:互联网 发布:西安网络电视台 编辑:程序博客网 时间:2024/05/29 04:57
据我所知,数据链路层和运输层都许诺了实现“差错控制”,那他们之间有什么区别呢?重复了吗?相信我举个例子之后,你就明了了。
1.条件
要传送如下数据:
数据a:1000
数据b:1100
数据c:1110
传送情况:
发送端S发送: 1000 1100 1110
接受端R接收: 1010 [未收到] 1110
2.数据链路层的“差错控制”
此时数据链路层的反应是这样的:
(1) 对于发送端S发送的“数据a 1000 ”,接受端R接收到的却是“1010”,显然,左数第三位的0由于某种原因变为1了,晕,太可怕了吧,好在数据链路层的差错控制可以发现这个(具体参看数据链路层),所以我们得知接受的数据a是错误的,扔掉即可(猜测)。
(2) 对于发送端S发送的“数据b 1100 ”,接受端R未收到任何数据,数据链路层的“差错控制”在此也无能为力了。
(3) 对于发送端S发送的“数据c 1110”,接受端R接收到“1110”,经数据链路层的“差错控制”方法-CRC检验,发现无误,正常接受。
由此可见, 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。即“凡是接收端数据链路层接受的帧都是正确的”。
3.运输层的“差错控制”
先啰嗦一句,数据链路层之上是网络层,在之上是运输层。所以,传送的数据是想经过数据链路层处理后在给运输层的,即运输层收到的信号绝不存在”0变为1,1变为0的情况“(这正是数据链路层的差错控制所做的)。现在,在让我们看看运输层的反应吧。
(1) 对于发送端S发送的“数据a 1000 ”,由于数据链路层发现该数据有误,所以就把它仍丢了。这对运输层而言,就是未收到,所以要求发送端S重传……。
(2) 对于发送端S发送的“数据b 1100 ”,运输层仍未收到,所以要求发送端S重传……。
(3) 对于发送端S发送的“数据c 1110”,经数据链路层处理后交与运输层,运输层先发送端S返回确认帧,表示已经收到。
4.总结
对于数据链路层而言,只保证接受到的数据没问题,至于中间丢失的数据压根不管。而运输层则对中途丢失的数据也做管理,它会通知发送端说:“数据b怎么没有发?在给老子发一遍“。
呵呵,原创。
参看:
参看:
摘自:计算机网络-谢希仁
1.条件
要传送如下数据:
数据a:1000
数据b:1100
数据c:1110
传送情况:
发送端S发送: 1000 1100 1110
接受端R接收: 1010 [未收到] 1110
2.数据链路层的“差错控制”
此时数据链路层的反应是这样的:
(1) 对于发送端S发送的“数据a 1000 ”,接受端R接收到的却是“1010”,显然,左数第三位的0由于某种原因变为1了,晕,太可怕了吧,好在数据链路层的差错控制可以发现这个(具体参看数据链路层),所以我们得知接受的数据a是错误的,扔掉即可(猜测)。
(2) 对于发送端S发送的“数据b 1100 ”,接受端R未收到任何数据,数据链路层的“差错控制”在此也无能为力了。
(3) 对于发送端S发送的“数据c 1110”,接受端R接收到“1110”,经数据链路层的“差错控制”方法-CRC检验,发现无误,正常接受。
由此可见, 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。即“凡是接收端数据链路层接受的帧都是正确的”。
3.运输层的“差错控制”
先啰嗦一句,数据链路层之上是网络层,在之上是运输层。所以,传送的数据是想经过数据链路层处理后在给运输层的,即运输层收到的信号绝不存在”0变为1,1变为0的情况“(这正是数据链路层的差错控制所做的)。现在,在让我们看看运输层的反应吧。
(1) 对于发送端S发送的“数据a 1000 ”,由于数据链路层发现该数据有误,所以就把它仍丢了。这对运输层而言,就是未收到,所以要求发送端S重传……。
(2) 对于发送端S发送的“数据b 1100 ”,运输层仍未收到,所以要求发送端S重传……。
(3) 对于发送端S发送的“数据c 1110”,经数据链路层处理后交与运输层,运输层先发送端S返回确认帧,表示已经收到。
4.总结
对于数据链路层而言,只保证接受到的数据没问题,至于中间丢失的数据压根不管。而运输层则对中途丢失的数据也做管理,它会通知发送端说:“数据b怎么没有发?在给老子发一遍“。
呵呵,原创。
参看:
参看:
摘自:计算机网络-谢希仁
- 原创-“差错控制”在数据链路层和运输层中的区别(不同)
- 数据链路层和运输层的流量控制及差错控制
- 【计算机网络】数据链路层(二):差错检测和纠正
- 数据链路层----差错检测
- 数据链路层差错检测:CRC(循环冗余检验)
- 【计算机网络-4】 【第三章】数据链路层笔记1——组帧、差错控制、流量控制
- 《数据通信与网络》笔记--数据链路层的差错控制协议
- 【数据链路层】三个协议治你的错---差错控制
- 无线通信中在第二层数据链路层中集中转发和本地转发的区别
- 网络层和运输层的区别
- TCP层与数据链路层流量控制的区别
- TCP层与数据链路层流量控制的区别
- JPCAP——JAVA中的数据链路层控制
- JPCAP——JAVA中的数据链路层控制
- JPCAP——JAVA中的数据链路层控制[转]
- JPCAP——Java中的数据链路层控制
- JPCAP——Java中的数据链路层控制[转]
- JPCAP——JAVA中的数据链路层控制
- 黑马程序员--第十三天:String类
- JavaScript 惰性载入函数
- woz整合zen-cart和Wordpress博客的详细全过程安装
- ExtJS4.2 - 从 Hello World 到 自定义组件 -01 (为爱女伊兰奋斗)
- Excel2007的bug如何导入到QC
- 原创-“差错控制”在数据链路层和运输层中的区别(不同)
- 银行业务调度系统学习
- vmware server安装oracle rac(二) 之操作系统的配置
- 学生管理系统
- hibernate处理懒加载实例
- Axis2(10):使用soapmonitor模块监视soap请求与响应消息
- JavaWeb 服务启动时,在后台启动加载一个线程。
- 如何在ArcGIS Engine的Globe中进行三维定位
- 设计模式笔记(3)---抽象工厂模式(创建型)