《计算机网络自顶向下学习法》第二章个人课后答案
1.列出五种非专业的因特网应用及他们所使用的应用协议
应用 | 应用层协议 |
---|
电子邮件 | SMTP | 远程终端访问 | Telnet | Web | HTTP | 文件传输 | FTP | 流式多媒体 | HTTP |
2.网络体系结构与应用程序体系结构之间有什么区别?
从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务集合。 应用程序体系结构由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。 P56
3.对两进程之间的通信会话而言,哪个进程是客户,哪个进程是服务器?
一台浏览器进程向一台Web服务器发起联系,因此该浏览器进程是客户,而该Web服务器进程是服务器。
4.对一个P2P文件共享应用,你同意“一个通信会话不存在客户端和服务器端的概念”的说法吗?为什么?
不同意。尽管P2P为对等方传输,但是发送的一方仍然可以称为服务器,接受的一方可以称为客户端。
5.运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程?
端口号
6.假定你想尽快地处理从远程客户到服务器的事物,你想使用TCP还是UDP?为什么?
看到题目“尽快”两个字,会让人直接联想到UDP。但是这里重点是“远程客户到服务器”,需要用到Telnet服务,而Telnet服务默认是TCP。所以应该使用TCP
7.参见图2-4,我们看到在该图中所列出的应用程序没有一个同时要求无数据丢失又要求定时的。你能设想一个既要求无数据丢失又高度时间敏感的应用程序吗?
就目前所学只了解到TCP协议和UDP协议,两者是冲突的,所以应该无法设计出相应的应用程序。
8.列出一个运输协议能够提供四种宽泛类型的服务。对于每种服务类型,指出是UDP还是TCP(或这两种协议)提供这样的服务?
略
9.前面讲过TCP能用SSL强化,以提供进程到进程的安全性服务,包括加密。SSL运行在运输层还是应用层?如果某应用程序研制者想要用SSL来强化UDP,该研制者应当做些什么工作?
应用层。 SSL不可以用在UDP身上,因为UDP是不可靠的,有可能造成数据丢失导致SSL无法解密。
10.握手协议的作用是什么?
客户向服务器发送一个小TCP报文段,服务器用一个小TCP报文段做出确认和响应,最后客户向服务器返回确认 所以握手协议的作用应该是建立连接、确认和响应
11.为什么HTTP、SMTP和POP3都运行在TCP,而不是UDP之上?
HTTP需要报文传输的完整性,所以选择TCP来确保报文能完整的到达客户端。 SMTP需要依赖TCP提供的可靠数据传输无差错低将邮件投递到服务器。 POP3也是邮件访问协议,也需要保证邮件的完整性。
12.考虑一个电子商务网站需要保留每一个客户的购买记录。描述如何使用cookie来完成该功能?
cookie用来标记一个用户,用户首次访问一个站点时,可能需要提供一个用户标识(可能是名字)。在后续会话中,浏览器向服务器传递一个COOKIE首部,从而向该服务器标识了用户。 首次访问某网站时,该Web站点将产生一个唯一的标识码,并以此为索引在它的后端数据库中产生一个表项。尽管网站不知道客户的名字,但它确切的知道用户按照什么顺序、在什么时间、访问了那些界面。
13.描述Web缓存器是如何减少接收被请求对象的时延的。Web缓存器将减少一个用户请求的所有对象或只是其中的某些对象的时延吗?为什么?
Web缓存器有自己的磁盘存储空间,并在存储空间中保存最近请求过的对象的副本。Web缓存器可以大大减少对客户请求的响应时间,特别是当客户与初始服务器之间的瓶颈带宽远低于客户与Web缓存器之间的瓶颈带宽时更是如此,如果在客户与Web之间有一个高速连接,并且如果用户所请求的对象在Web缓存器上,则Web缓存器可以迅速将该对象交付给用户。
R16. 从Alice端到Alice的邮件服务器使用的是HTTP协议,从Alice的邮件服务器到Bob的邮件服务器是SMTP协议,从Bob的邮件服务器到Bob端是POP3协议。
R17.略
|