精华内容
下载资源
问答
  • 停止等待协议代码

    2013-12-09 15:39:02
    能够模拟实现停止等待协议的过程,并且能够实现文件端到端传输
  • 停止等待协议

    2014-04-11 10:39:38
    停止等待协议
  • 信息网络 停止等待协议 实验报告
  • 停止等待 协议源代码 you 中文注释
  • 计算机网络实验,停止等待协议的数据传输的实验报告
  • TCP协议总结--停止等待协议,连续ARQ协议,滑动窗口协议 Posted on 2015-09-16 16:27 杨博东的博客 阅读(4459) 评论(0) 编辑 收藏 </div> <div class="postbody"><div id="cnblogs_post_...

    TCP协议总结--停止等待协议,连续ARQ协议,滑动窗口协议

    Posted on 2015-09-16 16:27 杨博东的博客 阅读( 4459) 评论( 0) 编辑 收藏
    	</div>
    	<div class="postbody"><div id="cnblogs_post_body" class="blogpost-body">
        <div class="markdown_views"><p>前言:在学习tcp三次握手的过程之中,由于一直无法解释tcpdump命令抓的包中seq和ack的含义,就将tcp协议往深入的了解了一下,了解到了几个协议,做一个小结.</p>
    

    先来看看我的问题:
    这是用tcpdump命令抓的三次握手的包,可以看到seq和ack都比较大,我自己也无法解释原因.
    这里写图片描述
    这里写图片描述
    第二张是在同一过程中用Wireshark抓的包,其中seq和ack还比较正常,难道原因就是我不懂tcpdump命令中的数据?我的解释是Wireshark和tcpdump中抓的包,数据的显示方式可能不同,最后学长说可以用 -S 将tcp的序列号以绝对值形式输出,而不是相对值。转化了一下,第三次的ack就正常了.主要还是得知道seq和ack一样,都是字节序列号,一共4个字节,范围都是从[0,2^32 - 1].

    $ tcpdump -S port 80

    这里写图片描述

    一:停止等待协议
    停止等待协议是tcp保证传输可靠的重要途径,”停止等待”就是指发送完一个分组就停止发送,等待对方的确认,只有对方确认过,才发送下一个分组.

    1:无差错情况:发送方发送分组,接收方在规定时间内收到,并且回复确认.发送方再次发送……
    这里写图片描述
    2:超时重传有以下三种情况:
    (1)分组丢失:发送方发送分组,接收方没有收到分组,那么接收方不会发出确认,只要发送方过一段时间没有收到确认,就认为刚才的分组丢了,那么发送方就会再次发送.
    (2):确认丢失:发送方发送成功,接收方接收成功,确认分组也被发送,但是分组丢失,那么到了等待时间,发送方没有收到确认,又会发送分组过去,此时接收方前面已经收到了分组,那么此时接收方要做的事就是:丢弃分组,重新发送确认.
    (3):传送延迟:发送方发送成功,接收方接收成功,确认分组也被发送,没有丢失,但是由于传输太慢,等到了发送方设置的时间,发送方又会重新发送分组,此时接收方要做的事情:丢弃分组,重新发送确认. 发送方如果收到两个或者多个确认,就停止发送,丢弃其他确认.
    这里写图片描述

    停止等待协议的优点是简单,但是缺点是信道的利用率太低,一次发送一条消息,使得信道的大部分时间内都是空闲的,为了提高效率,我们采用流水线传输,这就与下面两个协议有关系了.

    二:连续ARQ协议和滑动窗口协议
    这两个协议主要解决的问题信道效率低和增大了吞吐量,以及控制流量的作用.

    • 连续ARQ协议:它是指发送方维护着一个窗口,这个窗口中不止一个分组,有好几个分组,窗口的大小是由接收方返回的win值决定的,所以窗口的大小是动态变化的,只要在窗口中的分组都可以被发送,这就使得TCP一次不是只发送一个分组了,从而大大提高了信道的利用率.并且它采用累积确认的方式,对于按序到达的最后一个分组发送确认.
    • 滑动窗口协议:之所以叫滑动窗口协议,是因为窗口是不断向前走的,该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输,还可以控制流量的问题.
    • 累积确认:如果发送方发送了5个分组,接收方只收到了1,2,4,5,没有收到3分组,那么我的确认信息只会说我期望下一个收到的分组是第三个,此时发送方会将3,4,5,全部重发一次,当通信质量不是很好的时候,连续ARQ还是会带来负面影响.
        <div style="padding-top:20px">         
            <p style="font-size:12px;">版权声明:本文为博主原创文章,未经博主允许不得转载。</p>
        </div>
    
    0
    0
    « 上一篇: Linux&C———进程间通信
    » 下一篇: TCP报文段首部详解
    </div>
    
    展开全文
  • 停止等待协议 1. 实验目的 1 2. 协议介绍 1 2.1 停止等待协议的简单介绍(STOP AND WAIT): 1 2.2 帧的结构: 1 2.3 停等协议中相关事件的介绍 2 3. 实验内容和步骤 3 3.1步骤: 3 3.2基本内容: 4...
  • 自认为很好的一个模拟软件 很好的模拟了其原理
  • 实现停止等待协议C++代码

    热门讨论 2009-11-15 15:43:31
    修改后的停止等待协议,可以很清楚的讲解协议的实现过程
  • ARQ 停止等待协议

    2011-07-01 16:51:12
    停止等待协议的工作机理,并实现给出的协议算法。根据给出的停止等待协议的算法描述c语言实现
  • 3.4.2 停止等待协议

    2020-09-29 10:05:53
    停止等待协议到底在哪一层? 其实在谢希仁的那本书是在传输层,考试一般默认是传输层。 不过这个教材是在数据链路层,不过不妨碍学习。 停止-等待协议 无差错情况 有差错情况 1、数据帧丢失或检测到帧出错 RTT...

    思维导图

    在这里插入图片描述

    停止等待协议到底在哪一层?
    其实在谢希仁的那本书是在传输层,考试一般默认是传输层。
    不过这个教材是在数据链路层,不过不妨碍学习。
    

    停止-等待协议

    在这里插入图片描述

    无差错情况

    在这里插入图片描述

    有差错情况

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

    在这里插入图片描述

    RTT往返时延。ACK确认帧
    

    2、ACK丢失

    在这里插入图片描述

    3、ACK迟到

    在这里插入图片描述

    停等协议性能分析

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

    展开全文
  • 停止等待协议与连续 ARQ 协议

    万次阅读 2019-06-27 00:43:24
    一、停止等待协议 停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。 全双工通信的双方既是发送方也是接收方。 为了讨论问题的方便,我们仅考虑 A 发送数据,而 B 接收...

    一、停止等待协议
    停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
    全双工通信的双方既是发送方也是接收方。

    为了讨论问题的方便,我们仅考虑 A 发送数据,而 B 接收数据并发送确认。因此 A 叫做发送方,而 B 叫做接 收方。

    1. 无差错情况
    在这里插入图片描述
    2. 出现差错情况:

    • 在接收方 B 会出现两种情况:
      (1)B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。
      (2)M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。
    • 在这两种情况下,B 都不会发送任何信息。
    • 但A都必须重发分组,直到B正确接收为止,这样才能实现可靠通信。

    问题1:A如何知道 B 是否正确收到了 M1 呢?
    解决方法:超时重传
    A 为每一个已发送的分组都设置了一个超时计时器
    A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
    若A在超时计时器规定时间内没有收到B的确认,就认为分组错误或丢失,就重发该分组。

    问题2:若分组正确到达B,但B回送的确认丢失或延迟了,A未收到B的确认,会超时重发。B 可能会收到重复的 M1 。B如何知道收到了重复的分组,需要丢弃呢?
    解决方法:编号
    A为每一个发送的分组都进行编号。若B收到了编号相同的分组,则认为收到了重复分组,丢弃重复的分组,并回送确认。
    B为发送的确认也进行编号,指示该确认是对哪一个分组的确认。
    A根据确认及其编号,可以确定它是对哪一个分组的确认,避免重发发送。若为重复的确认,则将其丢弃。

    二、连续 ARQ 协议
    基本思想
    发送方一次可以发出多个分组。
    使用滑动窗口协议控制发送方和接收方所能发送和接收的分组的数量和编号。
    每收到一个确认,发送方就把发送窗口向前滑动
    接收方一般采用累积确认的方式。
    采用回退N(Go-Back-N)方法进行重传。

    学习自课件

    展开全文
  • 26-tcp可靠传输——停止等待协议

    千次阅读 2018-04-30 18:39:39
    1. tcp可靠传输   通过前面的学习可知,网络层传输数据时是尽最大努力...  那么为了后面学习tcp可靠传输,先从最简单的可靠传输停止等待协议说起吧。 2. 停止等待协议   什么是停止等待协议?   A和B...

    1. tcp可靠传输

      通过前面的学习可知,网络层传输数据时是尽最大努力传输到目的地,并不保障数据的可靠传输,对于网络拥塞,延迟,数据丢失等问题没有采取有效的措施。因此我们需要一种数据可靠传输的通信方式,即tcp来实现发送端和接收端之间的可靠通信。

      那么为了后面学习tcp可靠传输,先从最简单的可靠传输停止等待协议说起吧。

    2. 停止等待协议

      什么是停止等待协议?

      A和B双方建立好tcp连接后就可以相互发送数据了,A为发送方,B为接收方。因为这里讨论可靠传输原理,所以把传输的数据单元称为分组。“停止等待”就是每发送完一个分组就停止发送,等待对方确认后再发送下一个分组。停止等待协议考虑了数据在网络中传输出现的几种情况来提供有效措施保障数据的可靠传输,下面我们就一一来介绍这几种情况。

      对于无差错情况,不会出现重传情况,那么我们直接跳过,没什么好说的。

    2.1 出现差错或丢失的情况

    这里写图片描述
    图1-出现差错或丢失

      当A在发送M1分组的过程中丢失时,又或者B接收到M1分组检测到差错并丢弃了M1分组时(注意:这里B不会发送M1确认分组,而是什么也不做),可靠传输协议是这样设计的:只要A没有在规定时间内收到B的确认,就认为刚才发送的分组丢失了,并对丢失的分组进行重传,这种方式叫超时重传。要实现超时重传,就要每发送完一个分组就设置一个超时计时器。如果在超时计时器到期之前收到了对方的确认,则撤销该超时计时器。

    这里注意几点:
      1. A发送完一个分组后,必须暂时存储已发送的分组的副本(发生超时重传时使用),当收到该分组的确认时就清除本地存储的分组的副本。

      2. 分组和确认分组都必须进行编号,这样才能明确哪一个已发送的分组被确认,哪一个还没被确认。

      3. 超时计时器设置的重传时间比数据分组传输的平均往返时间更长一些,在设置重传时间也是有要求的。因为重传时间设置的过长会导致重传花费的时间长,通信效率慢,但是重传时间设置的过短会导致出现不必要的重传,浪费网络资源。

      比如B发送的确认分组发生在网络中发生拥塞,传输的时间过长才到达A,但是A设置的重传时间又很短,就会出现不必要的重传。因此设置重传时间是非常复杂的,因为分组在网络传输的过程中经过哪些网络,是否会出现网络拥塞或其他问题,都是不确定的。

    2.2确认丢失的情况

    这里写图片描述
    图2-确认丢失

      当B收到A的M1分组后,B发送的M1确认分组在网络中丢失了,且A在设定的超时重传时间内又没有收到B的M1确认分组,这时A无法知道是自己发送的M1分组出错丢失,还是B发送的M1确认分组丢失了,那么A会在超时计时器到期后重传M1分组。

      如果B又收到了重传的分组M1,这时B会丢弃重复的M1分组,并向A发送M1确认分组(很明显,因为A本来就没有收到过确认啊)

    2.3 确认迟到的情况

    这里写图片描述
    图3-确认迟到

      假设这么一种情况:A在发送M1分组后,B发送的确认M1分组却迟到了,但是A在超时计时器规定的时间内又没有收到B的确认M1分组,那么A将会重传M1分组,根据前面所知的情况来看,B在收到重复的M1分组后会丢弃并重传确认M1分组。那么在A收到重传的确认分组后,又收到了B迟到的确认M1分组,这是A会丢弃迟到的确认M1分组。

      像上面所说的可靠传输协议通常称为自动重传请求,也就是说,重传时自动进行的,只要发送方没收到确认,就会重传。如果A不断重传分组却总是也收不到确认,这说明通信线路太差,不能进行通信。

    展开全文
  • 《计算机网络与通信》课程讲述计算机网络的原理,尤其是TCP/IP协议栈的原理和应用,是一门理论性、应用性、实践性都比较强...在这次课程设计中,我设计的的是通过编译语言,编程模拟实现数据链路层协议中的停止协议
  • 文章目录SW(Stop and Wait)停止等待协议1.确认与否认2.超时重传3.确认丢失4.确认迟到5.总结6.SW的信道利用率7.例题 SW(Stop and Wait)停止等待协议 这里通过把SW可能遇到的问题,把SW分成四个小部分来讲,即该...
  • 停止等待协议算法

    2008-06-11 13:17:24
    是关于数据通信方面停止等待协议的一个算法
  • 数据链路层:5、停止等待协议思维导图:停止等待协议、滑动窗口协议到底属于哪一层?为什么要有停止等待协议停止等待协议无差错和有差错:停止等待协议的效率: 思维导图: 停止等待协议、滑动窗口协议到底属于哪...
  • 一、无差错情况 二、有差错情况 ...停止等待协议中,实际发送数据的时间远小于发送数据的总时间,导致信道利用率低,因此,可以采用流水线技术,引入 后退N帧协议(GBN) 和 选择重传协议(SR)
  • 理想的传输条件特点:理想的传输条件有以下两个特点: (1) 传输信道不产生差错。 (2) 不管发送方以多快的速度发送数据,接收方总是来...“停止等待”就是每发送完一个分组就停止发送, 等待对方的确认。在收到确认...
  • 停止等待协议和连续ARQ协议

    千次阅读 2017-12-23 00:44:00
    停止等待协议(数据链路层): 工作原理:发送方每发送一帧就暂停,等待应答(ACK)到来。收方收到数据帧后发送应答(ACK)帧给发送方,发送方再发送下一个数据帧。 问题解决: 1. Data帧出错:收方用NAK应答。 ...
  • 1.停止等待协议 1.1特征:发方每发送一帧就暂停,等待应答(ACK)到来。收方收到数据帧后发ACK帧给发方,发方再发送下—个数据帧。 1.2要解决的问题: DATA帧出错。 对策:收方用NAK应答。 DATA帧丢失。 对策:使用...
  • 本实验可以基于实验七的数据帧传输实验,根据给出的停止等待协议的算法描述,选择自己熟悉的语言工具给予实现。 按照数据帧传输实验初级层次,一个站点充当发送方,一个站点充当接收方。 也可以采用模拟方式,用...
  • 流量控制① 必要性② 数据链路层 VS 传输层③ 定义④ 方法1)停止等待协议2)滑动窗口协议关系:包括:3)协议对比二. 停止-等待协议必要性应用情况① 无差错情况② 有差错情况1)数据帧丢失,或检测到帧出错。2)...
  • 停止等待协议实验报告.doc

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 106,055
精华内容 42,422
关键字:

停止等待协议