课程要求¶
对于秋季学期参与联合实验的同学,请参考联合实验的课程要求。
课程实验分为如下两个部分:编程作业和真机评测。总代码量约 400 行。
编程作业:校历第 3 周-第 9 周周日(2022 年 4 月 24 日)22:00:00
真机评测(单人):校历第 10 周-第 12 周周日(2022 年 5 月 15 日)22:00:00
真机评测(组队):校历第 13 周-第 14 周周日(2022 年 5 月 29 日)22:00:00
以上截止时间都以东八区(UTC+8)为准。在截止时间之前,你需要提交代码、完成评测并且标记最终提交。如果不标记最终提交,则以截止时间前最后一次评测结果为准。如果未能在截止时间前完成,可以在网络学堂的补交作业中提交,注明是哪个阶段,git commit 的哈希和评测编号,但会扣除分数。
编程作业¶
目前,一共包括四个编程实验如下(总代码量约 200 行):
eui64
:基于 EUI64 构造 IPv6 Link Local 地址internet-checksum
:进行 UDP 和 ICMPv6 校验和的检验和计算lookup
:路由表的查询和更新protocol
:RIPng 协议的处理
你需要在 TANLabs 上登录,并且在网站上创建属于你的作业 GitLab 仓库。你需要使用 Git 往你的作业仓库中提交的你的代码,然后在 TANLabs 查看评测结果。评测的流程和要求详见 TANLabs 网站上的说明。
编程作业占实验的 20% 分数。参加联合实验的同学也需要完成编程实验(得到这一部分满分)。每个实验占四分之一的编程作业分数,每个实验的所有数据点均分分数。你需要标注一次提交作为最终提交来计算最终成绩,这一部分的分数可以在 TANLabs 上看到。
真机评测¶
第二部分,你需要基于编程作业的代码,修改 Homework/router/main.cpp
,实现一个完整的路由器功能。和编程作业一样,你也需要把代码提交到 GitLab 上,然后在 TANLabs 上进行远程的树莓派的评测,分为个人和组队两种评测方法,详见 TANLabs 网站上的说明。总代码量约 200 行。
对于路由器的评测流程,详见 “验收流程” 文档。
真机评测占实验的 80% 分数。个人评测和组队评测各占 真机评测 分数的一半(即各占 40%)。你需要在 TANLabs 上标记你的最终评测,每次评测会显示各项评测的原始结果,但不提供分数。