1
0
mirror of https://github.com/Didnelpsun/CS408.git synced 2026-02-10 06:05:51 +08:00
Files
CS408/Computer-Network/5-application-layer-ex.md
2021-08-08 23:31:56 +08:00

262 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 应用层习题
## 网络应用模型
### C/S模型
**例题** 下面关于客户/服务器模型的描述,()存在错误。
.客户端必须提前知道服务器的地址,而服务器则不需要提前知道客户端的地址
Ⅱ.客户端主要实现如何显示信息与收集用户的输入,而服务器主要实现数据的处理
Ⅲ.浏览器显示的内容来自服务器
Ⅳ.客户端是请求方,即使连接建立后,服务器也不能主动发送数据
$A.$Ⅰ、Ⅳ
$B.$Ⅲ、Ⅳ
$C.$只有Ⅳ
$D.$只有Ⅲ
解:$C$。在连接未建立前,服务器在某一个端口上监听。客户端是连接的请求方,客户端必须事先知道服务器的地址才能发出连接请求,而服务器则从客户端发来的数据包中获取客户端的地址。一旦连接建立,服务器就能响应客户端请求的内容,服务器也能主动发送数据给客户端,用于一些消息的通知,如一些错误的通知。所以只有ⅠⅣ错误。
**例题** 下列关于客户/服务器模型的说法中,不正确的是()。
$A.$服务器专用于完成某些服务,而客户机则作为这些服务的使用者
$B.$客户机通常位于前端,服务器通常位于后端
$C.$客户机和服务器通过网络实现协同计算任务
$D.$客户机是面向任务的,服务器是面向用户的
解:$D$。客户机的作用是根据用户需求向服务器发出服务请求,并将服务器返回的结果呈现给用户,因此客户机是面向用户的,服务器是面向任务的。
### P2P模型
## 域名系统
### 域名
**例题** 域名与()具有一一对应的关系。
$A.IP$地址
$B.MAC$地址
$C.$主机
$D.$以上都不是
解:$D$。如果一台主机通过两块网卡连接到两个网络(如服务器双线接入),那么就具有两个地址,每个网卡对应一个$MAC$地址,显然这两个$IP$地址可以映射到同一个域名上。此外,多台主机也可以映射到同一个域名上(如负载均衡),一台主机也可以映射到多个域名上(如虚拟主机)。因此,选项$A$、$B$、$C$和域名均不具有一一对应的关系。
**例题** 下列说法错误的是()。
$A.Internet$上提供客户访问的主机一定要有域名
$B.$同一域名在不同时间可能解析出不同的$IP$地址
$C.$多个域名可以指向同一台主机$IP$地址
$D.IP$子网中的主机可以由不同的域名服务器来维护其映射
解:$A$。$Internet$上提供访问的主机一定要有$IP$地址,而不一定要有域名,$A$错。域名在不同的时间可以解析出不同的$IP$地址,因此可以用多台服务器来分担负载,$B$对。也可以把多个域名指向同一台主机$IP$地址,$C$对。$IP$子网中主机也可以由不同的域名服务器来维护其映射,$D$对。
### 域名解析过程
**例题** 在$DNS$的递归查询中,由()给客户端返回地址。
$A.$最开始连接的服务器
$B.$最后连接的服务器
$C.$目的地址所在服务器
$D.$不确定
解:$A$。在递归查询中,每台不包含被请求信息的服务器都转到其他地方去查找,然后它再往回发送结果,所以客户端最开始连接的服务器最终将返回正确的信息。
**例题** 假设所有域名服务器均采用迭代查询方式进行域名解析。当主机访问规范域名为$www.abc.xyz.com$的网站时,本地域名服务器在完咸该域名解析的过程中,可能发出$DNS$查询的最少和最多次数分别是()。
$A.0,3$
$B.1,3$
$C.0,4$
$D.1,4$
解:$C$。最少情况:当本机$DNS$高速缓存中有该域名的$DNS$信息时不需要查询任何域名服务器最少发出0次$DNS$查询。最多情况:因为均采用迭代查询方式,在最坏情况下,本地域名服务器需要依次迭代地向根域名服务器、顶级域名服务器($.com$)、权限域名服务器($xyz.com$)、权限域名服务器($abc.xyz.com$)发出$DNS$查询请求,因此最多发出$4$次$DNS$查询。
## FTP协议
**例题** 当一台计算机从$FTP$服务器下载文件时,在该$FTP$服务器上对数据进行封装的$5$个转换步骤是()。
$A.$比特,数据帧,数据报,数据段,数据
$B.$数据,数据段,数据报,数据帧,比特
$C.$数据报,数据段,数据,比特,数据帧
$D.$数据段,数据报,数据桢,比特,数据
解:$B$。$FTP$服务器的数据要经过应用层、传输层、网络层、数据链路层及物理层。因此,对应的封装是数据、数据段、数据报、数据帧,最后是比特。
## 万维网
### WWW
**例题** 从协议分析的角度,$WWW$服务的第一步操作是浏览器对服务器的()。
$A.$请求地址解析
$B.$传输连接建立
$C.$请求域名解析
$D.$会话连接建立
解:$C$。建立浏览器与服务器之间的连接需要知道服务器的$IP$地址和端口号($80$端口是熟知端口),而访问站点时浏览器从用户那里得到的是$WWW$站点的域名,所以浏览器必须首先向$DNS$请求域名解析,获得服务器的$IP$地址后,才能请求建立$TCP$连接。然后再开始地址解析,将$IP$地址转换为$MAC$地址,建立传输连接,最后建立会话连接。
### HTTP协议
#### HTTP协议概念
**例题** 下面的()协议中,客户机与服务器之间采用面向无连接的协议进行通信。
$A.FTP$
$B.SMTP$
$C.DNS$
$D.HTTP$
解:$C$。请注意这里提问的方式,我们会很可能误选$D$$HTTP$协议是面向无连接,但是其使用的协议是$TCP$是面向连接的。
#### HTTP连接
**例题** 使用鼠标单击一个万维网文档时,若该文档除有文本外,还有三幅$gif$图像,则在$HTTP/1.0$中需要建立()次$UDP$连接和()次$TCP$连接。
$A.0,4$
$B.1,3$
$C.0,2$
$D.1,2$
解:$A$。$HTTP$在传输层用的是$TCP$,所以无须建立$UDP$连接;$HTTP\,1.0$只支持非持久连接,所以每请求一个对象需要建立一次$TCP$连接,在本题的情景中,共需要传输$1$个基本$HTML$对象和$3$个$gif$对象,所以共需建立$4$次$TCP$连接。
**例题** 以下关于非持续连接$HTTP$特点的描述中,错误的是()。
$A.HTTP$支持非持续连接与持续连接
$B.HTTP/1.0$使用非持续连接,而$HTTP/1.1$的默认方式为持续连接
$C.$非持续连接中对每次请求/响应都要建立一次$TCP$连接
$D.$非持续连接中读取一个包含$100$个图片对象的 $Web$页面,需要打开和关闭$100$次$TCP$连接
解:$D$。非持续连接对每次请求/响应都建立一次$TCP$连接。在浏览器请求一个包含$100$个图片对象的$Web$页面时,服务器需要传输$1$个基本$HTML$文件和$100$个图片对象,因此一共是$101$个对象,需要打开和关闭$TCP$连接$101$次。
**例题** 在如下条件下,计算使用非持续方式和持续方式请求一个$Web$页面所需的时间:
1测试的$RTT$的平均值为$150ms$,一个$gif$对象的平均发送时延为$35ms$。
2一个$Web$页面中有$10$幅$gif$图片,$Web$页面的基本$HTML$文件、$HTTP$请求报文、$TCP$握手报文大小忽略不计。
3$TCP$三次握手的第三步中捎带一个$HTTP$请求。
4使用非流水线方式。
解:首先$Web$页面的基本$HTML$文件、$HTTP$请求报文、$TCP$握手报文大小忽略不计,所以计算时不用考虑其发送时延。
由于$TCP$三次握手的第三步中捎带一个$HTTP$请求,所以前两次握手算一个$RTT$,第三次握手就直接开始发送请求,然后返回一个基本$HTML$文件,这里就需要两个$RTT=2\times150=300ms$。这个是两种方式都要考虑到的。
对于非连接方式,首先要三次握手获得基本文件。然后是传输$10$个图片,非连接方式每一个图片都需要一个$RTT$来建立连接,一个$RTT$来传输图片,还有$35ms$发送时延。所以十个图片需要$10\times(150\times2+35ms)=3350ms$。所以总共需要$3350+300=3650ms$。
对于连接方式。首先还是要三次握手,然后传输图片时只用一次$RTT$传输时延和一次发送时延就可以了,一共$10\times(150+35)=1850ms$,总共$1850+300=2150ms$。
#### HTTP协议请求方式
**例题** 仅需$Web$服务器对$HTTP$报文进行响应,但不需要返回请求对象时,$HTTP$请求报文应该使用的方法是()。
$A.GET$
$B.PUT$
$C.POST$
$D.HEAD$
解:$D$。使用$HEAD$进行调试,不会返回请求对象。
## 电子邮件
### SMTP协议
**例题** 不能用于用户从邮件服务器接收电子邮件的协议是()。
$A.HTTP$
$B.POP3$
$C.SMTP$
$D.IMAP$
解:$C$。$B$和$D$都是收邮件的协议,唯一奇怪的是$HTTP$协议,$HTTP$不用于服务器之间的读取邮件,而是使用浏览器从邮件服务器中拉取时使用,在网页中读取邮件就是使用$HTTP$协议。
**例题** 下列关于$SMTP$的叙述中,正确的是()。
.只支持传输$7$比特$ASCII$码内容
Ⅱ.支持在邮件服务器之间发送邮件
Ⅲ.支持从用户代理向邮件服务器发送邮件
Ⅳ.支持从邮件服务器向用户代理发送邮件
A.仅Ⅰ、Ⅱ和Ⅲ
B.仅Ⅰ、Ⅰ和Ⅳ
C.仅Ⅰ、Ⅲ和Ⅳ
D.仅Ⅱ、Ⅲ和Ⅳ
解:$A$。$SMTP$协议不支持邮件服务器向用户代理发送邮件,只能用户代理从邮件服务器中拉取邮件。实际上这种操作也是不被邮件系统支持的。
### POP协议
**例题** 下列关于POP3协议的说法()是错误的。
$A.$由客户端而非服务器选择接收后是否将邮件保存在服务器上
$B.$登录到服务器后,发送的密码是加密的
$C.$协议是基于$ASCII$码的,不能发送二进制数据
$D.$一个账号在服务器上只能有一个邮件接收目录
解:$B$。使用明文在传输层上传输密码,不进行加密。
### 万维网邮件
**例题** 用$Firefox$在$Gmail$中向邮件服务器发送邮件时,使用的是()协议。
$A.HTTP$
$B.POP3$
$C.P2P$
$D.SMTP$
解:$A$。$Firefox$是浏览器,而$Gmail$是邮箱。在基于万维网的电子邮件中,用户浏览器与$Hotmail$或$Gmail$的邮件服务器之间的邮件发送或接收使用的是$HTTP$,而仅在用户代理向邮件服务器,或邮件服务器之间传送邮件时才使用$SMTP$。