补全:最长前缀匹配
(每道题开头都有同一段:net_02 的 to_int / mask、判「前缀是否包含地址」的 contains,和本机的路由表 ROUTES——每行 (前缀, 下一跳或 None 表示直连, 接口, 度量)。)
本机的路由表:
0.0.0.0/0 via 192.168.10.1 eth0 100 ← 默认
192.168.10.0/24 直连 eth0 100
10.0.0.0/8 via 192.168.10.254 eth0 100 ← 机房
10.20.0.0/16 via 192.168.10.253 eth0 100 ← 机房里更具体的一段
127.0.0.0/8 直连 lo 0补全 lookup(routes, ip):在所有包含 ip 的行里挑前缀最长的(先不管度量),交回那一行。
全部评论