计算机网络——可靠传输及其实现机制
文章目录
- 1.可靠传输的基本概念
- 2.实现机制
- 1.停止—等待协议SW
- 2.回退N帧协议GBN(Go-Back-N)
- 3.选择重传协议SR
1.可靠传输的基本概念
前面提到差错检测技术类似CRC,通过这种手段接收端就能发现帧在传输过程中是否产生了误码。而如果发现产生了误码,对于不可靠传输而言,仅仅丢弃有误码的帧,其他什么也不做。而可靠传输则不一样,它会实现发送端发送什么,接收端就接收到什么。
一般情况下,有线链路的误码率比较小,不要求数据链路层向上提供可靠传输服务,即使有误码,问题也由上层解决。无线链路容易受干扰,因此要求提供可靠传输服务。
从整个计算机系统看,比特差错只是传输差错中的一种,还有诸如分组丢失、分组失序、分组重复,这些错误一般不出现在数据链路层,而是在其上层。可靠传输服务也不局限于数据链路层,其它层均可以实现可靠传输。而可靠传输的实现手段就是我们需要进一步了解的。
2.实现机制
1.停止—等待协议SW
停止—等待协议就是当发送发发送一段数据后,会停下来等到接收方返回消息,确认收到或没有收到数据。如果收到数据,会返回确认消息ACK,发送方就可以继续发送,而如果没收到就会返回否认消息NAK,接收方会重新发送之前的数据。
但如果数据丢失了,发送方一直在等待接收方的确认或否认,数据传输就陷入停滞。针对这种情况可以设置超时计时器,设置重传时间,其值应略大于从发送方到接收方的平均往返时间,当接收方在重传时间内一直未得到反馈,就会重新发送原来的数据。
当出现超时重传的情况后,接收方需要判断接收到的数据分组是不是重复的,因此需要给每一个分组编号,因为每次发送端发送数据后都会停下来等待,所以相邻数据分组的编号只要互不相同即可,依次取0,1,0,1…当发现两次接收到同样编号的数据分组,将其丢弃即可。
同样的道理,确认信息也有可能出现晚点,这样就可能导致原本是上一个数据分组的确认信息,却被以为是新的分组的确认信息,造成误会。也可以给确认信息像发送端发送的数据分组一样编号。
SW协议的新到利用率如上图所示,在忽略处理数据时延的情况下,取决于发送实验TD,往返时间RTT,一般TA较小可忽略。
2.回退N帧协议GBN(Go-Back-N)
停止—等待协议的信道利用率比较低,如果采用上图所示的流水线传输,即一次性传输多个数据分组,可提升行动利用率,再次基础上,就可以引出回退N帧协议。
加入采用3个比特给分组编号,即序号0-7,选择发送窗口的尺寸在1~2^3-1之间,如果选择尺寸为8,会导致无法分辨新旧两组数据的问题。这里假设发送窗口分组数为5,接收窗口分组数为1。则发送方可以同时发送5个分组。
接收窗口每接收一个分组就向前进一格,并向发送端发送确认信息,发送窗口收到确认信息后,也会前进相应的分组数。
接收方不一定需要对收到的分组逐个发送确认,可以在收到几个分组后,对按序到达的最后一个分组发送确认。比如上图中接收方收到了5个数据分组,对分组4发送了确认,这样接收方就知道了这些分组被正确接收。并且即使其中有分组丢失了,也不需要发送方重传。
而如果上图中的分组5出现了误码被丢弃,那么接下来的4个分组序号就不匹配了,此时就会触发退回机制。
每接收到一个序号不符合的分组,接收方就会产生一个对接受到的最后一个分组4的确认,并发送给发送方,发送方就知道需要进行重传。
3.选择重传协议SR
GBN协议中一个数据分组的误码就会导致其后续多个数据分组被丢弃,会引起发送方的超时重传,这是对通信资源的巨大浪费。为了进一步提高性能,可以设法只传送出现误码的数据分组。接收窗口的尺寸不应该在等于1,当接收方收下失序到达但无误码、并且序号落在接收窗口内的数据分组,等待缺失分组收齐后再一起上交,这就是选择重传协议。
发送窗口的尺寸应在1~2^(3-1)之间,超过这个范围同样会引起无法分辨新老分组的情况。选择接收窗口和发送窗口的尺寸都为4,发送窗口传输4个分组到达接收方,其中分组2丢失了。
接收到前两个分组后,接收窗口前移两格,再将没有误码的分组3也接收,但并不前移。发送对0,1,3的确认给发送方,发送窗口会前移两格。
发送窗口将进入窗口的分组4和5页发送出去,并获得确认。而当重传计时器超时,发送方会重新发送分组2到接收方,接收完成后,接收窗口和发送窗口都向前移动4格。
计算机网络——可靠传输及其实现机制相关推荐
- 可靠传输的实现机制——回退N帧协议GBN(Go Back N)
可靠传输的实现机制--回退N帧协议GBN(Go Back N) 因为使用停等协议的发送方式,在发送过程中,信道利用率很低,如果出现超时重传,则信道利用率更低 如果可以同时发送很多个数据分组,采用一种流 ...
- 计算机网络可靠传输是什么意思,可靠传输
传输技术 指充分利用不同信道的传输能力构成一个完整的传输系统,使信息得以可靠传输的技术.传输系统是通信系统的重要组成部分,传输技术主要依赖于具体信道的传输特性. 充分利用不同信道的传输能力,使信息得到 ...
- 【计算机网络】可靠传输
[计算机网络]可靠传输 1.基本概念 2.三种可靠传输的实现机制 2.1停止-等待协议SW 2.1.1 错误状况 2.1.1.1确认与否认 2.1.1.2 超时重传 2.1.1.3 确认丢失 2.1. ...
- 基于UDP服务实现可靠传输
基于UDP服务实现可靠传输原理+C++实现 文章目录 基于UDP服务实现可靠传输原理+C++实现 0 作业要求 1 实现思路 1.1 TCP实现可靠传输的机制 1.1.1 报文分析 1.1.2 连接管 ...
- 计算机网络之流量控制与可靠传输机制
计算机网络之流量控制与可靠传输机制 数据链路层的流量控制 较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作. 数据链路层的流量控制是点对点的,而传输层的 ...
- 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )
文章目录 一.TCP 可靠传输 二.TCP 可靠传输机制 三.TCP 快速重传 机制 一.TCP 可靠传输 可靠性 : 保证 接收方进程 从 TCP 缓冲区 中读取的数据 与 发送方进程 发送的数据 ...
- 【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )
文章目录 一. 数据链路层 流量控制 二. 数据链路层 与 传输层 流量控制 机制 三. 数据链路层 流量控制 四. 数据链路层 流量控制 方法分类 五.停止等待协议 六.滑动窗口协议 七.滑动窗口协 ...
- 3.4.1 计算机网络之流量控制(停止-等待协议、滑动窗口、后退N帧协议GBN、选择重传协议SR)、滑动窗口、可靠传输机制
文章目录 0.思维导图 1.什么是流量控制? 2.什么是可靠传输机制? 3.什么是滑动窗口机制? 4.可靠传输.流量控制.滑动窗口之间的关系 5.停止-等待协议 (1)为什么要有停止-等待协议? (2 ...
- 【计算机网络复习 数据链路层】3.4.1 流量控制与可靠传输机制
流量控制与可靠传输机制 一.数据链路层的流量控制 二.流量控制的方法 三.可靠传输.滑动窗口.流量控制 一.数据链路层的流量控制 较高的发送速度和较低的接收能力不匹配,会造成传输出错,因此流量控制也是 ...
最新文章
- 链表问题7——判断一个链表是否为回文结构(进阶)
- golang中的flag模块小结
- News Distribution
- Linux内核地址空间为什么1GB,为什么Windows为其系统地址空间预留1Gb(或2 Gb)?
- Spring框架—IoC容器
- Base64编码 - Java加密与安全
- 根据线程名获取线程及停止线程
- 蓝桥杯2016年C/C++ 混搭
- 《11.02-构建之法:现代软件工程-阅读笔记》
- 【SCIR AAAI2021】数据增强没效果?试试用Cluster-to-Cluster生成更多样化的新数据吧...
- 解决mavencommons-cli:commons-cli:jar:1.0 下载不下来的错误
- matlab均值滤波代码6,均值滤波matlab程序代码
- 拖机软件Betwinnbsp;VSnbsp;2.0.0.368+破解…
- matlab eiq函数,Matlab学习笔记(9)——textread函数
- C#更新word目录
- Android开发工程师已难找工作
- javaJVM高级特性与实践1.4.1Sun Classic/Eact VM (原始精确的早一辈的虚拟机)1.4.2 sun HotStop VM
- 【财富空间】陈春花:向内打破,为成长赋能;面对全球市场,要有全球化思维、本土化行动
- GFW 三定律,太有创意了,太真实了,胆太大,竟敢光天化日下说实话!
- 智力杂志智力杂志社智力编辑部2023年第6期目录