跳至主要內容

计算机网络:自顶向下方法,第7版

chiichen大约 172 分钟

计算机网络:自顶向下方法,第7版

复习题和习题参考答案

版本时间:2016年12月

本文档包含Jim Kurose和Keith Ross编写的《计算机网络:自顶向下方法(第7版)》复习题和习题的参考答案。这些答案只对指导老师有效。请不要复制或者分发给其他人(即使是其他指导老师)。请不要在公共网络发布任何参考答案。如果有需要,我们很乐意提供此参考答案(最新版)。

声明:这些年来,很多同学和同事帮助我们准备此参考答案。特别感谢Honggang Zhang,Rakesh Kumar,Prithula Dhungel和VijayAnnapureddy。同时也感谢提建议和修正错误的所有读者。

所有材料©1996-2016 由J.F.Kurose 和K.W.Rose提供。版权所有。

说明

译者:幽弥狂

时间:2019-10-6

版本:V1.0.2019.11.11

电话:13812991101

QQ:1768478912

邮箱:1768478912@qq.com

环境:Manjaro Linux 18.1.0+WPS11.1.0.8865+自带公式编辑器+vscode insider version Markdown

1、此参考答案所有内容版权由原作者所有,本人为了方便考研复习提供简体中文版本的翻译。

2、阁下在获取到此文档的同时,应该同时获取到此文档的英文原版PDF。此文档的中文版权归本人所有,提供给需要的人使用。

3、阁下在使用本文档时,不得添加水印、删减或修改内容。

4、当然,以上内容只是说说而已,你如果不遵守,我也不可能顺着网线去打你。

5、如果有侵权(对于原作者)或者其他的问题或者建议,欢迎联系我。

6、阁下在使用本文档时,请保留此页面和原版翻译的封面。

7、根据南京大学计算机845真题的内容,本文档只翻译第1-7章。

目录

第一章

第二章

第三章

第四章

第五章

第六章

第七章

第八章

第一章

复习题1

1、(1)没有区别。根据书本内容,“主机”和“终端系统”是交换使用的。

(2)终端系统包括PC、工作站、网络服务器、邮件服务器、PDA、连接网络的游戏控制台等等。

(3)由(2)可知,网络服务器是终端系统。

2、来自维基百科:外交协议常用于描述一系列国家来往规则。这些构建完备和经过时间检验的规则可以使国家和人民生活和工作更简单。协议规则以人民准则为基础,其中的一部分已经作为现在分级的地位声明。

3、标准对于协议来说,可以让人们创建可以相互操作的网络系统和产品。

4、(1)通过电话线的拨号调制解调器:家庭

(2)通过电话线的DSL(Digital Subscriber Line,数字用户线):家庭或小办公室

(3)混合光纤同轴电缆:家庭

(4)100M交换以太网:企业

(5)无线网:家庭或企业

(6)3G和4G:广域无线网

5、HFC带宽是由用户共享。下行通道中,所有的包都是由头端这一个单一源发出的。因此,下行通道中没有碰撞。

6、光纤到户、3G和4G无线网

7、10M、100M、1G、10G

8、双绞线、光纤

9、拨号调制解调器:最高56K,带宽专用
ADSL:下行最高24M,上行最高2.5M,带宽专用
HFC:下行最高42.8M,上行最高30.7M,带宽共享
FTTH:上行2-10M,下行10-20M,带宽不共享

10、现在最流行的无线网技术有两种:

(1)WiFi。用于无线局域网,无线用户从辐射范围为几十米的基站(例如无线接入点)传输数据包。基站连接无线网络,并为无线用户提供无线网服务。

(2)3G和4G。大范围无线网,此系统通过电信服务商提供的基站,由蜂窝电话通过同一个无线设备传输数据。可以提供基站几十千米范围内的无线网络。

11、t0时发送主机开始传输,t1=L/R1时发送端完成传输并且交换机收到完整的数据包(没有传播延时)。因为交换机在t1时已收到完整包,那么t1时交换机开始传输包至接收主机。t2=t1+L/R2时交换机完成输出并且接收主机收到完整包(没有传播延时)。因此,端到端总延时是L/R1+L/R2

12、电路交换网络可以在响应时间内保证一定量的端到端带宽。如今大部分分组交换网络(包括因特网)无法保证端到端带宽。FDM需要复杂的模拟硬件来将信号转换为合适的频率。

13、

(1)2个用户,每个用户只需要一半的链接带宽;

(2)既然每个用户传输时要求1Mpbs带宽,如果两个或者更少的用户同时传输,要求最多2Mbps。共享链路的可用带宽是2Mbps,那么传输前没有排队延时。如果有3个用户同时传输,带宽要求是3Mbps,超过了共享链接可用带宽。这种情况下,连接之前会有排队延时。

(3) 一个用户传输的概率是0.2

(4)3个用户同时传输的概率是 (33)p3(1p)33 。因为用户传输是队列会增加,队列增加时的时间因素是0.008。

14、如果两个ISP不对等,那么当他们给对方发送流量时他们需要通过一个付费流量ISP提供商(中间商)来发送数据。通过直接对等传输,两个ISP可以减少给其他ISP提供商的费用。多个ISP可以通过网络交换点(IXP)(通常由它自己的交换机单独构建)作为汇合点来直接对等传输。ISP通过对连接至IXP的每一个ISP收取少量费用来盈利,当然利润取决于IXP发送或接收的流量数。

15、谷歌的私有网络连接了它大大小小的所有的数据中心。谷歌数据中心的流量通过它的私有网络而不是公共网络来传输。大多数的数据中心位于或靠近与低级的ISP。因此,当谷歌向用户分发数据时,可以跳过高级的ISP。是什么推动着这些内容提供商创建这些网络?首先,如果内容提供商使用更少的中间的ISP,它可以更容易控制用户体验。其次,通过减少至提供商的网络流量来节省成本。第三,如果ISP向利润率高的内容提供商收取高费用(在网络中立状态不适用的国家或地区),内容提供商可以避免额外成本。

16、延迟组件包括处理延迟、传输延迟、传播延迟、排队延迟。除了排队延迟是变量其他的都是固定的。

17、

a)1000km, 1Mpbs, 100bytes

b)100km, 1Mpbs, 100bytes

18、
(1)10msec

(2)d/s

(3)无关

(4)无关

19、

(1) 500kps

(2) 64 seconds

(3) 100kps;

20、终端系统A将大文件拆分为块。A通过添加文件头信息至每一个块来从文件生成多个数据包。数据包的头信息包含目标(终端系统B)IP地址。数据包交换机通过包中的目标IP地址来决定发送链接。考虑到包目标地址,包选择哪条路走和包选择哪条外链走的方法相似。

21、最大发送速率为500包/s,最大传输速率是350包/s。相对应的话务量强度是500/350=1.43>1。每次实验最终都会发生数据丢失;由于传输的随机性,每一次实验的数据丢失发生的时间都是不同的。

22、五个功能是:错误控制、流控制、片段化和重组、多任务和连接设置。没错,在不同层这些功能可能重复。例如,不止一层提供错误功能。

23、网络协议的自顶向下的五层是:应用层、传输层、网络层、链路层和物理层。详见1.5.1。

24、应用层报文:应用程序想发送和通过传输层的数据;

传输层段:由传输层生成并且封装有传输层头信息的应用层报文

网络层数据段:封装有网络层头信息的传输层段

链路层帧:封装有链路层头信息的网络层数据段

25、路由器处理网络、链路、物理层(第1到3层)。(实际上现代路由器有时担任防火墙、缓存组件和处理传输层)链路层交换机处理链路层和网络层(第1到2层)。主机处理所有的五层。

26、

a)病毒

需要以下人的交互来传播。比如邮件病毒。

b)蠕虫

不需要用户介入。受感染主机中的蠕虫会扫描IP地址和端口号来查找可感染的进程。

27、创建僵尸网络需要攻击者发现以下应用或系统的薄弱点(比如利用应用中可能存在的缓冲区溢出漏洞)。发现薄弱点后,黑客需要查找可攻击的主机。目标一般是已发现漏洞的一系列系统。僵尸网络中的任何系统都可以通过漏洞自动扫描它的环境和传播。这种僵尸网络的重要属性就是僵尸网络的起点可以远程控制和发送命令至僵尸网络中的所有结点的每一个节点(例如僵尸网络中的所有结点可以被黑客命令发送TCP SYN信息至目标,并将导致目标的TCP SYN溢出攻击)。

28、Trudy可以假装为Bob(反之亦然)并且部分或者完全修改Bob发送给Alice的信息。例如,她可以很容易的修改语句“Alice,我欠你1000美元”为“Alice,我欠你10000美元”。更进一步,Trudy甚至可以丢弃Bob发送给Alice的加密信息(反之亦然)。

Back to Index

问题1

P1. 这个问题不止一个答案。很多协议都可以解决这个问题。下面是一个简单的答案:

Msg namepurpose
HELO <userid>Let server know that there is a card in the ATM machine . ATM card transmits user ID to Server
PASSWD <passwd>User enters PIN, which is sent to server . BALANCE User requests balance
WITHDRAWL <amount>User asks to withdraw money . BYE user all done

从服务器至ATM机器的信息(显示)

Msg namepurpose
PASSWDAsk user for PIN (password)
OKlast requested operation (PASSWD, WITHDRAWL) OK
ERRlast requested operation (PASSWD, WITHDRAWL) in ERROR
AMOUNT <amt>sent in response to BALANCE request
BYEuser done, display welcome screen at ATM

正确回应:

clientserver
HELO (userid)--------------> (check if valid userid)
<------------- PASSWD
PASSWD <passwd>--------------> (check password)
<------------- OK (password is OK)
BALANCE-------------->
<------------- AMOUNT <amt>
WITHDRAWL <amt>--------------> check if enough $ to cover withdrawl
<------------- OK
ATM dispenses $
BYE-------------->
<------------- BYE

钱不够的情况下:

clientserver
HELO (userid)--------------> (check if valid userid)
<------------- PASSWD
PASSWD <passwd>--------------> (check password)
<------------- OK (password is OK)
BALANCE-------------->
<------------- AMOUNT <amt>
WITHDRAWL <amt>--------------> check if enough $ to cover
withdrawl
<------------- ERR (not enough funds)
error msg displayed
no $ given out
BYE-------------->
<------------- BYE

P2. N*(L/R)时,第一个包到达目的地,第二个包存储在最后一个路由器中,第三个包存储在倒数第二个路由器中,等等。N*(L/R)+L/R时,第二个包到达目的地,第三个包存储在最后一个路由器中,等等。按照这个逻辑继续,我们可以看到在N*(L/R)+(P-1)(L/R)=(N+P-1)(L/R)时所有数据包到达目的地。

P3.

a.电路交换网,因为应用将以稳定速率,持续长时间运行,因此可以为其保留带宽。

b.不需要,传输速率总和小于链路容量。

P4.

a.在左上角的开关和右上角的开关之间,我们可以有4个连接。类似地,我们可以在其他3对相邻开关之间各有四个连接。因此,这个网络可以支持多达16个连接。

比如:

A 到 B :4 条

B 到 C :4 条

C 到 D :4 条

D 到 A :4 条

这 16 条可以同时连接。

b.我们可以通过右上角的开关通过4个连接,在左下角有4个通过开关的连接,总共有8个连接。

A 到 B :4 条

B 到 C :4 条

最多 8 条。

c.可以。对于A和C之间的连接,我们路由两个连接通过B,两个连接通过D。对于B和D之间的连接,我们路由两个连接通过A,两个连接通过C。这样,最多有4个连接通过任何链接。

A 到 B :2 条

B 到 A :2 条

A 到 D :2 条

B 到 C :2 条

P5.收费亭相距75公里,车辆以每小时100公里的速度传播。收费亭每12秒为一辆汽车提供服务。

a.有十辆车。第一个收费站服务这10辆车需要120秒钟,也就是2分钟。每辆汽车在到达第二个收费站之前都有45分钟的传播延迟(行驶75公里)。因此,在47分钟后的第二个收费站前,所有的汽车都排好了队。整个过程重复在第二个和第三个收费亭之间旅行。第三个收费站还需要2分钟才能为10辆车提供服务。因此,总的延迟时间是96分钟。

收费站将整个车队推向公路的时间为 d1 = 2min;

两收费站之间距离 75 km,从一个收费站到另一个的时间 d2 = 0.75 h

总时间 d = 3d1 + 2d2 = 96min

b.收费亭之间的延误为812秒加上45分钟,即46分钟和36秒。总延迟是这一数额的两倍,加上812秒,即94分48秒。

d1’ = 8辆 / 5辆/min = 1.6min

d’ = 3d1’ + 2d2 = 94.8min

P6.

a.dprop=m/sseconds

b.dtrans=L/Rseconds

c.de2e=dprop+dtrans=m/s+L/R

d.刚刚离开A

e.第一位在链路上并且还没有到达B

f.已经到达B

g.dprop = dtrans

m/s = L/R

m=Ls/R=120b(2.5108)m/s/56kbps=(5.36105)m

P7.考虑数据包中的第一位。在传输此位之前,必须生成数据包。

主机 A 产生 56 字节的分组需要 = 56 * 8b / 64kbps = 7ms

传输时延 = 56 * 8b / 2Mbps = 0.224ms

总时间 = 7ms + 10ms + 0.224ms = 17.224ms

P8.

a.3Mbps/150kbps = 20

b.p = 0.1

c.(120n)pn(1p)120n

d.1n=020(120n)pn(1p)120n

根据中心极限定理:令Xj为独立随机变量P(Xj​=1)=p ;

P(21或更多用户)=1−P(j=1120Xj21)

P(j=1120Xj21)=P(j=1120Xj121200.10.991200.10.9)≈P(Z≤9/3.2869​)=P(Z≤2.74)=0.997

因此 P(21或更多用户)≈0.003

P9.

a.N=1Gbps×100kbps=104

b.n=N+1M(Mn)pn(1p)Mn

P10.第一终端系统要求L/R1将分组发送到第一链路;分组在d1/s1中的第一链路上传播;分组交换机增加dproc的处理延迟;在接收到整个分组后,连接第一和第二链路的分组交换机要求L/R2将该分组发送到第二链路;该分组通过d2/s2中的第二链路传播。同样,我们可以找到第二个交换机和第三个链路:L/R3dprocd3/s3所造成的延迟。加上这五个延迟

Dtrans=L/R1+L/R2+L/R3

Dprop=d1/s1+d2/s2+d3/s3

Dprop=2dproc

D=Dtrans+Dprop+Dproc

D=6+6+6+20+16+4+3+3=64ms

P11.由于比特是立即发送的,所以分组交换机不引入任何延迟;特别是,它不引入传输延迟。因此,

dend2end=L/R+d1/s1+d2/s2+d3/s3

对于问题10中的值,我们得到D=Dprop+L/R=20+16+4+6=46ms

P12.到达的数据包必须首先等待链路发送4.5×1500字节=6750字节或54000比特。由于这些比特是以2Mbps发送的,所以队列延迟为27毫秒。一般情况下,排队延迟为(nL(L-x))/R。

有一个完整分组的排队时延为1500×8b×2Mbps=0.6ms

4.5个分组的总排队时延为 4.5∗0.6ms=2.7ms

P13.

a.第一个分组的排队时延为 0, 第二个 L/R, 第三个 2L/R,第N个 (N-1)L/R

因此平均排队时延为 (L/R + 2L/R + … + (N-1)L/R) / N = (N-1)L/2R

b.当下一批 N 个分组到达时,上一批已经传完,因此平均排队时延为 (N-1)L/2R

P14.

a.传输延迟为L/R。总延迟是ILR(1I)+LR=L/R1I

b.以 L/R 为函数:

令 x = L/R: L/R(1-I) = x/(1-ax)

函数经过原点,在 x = 1/a 处趋于无穷

P15.μ = R/L 所以 L / R(1-I) = 1 / μ-a

P16.

N = 10 + 1 = 11个分组

d = 10ms + 1/100s = 0.02s

a = N/d = 11/0.02 = 550分组/s

P17.

a.有Q节点(源主机和Q-1路由器)。设dprocq表示q节点处的处理延迟。设Rq为第q个链路的传输速率,则

dprocq=L/Rq。设dprocq是穿越q个链路的传播延迟。然后$d_{end2end}=\sum_{q=1}^{Q}\begin{bmatrix}
d_{proc}{q}+d_{trans}+d_{prop}^{q}
\end

b.设dqueueq是结点q的排队延迟。那么

dend2end=q=1Q[dprocq+dtransq+dpropq+dqueueq]

P18.在Linux上,您可以使用以下命令

traceroute www.targethost.com 

在Windows命令提示符中,可以使用

tracert www.targethost.com 

在这两种情况下,您将得到三个延迟测量。对于这三个测量,你可以计算平均和标准差。在一天中的不同时间重复实验,并对任何变化发表评论。

下面是一个示例解决方案:

avater
avater
avater
avater

圣地亚哥超级计算机中心与www.poly.edu之间的追踪显示:

a)在三个小时中,往返时间的平均(平均)分别为71.18毫秒、71.38毫秒和71.55毫秒。标准偏差分别为0.075、0.21ms、0.05ms。

b)在本例中,跟踪器在三个小时中的每一个路径上都有12个路由器。不,在任何一个小时内路径都没有改变。

c)跟踪数据包从源到目的地通过四个ISP网络。是的,在这个实验中,最大的延迟发生在相邻ISP之间的窥视接口上。

avater
avater
avater
avater

追踪网址:www.stella-Net.netopen in new window(法国)至www.poly.eduopen in new window(美国)。

d)该三小时的平均往返延误时间分别为87.09毫秒、86.35毫秒及86.48毫秒.标准偏差分别为0.53 ms、0.18 ms、0.23 ms。在本例中,三个小时中的每一个路径上都有11个路由器。不,在任何一个小时内路径都没有改变。Traceroute数据包将三个ISP网络从源传送到目的地。是的,在这个实验中,最大的延迟发生在相邻ISP之间的窥视接口上。

P19.范例:

avater
avater

从法国的两个不同城市到美国的纽约市

a)从法国的两个不同城市到美国的同一目的地东道国,有七个联系是共同的,包括跨大西洋连接。

avater
avater
avater
avater

b)在法国的一个城市和德国的另一个城市到美国同一个东道国的示踪剂的例子中,三个联系是共同的,包括跨大西洋的联系。

avater
avater

从美国同一地主地到中国两个不同城市的追踪,

c)五个链接在这两个追踪器中是常见的。这两种示踪剂在到达中国之前有分歧

P20. min{Rs,Rc,R/M}

P21.仅使用一条,最大吞吐量由:

max{min{R11,R21,...,RN1},min{R12,R22,...,RN2},...,min{R1M,R2M,...RMM}}

使用 M 条:k=1Mmin{R1k,R2k,...,RNk}

P22.不丢包概率为 1 - p, N 个路由器, 因此总的不丢包概率ps=(1p)N

在客户端成功接收数据包之前需要执行的传输数是具有成功概率ps的几何随机变量。因此,所需传输的平均次数为:1/ps。然后,所需重传的平均次数为:1/ps1

P23.

a.L/Rs

b.可能,因为第二个分组 (用 P2 表示) 可能在第一个分组 (P1) 被推出之前到达;

P1 被完全推出的时间 t1=L/Rs+L/Rc+dprop

P2 到达路由器的时间 t2=2L/Rs+dprop+T

要求t2 > t1:即 T>L/RcL/Rs

因此T至少是L/RcL/Rs

P24.40兆字节=4010128位因此,如果使用专用链接,则需要4010128/(100*106)=3200000秒=37天。但是有了联邦快递的通宵递送,你可以保证数据在一天内到达,而且它的成本应该低于100美元。

P25.

a.tprop=20000km/2.5108m/s=0.08s

Rtprop=1.6105bits

b.1.6105bits

c.链路上的最大比特数量

d.20000km/1.6105=125m这比足球场长(正规足球场场地:长105米、宽68米)

e.s/R

P26.

s/R = 20000km

R = 12.5Mbps

P27

a. Rdprop=8107b

b.8107b 是 不对 的,因为文件为 8105 b

c. s/R = 0.25m

P28.

a.ttrans+tprop=0.48s

b.20(ttrans+tprop)=20(0.02+0.08)s=2s

c.分解一个文件需要更长的时间来传输,因为每个数据包及其相应的确认包都会添加它们自己的传播延迟。

P29.

a. dprop=36000km/(2.4108)=0.15s

b. Rdprop=10Mbps0.15s=1.5106bits

c. 60s10Mbps=6108bits

P30.假设乘客和他/她的行李对应到达协议栈顶部的数据单元。当旅客办理登机手续时,他/她的行李会被检查,并在行李和车票上贴上标签。这是在行李层中添加的附加信息,如果图1.20允许行李层在发送方实现服务或分离乘客和行李,然后将它们重新统一(希望如此!)在目的地那边。当乘客经过安检时,通常会在车票上加盖额外的印章,表示乘客通过了安全检查。这些信息用于确保(例如,通过以后对安全信息的检查)人员的安全转移。

P31.

a.

8106/2Mbps=4s

3 * 4s= 12s

b.

1104b/2Mbps=510(3)s

2510(3)s=10(2)s

c.(800+31)0.510(2)=4.01s比 (a) 快非常多

d.便于检测错误并重传;不分段的大包容易使路由器缓存不足导致丢包;

e.分组需要排序;需加上首部信息;

P32.是的,Applet中的延迟对应于问题31中的延迟。对于分组交换和消息交换,传播延迟都会影响整个端到端延迟。

P33.有F/S包。每个包S=80位。在第一路由器接收最后一个数据包的时间是S+80R×FS秒。此时,第一个F/S-2分组位于目的地,F/S-1分组位于第二路由器。最后一个数据包随后必须由第一个路由器和第二个路由器发送,每一个传输都需要S+80R秒。因此,发送整个文件的延迟为S+80R×(FS+2),以计算导致最小延迟的S值,延迟为:ddxdelay=0S=40F

P34.电路交换电话网络和因特网在“网关”连接在一起。当Skype用户(连接到Internet)呼叫普通电话时,通过电路交换网在网关和电话用户之间建立电路。Skype用户的语音通过互联网以数据包的形式发送到网关。在网关处,对语音信号进行重构,然后通过电路发送。另一方面,语音信号通过电路交换网络发送到网关。网关对语音信号进行分组,并将语音分组发送给Skype用户。

Back to Index

第二章

复习题2

R1、网址:http;文件传输:ftp;远程登录:Telnet;电子邮件:smtp;BitTorrent文件共享:BitTorrent协议

R2、网络体系结构是指将通信过程组织成多个层次(例如,五层互联网体系结构)。另一方面,应用程序体系结构是由应用程序开发人员设计的,它决定了应用程序的广泛结构(例如,客户机-服务器或P2P)。

R3、发起通信的进程是客户端;等待联系的进程是服务器。

R4、没有。在P2P文件共享应用程序中,接收文件的对等方通常是客户端,发送文件的对等方通常是服务器。

R5、目标主机的IP地址和目标进程中套接字的端口号。

R6、你会用UDP。使用UDP,事务可以在一次往返时间(RTT)内完成--客户端将事务请求发送到UDP套接字,服务器将应答发送回客户端的UDP套接字。对于TCP,至少需要两个RTT--一个用于设置TCP连接,另一个用于客户机发送请求,另一个用于服务器发送回复。

R7、例如,使用Google文档进行远程文字处理就是一个这样的例子。但是,由于Google文档在Internet上运行(使用TCP),因此没有提供定时保证。

R8、

a)可靠的数据传输TCP在客户端和服务器之间提供可靠的字节流,但UDP没有。

b)保证一定的吞吐量值既不保持,也不保证数据将在规定的时间内交付-既不保密,也不(通过加密)

c)保证数据将在规定的时间内交付-既不保密(通过加密)

d)保密(通过加密)

R9、SSL在应用层运行。SSL套接字从应用层接收未加密的数据,对其进行加密,然后将其传递给TCP套接字。如果应用程序开发人员希望使用SSL增强TCP,则必须在应用程序中包含SSL代码。

R10、如果两个通信实体在相互发送数据之前先交换控制包,则协议使用握手。SMTP在应用层使用握手,而HTTP不使用握手。

R11、与这些协议相关联的应用程序要求以正确的顺序接收所有应用程序数据,并且不存在空白。TCP提供此服务,而UDP不提供此服务。

R12、当用户第一次访问站点时,服务器将创建一个唯一的标识号,在其后端数据库中创建一个条目,并将此标识号作为cookie编号返回。此cookie编号存储在用户的主机上,并由浏览器管理。在每次后续访问(和购买)期间,浏览器将cookie编号发送回站点。因此,站点知道这个用户(更准确地说,是这个浏览器)访问该站点的时间。

R13、网络缓存可以使所需内容与用户“更接近”,可能与用户“更接近” 用户主机连接的局域网。网络缓存可以减少所有人的延迟对象,甚至没有缓存的对象,因为缓存减少了链接上的流量。

R14、默认情况下,Telnet在Windows 7中不可用。若要使其可用,请转到“控制面板”、“程序和功能”、“打开或关闭Windows功能”、“检查Telnet客户端”。要启动Telnet,在Windows命令提示符中,发出以下命令

telnetwebserverver 80

其中“webserver”是一些webserver。发出命令后,您已经在客户端telnet程序和Web服务器之间建立了TCP连接。然后输入HTTPGET消息。举例如下:

avater
avater

由于此Web服务器中的index.html页面自2007年5月18日(星期五)09:23:34格林尼治时间(GMT)以来未被修改,上述命令于2007年5月19日在沙特发布,服务器返回“304未修改”。注意,前4行是用户输入的GET消息行和头行,接下来的4行(从HTTP/1.1 304开始,未修改)是来自Web服务器的响应。

R15、几个流行的消息应用程序列表:WhatsApp、FacebookMessenger、微信和Snapchat。这些应用程序使用与SMS不同的协议。

R16、该消息首先通过HTTP从Alice的主机发送到她的邮件服务器。然后,Alice的邮件服务器通过SMTP向Bob的邮件服务器发送消息。然后Bob通过POP 3将消息从他的邮件服务器传输到他的主机。

R17、

ActionEvent
Received:from 65.54.246.203 (EHLO bay0-omc3-s3.bay0.hotmail.comopen in new window) (65.54.246.203) by mta419.mail.mud.yahoo.comopen in new window with SMTP; Sat, 19 May 2007 16:53:51 -0700
Received:from hotmail.comopen in new window ([65.55.135.106]) by bay0-omc3-s3.bay0.hotmail.comopen in new window with Microsoft SMTPSVC(6.0.3790.2668); Sat, 19 May 2007 16:52:42 - 0700
Received:from mail pickup service by hotmail.comopen in new window with Microsoft SMTPSVC; Sat, 19 May 2007 16:52:41 -0700
Message-ID:BAY130-F26D9E35BF59E0D18A819AFB9310@phx.gbl
Received:from 65.55.135.123 by by130fd.bay130.hotmail.msn.comopen in new window with HTTP; Sat, 19 May 2007 23:52:36 GMT
From:"prithula dhungel"
To:prithula@yahoo.com
Bcc:
Subject:Test mail
Date:Sat, 19 May 2007 23:52:36 +0000
Mime-Version:1.0
Content-Type:Text/html; format=flowed
Return-Path:prithuladhungel@hotmail.com

图:接收到的邮件标题示例:

此标头字段指示SMTP服务器发送和接收邮件的顺序,包括相应的时间戳。

在本例中,有4个“接收:”标题行。这意味着邮件在发送到收件人的邮箱之前通过5个不同的SMTP服务器传递。最后(第四)“接收:”标头指示从发件人的SMTP服务器到服务器链中的第二个SMTP服务器的邮件消息流。发送方的SMTP服务器位于地址65.55.135.123,链中的第二个SMTP服务器为by130fd.bay130.hotmail.msn.comopen in new window

第三个“接收:”标头表示从链中的第二个SMTP服务器到第三个服务器的邮件消息流,依此类推。

最后,第一个“接收:”标头指示从第四个SMTP服务器到链中的最后一个SMTP服务器(即接收方的邮件服务器)的邮件消息流。

Message-id:邮件编号为BAY 130-F26D9E35BF59E0D18A819AFB9310@phx.gbl(由bay0-omc3-s3.bay0.hotmail.com提供)。Message-id是邮件系统首次创建消息时分配的唯一字符串。

出发地:这表示邮件发件人的电子邮件地址。在给定的示例中,发件人为“prithuladhungel@hotmail.com”,

该字段指示邮件接收方的电子邮件地址。在本例中,接收方为“prithula@yahoo.com

主题:这将给出邮件的主题(如果发件人指定的话)。在此示例中,发件人指定的主题为“测试邮件”

日期:发件人发送邮件的日期和时间。在这个例子中,发件人于2007年5月19日(格林尼治时间23:52:36)发送了邮件。

MIME版本:用于邮件的MIME版本。在这个例子中,它是1.0。

内容类型:邮件正文中内容的类型。在这个例子中,它是“text/html”。

返回路径:如果该邮件的接收方希望回复发件人,则指定发送邮件的电子邮件地址。发件人的邮件服务器也使用它来返回邮件守护进程错误消息的不可交付邮件消息。在这个例子中,返回路径是“prithuladhungel@hotmail.com”。

R18、通过下载和删除,用户从POP服务器检索其消息后,消息将被删除。这给游牧用户带来了一个问题,他们可能希望从许多不同的机器(办公PC、家庭PC等)访问消息。在下载和保存配置中,在用户检索消息后不会删除消息。这也可能不方便,因为每次用户从新机器检索存储的消息时,所有未删除的消息都将传输到新机器(包括非常旧的消息)。

R19、是的,组织的邮件服务器和Web服务器可以具有与主机名相同的别名。MX记录用于将邮件服务器的主机名映射到其IP地址。

R20、您应该能够使用.edu电子邮件地址查看发送方的IP地址。但是,如果用户使用Gmail帐户,您将无法看到发件人的IP地址。

R21、鲍勃也没有必要为Alice提供块。Alice必须是Bob的前4位邻居,Bob才能向她发送块;即使Alice在30秒的间隔内向Bob提供块,也可能不会发生这种情况。

R22、回想一下,在BitTorrent中,一个对等点选择一个随机的对等点,并乐观地在短时间内解除该对等点的阻塞。因此,爱丽斯最终会被她的一个邻居放倒,在此期间,她会从邻居那里得到大块的食物。

R23、P2P文件共享系统中的覆盖网络由参与文件共享系统的节点和节点之间的逻辑链接组成。如果A和B之间有一个半永久的TCP连接,则从节点A到节点B有一个逻辑链路(图论术语中的“边缘”)。覆盖网络不包括路由器。

R24、一种服务器布局理念称为EntDep,它通过在全世界的Access ISP中部署服务器集群,深入到Internet服务提供商的接入网中。目标是减少延迟,提高终端用户和CDN服务器之间的吞吐量。另一种理念是将ISP带回家,在较小数量的站点上构建大型CDN服务器集群,并通常将这些服务器集群放置在IXP(Internet Exchange Point)中。这带来了居家设计典型的结果是较低的维护和管理成本,与进入深度的设计理念。

R25、除了与网络相关的因素之外,还有一些重要的因素需要考虑,例如负载平衡(客户端不应指向过载集群)、日变化、网络中DNS服务器之间的变化、很少访问视频的可用性有限以及需要缓解流行视频内容可能产生的热点。

参考文件:Torres,Ruben,等。“在Youtube CDN中剖析视频服务器的选择策略。”第31届IEEE国际会议。分布式计算系统(ICDCS),2011年。

另一个需要考虑的因素是ISP交付成本--可以选择集群,以便使用特定的ISP来承载CDN到客户端的通信,同时考虑到ISP和集群运营商之间的契约关系中的不同成本结构。

R26、对于UDP服务器,没有欢迎套接字,来自不同客户端的所有数据都通过这个套接字进入服务器。对于TCP服务器,有一个欢迎套接字,每次客户端启动到服务器的连接时,都会创建一个新的套接字。因此,为了支持n个同时连接,服务器需要n个套接字。

R27、对于TCP应用程序,一旦客户端被执行,它就会尝试启动与服务器的TCP连接。如果TCP服务器没有运行,则客户端将无法建立连接。对于UDP应用程序,客户端在执行时不会立即启动连接(或尝试与UDP服务器通信)。

Back to Index

问题2

P1、

a) F

b) T

c) F

d) F

e) F

P2、短消息服务(SMS)是一种允许移动电话之间通过蜂窝网络发送和接收短信的技术。一个SMS消息可以包含140个字节的数据,它支持国际语言。消息的最大大小可以是160个7位字符、140个8位字符或70个16位字符.SMS通过SS#7协议的移动应用部分(MAP)实现,短消息协议由3 GPP TS 23.040和3 GPP TS 23.041定义。此外,MMS(多媒体消息传递服务)扩展了原始文本消息的功能,并支持发送照片、更长的文本消息和其他内容。

iMessage是苹果公司开发的即时通讯服务。iMessage支持通过蜂窝数据网络或WiFi发送到IOS设备和Mac的文本、照片、音频或视频。苹果的iMessage基于专有的二进制协议APN(ApplePushNotificationService)。WhatsAppMessenger是一种即时通讯服务,支持iOS、Android、手机和黑莓等多种移动平台。WhatsApp用户可以通过蜂窝数据网络或WiFi相互发送无限的图像、文本、音频或视频。WhatsApp使用XMPP协议(可扩展消息传递和存在协议)。

iMessage和WhatsApp与SMS不同,因为它们使用数据计划发送消息,并且在TCP/IP网络上工作,而SMS使用我们从无线运营商购买的短信计划。此外,iMessage和WhatsApp支持发送照片、视频、文件等,而原始短信只能发送短信。最后,iMessage和WhatsApp可以通过WiFi工作,但SMS不能。

P3、应用层协议:DNS和HTTP传输层协议:UDP用于DNS;TCP用于HTTP

P4、

a)文档请求是http://gaia.cs.umass.edu/cs453/index.html.host:字段表示服务器的名称,/csopen in new window 453/index.html表示文件名。

b)浏览器正在运行HTTP1.1版本,就像第一对之前所指出的那样。

c)浏览器正在请求持久连接,如连接所示:保持-活动。

d)这是刁钻的问题。此信息不包含在任何地方的HTTP消息中。因此,仅看HTTP消息的交换就无法区分这一点。您需要从IP数据报(承载承载HTTPGET请求的TCP段)中获得信息来回答这个问题。

e)Mozilla/5.0。服务器需要浏览器类型信息将同一对象的不同版本发送到不同类型的浏览器。

P5、

a)状态代码200和短语ok表示服务器能够找到文档成功。答复于2008年3月7日星期二提供格林威治标准时间12:39:45。

b)上一次修改index.html文档是在2005年12月10日星期六18:27:46 格林尼治时间。

c)返回的文档中有3874个字节。

d)返回文件的前五个字节是:<!医生服务器同意持久连接,如connection:Keep Alive字段所示

P6、
a)在RFC 2616的第8节中讨论了持久连接(这一点的真正目的问题是让你检索并阅读一份RFC)第8.1.2和8.1.2.1节
rfc表示客户机或服务器可以向另一个表明它是将关闭永久连接。它通过包含连接令牌来实现“关闭”在http请求/回复的连接头字段中。

b)http不提供任何加密服务。

c)(来自rfc 2616)“使用持久连接的客户端应该限制同时维护到给定服务器的连接。单用户客户端与任何服务器或代理服务器的连接不应超过2个。”

d)是。(来自RFC 2616)“在服务器决定关闭”空闲“连接的同时,客户端可能已经开始发送新请求。从服务器的角度来看,连接是在空闲时关闭的,但从客户端的角度来看,请求正在进行中。“

P7、获取IP地址的总时间为RTT1+RTT2+...+RTTn

一旦知道IP地址,RTTO就会经过以建立TCP连接,而另一个RTTO则会经过以请求和接收小对象。总响应时间为2+RTTO+RTT1+RTT2+...+RTTn

P8、

a)RTT1+RTT2+...+RTTn+2RTTO+82RTTO=18RTTO+RTT1+...+RTTn

b)RTT1+RTT2+...+RTTn+2RTTO+22RTTO=6RTTO+RTT1+...+RTTn

c)与流水线的持久连接。这是HTTP的默认模式。RTT1+RTT2+...+RTTn+2RTTO+RTTO=3RTTO+RTT1+...+RTTn

持续连接,没有流水线,没有并行连接。RTT1+RTT2+...+RTTn+2RTTO+8RTTO=10RTTO+RTT1+...+RTTn

P9、

a)在链路或速率R上传输大小为L的对象的时间是L/R,平均时间是对象的平均大小除以R:

δ= (850,000 bits)/(15,000,000 bits/sec) = .0567 sec

链路上的流量强度由βδ=(16个请求/秒)(0.567秒/请求)=0.907表示。因此,平均访问延迟为(0.567秒)/(1-0.907)≈0.6秒。因此,总的平均响应时间为0.6秒+3秒=3.6秒。

b)由于60%的请求在机构网络中得到满足,接入链路上的业务强度降低了60%。因此,平均访问延迟为(.0567秒)/[1-(4)(.907)]=.089秒。如果请求由缓存满足(发生概率为6),则响应时间大约为零;如果缓存丢失,平均响应时间为0.089秒,3秒=3.089秒(40%的时间)。因此,平均响应时间为(6)(0秒)(4)(3.089秒)=1.24秒。因此,平均响应时间从3.6秒缩短到1.24秒。

P10、请注意,每个下载的对象都可以完全放入一个数据包中。让TP表示客户端和服务器之间的单向传播延迟。

首先考虑使用非持久连接的并行下载。并行下载将允许10个连接共享150位/秒带宽,每个带宽仅15个位/秒。因此,接收所有对象所需的总时间由下式给出:

(200/150TP200/150TP200/150TP100,000/150TP)(200/(150/10)TP200/(150/10)TP200/(150/10)TP100,000/(150/10)TP)=737778*TP(秒)

现在请考虑持久的HTTP连接。所需的总时间由下式给出:

(200/150TP200/150TP200/150TP100,000/150TP)10*(200/150TP100,000/150TP)=735124*TP(秒)

假设光速是300106m/sec,然后TP=10/(300106)=0.03微秒。TPTP因此与传输延迟相比是可忽略的。

因此,我们看到,持久性HTTP的速度并不显著(小于1%)并行下载的非持久性案例。

P11、

a)是的,因为Bob有更多的连接,他可以获得更大的链路带宽份额。

B)是的,Bob仍然需要执行并行下载;否则,他将获得比其他四个用户更少的带宽。

P12、

Server.pyopen in new window

from socket import * 
serverPort=12000 
serverSocket=socket(AF_INET,SOCK_STREAM) 
serverSocket.bind(('',serverPort)) 
serverSocket.listen(1) 
connectionSocket, addr = serverSocket.accept() 
while 1: 
 sentence = connectionSocket.recv(1024) 
 print 'From Server:', sentence, '\n' 
serverSocket.close() 

P13、来自:inSMTP的邮件是从SMTP客户端发送的标识发件人的邮件将邮件消息发送到SMTP服务器。

发件人:在邮件消息本身不是SMTP邮件,而不是邮件正文中的一行。

P14、SMTP使用仅包含句点的行来标记邮件正文的结束。http使用“内容长度标题字段”来表示消息正文的长度。不,HTTP不能使用SMTP使用的方法,因为HTTP消息可以是二进制数据,而在SMTP中,消息主体必须是7位的ASCII格式。

P15、MTA代表邮件传输代理。主机将消息发送给MTA。然后,该消息遵循一系列MTA以到达接收者的邮件阅读器。我们看到这个垃圾邮件遵循一个MTA链。诚实的MTA应该报告它收到消息的位置。请注意,在此消息中,“asusus-4b96([58.88.21.177])”不报告它收到电子邮件的位置。由于我们假定只有发端人是不诚实的,所以“asusus-4b96([58.88.21.177])”必须是发起人。

P16、uidl缩写“唯一ID列表”。当POP3客户端发出uidl命令时,服务器用唯一的消息ID来响应于在该服务器中存在的所有消息,用户的邮箱。此命令对“下载并保持”是有用的。通过维护文件该列表列出了在较早的会话期间检索到的消息,客户端可以使用Urel用于确定服务器上的哪些消息已被看到的命令。

P17、

a) C: dele 1

C: retr 2

S: (blah blah …

S: ………..blah)

S: .

C: dele 2

C: quit

S: +OK POP3 server signing off

b) C: retr 2

S: blah blah …

S: ………..blah

S: .

C: quit

S: +OK POP3 server signing off

c) C: list

S: 1 498

S: 2 912

S: .

C: retr 1

S: blah …..

S: ….blah

S: .

C: retr 2

S: blah blah …

S: ………..blah

S: .

C: quit

S: +OK POP3 server signing off

P18、

a)对于给定的域名输入(如ccn.comopen in new window)、IP地址或网络管理员名称,whois数据库可用于定位相应的注册服务器、whois服务器、DNS服务器等。

b)NS4.YAHOO.COMopen in new window,网址:www.Registry er.comopen in new windowNS1.MSFT.NETopen in new window,网址:ww.Registry er.comopen in new window

c) Local Domain: <www.mindspring.comopen in new window>

Web servers : <www.mindspring.comopen in new window>

207.69.189.21, 207.69.189.22,

207.69.189.23, 207.69.189.24,

207.69.189.25, 207.69.189.26, 207.69.189.27, 207.69.189.28

Mail Servers : mx1.mindspring.comopen in new window (207.69.189.217)

mx2.mindspring.comopen in new window (207.69.189.218)

mx3.mindspring.comopen in new window (207.69.189.219)

mx4.mindspring.comopen in new window (207.69.189.220)

Name Servers: itchy.earthlink.netopen in new window (207.69.188.196)

scratchy.earthlink.netopen in new window (207.69.188.197)

<www.yahoo.comopen in new window>

Web Servers: <www.yahoo.comopen in new window> (216.109.112.135, 66.94.234.13)

Mail Servers: a.mx.mail.yahoo.comopen in new window (209.191.118.103)

b.mx.mail.yahoo.comopen in new window (66.196.97.250)

c.mx.mail.yahoo.comopen in new window (68.142.237.182, 216.39.53.3)

d.mx.mail.yahoo.comopen in new window (216.39.53.2)

e.mx.mail.yahoo.comopen in new window (216.39.53.1)

f.mx.mail.yahoo.comopen in new window (209.191.88.247, 68.142.202.247)

g.mx.mail.yahoo.comopen in new window (209.191.88.239, 206.190.53.191)

Name Servers: ns1.yahoo.comopen in new window (66.218.71.63)

ns2.yahoo.comopen in new window (68.142.255.16)

ns3.yahoo.comopen in new window (217.12.4.104)

ns4.yahoo.comopen in new window (68.142.196.63)

ns5.yahoo.comopen in new window (216.109.116.17)

ns8.yahoo.comopen in new window (202.165.104.22)

ns9.yahoo.comopen in new window (202.160.176.146)

<www.hotmail.comopen in new window>

Web Servers: <www.hotmail.comopen in new window> (64.4.33.7, 64.4.32.7)

Mail Servers: mx1.hotmail.comopen in new window (65.54.245.8, 65.54.244.8, 65.54.244.136)

mx2.hotmail.comopen in new window (65.54.244.40, 65.54.244.168, 65.54.245.40)

mx3.hotmail.comopen in new window (65.54.244.72, 65.54.244.200, 65.54.245.72)

mx4.hotmail.comopen in new window (65.54.244.232, 65.54.245.104, 65.54.244.104)

Name Servers: ns1.msft.netopen in new window (207.68.160.190)

ns2.msft.netopen in new window (65.54.240.126)

ns3.msft.netopen in new window (213.199.161.77)

ns4.msft.netopen in new window (207.46.66.126)

ns5.msft.netopen in new window (65.55.238.126)

d)YahooWeb服务器有多个IP地址www.yahoo.comopen in new window(216.109.112.135,66.94.234.13)e)职业技术大学的地址范围:128.230.0.0.0-128.230.255

f)攻击者可以使用whois数据库和nslookup工具来确定目标机构的IP地址范围、DNS服务器地址等。

g)通过分析攻击数据包的源地址,受害者可以使用whois获取攻击所来自的域的信息,并可能通知源域的管理员。

P19、
a) The following delegation chain is used for gaia.cs.umass.eduopen in new window

a.root-servers.netopen in new window

E.GTLD-SERVERS.NETopen in new window

ns1.umass.eduopen in new window(authoritative)

First command:

dig +norecurse @a.root-servers.net any gaia.cs.umass.eduopen in new window

;; AUTHORITY SECTION:

edu. 172800 IN NS E.GTLD-SERVERS.NETopen in new window.

edu. 172800 IN NS A.GTLD-SERVERS.NETopen in new window.

edu. 172800 IN NS G3.NSTLD.COMopen in new window.

edu. 172800 IN NS D.GTLD-SERVERS.NETopen in new window.

edu. 172800 IN NS H3.NSTLD.COMopen in new window.

edu. 172800 IN NS L3.NSTLD.COMopen in new window.

edu. 172800 IN NS M3.NSTLD.COMopen in new window.

edu. 172800 IN NS C.GTLD-SERVERS.NETopen in new window.

Among all returned edu DNS servers, we send a query to the first one.

dig +norecurse @E.GTLD-SERVERS.NET any gaia.cs.umass.eduopen in new window

umass.eduopen in new window. 172800 IN NS ns1.umass.eduopen in new window.

umass.eduopen in new window. 172800 IN NS ns2.umass.eduopen in new window.

umass.eduopen in new window. 172800 IN NS ns3.umass.eduopen in new window.

Among all three returned authoritative DNS servers, we send a query to the first one.

dig +norecurse @ns1.umass.edu any gaia.cs.umass.eduopen in new window

gaia.cs.umass.eduopen in new window. 21600 IN A 128.119.245.12

b) The answer for google.comopen in new window could be:

a.root-servers.netopen in new window

E.GTLD-SERVERS.NETopen in new window

ns1.google.comopen in new window(authoritative)

P20、我们可以定期拍摄本地DNS服务器中DNS缓存的快照。该组织在DNS缓存中出现最频繁的Web服务器是最流行的服务器。这是因为如果更多的用户对Web服务器感兴趣,那么DNS请求就会对此感兴趣服务器更频繁地由用户发送。因此,该Web服务器将出现在DNS中缓存更频繁。

关于完整的测量研究,见: Craig E.Wills,Mikhail Mikhailov,郝尚 “通过主动查询DNS传递互联网应用的相对普及性” “缓存”,2003年10月27日至29日,IMC03,美国佛罗里达州迈阿密海滩。

P21、是的,我们可以在本地DNS服务器中使用DIG查询该网站。例如,“digCNN.comopen in new window”将返回查找CNN.com的查询时间。如果CNN.com几秒钟前刚刚被访问,那么CNN.com的条目将缓存在本地DNS缓存中,因此查询时间为0毫秒。否则,查询时间很长。

P22、在计算客户端-服务器分发的最小分发时间时,我们使用以下公式:

dcs=max{NF/usF/dmin}

同样地,在计算P2P分发的最小分发时间时,我们使用以下公式:

Dp2p=max{F/usF/dminNF/(us+i=1Nui)}

其中F=15Gbit=15*1024Mbit

u_s=30 Mbps

dmin=di=2 Mbps,

其中300 Kbps=300/1024 Mbps。

Client Server
N
10 100 1000
u
300 Kbps 7680 51200 512000
700 Kbps 7680 51200 512000
2 Mbps 7680 51200 512000

Peer to Peer
N
10 100 1000
u
300 Kbps 7680 25904 47559
700 Kbps 7680 15616 21525
2 Mbps 7680 7680 7680

P23、

a)考虑一种分发方案,其中服务器以us/N的速率并行地向每个客户端发送文件,注意此速率低于客户端的每个下载速率,因为假设我们us/Ndmin。因此,每个客户端也可以以us/N的速率接收,因为每个客户端以us/N的速率接收,每个客户端接收整个文件的时间是F/(us/N)=NF/us。由于所有客户端都在NF/us中接收文件,所以总的分发时间也是NF/us

b)考虑一种分发方案,其中服务器并行地向每个客户端发送文件,速率为dmin。注意,聚合速率N dmin小于服务器的链接速率我们,因为假设我们us/Ndmin。由于每个客户端以