精华内容
下载资源
问答
  • 计算机网络—SR选择重传协议
    2020-03-03 23:50:55

    建议将思维导图保存下来观看,或者点击这里在线观看

    更多相关内容
  • 北邮计算机网络选择重传实验,包括代码和报告,代码有详细注释,报告内容详细
  • 计算机网络选择重传协议实验报告
  • 计算机网络选择重传协议实验报告.pdf
  • 计算机网络课程实验,采用选择重传。北京邮电大学。
  • 北邮计算机网络第一次实验(选择重传协议),该代码在ubuntu12.04下运行成功。
  • 用java程序模拟计算机网络选择重传(SR)机制
  • 北邮计算机网络实验 选择重传 实验一:数据链路层滑动窗口协议的设计与实现 效率大于60%,采用CRC校验技术,网络层分组长度固定为256字节
  • 北邮 计算机网络课程实验 滑动窗口协议 选择重传协议与go-back-n协议 压缩包内附实验报告与配套代码
  • 北邮计算机网络第一次实验(选择重传协议),该代码在ubuntu12.04下运行成功。。。欢迎大家下载 ↖(^ω^)↗
  • 【动图讲解】计算机网络之回退N步与选择重传

    千次阅读 多人点赞 2019-11-13 18:33:35
    发送方在接收到接收方回来的ACK前已经一直没有事做了。 等待时间过长,这会造成资源的极大浪费。 而解决这个问题的简单方法就是不以停等方式运行,运行发送方发送多个分组而无需等待确认。因为许多从发送方向...

    1.流水线可靠数据传输协议

    rdt3.0(reliable data transfer)实现了正确的功能,但是他的性能并不出色,这是因为他是一个停等协议。发送方在接收到接收方传回来的ACK前已经一直没有事做了。
    等待时间过长,这会造成资源的极大浪费。
    而解决这个问题的简单方法就是不以停等方式运行,运行发送方发送多个分组而无需等待确认。因为许多从发送方向接收方输送的分组可以被看成是填充到一条流水线,所以这种技术被称为流水线(pipelining)
    在这里插入图片描述

    因为流水线容易出差错比如缺包,所以引入两种解决流水线差错的基本方法:回退N步(Go-Back-N,GBN)选择重传(Selective Repeat,SR)

    2.回退N步(GBN)

    回退N步是累积确认。
    在回退N步协议中,允许发送方发送多个分组而不用等待确认。
    在这里插入图片描述
    在此图中,上面一行是发送方,下面一行是接收方,我们可以看到一个灰色的矩形框在发送方的0-4包上,这个矩形框是GBN的窗口,GBN也常被称为滑动窗口协议,我们等一下可以看到它是如何运作的。

    让我们先看一下正常情况下GBN如何运作:
    在这里插入图片描述

    当发送过程中发生丢包

    在这里插入图片描述
    当发送过程中的2号包发生丢失时,发送方没有收到接收方的ACK2,于是后面发送的ACK3,ACK4全部变成了ACK1,代表接收方因为丢失了分组2,所以分组3和分组4都被丢弃。所以全部返回ACK1,经过一段时间后,定时器确认超时没有收到ACK3,ACK4,所以发送方将重新发送。也代表接收方首先只收到了分组1及之前的包。

    当接收过程中发生丢包

    在这里插入图片描述
    在此例中,我们可以看到,当接收方接收完消息以后,返回给发送方ACK0,ACK1,ACK2,ACK3,ACK4,我们假设ACK2发生了丢失。根据上一例我们可以知道,如果接收方没有收到分组2,则后面返回的都是ACK1,因为本次返回的为ACK3,ACK4,所以发送方可以判断接收方已经接收到消息,不再进行重复发送。

    3.选择重传(SR)

    在上面我们对GBN已经有了一定的了解,我们现在来想一想GBN的缺点。
    单个分组的差错就能够引起GBN重传大量分组,许多分组根本没必要重传。
    随着差错率的增加,流水线可能会被这些不必要重传的分组占满,造成效率的低下。

    所以,选择重传(Selective Repeat)就是选择性的重新传输的意思。
    SR是对单个分组的确认。

    我们与上面一样,先看一下在SR下正常传输的样子。
    在这里插入图片描述

    当发送过程中发生丢包

    在这里插入图片描述
    我们同样将分组2丢失,但可以看到与GNB不同的是,接收方在没有收到分组2的情况下,依然返回了ACK3,ACK4。此时窗口已经由之前的0-4变成了2-6。当所以ACK1返回以后,分组5,分组6就已经可以发送。然后在接收方,分组3456都已经被缓存,等待分组2的计时器超时后,分组2将重新发送,然后在接收方的分组23456全部变为接收received状态。

    当接收过程中发生丢包

    在这里插入图片描述
    我们同样将ACK2丢弃,此时发送方的分组已经由0-4到了2-6,在最后2-6的窗口中,分组2会因为ACK2被丢失然后在计时器计时后重新发送一次。可以看到如果在接收过程中有丢失发生,选择重传SR的效率是不如回退N步GBN的。

    展开全文
  • 这也就是选择重传协议SR。 SR中的滑动窗口 如图所示为SR中的发送窗口,假设此时3的确认帧已经收到: 可分为以下部分: 发送完被确认的:01 发送完等待确认的:24 目前可发送:5 不可发送的:其余的 再看...

    引言

    GBN协议的弊端

    累计确认,从而导致某一帧错误后会批量重传。

    可行的解决方案

    可以只重传出错的帧,设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。这也就是选择重传协议SR。

    SR中的滑动窗口

    如图所示为SR中的发送窗口,假设此时3的确认帧已经收到:

    可分为以下部分:

    发送完被确认的:01

    发送完等待确认的:24

    目前可发送:5

    不可发送的:其余的

    再看接收方(假设此时5号帧没有收到):

    希望收到还未收到:5号帧

    收到且确认的:6号帧

    等待接收的:70

    SR发送方必须响应的事件

    上层的调用

    从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层,之后再传输。

    收到ACK

    如果收到ACK,假如该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。

    超时事件

    每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。

    SR接收方要做的事

    对于窗口内的帧,无条件接收

    SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧(收到谁确认谁),直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。

    如果收到了窗口下界之前的帧,就返回一个ACK。其他情况,就忽略该帧。

    运行中的SR

    假设发送窗口和接收窗口都为4,发送方发送0帧,接收方收到0帧,并回复0帧确认,由于0帧是接收窗口下界,于是移动窗口使得窗口下界为第一个未被接收的帧(1号帧),同时把新加入帧(4号帧)的状态置为可接收状态:

    发送方发送1帧,接收方收到1帧,并回复1帧确认,由于1帧是接收窗口下界,于是移动窗口使得窗口下界为第一个未被接收的帧(2号帧),同时把新加入帧(5号帧)的状态置为可接收状态:

    发送方发送2帧,但是2帧丢失,接收方未收到2帧:

    发送方发送3帧,接收方收到3帧,缓存三帧,发送ACK3:

    发送方收到ACK0,由于窗口下限被确认,所以窗口右移一个,发送4帧,接收方收到4帧,缓存,发送ACK4:

    发送方收到ACK1,由于窗口下界被确认,所以窗口右移1个,发送5帧,接收方接收5帧,缓存,发送ACK5:

    发送方2帧超时未收到2帧确认,重新传2帧,这次接收方收到了,2-5帧交付(发送给上层网络层),发送ACK2:

    发送方收到ACK3,但是无帧可发,等待,一直到ACK2到达,然后下界移至6.

    滑动窗口长度

    发送窗口最好等于接收窗口

    大了会溢出,小了没意义

    存在以下公式

    W_{Tmax} = W_{Rmax} =2^{n-1},其中W_{Tmax}W_{Rmax}分别是发送窗口和接收窗口大小,n是帧号的比特位数。

    SR协议重点总结

    对数据帧逐一确认,收一个确认一个

    只重传出错帧

    接收方有缓存

    展开全文
  • 计算机网络 滑动窗口协议 selective 选择重传
  •     超时重传时间的选择是TCP最...    但网络是很复杂的,基于一次样本的测量是无法确定RTO的,就比如A给B发送的数据报文段1,它的往返时间很可能因为网络质量的波动,而导致往返时间大于超时重传时间。   

        超时重传时间的选择是TCP最复杂的问题之一,超时重传时间RTO在很大程度上影响了TCP的传输效率。
    在这里插入图片描述
        如上图所示的通信过程,A首先向B发送数据报文段0,并接收来自B的确认报文段,这中间的时间称为往返时间RTT,因此我们选择的超时重传时间RTO应当略大于往返时间RTT,如果太小了就会导致A在收到确认报文之前就进行了重传。
        但网络是很复杂的,基于一次样本的测量是无法确定RTO的,就比如A给B发送的数据报文段1,它的往返时间很可能因为网络质量的波动,而导致往返时间大于超时重传时间。
    在这里插入图片描述
        因此,我们需要选择新的、更加合理的RTO计算方案。如上图所示的计算公式,考虑到了新的RTT样本给RTO带来的影响,进行了加权处理。
        在根据RTT计算出RTO后,当又获得了新的RTT样本,那么就要综合两个RTT时间,给新老RTT赋予不同的权值,新的RTTs=(1-α)x 旧RTTs + α x 新的RTT样本值,而新的RTO由RTTs和RTTD两部分组成,RTTD的计算公式也如图上所示。
    在这里插入图片描述
        在对RTT样本进行采集时,也可能会出现一定的问题。如上图所示,如果A发送的报文段丢失了,在到达重传时间后进行该报文的重传,并收到了针对重传报文的确认,而如果把这个确认当做是对丢失报文的确认,就会使RTT样本过大;而如上图右侧所示,如果将对报文的确认误以为是对重传报文的确认,就会导致RTT样本过小。
        为了解决这个问题,提出了一个方案,即报文段每重传一次,就将超时重传时间RTO增大,一般做法是取为原来的两倍。
    在这里插入图片描述
        如上图所示的通信过程,根据采集到的往返时间RTT和RTO的计算公式,我们可以很方便地求得具体的RTO数值。
    在这里插入图片描述
        而如果出现了超时重传的情况,就直接将新的RTO取为原来的两倍即可。

    展开全文
  • 2015年11月19日 No comments Article 计算机网络中的超时重传和快速重传,一篇很好的解释文章计算机网络中的超时重传和快速重传 Categories: 未分类...
  • 自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有...
  • 计算机网络(5)TCP之重传机制

    千次阅读 2020-09-06 23:33:12
    这里写目录标题一级目录二级目录三级目录重传机制超时重传快速重传SACKD-SACK 一级目录 二级目录 三级目录 TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输的。 重传机制 TCP 实现...
  • 计算机网络实验报告(含代码),回退n帧协议,选择重传协议,含有上级实验报告,用c++编写,操作简单,终端运行编译
  • 一、 选择重传协议 ( SR ) 引入、 二、 选择重传协议 ( SR ) 帧分类、 三、 发送方 事件 ( 确认帧、超时事件 )、 四、 接收方 事件 ( 接收帧 )、 五、 滑动窗口长度、 五、 选择重传协议 SR 重点、 六、 选择重传...
  • 北邮计算机网络实验报告,是数据链路层的滑动窗口协议,采用选择重传协议,报告中内容完整,包含结构说明,代码说明,程序流程图,结果分析(表格),探究分析,源程序等。
  • 例如,在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。流量控制的基本方法是接收方控制发送方发送数据的速率,常见的方式有两种: 1.1、停止-等待流量控制基本原理 ...
  • 十七、选择重传协议

    千次阅读 2021-11-20 19:50:40
    文章目录1、GBN的弊端2、选择重传协议中的滑动窗口2.1 SR发送方必须相应的三件事2.1.1 上层的调用2.1.2 收到了一个ACK2.1.3 超时事件2.2 SR接收方必须相应的三件事2.3 运行中的SR2.4 滑动窗口的长度3、SR协议的重点...
  • 数据链路层:7、选择重传协议思维导图:发送窗口和接收窗口:SR发送方必须响应的三件事:SR接收方必须响应的三件事: 思维导图: 发送窗口和接收窗口: 这个仅作介绍,发送窗口和接收窗口没有关联 SR发送方必须...
  • (1)向网络层提供一个定义良好的服务接口 (2)处理传输错误------差错控制 (3)调节数据流,确保慢速的接收方不会被快速的发送方淹没----- 流量控制 (一) 提供给网络层的服务 一般情况下,数据链路层会提供...
  • 由于TCP下层是互联网环境,发送的报文会经过一个高速率的局域网,也可能经过多个低速率的网络,并且每个IP报文所选择的路由器还可能不同,那么问题就来了。如果把超时重传的时间设置得太短,就会引起很多报文产生...
  • 在阅读此文之前请务必确保您已经了解回退N协议、选择重传协议的整体思路。 解析 不妨假设使用了2^n作为窗口。这里n取3. 按照我们的假设发送方“一组”信息一共有8个(2^3=8)。发送方这些信息的编号:0-7。 当...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,447
精华内容 19,778
关键字:

计算机网络选择重传

友情链接: VOTE.rar