冯博琴) 计算机网络参考答案 第九章 (高教第二版 冯博琴) 1. 应用层协议对传输层协议选择的主要考虑因素是哪些? 数据丢失、带宽需求、实时性 2. 列出五个常用的因特网应用项目以及相关协议。 万维网:HTTP 电子邮件:SMTP, POP, IMAP 文件传输:FTP 远程终端登录:TELNET 域名服务:DNS 3. 在两个主机的通信会话中,那个主机是服务器,哪个是客户端? 答案: 在两个主机的通信会话中,首先发起会话的一方为客户端,处于“倾听”状态的为服务器。但是,通信会话 成功的先决条件是服务器必须首先处于开机或“倾听”状态。 4. 一个运行在某台主机中的通信进程,需要那些信息来确定运行在另一台主机中的进程? 答案: 一个运行在某台主机中的通信进程,需要对方主机的 IP 地址、对方的端口号或服务访问点(SAP)来确定 运行在该主机中的对等通信进程。 5. 列出常见的网络应用的用户代理程序。 答: 万维网:IE, FIREFOX 电子邮件:OE, FOXMAIL 文件传输:IE, cuteFTP 远程终端登录:telnet, IE 多媒体视频:realplay 6. 为什么 HTTP、FTP、SMTP、POP 和 IMAP 需要 TCP 的支持而不是 UDP 的? 答: 因为上述协议都是基于“文件”的网络应用,对数据丢失十分敏感,要求数据的完整和可靠、但对带宽需求、 实时性的要求并不高,所以,TCP 协议可以满足这样的要求。 7. 为什么大部分 FTP 服务器需要限制同时连接的客户端数量? 答: 实际上,所有的网络服务器都会对同时可接入的客户数量进行限制,其原因也十分简单,任何网上的服务 资源都是有限的,但是这种情况,尤以 FTP 服务器表现的最为突出。 首先,因为 FTP 是一种十分普及的网络应用,使用客户众多;其次它是“面向连接”的应用,服务器需要保 留登录用户的状态和根据用户权限控制用户对文件的访问,对于每一个 FTP 连接,一般需要两个通道进行 才能进行有效的文件传输。由于以上原因,FTP 对服务器资源的占用是比较多的。为了使得文件服务器能 够保证所有服务的正常运行,并不至于应为过多用户登录造成系统资源的枯竭并导致系统崩溃,所以对同 时可接入的用户按服务器所能承受的能力实行限制。 8. 请简单叙述浏览器本地缓存的应用机理,你的浏览器一般是如何配置的。 答:浏览器本地缓存是指在客户端主机上分配了一个专用的文件夹(如 Windows 系统中的..\ Temporary Internet Files)存放用户所有访问过的网页,当用户再次访问同一网页时,浏览器会从该文件夹进行查找, 并使用该网页进行显示。显然,这是一个多快好省的办法,可以大大提高网页的响应时间。 对于过时(尤其是新闻类目录网页)的网页,万维网设计了“有条件获取(condition GET)”的方法,一个 HTTP 请求报文要满足“有条件获取”须具备两点: (1)在请求报文中使用 GET 方法; (2)在请求报文中包含“IF-Modified-Since”字样的首部信息。 这样,存储原始网页的网站对每个此类的请求报文,会进行比较和判断,并根据判断结果返回相应的信息, 或者是新的对象,或者是“Object not modified.” 一般浏览器本地缓存虽然可以保存用户访问过得网页中的所有对象,但由于磁盘空间的限制,不可能无限 制或长期保存这些资料。在浏览器的默认设置中,历史资料保存的默认期限为20天。根据用户自己访问的 频度和磁盘容量的大小,可以作适当调整。 9. HTTP 协议的请求报文在什么情况下,会向服务器发送除报文首部外的数据信息? 答:当客户端有大量数据(超过2k)需要发送到万维网服务器时,可以将 HTTP 请求报文的 method 栏位 设置成“post”,这样,客户端的数据可以不受大小限制的上传到服务器。此时的用户数据是放在请求报文的 实体(entity)栏目中(也就是报文首部以外)发送的。 10. HTTP 1.0和 HTTP 1.1的主要区别是什么? 答:HTTP/1.0使用非持续连接,HTTP/1.1的默认操作模式则是持续连接。 11. CGI 的作用是什么?其工作原理是怎样的?CGI 一般可以用什么语言来编写? 答:CGI 的作用:可以把 CGI 看成是一个通过浏览器实现的类似操作系统的用户操作界面。 CGI 工作原理是:首先由用户从 HTML 网页向服务器发送输入数据(或访问包含 CGI 程序的网页)。该数据 被 CGI 程序处理并产生新的 HTML 网页,然后将这个动态生成的网页发给用户。 CGI 的工作语言:CGI 可以用 UNIX 中的 shell 语言,C 和 C++, Perl 和 PHP, JSP 和 ASP 来编写。 12. Telnet 和 FTP 有什么异同点? 答:相同点:这两种网络应用都需要进行主机用户的登录和认证;对登录后的操作,系统会根据用户权限 进行相关的资源访问控制。不同点:FTP 用于文件的传输(上传和下载) ,主要的命令一般与文件(目录) 操作有关,是操作系统命令的子集。telnet 用于用户操作远程系统,可以使用大部分操作系统的命令。但 是,由于 telnet 的安全性比较薄弱,一些系统管理员的专用命令的使用会受到限制。另一种比较安全的方 法是使用 SSH 应用,来完成类似 telnet 的工作。 13. SMTP 和 POP 协议分别应用在什么场合? 答:对个人用户来说,发送邮件服务器时需 SMTP 协议(例如,smtp.163.com);接收邮件时要用到 POP 协 议(例如:pop3.163.com)。 14. 同样作为文件传输类的协议,HTTP 和 SMTP 有什么重大区别? 答:二者的区别是:首先,HTTP 基本上是一个“拉”的协议(pull protocol)——因特网上的大部分万维网 应用都是从 Web 服务器上取资料,并由发出数据请求的主机来启动 TCP 连接;而 SMTP 主要是一个“推” 的协议(push protocol)——由发送方的邮件服务器将数据推给接收方的邮件服务器,由发送方的邮件服 务器来启动 TCP 连接。 第二个不同点是 SMTP 所传输的数据必须全部转换成7位 ASCII 码,由于“CRLF.CRLF”组合是邮件主体的结 束标志,所以任何二进制数据的转换必须考虑这个问题,实际上,在该转换过程中,是不允许“.”出现的。 而任何版本的 HTTP 协议都不需要对二进制数据进行转换。 对非持续连接模式工作的 HTTP 协议, 每次 TCP 连接只传送一个对象(文件), 一旦 Web 服务器关闭连接, 浏览器就知道一个 HTTP 响应报文已经发送完毕。 对持续连接模式工作的 HTTP 协议,每个响应报文都会包含一条 Content-length:的首部行来向浏览器说 明响应报文的大小。 第三个重要的不同是 HTTP 以对象(文件)为单位从 Web 服务器向浏览器传输资料;而 SMTP 以邮件报文 (E-mail message)为单位从一个邮件服务器传到另一个邮件服务器,包含在一个邮件内的所有文件(包 括附件)全部都整合到一个邮件报文中。 15. 同样作为文件传输类的协议,FTP 和 TFTP 有什么不同? 答:FTP 是基于 TCP 的文件传输协议,其传输的可靠性由 TCP 来保障。TFTP 是一个基于 UDP 的文件传输 协议。 16. 为什么有“静态网页”和“动态网页”之分?动态网页有哪些类型?静态网页和动态网页是如何工作的? 答:所谓静态网页,一般指使用 HTML 语言编制的网页,其内容不会随访问的时间场合等因素变化。动态 网页则不同,它的发布内容会随用户访问的时间、场合、输入等因素变化。动态网页分成客户端执行和服 务器端执行程序两大类别。 静态网页是由服务器根据用户访问要求,直接从 Web 站点的发布目录取出后发给用户。 客户端执行的动态网页是服务器根据用户访问要求,直接从 Web 站点的发布目录取出后发给用户,动态效 果在客户端主机上执行并显示。 服务器端执行的动态网页是服务器根据用户访问要求, Web 站点的发布目录取出后由服务器端的相关的 从 解释程序解释执行后,将程序执行的结果发给客户端主机并显示。 17. 除了登录到远程主机,运行远程作业外,还可以利用 Telnet 做哪些工作? 答:在使用 telnet 登陆远程主机以后,除了运行远程作业之外,一些网络应用,例如 FTP, ping, traceroute 等可以在远程系统上操作,在本课程中,一些应用层的协议测试可以在远程系统上运行 telnet 来进行,例 如对 HTTP 协议进行交互测试。 18. HTML 文档(网页)和 Web 服务器主机中的文件关系是怎样的? 答:一般 html 网页会包含许多对象(文件) ,首先会有一个基本的 html 文件,其中包含了网页的文字和各 种标记(包含了对网页中包含的所有其他对象的访问) ,全部用 ASCII 代码写成。网页中包含的其他对象一 般分门别类存储在文件系统的各个子目录中。