Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
お手軽! BGP RIBのリアルタイム経路解析+可視化
Mabuchin
July 31, 2017
Technology
0
130
お手軽! BGP RIBのリアルタイム経路解析+可視化
JANOG40 ShortProgram
Mabuchin
July 31, 2017
Tweet
Share
More Decks by Mabuchin
See All by Mabuchin
TIPSTARのライブ・プロダクションシステムの裏側
mabuchin
1
1.1k
ホワイトボックス伝送の動向と商用利用について
mabuchin
3
390
WhiteBoxSwitch NOSの変遷
mabuchin
4
1.3k
Cassini + Goldstone DCI use case and challenges
mabuchin
1
22
転びながらもネットワーク処理をソフトウェアで自作していく話
mabuchin
8
3.2k
モダンなネットワーク構成管理DBを最小労力で開発する
mabuchin
3
410
Gitでネットワークオペレーションを進める話
mabuchin
0
66
TapAggregationを使ったデータプレーン性能測定
mabuchin
0
92
Github PullRequestで作業半自動化
mabuchin
0
24
Other Decks in Technology
See All in Technology
JSAI 2022チュートリアル講演 AI哲学マップ / JSAI 2022 Tutorial "AI Philosophy Map"
ykiyota
0
390
Microsoft Build 2022 Recap Party!! Azure のデータ & 分析サービス 注目アップデート / microsoft-build-2022-recap-azure-data-and-analytics
nakazax
0
250
Implementing Kubernetes operators in Java with Micronaut - TechWeek Java Summit 2022
alvarosanchez
0
110
NFT(非代替性トークン)、DeFi(分散金融) の虚像と実像 / NFT (Non-Fungible Token), DeFi (Decentralized Finance): False and Real Images
ks91
PRO
0
240
さいきんのRaspberry Pi。 / osc22do-rpi
akkiesoft
4
4.7k
誰が正解を知っているのか / Who knows the right answer
takaking22
1
220
セキュリティ 開運研修2022 / security 2022
cybozuinsideout
PRO
2
3.3k
Amazon ECRに無駄なコストがかかっていた
iwamot
0
150
ウォーターフォールとアジャイルと楽楽明細/Waterfall×Agile×Rakurakumeisai
whitefox_73
1
350
Camp Digital 2022: tailored advice
kyliehavelock
0
140
OPENLOGI Company Profile
hr01
0
260
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
10
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
Thoughts on Productivity
jonyablonski
43
2.3k
BBQ
matthewcrist
74
7.9k
Music & Morning Musume
bryan
35
4.2k
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
Bash Introduction
62gerente
597
210k
GraphQLとの向き合い方2022年版
quramy
16
8.3k
Designing for Performance
lara
597
63k
Visualization
eitanlees
124
11k
Done Done
chrislema
174
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
27
1.5k
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で他のデータと⼀元的に可視化ができた