跳转至

Stanford CS144: Introduction to Networking

课程简介

  • 来源:Stanford University
  • 先修要求:计算机体系结构基础、C++ 基础
  • 编程语言:C++
  • 课程难度:🌟🌟🌟🌟
  • 课程网站:cs144.github.io

Stanford CS144 是 Stanford 的计算机网络课程,最大的特点是实验驱动。课程要求你实现一个完整的 TCP/IP 协议栈——从网络接口层到传输层,最终能让你的实现通过真实的网络通信测试。

课程资源

实验列表

实验 内容 难度
Lab 0: Networking warmup 网络编程基础 🌟
Lab 1: Webget 实现一个简单的 HTTP 客户端 🌟🌟
Lab 2: TCP receiver 实现 TCP 接收端 🌟🌟🌟
Lab 3: TCP sender 实现 TCP 发送端 🌟🌟🌟🌟
Lab 4: TCP connection 完整的 TCP 连接 🌟🌟🌟🌟
Lab 5: Network interface 网络接口层 🌟🌟🌟
Lab 6: Router 实现一个路由器 🌟🌟🌟🌟
Lab 7: Putting it all together 完整的协议栈 🌟🌟🌟🌟🌟

自学建议

C++ 基础要扎实。 课程用 C++ 实现,需要熟悉指针、内存管理和面向对象。

按顺序做实验。 每个实验都依赖前一个实验的代码,不能跳着做。

用 Wireshark 验证。 每完成一个实验,用 Wireshark 抓包验证你的实现是否正确。

备注

CS144 是网络课程中实验设计最好的之一。完成所有实验后,你对 TCP/IP 的理解会超过大多数从业者。