【计算机网络篇】数据链路层(4.1)可靠传输的相关概念

文章目录

🍔可靠传输的相关概念

使用差错检测技术(例如循环冗余校验CRC),接收方的数据链路层就可以检测出帧在传输过程中是否产生了误码(也就是比特差错)

如下图

发送方给接收方发送了一个帧,该帧在传输过程中收到噪声干扰,传输媒体质量等因素的影响,出现了误码

请求方收到该帧后,通过帧尾部中的帧检验序列FCS字段的值,也就是检错码,就可以检测出帧出现了误码,那么接下来,接收方应该如何处理呢?

这取决于数据链路层向其上层提供的服务类型

  • 若数据链路层向其上层提供的是不可靠传输服务,则接收方的数据链路层丢弃有误码的帧即可,其他什么也不用做
  • 若数据链路层向其上层提供的是可靠传输服务,这就需要数据链路层通过某种机制,实现发送方发送什么,接收方就能接受什么

例如

接收方可以向发送方发送一个否定帧,通知发送方它之前发送来的帧出现了误码

发送方收到否定帧后,就给接收方重发之前出现误码的那个帧


一般情况下,有线链路的误码率比较低。为了减小开销,并不要求数据链路层向其上层提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理
无线链路易受干扰,误码率比较高,因此要求数据链路层必须向其上层提供可靠传输服务。

我们之前介绍的误码只是传输差错的一部分,还有其他部分(分组丢失,分组失序,分组重复)

⭐分组丢失

假设主机H1给H3发送一个分组,当该分组到达传输路径上的路由器R2的时候,由于R2的输入队列快满了,R2根据自身的分组丢弃策略,决定自动丢弃该分组,这就是分组丢失的情况

⭐分组失序

主机H1给主机H2按序发送了3个分组,由于每个分组可走不同的路径,各路径的距离以及不同路径中各路由器的性能和繁忙程度都可能不同,因此,各分组到达的顺序和发送顺序不同

⭐分组重复

假设主机H1给H3发送了一个分组,当该分组到达传输路径的路由器R5时,由于R5比较繁忙,分组在输入队中排队等待了较长的时间,这导致了主机H1对该分组的超时重发。

超时重发的分组到达主机H3,之后,在路由器R5中排队等待了较长时间的原分组也到达了主机H3,这就导致主机H3收到了2个相同的分组,这也属于传输差错的一种情况,即分组重复

🥚注意


可靠传输服务并不局限于数据链路层,其他各层均可选择实现可靠传输。

可靠传输的实现比较复杂,开销比较大,是否使用可靠传输取决于应用需求。

相关推荐
归寻太乙27 分钟前
Linux环境变量
linux·运维·服务器
高级IT技术专家secops99842 分钟前
在统信UOS/麒麟Kylin OS操作系统中配置APT和GIT代理
运维·服务器·git·系统安全·kylin
自由鬼1 小时前
开源漏洞扫描器:OpenVAS
运维·服务器·安全·网络安全·开源·漏洞管理
難釋懷1 小时前
Shell脚本-while循环语法结构
linux·运维·服务器·bash
静听夜半雨1 小时前
CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建
网络·数据库·c++·编辑器
Jackilina_Stone1 小时前
【网工第6版】第5章 网络互联⑧
网络·软考·网工·第5章 网络互联
电鱼智能的电小鱼2 小时前
基于 EFISH-SBC-RK3588 的无人机通信云端数据处理模块方案‌
linux·网络·人工智能·嵌入式硬件·无人机·边缘计算
夜空晚星灿烂2 小时前
http通信之axios vs fecth该如何选择?
网络·网络协议·http
爱的叹息2 小时前
【前端】基于 Promise 的 HTTP 客户端工具Axios 详解
前端·网络·网络协议·http
christine-rr2 小时前
【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡
网络·网络工程师·软考·考试