55、应用层习题及参考答案

  1. 许多企业的计算机有3 个不同的全球唯一标识符。试问它们分别是什么?
    解:DNS域名、IP地址、MAC地址。

  2. 在图7-4 中,在laserjet 后没有终结。试问这是为什么?在这里插入图片描述
    解:它是相对于cs.vu.nl来说的,是laserjet.cs.vu.nl的简写。

  3. 考虑这样一种情况,一个网络恐怖主义分子同时破坏了全世界的所有DNS 服务器。试问这将如何改变一个人使用Internet 的能力?
    解:如果世界上所有的DNS服务器同时崩溃,就无法在域名和IP地址之间进行映射。因此,访问网页的唯一方法是使用主机服务器的IP地址而不是域名。

  4. DNS 使用UDP 而没有采用TCP 。如果DNS 数据包丢失,并且没有自动恢复机制。试问这会产生问题吗?如果会,它是如何解决呢?
    解:DNS是幂等的。当进程发出DNS请求时,它会启动一个计时器。如果计时器过期,它只会再次发出请求。

  5. John 希望有一个原始的域名,并使用一个随机程序来产生他的二级域名。他要在com通用域名下注册这个域名。生成的域名253 个字符长。试问com 注册处允许注册这个域名吗?
    解:DNS完整名称不超过255个字节(字符,因为字符1字符1字节),这是标准所要求的。因为与com结尾一起,生成的名称将超过255个字符,因此是不允许的。

  6. 试问只有一个DNS 域名的机器可以有多个IP 地址吗?这种情况是如何发生的?
    解:可以。如果一台机器有两个以太网卡,它可以位于两个独立的网络上,两个IP地址。

  7. 近年来,拥有Web 站点的公司数量爆炸式增长。结果是,成千上万的公司注册在com域下,从而导致该域的顶级服务器负载极其繁重。请提出一种建议方案来缓解这个问题,同时又不用修改域名方案(也就是说,不引入新的顶级域名〉。你的方案可以要求修改客户代码。
    解:显然,有很多方法。一是将顶级服务器转换为服务器农场。另一个是有26个单独的服务器,一个用于名称以a开头,一个用于b,等等。在引入新服务器后的一段时间,旧服务器可以继续运行,给人们一个调整机会。
    .

  8. 有些电子邮件系统支持Content Return:头字段。它指定了当消息未被递交时是否返回邮件体。试问这个字段属于信封还是邮件头?
    解: 属于信封,因为传递系统需要知道它的值,以处理无法传递的电子邮件。

  9. 电子邮件系统需要相应的目录,以便于查找人们的电子邮件地址。为了建立这样的目录,名字应该被分割成标准的组成部分(比如,第一个名字,最后一个名字〉才有可能搜索。请讨论为了建立一个可接受的全球标准需要解决哪些问题。
    解:首先,世界上大约有一半的人把名字写在前面,然后是姓氏,而另一半则是相反的。命名系统必须区分任意数目的给定名称。还有一些人有中间首字母,但没有中间名。各种头衔,如先生、小姐、教授或领主。人们世世代代,所以小,老,三,四,等等都必须包括在内。有些人在他们的名字中使用他们的学术头衔,有些人在他们的名字中包含了某些奖项和荣誉等等。

  10. 一个大型律师事务所有许多员工,每一位员工有一个电子邮件地址,有些员工使用他们的第一个名字作为自己的登录名,有些员工使用他们最后一个名字,还有些员工使用了名字的缩写,现在该事务所希望制定一个固定的格式,例如:[email protected]。试问这个格式能用作全体员工的电子邮件地址吗?如何做才不至于造成太多混乱?
    解:将别名Firstame.lastname与用户现有的电子邮件帐户关联起来。这样,当SMTP守护进程接收到的电子邮件的地址为[email protected]时,它所需要做的就是查找这个别名对应的登录名,并将该电子邮件指向邮箱[email protected]

  11. 一个二进制文件长4560 个字节。如果使用基于64 的编码技术,而且在每发出110 字节以及结尾处插入CR+LF。 试问该文件将有多长?
    解:base 64编码将把消息分解为1520个单位,每个单位有3个字节。每个单元将被编码为4个字节,总共6080字节。如果将它们分解成110字节的行,则需要56行这样的行,增加56行CRS和56 LFS。这样,总长度将为6192字节。

  12. 本书没有列出5 个MIME 类型。请检查你的浏览器或Internet 来获取这方面的信息。
    解:application/msexcel (Excel), application/ppt (PowerPoint), audio/midi (MIDI sound), image/tiff (图形预览器打开), video/x-dv (苹果公司的QuickTime player)

  13. 假设你想给一个朋友发送一个MP3 文件,但是你朋友的ISP 限制入境邮件的大小为1MB ,而该MP3 文件是4 MB。试问是否有办法通过使用RFC 5322 和MIME 来处理这种情形?
    解:使用message/external-body子类型,并只发送文件的URL,而不是实际文件。

  14. 假设约翰刚刚为他的工作电子邮件地址设置了自动转发机制,该转发机制接收他所有与业务相关的电子邮件,然后转发到他的私人电子邮件地址,他与他的妻子共享该私人邮箱。约翰的妻子不知道这一点,而且在他们的私人账户上触发了一个度假代理。因为约翰转发了他的电子邮件,因而他在他的工作机器上并没有设立度假守护进程。试问,当约翰的工作电子邮件地址收到一封电子邮件时,会发生什么?
    解:在约翰的工作电子邮件收件箱中收到的每一条信息都将被转发到他的个人收件箱,个人收件箱从而产生一个由假期代理人自动回复,发送到他的工作收件箱。此回复将被工作计算机视为一条新消息,从而被转发到个人邮箱,而该邮箱又将向工作收件箱发送另一个回复。因此,对于John的工作电子邮件地址中收到的每条消息,都会有一串没完没了的消息(除非度假代理聪明到只回复它看到的每个发件人一次)。但是,假设假期代理记录它已经回复的电子邮件地址,工作电子邮件收件箱将收到一个自动回复,并将其转发回个人收件箱,并且不会生成更多的罐头消息。

  15. 任何一个标准都需要精确的语法,例如RFC 5322 ,这样不同的实现才能相互协同工作。即使最简单的表项也必须小心定义。SMTP 头允许在token之间出现空白。请针对标记符之间的空白,给出两种似是而非的定义。
    解:第一个是一个或多个空格和/或制表符的任意序列。第二,一个是一个或多个空格和/或制表符和/或Backspace的任意序列,但条件是应用所有Backspace的净结果仍然至少留下一个空格或制表符。

  16. 度假代理是用户代理的一部分还是邮件传输代理的一部分?当然,它是通过用户代理设置的,它是用户代理实际发送的答复吗?请解释你的答案。
    解:实际的答复必须由消息传送代理来完成。当SMTP连接进入时,邮件传递代理必须检查是否设置了一个假期代理以响应传入的电子邮件,如果是,则发送应答。

  17. Chord 算法的一个简单版本被用在对等查询中。搜索不使用指取表,相反,它们被线性地绕成一个环,环可取任何一个方向。试问,一个节点能准确地预测它应该在哪个方向搜索吗?讨论你的答案。
    解:它大致可以做到,但不能完全做到。假设有1024个节点标识符。如果节点300正在寻找节点800,则最好顺时针进行,但可能会发生这样的情况:在300到800之间有20个实际节点顺时针运行,在它们之间只有16个实际节点逆时针运行。密码散列函数sha-1的目的是产生一个非常平滑的分布,使节点密度沿圆周大致相同。但是总是会有统计上的波动,所以直截了当的选择可能是错误的。(看着像基础,但理解还需要学习)

  18. IMAP 允许用户从远端邮箱获取和下载电子邮件。试问,这是否意味着内部邮箱格式必须标准化,因此客户端上的任何IMAP 程序可以读取任何邮件服务器上的邮箱?讨论你的答案。
    解:不是。IMAP程序实际上不接触远程邮箱。它向邮件服务器上的IMAP守护进程发送命令。只要该守护进程了解邮箱格式,它就可以工作。因此,邮件服务器可以在一夜之间从一种格式更改为另一种格式,而无需告诉客户,只要它同时更改IMAP守护进程,以便理解新格式。

  19. 考虑如图所示的Chord 环。假设节点18 突然上线。试问图中的哪个指取表受到影响?如何受到影响的?在这里插入图片描述
    解:在节点1的指取表中,条目4中的节点从20切换到18。在节点12的指取表中,条目2中的节点从20切换到18。节点4的指取表不受更改的影响。(条目索引由0开始哦)

  20. Webmail 使用了POP3,还是IMAP,或者什么都没有用?如果使用了其中之一,试问为什么会选择这个?如果两者都没用,实质上更接近哪个?
    解:它不使用这两种方式,但在设计思想上与IMAP非常相似,因为它们都允许远程客户端检查和管理远程邮箱。相反,POP3只是将邮箱发送到客户端进行处理。

  21. 当发送Web 页面时,试问,它们会附加上MIME 头吗?为什么?
    解:浏览器必须能够知道页面是文本、音频、视频还是其他内容。MIME头提供此信息。

  22. 当用户使用Firefox 点击一个链接时,一个特定的辅助应用程序就被启动:但在IE 浏览器中点击相同的链接时,导致一个完全不同的辅助应用程序被启动,即使在这两种情况下返回的MIME类型是相同的。试问这种情况是否有可能发生?解释你的答案。
    解:是的,这是可能的。启动哪个助手取决于浏览器中的配置表,Firefox和ie可能配置不同。此外,ie比MIME类型更重视文件扩展名,文件扩展名可能表示与MIME类型不同的助手。(附笔者Firefox配置)在这里插入图片描述

  23. 虽然在课文中没有提到URL 的另一种形式是使用IP地址,而不是它的DNS 域名。请用此信息来解释为什么一个DNS 域名不能以数字结尾。
    解:IP地址是由四个数字组成的由点分隔的集合。使用IP地址的示例是http://192.31.231.66/index.html.。浏览器使用的事实是,dns名称不能以数字结尾,以便区分使用dns名称的url和使用ip地址的url,ip地址总是以数字结尾。

  24. 试想一下,在斯坦福大学数学系有人刚刚写了一个包括证明过程的新文档,他希望通过FTP 将该文档分发给他的同事们审阅。他把程序放在FTP 目录ftp/pub/forReview/newProof.pdf。试问这一程序可能的URL 是什么?
    解:ftp://www.ma.stanford.edu/ftp/pub/forReview/newProof.pdf.

  25. 一项方案的缺点是Cookie 被限制为4 KB,因此如果要扩展偏好,例如,要增加关于许多股票、运动队、新闻报道的类型、多个城市的天气、在众多的产品类别特价商品和更多信息,可能会超出4 KB的限制。请设计另一种方案来保持跟踪用户的偏好但又没有这个问题。
    解:将客户ID放在cookie中,并将首选项存储在由客户ID索引的服务器上的数据库中。这样,记录的大小是无限的。

  26. 懒银行要为它的客户操作网络银行更加容易,因此,在客户签署并通过密码验证后,银行返回一个Cookie,其中包含客户ID号。这样,客户在将来访问网上银行时可以不必识别自己,或者输入密码。试问,你认为这种想法怎么样?可行吗?它是一个好主意吗?
    解:从技术上讲,这是可行的,但这是个糟糕的主意。客户所要做的就是修改cookie以访问他人的银行帐户。让cookie提供客户的身份证号码是安全的,但客户必须输入密码才能证明自己的身份。

  27. (a)考虑如下的HTML 标记:<hl title=”this is the header”> HEADER 1 </ hl>在什么情况下,浏览器使用TITLE 属性,如何使用的?(b) TITLE 属性与ALT 属性有什么不同?
    解:(a)当用户将鼠标悬停在单词“Header 1”上时,浏览器使用title属性,并将该属性的值显示为“这是标题”。(b)alt属性只对图像有用,而title属性可以包含在任何html标记中。此外,当浏览器找不到应该显示的图像时,使用alt属性,而在悬停期间使用title属性。由于这些不同的用途,标记可能同时包含alt和title属性,尽管它们的值通常是相同的。

  28. 你如何在HTML 中生成一个可点击的图像?举例说明。
    解:超链接由< a href="…"> and </ a>组成。中间是可点击的文本。在这里也可以放一张图片。例如:< a href=“http://www.abcd.com/foo”> < img src=“http://www.abcd.com/im/im2”> </ a>

  29. 编写一个HTML 页面。该页面包括一个邮件地址[email protected] 的链接。试问,当用户点击该链接时会发生什么?
    解:例子如下:当用户单击此链接时,用户的默认电子邮件写入程序将打开一个“撰写邮件”窗口,其中包括地址“[email protected]"在TO字段中。

<html>
<body>
<a href="mailto:[email protected]"> Click Here to email me </a>
</body>
</html>
  1. 编写一个大学注册器。能列出多个学生,每个学生有一个姓名、地址和一个GPA 。
    解:一个XML例子如下。
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="student list.xsl"?>
<student list>
	<student>
		<name> Jerry </name>
		<address> 50 Farmington Av </address>
		<sid> 11227766 </sid>
		<gpa> 4.0 </gpa>
	</student>
	<student>
		<name> Elaine </name>
		<address> 5 Gumdrop Lane</address>
		<sid> 37205639 </sid>
		<gpa> 3.0 </gpa>
	</student>
	<student>
		<name> Tessa </name>
		<address> 6 Waterfall St </address>
		<sid> 43720472 </sid>
		<gpa> 3.8 </gpa>
	</student>
</student list>
  1. 对于下列应用程序,告诉它是否(1)有可能(2)最好使用PHP 脚本或JavaScript 中的哪一个,以及为什么?
    (a )显示从1752 年9 月以来的任何一个月的日历。
    (b )显示从阿姆斯特丹到纽约的航班时间表。
    (c )画出一个用户提供系数的多项式。
    解:(a)有14个日历,这取决于1月1日所处的一周的哪一天,以及该年是否闰年。因此,javascript程序可以很容易地包含所有的14个日历和一个小的数据库,哪个年份得到哪个日历。也可以使用php脚本,但速度要慢一些。(b)这需要一个大型数据库。它必须通过使用php在服务器上完成。©两者都有效,但javascript更快

  2. 写一个JavaScript 程序,它接受一个大于2 的整数,并告知它是否为一个素数。请注意,JavaScript 有if 和while 语句号,这些语句的语法与C 和Java 相同。模运算符为%。如果你需要x 的平方根,使用Math.sqrt (x)。
    解:以下代码可以在各种方面得到改进,但这需要对javascript有更多的了解。

<html>
<head> <title> JavaScript test </title> </head>
<script language="javascript" type="text/javascript">
	function response(test_form) {
	var n = 2;
	var has_factors = 0;
	var number = eval(test_form.number.value);
	var limit = Math.sqrt(number);
	while (n++ < limit) if (number % n == 0) has_factors = 1;
	document.open();
	document.writeln("<html> <body>");
	if (has_factors > 0) document.writeln(number, " is not a prime");
	if (has_factors == 0) document.writeln(number, " is a prime");
	document.writeln("</body> </html>");
	document.close();
}
</script>
</head>
<body>
<form name="myform">
Please enter a number: <input type="text" name="number">
<input type="button" value="compute primality"
onclick="response(this.form)">
</form>
</body>
</html>
  1. 一个HTML 页面如下所示:
    < html> < body>
    < a href=”www.info-source.com/welcorne.htrnl”> Click here for info </ a>
    </ body> </ html>
    如果用户单击该超链,就打开了一个TCP 连接,并且给服务器发送一系列的行。请列出发出的所有行。
    解:发送的命令如下:
    GET/pope.html HTTP/1.1
    HOST:www.info-sourcee.com
    请注意末尾的空行。这是强制性的(加粗字体后不能有空格,注,所以这里省略了)。

  2. If-Modified-Since 头可以用来检查一个缓存页面是否仍然有效。请求的页面可以包含图像、声音、视频等,以及HTML。你认为这种技术用于JPEG 图像相比HTML 的效率更好还是更糟?仔细想想“效率”意味着什么,并解释你的答案。
    解:最有可能的是,html页面的变化比jpeg文件更频繁。很多网站总是摆弄他们的html,但不会改变太多的图像。但其有效性不仅关系到命中率,而且关系到回报。得到304条消息和获得500行html之间没有太大区别。在这两种情况下,延迟基本上是相同的,因为html文件太小了。图像文件是大的,所以不必发送一个是一个很大的胜利。

  3. 在当天的一个重大体育赛事中,比如一些流行运动的冠军赛,很多人都去访问官方网站。这个闪群与2000 年佛罗里达州总统选举发生的闪群具有相同的意义吗?为什么是相同的?或者为什么不同呢?
    解:没有。在体育案件中,人们提前几个月就知道,网站上会有一大群人,可以在整个地方建造复制品。闪光人群的本质是它是意想不到的。佛罗里达的网站上有一大群人,但爱荷华州和明尼苏达州的网站却没有。没有人能事先预料到这一点。

  4. 把单个ISP 建设成CDN,是否可行?如果可行,它将如何工作?如果不可行,这个想法错在哪里?
    解:当然可以。ISP会转到许多内容提供商那里,并获得他们在ISP网站上复制其内容的许可。内容提供者甚至可能支付此服务的费用。缺点是ISP与许多内容提供商联系是一项很大的工作。让CDN这样做更容易。

  5. 假设不对语音CD 进行压缩。为了播放两个小时的音乐,光盘必须包括多少MB 的数据?
    解:音频需要1.4 Mbps(CD标准),为175 kb/秒。2小时为2×60×60=7,200秒。因此CD中需1 260MB。

  6. 在图中,使用4 位(可以表示0到31的共32个数值)样值来表达9 个信号值时会引入量化噪声。第一个样值,在0 点是精确的,但后续几个就不准确了。对于在1/32 、2/32 以及3/32 处的样值误差百分比分别是多少?在这里插入图片描述
    解:sin(2π×上述数值)。数值上,这些正弦波是0.195,0.383和0.556。它们分别表示为0.250、0.500和0.500(这里不大明白)。因此,误差百分比分别为28%((0.25-0.195)/0.195)、31%和10%。(9个样值对应y轴刻度,从-1到1)

  7. 一个伪随机模型能用来减少Internet 电话所需的带宽吗?如果可以,必须满足什么条件(如果有的话)才能工作?如果不能,为什么?
    解:从理论上讲,它是可以使用的,但网络电话是实时的。对于音乐,没有人反对用5分钟来编码一首3分钟的歌曲。对于实时演讲来说,这是行不通的。心理声学压缩可以适用于电话,但只有在芯片存在的情况下,才能在延迟约1毫秒的情况下进行动态压缩。

  8. 一个音频流服务器到一个媒体播放器的单向“距离”为100 毫秒,它以1Mbps 速率输出。如果媒体播放器有一个2MB 的缓冲区,试问你能说出低水印标记和高水印标记的位置在哪里?
    解:服务器需要100毫秒才能获得暂停命令,在此时间内,12 500个字节(1Mbps*0.1s*1000 000)将到达,因此低水标记应该远高于12 500,可能是50 000字节才是安全的。同样,高水区应该至少有12 500个字节,但是,比如说,50 000字节就更安全了。

  9. 试问IP 语音遇到防火墙和流式音频遇到防火墙的问题相同吗?讨论你的答案。
    解:那得看情况。如果呼叫者不在防火墙后面,被呼叫者在普通电话旁,那么根本没有问题。如果调用者在防火墙后面,并且防火墙不挑剔什么离开网站,它也会工作。如果被调用方位于不允许udp数据包释放的防火墙后面,它将无法工作。

  10. 试问以每秒50 帧、每个像素16 位,传输未经压缩的1200 × 800 像素的彩色帧所需要的比特率是多少?
    解:1200 × 800 × 50 × 16=768 Mbps

  11. 试问MPEG 帧中l 位的错误会影响该出错帧以外的其他帧吗?请解释你的答案。
    解:是的。I-帧中的错误将导致在随后的p帧和b帧的重建中出现错误。错误将继续传播直到下一个I-帧到达。

  12. 考虑一个有50 000 个客户的视频服务器,每个客户每个月看三部电影。三分之二的电影是在晚上9 时需求。服务器在这段时间内一次传输多少部电影?如果每部电影需要6Mbps ,服务器需要多少个OC-12 网络连接?
    解:由于每个月有50,000名客户获得三部电影,服务器每月输出15万部电影,或每天输出5000部。如果其中三分之二是在晚上9点,服务器必须同时处理3330部电影(5000×2/3)。如果服务器必须以每台6 mbps传输3330部电影,所需带宽为20 Gbps。使用OC-12连接(总速率为622.08Mbps),每个SPE容量为594 mbps(SEP是同步有效载荷信封的意思,严格意义上来说是601.344Mbps,由于SPE的第一列是路径开销(即端到端路径子层协议的头),所以用户速率是594.432Mbps,这里有点错误,注),至少需要34个连接。

  13. 假设齐普夫定律适用于对一个有10 000 电影的视频服务器的访问。如果服务器在内存中持有1000 个最流行的电影,在磁盘上保持剩余的9000 个电影,请给出所有引用都在内存中的比例表达式。写一个小程序,以便从数值七来评估该表达式。
    解:(齐普夫定律是描述一系列实际现象的特点非常到位的经验定律之一。它认为,如果我们按照大小或者流行程度给某个大集合中的各项进行排序,集合中第二项的比重大约是第一项的一半,而第三项的比重大约是第一项的三分之一,以此类推。换句话来说,一般来讲,排在第k位的项目其比重为第一项的1/k。)由齐普夫定律可得:(1/1+1/2……+1/1000)/(1/1+1/2……+1/10 000)
    通过数值计算,我们得到了7.486/9.788。因此,大约0.764的请求将用于内存中的电影。值得注意的是,Zipf定律意味着大量的(数据)分布在尾部(长尾理论)。

猜你喜欢

转载自blog.csdn.net/ao__ao/article/details/88727481