这道十分的应用题,你能拿到吗?

让丨梦想丨有迹可循

这是20成电软件工程第 6 篇文

小艾学姐以总分351(录取分数线300),专业课127(录取分数线70)的分数考入电子科大软件工程专业,在电子科大学习5年,多次担任老师助教、助管工作,因此对学院老师非常熟悉;对于专业课复习有丰富的经验,熟知重难点;希望能够帮助学弟学妹们顺利通过考研难关!

TCP这十分,你拿到了吗?

在我们的上一篇文章中,我们为大家讲解了一些TCP协议在考试中所经常出的选择题和判断题经典例题,接下来将会是我们TCP经典例题讲解的重头戏–简答题和应用题。在每一年的的考研中,TCP协议都是考验简答题和应用题中的常客,少则十分,多则十五分,第一遍对于TCP协议的复习已经结束了,大家可以结合学姐给大家总结的几道例题来看看自己复习的情况。

三.简答题

考虑一个GBN协议,发送方窗口为4,序 范围为1024.假设在时刻t,接收方期待的下一个分组序 为k.假设媒体不会对 文重新排序。回答以下问题:1.在t时刻,发送方窗口内的 文序 可能为多少?论证你的回答。2.在t时刻,在当前传播回发送方的所有可能 文中,ACK字段的所有可能值为多少?论证你的回答。

答案:

  1. 发送方窗口内的 文序 可能为k-4、k-3、k-2、k-1、k、k+1、k+2、k+3。
  2. ACK字段的所有可能值为k-1、k-2、k-3、k-4。

解析:

首先我们需要抓住体重的关键–GBN协议,然后反应出GBN协议几个特点:

  • 发送方拥有一个窗口,长度为N;
  • 接收方无窗口,只接收希望接受序 的 文,对于失序到达的 文段采取的方式是直接丢弃;
  • 在重传的时候,将会重传当前发送方窗口中所有未被确认的 文段。
  • 	1.在t时刻,接收方起到收到的下一个分组序 为k,说明接收方已经正确接受了k之前的所有分组,对于发送方而言,我们考虑两种最极端的情况:

    第一种情况:假设之前所有的 文都正确传输,没有任何丢失的问题,那么在这种情况下,发送方正确接收了接收方对于小于k的所有 文的ACK确认,因此窗口将会不断向后移动,序 如下图所示:

    第二种情况:由已知条件我们可以得知序 为k-1的 文是发送方发送的最后一个 文,假设该 文虽然到达了接收方,但是接收方返回的ACK确认由于一些原因没有到达发送方,则窗口不会移动,在这种情况下我们再假设序 k-1位于窗口的最后一列,即如下图所示的所有序 文都没有在发送方被确认,则得到了我们最坏的一种情况:

    考虑了上诉两种极端情况之后,两种极端情况中间的任意一种情况都可能发生,因此发送方窗口序 可能为k-4、k-3、k-2、k-1、k、k+1、k+2、k+3。

    	2.对于这一个小问,我们可以在上一个问题的基础上进行考虑:

    对于情况二而言,在这种情况下由于发送方接收不到ACK确认,因此将会对窗口中的所有 文进行重传,当重传的 文到达了接收方之后,接收方将会对收到的 文进行ACK确认,因此确认 ACK可能等于k-4、k-3、k-2、k-1。

    两种情况结合起来就得到了本题最终的结果,ACK字段的所有可能值为k-1、k-2、k-3、k-4。

    2. 比较GBN、SR和TCP(无延时的ACK)。假设对所有3个协议的超时值足够长,使得5个连续的数据 文段及其对应的ACK能够分别由接收主机(主机B)和发送主机(主机A)收到(如果在信道中无丢失)。假设主机A向主机B发送5个数据 文段,并且第二个 文段(从A出发)丢失。最后所有5个数据 文段已经被主机B正确接收。

    答案

    假设发送的五个数据 文段的序 分别为1、2、3、4、5.

    GBN:A总共发送了5+4=9个 文段,B总共发送了4+4=8个ACK,序 分别为1、1、1、1、2、3、4、5;

    SR:A总共发送了5+1=6个 文段,B总共发送了4+1=5个ACK,序 分别为1、1、1、1、5;

    TCP:A总共发送了5+1=6个 文段,B总共发送了4+1=5个ACK,序 分别为2、2、2、2、6.

    解析:首先我们需要明白三种协议各自的特点:

    GBN:

  • 发送方拥有一个窗口,长度为N;
  • 接收方无窗口,只接收希望接受序 的 文,对于失序到达的 文段采取的方式是直接丢弃;
  • 在重传的时候,将会重传当前发送方窗口中所有未被确认的 文段;
  • 接收方回复的ACK确认序 是当前正确接收的 文段的序 ,如接收到序 为0的 文段,则ACK确认ACK=0。
  • SR:

  • 发送方拥有一个窗口,长度为N;
  • 接收方拥有一个窗口,长度为N,对于失序到达的 文段将会缓存下来;
  • 在重传的时候,将会重传窗口中超市的单个 文,而不会重传窗口中所有的 文;
  • 接收方回复的ACK确认序 是当前正确接收的 文段的序 ,如接收到序 为0的 文段,则ACK确认ACK=0。
  • 在重传的时候,将会重传窗口中超市的单个 文,而不会重传窗口中所有的 文;
  • 接收方回复的ACK确认序 是希望接收到的下一个 文段的序 ,如接收到序 为0的 文段,则ACK确认ACK=1。
  • TCP:

  • 在重传的时候,将会重传窗口中超市的单个 文,而不会重传窗口中所有的 文;
  • 接收方回复的ACK确认序 是希望接收到的下一个 文段的序 ,如接收到序 为0的 文段,则ACK确认ACK=1。
  • 四.应用题

    主机A和B经一条TCP连接通信,并且主机B已经收到了来自A的最长为126字节的所有字节。假定主机A随后向主机B发送两个紧接着的 文段。第一个和第二个 文段分别包含了80字节和40字节的数据。在第一个 文段中,序 是127,源端口 是302,目的地端口 是80。无论何时主机B接收到来自主机A的 文段,它都会发送确认。

    1. 在从主机A发往B的第二个 文段中,序 、源端口 和目的端口 各是什么?
    2. 如果第一个 文段在第二个 文段之前到达,在第一个到达 文段的确认中,确认 、源端口 和目的端口 各是什么?
    3. 如果第二个 文段在第一个 文段之前到达,在第一个到达 文段的确认中,确认 是什么?
    4. 假定由A发送的两个 文段按序到达B,第一个确认丢失了而第二个确认在第一个超时时间间隔之后到达。画出时序图,显示这些 文段和发送的所有其他 文段和确认(假设没有其他分组丢失),标出序 和数据的字节数量;对于增加的每一个应答,标出确认 。

    解析:

    1. 序 为207,源端口 为302,目的端口 为80;
    2. 确认 为207,源端口 为80,目的端口 为302;
    3. 确认 为127;

    更多的经典习题、历年真题讲解和模拟题我们将会在上课的时候为大家讲解,所以大家一定要抓紧时间加入学姐的学习小分队,一起向着成功出发!

    还有疑惑的同学欢迎加入下方群聊一起交流,或者直接添加我们的专业课老师微信 一对一沟通噢~

    20成电软件工程 | 关于专业课复习你想要的都在这里!(内附复习疑问解析)

    20成电软件工程 | 常见软件模型,你弄懂了没?(内含考题分析)

    20成电软件工程 | 备考前,先弄懂这两个“为什么”!

    20成电软件工程 | TCP与UDP,重难点一 打尽!

    20成电软件工程 | TCP真题详解,别再说你不会了!

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年6月25日
    下一篇 2019年6月25日

    相关推荐