概述
计算机网络之ARQ协议
实验六 1. 数据链路层的基本概念 2. 停止等待协议 3. 连续 ARQ 协议 一、实验目的 1.掌握数据链路层的传输概念及数据在链路层上传输的基本原理。 2.掌握数据链路层停止等待 ARQ 协议的原理及其工作过程。 3.掌握数据链路层连续 ARQ 协议——回退 N 式 ARQ 协议和滑动窗口协议的原理及 其工作过程。 二、实验环境 1.TCP/IP 协议 2.Windws9x/Me/NT/2000/XP 三、编程环境 1.Visual C++ 6.0 2.C++ Builder 或 其它 四、实验步骤 1、弄清楚实验的原理 2、测试模拟传输过程,查看相关传输效果 3、解释相关的数据结果 4、提交电子版和纸质实验报告 5、有兴趣的同学可以自己编写几种协议实现的代码 思考题 结合实验过程中的内容与结果,回答下列问题: 1.说说数据链路层 ARQ 的发展过程。 2.分别阐述几种数据链路层 ARQ 协议的基本原理是什么? 3.想想数据链路层的性能在整个网络中的作用是什么? DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 重传 DATA2 重传 DATA3 ACK1 ACK2 ACK1 确认 DATA0 ACK2 确认 DATA1 DATA2 出错,丢弃 DATA3 不按序,丢弃,重传 ACK2 DATA4 不按序,丢弃,重传 ACK2 DATA5 不按序,丢弃,重传 ACK2 ACK3 ACK3 确认 DATA2 ACK4 确认 DATA3 ACK4 重传 DATA5 重传 DATA4 超 时 重 传 时 间 A B tout 送交主机 送交主机 … ?? ACK2 ACK2 ACK2 需要注意 (1) 接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。 (2) ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表示确认 1 号帧 DATA1,并期望下次收到 2号帧。依此类推。 需要注意 (3) 结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零。但若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧。 在等不到 2 号帧的确认而重传 2 号数据帧时,虽然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ(又称回退N式ARQ协议),意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传。 连续ARQ协议的优缺点 连续ARQ协议一方面因连续发送数据帧而提高了效率,另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传,这种做法又使传送效率降低。 若传输信道的传输质量很差因而误码率较大时,连续ARQ协议不一定优于停止等待协议。 ARQ协议 1. 数据链路层的基本概念 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 数据链路/逻辑链路=物理链路+通信规程 该层要解决的问题:如何在有差错的线路上,进行无差错传输。数据链路层协议功能图示。 数据链路层的模型 数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。 早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。 结点 结点 帧 帧 在数据链路层上传输数据帧 ?发送方: ?接收方: ?传输过程: !解决这些问题,是数据链路层的主要任务。 !针对这些问题所制定的通信规程就是数据链路层的通信协议。 以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据? 是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗? 会出错吗?会丢失数据帧吗? 数据链路层的主要功能 数据链路层最重要的作用就是:通过一些数据链路层协议,在不太可靠的物理链路上实现可靠的数据传输。其主要功能可归纳如下: (1) 链路管理 (2) 帧定界 (3) 流量控制 (4) 差错控制 (5) 将数据和控制信息区分开 (6) 透明传输 (7) 寻址 数据链路层的主要功能 (1
最后
以上就是眯眯眼微笑为你收集整理的在计算机网络中ARQ是指什么,计算机网络之ARQ协议.ppt的全部内容,希望文章能够帮你解决在计算机网络中ARQ是指什么,计算机网络之ARQ协议.ppt所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复