要約
- BMPはscreen scrapingを構造化snapshotとincremental updateへ置き換えるが、feedは特定router、instance、peer、address family、RIB stage、modeだけを表す。
- Route Monitoringは中間状態を圧縮し得る。Route MirroringはPDUを保てるがsampling・loss・資源負荷があり、Loc-RIBもfilter可能でFIBそのものではない。
- 信頼できる判断は、観測権と不連続を記録し、feedを保護し、受信・policy・選択・送信・hardware・packetを別々に照合する。
Route leakのdashboardに三つの事実が並ぶ。問題経路を受信し、import policyを通過し、customerへexportした。しかし後で、受信はpre-policy Adj-RIB-In、選択は該当VRFを除くfiltered Loc-RIB、exportはcustomer sessionのpost-policy outputではなくpeer-group labelからの推論だったと判明する。各BMP recordは本物でも、時系列は作り物だった。
RFC 7854のBGP Monitoring Protocolは、CLI画面のscrapingではなく、router RIBを継続的に取得するためのTCP streamである。Monitored routerが一つ以上のstationへroute state、peer lifecycle、statisticsを送る。一方でBMPはrouting protocolではない。Stationは観測し、reachabilityを決めない。設定権はrouterに残る。
RFC 4271の段階分離が証拠の意味を決める。Pre-policy Adj-RIB-Inはpeerが広告した未処理情報、post-policy inputはfilterとattribute変更後だが選択前、Loc-RIBはDecision Processが選んだroute、Adj-RIB-Outは具体的peerへ送るrouteである。
Pre-policyにprefixがあることは受信だけを証明する。Acceptance、best path、next-hop recursion、FIB install、再広告、packet useは証明しない。各段階へ進むたびに別の観測が要る。
BMPの基本messageはPeer Up/Down、Initiation/Termination、Statistics Report、Route Monitoring、Route Mirroringである。通常modeはpeerごとのinitial snapshotを送り、incremental advertisementとwithdrawを続ける。Dump順序は規定されず、End-of-RIBが初期epochを閉じる。
Snapshot走査中もrouteは変化する。先にdumpされたprefixがwithdrawされればcollectorは消し、dump前にwithdrawが来れば存在しないobjectへの削除として安全に処理する。これは静止fileではなくstreaming replicaである。
EORはinitial epoch完了の証拠であって、その後の完全性保証ではない。TCP gap、queue overflow、collector restart、identity collision、decode errorがreplicaを古くする。「同期済み」は、最後のcomplete epochと以降の全discontinuityを伴って初めて意味を持つ。
Route Monitoringはstate-orientedでありwire-faithfulとは限らない。同じprefixの複数変化を最終状態一つにするstate compressionが許される。資源を守る一方、中間順序を失う。生成PDUのencodingも受信PDUと異なり得て、timestampはzeroまたはimplementation-dependent precisionになり得る。
正確なbytesやmalformed PDUの診断にはRoute Mirroringが向く。しかしmirroringは自動的にlosslessではない。Samplingが可能で、Messages Lost codeがある。Full fidelityはbufferを際限なく要求し、BGP UPDATE処理やconvergenceを妨げ得る。観測がroutingより優先されてはならない。
Loss evidenceはproducer、transport、collectorを通る。Queue depth、compression、drop、session epoch、reset、backpressure、ingest sequence、decode、storage commit、replay watermarkを記録する。同じqueueやparser bugを共有する二stationは独立証人ではない。
RFC 7854のL flagはpre/post-policy inputを区別する。同じpeer、AFI/SAFI、epochで二つを比較して初めてimport policy effectを測れる。異なるstageのcount差はpolicy auditにならない。
RFC 8671はAdj-RIB-OutとO flagを追加した。Post-policy outputはfilter、変更、送信時attributeを経て実際にpeerへ送った内容を表すべきであり、egress claimの最も強いBMP witnessである。
Pre-policy outputはそのpeering typeでexport policyへ入れるrouteだけを示す。IBGP、RR client、EBGP、confederation、route serverは事前eligibilityが異なるため、全Loc-RIBではない。Next hopなどは送信前には空またはprovisionalになり得る。
Auditは同じpeer、family、epochのpre/post diffに限定し、除外・変更をactive policyへ結び付ける。必要ならreceiver側でも確認する。Update groupは実装上の効率であり各peerのwire evidenceではない。Admin Labelもlocal metadataである。
RFC 9069はLoc-RIBを直接monitorする。別routerのAdj-RIB-Inから推測する方式はexport policy、aggregation、identity correlation errorを混入させた。Peer Type 3がLoc-RIB instanceを表し、distinguisher、router ID、VRF/table nameでnamespaceを作る。
異なるrouterのglobal tableを同一objectとしてjoinしてはならない。Emulated Peer Up、capability、address family、lifecycleもinstance identityの一部である。
Loc-RIB feedはfilter可能で、subsetならF flagが必須になる。これは「全selected routes」ではなく「開示を許可されたselected subset」というclaimだ。Privacyとscaleのためのfilterは正当だが、F flagやcoverage contractが消えるとabsenceをnonexistenceと誤認する。
Loc-RIBにもstate compressionがある。1秒の五変化が最終一件になることがある。Quiet feedはstable selection、winnerを変えないinput churn、compression、reporting failureのどれでもあり得る。
Loc-RIBはFIBではない。Selected next hopがrecursiveに解決できず、hardwareが少ないECMPしかinstallせず、line cardが遅れ、tunnelやprotectionがpacket pathを変えることがある。BMPはcontrol-plane selectionを証言するがforwardingを証明しない。
2026年5月のRFC 9972はpre/post input、Loc-RIB、pre/post outputに詳細gaugesを追加し、damping、limit、licence、RPKI stateも扱う。ただしgaugeは時点値でevent historyではない。Feature-dependent typeは機能有効時だけ意味を持ち、report scheduleも実装依存である。
Global countとAFI/SAFI合計はraceやpartial failureで不一致になり得る。警告すべきだがsilent repairやprotocol停止をしてはならない。Manual clearやoverflowのresetはdiscontinuityとして記録する。GR/LLGR中にはconvergence保護のためreportingをsample・buffer・suspendできるため、障害時の静かなgraphは曖昧だ。
現行vendor実装はresource contractを見せる。Cisco IOS XEはmultiple stations、initial refresh pacing、buffer、delayを説明する。IOS XRは指定platform/releaseでpre/postとLoc-RIBの同時modeとscan intervalを持つ。Junosはstation memoryとmanagement instanceを設定する。別platformへ一般化してはならない。
Securityは証拠品質そのものだ。Full RIBはprivate L3VPN、peer structure、policy effectを露出する。Mutual authenticationがなければrouterまたはstationを偽装でき、confidentialityがなければ盗聴・改ざんできる。RFC 7854は必要時にIPsec tunnel modeとpre-shared keysを推奨する。TCPだけではidentityもsecrecyもない。
Endpoint inventory、encryption、tenant separation、least privilege、retention、tamper-evident storage、revocationを設計する。Stationの権利を撤回してもBGPを停止せず、他のauthorized evidenceを壊さないことが要件だ。
本番には四成果物が要る。Observation-entitlement matrixはrouter、instance、peer、AFI/SAFI、station、stage、L/O/F、filter、cadence、compression、bufferを列挙する。Replica-health ledgerはTCP epoch、Peer Up/Down、EOR、timestamp、queue、loss、lag、commitを保存する。Sentinel prefix diffはpolicy各段階を追う。Cross-plane proofはwinner、recursion、FIB/ASIC、interface、packetを結ぶ。
Rolloutではaccept/reject、rewrite、best change、export suppression、BGP/BMP flap、backpressure、loss、filtered view、zero timestamp、counter reset、collector restartを試験し、CPU、memory、latency、convergenceを比較する。
Rollbackはroutingと独立させる。Scanを遅くし、mirroringを止め、filterを狭め、collectorをrevokeしてもBGP resetを起こさない。失った証拠はcoverage gapとして表示する。
権限を分離する。Routing policy、producer capacity、telemetry transport、security custody、incident interpretation、forwarding verificationを別ownerにする。Collector operatorがfeedを定義し、gapを隠し、結論を自己認証してはならない。
Heng Luのminimum initial specificationは、stationへroute choiceを渡さない薄い共通formatを支持する。Stage、filter、cadence、recipient、revocationはlocal future decisionである。Running-code primacyの順序はconfiguration、BMP record、collector DB、Loc-RIB、FIB、packetだ。下位の証拠は上位の権威を借りられない。
Practical data sovereigntyとは、どのrouteが外へ出て、誰が相関し、どれだけ保存し、改変をどう検知し、accessをどう終えるかを支配することだ。BMPは自身の管轄を正確に表すとき、強い証人になる。
Monitorが見たのは一つのrouteである。問うべきは、どのstage、instance、compression、loss、filterを通り、どのpacket evidenceで裏付けられたかだ。
参照資料
- RFC 4271 — A Border Gateway Protocol 4
- RFC 7606 — Revised Error Handling for BGP UPDATE Messages
- RFC 7854 — BGP Monitoring Protocol
- RFC 8671 — Support for Adj-RIB-Out in the BGP Monitoring Protocol
- RFC 9069 — Support for Local RIB in the BGP Monitoring Protocol
- RFC 9232 — Network Telemetry Framework
- RFC 9972 — Advanced BGP Monitoring Protocol Statistics Types
- Cisco IOS XE — Overview BGP Monitoring Protocol
- Cisco IOS XR — Simultaneous pre-policy and post-policy BMP views
- Juniper Junos — BGP Monitoring Protocol
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification
- Heng Lu — Data Sovereignty
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
