Stanford CS144

计算机网络

CS144 聚焦互联网体系结构、分层协议、可靠传输、路由与网络应用,适合作为系统方向的网络基础课程。

Learning Path

从协议分层进入互联网。

建议先理解端到端通信,再看可靠传输、拥塞控制、路由和应用层协议。

网络分层

建立应用层、传输层、网络层和链路层的职责边界。

可靠传输

关注 TCP、拥塞控制、流量控制和端到端原则。

网络系统

把协议知识落到路由、性能和真实网络调试上。

课程档案 / 07

从实现可靠字节流开始,理解互联网如何在不可靠网络上工作。

CS144 不只介绍协议名词,而是通过网络栈实现把分层、寻址、路由和可靠传输连接起来。课程适合希望具备网络调试和系统实现能力的学习者。

先修准备

需要 C++ 与系统编程基础

建议理解数据结构、字节序列、并发和基本 Linux 开发工具。

  • 熟悉现代 C++ 的资源管理
  • 能够阅读协议字段与状态机
  • 准备使用抓包和网络诊断工具
学习方法

把协议看成状态机

实现 TCP 时应明确每个状态、输入事件和超时条件。不要只在测试失败后补丁式修改。

  • 先写不变量和状态转换
  • 区分发送端与接收端职责
  • 用边界案例验证乱序和重传

内容地图

阶段 01网络分层与应用

分组交换、协议分层、套接字、域名系统和 HTTP。

阶段 02可靠传输

字节流重组、TCP 发送与接收、超时、流量控制和拥塞控制。

阶段 03网络层与路由

IPv4、地址解析、路由器、最长前缀匹配和互联网路由。

完成标准

能够解释并实现可靠传输的核心状态机。

学习者应能使用抓包信息定位连接问题,理解数据包在主机与路由器之间的路径,并说明 TCP 如何处理丢包、乱序和接收窗口。