Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
お手軽! BGP RIBのリアルタイム経路解析+可視化
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mabuchin
July 31, 2017
Technology
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お手軽! BGP RIBのリアルタイム経路解析+可視化
JANOG40 ShortProgram
Mabuchin
July 31, 2017
More Decks by Mabuchin
See All by Mabuchin
TIPSTARのライブ・プロダクションシステムの裏側
mabuchin
1
1.3k
ホワイトボックス伝送の動向と商用利用について
mabuchin
3
860
WhiteBoxSwitch NOSの変遷
mabuchin
5
2.2k
Cassini + Goldstone DCI use case and challenges
mabuchin
1
310
転びながらもネットワーク処理をソフトウェアで自作していく話
mabuchin
8
4.9k
モダンなネットワーク構成管理DBを最小労力で開発する
mabuchin
3
970
Gitでネットワークオペレーションを進める話
mabuchin
0
160
TapAggregationを使ったデータプレーン性能測定
mabuchin
0
290
Github PullRequestで作業半自動化
mabuchin
0
130
Other Decks in Technology
See All in Technology
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
260
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
13
8.6k
強化学習「理論」入門
enakai00
3
3.6k
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
Model Studio CLI × Token Plan
maigo999
0
160
ガバメントクラウドでのランサムウェア対策
techniczna
2
1.2k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
190
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
710
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
220
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.2k
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
230
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
How STYLIGHT went responsive
nonsquared
100
6.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
KATA
mclloyd
PRO
35
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Agile that works and the tools we love
rasmusluckow
331
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
260
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
A designer walks into a library…
pauljervisheath
211
24k
Transcript
© BIGLOBE Inc. 2017 お⼿軽! BGP RIBのリアルタイム解析+可視化 BIGLOBE Inc. Toshiya
Mabuchi 1 © BIGLOBE Inc. 2017
© BIGLOBE Inc. 2017 2 ⾃⼰紹介 • 名前 : ⾺淵
俊弥 (Mabuchi Toshiya) • 所属 : ビッグローブ株式会社 • お仕事 : • ISPバックボーンネットワークの全般 • 設計/開発/検証/運⽤/顧客サポート • 最近は⾃動化/可視化回りに注⼒中!
© BIGLOBE Inc. 2017 3 ASの経路監視ってどうしてます?
© BIGLOBE Inc. 2017 4 監視したい理由 • 運⽤⾯ • 障害時の原因究明
• 顧客の経路変動/正常性 • 主要なPeerの経路変動 • Peerしてるのに上流から 流れてないか • 遅延の⼤きいPeerを 選択してないか? • マネジメント⾯ • 上流トランジットへの 経路依存率の把握 • ⼿軽に⾒れるようにして Peering交渉に役⽴てる • すぐに出せるグラフがあると KPIにも役⽴つ • 上流トランジットの選定/ 更改時に使う為のデータ
© BIGLOBE Inc. 2017 5 経路情報を⾒るのは運⽤の時だけじゃない トランジット依存率の指標など コストマネジメントの⽬的でも使いたい
© BIGLOBE Inc. 2017 6 いままで経路記録としてやっていたこと • Quagga + MRT
Dump + libBGPdump • データとしては記録できている • 時間毎にファイル分割して保存している • ⽂字でしか読めないので、 時系列で何が起きているか⾒るのがつらい • いつも⾒るのにはちょっと厳しい • かなりの障害が発⽣した時くらいしか⾒ない
© BIGLOBE Inc. 2017 7 こういう感じ経路情報のログを⾒てた > bgpdump dump2015.11.27.1000 TIME:
11/27/15 01:00:00 TYPE: TABLE_DUMP_V2/IPV4_UNICAST PREFIX: 1.0.0.0/24 SEQUENCE: 0 FROM: 133.205.1.155 AS2518 ORIGINATED: 07/13/70 11:03:57 ORIGIN: IGP ASPATH: 2518 15169 NEXT_HOP: 133.205.1.155 MULTI_EXIT_DISC: 100 TIME: 11/27/15 01:00:00 TYPE: TABLE_DUMP_V2/IPV4_UNICAST PREFIX: 1.0.0.0/24 SEQUENCE: 0 FROM: 133.205.1.142 AS2518 ORIGINATED: 07/13/70 11:03:37
© BIGLOBE Inc. 2017 8 新しい経路をモニタリングするものがほしい • 要件! • グラフとして表⽰できる
• リアルタイム性がある • 他の情報(トラフィック等)と⼀元的に ⾒る⽅法がある • そんなに難しいことしたくない
© BIGLOBE Inc. 2017 9 BMP • BGP Monitoring Protocol
• BGPのUPDATE情報等をモニタリングできるプロトコル • これを使わない⼿は無い! • ・・・しかし!!! • 商⽤ルーターのバージョンで⼀部⾮対応 → すぐには使えない
© BIGLOBE Inc. 2017 10 回避策 • iBGPで経路を収集する • 経路収集⽤にGoBGPを⽴てる
• GoBGPとルータをiBGPで繋ぐ • GoBGPからBMP Serverに送信 ルータ単位で発⽣する経路変動は収集できる!
© BIGLOBE Inc. 2017 11 iBGPで経路を収集 Core Core gateway gateway
gateway gateway GoBGP BMP Server iBGP iBGP iBGP iBGP BMP pre-policy
© BIGLOBE Inc. 2017 12 BMP Server • SNAS
http://www.snas.io/ • 経路情報モニタリングのフレームワーク • OpenBMP + Kafka + MySQL + WebUI で構成 • 経路⽤モニタリングのWebUIが付いている • APIも豊富でデータを加⼯して使いやすい • Docker containerで構築が簡単 Streaming Network Analytics System
© BIGLOBE Inc. 2017 13 SNAS UI
© BIGLOBE Inc. 2017 14 SNAS UI
© BIGLOBE Inc. 2017 15 SNAS UI
© BIGLOBE Inc. 2017 16 SNAS UI
© BIGLOBE Inc. 2017 17 SNAS 今までに⽐べたらかなり分かりやすい!
© BIGLOBE Inc. 2017 18 (再掲)監視したい理由 • 運⽤⾯ • 障害時の原因究明
• 顧客の経路変動/正常性 • 主要なPeerの経路変動 • Peerしてるのに上流から 流れてないか • 遅延の⼤きいPeerを 選択してないか? • トラフィック + 経路変動 ⼀緒に⾒たい • ⼀緒に⾒れば分かる原因もある •マネジメント⾯ • 上流トランジットへの 経路依存率の把握 • ⼿軽に⾒れるようにして Peering交渉に役⽴てる • すぐに出せるグラフがあると KPI⽴てるのとかにも役⽴つ • 上流トランジットの選定/ 更改時に使う為のデータ • いつでも出せるようにしたい
© BIGLOBE Inc. 2017 18 (再掲)監視したい理由 • 運⽤⾯ • 障害時の原因究明
• 顧客の経路変動/正常性 • 主要なPeerの経路変動 • Peerしてるのに上流から 流れてないか • 遅延の⼤きいPeerを 選択してないか? • トラフィック + 経路変動 ⼀緒に⾒たい • ⼀緒に⾒れば分かる原因もある •マネジメント⾯ • 上流トランジットへの 経路依存率の把握 • ⼿軽に⾒れるようにして Peering交渉に役⽴てる • すぐに出せるグラフがあると KPI⽴てるのとかにも役⽴つ • 上流トランジットの選定/ 更改時に使う為のデータ • いつでも出せるようにしたい ⾃社特有の観点が⼊ると、 標準のWebUIでは⾒にくい場合もある 定常的に⾒るデータだけをAPIで取得 Influxdb + Grafanaで可視化
© BIGLOBE Inc. 2017 19 最終的な構成 Core Core gateway gateway
gateway gateway GoBGP Open BMP iBGP iBGP iBGP iBGP データ整形 Influxdb Grafana
© BIGLOBE Inc. 2017 20 作った経路監視⽤のDashboard
© BIGLOBE Inc. 2017 21 作った経路監視⽤のDashboard 上流トランジット依存率 特定ピアの状態監視 Update/Withdrawn発⽣数 上流トランジット経路監視
顧客経路の状態監視 Update/Withdrawn詳細
© BIGLOBE Inc. 2017 22 複数ピアをしているAS**の合計トラフィック 経路の選択割合の遷移監視 作った経路監視⽤のDashboard
© BIGLOBE Inc. 2017 23 良かった点と改善点 • 良かった点 • 注視すべき経路情報に絞って監視できた
• Traffic/Error等,他情報と合わせて確認できるようになった • 実装したのはDB間のデータ送受信部だけ • ⾮常に少ない⼿間で実装可能 • 改善点 • 各ルータ毎のBestPathしか⾒れない • BGP ADD-PATHを使ってGoBGPと各ルータを繋ぐ • (GoBGP中の⼈)「 BGP ADD-PATH実装したよ!」 • BMPを直接使う
© BIGLOBE Inc. 2017 24 まとめ • 経路状態は運⽤以外にも使える • Peering/KPI
• 経路監視をGoBGP+openBMP+Influxdbへ • 経路収集はiBGP • SNAS (OpenBMP) • ⾃分でUI作らなくても、⼗分なWebUIがある • 注視すべき情報のみREST APIでInfluxdbに投⼊ • Grafanaで他のデータと⼀元的に可視化ができた