《计算机网络(第七版)谢希仁 编著》部分课后答案

article/2025/8/28 20:20:03

1-28    假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间是2×RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特所需的时间。

(1)数据发送速率为10Mb/s,数据分组可以连续发送。

(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。

(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。

(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即2^{3}-1=2^{2}=4个分组)

 

注:题目的条件中的M=2^{20}=1048576=约等于10^{6},K=2^{10}=1024=约等于2^{3},1B=1字节=8bit=8b


解答:

(1)发送这些比特所需时间=1.5×2^{20}×8bit/(10×10^{6}bit/s)=1.258(s) 最后一个分组传播到达目的地还需要0.5×RTT=40ms时间。总共需要的时间=2×RTT+1.258+0.5×RTT=0.16+1.258+0.04=1.458(s)

(2)需要划分的分组数=1.5MB/1KB=1536

建立时间:2xRTT = 0.16(s)

总的发送时间:仍是1.258(s)

最后一个分组传播到达目的地需要:0.5×RTT=40(ms)=0.04(s)(二分之一往返时间)

从第一个分组最后一个比特到达 直到最后一个分组第一个比特 到达需要经历:1535×RTT=1535×0.08=122.8(s)

总共需要的时间=0.16+1.258+0.04+122.8=1.458+122.8=124.258(s)

(3)在每一个RTT往返时间内只能发送20个分组。1536个分组,需要76个整的RTT,76个RTT可以发送76×20=1520个分组,最后剩下16个分组,一次发送完。但最后一次发送的分组到达接收方也需要0.5×RTT。

因此,总共需要的时间=2×RTT+76×RTT+0.5×RTT=6.12+0.16=6.28(s)

(4)在两个RTT后就开始传送数据。

经过n个RTT后就发送了1+2+4+…+2n=2^{n+1}-1个分组。

若n=9,那么只发送了2^{10}-1=1023个分组。可见9个RTT不够。

若n=10,那么只发送了2^{11}-1=2047个分组。可见10个RTT足够了。

这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,现在总共需要的时间=(2+10+0.5)×RTT=12.5×0.08=1(s)


http://chatgpt.dhexx.cn/article/lJdm1Px6.shtml

相关文章

计算机网络 第七版【谢希仁】部分答案(第1~7章)【附:电子书】

计算机网络(第7版)-谢希仁主编.pdf:【链接:https://pan.baidu.com/s/1Nkz7Gxd6hoChXntR6860bw 提取码:zjxs】 建议在拼多多上买本习题解答! 目 录 第一章 概述 第二章 物理层 第三章 数据链路层 第…

计算机网络第七版 谢希仁 课后答案

想看更多算法题,可以扫描上方二维码关注我微信公众号“数据结构和算法”,截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有800多页(并且还会不断的增加)&…

第七版自顶向下 第一章中文版 计算机网络课后习题答案

本人编写了1-9章全部答案,在我发布的pdf文件里,需要的话自行下载。文件免费 第一章 R组 1.主机和端系统这两个概念没有什么不同。在本书中,“主机”这个名词和“端系统”这个名词可以相互替换。端系统包括PC、工作站、web服务器、邮件服务器、…

计算机网络(第七版)谢希仁编著 前五章课后答案计算题详解

前五章课后答案计算题详解 目录 第一章: 第二章 第三章 第四章 第一章: 10、试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit),从源站到目的站共经过k段链路,每段链路的传播时延为d&#x…

CentOS7通过omnibus安装包搭建GitLab环境

简介 gitlab是一个开源的软件,类似于github.com那样的git代码管理仓库,这里利用官方的omnibus安装包进行简单部署GitLab环境 安装依赖环境 yum install -y git #安装git yum install -y openssh-server #安装openssh-server systemctl enable openss…

Gitlab omnibus 8.15.1 升级到 9.5.+

升级场景 由于公司要通过gitlab接入ci和cd功能,经测试一个repo不能正常使用,且gitlab9.5之后增加了很多新功能,比较吸引我们 GPG Commit Verification: GPG密钥允许您验证签名提交 New Navigation Improvements: 界面窗口有所改进&#xff0…

gitlab升级(Omnibus packages)

为什么80%的码农都做不了架构师?>>> 1、下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-8.7.0-ce.0.el6.x86_64.rpm 下载rpm包时,使用清华的镜像 2、rpm升级 rpm -Uvh gitlab-ce-8.7.0-ce.0.el6.x86_64…

CentOS 7 Omnibus 包安装 GitLab 并汉化记录

为什么80%的码农都做不了架构师?>>> 系统环境 操作系统:CentOS 7 GitLab:gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm下载Omnibus安装包 使用国内镜像加速下载地址 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gi…

Omnibus系列之 创建ObjectServer并配置

前面博客里已经安装好了 Object Server、Probe、还有gateway组件,接下来进行配置,使各组件运行起来。 首先创建Object server DB,linux和windows版本的操作系统创建的方法如下 创建object server DB,执行以下命令 NCOMS是系统默认…

系统为 ubuntu 18.04的docker中omnibus 方式安装 gitlab

一:拉镜像 1:拉镜像 docker pull ubuntu:18.04 2:启动镜像:这里必须加上-p,即端口号的映射,否则访问不到。 最好用桥接模式联网,默认的就行。 docker run -itd -p 443:443 -p 80:80 -p 222:22 …

Gitlab的一键安装包omnibus

2019独角兽企业重金招聘Python工程师标准>>> Gitlab和omnibus安装包 Gitlab能够让你的团队拥有自己的github,完全拥有整个git服务的账号管理,项目管理,issue管理,merge request等方便研发团队的工具。 Gitlab是开源的&…

error: unable to open preload file “/etc/sysctl.d/90-omnibus-gitlab-net.core.somaxconn.conf“

centos6.9环境下:gitlab-ctl reconfigure时报错 error: unable to open preload file "/etc/sysctl.d/90-omnibus-gitlab-net.core.somaxconn.conf" 解决方案: export LC_CTYPEen_US.UTF-8 export LC_ALLen_US.UTF-8

Omnibus F4V3 Pro飞控,APM飞控显示电池电压电流

默认时,Omnibus F4 Pro烧写APM飞控后,电池检测器没有设置的。想要屏幕上显示电池电压和电流信息,就需要设置一下。 设置信息如下: BATT_MONITOR4 然后重启: 重启后,继续设置: BATT_VOLT_PIN 12…

omnibus gitlab-ce安装

架构 关闭防火墙 [rootgitlab ~]# systemctl stop firewalld [rootgitlab ~]# systemctl disable firewalld关闭SELinux [rootgitlab ~]# setenforce 0 setenforce: SELinux is disabled安装依赖组件 [rootgitlab ~]# yum -y install curl policycoreutils openssh-server o…

Omnibus test

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare https://en.wikipedia.org/wiki/Omnibus_test Omnibus test…

使用 Omnibus 安装极狐GitLab

目录 服务器配置 极狐GitLab 安装 安装和配置必须的依赖项 下载极狐GitLab 安装包 安装极狐GitLab 安装包 初始登陆 SSL 配置 生成 ssl 证书 配置 nginx 极狐GitLab 的安装方式灵活多样,支持 Omnibus、Docker、Helm 安装,而且安装过程也是非常…

OMNIbus

OMNIbus概念 Omnibus数据库 ObjectServer,数据库服务器 ObjectServer是Tivoli Netcool/OMNIbus核心的数据库服务器。 事件信息从外部程序(例如,探测器和网关)转发至ObjectServer。ObjectServer将此信息存储在数据库表中并进行管理…

UnityDecal——贴花方法总结

Unity里贴花的实现方法比较多,商店里的插件也是各种各样,最近正好又在弄这个,趁机会给自己总结下: 1、构造贴片网格 思想很简单,就是在当前表面构建一个与表面完全贴合的新Mesh,并重新计算纹理贴图&#…

Blender学习笔记-印花(decal)贴图

最近学习blender制作模型,特将学习心得记录下来,供参考。 今天的心得是如何将贴图(英文名为decal)贴在另一张贴图的表面上,常用于文字、logo的图案制作。 视频教程(可在最后的链接下载)最后的结果如下图所示&#xf…

Decal的另类用法

Decal在没有办法得到深度之前都是根据地形的高度自己生成三角形来生成的,有了深度之后一切变的很简单,只需要画一个box就可以解决,类似于点光源。 以前做过的一个项目最后就是把地形的一个sector分成几个decal来画,虽然DP增加了&a…