应用层 (课后习题和问题部分题目和参考答
复习题:
1.列出5种非专用的因特网应用及它们所使用的因特网协议。
答案:Web应用和HTTP协议、电子邮件应用和SMTP(简单邮件传输协议)、因特网的目录服务DNS和DNS协议、P2P应用和P2P协议、远程终端访问
和Telnet、文件传输和FTP。
2.网络体系结构与应用程序体系结构之间有什么区别?
答案:应用程序的体系结构明显不同于网络的体系结构。从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务
集合。另一方面,应用程序体系结构由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。在选择应用程序体系结构时,应用程
序研发者很可能利用现代网络应用程序中所使用的两种主流体系结构之一:客户机/服务器体系结构或对等体系结构。
3.对两进程之间的通信会话而言,哪个进程是客户机,哪个进程是服务器?
答案:在给定的一对进程之间的通信会话中,发起通信(即在该会话开始时与其他进程联系)的进程被标示为客户机,在会话开始时等待联系的
进程是服务器。
4.对P2P文件共享应用,你同意“一个通信会话不存在客户机端和服务器端的概念”这种说法吗?为什么?
答案:不同意,在P2P文件共享应用中,一个进程可以既是客户机又是服务器。实际上,在P2P文件共享系统中,一个进程既能上载文件又能下载
文件。无论如何,在给定的一对进程之间的通信会话中,我们仍能标示一个进程为客户机,标示另一个进程为服务器。在给定的一对进程之间的
通信会话中,发起通信(即在该会话开始时与其他进程联系)的进程被标示为客户机,在会话开始时等待联系的进程是服务器。
5.运行在一台主机上的一个进程使用什么信息来标识运行在另一台主机上的进程?
答案:目的地端口号
6.假定你想尽快的处理从远程客户机到服务器的事务,应使用UDP还是TCP?为什么?
答案:UDP,因为TCP是面向连接的可靠数据传输服务,使用TCP协议时,在应用层数据报文开始流动之前,其客户机程序和服务器程序之间互相交
换运输层控制信息,完成握手阶段。TCP的三次握手,以及拥塞控制机制和分组都有开销。UDP没有拥塞控制机制,所以发送端可以以任何速率向
其下面的层(网络层)注入数据。
7.在日常生活中你或许会使用Web浏览器和邮件阅读器。你或许还会用到FTP用户代理,Telnet用户代理,音频/视频播放器用户代理(比如Real
Networks player),即时信息代理,P2P文件共享代理。
答案:无。
8.列出运输协议能够提供的4种宽泛类型的服务。对于每种服务类型,指出是UDP还是TCP(或这两种协议)提供这样的服务。
答案:1.可靠数据传输,TCP提供了可靠的端到端数据传输服务,而UDP没有。
2.吞吐量,TCP和UDP均为提供此服务。
3.定时,TCP和UDP均为提供此服务。
4.安全性,TCP在应用层可以很容易地通过SSL来提供安全服务,而UDP没有。
10.握手协议的作用是什么?
答案:提示客户机和服务器做好传输分组的准备。
11.为什么HTTP,FTP,SMTP,POP3都运行在TCP而不是UDP之上?
答案:TCP协议提供了可靠数据传输服务,能够保证所有数据最终到达目的地。
12.考虑一个电子商务网站需要保留每一个客户的购物记录。描述如何使用Cookie来完成该功能。
答案:Cookie技术有4个组成部分:1.在HTTP响应报文中有一个cookie 首部行。2.在HTTP请求报文中有一个cookie首部行;3. 在用户端系
统中保留有一个cookie文件,由用户的浏览器管理;4,在web站点有一个后段数据库。
当请求报文到达一个电子商务网站服务器时,该服务器站点将产生一个唯一识别码,并以此作为索引在它的后端数据库中产生一个表项。接
下来该服务器用一个含set-cookie:首部行的HTTP响应报文对客户的浏览器进行响应,其中set-cookie:首部行含有识别码。
当客户的浏览器收到了该HTTP响应报文时,他会看到该set-cookie:首部。该浏览器在它管理的特定cookie文件中添加一行,其中包含该服
务器的主机名和set-cookie:首部中识别码。当客户继续浏览该网站时,每请求一个web页面,其浏览器就会从它的cookie文件中获取这个网站的
识别码,并放到HTTP请求报文中含有该识别码的cookie首部行中。特别是,发往该站点服务器的每个HTTP请求报文都包括该首部行,在这种方式
下,网站服务器就可以跟踪客户在该站点的活动。
15.为什么说FTP在“带外”发送控制信息?
答案:因为FTP 使用两个并行的TCP连接来传输文件,一个是控制连接,一个是数据连接。控制连接用于在两个主机之间传输控制信息,如用户标
识、口令、改变远程目录的命令以及“put”和“get”文件的命令。数据连接用于实际传输一个文件。因为FTP协议使用一个分离的控制连接,所
以我们也称FTP的控制信息是带外传送的。
16.假定Alice 使用一个基于web的电子邮件账户(如Hotmail或gmail)向Bob发报文,而Bob使用pop3访问他的邮件服务器来获取自己的邮件。讨
论报文是怎样从Alice主机到达Bob主机的。列出在两台主机间移动该报文时所使用的各种应用层协议。
答案:当Alice要发送一封基于web的电子邮件报文时,该电子邮件报文从Alice的浏览器发送到她的邮件服务器,使用的是HTTP而不是SMTP。然
而Alice的邮件服务器使用SMTP将邮件报文发送给Bob的邮件服务器。Bob的用户代理通过POP3从邮件服务器中取回报文。
HTTP、SMTP、POP3;Alice的代理、Alice的邮件服务器、Bob的邮件服务器的代理。
17.略。
18.从用户的观点看,POP3协议中“下载并删除”模式和“下载并保留”模式有什么区别?
答案:下载并删除模式是指用户从一台机器上收取了一个邮件以后,那么他在其他机器上将不能再次收取该邮件。
下载并保留模式是指,用户代理下载某邮件后,该邮件仍保留在邮件服务器上,用户能够通过不同的机器重新读取这些邮件;他可以在上班
时收取一封邮件,而在回家后再次访问它。
23.具有集中式索引的即时讯息以何种方式采用客户机/服务器和P2P体系结构的混合结构?
答案:由一台大型服务器来提供索引服务。当用户启动P2P文件共享应用程序时,该应用程序将它的IP地址以及可供共享的文件名称通知索引服务
器,该索引服务器从每个活动的对等方那里收集这些信息,从而建立一个集中式的动态索引,将每个文件拷贝映射到一个IP地址集合。注意,具
有集中式索引的P2P文件共享系统实际上是一种P2P和客户机/服务器混合体系结构。文件分发是P2P的,但搜索是客户机/服务器的。
24.略。
25.Skype针对两个重要功能使用了P2P技术。他们是什么?
答案:用户定位和NAT遍历
26.列出至少四种应用,他们本质上适合采用P2P体系结构。
答案:文件分发、即时讯息、P2P因特网电话、视频会议。
27.2.8节所描述的UDP服务器仅需要一个套接字,而2.7节所描述的TCP服务器需要两个套接字。为什么?如果TCP服务器同时支持n个连接,每个连
接来自不同的客户机主机,TCP服务器将需要多少个套接字?
答案:(1)因为TCP服务器需要有初始握手的过程。因此需要一个欢迎套接字,并且有流域套接字相联系,因此需要两个套接字,而UDP服务
器没有这两点,因此仅需一个套接字。
(2)TCP服务器需要n+1个套接字。
28.对于2.7节所描述的运行在TCP之上的客户机/服务器应用程序来说 为什么服务器程序必须先于客户机程序运行?对于2.8节所描述的运行在UDP
之上的客户机/服务器应用程序而言,客户机为什么可以先于服务器程序运行?
答案:因为运行在TCP之上的客户机/服务器应用程序在客户机运行后,它会尝试向服务器进程发起连接,而此时如果服务器进程没有运行,
客户机进程就可能认为服务器不可达,从而返回错误信息;而运行在UDP之上的客户机//服务器应用程序在客户机进程运行之后不会向服务器进程
发起连接,而是等待用户输入,因此客户程序可以先于服务器程序运行。
习题:
3.考虑一个HTTP客户机要给定的URL获取一个Web页面。开始时并不知道该HTTP服务器的IP地址,在这种情况下,除了HTTP外,还需要什么运输层
和应用层协议?
答案:HTTP是基于运输层的TCP协议的,获取URL对应的IP地址需要应用层的DNS协议,它是基于运输层的UDP协议的。
b.HTTP提供了什么加密服务?
答案:http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
12.SMTP中的MALL FROM:与邮件消息本身中的FORM:之间有什么区别?
答案:SMTP中的MALL FROM: 是东盟自贸区的原产地证书,邮件消息本身中的FORM:是寄信人的地址
讨论题:
3.电子商务网站和其他网站通常有后端数据库,HTTP服务器怎样和这些后端服务器进行通信?
答案:HTTP服务器使用脚本和后端服务器进行通信,例如CGI,或者JSP、ASP、PHP等。