グローバルBGPテーブルの一日
- BGPテーブルについては多くの分析が行われており、主に長期的な傾向に焦点が当てられている。しかしこの記事では、短期的な視点からBGPテーブルの一日を見ていく。
ヤクシェービング開始
- データを収集するため、BGPデーモンを使ってBGPメッセージをJSON形式で出力する bgpsee ツールを開発した。
- 2024年6月1日から7月1日までに収集されたデータセットは、464,673件のBGP UPDATEメッセージで構成されている。
初期転送、v4およびv6経路数
- BGPピアリングを開始すると、「最初のトランシェ」として大量のUPDATEメッセージを受け取る。
- この最初のトランシェには、合計949,483件の経路が含まれている。
ガーデンホースか、それとも消防ホースか?
- アップデートはリアルタイムのストリームではなく、30秒間隔でまとめて送信される。
- IPv4経路では平均して30秒ごとに約50件の経路アップデートが発生し、IPv6では約47件となる。
- IPv4アップデートには周期的な変動性があり、40分周期のサイクルが観測される。
プリペンディングの狂気
- ネットワーク管理者はASパス長を調整してトラフィック経路を制御できる。
- IPv4経路の最大長は105、IPv6経路は599と非常に長く、これはネットワーク管理者のミスによる可能性がある。
経路属性
- BGPアップデートには、経路属性とネットワーク層到達可能性情報が含まれる。
- 一部のASは、開発用に予約された属性255を使って経路をアナウンスしている。
フラップする経路: 苦労しているのは誰か?
- 最も変動が大きい経路は 140.99.244.0/23 で、EpicUpという企業が保有している。
- 経路の変動はさまざまな要因によって発生しうるものであり、これは現代のグローバルネットワークにおけるピアリングの多様性とBGPプロトコルの回復力を示している。
まだ始まりにすぎない
- BGPテーブルは世界中のさまざまな要素を要約したものであり、政治的不安、自然現象、ネットワーク管理者のミスなど、多様な要因が含まれうる。
- この複雑さを理解することは、興味深く美しいことだ。
1件のコメント
Hacker Newsのコメント
25年前、小さなISPで働いていたとき、マルチホーム構成のためにAvi Freedmanのチュートリアルを参考にした。そのおかげでARINから/20を取得し、2つのピアに経路をアドバタイズできた。この過程で多くを学び、その仕組みに驚かされた
EpicUp 140.99.244.0/23プレフィックスのフラッピングは、経路減衰の対象になっているべきだった。これはISPがすべてのピアに対して適用する制限で、単一のプレフィックスがグローバルBGP変動のかなりの部分を占めないようにするためのものだ
著者が言及しているアップデートとの相関については確信が持てない。特に、不安定な自律システムのプレフィックス経路に広告が依存しているのであれば、不安定になるはずだ
40分周期性についても疑問がある。8年前にBGPの世界に深く関わっていたときには、そのような周期性はなかった。これはデータセットが偶然そう見せているだけか、著者がBGPフィードを受け取ったネットワークによるものかもしれない
データを深く掘り下げてASとプレフィックスの変化を見ると、特定のパターンもなくあちこちで変化が起きている
毎日いくつか騒がしいISPが存在するが、これは不良回線や誤った設定が原因だ。新しいプレフィックスが初めてオンライン接続される際にフラッピングが起きることもある
カンザスの小さなISPがファイバーを使うバックホールによってパースのルーターに現れるのは、興味深いと同時に少し恐ろしい。しかしアップデート頻度は世界全体で<10hzに保たれている
BGPについて学びたいなら、オレゴン大学のNetwork Startup Resource Centerが提供している動画シリーズが役に立つ
0xff予約BGP属性はHuawei特有のものかもしれない。bgp.toolsで見られるほぼすべての0xffは同じ形式に従っており、それらのネットワークの一部はHuawei機器を使っている
MRTファイルからBGP経路データを抽出してNeo4jに取り込み、探索するためのPythonスクリプトを書いた。このファイルには約5600万件の非常に重複した経路が含まれており、Neo4jはこの種のデータを「マージ」するのが非常に得意だ
この記事でBGPについて知らなかったことをたくさん学んだ。特に、その混沌としている点が最も興味深かった。続編でさらに詳しい内容を読みたい
ボルネオ周辺に現地事務所を持つ大手米国顧客向けに、衛星・マイクロ波ハイブリッドネットワークを設計・構成した経験がある。ジャカルタで専用線のハンドオフを行ったのを覚えている。BGPを使ってOSPF/UBNTネットワークとIGRP/Cisco企業WANを接続しなければならないと読んだ
Memory Safetyイニシアチブが、Rustによるインターネットインフラのセキュリティと安全性の再実装を通じて、BGPサーバー実装にも適用されるとよいと思う
as8772 NetAssistは悪質なトラフィックをルーティングしている
一般人がBGPデータを手に入れる最も簡単な方法は何だろうか。ISPに知り合いがいない場合でも、同様の分析を試してみたい