# CS 168：Introduction to the Internet: Architecture and Protocols

## 课程简介

* **所属大学**：UC Berkeley
* **先修要求**：CS 61B；推荐 CS 61C；具备基础的 Python 编程和 Unix 系统使用经验
* **编程语言**：Python，Unix shell
* **课程难度**：🌟🌟🌟
* **预计学时**：约 140 小时（14 周 × 10 小时/周）

本课程是加州大学伯克利分校开设的“Internet 架构与协议概论”，侧重于 Internet 的设计原则与核心协议，包括分层结构、寻址机制、域内与域间路由、可靠传输、拥塞控制，以及 TCP、UDP、IP、DNS、HTTP 等核心协议，并介绍以太网、无线等网络技术。CS 168 结合理论与实践，通过三个动手项目（Traceroute、路由、TCP传输）让学生学习构建并调试网络协议，体验深入且全面。

尤其是课程配套编写的[教材](https://textbook.cs168.io/)写得非常好，内容全面的同时简洁生动，推荐细致阅读，也可当作手册查阅。

## 课程资源

* **课程网站**：[SP2025](https://sp25.cs168.io/)
* **课程视频**：参见课程主页
* **课程教材**：[https://textbook.cs168.io/](https://textbook.cs168.io/)
* **课程作业**：共三个 Python Projects, 相对简单

## 资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/UCB-CS168 - GitHub](https://github.com/PKUFlyingPig/UCB-CS168) 中。