网络技术-链路层可靠传输协议

可靠传输

在链路层传输中,可能出现的错误包括数据位出错、分组丢失、分组失序、分组重复等。可靠传输服务希望实现发送端发送什么,接收端就接收到什么。虽然下面将在链路层这一章节中介绍SW、GBN、SR三种协议,但要明确的是,可靠传输服务并不仅仅局限于链路层,其他各层均可选择实现可靠传输。

停等协议 - SW

停等协议(Stop and Wait, SW)的发送方每发送一帧数据就停止,并等待接收方发送确认帧,收到确认后再发送下一帧。

确认与否认、超时重传

发送方发送数据后等待接收方ACKNAK的响应,并启动超时计时器,如果一定时间收不到响应则启动超时重传。

确认丢失

如果确认分组丢失,接收方需要能感知到数据分组是否重复,因此数据分组需要编号,在停等协议中,由于每发送一个数据就进行等待,因此使用一位编号就够了。

确认迟到

如果确认分组迟到,在图示情况中,发送方需要感知到第二个ACK是对第二个DATA 0的重复确认,而不是对DATA 1的确认。因此确认分组也需要使用一位编号。

回退N帧协议 - GBN

回退N帧协议(Go Back N, GBN)允许发送方连续发送多个帧(即发送窗口可以大于1),以解决停等协议信道利用率低的问题。

发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去;但接收方的接收窗口大小仅为1,也就是只有接收到了此窗口所代表的序号的分组,接收方才会回复ACK并且移动接收窗口。同理,发送方收到了发送窗口中最早的那个序号对应分组的ACK,才会移动发送窗口。

累计确认

接收方不一定要对收到的数据逐个确认,也可以对最后一个分组进行确认。ACK n表示序号为n及其之前的分组都已经被正确接收。称这种方法为累计确认。例如图中,接收方只对1号、4号数据分组进行确认,并且ACK 1在传输过程中丢失,发送方仍然可以根据收到的ACK 4判断0~4号分组都已经被正确接收。

有差错情况

例如发送方发送了5/6/7/0/1五个分组,但5号数据分组丢失,此时由于到达的四个分组都与接收窗口序号不匹配,接收方会将其丢弃,并重复响应ACK 4

选择重传协议 - SR

选择重传协议(Selective Repeat, SR)加大接收窗口的长度(即接收窗口也可以大于1),缓存乱序到达的帧,这样不至于在一些情况下需要重传所有未被确认的帧从而导致效率降低。

与GBN一样,发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去;接收方可接收未按序到达但没有误码并且序号落在接收窗口内的数据分组;发送方收到未按序到达的确认分组时,对其进行记录,以防止其相应数据分组的超时重发,但发送窗口不能向前滑动。为了使发送方仅重传出现差错的分组,接收方不再采用累积确认,而是对每个正确接收的数据分组进行逐一确认

例如发送方发送了0/1/2/3四个分组,但2号数据分组丢失,此时0号、1号按序到达,接收窗口可以向前移动;而3号分组可以被接收,但接收窗口不能移动。

返回的ACK到达发送方之后,发送方可以把发送窗口的起点移动到2号,同时记录3号分组已接收。移动发送窗口后,可以把新纳入窗口的4号、5号发送出去。

如果4号、5号可以被正常接收,并且返回的ACK 4ACK 5可以正确到达发送方,那么最后会使得发送窗口和接收窗口都卡在2的位置,并最终触发2号分组超时重传。


回退N帧协议 - GBN
 1:若采用后退N帧的ARQ协议进行流量控制,帧编号字段为7位,则发送窗口的最大长度为

A .7   B.8  C.127 D.128

解题: 
发送窗口+接收窗口<=帧序号
m+1<=帧序号
帧编号7位,表示占7个二进制位,7个2进制位可以表示的数据范围就是,2的7次方128
m+1<=128  ,m<=127   
 

SR协议
2:一个使用选择重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大接收窗口是 16.
解题:发送端窗口+接收端窗口<=序列号
           发送窗口=接收窗口
          x+y = 36 ,  2的5次方
          x=y
          y = 16  

3:对于窗口大小为n的滑动窗口,最多可以有()帧已发送但没有确认
A.0          B.n-1        C.n       D.n/2
发送窗口的大小<=窗口总数-1
4:对于无序接收的滑动窗口协议,若序号位数为n,则发送窗口最大尺寸为

A. 2n次方-1,B. 2n   C.2n-1   D.2的n-1次方

发送端窗口+接收端窗口<=帧序号
发送端窗口=接收端窗口


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/602265.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

typescript 模块化

模块的概念&#xff1a; 把一些公共的功能单独抽离成一个文件作为一个模块。 模块里面的变量、函数、类等默认是私有的&#xff0c;如果我们要在外部访问模块里面的数据&#xff08;变量、函数、类&#xff09;&#xff0c;需要通过export暴露模块里面的数据&#xff08;&#…

深度解读《深度探索C++对象模型》之C++的临时对象(二)

目录 临时对象的生命期 特殊的情况 接下来我将持续更新“深度解读《深度探索C对象模型》”系列&#xff0c;敬请期待&#xff0c;欢迎左下角点击关注&#xff01;也可以关注公众号&#xff1a;iShare爱分享&#xff0c;或文章末尾扫描二维码&#xff0c;自动获得推文和全部的…

51单片机keil编程中遇到的问题(持续更新)

字符无法打印报错 查看特殊功能寄存器名字的时候也会报错&#xff0c;因为无法编译通过&#xff0c;导致头文件的定义内容无法查找 keil编译中 error C127: ‘xx’: invalid storage class 这种一般是在编写头文件或源文件时&#xff0c;在声明函数的结尾没有添加分号&…

C++——list和string

list与string 前言一、listlist.hList的节点类List的迭代器类list类list.h 完整实现 list.cppList的节点类List的迭代器类list类list.cpp 完整实现 二、stringstring.hstring.cpp 总结 前言 C容器的学习开始啦&#xff01; 大家先来学习list&#xff01; 紧接着string和vector…

PGP加密技术:保护信息安全的利器

随着数字化时代的到来&#xff0c;个人和企业对信息安全的需求日益增长。PGP&#xff08;Pretty Good Privacy&#xff09;加密技术作为一项强大的加密工具&#xff0c;为保护敏感数据提供了一种有效的方法。本文将探讨PGP加密技术的基本原理、应用场景以及其在现代信息安全中的…

LeetCode:盛最多水的容器

文章收录于LeetCode专栏 盛最多水的容器 给你n个非负整数a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每个数代表坐标中的一个点(i, ai) 。在坐标内画 n 条垂直线&#xff0c;垂直线i的两个端点分别为(i, ai) 和 (i, 0)。找出其中的两条线&#xff0c;使得它们与…

如何实现网页上3D模型的展示、浏览和互动?

实现网页上3D模型的展示、浏览和互动&#xff0c;可以通过以下步骤进行&#xff1a; 1、创建3D内容&#xff1a;使用3ds max、Maya、blender、C4D等3D软件制作好3D模型。 2、设计3D应用&#xff1a;把制作好的模型导出为fbx、obj、dae、gltf、glb等格式文件&#xff0c;上传到…

不盖CNAS的证书就是无效的?证书哪些信息是“非必要”?

做设备校准的企业&#xff0c;大多数都是为了拿到仪器校准证书&#xff0c;而说起校准证书&#xff0c;很多人优先就是想到CNAS&#xff0c;CNAS作为校准行业重要的核心资质&#xff0c;无论是校准机构实力的证明&#xff0c;还是满足企业年审的需要&#xff0c;基本上都是关键…

Spring Security Oauth2 JWT 添加额外信息

目录 一、问题描述 二、实现步骤 1、自定义TokenEnhancer 2、配置授权服务器 3、自定义UserDetails的User类 三、参考文档 一、问题描述 Oauth2里默认生成的JWT信息并没有用户信息&#xff0c;在认证授权后一般会返回这一部分信息&#xff0c;我对此进行了改造。 Oauth…

大数据集成平台建设方案-word原件资料

基础支撑平台主要承担系统总体架构与各个应用子系统的交互&#xff0c;第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上&#xff0c;实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台&#xff0c;提出了以下要求&#xff1a; (1) 基于平台的基础架构&…

短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发

短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发 搭建短视频矩阵系统源码的交付步骤可以概括为以下几个关键环节&#xff1a; 1. **系统需求分析**&#xff1a;明确系统需要支持的功能&#xff0c;如短视频的上传、存储、播放、分享、评论、点赞等。 2. **技术选…

MySQL —— 数据类型

一、数值类型 以上表格整理了用来表示数值类型的数据类型&#xff0c;其中&#xff0c;接下来将介绍和展示其中几个类型的使用和各种细节 1.tinyint 越界测试&#xff1a;建立一个包含tinyint类型的表格&#xff0c;插入各中数据去查看结果&#xff0c;并且尝试插入边界数据和…

数字人捕捉、建模与合成

在感知系统中&#xff0c;我们与外部合作者一起创建逼真的 3D 人类&#xff0c;其行为可以像虚拟世界中的真实人类一样。这项工作在今天有许多实际应用&#xff0c;并且对于元宇宙的未来至关重要。但是&#xff0c;在感知系统中&#xff0c;我们的目标是科学的——通过重现人类…

PS五官与服装PSD文件大全,男女证件照制作必备素材

一、素材描述 男女证件照服装和五官等PSD文件大全&#xff0c;制作证件照的必备素材合集&#xff0c;轻松制作高端大气的证件照。什么是DR5&#xff1f;DR5是Delicious Retouch 5的简称&#xff0c;这是一款非常优秀的PS人像磨皮美容插件&#xff0c;DR5的主要功能就是针对人像…

AI换脸原理(4)——人脸对齐(关键点检测)参考文献2DFAN:代码解析

注意,本文属于人脸关键点检测步骤的论文,虽然也在人脸对齐的范畴下。 1、介绍 在本文中,重点介绍了以下几项创新性的成果,旨在为人脸关键点检测领域带来新的突破。 首先,成功构建了一个卓越的2D人脸关键点检测基线模型。这一模型不仅集成了目前最优的关键点检测网络结构,…

领导想提拔你,看的从来不只是努力

谁不曾做过努力工作&#xff0c;一路升职加薪的职业规划&#xff0c;现实却给很多人泼了一盆冷水。 在大家的普遍认知里&#xff0c;北上广普遍高薪&#xff0c;月入过万就是标配。 然而在逃离北上广的热门帖子下&#xff0c;有网友发出了声音&#xff1a; “我都35了&#xff…

XSS、CSRF、SSRF漏洞原理以及防御方式_xss csrf ssrf

这里写目录标题 XSS XSS攻击原理&#xff1a;XSS的防范措施主要有三个&#xff1a;编码、过滤、校正 CSRF CSRF攻击攻击原理及过程如下&#xff1a;CSRF攻击的防范措施&#xff1a; SSRF SSRF漏洞攻击原理以及方式SSRF漏洞攻击的防范措施 XMLXSS、CSRF、SSRF的区别 XSS、CSRF的…

落地护眼灯十大品牌哪款性价比高?品牌排行榜前十名全面揭晓!

落地护眼灯十大品牌哪款性价比高&#xff1f;落地护眼灯已经逐渐成为孩子日常使用率较高的电器之一&#xff0c;它的优点非常突出&#xff0c;对于学习、工作、绘画等环境都能够提供良好的健康环境&#xff0c;同时还携带多种智能调节功能&#xff0c;例如&#xff1a;入座感应…

Android 启动提示Android 正在升级...提示源码分析

正常情况下烧录的新机会有这个提示&#xff0c;因为系统启动时候要对系统APP做DexOpt优化&#xff0c;流程如下&#xff1a; 进入performBootDexOpt函数&#xff1a; 提示框代码如下&#xff1a; 而提示框的Tile和Msg如下&#xff1a; 打印Log&#xff1a; 觉得本文对…

小项目“谈笑风生”测试报告

文章目录 一、项目介绍1.1项目背景1.2功能介绍 二、测试环境三、测试执行过程3.1功能测试3.1.1登录页面测试3.1.2注册页面测试3.1.3主页面测试 3.2界面自动化测试3.2.1登录模块测试3.2.2注册模块测试3.2.3展示各种信息模块测试3.2.34聊天消息传送模块测试 四、测试结论与建议 一…