跳转至

总述

版权声明

本项目为 2019 年秋季学期起清华大学计算机系开设的《计算机网络原理》课程的实验框架。 所有内容(包括文档、代码等)未经作者授权,禁止用作任何其他用途,包括且不限于在其他课程或者其他学校中使用。

如需使用授权,可通过 shengqi dot chen at tuna dot tsinghua dot edu dot cn 联系作者。作者保留一切追究侵权责任的权利。

推荐查看在线版

推荐查看本文档的在线版(https://lab.cs.tsinghua.edu.cn/router/doc/),而非 PDF 或 Word 版本。 离线版本的显示效果可能不佳,并且无法获得实时的更新。

确认实验内容

如果你参加的是硬件实验组,请先阅读上面菜单的“计网联合实验”,然后在合适的时机再阅读这份文档。

实验说明

这里是 2020 年网络原理课程原理课程实验采用的框架。它有以下的设计目标:

  • 降低难度:把与底层打交道的部分抽象成通用的接口,减少学习底层 API 的负担
  • 复用代码:在一个平台上编写的程序可以直接用于其他平台
  • 方便测试:提供文件读写 PCAP 的后端,可以直接用数据进行黑箱测试

实验的目标是完成一个具有以下功能的路由器:

  • 转发:收到一个路过的 IP 包,通过查表得到下一棒(特别地,如果目的地址直接可达,下一棒就是目的地址),然后“接力”给下一棒。
  • 路由:通过 RIP 协议,学习到网络的拓扑信息用于转发,使得网络可以连通。

本实验目标是让大家掌握如下技能:

  • 网络系统的调试,利用 ping 和抓包等工具,找到网络中出问题的地方并解决
  • 阅读、理解和实现 RFC 文档的能力,在本实验里主要是 RFC 2453: RIP Version 2
  • Linux 系统网络的配置

项目成员

  • 框架设计:张宇翔(@z4yx)
  • 代码与文档编写:陈晟祺(@Harry-Chen)、陈嘉杰(@jiegec)

以下同学曾担任网络原理课程的助教,协助测试实验框架:

  • (2019 年秋季学期)李江、陆超逸
  • (2020 年秋季学期)杨松涛、靳子豪

以下同学在 GitHub 上或者以其他方式向我们提交了贡献,特此表示感谢:

  • @Konano
  • @nzh63
  • @linusboyle

最后更新: 2020年11月8日
作者: Harry Chen (88.46%), Wende Tan (5.77%), Jiajie Chen (5.77%)