CS144Lab/writeups/lab6.md
2023-02-18 15:01:40 +00:00

34 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Lab 6 Writeup
=============
My name: Catfood
My SUNet ID: 998244353
I collaborated with: An orange cat
This lab took me about `1` hours to do.
Program Structure and Design of the Router:
这个就更没啥东西了,根本不需要理解什么东西,做一个 Longest-Preifx-Match 就结束了。
两个接口:
- `add_route`,就直接无脑塞进队列里面(如果不做什么 trie 优化的话)
- 另一个 `route_one_datagram`,遍历前面生成的路由表,然后做匹配,也不用考虑什么默认路由之类的东西,找不到就扔掉。匹配完了减少 datagram 的 TTL无论当前是0还是剪完了到0都一起扔掉。最后记得判断 `next_hop` 是不是空的,如果是的,那么网卡发送的 `next_hop` 就换成当前数据报的目标 IP 地址就行了。
Implementation Challenges:
VSCode 的 IntelliSense 炸了两次,然后换了个 clangd。也就写了个巨复杂无比的 decltype 而已啊。
Remaining Bugs:
测试太简单了,我也不知道。
- Optional: I had unexpected difficulty with: [describe]
- Optional: I think you could make this lab better by: [describe]
- Optional: I was surprised by: [describe]
- Optional: I'm not sure about: [describe]