测试方法(满足部分即可拿到满分,超过满分部分舍去):
- 连通性(10%):PC1-4 两两之间可以互相
ping通 - 单链接单工:在 PC1 运行
iperf3 -s,在 PC2 运行iperf3 -c 192.168.5.3,默认参数运行,带宽不低于 70Mbps (15%),不低于 90Mbps(20%) - 双链接单工:在 PC2 运行
iperf3 -s,在 PC3 运行iperf3 -s,同时在 PC1 运行iperf3 -c 192.168.6.3和在 PC4 运行iperf3 -c 192.168.7.3,默认参数运行,带宽之和不低于 100 Mbps(10%),不低于 150Mbps (15%),不低于 180Mbps(20%) - 双链接双工:在 PC1-4 运行
iperf3 -s,同时在 PC1 运行iperf3 -c 192.168.6.3,在 PC1 运行iperf3 -c 192.168.6.3在 PC2 运行iperf3 -c 192.168.5.3在 PC3 运行iperf3 -c 192.168.8.3在 PC4 运行iperf3 -c 192.168.7.3,默认参数运行,带宽之和不低于 150 Mbps(20%),不低于 250Mbps (25%),不低于 350Mbps(30%) - 单链接单工小包:在 PC2 运行
iperf3 -s,在 PC1 运行iperf3 -c 192.168.6.3 -u -l 16 -t 5 -b 1G,在 PC2 计算 0.00-5.00 秒总共的(Total Datagrams - Lost) / 5s,不低于 1K(5%),不低于 5K(10%),不低于 25K(15%),不低于 50K(20%),不低于 100K(30%) - 小规模路由表压力测试(10%):在 R1 上额外配置 192.168.10.0/24 ~ 192.168.255.0/24 共 246 条新的路由,保证 RIP 协议运行的正确性
- 中等规模路由表压力测试(15%):在 R1 R2 R3 R4 上分别配置 10.1.0.0/24 ~ 10.2.255.0/24,10.3.0.0/24 ~ 10.4.255.0/24,10.5.0.0/24 ~ 10.6.255.0/24,10.7.0.0/24 ~ 10.8.255.0/24 共 2048 条新路由,保证 RIP 协议运行和转发功能的正确性
- 较大规模路由表压力测试(20%):在 R1 上配置 AS4538 的所有 IPv4 路由(约 5000 条),保证 RIP 协议运行和转发功能的正确性
- 其他扩展功能:经助教和老师同意可以获得每项不高于 10% 的分数
在 SetupJoint 目录下还有用于测试以上各项的脚本 ,执行前需要执行 ./setup.sh 以配置环境,然后在 tmux 之外运行 ./part[1-8].sh 以测试各个阶段。此外,./disable.sh 会关闭 BIRD 的额外的路由表, ./restart.sh 会重启 BIRD 。
测试流程:
- 在 tmux 之外运行 ./setup.sh ,检查 eno1-4 是否分别出现在 R1-4 的 netns,如果不在就在 tmuc 之外再次运行 ./setup.sh 。
- 在 tmux 之外按顺序运行 ./part{1,2,3,4,5}.sh 进行测试,每个 part 都可以多次运行。
- 对于路由表的测试,可以运行 ./part{6,7,8}.sh 在 BIRD 中开启对应的路由表,用 ./disable.sh 关掉额外的路由表,用 ./restart.sh 重启 BIRD 。测试过程中,可以通过重启 BIRD 来保证上一阶段的路由表都已经过期。
注意事项:
- tmux 使用方法网上可查,没有修改配置。
- Shell 提示符中会显示当前的 netns 。
- 部分脚本需要在 tmux 外运行。
