第 1 讲:互联网是什么——网络边缘与接入网
从两个视角定义互联网:由硬件构成的系统,和为应用提供服务的基础设施。讲清端系统、通信链路、分组交换机、ISP 层级结构、各类接入网技术与物理媒介,以及「协议」这个词的精确含义。
从两个视角定义互联网:由硬件构成的系统,和为应用提供服务的基础设施。讲清端系统、通信链路、分组交换机、ISP 层级结构、各类接入网技术与物理媒介,以及「协议」这个词的精确含义。
互联网最根本的设计选择:为什么是分组交换而不是电路交换。存储转发的机制与代价、排队与丢包如何产生、统计复用的概率计算,以及转发与路由的区别。
网络性能的定量分析:四种时延成分、流量强度与排队时延的非线性关系、traceroute 的原理、端到端吞吐量的瓶颈链路,以及带宽时延积——理解 TCP 窗口的前置知识。
五层模型与 OSI 七层的对应关系、封装的逐层过程、分层的收益与代价、端到端原则与沙漏模型,以及贯穿全课的安全威胁分类:恶意软件、DoS、嗅探、IP 欺骗与中间人。
网络应用的两种体系结构、进程如何通过 Socket 通信、应用对传输服务的四类需求,以及 HTTP 的完整机制:非持续与持续连接的 RTT 分析、报文格式、方法、状态码、Cookie 与条件 GET。
Web 缓存如何同时降低时延和成本、缓存命中率对接入链路流量强度的定量影响、CDN 的两种部署哲学与基于 DNS 的节点选择,以及 HTTP/1.1 → HTTP/2 → HTTP/3(QUIC) 的演进逻辑与队头阻塞问题。
为什么域名解析必须是分布式的、根/TLD/权威三级层次结构、递归与迭代查询的区别、缓存与 TTL、七种资源记录类型,以及 DNS 面临的攻击与 DNSSEC、DoH/DoT 的防御。
SMTP 的推送模型与它和 HTTP 的根本差异、邮件访问协议与反垃圾机制;P2P 文件分发时间的数学推导与 BitTorrent 的激励设计;DASH 自适应流媒体;以及交互式实时多媒体为什么来不及重传——播放缓冲、RTP/RTCP/SIP 与四种丢包对策。
用 Python 从零写 UDP 与 TCP 的客户端和服务器;欢迎套接字与连接套接字的区别;并发模型的三种选择;以及每个人第一次写网络程序都会踩的五个坑:粘包、部分读写、字节序、TIME_WAIT 与阻塞。
传输层与网络层的分工、无连接与面向连接两种多路分解的规则、UDP 报文段结构,以及反码校验和的手工计算——这是理解 TCP 之前必须打牢的基础。