6.6 本章小结及疑难点
对应王道教材 6.6 节(教材 P303)· 本节属于 408 考纲范围
本章要点小结
- 网络应用模型:C/S 模型(客户请求、服务器响应、客户间不直接通信、可扩展性差)与 P2P 模型(对等方直接通信、可扩展性好、健壮性强、占用本机资源多);
- DNS:层次域名空间(顶级域/二级域/三级域,标号规则);四类域名服务器(根、顶级、权限、本地);解析方式(主机→本地必为递归查询,本地→其他可为递归或迭代,实际常用迭代);协议运行在 UDP 之上,端口 53;高速缓存与 TTL;
- FTP:基于 TCP 的有状态协议;控制连接(端口 21,整个会话期间保持打开,传命令)与数据连接(端口 20,按需建立,传文件内容);主动模式 PORT / 被动模式 PASV;
- 电子邮件:用户代理 + 邮件服务器 + 协议;SMTP(推、TCP 25,三阶段:连接建立/邮件传送/连接释放,不使用中间邮件服务器中转);POP3(拉、TCP 110,下载并保留/下载并删除);IMAP(在线操作、选择性获取);MIME(对 SMTP 的扩展,非 ASCII 数据编码为 ASCII 后交 SMTP 传输);
- WWW/HTTP:三标准 URL/HTTP/HTML;HTTP 基于 TCP(端口 80)、自身无连接、无状态(Cookie 弥补);HTTP/1.0 非持久连接(每对象 2RTT)、HTTP/1.1 持久连接(非流水线/流水线);报文 = 开始行 + 首部行 + 空行 + 实体主体;常用方法 GET/HEAD/POST/PUT/DELETE/CONNECT;代理服务器 = Web 高速缓存。
| 应用程序 | FTP 数据连接 | FTP 控制连接 | TELNET | SMTP | DNS | TFTP | HTTP | POP3 | SNMP |
|---|---|---|---|---|---|---|---|---|---|
| 使用协议 | TCP | TCP | TCP | TCP | UDP | UDP | TCP | TCP | UDP |
| 熟知端口号 | 20 | 21 | 23 | 25 | 53 | 69 | 80 | 110 | 161 |
疑难点解析
疑难点 1:如何理解客户进程端口号与服务器进程端口号?
服务器进程使用熟知端口号,这些端口号是固定且公开的,便于客户找到对应的服务。客户进程则使用临时端口号,由操作系统在连接发起时自动分配,仅在本次通信中有效。当客户向服务器发起连接时,会连接到服务器的熟知端口,并将自己的临时端口号告知服务器。服务器随后通过这一对端口号(自身的熟知端口 + 客户的临时端口)建立唯一的端到端连接。
疑难点 2:互联网和万维网的区别是什么?
互联网(Internet)是一个全球性的计算机网络互联系统,起源于 ARPAnet,采用 TCP/IP 协议族作为通信基础,提供主机之间的连通性。
万维网(World Wide Web,WWW)则是构建在互联网之上的一套应用层生态,由相互链接的网页和网站组成,通过 HTTP 协议和浏览器访问。
简言之:互联网是"路",万维网是"路上跑的一种车"。
疑难点 3:HTTP/1.1 使用持久连接,为何下载一个网页及其图片仍可能需更多 RTT?
因为 TCP 连接初始的拥塞窗口通常仅为 1MSS,即使 HTTP/1.1 支持在同一个连接上连续发送请求,服务器也不能一次性发送全部数据。例如,网页文件为 1MSS,图片为 3MSS:
- 第 1 个 RTT:完成 TCP 建立连接的前两次握手;
- 第 2 个 RTT:第三次握手捎带 HTML 请求,服务器发送 1MSS(cwnd = 1);
- 第 3 个 RTT:客户端确认网页并捎带图片请求,cwnd 增至 2MSS,发送 2MSS 图片;
- 第 4 个 RTT:客户端确认已收图片数据,cwnd 增至 4MSS,发送剩余 1MSS 图片。
因此,总耗时由数据大小和拥塞窗口增长节奏共同决定,即使带宽充足,至少也需要 4RTT。若忽略传输层拥塞控制、仅从应用层交互估算时间,则极易得出错误结论。
疑难点 4:以太网主机刚开机后访问某 Web 站点,需经历哪些通信过程?
主机刚开机时,尚未配置任何网络参数,通过有线方式接入本地局域网。在发送任何数据前,传统共享式以太网需遵循 CSMA/CD 机制以避免冲突(注意,现代交换式以太网普遍采用全双工模式,不再使用 CSMA/CD)。以访问 http://www.abc.com/index.html 为例,完整通信过程如下:
- DHCP 获取网络配置:主机启动后,先通过 DHCP 自动获取 IP 地址、子网掩码、默认网关、DNS 服务器地址等参数。DHCP 属于应用层协议,其报文封装在 UDP 数据报中,UDP 数据报再封装在 IP 数据报中,最终由数据链路层将该 IP 数据报封装为以太网 MAC 帧进行传输;
- DNS 解析域名:用户在浏览器中输入 URL 后,浏览器从中提取域名 www.abc.com,并向本地 DNS 服务器发起解析请求。DNS 属于应用层协议,在传输层中使用 UDP,查询报文被封装在 IP 数据报中。若 DNS 服务器与主机位于同一子网内,则主机先通过 ARP 将 DNS 服务器的 IP 地址解析为对应的 MAC 地址,再将 IP 数据报封装为单播帧发送给 DNS 服务器;若 DNS 服务器位于其他子网中,则主机先通过 ARP 获取默认网关的 MAC 地址,再将单播帧发送给默认网关,由其负责转发。最终,DNS 服务器返回响应,将域名对应的 IP 地址告知主机;
- HTTP 获取网页:获得目标 IP 地址后,浏览器向该 Web 服务器的 80 端口发起 TCP 连接请求。连接建立后,浏览器立即发送 GET /index.html 的 HTTP 请求。服务器收到请求后,返回包含 index.html 内容的 HTTP 响应。浏览器解析 HTML 页面,若其中引用了其他资源(如图片、视频等),则对每个资源分别发起新的 HTTP 请求(根据 HTTP 版本的不同,可能复用或新建连接)。所有资源传输完成后,TCP 通过四次挥手释放连接。浏览器解析 HTML,完成网页展示。

课外拓展:网络安全一览(高军《深入浅出》第 7 章) 课外拓展
说明:网络安全不在现行 408 考纲内,供拓展阅读。学完应用层后回看整个协议栈,恰好能理解"安全"如何逐层加锁,以下只建立直觉,不展开数学细节。
- 对称密钥密码体制:加密和解密用同一把密钥(如 DES、AES),速度快,但难点在于如何把密钥安全地交给对方;
- 公钥密码体制:每人生成一对密钥,公钥加密、私钥解密(如 RSA),公钥可公开,解决了密钥分发难题,但运算慢,实际中常用来加密对称密钥、各取所长;
- 报文摘要与数字签名:先对报文算出固定长度的摘要(MD5、SHA 等),发送者用自己的私钥加密摘要即得"签名",接收者用发送者的公钥验证——既证明报文未被篡改,也实现防抵赖;
- 安全套接字层/传输层安全(SSL/TLS):位于运输层与应用层之间,对应用层报文加密后交给 TCP 传输。HTTPS = HTTP over TLS,使用 443 端口,建立连接时先用公钥体制协商出会话密钥,再用对称加密传数据;
- 防火墙与入侵检测系统(IDS):防火墙驻守网络边界,按规则放行或阻断分组;IDS 则在内部分析流量、发现攻击后报警——一个把门,一个巡逻。