计算机网络
- 层级
- 本科生
- 状态
- 建设中
提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。
教学大纲
课程概览
计算机网络课程从端到端原则出发,覆盖链路、IP、路由、传输、拥塞控制、DNS、HTTP、TLS 和网络测量。课程特别强调协议行为的可观察性、故障诊断和安全边界。
这是网络协议分析、应用密码学、软件安全和系统安全的网络基础。
先修要求
- 系统编程基础。
- 理解进程、文件和 socket 的基本概念。
- 能阅读协议文档和抓包结果。
学习目标
- 解释 Internet 分层和端到端设计原则。
- 分析 IP、TCP、UDP、DNS、HTTP 和 TLS 行为。
- 使用抓包、测量和日志诊断网络问题。
- 实现小型网络协议或服务。
- 识别网络协议和部署中的安全风险。
教学组织
- 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
- 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
- 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。
周计划
第 1 周
分层、端到端和测量工具
完成 traceroute、ping 和抓包实验。
第 2 周
分层、端到端和测量工具实验与评审
完成 traceroute、ping 和抓包实验。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 3 周
第 4 周
链路、交换和局域网实验与评审
分析以太网、ARP 和局域网故障。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 5 周
第 6 周
IP、路由和地址实验与评审
配置小型路由拓扑并诊断路径。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 7 周
第 8 周
UDP、TCP 和拥塞控制实验与评审
测量延迟、吞吐和重传行为。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 9 周
第 10 周
DNS、CDN 和命名实验与评审
追踪域名解析和缓存行为。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 11 周
HTTP、QUIC 和应用协议
实现一个小型代理或协议客户端。
第 12 周
HTTP、QUIC 和应用协议实验与评审
实现一个小型代理或协议客户端。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 13 周
第 14 周
TLS、网络安全和隐私实验与评审
分析握手、证书和常见配置错误。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 15 周
第 16 周
网络测量和故障复盘实验与评审
提交网络测量项目和故障报告。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
考核方式
个人作业
25%概念题、阅读题、设计题和小型编程或实验任务。
实验与项目
40%协议实验、抓包分析、网络工具和测量报告。
课堂参与与评审
10%参与讨论、演示、代码或论文评审,以及同伴反馈。
期末报告与答辩
25%提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。
课程项目
学生完成一个网络测量、协议实现或故障诊断项目,交付抓包、代码、实验数据和分析报告。
课程政策
- 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
- 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
- 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。
参考课程
国际名校
- CMU15-441/641: Networking and the Internet
- CornellCS 4450/5456: Introduction to Computer Networks
- ETH ZurichComputer Networks
- Georgia TechCS 6250: Computer Networks
- MIT6.1800: Computer Networks
- PrincetonCOS 461: Computer Networks
- StanfordCS 144: Introduction to Computer Networking
- UC BerkeleyCS 168: Introduction to the Internet: Architecture and Protocols
- University of WashingtonCSE 461: Introduction to Computer Communication Networks
中国 985 高校
- 上海交通大学CS339: 计算机网络
- 中国科学技术大学计算机网络
- 南京大学计算机网络
- 哈尔滨工业大学计算机网络
- 武汉大学计算机网络
- 浙江大学计算机网络
- 清华大学计算机网络(Router Lab)