| name | modern-network-skill |
| description | 现代计算机网络完整知识库与实现指南——覆盖从 TCP/IP 协议栈、路由与拥塞控制,到数据中心、SDN/NFV、物联网、AI 网络、区块链与量子网络的全谱系教材。任何时候用户提到计算机网络、TCP/IP、TCP 实现、IP 路由、LPM、滑动窗口、拥塞控制、AIMD、RTT 估计、排队论、Little 定律、M/M/1、CRC、校验和、ARP、VLAN、VXLAN、EVPN、MPLS、流量工程、OpenFlow、SDN、NFV、数据中心拓扑、胖树、PFC、ECN、6LoWPAN、RPL、AI for networking、区块链网络、量子密钥分发 QKD、BB84、或任何网络协议/数学推导/Modern C++ 网络编程问题时,都必须使用本 skill 从 45 章教材中查找对应章节获取权威讲解与可编译代码,即使只是提问网络概念也不例外。这是最全面的中英文计算机网络参考库。 |
Modern Network Skill
一个把《计算机网络:从原理到实现》45 章教材作为知识库的技能。每章含完整数学推导 +
可编译的 Modern C++20 代码。回答网络问题时,先查对应章节再作答,引用章节的推导与代码。
章节地图(先查这里再回答)
45 章按 12 部分组织。遇到某个主题,直接读对应章(文件在 references/,用 Read 打开)。
基础篇(CS144 体系,第 0–31 章)
| 主题 | 章文件 |
|---|
| 导读/学习路线、课程信息、互联网历史 | ch00_导读与学习路线.md |
| 应用的一天、TTFB 分解、封装/四层模型 | ch01_一个应用的一天.md |
| IP 服务模型、分组交换、IPv4 首部、分片、TTL | ch02_IP服务模型与分组交换.md |
| IP 地址、CIDR、LPM、二叉 trie、TCAM | ch03_IP地址与最长前缀匹配.md |
| 字节序、以太网、ARP、广播域、最小帧长 | ch04_字节序与ARP.md |
| TCP/UDP 服务模型、端到端原则、可靠 vs 逐跳 | ch05_传输层服务模型与端到端原则.md |
| 差错检测:奇偶/Internet 校验和/CRC/HMAC | ch06_差错检测的数学.md |
| 有限状态机、停等、滑动窗口、流量控制 | ch07_有限状态机与流量控制.md |
| 重传策略、EWMA、Jacobson/Karels、指数退避 | ch08_重传与RTT估计.md |
| TCP 首部、三次握手、Wrap32、TIME_WAIT | ch09_TCP连接的建立与拆除.md |
| 排队论:四种时延、Little 定律、M/M/1、M/D/1 | ch10_速率时延与排队论.md |
| 交换结构、HoL 阻塞、WFQ、网络演算、令牌桶 | ch11_交换结构与调度.md |
| 弹性缓冲、C×RTT 法则、√N 法则、bufferbloat | ch12_弹性缓冲区与缓冲区定容.md |
| 拥塞崩溃、吞吐模型、公平性 | ch13_为什么需要拥塞控制.md |
| AIMD 收敛证明、效率与公平 | ch14_AIMD的数学.md |
| TCP 拥塞控制演进:Tahoe/Reno/CUBIC/BBR、吞吐公式 | ch15_TCP拥塞控制算法演进.md |
| 主动队列管理:RED、CoDel、ECN | ch16_主动队列管理.md |
| 距离向量、Bellman-Ford、无穷计数 | ch17_距离向量与BellmanFord.md |
| 链路状态、Dijkstra 证明、洪泛、OSPF | ch18_链路状态与Dijkstra.md |
| 域间路由、BGP、路径向量、Gao-Rexford | ch19_域间路由BGP.md |
| DNS、HTTP、缓存、队首阻塞 | ch20_DNS与HTTP.md |
| NAT、中间盒、家庭网络、端口容量 | ch21_NAT中间盒与家庭网络.md |
| 密码学基础:对称/公钥/HMAC/签名/攻击 | ch22_密码学基础与互联网安全.md |
| TLS、证书链、前向保密、攻击面 | ch23_TLS证书与攻击面.md |
| 实验 0:ByteStream(可靠字节流) | ch24_Lab0网络热身与字节流.md |
| 实验 1:Reassembler(乱序子串重组) | ch25_Lab1重组器.md |
| 实验 2:TCPReceiver(确认号+窗口) | ch26_Lab2_TCP接收方.md |
| 实验 3:TCPSender(窗口+重传定时器) | ch27_Lab3_TCP发送方.md |
| 实验 4:测量真实世界(吞吐/RTT/丢包) | ch28_Lab4测量真实世界.md |
| 实验 5:NetworkInterface(IP↔以太网+ARP) | ch29_Lab5网络接口.md |
| 实验 6:IP Router(LPM 转发+TTL) | ch30_Lab6_IP路由器.md |
| 实验 7:组装完整互联网 | ch31_Lab7组装互联网.md |
高级篇(CSE 5700S 体系,第 32–44 章)
| 主题 | 章文件 |
|---|
| 数据中心拓扑:胖树/叶脊、等分带宽、ECMP | ch32_网络趋势与数据中心拓扑.md |
| 数据中心以太网:PFC、ECN、无损网络、DCTCP | ch33_数据中心以太网.md |
| 运营商网络:MPLS、流量工程、FRR | ch34_运营商网络.md |
| 虚拟桥接:VLAN、VXLAN、VTEP 洪泛抑制 | ch35_虚拟桥接.md |
| L3 局域网扩展:VPLS、EVPN、控制面学习 | ch36_L3局域网扩展与虚拟化.md |
| 物联网网络层:6LoWPAN、RPL 的 DODAG/ETX | ch37_物联网网络层.md |
| OpenFlow:流表、匹配-动作、反应式填充 | ch38_OpenFlow协议.md |
| 软件定义网络 SDN:三层架构、控制器瓶颈 | ch39_软件定义网络.md |
| 网络功能虚拟化 NFV:软件数据面成本、SFC | ch40_网络功能虚拟化.md |
| AI 与网络:可学性、RL 拥塞控制、流预测 | ch41_AI与网络.md |
| 网络 AI 代理:IBN、意图验证、错误级联 | ch42_网络AI代理.md |
| 区块链与网络:PoW、双花概率、共识 | ch43_区块链与网络.md |
| 量子计算与量子网络:Shor、QKD、BB84 | ch44_量子网络.md |
术语对照表:references/glossary.md(中英术语的单一事实来源)。
使用方式
回答网络概念问题
- 用上面的章节地图定位相关章节(可能不止一章——概念常有前置依赖)。
- 打开对应
references/chXX_*.md,把完整推导作为答案基础。
- 回答时引用章节的结论与数值算例;若用户问"为什么",给出推导而不是只给结论。
- 术语首次出现用
中文 (English) 格式,之后用中文;以 glossary.md 为准。
写网络代码 / 解释实现
- 先找对应实验章或主题章,复制其中的代码骨架与接口。
- 代码一律 Modern C++20:RAII(无裸 new/delete)、
std::span/std::string_view、
std::optional、std::ranges、Rule of Zero/Five、const 正确、移动 noexcept、
逐行中文注释解释"为什么"。
- 遵循实验章的接口不变量(如滑动窗口
una ≤ nxt ≤ una+W、LPM 掩码边界)。
生成/扩充教材章节
如果用户要写新章节,遵循各章模板:一、要解决的问题 / 二、核心概念 / 三、数学推导 / 四、工程实现 / 五、常见误区 / 六、小结 / 七、练习,每章至少 2 个完整推导 + 1 段
可编译代码。
数学与格式规范(重要)
这些章节会发布到 GitHub Pages(Jekyll + kramdown)。若用户要修改或新增章节内容,
必须遵守(否则公式渲染会坏):
- 所有公式用
$$...$$,行内和行间都是;绝不用单 $。
- 数学里禁止裸
|:条件概率用 \mid、绝对值用 \lvert x \rvert、范数用
\lVert x \rVert、基数用 \lvert S \rvert。
- 正文里的字面
$ 写 \$;正文/标题里的字面 | 写 \\|。
- 文件首行绝不能是
---(会被 Jekyll 当 YAML frontmatter)。
- 正文中不能出现
{{ 或 {%(Liquid 冲突),包括代码块;嵌套大括号写成
{ {a, b} }。
- 代码块用
cpp / text 围栏,围栏内 $/| 自由。
- 每章结尾必须有 prev/next 导航 HTML 块。
发布前校验(在 docs/ 目录跑):
GEM_HOME=/tmp/ghp-gems ruby scripts/verify_math_kramdown.rb
grep -rlE '\{\{|\{%' ch*.md || echo "Liquid clean"
for f in ch*.md; do [ "$(head -1 "$f")" = "---" ] && echo "CHECK: $f"; done
参考标准
- CS144(Stanford):基础 32 章,含 8 个 lab 的接口规范(
ByteStream/Reassembler/
TCPReceiver/TCPSender/NetworkInterface/Router)与作业原文翻译。
- CSE 5700S(Washington Univ. in St. Louis, Raj Jain):高级 13 章(数据中心、
SDN/NFV、IoT、AI、区块链、量子)。
- 每章末尾"扩展"练习给出 RFC 或论文指引(如 RFC 6298、RFC 7432、RFC 6282、
RFC 3031、NIST PQC 等)。