要約

  • CAIDAのcustomer-provider/peerラベルは、collectorが受け取った経路を洗浄し、構造上の仮定とアルゴリズムを適用し、一部を検証して得た推定であり、当事者の契約書ではない。
  • 利用時にはdataset系列、snapshot、観測点、手法version、検証範囲を保存し、料金、traffic、場所、冗長性、運用結果には別の証拠を求める必要がある。

「見えない」をゼロにしない

AS関係データは、巨大なインターネットを比較可能なgraphへ縮約する。customer coneを計算し、transit事業者の変化を追い、依存の候補を見つけるには極めて有用だ。しかし、あるedgeがないことは、接続がないことを意味しない。edgeがあることも、価格やcapacity、port、適用prefix、契約期間を意味しない。

最初に分けるべきなのは問いである。推定graphは「公開観測をこのmodelで説明すると、どのrouting関係が最も整合的か」に答える。契約は義務に答える。telemetryは流量に答える。設備記録は物理経路に答え、incident記録は故障時の結果に答える。一つのedgeへ全部を読み込むと、簡潔さが証拠の混同へ変わる。

Collectorが受け取るのは選択された広告

RFC 4271のAS_PATHは、routing情報が通過したASを示す必須属性である。そこに支払い条件はない。BGP speakerはlocal policyに従って経路を選び、相手ごとに広告内容を決める。collector向けsessionが、customerやpeer向けsessionと同じviewを持つ保証はない。

RIPE RISの説明では、route collectorはBGP peering sessionを通じてdataを取り込む。IXPのLANに接続したcollectorも、multihopで世界各地のpeerを受けるcollectorもある。いずれも参加者とexport policyが観測範囲を決める。

2013年のCAIDA論文は、Route ViewsとRISから毎月1日から5日まで一日一回RIBを取得し、観測したAS pathの和集合を使った。当時のsampleでは、全体に近いviewを提供したcontributorは約三分の一で、64%は全ASの2.5%未満へのrouteしか提供していなかった。この数字を現在へ転用してはならない。残る教訓は、公開BGP archiveが参加者の選択を経た観測であるという点だ。

Pathから関係へは推論の橋がある

歴史的な出発点はvalley-freeという経済modelだった。通常のpathはcustomerからproviderへ上り、peer linkを多くても一つ通り、providerからcustomerへ下る。多くのpathがこの形になるようedgeへ向きを付ければ、関係graphを推定できる。

ただし、形が正しくても個々のedgeが正しいとは限らない。kc claffyが共著した2005年、2007年の研究は、tieの処理によって大手providerが小規模ASのcustomerになるような不自然な結果や、公開pathからpeer linkが見えにくい問題を扱った。AS degreeなど複数の目的を加え、operatorへの照会によるvalidationを進めた。

2013年のmethodはvalley-free path数の最大化をやめた。pathをcleaningし、上位cliqueを定め、transit degreeなどでASを並べ、隣接するtripletを調べた。そこでは、世界到達性には通常providerが必要であること、上位にtransit-free cliqueがあること、provider-to-customer edgeはcycleを作らないこと、という三つの構造仮定が使われる。

出力には観測だけでなく仮定が含まれる。collector、path cleaning、clique、補助data、algorithmのどれかが変われば、契約が変わらなくてもlabelは変わり得る。

Validationの数字を一つのedgeへ貼らない

2007年の研究は78 ASへ連絡し、38 ASから3,724件の関係について回答を得た。その集合では、customer-providerの96.5%、peerの82.8%、siblingの90.3%が正しく分類され、全体では94.2%だった。

論文は分母も示す。回答者は自己選択であり、確認できたedgeは公開graphの9.7%だった。さらに参加ASが報告した実際の隣接のうち、BGP tableには最大86.2%が現れず、多くはpeerだった。見えるedgeへの精度と、graph全体の完全性は別の評価である。

2013年には、直接報告、双方で整合するRPSL policy、意味を公開したBGP communityを組み合わせ、126,082件中43,613件、34.6%をvalidationした。そのsubsetでcustomer-providerは99.6%、peerは98.7%だった。一方、validation source同士にも約1%の不一致があった。

この統計はmethod、時点、sampleに属する。現在の特定edgeが99.6%確実だという意味ではない。直接確認されたedgeと、観測の薄い場所で構造だけから推定されたedgeを、同じ確率へ丸めてはならない。

一つのPairに一つのLabelという圧縮

CAIDAの現在のcaveatは、同じ二つのASでも場所やprefixによって関係の意味が異なり得るのに、modelはpairへ一つのlabelを付けると説明する。ある都市ではtransitを購入し、別の都市ではpeerになる場合もある。partial transit、paid peering、free transit、siblingは単純な二分類からはみ出す。

Customer coneも推定edgeをたどる構成物である。規模や階層を比較する力はあるが、2013年論文はhybrid relationの下でmethodologically cleanではないと認める。監査済みcustomer listでも、売上でも、packetが実際に通る経路の予言でもない。

Serial-1はRoute ViewsとRISのpathから月次graphを作る。serial-2はBGP community、looking glass、traceroute、router ownershipやIP-to-ASの推定を加える。観測源が増えれば発見できるedgeも増えるが、「serial-2にある」は「契約を確認した」と同義ではない。

kc claffyを個人発明者にしない

CAIDAの公式profileは、kc claffyをprincipal investigatorとし、Kimberly Claffyという別表記も明示している。UC San Diegoの2017年Postel Award記事は、Internet measurementだけでなく、収集・curation・共有の基盤を長く整備した点を評価している。

人物として追うべきなのは、この継続的な測定制度の構築である。ただし論文は共同研究だ。Xenofontas Dimitropoulos、Dmitri Krioukov、Marina Fomenkov、Bradley Huffaker、Young Hyun、George Riley、Matthew Luckie、Amogh Dhamdhere、Vasileios Giotsasらが時期ごとに参加した。方法が批判を受け、validationを増やし、次のversionへ移った履歴こそ重要である。

BGP Roleは強い証拠だが契約全文ではない

RFC 9234では、eBGP sessionの双方がProvider、Customer、Peer、Route Server、RS-ClientのRoleを確認し、Only to Customer属性でroute leakを防ぐ。第三者がpathから推定するより、設定されたrouting semanticsに近い証拠になる。

それでもprice、capacity、trafficを公開するわけではない。RFC自身がcomplex relationを認め、普及率も保証しない。証拠は、観測した広告、推定した隣接、推定label、相互確認したsession role、契約、測定した結果という別々の層で保持すべきだ。

Provenanceを付けたまま使う

意思決定へ渡すedgeには、dataset family、snapshot日、address family、collectorと入力peer、method version、補助source、validation範囲が必要である。翌月変化したら旧stateを残し、network、visibility、入力、algorithmのどれが変わったかを調べる。

Routing roleにはoperator確認、商業義務にはcontract、loadにはtelemetry、物理diversityにはportとfacility、resilienceにはincidentという証拠を追加する。この手間によってmapの価値は下がらない。推定を推定として保存するからこそ、見えにくいInternetの構造を継続して検証できる。

情報源