第 6 章 应用层
本章地位:应用层是五层模型的最高层,也是计算机网络的收官章。408 在这里考两样东西:一是协议细节记忆——DNS 解析顺序(常考排序题)、FTP 双连接、SMTP 推 / POP3 拉、HTTP 报文与状态码,全是选择题的高频弹药;二是时延计算——非持久连接每对象 \(2\times\text{RTT}\)、持久流水线、并行连接分批,与第 1 章的时延体系一脉相承,是应用层唯一的计算密集点。复习目标:端口表一遍背死,DNS 八步流程看图能默写,HTTP 时延题「列公式 → 代数值 → 注单位」三步拿满。
| 考点 | 常考题型 | 热度 | 本章位置 |
|---|---|---|---|
| C/S 与 P2P 架构特点、混合架构 | 选择 | ★★★ | 6.1 |
| 层次域名空间与四类域名服务器 | 选择 | ★★★★ | 6.2.1 |
| 域名解析流程(递归 / 迭代)、缓存与 TTL | 选择 / 排序 | ★★★★★ | 6.2.2 / 6.2.3 |
| FTP 两条连接与端口分配 | 选择 | ★★★★ | 6.3 |
| 邮件系统组成、SMTP / POP3 / IMAP、MIME | 选择 | ★★★★ | 6.4 |
| URL、HTTP 报文、方法与状态码、Cookie | 选择 | ★★★★ | 6.5.1 / 6.5.2 / 6.5.4 |
| 非持久 / 持久连接总时延计算 | 计算 / 综合 | ★★★★★ | 6.5.3 |
| P2P 分发时间、CDN 与 DASH | 选择 / 计算 | ★★★ | 6.6 |
6.1 应用层模型与客户/服务器、P2P
应用层是网络体系结构的最高层,不为其他层提供服务,直接通过应用进程间的交互完成特定网络应用(Web、邮件、文件传输、域名解析……)。应用层协议解决「运行在不同端系统上的应用进程如何相互传递报文」,而进程间的通信要借助运输层服务完成——所以学每个应用协议,第一件事就是问:它跑在 TCP 还是 UDP 上、用哪个端口。
6.1.1 应用层协议与运输层选用
| 应用 | 应用层协议 | 运输层协议 | 熟知端口 |
|---|---|---|---|
| 万维网 | HTTP | TCP | 80 |
| 万维网(加密) | HTTPS(HTTP + TLS) | TCP | 443 |
| 文件传送 | FTP | TCP | 控制 21 / 数据 20 |
| 域名解析 | DNS | UDP(区域传送用 TCP) | 53 |
| 邮件发送 | SMTP | TCP | 25 |
| 邮件读取 | POP3 / IMAP | TCP | 110 / 143 |
| 远程终端 | Telnet | TCP | 23 |
| 动态地址配置 / 网络管理 | DHCP / SNMP | UDP | 67 / 68(见网络层)、161 |
6.1.2 C/S、P2P 与混合架构
| 对比维度 | C/S | P2P |
|---|---|---|
| 谁是服务提供者 | 永久在线、固定地址的服务器 | 每个对等方(双重身份) |
| 用户增长的影响 | 服务器负担线性加重,需扩容 | 自扩展:需求与能力同步增长 |
| 成本与管理 | 带宽存储集中投入,管理容易 | 成本摊到用户,管理困难 |
| 代表应用 | Web、FTP、邮件 | BitTorrent、迅雷、P2P 直播 |
② 「C/S 中客户之间可以直接互相通信」——错,客户只与服务器打交道,这是 C/S 的标志性特点;
③ 「自扩展性指文件越大传得越快」——错,自扩展指对等方越多、总上传能力越强,系统能力随规模自动扩张。
下列关于网络应用体系结构的叙述中,错误的是( )
A. 在 C/S 架构中,客户程序通常间歇接入网络且可能使用动态 IP 地址
B. P2P 架构中每个对等方既可请求服务又可提供服务,具有自扩展性
C. 服务器程序必须永久在线并拥有固定 IP 地址,因此客户之间也可直接通过服务器地址互访
D. Napster 的文件搜索依赖集中服务器,而文件下载在用户之间直接进行,属于混合架构
查看解答
C。C/S 中客户之间不直接通信,各自只与服务器打交道,「互访」混淆了通信主体。A、B 为两种架构的标准特征;D 是混合架构的教科书例子——索引集中、传输分散。
(1) 「服务器永久在线、拥有固定地址;客户间歇接入、使用动态地址」描述的是哪种架构?(2) 为什么说 P2P 具有自扩展性?(3) BitTorrent 中 tracker 的作用是什么,这使它属于哪种架构形态?
查看答案
(1) 客户/服务器(C/S)架构。
(2) 每个对等方加入后既是消费者又是提供者,用户规模增大时总上传带宽同步增大,分发能力随需求自动扩张,无需扩建服务器。
(3) tracker 集中维护对等方名单、协调新节点加入(集中式控制),文件块在对等方之间直接传输(分散式数据),故为混合架构。
6.2 DNS 域名系统 高频考点
DNS 是因特网上联机分布式数据库 + 应用层协议的组合:用户用域名(www.abc.com.cn)访问主机,而网络层只认 IP 地址,DNS 负责域名 ↔ IP 地址的转换,另提供主机别名、邮件服务器别名、负载均衡(一个域名对应多个 IP,轮转返回)等服务。查询频繁但单个报文短,故 DNS 查询使用 UDP 53 端口。
6.2.1 层次域名空间与四类域名服务器
- 根:树的顶端(根的名字常省略不写);
- 顶级域名 TLD:① 国家顶级域名——cn、us、uk、jp 等;② 通用顶级域名——com(公司)、net(网络服务)、org(非营利)、edu(教育,美国专用)、gov、int 等;③ 基础结构顶级域名 arpa(反向解析);
- 二级域名:在 TLD 之下注册获得,我国分类别域名(ac、com、edu、gov、net、org)与行政区域域名(bj、sh 等);再往下是三级、四级域名直到主机名。
| 类型 | 职责 | 关键细节 |
|---|---|---|
| 根域名服务器 | 知道所有顶级域名服务器的域名与地址 | 全球共 13 套(A~M,逻辑 13 个 IP,实际以镜像扩展);通常不直接给出最终答案,而是告知「去问哪个 TLD」 |
| 顶级域名服务器 | 管理注册在本 TLD 下的所有二级域名 | 收到查询返回答案,或告知下一步应查询的权限服务器地址 |
| 权限域名服务器 | 负责一个区的域名解析 | 保存区内全部主机的域名→IP 映射,给出的回答是最终权威答案 |
| 本地域名服务器 | 主机的 DNS 查询首先发给它 | 由 ISP / 校园网提供,又称默认域名服务器;不属于层次结构;查不到时代为向根发起迭代查询 |
6.2.2 递归与迭代:完整解析流程 高频考点
主机解析 www.abc.com.cn,本地域名服务器无该缓存记录。下列叙述正确的是( )
A. 主机到本地域名服务器采用迭代查询,本地到根采用递归查询
B. 本地域名服务器依次向根、cn 顶级、权限服务器发出迭代查询,最终答案由权限服务器给出
C. 根域名服务器查询后直接把 www.abc.com.cn 的 IP 地址返回给主机
D. 整个过程只需一次查询:主机直接向根域名服务器询问
查看解答
B。默认方式为「主机→本地递归、本地→根/TLD/权限迭代」,权威答案出自权限域名服务器。A 把两个方向说反;C 根只指路不给最终 IP,且答案返回给本地而非主机;D 主机只与本地服务器打交道,从不直接问根。
6.2.3 DNS 报文、缓存与 TTL
(1) 域名 mail.tsinghua.edu.cn 中,顶级域名、二级域名、三级域名分别是什么?(2) 主机发出的 DNS 查询报文首先到达哪类域名服务器?该服务器在层次结构中处于什么地位?(3) 为什么 DNS 查询选用 UDP 而区域传送选用 TCP?
查看答案
(1) 从右往左:cn 顶级、edu 二级、tsinghua 三级,mail 是主机名。
(2) 本地域名服务器(默认域名服务器);它不属于 DNS 层次结构,只是代主机发起后续查询的代理。
(3) 查询报文短小、要求快,UDP 无需建立连接即可一问一答;区域传送数据量大且要求可靠完整,故用 TCP。
6.3 FTP 文件传送协议
FTP(File Transfer Protocol)是因特网上使用最广的文件传送协议,提供交互式访问,允许客户指明文件类型与格式、设置存取权限,支持匿名 FTP(anonymous)。它基于 TCP、按 C/S 方式工作——文件传输必须可靠无误,这是选 TCP 的根本原因。
6.3.1 两条并行连接:控制 21 与数据 20
- 控制连接 · 端口 21 · 持久:整个会话期间一直保持打开,传客户命令(登录、目录、传输请求)。控制信息不在数据连接中捎带,走独立通道,称「带外传送」(out-of-band)。
- 数据连接 · 端口 20 · 临时按需:收到文件传输请求才临时建立,传完立即关闭;下次传输再建新连接。
6.3.2 主动模式与被动模式
② 「控制连接每传一个文件重建一次」——反了:控制连接持久,数据连接按需临时建立、用完即断;
③ 「控制信息在数据连接中带外传送」——颠倒:控制信息单独走控制连接才叫带外传送;
④ 主动 / 被动的区别在数据连接由谁发起,控制连接不受影响。
(1) FTP 的控制连接与数据连接分别使用什么端口?各自维持多长时间?(2) 为什么说 FTP 的控制信息是「带外传送」?(3) 被动模式下,数据连接由谁发起?解决了什么问题?
查看答案
(1) 控制连接端口 21,整个会话期间保持打开(持久);数据连接端口 20(主动模式下服务器端),按需临时建立、传完即关。
(2) 控制命令不随文件数据捎带传输,而走独立的控制连接,故称带外传送。
(3) 由客户发起。解决客户在 NAT / 防火墙之后时,服务器主动进入的数据连接被拦截的问题。
6.4 电子邮件
6.4.1 系统组成、地址与收发全流程
- 用户代理 UA:用户与邮件系统的接口,撰写、阅读、收发邮件的程序(Outlook、Foxmail、手机邮件 App);
- 邮件服务器:系统核心,昼夜 24 小时运行;发送和接收邮件并向发件人报告传送情况;为每个用户开设邮箱并维护发送队列(投不出就周期性重试);
- 协议:发送用 SMTP,读取用 POP3 或 IMAP。
6.4.2 SMTP 推与 POP3 / IMAP 拉
用户 A(a@smtp1.com)向用户 B(b@smtp2.com)发一封含照片的邮件,B 用手机客户端收取。下列叙述错误的是( )
A. A 的 UA 到 smtp1.com、smtp1.com 到 smtp2.com 之间都使用 SMTP 协议
B. B 的客户端从 smtp2.com 收取邮件使用 POP3 或 IMAP 协议
C. SMTP 也可以由 B 的客户端调用来主动拉取自己的邮件
D. 邮件中的照片需经 MIME 编码转换为 7 位 ASCII 后才能经 SMTP 传送
查看解答
C。SMTP 只会「推」,不会「拉」:UA→服务器、服务器→服务器两段推走 SMTP;读取必须换成 POP3 / IMAP。A、B 正是标准分工;D 是 MIME 存在的理由——SMTP 只认 7 位 ASCII。
6.4.3 MIME 扩展与基于 Web 的邮件
(1) 判断:MIME 取代了 SMTP,因此可以传送中文邮件。(2) 判断:收件人必须在邮件服务器上为每个发件人开设账户才能收到邮件。(3) 用浏览器收发邮件时,用户侧与服务器侧各使用什么协议?
查看答案
(1) 错。MIME 是 SMTP 的扩展而非替代:先把非 ASCII 数据编码成 ASCII,再由 SMTP 照常传送。
(2) 错。账户只与收件人相关:邮件送入收件人邮箱即可,发件人无需在接收方服务器开户。
(3) 用户侧用 HTTP(S) 与 Web 邮件服务器交互;服务器与服务器之间的邮件转发仍用 SMTP。
6.5 WWW 与 HTTP 高频考点
6.5.1 WWW 与 URL
6.5.2 HTTP 特点与报文格式
| 方法 | 含义 | 实体主体 |
|---|---|---|
| GET | 请求读取 URL 标识的资源(最常用) | 为空,参数附在 URL 中 |
| POST | 向服务器提交数据(表单、搜索词、发帖) | 存放提交的数据 |
| HEAD | 请求响应中只要首部、不要实体主体(测试链接、查修改时间) | 响应中也为空 |
| PUT | 把实体主体上传存储到指定的 URL(写 / 替换文件) | 存放上传内容 |
| DELETE / OPTIONS | 删除资源 / 询问服务器支持哪些方法(补充了解) | — |
| 状态码 | 类别 | 典型例子 |
|---|---|---|
| 1xx | 信息通知(请求已收到,继续处理) | 100 Continue |
| 2xx | 成功 | 200 OK(请求成功,实体在响应中) |
| 3xx | 重定向(资源挪了地方,要去新 URL) | 301 永久移动;304 未修改(配合条件 GET) |
| 4xx | 客户端错误 | 400 错误请求;403 禁止访问;404 未找到 |
| 5xx | 服务器错误 | 500 内部错误;502 坏网关 |
(1) 只想确认某页面是否仍可访问、不需要页面内容,应使用的方法是( )A. GET B. HEAD C. POST D. PUT
(2) 「请求的网页已永久搬到新地址」的状态码、「服务器作为网关收到无效响应」的状态码分别属于( )A. 301、502 B. 404、301 C. 302、404 D. 502、400
查看解答
(1) B。HEAD 只要首部不要实体,正是「探活」用途;GET 会取回整个页面。
(2) A。301=永久移动(3xx 重定向);502=网关收到上游无效响应(5xx 服务器错)。口诀:1 信息、2 成功、3 重定向、4 客户端错、5 服务器错。
6.5.3 非持久与持久连接(计算高频)
主机请求一个网页:1 个基本 HTML + 4 个引用图片对象,RTT \(=30\,\text{ms}\),每对象发送时延 \(8\,\text{ms}\)(HTML 发送时延忽略),忽略其他时延。求:(1) 非持久串行;(2) 持久非流水线;(3) 持久流水线下,从发起请求到收完全部对象的时延。
查看解答
(1) 非持久串行:HTML 一个 \(2\text{RTT}\),每张图 \(2\text{RTT}+8\):
\[ T_1=2\times30+4\times(2\times30+8)=60+4\times68=332\ \text{ms} \]
(2) 持久非流水线:建连 + 取 HTML 共 \(2\text{RTT}\),此后每对象 \(1\text{RTT}+8\):
\[ T_2=60+4\times(30+8)=60+152=212\ \text{ms} \]
(3) 持久流水线:建连 + HTML \(2\text{RTT}\),4 个请求连续发出、响应背靠背返回:
\[ T_3=60+30+4\times8=122\ \text{ms} \]
验证:\(T_1\) 每对象 2 RTT ✓;\(T_2\) 复用连接每对象 1 RTT ✓;\(T_3\) 引用只等 1 个 RTT、发送时延逐个付清 ✓。提速路径:332 → 212 → 122 ms。
套路总结:先数对象个数,再按「每个对象付几倍 RTT」列式——非持久每对象 2RTT,持久非流水每对象 1RTT,流水线所有引用共 1RTT;发送时延别漏加。
6.5.4 Cookie、Web 缓存与 HTTPS
(1) Cookie 的四个组成部分是什么?弥补了 HTTP 的哪个特性?(2) 代理服务器如何确认缓存副本有效?(3) HTTP、HTTPS 的默认端口分别是多少?
查看答案
(1) 响应报文的 Set-Cookie 首部、请求报文的 Cookie 首部、浏览器端的 Cookie 文件、服务器端后端数据库;弥补 HTTP 无状态(服务器不记忆客户)。
(2) 发条件 GET(带 If-Modified-Since 首部行),对象未修改则源服务器返回 304 Not Modified(无实体主体)。
(3) HTTP 为 80,HTTPS 为 443。
6.6 P2P 分发、CDN 与流媒体
本节收拢三个应用层周边概念。DHCP(UDP 67/68)虽属应用层协议,但 408 一贯放在网络层章节讲,本套文档已在网络层处理,此处不再重复。
6.6.1 文件分发最小时间:C/S 与 P2P
文件 \(F=500\,\text{Mb}\),服务器上行 \(u_s=50\,\text{Mbps}\),\(N=10\) 个客户,每个客户上行 \(u_i=5\,\text{Mbps}\),下行均不小于 \(50\,\text{Mbps}\)。分别估算 C/S 与 P2P 的最小分发时间。
查看解答
C/S:\(\dfrac{NF}{u_s}=\dfrac{10\times500}{50}=100\ \text{s}\),而 \(\dfrac{F}{d_{\min}}=\dfrac{500}{50}=10\ \text{s}\),取大者:
\[ T_{C/S}=\max\{100,\,10\}=100\ \text{s} \]
P2P:\(\dfrac{F}{u_s}=10\ \text{s}\),\(\dfrac{F}{d_{\min}}=10\ \text{s}\),\(\dfrac{NF}{u_s+\sum u_i}=\dfrac{5000}{50+10\times5}=50\ \text{s}\),取大者:
\[ T_{P2P}=\max\{10,\,10,\,50\}=50\ \text{s} \]
验证:\(u_s+\sum u_i=50+50=100\) Mbps,\(5000\div100=50\) s ✓。P2P 快一倍;且 \(N\) 越大差距越大(C/S 的 \(NF/u_s\) 线性涨,P2P 第三项涨得慢得多)。
6.6.2 BitTorrent、CDN 部署与 DASH
6.7 章末自测 真题风格
限时 40 分钟,先做后看答案。难度:★★ 基础 / ★★★ 强化 / ★★★★ 冲刺。自检标准:10 题对 8 题以上;自测 2、9(DNS 层次与顺序)、10(HTTP 时延计算)必须全对,错一道回看 6.2 与 6.5.3。
DNS 进行域名解析时通常使用的运输层协议与端口是( )
A. TCP 25 B. UDP 53 C. UDP 110 D. TCP 80
查看答案
B。DNS 查询一问一答、报文短,用 UDP 53;25 是 SMTP、110 是 POP3、80 是 HTTP。
域名 www.abc.com.cn 中,顶级域名与二级域名分别是( )
A. com、cn B. cn、com C. com、abc D. www、cn
查看答案
B。从最右往左数:cn 顶级、com 二级(我国类别域名)、abc 三级、www 是主机名。误答 A 是按英文习惯把 com 当顶级,真题设过此坑。
域名解析过程中,本地域名服务器向根域名服务器的查询通常是( )
A. 递归查询 B. 迭代查询 C. 广播查询 D. 反向查询
查看答案
B。默认方式:主机→本地为递归;本地→根 / 顶级 / 权限为迭代——根只告知「该去问谁」,本地自己接着问。
关于 FTP,下列叙述错误的是( )
A. 控制连接使用端口 21,在整个会话期间一直保持打开
B. 数据连接在需要传输文件时才临时建立,传完即关闭
C. 控制连接与数据连接使用同一端口但不同进程
D. 控制信息通过控制连接传送,属于带外传送
查看答案
C。两条连接使用不同端口(21 控制、20 数据)且并行工作,这正是 FTP 的标志性细节;A、B、D 均为教材原文。
下列关于电子邮件协议的叙述中,正确的是( )
A. SMTP 既可以把邮件推给服务器,也可以让用户从服务器拉取邮件
B. POP3 协议把邮件下载到本地后,服务器上必定不再保留副本
C. IMAP 方式下邮件保留在服务器,多设备访问状态可同步
D. 发送方 UA 与发送方服务器之间使用 POP3 协议
查看答案
C。A 错:SMTP 只推不拉;B 错:POP3 有「下载并保留」方式;D 错:UA→服务器用 SMTP(推)。IMAP 的服务器端状态同步是与 POP3 的核心区别。
下列 HTTP 状态码与其含义对应错误的是( )
A. 200——请求成功 B. 301——永久重定向
C. 404——服务器内部错误 D. 502——网关收到无效响应
查看答案
C。404 是客户端错误(资源未找到);服务器内部错误是 500。归类口诀:1 信息、2 成功、3 重定向、4 客户端错、5 服务器错。
关于 Cookie 与 Web 缓存,下列说法错误的是( )
A. Cookie 弥补了 HTTP 无状态的不足,可用于会话跟踪与个性化服务
B. Cookie 文件由浏览器管理,保存在用户端系统中
C. 代理服务器用条件 GET 验证缓存副本,未修改时源服务器返回 304
D. Web 缓存命中时仍需向源服务器转发完整请求并等待完整响应
查看答案
D。命中即由代理直接返回缓存副本,不必打扰源服务器——这正是 Web 缓存降时延、省流量的原理;条件 GET 只在验证新鲜度时才发出。
下列关于 P2P 与 C/S 的叙述中,正确的是( )
A. P2P 网络中每个对等方既是客户又同时是服务器,具有自扩展性
B. C/S 架构中客户之间可以直接交换文件以减轻服务器负担
C. P2P 架构完全没有任何集中部件,BitTorrent 也没有服务器参与
D. 服务器必须使用动态 IP 地址,客户必须永久在线
查看答案
A。B 错:C/S 中客户互不通信;C 错:BitTorrent 依赖 tracker(集中协调+分散传输的混合架构);D 恰好说反——服务器永久在线、固定地址,客户间歇接入、可动态地址。
主机首次解析 www.abc.com.cn,各级均无缓存。事件:Ⅰ. 本地向根域名服务器查询;Ⅱ. 权限服务器把 IP 返回本地;Ⅲ. 主机向本地发出递归查询;Ⅳ. 根告知「去问 cn 顶级域名服务器」;Ⅴ. 本地向权限服务器查询;Ⅵ. cn 顶级告知「去问权限域名服务器」;Ⅶ. 本地向 cn 顶级查询;Ⅷ. 本地把 IP 返回主机。(1) 按正确顺序排列 8 个事件;(2) 指出哪些环节递归、哪些迭代;(3) 若本地已缓存该记录,流程还剩几步?
查看解答
(1) Ⅲ → Ⅰ → Ⅳ → Ⅶ → Ⅵ → Ⅴ → Ⅱ → Ⅷ:主机问本地(Ⅲ);本地逐级迭代——先问根(Ⅰ),根指路 cn 顶级(Ⅳ);再问 cn 顶级(Ⅶ),顶级指路权限服务器(Ⅵ);再问权限服务器(Ⅴ),得到权威答案(Ⅱ);最后本地答复主机(Ⅷ)。
(2) Ⅲ(主机→本地)是递归查询:主机要求本地必须给出最终答案;Ⅰ、Ⅳ、Ⅵ、Ⅴ、Ⅶ、Ⅱ(本地→根 / 顶级 / 权限)是迭代查询:每级只指路,由本地自己逐级去问。
(3) 只剩 2 步:主机→本地(递归查询)、本地→主机(缓存直接作答)。这正是 DNS 缓存缩短时延、减轻根与顶级服务器负担的机制(受 TTL 约束)。
主机请求一个网页:1 个基本 HTML + 8 个引用小对象(发送时延均可忽略),RTT \(=20\,\text{ms}\)。求:(1) 非持久串行;(2) 非持久、浏览器开 6 条并行连接(先取 HTML,再分批并行取对象);(3) 持久非流水线;(4) 持久流水线——四种方式的总时延。
查看解答
(1) 非持久串行:9 个对象每个 \(2\text{RTT}\):
\[ T_1=9\times2\times20=360\ \text{ms} \]
(2) 非持久并行 6 条:HTML 先取 \(2\text{RTT}\);8 个对象分两批(6 个 + 2 个),每批并行同取各花 \(2\text{RTT}\):
\[ T_2=(2+2+2)\times20=120\ \text{ms} \]
(3) 持久非流水线:建连 + HTML 共 \(2\text{RTT}\),此后每对象 \(1\text{RTT}\):
\[ T_3=(2+8)\times20=200\ \text{ms} \]
(4) 持久流水线:建连 + HTML 共 \(2\text{RTT}\),8 个请求连续发出,引用对象合计 \(1\text{RTT}\):
\[ T_4=(2+1)\times20=60\ \text{ms} \]
验证:\(T_1\) 按对象数 9 计 ✓;\(T_2\) 批数 \(=\lceil 8/6\rceil=2\) ✓;\(T_3=2+8=10\) 个 RTT ✓;\(T_4=3\) 个 RTT ✓。结论:串行 360 → 并行 120 → 持久非流水 200 → 流水线 60 ms,并行与流水线分别从「空间」与「时间」上消除等待。
套路总结:并行连接按「分几批」计 RTT(批数 = 引用对象数除以并行度向上取整),每批仍付建连 + 请求响应共 2 RTT;流水线则把全部引用压成 1 个 RTT。
6.8 本章考点总结
| 考点 | 常考题型 | 热度 | 核心方法 / 一句话结论 |
|---|---|---|---|
| C/S 与 P2P、混合架构 | 选择 | ★★★ | 服务器永久在线、固定地址;客户间歇接入、互不通信;对等方双重身份+自扩展;Napster / BitTorrent=索引集中、传输分散 |
| 应用层协议与端口 | 选择 | ★★★★ | DNS 53/UDP、FTP 21+20、SMTP 25、POP3 110、IMAP 143、HTTP 80、HTTPS 443(除 DNS、DHCP、SNMP 用 UDP,其余走 TCP) |
| 层次域名空间 | 选择 | ★★★★ | 根 / 顶级(国家 cn、通用 com)/ 二级;www.abc.com.cn=cn 顶级、com 二级、abc 三级,从右往左数 |
| 四类域名服务器 | 选择 | ★★★★ | 根(13 套,只指路)/ 顶级(管二级)/ 权限(区的权威答案)/ 本地(默认服务器,不在层次结构中) |
| 递归与迭代解析流程 | 选择 / 排序 | ★★★★★ | 主机→本地递归,本地→根·顶级·权限迭代;8 步=问(本地→根→顶级→权限)+答(权限→本地→主机);根不给最终 IP |
| DNS 报文与缓存 | 选择 | ★★★ | 查询 / 响应同 ID 配对;短报文 UDP 53,区域传送 TCP 53;缓存受 TTL 限制,命中两步作答 |
| FTP 两条连接 | 选择 | ★★★★ | 控制 21 持久+数据 20 按需临时,并行、不同端口;控制信息带外;主动模式服务器发起、被动模式客户发起数据连接 |
| 邮件系统与协议分工 | 选择 | ★★★★ | UA+邮件服务器+协议;前两段 SMTP 推、末段 POP3/IMAP 拉;SMTP 只传 7 位 ASCII、CRLF.CRLF 结束;POP3 下载不同步、IMAP 留服务器多端同步 |
| MIME 与 Web 邮件 | 选择 | ★★★ | MIME 是 SMTP 的扩展而非替代(Base64 等编码);Web 邮件用户侧走 HTTP,服务器间仍 SMTP |
| URL / 报文格式 / 方法 / 状态码 | 选择 | ★★★★ | 协议://主机:端口/路径;起始行+首部行+空行+实体主体;GET 读 / POST 提交 / HEAD 只要首部 / PUT 上传;200 成功、301 重定向、404 客户端错、502 服务器错 |
| 非持久 / 持久连接时延 | 计算 / 综合 | ★★★★★ | 非持久每对象 2RTT+发送时延;持久非流水每对象 1RTT;流水线引用共 1RTT(整页 3RTT);并行按批计(批数=对象数÷并行度向上取整,每批 2RTT) |
| Cookie 与 Web 缓存 | 选择 | ★★★ | 四组成:Set-Cookie 首部、Cookie 首部、端系统 Cookie 文件、服务器后端库;条件 GET(If-Modified-Since)+304 验证新鲜度 |
| P2P 分发时间 / CDN / DASH | 选择 / 计算 | ★★★ | P2P 最小分发时间 \(=\max\{F/u_s,\ F/d_{\min},\ NF/(u_s+\sum u_i)\}\);BitTorrent 稀缺优先+一报还一报;CDN 集中 / 深度 / 集群;DASH 自适应码率 |