选课类别:计划 | 教学类型:实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业选修 | 学分:1.0 |
网络系统实验是计算机专业网络与信息安全方向的综合实验课程,通过让学生自己动手实现一个真实可用的TCP协议软件和IP路由转发软件,加强学生对TCP/IP核心协议的理解,并培养学生理论联系实际的能力。本实验课程包含循序渐进的7个实验项目,要求通过补充C++函数、类等构建一个完整的TCP实现及一个简单的IP路由器,能够实现端到端可靠数据传输,并满足一定的性能要求。
课程的实验框架来自 Stanford 的 CS144 课程,具体内容可以参考 Stanford 这门课的主页 CS 144: Introduction to Computer Networking ,本门课程的框架和流程都和链接里给出的资料差不多。
实验方面:
CS144 的实验框架设计的还是蛮精巧的,有许多眼前一亮的设计,用到的技术也比较新颖,完成这个试验后可以收获不少 C++ 和 TCP 相关的知识。
不过毕竟是实验课,因此四十个学时只有一学分,相对内容来说确实还是偏少了。老师说之后可能加入一些理论的内容,将课程提高到两学分,同时降低实验的工作量,这样的话实验的难度和学分会更匹配一些。对 C++ 和 linux 有一定了解,想要找个 project 练练手的同学可以来选这门课。
这门课是今年第一次开,基本照搬了斯坦福cs144的实验,大概就是在一个复杂框架中用c++17实现tcp协议,会涉及到gdb、bash script、Makefile、tshark和tun tap等工具的使用(后两个工具我到结课也没搞明白)。
内容还是挺难的,估计7个实验至少也要50个小时以上(其实我第五个实验就做了30个小时)。感觉内容确实不止1个学分吧,怎么样也比数电实验折磨多了。
不过毕竟是第一次开,老师也说了之后会降低实验难度和量。抛开做实验过程中的折磨不谈,收获还是不少的,至少对tcp的理解深入了很多。
另外,老师和助教都很好,有问题能及时反馈,下一次开的课应该还是比较推荐选的。