【计算机网络】第三章 数据链路层(可靠传输)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 【计算机网络】第三章 数据链路层(可靠传输)

文章目录

第三章 数据链路层

3.4 可靠传输

3.4.1 可靠传输的基本概念

3.4.2 可靠传输的实现机制——停止-等待协议

3.4.2 可靠传输的实现机制——回退N桢协议

3.4.3 可靠传输的实现机制——选择重传协议

3.4.4 可靠传输的意义






第三章 数据链路层

3.4 可靠传输

可靠传输是指在数据通信过程中,确保数据能够准确、完整地按照发送方的意图传输到接收方,并且接收方能够正确地接收和处理数据。


在可靠传输中,通常需要解决以下问题:


确认和反馈:发送方在发送数据后,需要接收到接收方的确认信息,以确认数据是否正确接收。如果发送方没有收到确认信息,会重传该数据,确保数据的正确性。


序号和重传:为了确保数据的有序传输和不丢失,每个数据包都应该带有唯一的序号。接收方根据序号对数据包进行排序,并检测是否有丢失的数据包,如果有则要求发送方进行重传。


超时重传:发送方通常会设置一个超时时间,在规定时间内如果没有收到接收方的确认信息,就认为数据丢失,需要进行重传。


流量控制:为了避免接收方无法及时处理大量的数据,需要对发送方的数据发送速率进行控制,确保发送方和接收方之间的数据传输保持平衡。


错误检测和纠正:通过使用差错检测码和纠错码等技术,可以检测并纠正数据传输过程中产生的错误,提高数据传输的可靠性。


常见的可靠传输协议包括 停止等待协议、连续 ARQ(Automatic Repeat Request)协议,如选择重传、回退N帧协议和选择重复请求协议等。这些协议都通过上述机制来实现可靠传输,确保数据在通信过程中的准确传递。





3.4.1 可靠传输的基本概念

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

根据数据链路层向上提供的服务类型:

不可靠传输服务:仅仅丢弃有误码的桢,其他什么都不做。

可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。

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

无线链路 易受干扰,误码率较高,因此 要求数据链路层 必须向上层提供 可靠 传输服务。

比特差错 只是传输差错中的一种。

从整个计算机网络体系结构来看,传输差错还包括分组丢失,分组失序 以及 分组重复。

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




3.4.2 可靠传输的实现机制——停止-等待协议

微信截图_20231016154538.png

微信截图_20231016154550.png

微信截图_20231016154601.png

微信截图_20231016154614.png

微信截图_20231016154623.png

微信截图_20231016154632.png

微信截图_20231016154640.png

微信截图_20231016154703.png

若出现重传,信道利用率更低。

为了克服 停止-等待协议 信道利用率低 的缺点,就产生了另外两种协议。


3.4.2 可靠传输的实现机制——回退N桢协议

微信截图_20231016154718.png

微信截图_20231016154727.png

微信截图_20231016154748.png

微信截图_20231016154817.png

微信截图_20231016155210.png

微信截图_20231016155224.png

微信截图_20231016155237.png

微信截图_20231016155245.png

3.4.3 可靠传输的实现机制——选择重传协议

选择重传协议 为了使发送方仅重传出现差错的分组,接收方不能再采用累计确认,而需要对每个正确接收到的数据分组进行 逐一确认。

微信截图_20231016155259.png

微信截图_20231016155307.png

微信截图_20231016155316.png

微信截图_20231016155325.png

微信截图_20231016155333.png

3.4.4 可靠传输的意义

可靠传输在数据通信中具有重要的意义,主要包括以下几个方面:


数据完整性:可靠传输能够确保发送的数据在传输过程中不被修改、损坏或丢失。这对于许多应用场景来说至关重要,特别是在涉及关键数据、文件传输或信息交换的情况下,需要确保数据的完整性。


数据可靠性:通过使用确认和反馈机制,可靠传输可以确保数据在发送方和接收方之间的正确传送。发送方会等待接收方的确认信息,如果未收到确认或收到错误的确认信息,则进行重传,从而提高数据传输的可靠性。


异常处理:可靠传输能够对网络异常情况进行处理,例如网络延迟、拥塞、丢包等。通过设置适当的超时重传和流量控制机制,可靠传输可以应对这些异常情况并进行恢复,确保数据可以成功传输。


顺序性:可靠传输通常也保证了数据包的顺序传输。这对于那些依赖于数据包顺序的应用程序非常重要,比如视频流、音频流等,确保数据按照正确的顺序进行播放或处理。


性能优化:尽管可靠传输可能会引入一些额外的开销(如确认和重传机制),但它可以提高数据交付的可靠性,从而避免了因为数据丢失或错误导致的重新发送和处理,从而提高整体的性能和效率。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
23天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
51 11
|
1月前
|
网络协议 网络安全 数据中心
|
4月前
|
负载均衡 安全 网络协议
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
84 3
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
网络协议 网络架构
【网络】TCP/IP 五层网络模型:数据链路层
【网络】TCP/IP 五层网络模型:数据链路层
53 1
|
3月前
|
缓存 算法 网络协议
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
这篇文章详细介绍了计算机网络中数据链路层的概念、基本问题、点对点信道和广播信道的数据链路协议(如PPP和CSMA/CD),以及局域网和以太网的相关知识。
242 0
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
|
2月前
|
网络协议 网络架构
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
53 0
|
4月前
|
弹性计算 网络协议
计算机网络-数据链路层
计算机网络-数据链路层
计算机网络-数据链路层
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密