总述¶
版权声明
本项目为 2019-2020 年秋季学期起清华大学计算机系开设的《计算机网络原理》课程的实验框架。 所有内容(包括文档、代码等)未经作者授权,禁止用作任何其他用途,包括且不限于在其他课程或者其他学校中使用。
如需使用授权,可通过 shengqi dot chen at tuna dot tsinghua dot edu dot cn 联系作者。作者保留一切追究侵权责任的权利。
推荐查看在线版
推荐查看本文档的在线版(https://lab.cs.tsinghua.edu.cn/router/doc/),而非 PDF 或 Word 版本。 离线版本的显示效果可能不佳,并且无法获得实时的更新。
教学目的¶
当你在阅读这段文字的时候,你已经在使用网络访问这份在线文档,日常生活离不开网络。但你也一定经历过各种网络问题,例如连不上无线网络,连上了网络但显示没有互联网等等。在学这门课之前,你可能只能求助他人或者自己断开网络重新连接,甚至重启。
现在,你已经在《计算机网络原理》课程上学习了计算机网络的基本工作原理以及所采用的技术,但还很难把这些理论知识与每天使用的网络联系起来,也不知道怎么解决生活中遇到的网络问题。这就是这个实验的意义:
一方面,把抽象的协议用实际的代码实现起来,你会发现支撑网络的底层的协议,原来用代码这么容易就可以实现。另一方面,在这个过程中,你会利用网络调试工具,解决自己实现协议时出现的各种问题————这些解决方法可以迁移到日常的网络使用当中:未来当你再次遇到网络不通的时候,你可以用工具定位出具体的问题,自己尝试解决,而不是去盲目地重启。
实验内容¶
2024-2025 年秋季《计算机网络原理课程》的实验有两大分支:
- 软件实验,内有三个阶段:
- 第一阶段:编程作业
- 第二阶段:个人实验,在以下四个选项中选择一个完成:
- OSPF 路由器(推荐)
- RIPng 路由器
- DHCPv6 路由器
- TFTP 客户端和服务端
- 第三阶段:组网实验:将多名同学在个人实验的实现的软件,放在同一个网络中进行测试
- 硬件路由器实验(计网联合实验)
请根据你要做的实验,在左侧的菜单中找到相应的文档。
更新历史¶
- 2019-2020 学年:Router Lab 初始版本上线,硬件实验初始版本上线,使用 ThinRouter 开发板
- 2020-2021 学年:在线文档上线,TANLabs 在线实验平台上线,硬件实验开始使用 ThinRouter2 开发板
- 2021-2022 学年:软件实验从 IPv4 升级到 IPv6,从 RIP 协议升级到 RIPng 协议,硬件实验也从 IPv4 升级到了 IPv6
- 2022-2023 学年:软件实验添加 TFTP 和 DHCPv6 的实验选项
- 2023-2024 学年:软件实验添加 OSPF 的实验选项,硬件实验开始使用 ThinRouterK 开发板
项目成员¶
- 框架设计:张宇翔(@z4yx)
- 代码与文档编写:陈晟祺(@Harry-Chen)、陈嘉杰(@jiegec)
除了以上同学,以下同学曾担任《计算机网络原理》课程的助教,协助测试实验框架与完善本文档(排名不分先后):
- (2019-2020 学年秋季学期)李江、陆超逸
- (2020-2021 学年秋季学期)杨松涛、靳子豪
- (2020-2021 学年春季学期)潘俊臣、张杰、梁聪
- (2021-2022 学年秋季学期)雷怡然、张行健、包涵
- (2021-2022 学年春季学期)潘俊臣、张杰、梁聪、马川
- (2022-2023 学年秋季学期)林汇平、包涵、朱昱熹、计逸雄、任少睿
- (2022-2023 学年春季学期)潘俊臣、王通泽
- (2023-2024 学年秋季学期)佟海轩、张岩、朱昱熹、李骁
- (2023-2024 学年春季学期)潘俊臣、王通泽
- (2024-2025 学年秋季学期)佟海轩、张岩、朱昱熹、李骁、尚子智、彭汉一
以下同学在 GitHub 上或者以其他方式对本文档做出了贡献,特此表示感谢:
- @Konano
- @nzh63
- @linusboyle
- @Cydiater
- @Anillc
- @prnake
- @aannaazh