🚉

東京メトロをダイナミックルーティング

2022/06/11に公開

前回のおさらい

Linuxでnetwork namespaceを使って仮想的なルータを作成して遊んでいました。

https://zenn.dev/takai404/articles/9633f5aa669f32
https://zenn.dev/takai404/articles/cda74f91c4a330
https://zenn.dev/takai404/articles/7f282e5d5a8200

東京メトロみたいなルータ網

多数のルータを通る経路と、ルータを通れなくなった場合の迂回路を試してみましょう。
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追記 ここから)
別記事を書きました。
https://zenn.dev/takai404/articles/33fad64f559934
https://zenn.dev/takai404/articles/e7df14056eb38a
https://zenn.dev/takai404/articles/802744083526ce
(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