计算机网络之数据链路层的流量控制可靠传输机制以及停止等待协议408_2(代码片段)

bfhonor bfhonor     2022-12-05     256

关键词:

一、流量控制与可靠传输机制

(一)数据链路层的流量控制

  • 较高的发送速较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
  • 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的
  • 数据链路层流量控制手段:接收方收不下就不回复确认。
  • 传输层流量控制手段:接收端给发送端一个窗口公告。

(二)流量控制的方法

在这里插入图片描述

  • 停止—等待协议:发送窗口大小=1,接收窗口大小=1;
  • 后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1;
  • 选择重传协议(SR):发送窗口大小>1,接收窗口大小>1;

(三)可靠传输、滑动窗口、流量控制

在这里插入图片描述

二、停止-等待协议

(一)概念

  • 1.为什么要有停止-等待协议?
    ①、除了比特出差错,底层信道还会出现丢包问题。【丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。】
    ②、为了实现流量控制。
  • 2.研究停等协议的前提?
    虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
    因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
    “停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
  • 3.停等协议有几种应用情况?无差错情况&有差错情况

(二)停等协议——无差错情况

在这里插入图片描述

(三)停等协议——有差错情况

1.数据帧丢失或检测到帧出错

在这里插入图片描述

2.ACK(确认帧)丢失

在这里插入图片描述

3.ACK(确认帧)迟到

在这里插入图片描述

4.停等协议性能分析

在这里插入图片描述

5. 信道利用率

在这里插入图片描述

(四)后退N帧协议(GBN)

1. 停等协议的弊端

在这里插入图片描述

2. 后退N帧协议中的滑动窗口

在这里插入图片描述

3. GBN发送方必须响应的三件事

  • 1.上层的调用
    上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
  • 2.收到了一个ACK
    GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
  • 3.超时事件
    协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。

4. GBN接收方要做的事

在这里插入图片描述
在这里插入图片描述

5. 滑动窗口长度

在这里插入图片描述

  • 若采用n个比特对帧编号,那么发送窗口的尺寸WT 应满足:1≤ WT≤2n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。

6. GBN协议重点总结

在这里插入图片描述

7. 习题

(1)习题1

  • 数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是(C)。【重新发送4、5、6、7帧】
    A.2 B.3 C.4 D.5

(2)习题2

  • 主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms,则甲可以达到的最大平均数据传输率约为( C)。
    A.10Mb/s B.20Mb/s C.80Mb/s D.100Mb/s
  • 甲的发送延迟:(1000 * 1000 * 8b)/100 * 106b/s = 80ms;
  • 2 * 50ms【传播延迟】 + (1000 * 8b)/100 * 106b/s【第一个帧的传送时长】 = 100.08ms【从发送第一个帧到收到确认帧的时间】
  • (1000 * 1000 * 8)/100.08 = 80Mb/s

8. GBN协议性能分析

  • 因连续发送数据帧而提高了信道利用率
  • 在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
    【选择重传协议】

(五)选择重传协议(Selective Repeat)

1. 选择重传协议中的滑动窗口

在这里插入图片描述

2. SR发送方必须响应的三件事

  • 1.上层的调用
    从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
  • 2.收到了一个ACK
    如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
    在这里插入图片描述
  • 3.超时事件
    每个帧都有自己的定时器,一个超时事件发生后只重传一个帧

3. SR接收方要做的事

  • 来者不拒(窗口内的帧)
  • SR接收方将确认一个正确接收的帧不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口
    在这里插入图片描述
  • 如果收到; 窗口序号外(小于窗口下界)的帧,就返回一个ACK。
  • 其他情况,就忽略该帧。
    在这里插入图片描述

4. 滑动窗口长度

在这里插入图片描述

5. SR协议重点总结

  • 1、对数据帧逐一确认,收一个确认一个
  • 2、只重传出错帧
  • 3、接收方有缓存
  • 4、WTmax = WRmax = 2n-1

6. 习题

  • 数据链路层采用了选择重传(SR)协议,发送方已经发送了编号为0~3的帧。现已收到1号帧的确认,而0、2号帧依次超时,则发送方需要重传的帧数是(A)。【重新发送0、2号帧】
    A.2 B.3 C.4 D.5

网络协议和管理

...理信道变为无差错的、能可靠传输数据帧的数据链路。在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线... 查看详情

计算机网络王道考研2021第三章:数据链路层--流量控制(停止-等待协议(信道利用率)滑动窗口协议概述)与可靠传输机制

1.流量控制1.1数据链路层的流量控制1.2流量控制的方法停止等待协议:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一... 查看详情

计算机网络知识总结

...,以及信号的调试解调。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层有两个重要的设备,中继器(也叫放大器)和集线器。 1.2 数据链路层... 查看详情

王道考研计算机网络11数据链路层封装成帧透明传输流量控制停止-等待协议后退n帧协议gbn选择重传协议sr

第三章知识数据链路层的基本概念数据链路层功能概述封装成帧透明传输什么数据都能传输数据链路层的流量控制流量控制方法滑动窗口协议:每一个小格标识一个帧发送窗口:发送端正在处理的发送的数据收到一个帧&#... 查看详情

计网四章

传输层的基本理论和基本机制:多路复用/分用可靠数据传输机制流量拥塞控制机制拥塞控制机制 Internet的传输层协议:UDP:无连接传输服务不可靠的交付服务,基于“尽力而为”的网络层。(多路分用、多路复用)TCP:面向... 查看详情

osi参考模型各层的主要功能?

1、物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。它主要关心的是通过物理链路从一个节点向另一个节点传送比特流,物理链路可能是铜线、卫星、微波或其他的通讯媒介。2、数据链路层是为网络... 查看详情

网络协议及tcp协议详解(代码片段)

...的表示方式。为上层用户解决用户信息的语法问题。包括数据格式交换、数据加密与解密、数据压缩与终端类型的转换。第五层:会话层在两个节点之间建立端连接。为端系统的应用程序之间提供了对话控制机制。会话层不参与... 查看详情

王道计算机网络数据链路层(代码片段)

本笔记结合《2023王道计算机网络考研复习指导》食用🔥王道考研计算机网络数据链路层本笔记结合《2023王道计算机网络考研复习指导》食用🔥数据链路层1.1、功能概述1.2、基本概念1.3、功能概述1.3.1、封装成帧1、透明... 查看详情

数据链路层

 数据链路层定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。数据链路层必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧,帧是... 查看详情

osi七层协议

...nSystemInterconnection)参考模型OSI7层由低到高分为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层5层由低到高分为:物理层,数据链路层,网络层,传输层,应用层物理层比如说光纤,你想跟异地的朋友聊天,... 查看详情

计算机网络王道考研2021第五章:传输层--tcp可靠传输tcp流量控制tcp拥塞控制

1.TCP可靠传输TCP的任务是在IP层不可靠的、尽力而为服务的基础上建立一种可靠数据传输服务。TCP提供的可靠数据传输服务保证接收方进程从缓存区读出的字节流与发送方发出的字节流完全一样。TCP使用了校验、序号、确认和重... 查看详情

计算机网络——数据链路层

计算机网络——数据链路层一、基本概念链路(link):物理链路,一条无源的点到点的物理线路段,中间没有其他交换结点。一条链路只是一条通路的一个组成部分。数据链路(datalink):逻辑链路,=物理链路+通信协议(控制数据传... 查看详情

计算机网络数据链路层(datalinklayer)

前言:本章作为《计算机网络》系列的第三篇文章,内容主要是向大家介绍数据链路层的内容,引入封装成帧、透明传输、差错控制、数据链路层的流量控制与是否能实现可靠传输、介质访问技术、局域网、广域网、... 查看详情

关于网络的随笔

...特性、电气特性、功能特性以及过程特性。。在这一层,数据的单位称为比特(bit)。数据链路层:数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重... 查看详情

数据链路层,数据链路层的主要功能,数据链路层的协议,数据链路层的设备。

...领域优质创作者「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》本章重点了解封装成帧的原理掌握PPP协议的作用及实现原理熟悉链路层的网络设备和工作原理数据链路层一、封装成帧二、链路层的功能1.差... 查看详情

计算机网络之数据链路层考前快速复习

数据链路层3.1概述三个基本问题封装成帧透明传输差错检测3.2点对点协议PPP特点组成帧格式各字段意义字节填充零比特传输工作状态3.3CSMA/CD协议3.4以太网的MAC数据链路层重点:数据链路层的三个基本问题点对点信道和广播信... 查看详情

以太网原理

.数据链路层的功能a链路管理 主要解决关于数据链路的建立,维持和释放。b.信息的传输主要解决帧格式,帧大小,以及判断是数据信息还是控制数据信息等。c.流量与差错控制流量的控制问题实质上是收发双方收发速率的同... 查看详情

网络协议面试题

...和UDP的区别?答:TCP是面向连接的传输协议,提供可靠的数据传输和错误检测,适用于对可靠性要求较高的场景,如文件传输,网页访问等;UDP是无连接的传输协议,不保证传输的可靠性,适用于对实时性要求较高的场景,如视... 查看详情