第六章 | 计算机网络原理 谢希仁(第八版)_ 习题答案(Part 5)

文章目录

    • [计算机网络原理 谢希仁(第八版)](#计算机网络原理 谢希仁(第八版))

计算机网络原理 谢希仁(第八版)

第六章 应用层 习题答案 (Part 5)


6-41

(略)

6-42

对 TCP 的 OBJECT IDENTIFIER 是什么?

答:

{1.3.6.1.2.1.6}

6-43

(略)

6-44

什么是应用编程接口 API?它是应用程序和谁的接口?

答:

当某个应用进程启动系统调用时,控制权就从应用进程传递给了系统调用接口。此接口再将控制权传递给计算机的操作系统,操作系统将此调用给某个内部过程,并执行所请求的 操作。内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用程序。只要应用进 程需要从操作系统获得服务,就要将控制权传递给操作系统,操作系统在执行必要的操作后将控制权返回给应用进程,这种系统调用接口又称为应用编程接口 API。API 是应用程序和操作系统之间的接口。

6-45

试举出常用的几种系统调用的名称,说明它们的用途。

答:

bind 系统调用:用来指明套接字的本地地址(本地端口号和本地IP 地址);

listen 系统调用:服务器收听,以便随时接受客户的服务请求;

accept 系统调用:服务器接受, 以便把远地客户进程发来的连接请求提取出来;

send 系统调用:客户和服务器都在 TCP 连接上使用send 系统调用传送数据;

recv 系统调用:客户和服务器都在TCP 连接上使用 recv 系统调用接收数据。

6-46

下图表示了各应用协议在层次中的位置。

(1)简单讨论一下为什么有的应用层协议要使用 TCP 而有的却要使用 UDP?

(2)为什么 MIME 画在 SMTP 之上?

(3)为什么路由选择协议 RIP 放在应用层?

答:

(1)应用层协议根据各自功能的需求,有的需要使用面向连接的 TCP 服务,提供可靠的数据传输服务,如 FTP,HTTP 等;而有的协议使用无连接的 UDP 服务,提供比较灵活的 服务,如 DHCP,SNMP

(2)MIME协议是扩展了的 SMTP 协议,是基于 SMIP 的,所以要放在 SMTP 上画。

(3)由于 RIP 协议是基于 UDP 协议而创建的。所以 RIP 协议应该放在 UDP 协议的上一层, 即应用层协议。

6-47

现在流行的 P2P 文件共享应用程序都有哪些特点,存在哪些值得注意的问题?

答:

(1)P2P 文件共享程序的特点:在 P2P 工作方式下,需要使用集中式的媒体服务器,这就解决了集中式媒体服务器可能出现的瓶颈问题。这种工作方式所有的音频/视频文件都是 在普通的因特网用户间传播。这其实是相当于有径多分散在各地的媒体服务器(由普通用户的 PC 机充当这种服务器)其他用户提供所要下载的音频/视频文件。

(2)P2P 文件共享程序也面临一些问题:文件的知识产权保护问题;P2P 流量的有效管 理问题;占用大量带宽资源问题;制定流量收费标准问题。

6-48

使用客户-服务器方式进行文件分发一台服务器把一个长度为 F 大文件分发给 N个对等方。假设文件传输的瓶颈是各计算机(包括服务器)的上传速率 u。试计算文件分发到所有对等方的最短时间。

解:

从服务器端角度考虑,N 台主机共需要从服务器得到的数据总量(比特数)是 NF。如果服务器能够不停地一起上传速率 u 向各主机发送数据,一直到各主机都收到文件 F,时间为(NF)/(u)s。则等待的最短时间为(NF)/(u)s。

6-49

重新考虑上题文件分发任务,但采用 P2P 文件分发方式,并且每个对等方只能在接收完整个文件后才能向其他对等方转发。试计算文件分发到所有 N 个对等方的最短时间。

答:

传送一次的时间为F/u。

第一次只能传送给 1 个对等方,第二次可以传送给 2 个对等方,第三次可以传送给 4 个对等方,到了最后的第 n 次可以传送给 2 n − 1 2^{n-1} 2n−1个对等方。

因此N=1+2+...+ 2 n − 1 2^{n-1} 2n−1,即 2 n − 1 2^n-1 2n−1=N。解得n=[log2(N+1)],所以求得最短时间为nF/u=[log2(N+1)]F/u.

6-50

再重新考虑上题文件分发任务,但可以把这个非常大的文件划分为一个个非常小的数据块进行分发,即一个对等方在下载完一个数据块后就能像其他对等方转发,并同时可以下载其他数据块。不考虑分块增加的控制信息,试计算整个大文件分发到所有对等方的最短时间。

① 这个很大的文件可以划分为很多很多(例如,N 个,N 是对等方用户的数目)非常小的数据块。服务器把每一个小数据块分别发送给每一个对等方的用户。例如,第 k 个小数据块发送给第 k 个对等方用户。这样,总共用时间 F/u就能够把整个大文件发送完毕。请注意,每个小数据块只需要从服务器发送一次,以后不需要再重复发送。

② 现在这个大文件已经分散在 N 个对等方了,每个对等方只下载到其中的一个小数据块。所花费的时间是 (F/u)/(1/N),N 是对等方用户的数目。

③ 然后,大量对等方用户之间互相传送数据。只要设计很好的传送规则,那么每经过时间 F/u,所有的对等方用户就都能够把整个大文件下载完毕。例如,我们可以在以后的每一次传送时,令第 k 个对等方,把刚才收到的第 k 个小数据块,传送给第 k-1 个对等方用户。第 1 个对等方则把刚刚收到的小数据块传送给第 N 个对等方用户。

④ 可见,整个大文件分发到所有对等方的最短时间是 F/u。

6-51

假定某服务器有一文件 F = 15 G b i t F=15Gbit F=15Gbit要分发给分布在互联网各处得N个等待方。服务器上传速率 u s = 30 M b i t / s us=30Mbit/s us=30Mbit/s,每个对等方的下载速率 d = 2 M b i t / s d=2Mbit/s d=2Mbit/s,上传速率为 u = 300 k b i t / s u=300kbit/s u=300kbit/s。设 ( 1 ) N = 10 , ( 2 ) N = 1000 (1)N=10,(2)N=1000 (1)N=10,(2)N=1000。试分别计算在客户-服务器方式 下和在P2P方式 下,该文件分发时间的最小值

解:

(1) N = 10 N=10 N=10
客户-服务器: T c s = m a x ( N F ) / u s , F / d m i n Tcs=max{(NF)/us,F/dmin} Tcs=max(NF)/us,F/dmin
( N F ) / u s = 5000 s (NF)/us=5000s (NF)/us=5000s ;
F / d m i n = 7500 s F/dmin=7500s F/dmin=7500s。

则客户-服务器的最小分发时间为 7500 s 7500s 7500s 。
P2P: T p 2 p = m a x F / d m i n , F / u s , N F / ( u s + ∑ u i ) Tp2p= max{F/dmin,F/us,NF/(us+∑ui)} Tp2p=maxF/dmin,F/us,NF/(us+∑ui)
F / d m i n = 7500 s F/dmin=7500s F/dmin=7500s;
F / u s = 500 s F/us=500s F/us=500s;
N F / ( u s + ∑ u i ) = ( 10 × 15 G b i t ) / ( 30 M b i t / s + 10 × 300 k b i t / s ) = 4545.5 s NF/(us+∑ui)=(10×15Gbit)/(30Mbit/s+10×300kbit/s)=4545.5s NF/(us+∑ui)=(10×15Gbit)/(30Mbit/s+10×300kbit/s)=4545.5s

则P2P的最小分发时间为 7500 s 7500s 7500s 。

(2) N = 100 N=100 N=100
客户-服务器: T c s = m a x ( N F ) / u s , F / d m i n Tcs=max{(NF)/us,F/dmin} Tcs=max(NF)/us,F/dmin
( N F ) / u s = 50000 s (NF)/us=50000s (NF)/us=50000s;
F / d m i n = 7500 s F/dmin=7500s F/dmin=7500s。

则客户-服务器的最小分发时间为 50000 s 50000s 50000s 。
P2P: T p 2 p = m a x F / d m i n , F / u s , N F / ( u s + ∑ u i ) Tp2p= max{F/dmin,F/us,NF/(us+∑ui)} Tp2p=maxF/dmin,F/us,NF/(us+∑ui)
F / d m i n = 7500 s F/dmin=7500s F/dmin=7500s;
F / u s = 500 s F/us=500s F/us=500s;
N F / ( u s + ∑ u i ) = ( 100 × 15 G b i t ) / ( 30 M b i t / s + 10 × 300 k b i t / s ) = 45454.5 s NF/(us+∑ui)=(100×15Gbit)/(30Mbit/s+10×300kbit/s)=45454.5s NF/(us+∑ui)=(100×15Gbit)/(30Mbit/s+10×300kbit/s)=45454.5s

则P2P的最小分发时间为 45454.5 s 45454.5s 45454.5s 。

相关推荐
xiaoyaolangwj1 分钟前
高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十三)图优化SLAM的本质
学习·机器人·自动驾驶
静止了所有花开1 小时前
SpringMVC学习笔记(二)
笔记·学习
爱吃生蚝的于勒1 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
长安11082 小时前
前后端、网关、协议方面补充
网络
L_cl3 小时前
Python学习从0到1 day26 第三阶段 Spark ④ 数据输出
学习
Mephisto.java3 小时前
【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
大数据·学习·hbase
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
hzyyyyyyyu5 小时前
隧道技术-tcp封装icmp出网
网络·网络协议·tcp/ip
尘浮生5 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
南猿北者5 小时前
docker Network(网络)
网络·docker·容器