本文整理应用层配套习题,涉及 DNS、FTP、HTTP 连接模型与 RTT 计算。
参考笔记见应用层。除题目另有说明外,时延计算均忽略对象传输、处理、排队、丢包与重传。
一、DNS
1. 基本概念
域名与( )具有一一对应的关系。
- IP 地址
- MAC 地址
- 主机
- 以上都不是
答案
D
解析
- 一个域名可解析为多个 IP 地址,多个域名也可解析为同一 IP 地址;
- 一个域名可由多台主机提供,一台主机也可绑定多个域名;
- MAC 地址不属于 DNS 的域名映射对象。
因此,域名与前三项均不具有一一对应关系。
一个域名可以解析到多个IP地址,一个IP地址也可以对应多个主机(IP任播)
2. 查询过程
假设所有域名服务器均采用迭代查询方式进行域名解析。当主机访问规范域名为 www.abc.xyz.com 的网站时,本地域名服务器在完成该域名解析的过程中,可能发出
DNS 查询的最少和最多次数分别是( )。
答案
C
解析
若本地域名服务器已有可用缓存,则不向其他域名服务器查询:
缓存全部未命中且各级域名分别委派时,本地域名服务器依次查询:
- 根域名服务器;
.com顶级域名服务器;xyz.com权威域名服务器;abc.xyz.com权威域名服务器。
因此
题目只统计本地域名服务器向外发出的查询,不计主机发给本地域名服务器的查询,参见查询链计算。
粗略计算时,本地DNS服务器迭代解析最大次数可视为等于域名标签数
二、FTP
1. 基本概念
下列关于 FTP 的叙述中,错误的是( )。
- 数据连接在每次数据传输完毕后就关闭
- 控制连接在整个会话期间保持打开状态
- 服务器与客户端的 TCP 20 端口建立数据连接
- 客户端与服务器的 TCP 21 端口建立控制连接
答案
C
三、HTTP
1. 连接模型
使用鼠标单击一个万维网文档时,若该文档除有文本外,还有三幅 GIF 图像,则在 HTTP/1.0 中需要建立( )次 TCP 连接。
答案
A
解析
按 HTTP/1.0 默认的非持续连接模型,每个对象使用一条 TCP 连接。页面包含一个基础 HTML 对象和三个 GIF 对象,因此
以下关于非持续连接 HTTP 特点的描述中,错误的是( )。
- HTTP 支持非持续连接与持续连接
- HTTP/1.0 使用非持续连接,而 HTTP/1.1 默认使用持续连接
- 非持续连接中对每次请求—响应都要建立一次 TCP 连接
- 非持续连接中读取一个包含 个图片对象的 Web 页面,需要打开和关闭 次 TCP 连接
答案
D
解析
页面还包含一个基础 HTML 对象,因此对象总数为
按题设的非持续连接模型,需要打开和关闭 次 TCP 连接。选项 B 描述的是协议的默认行为;HTTP/1.0 的历史实现也存在
Keep-Alive 扩展。
2. RTT 计算
忽略传输时延时,每条新建的非持续连接通常需要 建连和 请求—响应。持续连接流水线可在基础 HTML 到达后连续发送引用对象请求。
假设主机通过 HTTP/1.1(流水线方式)请求浏览 Web 服务器 S 上的 Web 页 rfc.html。rfc.html 引用了同目录下的三个 JPEG
小图像,且只有在收到 rfc.html 后才能发送引用图像的请求。一次请求—响应的时间为 ,忽略其他时延,不考虑拥塞控制和流量控制。则从发出
HTTP 请求报文开始到收到全部内容为止,所耗费的时间是( )。
答案
A
解析
计时从发出 HTTP 请求开始,TCP 连接已经建立:
- 第一个 :请求并收到
rfc.html; - 收到 HTML 后,连续发送三个图像请求;
- 第二个 :收到三个图像。
因此
流水线表示无须等待前一响应即可继续发送请求,不表示多个请求在链路上物理并行。若从建立 TCP 连接开始计时,还需增加 。
若浏览器不支持并行 TCP 连接,使用非持续的 HTTP/1.0 协议请求浏览一个 Web 页,该页中引用同一网站上的七个小图像文件,则从浏览器为传输 Web 页请求建立 TCP 连接开始,到接收完所有内容为止,所需要的往返时间 RTT 数至少是( )。
答案
D
解析
基础 HTML 与七个图像共八个对象。每个对象分别支付
浏览器不支持并行 TCP 连接,八个对象只能串行获取:
这里的“至少”只统计 RTT 组成,未计入对象传输时延。
四、综合时延
主机通过超链接 http://www.cskaoyan.com/index.html 请求浏览 Web 页 index.html,浏览器使用流水线方式的 HTTP/1.1 协议。该
Web 页引用同一网站上的七个小图像文件。假设主机到本地域名服务器和互联网上各服务器的往返时延均为
;本地域名服务器只提供递归查询服务,其他域名服务器只提供迭代查询服务。忽略其他时延,则从点击超链接开始到浏览器接收到所有内容为止,所需的
RTT 数最多是( )。
答案
C
解析
缓存全部未命中时,DNS 阶段包括:
HTTP/1.1 持续连接流水线阶段包括:
所以
七个请求是在同一连接上连续发送,而不是同时占用链路。
假设下图网络中的本地域名服务器只提供递归查询服务,其他域名服务器都只提供迭代查询服务。局域网内主机访问 Internet
上各服务器的往返时间均为 ,忽略其他时延。若主机 H 通过超链接 http://www.abc.com/index.html 请求浏览纯文本
Web 页 index.html,则从单击超链接开始到浏览器接收到页面为止,所需的最短时间与最长时间分别是( )。
答案
D
解析
最短情况下已有可用 DNS 缓存,不访问 Internet 上的 DNS 服务器。TCP 建连和 HTTP 请求—响应各需一个 RTT:
最长情况下缓存全部未命中。本地域名服务器依次访问根域名服务器、.com 顶级域名服务器和 abc.com 权威域名服务器:
取得地址后,再以 建连并获取页面:
题目忽略主机与本地域名服务器之间的局域网时延,因此该段不计入最短或最长时间。