计算机网络自顶向下 传输层 习题

  1. 考虑在主机 A 和主机 B 之间有一条 TCP 连接。假设从主机 A 传送到主机 B 的 TCP 报文段具有源端口号 x 和目的端口号 y。对于从主机 B 传送到主机 A 的报文段,源端口号和目的端口号分别是多少?

    答:源端口号y和目标端口号x

  2. 描述应用程序开发者为什么可能选择在 UDP 上运行应用程序而不是在 TCP 上运行 的原因。

    答:应用程序开发人员可能不希望其应用程序使用TCP的拥塞控制,这可以在拥塞时限制应用程序的发送速率。 通常,IP电话和IP视频会议应用程序的设计者选择通过UDP运行其应用程序,因为他们希望避免TCP的拥塞控制。 此外,某些应用程序不需要TCP提供的可靠数据传输。

  3. 在我们的 rdt 协议中,为什么需要引入序号?

    答:接收方需要序号来确定到达的数据包是包含新数据还是重传

  4. 在我们的 rdt 协议中,为什么需要引入定时器?

    答:处理传输损失。 如果在分组的定时器的持续时间内没有接收到针对所发送的分组的ACK,则假定分组(或其ACK或NACK)已丢失。

  5. 是非判断题:
    a. 主机 A 经过一条 TCP 连接向主机 B 发送一个大文件。假定主机 B 没有数据发往主 机 A。因为主机 B 不能随数据捎带确认,所以主机 B 将不向主机 A 发送确认。
    false

    b. 在连接的整个过程中,TCP 的 rwnd 的长度决不会变化。
    false

    c. 假设主机 A 通过一条 TCP 连接向主机 B 发送一个大文件。主机 A 发送但未被确 认的字节数不会超过接收缓存的大小。
    true

    d. 假设主机 A 通过一条 TCP 连接向主机 B 发送一个大文件。如果对于这条连接的一 个报文段的序号为 m,则对于后继报文段的序号将必然是 m+1。
    false

    e. TCP 报文段在它的首部中有一个 rwnd 字段。
    true

    f. 假定在一条 TCP 连接中最后的 SampleRTT 等于 1 秒,那么对于该连接的 TimeoutInterval 的当前值必定大于等于 1 秒。
    false

    g. 假设主机 A 通过一条 TCP 连接向主机 B 发送一个序号为 38 的 4 个字节的报文段。 在这个相同的报文段中,确认号必定是 42。
    false

  6. 假设主机 A 通过一条 TCP 连接向主机 B 发送两个紧接着的 TCP 报文段。第一个 报文段的序号为 90,第二个报文段序号为 110。
    a. 第一个报文段中有多少数据?
    b. 假设第一个报文段丢失而第二个报文段到达主机 B。那么在主机 B 发往主机 A 的确认报文中,确认号应该是多少?

    20 bytes
    确认号 = 90

  7. UDP 和 TCP 使用反码来计算它们的检验和。假设你有下面 3 个 8 比特字节: 01010011,01100110,01110100。这些 8 比特字节和的反码是多少?(注意到尽管 UDP 和 TCP 使用 16 比特的字来计算检验和,但对于这个问题,你应该考虑 8 比特和。)写出所 有工作过程。UDP 为什么要用该和的反码,即为什么不直接使用该和呢?使用该反码 方案,接收方如何检测出差错?1 比特的差错将可能检测不出来吗?2 比特的差错呢?

    答:
    0101 0011 + 0110 0110 = 1011 1001
    1011 1001 + 0111 0100 = 1 0010 1101(多了一位,第一位1回卷)
    0010 1101 + 1 = 0010 1110 取其反码,得到1101 0001。
    将反码1101 0001 放在检验和处,在接受方将全部的传输数据和检验和相加为1111 1111时,无差错,只要有任意一位为0,传输中就出现了差错。
    运用反码相加,全1的检测对于计算机来说更加方便,速度会更快。
    1比特的差错一定能够检查出来,2比特的差错如果出现在同一位上,则会被忽略。

  8. 当数据分组和确认分组发生篡改时,给出 rdt3.0 协议运行的轨迹。你画的轨迹应当类似 于 FSM 中所用的图。

  9. 考虑 rdt2.2 接收方,在状态“等待来自下层的 0”和状态“等待来自下层的 1”中的自转 换(即从某状态转换回自身)中生成一个新分组:sndpk=make_pkt(ACK, 1, checksum) 和 sndpk=make_pkt(ACK, 0, checksum)。
    如果这个动作从状态“等待来自下层的 1”中 的自转换中删除,该协议将正确工作吗?评估你的答案。

    在等待来自下层的1中删除时:会正常工作。因为上一步状态转换时已经生成了sndpkt

    在状态“等待来自下层的 0” 中的自转换中删除这个事件将会怎样?[提示:在后一种情况下,考虑如果第一个发送 方到接收方的分组损坏的话,将会发生什么情况?]

    在等待来自下层的0中删除时:在第一次进入时,会工作不正常。此时sndpkt还没有生成,如果接收了一个校验错误的报文,那么无法返回一个分组。

  10. 对下面的问题判断是非,并简要地证实你的回答:
    a. 对于 SR 协议,发送方可能会收到落在其当前窗口之外的分组的 ACK。
    正确。假设发送方的窗口大小为3,并在t0发送数据包1、2、3。在t1(t1>t0),接收方锁定1,2,3。在t2(t2>t1),发送方超时并发送1、2、3。在t3(t3>t2),接收方接收副本并重新确认1、2、3。在T4(T4>T3),发送方接收在t1t1发送的ACK s,并将其窗口推进到t5t5。在t5t5,发送方接收t2t2发送的ACKs 1、2、3。这些ACK就在窗户外面。

    b. 对于 GBN 协议,发送方可能会收到落在其当前窗口之外的分组的 ACK。
    正确,和a一样的场景

    c. 当发送方和接收方窗口长度都为 1 时,比特交替协议与 SR 协议相同。
    正确

    d. 当发送方和接收方窗口长度都为 1 时,比特交替协议与 GBN 协议相同。
    正确。当窗口大小为 1 时, SRGBN,和交替位协议在功能上是等价的。窗口大小为 1 ,排除了无序数据包(窗口内)的可能性。累积 ACK 在这种情况下只是一个普通的 ACK ,因为它只能引用窗口内的单个包。

  11. 补充题:分别描述停止等待协议、GBN、SR 协议的工作原理(基本思想),并给出发 送窗口和接收窗口尺寸与序号位数的关系

    1.停止等待协议(stop-and-wati),是数据链据层一个很重要的协议,基本原理就是说每发送一个分组,必须要停下来等待,等接收方确认后才可继续发送下一个分组。如果没收到确认,就只能超时重传。

    2.GBN协议中,发送方在发完一个数据帧后,连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内仍未收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧

    3.SR协议是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。显然,SR减少了浪费,但要求接收方有足够大的缓冲区空间

计算机网络自顶向下 传输层 习题相关推荐

  1. 计网复习——传输层习题

    计网复习--传输层习题 1. 主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100.试问: (1)第一个报文段携带了多少个字节的数据? (2)主机B收到第一个报文段后发回的确认中的确认号 ...

  2. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  3. 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )

    文章目录 一.TCP 连接管理 二.TCP 连接建立 三.TCP 连接建立 相关报文段 字段 四.SYN 洪泛攻击 五.TCP 连接释放 一.TCP 连接管理 TCP 传输数据过程 : 建立连接 -& ...

  4. 计算机网络传输层课件,计算机网络技术,传输层协议课件

    计算机网络技术,传输层协议课件 lufei1108@ 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战.成就未来和不断达成目标的愿望. 第4章 传输 ...

  5. 【计算机网络】传输层(一)—— 传输层概述

    [计算机网络]传输层(一)-- 传输层概述 一.传输层的功能 二.传输层的寻址与端口 (一).端口 (二).端口号 端口号的分类 (三).套接字 (四).UDP (五).TCP 一.传输层的功能 传输 ...

  6. 《计算机网络——自顶向下方法》习题答案和知识点总结 第一章

    注意:为了保证准确性,习题答案部分在JackeyLea对于英文原版答案的翻译基础上进行了补充和讲解,并且提供了原始题目. 感谢JackeyLea. 下面是他的github地址:点这里 即便如此,错误仍 ...

  7. 用有穷状态自动机描述计算机网络的传输层协议,计算机网络基椽—第八章(传输层)(全).ppt...

    计算机网络基椽-第八章(传输层)(全) 第八章 传输层 8.1 传输层概述 2. 传输层的功能 3. 传输层协议与数据链路层协议的区别 8.2 因特网的传输协议--- TCP和UDP TCP消息格式 ...

  8. 计算机网络之传输层笔记

    传输层 前提 参考书:谢希仁<计算机网络(第7版)>.王道计网课程.天勤计网课程等. 1 传输层概述 1.1 传输层简介 (1)传输层为应用层提供通信服务,使用网络层的服务. (2)传输层 ...

  9. 408王道计算机网络强化——传输层和应用层

    目录 1.传输层和应用层概述 2.传输层 ​编辑 2.1.UDP的首部格式 2.2.TCP的首部格式 2.3.TCP的连接建立 2.4.TCP的连接释放 2.5.慢开始和拥塞部分.快重传和快恢复 3. ...

最新文章

  1. mysql管理用户数据库_MySQL 数据库管理(一)(用户与受权)
  2. 网络协议分层_接口测试之网络分层和数据
  3. Spring AOP底层实现原理
  4. 【dfs】年会小游戏
  5. ajax后台重定向会返回什么_跳转,AJAX返回和重定向
  6. MariaDB安装、卸载以及相关设置(Linux服务器Mysql部署)
  7. python反射机制
  8. 集宁哪有计算机培训班,集宁区有这么一个空间,叫共享自习室
  9. Alfresco 4 项目介绍
  10. 开工利是!循序渐进~
  11. html网页之日历代码,javascript html实现网页版日历代码
  12. 中国羽绒服市场深度调查研究报告
  13. 【数学建模】微分方程求解 | dsolve函数 | ode45函数
  14. Mac上利用iTunes制作铃声
  15. 3种方法教你PS快速去掉水印
  16. python zxing 识别条码_Python zxing 库解析(条形码二维码识别)
  17. Wireshark之流量包分析+日志分析 (护网:蓝队)web安全 取证 分析黑客攻击流程(上篇)
  18. VS2013中F#的新特性
  19. 【python ++ opencv + pytorch 】车牌提取、分割、识别
  20. ERP“创建会计科目”的请求数据量过大报黄

热门文章

  1. 蓝牙在智能家居的应用
  2. Android studio3.1 汉化
  3. linux中读取网卡信息(ip, mask, mac)以及判断物理网线是否插好的C程序---我亲自试了一下,还不错!
  4. 高中生参加的计算机奥赛是,高中生如何参加这20项含金量较高的赛事?为升学加分。...
  5. canvas函数作图demo
  6. 冰血暴第一季/全集Fargo迅雷下载
  7. 了解JavaScript/JavaScript发展前景
  8. 一位非科班,台湾前端妹子的硅谷之路
  9. C++开发龙珠祖玛游戏,10秒钟一关!你见过手速这么快的祖玛吗?
  10. 基于java阿博图书馆管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署