life is like a dream

计算机网络习题答案【1】

    习题集     计算机网络

  1. Chapter 1

Chapter 1

1

将你的狗 Bernie 训练成不仅可以携带一小瓶白兰地,还能携带一箱3盒8毫米的磁带(当你的磁盘满了的时候,你可能会认为这是一次紧急事件)。每盒磁带的容量为7GB字节。无论你在哪里,狗跑向你的速度是18千米/小时。试问在什么距离范围内Bernie的数据传输速率会超过一条数据速率为150Mbps的传输线(不算额外开销)?试问分别在以下情况下:(1)狗的速度加倍;(2)每盒磁带容量加倍;(3)传输线路的速率加倍。上述结果有什么变化?

答: Bernie 携带的数据量为 7 GB * 3 = 21 GB = 21 * 1024 * 8 (Mb) = 172032 Mb.
Bernie的速度为18 Km/h,即为18 Km / 3600 s = 0.005 km/s ,假设小狗奔跑距离为 X km,则所需时间为 X / 0.005 = 200 X 秒.
那么产生的数据传输速率为172032 / 200 X Mbps = 860 / X Mbps
需要满足860 / X > 150, 所以 X < 5.73 km
(1)狗的速率加倍,所需时间减半,数据传输速率加倍,若传输线路速率不变,x加倍;
(2)磁带容量加倍,数据传输速率也加倍,若传输线路速率不变,x加倍;
(3)传输线路速率加倍,其余不变,则x应减半。
Mbps=Mbit/s即兆比特每秒(1,000,000bit/s)
经验证,Mbps 为 1,000,000 bit/s,所以原答案是错误的,正确答案应为 6.01 km

2

LAN的一个替代方案是简单地采用一个大型分时系统,通过终端为用户提供服务。试给出使用LAN的客户机-服务器系统的两个好处。

答: 分时系统会有明显的性能瓶颈,LAN网络能更好的发挥服务器性能;分时系统共享硬件,单一线路故障可能会阻塞导致所有线路瘫痪。

3

客户机-服务器系统的性能受到两个网络因素的严重影响:网络的带宽(即,网络每秒可以传输多少位数据)和延迟(即,将第一个数据位从客户端传送到服务器端需要多少时间)。请给出一个网络例子,它具有高带宽,但也有高延迟。然后再给出另一个网络例子,它具有低带宽和低延迟。

答: 超长物理距离导致的高带宽下高延迟,如远距离光纤;电话拨号上网所需流量很低,属于低带宽下的低延迟。

4

除了带宽和延迟以外,网络若要为下列流量提供很好的服务质量,试问还需要哪个参数?(1)数字语音流量;(2)视频流量;(3)金融业务流量。

答: 数字语音和视频的传输需要相应的固定时间 ,因此他们的网络时隙数量便很重要。针对经融业务需要保证更高的安全性。

5

在存储-转发数据包交换系统中,衡量延迟的一个因素是数据包在交换机上存储和转发需要多长时间。假设在一个客户机-服务器系统中,客户机在纽约而服务器在加州,如果交换时间为10微秒,试问交换时间是否会成为影响延迟的一个主要因素?假设信号在铜线和光纤中的传播速度是真空光速的2/3。
答: 纽约到加州的地面直线距离约为 5000公里, 光速 300000 km/s
信号传播速度 = 3 * 10^8 * 2/3 = 2* 10^8 m/s
10 us 内传输距离为200 000 000 m/1000 000 us * 10 us =2 km
而纽约到加州距离为 5000 km, 即使有50 个交换机,也只增加了 2 km * 50 = 100 km 的距离,整体影响为只有100 km / 5000 km = 2%。
(s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒),其中:1s=1000ms,1 ms=1000μs,1μs=1000ns;光速取300 000 000m/s)

6

一个客户机-服务器系统使用了卫星网络,卫星高度为40000千米。试问在响应一个请求时,最佳情形下的延迟是什么?
答: 一个请求经过路径: 客户机 -> 卫星 卫星 -> 服务器 服务器 -> 卫星 卫星 -> 客户机

理想状态下经过距离为 4 * 4000 = 16000 km,延迟为 16000 / 300000 = 0.533 s

7

在未来,当每个人都有一个家庭终端连接到计算机网络时,就有可能对一个重要的未决案件进行即时公民投票。最终,现在的立法机关都可以撤销了,从而让人民直接表达他们的意愿。这种直接民主的正面影响是非常显然的,请讨论可能产生的某些负面影响。

答: 没有约束的匿名网络容易激发人性中的恶,《玩命直播》就曾揭露过这种现象。政治相关不太好回答(我政治能力也很差)。

8

5个路由器通过一个点到点子网连接在一起。网络设计者可以为任何一对路由器设置一条高速线路、中速线路、低速线路或根本不设置线路。如果计算机需要100毫秒来生成并遍历每个网络拓扑,试问它需要多长时间才能遍历完所有的网络拓扑?

答: 5个路由器,点对点链接,则有10条可能路线,每条路线有高速线路、中速线路、低速线路或根本不设置线路共四种可能性。
所以拓扑总数为 4 ^ 10 = 1048576 。需耗时 1048576 * 100 ms = 104857.6s。

9

广播式子网的一个缺点是当多台主机同时企图访问信道时会造成容量浪费。作为一个简单的例子,假设时间被分成了离散的时间槽,共有n台主机;在每个时间槽内,每台主机企图访问信道的概率为p。试问由于冲突而被浪费的时间槽比例是多少?

答: 高中的概率问题做多了这种还是很easy的。

计算单一信道未发生冲突的概率 = P(一台主机成功抢到信道) + P(信道闲置)

= n * p(1-p)^n-1 + (1 - p)^n

单一信道发生冲突的概率 = 1 - n * p(1-p)^n-1 - (1 - p)^n

发生冲突而被浪费的时间槽比例 基本与 单一信道发生冲突的概率 相同。

10

试问使用层次协议的两个理由是什么?使用层次协议的一个可能缺点是什么?
答: OSI 模型的核心是如下3个概念:
(1)服务。
(2)接口。
(3)协议。
或许 OSI 模型的最大贡献在于明确区分了这3个概念。每一层都为它的上一层执行某些服务。服务定义说明了该层是做什么的,而不是上一层实体如何访问这一层,或这一层是如何工作的。它定义了这一层的语义。
每一层的接口告诉它上面的进程如何访问本层。它规定了有哪些参数,以及结果是什么。但它没有说明本层内部是如何工作。
最后,每一层用到的对等协议是本层自己内部的事情。它可以使用任何协议,只要它能够完成任务就行(也就是说提供所承诺的服务)。它也可以随意地改变协议,而不会影响它上面的各层。
这些思想与现代面向对象的程序设计思想非常吻合。一个对象就如同一个层一样,它有一组方法(或者称为操作)供对象之外的过程调用。这些方法的语义定义了该对象所提供的服务集合。方法的参数和结果构成了对象的接口。对象的内部代码是它的协议,对于外部而言是不可见的,也不需要被外界关心。

缺点:层次模型和协议的过于复杂,最初的部分实现庞大且笨拙。这些实现的升级仍然需要同时考虑使用下层的服务以及对上层提供同样的服务。影响效率。

11

Specialty Paint公司的总裁打算与一个本地的啤酒酿造商合作生产一种无形啤酒罐(作为防止乱扔垃圾的一种措施)。总裁告诉她的法律部门调研此事,后者又请工程部帮忙。
结果总工程师打电话给啤酒酿造公司讨论该项目的技术问题。然后两位工程师又各自向他们的法律部门作了汇报。然后,法律部门通过电话安排了有关的法律方面的事宜。最后,两位公司总裁讨论了这次合作在经济方面的问题。试问这个通信机制违反了OSI模型意义上的哪个多层协议原则?
答: 不同节点的同等层按照协议实现对等层之间的通信。啤酒酿造公司应该也有对应的工程师接Specialty Paint公司总工程师的电话。

12

两个网络都可以提供可靠的面向连接的服务。其中一个提供可靠的字节流,另一个提供可靠的报文流。试问这两者是否相同?如果你认为相同,为什么要有这样的区别?
如果不相同,请给出一个例子说明它们如何不同。
答: 报文流和字节流是不同,报文流中,网络会保持信息间的边界,字节流不会。比如,一个进程先发送1024个字节到某个连接,后又再次发送1024个字节,接收者使用报文流读取2048个字节,会接收到2个报文,每个1024字节。如果使用字节流,信息的边界不会被识别,接收者会认为2048个字节是一个整体,这样会造成两个不同信息丢失。

**13 **

在讨论网络协议的时候,“协商”意味着什么?请给出一个例子。
答: 协商意味着规定通信使用的相关参数,例如最大数据包长度。

14

1550130124245

图1-19显示了一个服务。试问该图是否还隐含着其他的服务?如果有的话,在哪里?
如果没有的话,说明为什么没有。
答: 隐藏了第 k-1 层对第 k 层提供的服务

15

在有些网络中,数据链路层处理传输错误的做法是请求发送方重传被损坏的帧。如果一帧被损坏的概率为p,试问发送一帧所需要的平均传输次数是多少?假设确认帧永远不会丢失。
答: 1 / (1-p)

16

一个系统具有n层协议。应用层产生长度为M字节的报文,在每一层加上长度为h字节的报文头。试问报文头所占的网络带宽比例是多少?
答: (n-1)h / ((n-1)h + m)

17

试问TCP和UDP的主要不同是什么?
答: TCP是面向连接的,而UDP是无连接的服务

18

1550131090317

图1-25(b)中的子网被设计用来对抗核战争。试问需要多少颗炸弹才能将这些节点炸成两个互不相连的集合?假设任何一颗炸弹都可以摧毁掉一个节点以及所有与它相连的链路。
答: 找到了一个最少的路径,需要四颗炸弹。

1550131326262

19

Internet的规模差不多每隔18个月翻一倍。虽然没有人能够确切地知道具体的数字,但是估计2009年Intermet上的主机数目为6亿台。请利用这些数据计算出2010年Internet上预计会有多少台主机。你相信你的结论吗?请说明你为什么相信或者为什么不相信。
答: 不靠谱的猜一猜,有个10亿台吧,感觉到那个时候(2010年)还是可信的,可所有提升都会有个临界,无非是现在的网络还不够饱和,待到饱和之时便是衰退之时。

20

当在两台计算机之间传输一个文件时,可以采用两种不同的确认策略。在第一种策略中,该文件被分解成许多个数据包,接收方独立地确认每一个数据包,但没有对整个文件进行确认。在第二种策略中,这些数据包并没有被单独地确认,但是当整个文件到达接收方时会被确认。请讨论这两种方案。
答: 如果网络丢包率较大,使用第一种方案,独立确认每一个包,保证丢失的包可以重传。另一方面,如果网络稳定性好,使用第二种方案,最后确认整个文件可以节省带宽。

21

移动网络运营商需要知道它们用户的移动电话(因而知道它们的用户)在哪里。试问这对于用户来说,为什么很糟糕?现在,请给出为什么又很好的理由。
答: 信息泄露,现在(2019年)已经泛滥了,希望有个法子能根治一下。

22

试问在原始802.3标准中,一比特多长(按米来计算)?请使用10Mbps传输速率,并且假设同轴电缆的传播速度是真空中光速的2/3。
答: 同轴电缆的传播速度是200000 km/s,即200 m/μs。10 Mbps即10 000 000 bit/s,也即10 bit/μs,即 1 bit 等于 20 米。

23

一幅图像的分辨率为1024×768像素,每个像素用3字节表示。假设该图像没有被压缩。试问,通过56kbps的调制解调器传输这幅图像需要多长时间?通过1Mbps的线缆调制解调器呢?通过10Mbps的以太网呢?通过100Mbps的以太网呢?
答: 图像大小:1024×768×3×8=18874368 bit。
通过56 kbps 的调制解调器:18874368 bit/56 kbps = 337.042 s
通过1 Mbps的线缆调制解调器:18874368 bit/1 Mbps = 18.874 s
通过10 Mbps的以太网:18874368 bit/10 Mbps = 1.887 s
通过100Mbps的以太网:18874368 bit/100 Mbps = 0.189 s

24

以太网和无线网络既有相同点,也有不同点。以太网的一个特性是同一时刻只能传输一帧数据。试问802.11也具有这个以太网特性吗?请讨论你的答案。

答: 以太网是总线式局域网,以802.3局域网为例,由于总线式局域网的各站共享介质,因而在一个以太网上同一时刻只能传输一帧数据。
但无线局域网(WLAN)存在隐蔽站和暴露站问题。想象一个拥有4台工作站A,B,C,D的802.11无线网络,在每台工作站的无线网络工作范围内只有最直接的邻居。A可以和B通话同时C可以和D通话。这样它就不同于以太网,即同一时刻能传输一帧以上的数据。

IEEE 802.11是现今无线局域网通用的标准,它是由国际电机电子工程学会(IEEE)所定义的无线网络通信的标准。

25

请分别列出网络协议国际标准化后的两个优点和缺点。
答: 降低了跨域连接的难度,统一方案能降低硬件成本。缺点是没创新和更新兼容问题。
26

当一个系统既有永久(固定)部分又有可移动部分(比如CD-ROM驱动器和CD-ROM)时,系统的标准化显得非常重要。标准化之后,不同的公司可以同时生产永久部分和可移动部分的产品,而且这些产品总能在一起工作。请给出计算机工业界之外的三个例子,在每个例子中都有相应的国际标准。再给出计算机工业界之外的另外三个例子,但这三个例子中都不存在国际标准。
答:存在国际标准:阿拉伯数字命名 耳机孔规格 USB3.0 不存在国际标准:袜子的尺码 辣椒的辣度 水杯的直径

27

假设实现第k层操作的算法发生了变化试问这会影响到第k-1和第k+1层的操作吗?
答: 不会,所有算法的变化不更改接口,应该对上层是透明的,对下层只有调用关系所以也没有影响。

28

假设由第k层提供的服务(一组操作)发生了变化。试问这会影响第k-1层和第k+1层的服务吗?
答: 不会影响到k-1层,会影响到k+1层,k+1层必须重新实现。(下层向上层提供服务)

29

请列出一些理由说明客户端的响应时间有可能大于最好情况下的延迟。
答: 可能客户端性能不好,响应慢(我看不懂这个题目)

30

请问在ATM网络中使用小的固定长度的信元有什么缺点?
答: 对数据分包严重,导致小数据报文浪费报头占用的带宽

31

列出你每天与使用计算机有关的活动。如果这些网络突然间全部关闭,试问你的生活将会有什么变化?
答: QQ 微信 chrome 网易云音乐 没了网络,手机都是块砖头了,我可能要丢饭碗了。

32

找出你所在学校或工作单位使用的网络。请描述这些网络的类型、拓扑结构和交换方式。
答:

33

ping程序使你能够给指定的位置发送一个测试数据包,看看数据包来回需要多长时间。
请试着用ping程序测试从你所在的位置到几个已知地点需要多长时间。利用这些数据,绘出Internet上的单向传输时间与距离的函数关系。最好使用大学作为目标,因为大学服务器的位置往往可以确切地知道。例如,berkeley.edu 在加州的Berkeley;mit.edu 在麻省的Cambridge;vu.nl 在荷兰的阿姆斯特丹;www.usyd.edu.au 在澳大利亚的悉尼;www.uct.ac.za 在南非的Cape Town。

答:

地址 情况 时间
berkeley.edu 平均 468ms
mit.edu 平均 160ms
vu.nl 平均 344ms
www.usyd.edu.au 平均 328ms
www.uct.ac.za 超时
(你猜吧,我就不信你能猜到我住在某某市某某小区某某号)

34

到IETF的网站www.ietf.org ,了解它们正在做什么。选择你喜欢的主题,写半页针对该问题的报告,并提出自己的解决方案。
答:

35

Intenet由大量的网络构成。这些网络的布局决定了Internet的拓扑结构。网上提供了大量有关Internet拓扑结构的可用信息。请用搜索引擎找出更多有关Internet拓扑结构的信息,并根据你的发现写一个简短的概述报告。
答: 摘抄自网络

由于计算机和网络技术的发展速度非常之快,因此现在的网络不可能单纯属于某一类网络拓扑结构,而往往是多种网络结构的融合体。在Internet中就融合了各种网络拓扑结构,使其成为一个综合性大型网络。

36

搜索Internet,试找出当前在Internet上路由数据包的一些重要对等节点。
答:

37

写一个程序实现7层协议模型中从顶层到底层的报文流。针对每一层,程序应包括一个单独的协议函数。协议头为64个字符序列。每个协议函数有两个参数:从高层协议传递下来的报文(一个char缓冲区)和报文的大小。这个函数在报文前面贴上报文头,并在标准输出上打印出新的报文;然后调用较低层协议的协议函数。程序的输入是一个应用程序的报文(一个至多80字符的序列)。
答:

1
2
3
4
5
6
//对stream等不太了解,所以使用String来代替
def 协议函数(String 报文, Long size) {
String 报文头 = “这层协议的报文头”
报文 += 报文头
底层协议函数(报文, size + 报文头.length())
}
page PV:  ・  site PV:  ・  site UV: