CS 168 · LECTURE 18 · 2026-11-03 · 应用与端到端

主机上线到安全通信:ARP、DHCP、NAT 与 TLS

一台刚开机的主机要先获得配置、找到网关、穿过 NAT,再用 TLS 验证远端;端到端通信其实是一串依赖链。

版本快照:Fall 2026 官方课表与在线教材,核对日期 2026-09-02;官网仍标注 under construction,日期与政策可能变化。

  1. 互联网地基
  2. 路由
  3. 传输
  4. 应用与端到端
  5. 数据中心
  6. 群体通信
  7. 无线与移动

本章核心问题

浏览器还没能发出 HTTPS 请求之前,本地主机必须解决哪些名字、地址、下一跳与身份问题?

1 · DHCP 的自举

未配置主机不知道自身 IP、网关或 DHCP server,因此用广播完成 Discover→Offer→Request→ACK。租约通常包含地址、掩码、默认网关、DNS server 和期限。

租约是软状态,需要在 T1/T2 附近续租。广播只在本地二层域传播,跨子网由 DHCP relay 把请求转给服务器。

2 · ARP 只解决下一跳

主机用掩码判断目的是否同子网;同网时 ARP 查询目的 IP 的 MAC,异网时查询默认网关的 MAC。IP 目的始终是最终端点,Ethernet 目的只是当前链路的 next hop。

ARP reply 被缓存以避免每包广播,也可能被伪造。交换机安全、静态绑定或邻居验证可降低攻击面,但端到端身份仍需 TLS 等机制。

3 · NAT 的状态与代价

家用 NAT 常把内部 (private IP, port) 映射成 (public IP, external port),回包依据映射反向交付。多个主机因此共享一个公网地址。

映射依赖先由内部发起和超时状态,外部无法自然建立入站连接,破坏端到端可达并让应用穿透复杂化。NAT 缓解地址压力和提供管理边界,却不等同于防火墙或加密。

4 · TLS 认证后再保密

TLS 握手协商版本/密码套件,服务器提供证书,客户端验证域名、有效期与信任链,再通过密钥交换得到会话密钥。对称加密保护后续记录的机密性与完整性。

只“有锁图标”不代表服务逻辑可信;它说明通信端点身份与传输信道在验证范围内。DNS、路由或 CDN 仍可能影响连接去哪,但错误证书应被端点拒绝。

纠错:最容易带走的错误模型

闭卷推演

从空状态访问 https://example.com:按时间列出 DHCP、ARP、DNS、TCP/QUIC、TLS、HTTP 事件,写出每步失败时用户能观察到的症状。

检查:访问异地 IP 时,以太网帧的目的 MAC 通常是谁?

机制工作台:before → event → after

Before / local state

主机先 DHCP 获配置,再 ARP 解析 next hop

Event / after / output

主机先 DHCP 获配置,再 ARP 解析 next hop;NAT 为 flow 建 mapping;TLS 在端点验证身份并协商密钥。

检查:判断一个实现分支是否必要,最有力的问题是什么?

检查:若把这一机制移到完全不同的网络位置,首先应重新确认什么?

Explain It Yourself

填写 outbound/inbound NAT table 的 before/event/after。

自检方法

答案必须出现 packet/message、local state/table、触发 event、after state 与 output;只给定义不算完成。

一手资料

正文是 CourseStack 的中文解释与重新绘制的教学例子;官方页面负责课程原始定义,历史仓库只提供你的实现证据。