概述
七层模型中提供差错控制的有
- 数据链路层
- 网络层
- 传输层
什么是可靠传输
- 不错(没有比特差错),不丢(丢包),不乱(按序到达)
- 每一层的校验只校验本层的数据,传输层是段,网络层是包,链路层是帧。
数据链路层
- 数据链路层FCS是为了防止网卡软硬件bug、电缆不可靠、信号干扰而造成信号失真、数据错误。如果不检查,将一直到达目的地主机,很有可能TCP/UDP层才会校验出错误,这显然不合理。
- 数据链路层的差错检测的目的是做到"无比特差错"。使用循环冗余检验CRC差错检测技术
- 无法管帧丢失、失序、重复,它只负责一个帧要是传对了,就是对的
两种方式
- 对于通信质量良好的有线传输链路,数据链路层协议不采用确认和重传机制,不要求数据链路层向上提供可靠的传输。如果在数据链路层出现了差错就靠上层协议来完成改正差错的任务
- 对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠的传输服务。现在的通信线路的质量已经大大提高,由通信质量不好而产生差错的概率已经大大降低。
网络层
- 网络层的校验只用于针对网络层的头部
- 好比货车司机只管车,车跑的好他就放心了。车上箱子里的水果零食坏没坏不关他的事。箱子里的水果坏没坏是传输层的事。
- 数据包到了路由器之后,路由器会把这个数据包拆开,根据下一跳的地址,设置新的链路层头部的目的地址,crc校验值,IP首部的的ttl值,甚至可能还会对数据包进行分片,这样修改的更多了,如果在路由器处理的过程中这个数据出错,那么链路层的校验是发现不了错误的。
传输层
- 运输层的差错检测的目的是做到"无传输差错"。即弥补帧丢失、帧重复、帧失序。
最后
以上就是感动滑板为你收集整理的差错控制区别(数据链路层、传输层、网络层)的全部内容,希望文章能够帮你解决差错控制区别(数据链路层、传输层、网络层)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复