《计算机网络》第三章作业

复习题

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

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

    a. 110-90=20字节数据
    b. 由于第一个报文段丢失,所以主机B一开始就会向主机A发送确认报文ACK=90,由于TCP采用累计确认,所以第二个报文段到达后,B仍发送ACK=90

  • R17 假设两条TCP连接存在于一个带宽为Rbps的瓶颈链路上。它们都要发送一个很大的文件(以相同方向经过瓶颈链路),并且两者是同时开始发送文件。那么TCP将为每条连接分配什么样的传输速率?
    在理想情况下,带宽共享是平等的,且带宽充分利用。连接1和连接2的吞吐量是R/2 bps,由于字段大小可能会略有误差,但2条TCP的连接的吞吐量之和不能超过Rbps。

习题

  • P3 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比特的差错如果出现在同一位上,则会被忽略。

  • P26 考虑从主机A向主机B传输L字节的大文件,假设MSS为536 字节。
    a. 为了使得TCP序号不至于用完,L的最大值是多少?前面讲过 TCP 的序号字段为4 字节。
    b. 对于你在(4)中得到的L,求出传输此文件要用多长时间?假定运输层、网络层和数据链路层首部总共为66字节,并加在每个报文段上,然后经155Mbps链路发送得到的分组。忽略流量控制和拥塞控制,便主机A能够一个接一个和连续不断地发送这些报文段

    a. 序号占用 4 字节,即 32 位。它的范围是 [0,2^32−1],也就是说一共有 4 294 967 296 个序号。
    L = 2^32 = 4294967296 byte
    b. 报文段的数量为L/MSS取上整。4294967296/536 ~= 8012999组
    所有分组的总头部信息 = 66 * 8012999 = 528857934 byte
    总数据量 4294967296 + 528857934 = 4823825230 byte
    所需时间 = 4823825230 byte/155Mbps ~= 249秒 = 4.15分钟

  • P40 考虑图3-58。假设 TCP Reno 是一个经历如上所示行为的协议,回答下列问题。在各种情况中,简要地论证你的回答。
    a. 指出 TCP 慢启动运行时的时间间隔。
    b. 指出TCP 拥塞避免运行时的时间间隔。
    c. 在第16个传输轮回之后,报文段的丢失是根据3个冗余 ACK 还是根据超时检测出来的?
    d. 在第 22个传输轮回之后,报文段的丢失是 传输轮回根据3个冗余 ACK 还是根据超时检测出来的?
    e.在第1个传输轮回里,ssthresh的初始值设置为多少?
    f.在第18个传输轮回里,ssthresh的值设置为多少?
    g.在第24个传输轮回里,ssthresh的值设置为多少?
    h.在哪个传输轮回内发送第70个报文段?
    i.假定在第26 个传输轮回后,通过收到3个冗余 ACK 检测出有分组丢失,拥塞的窗口长度和 ssthresh的值应当是多少?
    j. 假定使用TCP Tahoe(而不是TCP Reno),并假定在第16 个传输轮回收到3 个冗余 ACK。在第 19个传输轮回,ssthresh 和拥塞窗口长度是什么?
    k.再次假设使用TCP Tahoe,在第22个传输轮回有一个超时事件。从第17个传输轮回到第22个传输轮回,一共发送了多少分组。

    a. 在传输轮回1-6,23-26时,每下一轮的报文段数量就翻倍,是慢启动。
    b. 在传输轮回6-16,17-22时,每下一轮的报文段数量就加1,是拥塞避免。
    c. 3个冗余 ACK,拥塞窗口长度减半
    d. 超时检测,拥塞窗口长度为1
    e. 第1个传输轮回,ssthresh=32
    f. 第18个传输轮回,ssthresh=42/2=21
    g. 第24个传输轮回,ssthresh=(21+1+1+1+1+1)/2 = 13
    h. 在1~6的慢启动期间,一共发送了1+2+4+8+16+32 = 63个报文段 < 70
    在第7个传输回合需要传输33个报文段,63+33>70
    所以第70个报文段在第7个传输回合被传输
    i. 收到3个冗余ACK,进入快速回复,拥塞窗口减半=4,ssthresh = 4+3(3个冗余ACK)=7
    j. 使用TCP Tahoe,在第16个传输轮回时检测到3个冗余ACK,拥塞窗口长度变为1,ssthresh=21,慢启动。第17个传输轮回,拥塞窗口长度cwnd=1;第18个传输轮回,cwnd=2;第19个传输轮回,cwnd=4。
    k. 续j,第20个传输轮回,cwnd=8;第21个传输轮回,cwnd=16;第22个传输轮回,cwnd再翻倍则超过ssthresh=21,所以cwnd=21。
    共发送1+2+4+8+16+21=52个分组。

《计算机网络》第三章作业相关推荐

  1. 计算机网络第二周作业,计算机网络第三次作业

    计算机网络第三次作业参考答案 1. 一个上层数据包被分成10个帧,每一帧有80%的机会无损地到达目的地.如果数据链路协议没有提供错误控制,试问,该报文平均需要发送多少次才能完整地到达接收方? 答:由于 ...

  2. [计算机网络]第三章——传输层

    文章目录 [计算机网络]第三章--传输层 3.1 概述和传输层服务 传输层概述 3.2 多路复用与多路分解 无连接的多路复用与多路分解 有连接的多路复用与多路分解 3.3 UDP|User Datag ...

  3. 计算机网络前三章试题,计算机网络前三章复习试题PPT课件.ppt

    计算机网络前三章复习试题PPT课件 前三章复习;1.Internet最早起源于 .A.ARPAnet B.MILnet C.NSFnet D. ANSnet2.广域网中广泛采用的拓扑结构是.A.树状 ...

  4. 计算机网络第三章数据链路层习题答案

    计算机网络第三章数据链路层习题答案 3-02数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透 ...

  5. 《计算机网络》第二章作业

    <计算机网络>第二章作业 复习题 R5 运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程? 在两个不同端系统上的进程,通过跨域计算机网络交换报文(message)而相 ...

  6. 计算机网络第三章——数据链路层(仅记录我所认为重要的知识点)

    计算机网络第三章--数据链路层 数据链路层使用的信道类型 点对点信道 广播信道 数据链路层位置 数据链路层的3个基本问题 数据链路和帧 链路 数据链路 数据链路层传输的是帧 封装成帧 透明传输问题 差 ...

  7. 计算机网络第三章习题

    计算机网络第三章习题 习题对应课本:Computer Networks (Fifth Edition) - Andrew S. Tanenbaum 习题 1. 一个上层分组(数据包)被分为 10 帧, ...

  8. 【编译原理】龙书第三章作业答案

    [编译原理]龙书第三章作业答案 练习3.1.1:根据3.1.2节中的讨论,将下面的C++程序划分成正确的词素序列.哪些词素应该有相关联的词法值?应该具有什么值? 答案: 左列为词素,右列为值,划分如下 ...

  9. 激光SLAM第三章作业去除运动畸变

    ·# 激光SLAM第三章作业去除运动畸变 一.原理 1.由于曲线可以通过分段来近似 二.题目介绍 1.题目描述 题目描述 1.本次的作业为实现一个里程计去除激光雷达运动畸变的模块 2.本次的作业里面有 ...

最新文章

  1. HSRP和VRRP在企业网中的应用
  2. 【成长点滴】对SMART原则的一些粗浅理解
  3. java json和对象互相装换
  4. 20个有用的 PHP + jQuery 组件和教程
  5. 设计模式—原型模式及其扩展(思维导图)
  6. Linux安装python环境方法
  7. 知识竞赛的环节主题文件准备的四大步骤及重要提示
  8. socket编程之TCP/UDP
  9. 指定的网络名不再可用
  10. PHP解决验证码无法显示的方法
  11. Java List的安全删除
  12. bootStrap3 垂直居中
  13. php独孤九剑,独孤九剑(0x00) - 我为什么要做 Dit
  14. R语言dbplyr包实现R与SQL语句无缝衔接
  15. 02 | VMware克隆虚拟机镜像和导入及网络设置(图文教程)
  16. 【心理学硕士论文】内观认知疗法对手机成瘾倾向的影响研究(节选)
  17. 机电信息杂志社《机电信息》杂志社机电信息杂志社2022年第24期目录
  18. Android获取系统邮件账号
  19. c语言控制台数字键打地鼠,C语言编程打地鼠
  20. 全尺寸病理图像读取方法

热门文章

  1. 重装Windows系统 (以联想Y700重装Win10专业版为例)
  2. 国产化半实物仿真测试工具——Etest
  3. 系统架构设计笔记(15)—— 网络架构与协议
  4. 值传递,地址传递,引用传递
  5. 读锁应该插队吗?什么是读写锁的升降级?
  6. OATS PK Pairwise Testing
  7. org.hibernate.MappingException: Unknown entity: dxm.com.vo.User
  8. Android应用常用的加密方式
  9. MBA/MEM 复试准备(03)面试礼仪
  10. 应用统计学与R语言实现学习笔记(七)——拟合优度检验