東京メトロをダイナミックルーティング
前回のおさらい
Linuxでnetwork namespaceを使って仮想的なルータを作成して遊んでいました。
東京メトロみたいなルータ網
多数のルータを通る経路と、ルータを通れなくなった場合の迂回路を試してみましょう。
router1, router2, router3...と機械的な名前でもいいのですが、迂回路をイメージしやすいように東京の地下鉄である東京メトロの路線図をルータで表現してみました。
図が縮小されて見づらいと思いますが、雰囲気だけでも伝われば… 拡大図はこちら
本来なら北(図の上側)にあるべき駅が南(図の下側)にあったりしますが、細かいことはあまり気にしないでください。
なんで東京メトロなの?都営地下鉄は?とかJRは?東京以外は?とか突っ込みどころはいっぱいですが、まぁ、データ入力に力尽きただけです。
作り方
作成コマンドは非常に長いのでこちらに置きました。
以下で作成できます。
apt install -y frr traceroute
wget https://raw.githubusercontent.com/takai404/hakoniwa/main/networks/tokyometro/tokyometro_build.sh
wget https://raw.githubusercontent.com/takai404/hakoniwa/main/networks/tokyometro/tokyometro_destroy.sh
chmod 755 tokyometro_build.sh tokyometro_destroy.sh
./tokyometro_build.sh
経路について
例えばogikubo(荻窪)ルータからnishifunabashi(西船橋)ルータまでの経路を見てみると、以下のようになりました。荻窪から銀座まで丸ノ内線、そこからなぜか銀座線で日本橋まで行って、東西線で西船橋まで行く経路になりました。hopが30まで表示されているので30ノード(30駅)を通れば目的地にたどり着けることを示しています。
# ip netns exec ogikubo traceroute -m 255 nishifunabashi
traceroute to nishifunabashi (10.254.4.23), 255 hops max, 60 byte packets
1 minamiasagaya (10.2.1.20) 0.140 ms 0.003 ms 0.001 ms
2 shinkoenji (10.2.2.20) 0.073 ms 0.004 ms 0.001 ms
3 higashikoenji (10.2.3.20) 0.069 ms 0.004 ms 0.002 ms
4 shinnakano (10.2.4.20) 0.088 ms 0.005 ms 0.004 ms
5 nakanosakaue (10.2.5.20) 0.042 ms 0.004 ms 0.002 ms
6 nishishinjuku (10.2.6.20) 0.047 ms 0.020 ms 0.004 ms
7 shinjuku (10.2.7.20) 0.059 ms 0.012 ms 0.004 ms
8 shinjukusanchome (10.2.8.20) 0.073 ms 0.009 ms 0.004 ms
9 shinjukugyoemmae (10.2.9.20) 0.064 ms 0.007 ms 0.004 ms
10 yotsuyasanchome (10.2.10.20) 0.028 ms 0.005 ms 0.004 ms
11 yotsuya (10.2.11.20) 0.079 ms 0.010 ms 0.012 ms
12 ichigaya (10.8.8.20) 0.056 ms 0.008 ms 0.006 ms
13 iidabashi (10.6.13.10) 0.053 ms 0.009 ms 0.006 ms
14 kudanshita (10.4.6.20) 0.043 ms 0.011 ms 0.006 ms
15 takebashi (10.4.7.20) 0.047 ms 0.010 ms 0.007 ms
16 otemachi (10.4.8.20) 0.087 ms 0.015 ms 0.007 ms
17 nihombashi (10.1.10.20) 0.154 ms 0.027 ms 0.008 ms
18 kayabacho (10.4.10.20) 0.023 ms 0.010 ms 0.008 ms
19 monzennakacho (10.4.11.20) 0.014 ms 0.008 ms 0.008 ms
20 kiba (10.4.12.20) 0.096 ms 0.018 ms 0.009 ms
21 toyocho (10.4.13.20) 0.092 ms 0.019 ms 0.010 ms
22 minamisunamachi (10.4.14.20) 0.089 ms 0.060 ms 0.012 ms
23 nishikasai (10.4.15.20) 0.079 ms 0.016 ms 0.010 ms
24 kasai (10.4.16.20) 0.079 ms 0.017 ms 0.011 ms
25 urayasu (10.4.17.20) 0.094 ms 0.019 ms 0.011 ms
26 minamigyotoku (10.4.18.20) 0.078 ms 0.017 ms 0.012 ms
27 gyotoku (10.4.19.20) 0.152 ms 0.024 ms 0.054 ms
28 myoden (10.4.20.20) 0.085 ms 0.019 ms 0.013 ms
29 barakinakayama (10.4.21.20) 0.081 ms 0.018 ms 0.012 ms
30 nishifunabashi (10.254.4.23) 0.082 ms 0.021 ms 0.013 ms
#
あくまでノード(駅)とノード(駅)の隣接関係をモデル化しているだけで、現実世界での乗り換え時に考慮すべき乗車時間、乗り換え時間、運賃など一切考慮していないです。OSPF各種パラメータをデフォルト値で使っているので、純粋に目的地までの経由ノード数が少ない経路が選択されています。
(電車の乗り換え経路のアルゴリズムを考えている人は本当にすごいなぁと改めて思います)
ノード障害
日本橋
途中のノードが通れなくなった場合の新経路も確認できます。
先のtraceroute経路の17番、nihombashi(日本橋)ルータを停止させます。
# ip netns exec nihombashi ip link set group default down
# ip netns exec ogikubo traceroute -m 255 nishifunabashi
traceroute to nishifunabashi (10.254.4.23), 255 hops max, 60 byte packets
1 minamiasagaya (10.2.1.20) 0.014 ms 0.001 ms 0.001 ms
2 shinkoenji (10.2.2.20) 0.007 ms 0.001 ms 0.002 ms
3 higashikoenji (10.2.3.20) 0.005 ms 0.002 ms 0.002 ms
4 shinnakano (10.2.4.20) 0.006 ms 0.002 ms 0.003 ms
5 nakanosakaue (10.2.5.20) 0.008 ms 0.003 ms 0.002 ms
6 nishishinjuku (10.2.6.20) 0.009 ms 0.013 ms 0.003 ms
7 shinjuku (10.2.7.20) 0.008 ms 0.003 ms 0.004 ms
8 shinjukusanchome (10.2.8.20) 0.009 ms 0.005 ms 0.004 ms
9 shinjukugyoemmae (10.2.9.20) 0.011 ms 0.004 ms 0.007 ms
10 yotsuyasanchome (10.2.10.20) 0.011 ms 0.005 ms 0.005 ms
11 yotsuya (10.2.11.20) 0.011 ms 0.005 ms 0.008 ms
12 akasakamitsuke (10.2.12.20) 0.010 ms 0.006 ms 0.006 ms
13 kokkaigijidomae (10.2.13.20) 0.011 ms 0.006 ms 0.006 ms
14 kasumigaseki (10.2.14.20) 0.012 ms 0.007 ms 0.006 ms
15 ginza (10.2.15.20) 0.012 ms 0.007 ms 0.014 ms
16 higashiginza (10.3.9.20) 0.025 ms 0.044 ms 0.008 ms
17 tsukiji (10.3.10.20) 0.072 ms 0.013 ms 0.007 ms
18 hatchobori (10.3.11.20) 0.014 ms 0.007 ms 0.008 ms
19 kayabacho (10.3.12.20) 0.013 ms 0.008 ms 0.008 ms
20 monzennakacho (10.4.11.20) 0.015 ms 0.009 ms 0.008 ms
21 kiba (10.4.12.20) 0.013 ms 0.009 ms 0.009 ms
22 toyocho (10.4.13.20) 0.014 ms 0.175 ms 0.021 ms
23 minamisunamachi (10.4.14.20) 0.015 ms 0.010 ms 0.010 ms
24 nishikasai (10.4.15.20) 0.016 ms 0.011 ms 0.011 ms
25 kasai (10.4.16.20) 0.015 ms 0.011 ms 0.010 ms
26 urayasu (10.4.17.20) 0.014 ms 0.011 ms 0.011 ms
27 minamigyotoku (10.4.18.20) 0.015 ms 0.012 ms 0.040 ms
28 gyotoku (10.4.19.20) 0.017 ms 0.012 ms 0.012 ms
29 myoden (10.4.20.20) 0.016 ms 0.012 ms 0.012 ms
30 barakinakayama (10.4.21.20) 0.016 ms 0.012 ms 0.019 ms
31 nishifunabashi (10.254.4.23) 0.017 ms 0.014 ms 0.012 ms
以下の経路になりました。hopが1つ増えて、目的地まで31hopになりました。
荻窪-(丸の内線)-銀座
銀座-(日比谷線)-茅場町
茅場町-(東西線)-西船橋
八丁堀
先のtraceroute経路の18番、hatchobori(八丁堀)ルータを停止させます。
# ip netns exec hatchobori ip link set group default down
# ip netns exec ogikubo traceroute -m 255 nishifunabashi
traceroute to nishifunabashi (10.254.4.23), 255 hops max, 60 byte packets
1 minamiasagaya (10.2.1.20) 0.156 ms 0.004 ms 0.002 ms
2 shinkoenji (10.2.2.20) 0.044 ms 0.003 ms 0.002 ms
3 higashikoenji (10.2.3.20) 0.033 ms 0.002 ms 0.002 ms
4 shinnakano (10.2.4.20) 0.034 ms 0.003 ms 0.002 ms
5 nakanosakaue (10.2.5.20) 0.041 ms 0.004 ms 0.003 ms
6 nishishinjuku (10.2.6.20) 0.043 ms 0.024 ms 0.003 ms
7 shinjuku (10.2.7.20) 0.053 ms 0.007 ms 0.004 ms
8 shinjukusanchome (10.2.8.20) 0.042 ms 0.005 ms 0.005 ms
9 shinjukugyoemmae (10.2.9.20) 0.046 ms 0.006 ms 0.005 ms
10 yotsuyasanchome (10.2.10.20) 0.044 ms 0.008 ms 0.007 ms
11 yotsuya (10.2.11.20) 0.023 ms 0.007 ms 0.007 ms
12 ichigaya (10.8.8.20) 0.026 ms 0.007 ms 0.005 ms
13 iidabashi (10.6.13.10) 0.058 ms 0.012 ms 0.006 ms
14 kudanshita (10.4.6.20) 0.049 ms 0.012 ms 0.023 ms
15 takebashi (10.4.7.20) 0.029 ms 0.008 ms 0.009 ms
16 otemachi (10.4.8.20) 0.054 ms 0.012 ms 0.007 ms
17 mitsukoshimae (10.7.8.20) 0.059 ms 0.015 ms 0.011 ms
18 kanda (10.1.12.20) 0.048 ms 0.010 ms 0.008 ms
19 suehirocho (10.1.13.20) 0.049 ms 0.011 ms 0.008 ms
20 uenohirokoji (10.1.14.20) 0.051 ms 0.012 ms 0.012 ms
21 ueno (10.1.15.20) 0.044 ms 0.016 ms 0.009 ms
22 nakaokachimachi (10.3.17.10) 0.060 ms 0.021 ms 0.009 ms
23 akihabara (10.3.16.10) 0.055 ms 0.023 ms 0.010 ms
24 kodemmacho (10.3.15.10) 0.058 ms 0.022 ms 0.015 ms
25 ningyocho (10.3.14.10) 0.049 ms 0.023 ms 0.052 ms
26 kayabacho (10.3.13.10) 0.099 ms 0.019 ms 0.011 ms
27 monzennakacho (10.4.11.20) 0.050 ms 0.015 ms 0.023 ms
28 kiba (10.4.12.20) 0.051 ms 0.015 ms 0.016 ms
29 toyocho (10.4.13.20) 0.058 ms 0.015 ms 0.012 ms
30 minamisunamachi (10.4.14.20) 0.049 ms 0.017 ms 0.051 ms
31 nishikasai (10.4.15.20) 0.103 ms 0.030 ms 0.014 ms
32 kasai (10.4.16.20) 0.063 ms 0.492 ms 0.029 ms
33 urayasu (10.4.17.20) 0.140 ms 0.024 ms 0.014 ms
34 minamigyotoku (10.4.18.20) 0.082 ms 0.020 ms 0.015 ms
35 gyotoku (10.4.19.20) 0.078 ms 0.020 ms 0.030 ms
36 myoden (10.4.20.20) 0.086 ms 0.021 ms 0.015 ms
37 barakinakayama (10.4.21.20) 0.080 ms 0.023 ms 0.016 ms
38 nishifunabashi (10.254.4.23) 0.090 ms 0.034 ms 0.018 ms
さすがに非現実的な経路になってきましたね。たださっきよりも7hopの増加で目的地には行けます。
荻窪-(丸の内線)-四ツ谷
四ツ谷-(南北線)-飯田橋
飯田橋-(東西線)-大手町
大手町-(半蔵門線)-三越前
三越前-(銀座線)-上野
上野-(日比谷線)-茅場町
茅場町-(東西線)-西船橋
神田
18番、kanda(神田)ルータを停止させます。
# ip netns exec kanda ip link set group default down
# ip netns exec ogikubo traceroute -m 255 nishifunabashi
traceroute to nishifunabashi (10.254.4.23), 255 hops max, 60 byte packets
1 minamiasagaya (10.2.1.20) 0.156 ms 0.003 ms 0.001 ms
2 shinkoenji (10.2.2.20) 0.081 ms 0.003 ms 0.001 ms
3 higashikoenji (10.2.3.20) 0.074 ms 0.008 ms 0.002 ms
4 shinnakano (10.2.4.20) 0.087 ms 0.004 ms 0.003 ms
5 nakanosakaue (10.2.5.20) 0.081 ms 0.004 ms 0.004 ms
6 nishishinjuku (10.2.6.20) 0.073 ms 0.020 ms 0.003 ms
7 shinjuku (10.2.7.20) 0.048 ms 0.005 ms 0.003 ms
8 shinjukusanchome (10.2.8.20) 0.037 ms 0.005 ms 0.006 ms
9 shinjukugyoemmae (10.2.9.20) 0.020 ms 0.005 ms 0.005 ms
10 yotsuyasanchome (10.2.10.20) 0.049 ms 0.009 ms 0.007 ms
11 yotsuya (10.2.11.20) 0.088 ms 0.011 ms 0.020 ms
12 ichigaya (10.8.8.20) 0.025 ms 0.029 ms 0.009 ms
13 iidabashi (10.6.13.10) 0.087 ms 0.015 ms 0.006 ms
14 kudanshita (10.4.6.20) 0.087 ms 0.013 ms 0.007 ms
15 takebashi (10.4.7.20) 0.092 ms 0.015 ms 0.009 ms
16 otemachi (10.4.8.20) 0.088 ms 0.013 ms 0.007 ms
17 shinochanomizu (10.5.11.20) 0.139 ms 0.019 ms 0.011 ms
18 yushima (10.5.12.20) 0.092 ms 0.016 ms 0.012 ms
19 nezu (10.5.13.20) 0.086 ms 0.015 ms 0.008 ms
20 sendagi (10.5.14.20) 0.109 ms 0.017 ms 0.012 ms
21 nishinippori (10.5.15.20) 0.100 ms 0.015 ms 0.009 ms
22 machiya (10.5.16.20) 0.092 ms 0.059 ms 0.010 ms
23 kitasenju (10.5.17.20) 0.097 ms 0.021 ms 0.010 ms
24 minamisenju (10.3.21.10) 0.095 ms 0.019 ms 0.014 ms
25 minowa (10.3.20.10) 0.092 ms 0.017 ms 0.021 ms
26 iriya (10.3.19.10) 0.098 ms 0.080 ms 0.019 ms
27 ueno (10.3.18.10) 0.130 ms 0.022 ms 0.061 ms
28 nakaokachimachi (10.3.17.10) 0.108 ms 0.022 ms 0.013 ms
29 akihabara (10.3.16.10) 0.150 ms 0.024 ms 0.012 ms
30 kodemmacho (10.3.15.10) 0.098 ms 0.021 ms 0.019 ms
31 ningyocho (10.3.14.10) 0.094 ms 0.024 ms 0.014 ms
32 kayabacho (10.3.13.10) 0.124 ms 0.021 ms 0.020 ms
33 monzennakacho (10.4.11.20) 0.203 ms 0.037 ms 0.014 ms
34 kiba (10.4.12.20) 0.096 ms 0.021 ms 0.015 ms
35 toyocho (10.4.13.20) 0.417 ms 0.024 ms 0.022 ms
36 minamisunamachi (10.4.14.20) 0.071 ms 0.020 ms 0.015 ms
37 nishikasai (10.4.15.20) 0.072 ms 0.021 ms 0.016 ms
38 kasai (10.4.16.20) 0.089 ms 0.100 ms 0.020 ms
39 urayasu (10.4.17.20) 0.109 ms 0.026 ms 0.017 ms
40 minamigyotoku (10.4.18.20) 0.135 ms 0.030 ms 0.025 ms
41 gyotoku (10.4.19.20) 0.118 ms 0.029 ms 0.019 ms
42 myoden (10.4.20.20) 0.123 ms 0.028 ms 0.018 ms
43 barakinakayama (10.4.21.20) 0.130 ms 0.030 ms 0.124 ms
44 nishifunabashi (10.254.4.23) 0.162 ms 0.040 ms 0.020 ms
荻窪から西船橋まで行くのに北千住を通るようになりました。44hopなので、最初の30hopの約1.5倍のノードを経由しています。
荻窪-(丸の内線)-四ツ谷
四ツ谷-(南北線)-飯田橋
飯田橋-(東西線)-大手町
大手町-(千代田線)-北千住
北千住-(日比谷線)-茅場町
茅場町-(東西線)-西船橋
九段下、赤坂見附、本郷三丁目、溜池山王、四谷三丁目、北参道
どんどん経路を封印していきます。
# ip netns exec kudanshita ip link set group default down
# ip netns exec akasakamitsuke ip link set group default down
# ip netns exec hongosanchome ip link set group default down
# ip netns exec tameikesanno ip link set group default down
# ip netns exec yotsuyasanchome ip link set group default down
# ip netns exec kitasando ip link set group default down
# ip netns exec ogikubo traceroute -m 255 nishifunabashi
traceroute to nishifunabashi (10.254.4.23), 255 hops max, 60 byte packets
1 minamiasagaya (10.2.1.20) 0.046 ms 0.002 ms 0.000 ms
2 shinkoenji (10.2.2.20) 0.022 ms 0.002 ms 0.001 ms
3 higashikoenji (10.2.3.20) 0.021 ms 0.003 ms 0.002 ms
4 shinnakano (10.2.4.20) 0.016 ms 0.004 ms 0.003 ms
5 nakanosakaue (10.2.5.20) 0.025 ms 0.003 ms 0.003 ms
6 nishishinjuku (10.2.6.20) 0.022 ms 0.018 ms 0.006 ms
7 shinjuku (10.2.7.20) 0.024 ms 0.005 ms 0.005 ms
8 shinjukusanchome (10.2.8.20) 0.018 ms 0.004 ms 0.004 ms
9 higashishinjuku (10.9.12.10) 0.024 ms 0.006 ms 0.004 ms
10 nishiwaseda (10.9.11.10) 0.022 ms 0.006 ms 0.006 ms
11 zoshigaya (10.9.10.10) 0.144 ms 0.013 ms 0.013 ms
12 ikebukuro (10.9.9.10) 0.112 ms 0.010 ms 0.008 ms
13 shinotsuka (10.2.24.10) 0.022 ms 0.009 ms 0.007 ms
14 myogadani (10.2.23.10) 0.032 ms 0.009 ms 0.006 ms
15 korakuen (10.2.22.10) 0.026 ms 0.010 ms 0.009 ms
16 iidabashi (10.8.10.10) 0.027 ms 0.009 ms 0.008 ms
17 ichigaya (10.6.13.20) 0.045 ms 0.012 ms 0.007 ms
18 kojimachi (10.6.14.20) 0.028 ms 0.009 ms 0.008 ms
19 nagatacho (10.8.7.10) 0.026 ms 0.010 ms 0.008 ms
20 aoyamaicchome (10.7.3.10) 0.027 ms 0.011 ms 0.012 ms
21 omotesando (10.7.2.10) 0.026 ms 0.014 ms 0.009 ms
22 nogizaka (10.5.4.20) 0.032 ms 0.029 ms 0.015 ms
23 akasaka (10.5.5.20) 0.026 ms 0.013 ms 0.010 ms
24 kokkaigijidomae (10.5.6.20) 0.035 ms 0.015 ms 0.011 ms
25 kasumigaseki (10.2.14.20) 0.031 ms 0.013 ms 0.016 ms
26 ginza (10.2.15.20) 0.037 ms 0.013 ms 0.012 ms
27 tokyo (10.2.16.20) 0.037 ms 0.014 ms 0.046 ms
28 otemachi (10.5.10.20) 0.038 ms 0.016 ms 0.012 ms
29 shinochanomizu (10.5.11.20) 0.035 ms 0.016 ms 0.014 ms
30 yushima (10.5.12.20) 0.035 ms 0.016 ms 0.019 ms
31 nezu (10.5.13.20) 0.034 ms 0.016 ms 0.014 ms
32 sendagi (10.5.14.20) 0.031 ms 0.017 ms 0.015 ms
33 nishinippori (10.5.15.20) 0.055 ms 0.021 ms 0.014 ms
34 machiya (10.5.16.20) 0.036 ms 0.018 ms 0.016 ms
35 kitasenju (10.5.17.20) 0.031 ms 0.018 ms 0.021 ms
36 minamisenju (10.3.21.10) 0.031 ms 0.018 ms 0.015 ms
37 minowa (10.3.20.10) 0.037 ms 0.019 ms 0.016 ms
38 iriya (10.3.19.10) 0.032 ms 0.049 ms 0.018 ms
39 ueno (10.3.18.10) 0.036 ms 0.020 ms 0.017 ms
40 nakaokachimachi (10.3.17.10) 0.035 ms 0.021 ms 0.024 ms
41 akihabara (10.3.16.10) 0.036 ms 0.022 ms 0.018 ms
42 kodemmacho (10.3.15.10) 0.035 ms 0.023 ms 0.019 ms
43 ningyocho (10.3.14.10) 0.037 ms 0.023 ms 0.054 ms
44 kayabacho (10.3.13.10) 0.044 ms 0.023 ms 0.020 ms
45 monzennakacho (10.4.11.20) 0.046 ms 0.024 ms 0.029 ms
46 kiba (10.4.12.20) 0.043 ms 0.026 ms 0.021 ms
47 toyocho (10.4.13.20) 0.039 ms 0.027 ms 0.022 ms
48 minamisunamachi (10.4.14.20) 0.039 ms 0.026 ms 0.022 ms
49 nishikasai (10.4.15.20) 0.070 ms 0.038 ms 0.024 ms
50 kasai (10.4.16.20) 0.043 ms 0.028 ms 0.050 ms
51 urayasu (10.4.17.20) 0.045 ms 0.028 ms 0.024 ms
52 minamigyotoku (10.4.18.20) 0.042 ms 0.029 ms 0.024 ms
53 gyotoku (10.4.19.20) 0.043 ms 0.034 ms 0.074 ms
54 myoden (10.4.20.20) 0.055 ms 0.054 ms 0.028 ms
55 barakinakayama (10.4.21.20) 0.046 ms 0.035 ms 0.042 ms
56 nishifunabashi (10.254.4.23) 0.054 ms 0.093 ms 0.037 ms
荻窪から新宿、池袋、永田町、表参道、東京、北千住、上野、茅場町、西船橋という経路になりました。56hopかかっていますが、経由していたノードを9ヶ所止めてもたどり着けるということで東京メトロの経路冗長性に感心させられます。
青山一丁目
青山一丁目ノードを止めてみました。
# ip netns exec aoyamaicchome ip link set group default down
# ip netns exec ogikubo traceroute -m 255 nishifunabashi
traceroute to nishifunabashi (10.254.4.23), 255 hops max, 60 byte packets
connect: Network is unreachable
ついに迂回路がなくなってたどり着けなくなりました。
まとめ
完全にただの遊びなのでまとめというほどのことはないのですが、この仮想ルータ網は144ノードからなっています。物理的にこれだけのルータをかき集めて遊ぶことは現実的ではないですが、ルータを仮想化することと、作成・設定をコマンドラインで行うことでこのような環境を簡単に作れることが分かりました。
tracerouteのオプションとかnet.ipv4.icmp_ratemaskカーネルパラメータとかnetwork namespace内での/etc/hostsとか技術的なこともいくつか気づきがあったのですが、眠いので別記事にします。
(2022/06/12追記 ここから)
別記事を書きました。
(2022/06/12追記 ここまで)
お掃除
./tokyometro_destroy.sh
参考:動作確認を行った環境について
# cat /etc/issue
Ubuntu 22.04 LTS \n \l
# uname -r
5.10.16.3-microsoft-standard-WSL2
# dpkg -l frr iproute2 traceroute
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-===============-============-=============================================================
ii frr 8.1-1ubuntu1 amd64 FRRouting suite of internet protocols (BGP, OSPF, IS-IS, ...)
ii iproute2 5.15.0-1ubuntu2 amd64 networking and traffic control tools
ii traceroute 1:2.1.0-2 amd64 Traces the route taken by packets over an IPv4/IPv6 network
Discussion