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

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

第三章 数据链路层


3.4 可靠传输


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


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


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


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


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


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


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


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


3.4.1 可靠传输的基本概念


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

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

  • 不可靠传输服务:仅仅丢弃有误码的桢,其他什么都不做。
  • 可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。


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

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

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

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

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


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



答案:D

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

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


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


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

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


3.4.5 可靠传输的意义

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


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


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


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


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


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


相关文章
|
17天前
|
负载均衡 安全 网络协议
|
3月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
52 5
|
17天前
|
弹性计算 网络协议
计算机网络-数据链路层
计算机网络-数据链路层
计算机网络-数据链路层
|
2月前
|
网络协议 数据安全/隐私保护 安全
|
2月前
|
运维 监控 调度
|
3月前
计算机网络学习记录 数据链路层 Day3 (上)(1)
计算机网络学习记录 数据链路层 Day3 (上)(1)
28 2
|
2月前
|
JSON 数据挖掘 API
在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
|
3月前
|
网络协议
逆向学习网络篇:通过Socket建立连接并传输数据
逆向学习网络篇:通过Socket建立连接并传输数据
35 0
|
5天前
|
安全 网络安全 数据库
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第1天】 随着互联网的普及,网络安全和信息安全问题日益突出。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,提高网络安全防护能力。
104 50
|
1天前
|
监控 安全 网络安全
云计算与网络安全的融合之路:探索云服务中的信息安全实践
【9月更文挑战第3天】在数字化转型的浪潮中,云计算已成为现代企业不可或缺的技术基石。然而,随着数据和应用逐渐迁移至云端,网络安全和信息安全的挑战亦随之升级。本文将深入探讨云计算环境下的网络安全挑战,并分享如何通过策略和技术手段加强云服务的安全防护,确保企业资产与数据的完整性、可用性和保密性。
14 5

热门文章

最新文章

下一篇
DDNS