Q.ネットワークの範囲で授業ネタに困ることが多いんですが…
と聞かれることが多くて。 IPの仕組みやサーバーに関するネタをあれこれとよく話すんですが、経路に関するネタはあまり興味を持たれず悲しいので、ここに記しておこうかと。
※別件ですが、千葉県のlg.jpサーバー問題はかなり改善されました。ありがとう熊谷知事!本当に!!(過去ログ参照)
1.tracerouteだけでも面白い
- ログを読んでみよう
サーバーの物理的な設置場所が事前にわかるものにTracerouteするといい。
(学校内で使っているWebサーバーとか。)
>tracert cis.kashiwanoha.ed.jp
- 結果をMAP(現実)に落とし込んでみよう
今回使ったのは
Open Visual Traceroute. ※要JAVA。画像は公式Webサイトより。
Tracerouteの各ホップの位置をIPから推定して、MAPにPinを立ててくれる。
ネットワークを旅する様子がアニメーションとして可視化されるので結構楽しい。
内閣府も千葉県も、終着点はアメリカだった…。 実は日本国内で完結するサーバーを探す方がムズカシイ。
- 意味を探ってみよう
cis.kashiwanoha.ed.jp [172.67.177.178] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 192.168.30.1 //学校内のデフォルトゲートウェイ 2 i211-130-175-130.s99.a049.ap.plala.or.jp //ISPのぷらら。しばらく、ぷらら網 3 211.130.175.157 4 114.190.183.117 5 i118-21-178-57.s99.a049.ap.plala.or.jp [118.21.178.57] 6 211.6.91.169 7 60.37.54.161 8 ae-8.a03.tokyjp05.jp.bb.gin.ntt.net [120.88.53.17] //NTT網 9 timeout 10 ae-5.r26.sttlwa01.us.bb.gin.ntt.net [129.250.4.142] 11 ae-18.a02.sttlwa01.us.bb.gin.ntt.net [129.250.2.27] 12 ae-0.cloudflare.sttlwa01.us.bb.gin.ntt.net [128.241.3.182] 13 108.162.243.35 //CloudFlare 14 172.67.177.178 //エッジサーバー トレースを完了しました。
- AIに解説させてみよう
結果をAIに張り付けて解説させるのも面白いです。
ホスト名が出ていないものを読み解くのも面倒ですし…各自で遊べますし!
プロンプト「トレースルートの結果を解説して」 ※読みにくいです
「トレースルートの結果を解説して」
いいトレースです!これは 自宅 → NTTぷらら網 → NTTグローバルIPバックボーン(GIN)→ Meta(=Facebook/Instagram) 東京POP → Instagramエッジ という王道ルート。各ホップを読み解きます。
ざっくり全体像
- 1〜4: 自宅LAN → ぷらら(NTTのISP)アクセス網
- 5〜7,9〜10: NTTの国際バックボーン gin.ntt.net(東京拠点内でルータ間を移動)
- 10以降: tfbnw.net(MetaのAS32934)へ流入、東京POP内を数ホップ進んで instagram のエッジ に到達
各ホップ解説
1) 192.168.30.1(1/4/24ms)
- 自宅の NAT/ホームルータ。私用アドレスなので妥当。
- 24ms は単発のバースト(測定瞬間の処理待ち)。問題なし。
2) i118-21-182-55.s99.a049.ap.plala.or.jp [118.21.182.55](7/5/4ms)
- ぷらら(NTTぷらら)アクセス網の最寄りBRAS/収容ルータ付近。
plala.or.jpの逆引きがそれを示唆。
3) 118.21.184.181(8/8/7ms)
- ぷらら網の次段。逆引きが無いだけで中身は上と同系。
4) i118-21-178-61.s99.a049.ap.plala.or.jp [118.21.178.61](6/5/10ms)
- ぷらら網内の別ルータ。レイテンシ安定。
5) 211.6.91.173(13/10/16ms)
- ぷらら→NTT GIN への出口付近。ここから事業者バックボーンへ寄っていく。
6) 60.37.54.165(8/6/14ms)
- NTT網(地域ノード〜バックボーンの境界あたり)。
7) ae-7.a04.tokyjp05.jp.bb.gin.ntt.net [120.88.53.25](103/8/12ms)
- gin.ntt.net は NTTのグローバルバックボーン。
ae-7は Aggregated Ethernet(束ねインタフェース)番号。
a04.tokyjp05は 東京(to ky jp)拠点群の装置a04 という命名。
- 103ms は外れ値(一瞬のキュー詰まり or ICMP低優先度)。次ホップ以降は低遅延なので経路自体は健全。
8) * * *(タイムアウト)
- 典型的な ICMP応答制限/フィルタ。
- 「ここを通れなかった」ではなく「応答を返さない設定」のことが多いです。
9) ae-0.a03.tokyjp08.jp.bb.gin.ntt.net [129.250.5.203](9/12/9ms)
- 同じく NTT GIN 東京内の別ルータ。
tokyjp08へ装置が変わっている=同拠点内での横移動。
10) ae-1.meta.tokyjp08.jp.bb.gin.ntt.net [157.238.226.59](11/12/12ms)
- ここが NTT GIN → Meta (Facebook/Instagram) のピアリング境界。
metaラベル付きの対向。ここで AS32934 (Meta) 側へ交通が渡ります。
11) po4004.asw01.nrt1.tfbnw.net [147.75.221.42](8/9/13ms)
- Meta側に入った最初のスイッチ群。
tfbnw.net= The Facebook Network(Metaのバックボーン)。
aswは Aggregation Switch と解釈されることが多い命名。
po4004は Port-Channel(LAG) #4004 を示す典型。
nrt1は 東京拠点(Naritaコード)。
12) psw02.nrt1.tfbnw.net [173.252.66.63](29/14/26ms)
pswは Peering/Provider Switch 系の命名で使われがち。
- 東京POP内でさらに内部へ。29ms は軽いバースト。
13) msw1aj.02.nrt1.tfbnw.net [129.134.80.237](22/56/31ms)
mswは Metro/Backbone/Module Switch 的な命名に見えます(Meta固有の略称)。
- 56ms は単発の揺れ。次ホップはふつうに低いので気にしなくてOK。
14) instagram-p42-shv-02-nrt1.fbcdn.net [157.240.31.174](28/15/13ms)
- 最終宛先(Instagramのエッジ)。
fbcdn.netは MetaのCDNドメイン。
nrt1が付いている=東京のエッジ/キャッシュで応答。
- 数十ms以内で安定しており良好です。
何が読み取れる?
- 国内(東京)でMetaにピアリングし、そのまま 東京のInstagramエッジで応答。
- 全体遅延は10〜20ms台中心で、局所的な外れ値(Hop7, 12, 13)はICMP優先度や瞬間混雑の影響。実アプリ遅延とは直結しません。
- 経路は短く、ISP(ぷらら)→NTT GIN→Meta東京POP の理想的な流れ。
ちょいテク(読み方のコツ)
ae-#= Aggregated Ethernet インタフェース番号
po####= Port-Channel(LAG)番号
asw/psw/msw= 集約/ピアリング/コア系スイッチを示すことが多い接頭辞
tokyjp## / nrt#= 東京拠点(館やフロア違い)
まとめ
このトレースは、ぷらら→NTTバックボーン→Meta東京POP→Instagram東京エッジという非常に健全で近い経路です。アプリ体感も良いはず。Hop 7/12/13 の突発的な高RTTは 測定上の揺れとして扱ってOKです。必要なら、この経路も「路線図」風に可視化しますよ!
プロンプト「Notion用のテキスト版を生成」
「Notion用のテキスト版を生成」
あなたのPC │ ▼ 【1】192.168.30.1 (自宅ルータ) │ ▼ 【2】ぷらら収容ルータ i211-130-175-130.s99.a049.ap.plala.or.jp │ ▼ 【3】ぷらら中継(逆引きなし) 211.130.175.157 │ ▼ 【4】ぷらら中継 114.190.183.117 │ ▼ 【5】ぷらら別ノード i118-21-178-57.s99.a049.ap.plala.or.jp │ ▼ 【6】ぷらら→NTT境界 211.6.91.169 │ ▼ 【7】NTT境界(東京) 60.37.54.161 │ ▼ =================== NTT GIN(Global IP Network)東京 =================== │ ▼ 【8】tokyo GINルータ ae-8.a03.tokyjp05.jp.bb.gin.ntt.net │ ▼ 【9】※ICMP応答なし(NTT内部) timeout │ ▼ =================== 太平洋横断(東京 → シアトル) =================== │ ▼ 【10】NTT GIN シアトル(Seattle) ae-5.r26.sttlwa01.us.bb.gin.ntt.net │ ▼ 【11】NTT GIN シアトル(別ルータ) ae-18.a02.sttlwa01.us.bb.gin.ntt.net │ ▼ =================== NTT → Cloudflare シアトル接続点 =================== │ ▼ 【12】Cloudflare入口(Seattle) ae-0.cloudflare.sttlwa01.us.bb.gin.ntt.net │ ▼ 【13】Cloudflare シアトル POP 108.162.243.35 │ ▼ 【14】Cloudflare Anycast最終 172.67.177.178(宛先)
- 生徒が使っていそうなWebサイトをTracerouteしてみよう。
X.comとか、Google.com。FacebookとかAmazon.co.jpも面白い。
DNSやDCなどのサーバーを自前で使っている所と、ClooudFlareを使っている場所で見比べるのが個人的には好き。
C:\Users\hoge>tracert twitter.com twitter.com [162.159.140.229] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 1 ms 1 ms 5 ms 192.168.30.1 2 49 ms 47 ms 52 ms i211-130-175-130.s99.a049.ap.plala.or.jp [211.130.175.130] 3 65 ms 60 ms 63 ms 211.130.175.153 4 118 ms 68 ms 58 ms 114.190.183.113 5 62 ms 66 ms 67 ms i118-21-178-49.s99.a049.ap.plala.or.jp [118.21.178.49] 6 60 ms 58 ms 62 ms 211.6.91.169 7 65 ms 67 ms 67 ms 122.1.245.65 8 69 ms 61 ms 49 ms ae-8.a04.tokyjp05.jp.bb.gin.ntt.net [120.88.53.29] 9 * * * 要求がタイムアウトしました。 10 70 ms * 54 ms ae-0.a03.tokyjp08.jp.bb.gin.ntt.net [129.250.5.203] 11 68 ms 80 ms 73 ms ae-0.cloudflare.tokyjp08.jp.bb.gin.ntt.net [128.241.9.77] 12 248 ms 59 ms 60 ms 103.22.201.129 13 65 ms 60 ms 48 ms 162.159.140.229 //CloudFlareのエッジサーバーで終わる例 トレースを完了しました。 C:\Users\hoge>tracert google.com google.com [142.250.206.238] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 4 ms 5 ms 3 ms 192.168.30.1 2 27 ms 35 ms 40 ms i211-130-175-130.s99.a049.ap.plala.or.jp [211.130.175.130] 3 57 ms 51 ms 49 ms 211.130.175.157 4 53 ms 45 ms 50 ms 114.190.183.117 5 * 62 ms 51 ms i118-21-178-61.s99.a049.ap.plala.or.jp [118.21.178.61] 6 78 ms 65 ms 65 ms 211.6.91.173 7 75 ms 69 ms 69 ms 60.37.54.165 8 69 ms 53 ms 50 ms 60.37.54.110 9 70 ms * 64 ms 61.126.86.146 10 68 ms 77 ms 64 ms 108.170.231.103 11 69 ms 66 ms 66 ms 192.178.86.56 12 70 ms 67 ms 62 ms 142.250.212.149 13 75 ms 75 ms 70 ms 142.250.57.228 14 * 139 ms 80 ms 142.250.60.231 15 90 ms 74 ms 71 ms 142.250.58.193 16 78 ms * * kix06s10-in-f14.1e100.net [142.250.206.238] 17 77 ms 77 ms 71 ms kix06s10-in-f14.1e100.net [142.250.206.238] //Google自前の関西(Osaka/KIX)リージョンで終わる例 トレースを完了しました。
2.IPv4とIPv6の違いを学んだあとなら、比較もできる
IPv4とIPv6の比較や、経路の違いを見るだけでも相当に面白い。 現在執筆している環境ではIPv6環境がなかったため、VPSのログを提示しておく。
VPSからGoogleのDNSに到達するまでの経路(AI)
■比較表
| ホップ数 | IPv4 | IPv6 |
| GMO → NTT → Google | GMO → JPNAP → Google | |
| 経路タイプ | トランジット | ピアリング |
| ホップ数 | 9ホップ | 実質6ホップ |
| 遅延 | 約1ms台 | 約1ms台 |
| 最適度 | 中 | 高(最短距離) |
| 接続形態 | 上位ISPを経由 | 直接Googleへ到達 |
IPv4
asami@163-44-252-204:~$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max
1 163.44.252.2
2 133.130.14.245
3 133.130.15.78
4 133.130.12.174
5 133.130.12.166
6 210.171.224.95
7 142.251.66.207
8 108.170.236.127
9 8.8.8.8IPv6
asami@163-44-252-204:~$ traceroute6 2001:4860:4860::8888
1 2400:8500:1801:488::2
2 2400:8500:1800:1001::1
3 2400:8500:1800:1004::2
4 2400:8500:1000:1441::1
5 2400:8500:1000:f004::1
6 2001:de8:c::1:5169:2
7 2001:4860:0:1::47cf
8 2001:4860:0:1::659
9 dns.google (2001:4860:4860::8888)✅ IPv4 の経路解説
✅ IPv6 の経路解説
- 1〜5:GMOインターネット内部バックボーン(AS7506)
→ すべて東京データセンターのルータ。
- 1〜5:GMOインターネット内部バックボーン(AS7506)
→ IPv4同様、東京DCのルータ。
- 7〜8:Google 東京PoP(AS15169)
→ Googleのバックボーン入口。
- 7〜9:Google 東京PoP(AS15169)
→ Google側のIPv6バックボーンに直接入る。
- 9:8.8.8.8
→ Anycastで東京PoPが応答。
📍 IPv4は「GMO → NTT → Google」という構成
📍 IPv6は「GMO → JPNAP(IX直結)→ Google」という最短経路
■ なぜこうなるのか?(理由)
IPv6による最適化
- そもそもGoogle(AS15169)は世界中でIPv4よりIPv6を最適化する方針を持っている。
- 各端末がグローバルIPを持ち、NATが不要(直通)できるため経路が効率化されやすい。
3.ついでに、NSとか見ても面白い。
- x.comの例
>nslookup -type=ns x.com サーバー: dns.google Address: 8.8.8.8 権限のない回答: x.com nameserver = b.r10.twtrdns.net x.com nameserver = b.u10.twtrdns.net x.com nameserver = c.r10.twtrdns.net x.com nameserver = c.u10.twtrdns.net x.com nameserver = d.r10.twtrdns.net x.com nameserver = d.u10.twtrdns.net x.com nameserver = a.r10.twtrdns.net x.com nameserver = a.u10.twtrdns.net a.u10.twtrdns.net internet address = 204.74.111.101 b.r10.twtrdns.net internet address = 205.251.196.198 b.u10.twtrdns.net internet address = 205.251.196.198 c.r10.twtrdns.net internet address = 205.251.194.151 c.u10.twtrdns.net internet address = 205.251.194.151 d.r10.twtrdns.net internet address = 205.251.199.195 d.u10.twtrdns.net internet address = 205.251.199.195※x.comのNSが、TwitterDNSのまま流用されていることが解る。
- facebookとinstagramの比較
>nslookup -type=ns facebook.com facebook.com nameserver = c.ns.facebook.com facebook.com nameserver = a.ns.facebook.com facebook.com nameserver = d.ns.facebook.com facebook.com nameserver = b.ns.facebook.com d.ns.facebook.com internet address = 185.89.219.12 //同じA b.ns.facebook.com internet address = 129.134.31.12 //同じB c.ns.facebook.com internet address = 185.89.218.12 a.ns.facebook.com internet address = 129.134.30.12 >nslookup -type=ns instagram.com instagram.com nameserver = c.ns.instagram.com instagram.com nameserver = d.ns.instagram.com instagram.com nameserver = a.ns.instagram.com instagram.com nameserver = b.ns.instagram.com b.ns.instagram.com internet address = 129.134.31.12 //同じB d.ns.instagram.com internet address = 185.89.219.12 //同じA※同じMetaのNSが使用されている
まぁ…
- MAPに落としこむとTracerouteの中身が見えるようになって面白いよ。
- 実際の経路を指で追わせるだけで理解度が変わるんじゃないかな?
…という話でした。長々と呼んでいただきThanks!



コメント
コメントを読み込んでいます…