SlideShare a Scribd company logo
© BIGLOBE Inc. 2017
お⼿軽!
BGP RIBのリアルタイム解析+可視化
BIGLOBE Inc.
Toshiya Mabuchi
1
© BIGLOBE Inc. 2017
© BIGLOBE Inc. 20172
⾃⼰紹介
● 名前 : ⾺淵 俊弥 (Mabuchi Toshiya)
● 所属 : ビッグローブ株式会社
● お仕事 :
● ISPバックボーンネットワークの全般
● 設計/開発/検証/運⽤/顧客サポート
● 最近は⾃動化/可視化回りに注⼒中!
© BIGLOBE Inc. 20173
ASの経路監視ってどうしてます?
© BIGLOBE Inc. 20174
監視したい理由
● 運⽤⾯
● 障害時の原因究明
● 顧客の経路変動/正常性
● 主要なPeerの経路変動
● Peerしてるのに上流から

流れてないか
● 遅延の⼤きいPeerを

選択してないか?
● マネジメント⾯
● 上流トランジットへの

経路依存率の把握
● ⼿軽に⾒れるようにして

Peering交渉に役⽴てる
● すぐに出せるグラフがあると

KPIにも役⽴つ
● 上流トランジットの選定/

更改時に使う為のデータ
© BIGLOBE Inc. 20175
経路情報を⾒るのは運⽤の時だけじゃない
トランジット依存率の指標など

コストマネジメントの⽬的でも使いたい
© BIGLOBE Inc. 20176
いままで経路記録としてやっていたこと
● Quagga + MRT Dump + libBGPdump
● データとしては記録できている
● 時間毎にファイル分割して保存している
● ⽂字でしか読めないので、

時系列で何が起きているか⾒るのがつらい
● いつも⾒るのにはちょっと厳しい
● かなりの障害が発⽣した時くらいしか⾒ない
© BIGLOBE Inc. 20177
こういう感じ経路情報のログを⾒てた
>	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. 20178
新しい経路をモニタリングするものがほしい
● 要件!
● グラフとして表⽰できる
● リアルタイム性がある
● 他の情報(トラフィック等)と⼀元的に

⾒る⽅法がある
● そんなに難しいことしたくない
© BIGLOBE Inc. 20179
BMP
● BGP Monitoring Protocol
● BGPのUPDATE情報等をモニタリングできるプロトコル
● これを使わない⼿は無い!

● ・・・しかし!!!
● 商⽤ルーターのバージョンで⼀部⾮対応

→ すぐには使えない
© BIGLOBE Inc. 201710
回避策
● iBGPで経路を収集する
● 経路収集⽤にGoBGPを⽴てる
● GoBGPとルータをiBGPで繋ぐ
● GoBGPからBMP Serverに送信
ルータ単位で発⽣する経路変動は収集できる!
© BIGLOBE Inc. 201711
iBGPで経路を収集
Core Core
gateway gateway
gateway gateway
GoBGP
BMP
Server
iBGP
iBGP
iBGP
iBGP
BMP
pre-policy
© BIGLOBE Inc. 201712
BMP Server
● SNAS 

http://www.snas.io/
● 経路情報モニタリングのフレームワーク
● OpenBMP + Kafka + MySQL + WebUI で構成
● 経路⽤モニタリングのWebUIが付いている
● APIも豊富でデータを加⼯して使いやすい
● Docker containerで構築が簡単
Streaming Network Analytics System
© BIGLOBE Inc. 201713
SNAS UI
© BIGLOBE Inc. 201714
SNAS UI
© BIGLOBE Inc. 201715
SNAS UI
© BIGLOBE Inc. 201716
SNAS UI
© BIGLOBE Inc. 201717
SNAS
今までに⽐べたらかなり分かりやすい!
© BIGLOBE Inc. 201718
(再掲)監視したい理由
● 運⽤⾯
● 障害時の原因究明
● 顧客の経路変動/正常性
● 主要なPeerの経路変動
● Peerしてるのに上流から

流れてないか
● 遅延の⼤きいPeerを

選択してないか?
● トラフィック + 経路変動

⼀緒に⾒たい
● ⼀緒に⾒れば分かる原因もある
●マネジメント⾯
● 上流トランジットへの

経路依存率の把握
● ⼿軽に⾒れるようにして

Peering交渉に役⽴てる
● すぐに出せるグラフがあると

KPI⽴てるのとかにも役⽴つ
● 上流トランジットの選定/

更改時に使う為のデータ
● いつでも出せるようにしたい
© BIGLOBE Inc. 201718
(再掲)監視したい理由
● 運⽤⾯
● 障害時の原因究明
● 顧客の経路変動/正常性
● 主要なPeerの経路変動
● Peerしてるのに上流から

流れてないか
● 遅延の⼤きいPeerを

選択してないか?
● トラフィック + 経路変動

⼀緒に⾒たい
● ⼀緒に⾒れば分かる原因もある
●マネジメント⾯
● 上流トランジットへの

経路依存率の把握
● ⼿軽に⾒れるようにして

Peering交渉に役⽴てる
● すぐに出せるグラフがあると

KPI⽴てるのとかにも役⽴つ
● 上流トランジットの選定/

更改時に使う為のデータ
● いつでも出せるようにしたい
⾃社特有の観点が⼊ると、

標準のWebUIでは⾒にくい場合もある
定常的に⾒るデータだけをAPIで取得

Influxdb + Grafanaで可視化
© BIGLOBE Inc. 201719
最終的な構成
Core Core
gateway gateway
gateway gateway
GoBGP
Open
BMP
iBGP
iBGP
iBGP
iBGP
データ整形
Influxdb
Grafana
© BIGLOBE Inc. 201720
作った経路監視⽤のDashboard
© BIGLOBE Inc. 201721
作った経路監視⽤のDashboard
上流トランジット依存率
特定ピアの状態監視
Update/Withdrawn発⽣数 上流トランジット経路監視
顧客経路の状態監視
Update/Withdrawn詳細
© BIGLOBE Inc. 201722
複数ピアをしているAS**の合計トラフィック
経路の選択割合の遷移監視
作った経路監視⽤のDashboard
© BIGLOBE Inc. 201723
良かった点と改善点
● 良かった点
● 注視すべき経路情報に絞って監視できた
● Traffic/Error等,他情報と合わせて確認できるようになった
● 実装したのはDB間のデータ送受信部だけ
● ⾮常に少ない⼿間で実装可能
● 改善点
● 各ルータ毎のBestPathしか⾒れない
● BGP ADD-PATHを使ってGoBGPと各ルータを繋ぐ
● (GoBGP中の⼈)「 BGP ADD-PATH実装したよ!」
● BMPを直接使う
© BIGLOBE Inc. 201724
まとめ
● 経路状態は運⽤以外にも使える
● Peering/KPI
● 経路監視をGoBGP+openBMP+Influxdbへ
● 経路収集はiBGP
● SNAS (OpenBMP)
● ⾃分でUI作らなくても、⼗分なWebUIがある
● 注視すべき情報のみREST APIでInfluxdbに投⼊
● Grafanaで他のデータと⼀元的に可視化ができた

More Related Content

PDF
検証環境をGoBGPで極力仮想化してみた
Toshiya Mabuchi
 
PDF
(緊急|作業)時にパッと確認できるDASHBOARD作ってみた
Toshiya Mabuchi
 
PDF
NAPALMで作るネットワークオペレーション自動化への道のり
Toshiya Mabuchi
 
PDF
自動化ツールの違いを探る
Toshiya Mabuchi
 
PPTX
kintone 最新アップデート Webhookで遊ぶ
kintone Café 名古屋支部
 
PDF
Concrete5×さくら
Masaya Hayashi
 
PPTX
concrete5とAWSのほどよい関係
Takahisa Iwamoto
 
PDF
今さら聞けないWebサーバの基本知識と選び方
Endoh Shingo
 
検証環境をGoBGPで極力仮想化してみた
Toshiya Mabuchi
 
(緊急|作業)時にパッと確認できるDASHBOARD作ってみた
Toshiya Mabuchi
 
NAPALMで作るネットワークオペレーション自動化への道のり
Toshiya Mabuchi
 
自動化ツールの違いを探る
Toshiya Mabuchi
 
kintone 最新アップデート Webhookで遊ぶ
kintone Café 名古屋支部
 
Concrete5×さくら
Masaya Hayashi
 
concrete5とAWSのほどよい関係
Takahisa Iwamoto
 
今さら聞けないWebサーバの基本知識と選び方
Endoh Shingo
 

What's hot (18)

PDF
Couchbase CM 20150407
Couchbase Japan KK
 
PDF
20130118 movable type_seminar
Six Apart
 
PDF
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
 
PDF
MTDDC Meetup NAGOYA 2014 Keynote
Daiji Hirata
 
PPTX
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
kintone papers
 
PPTX
20170626 さくらインターネット Stripe Magento
Hirokazu Nishi
 
PDF
ServiceWorkerでつくるWebの未来
Yoshiki Kobayashi
 
PPTX
Movable Type 6.0をできるだけ安く使う方法
Hajime Fujimoto
 
PDF
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
 
PDF
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
 
PPTX
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
Joni
 
PDF
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
 
PDF
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
 
PDF
iOS対応のCIサービス「Bitrise」を使ってみた
Kosuke Ogawa
 
PDF
bitbankフロントエンド開発について
Kou Matsumoto
 
PDF
S14 t3 yosuke_yamashita
Takeshi Akutsu
 
PDF
Git hubenterpriseを導入してみて
recotech
 
PDF
#recotech_WIZY開発の裏側
recotech
 
Couchbase CM 20150407
Couchbase Japan KK
 
20130118 movable type_seminar
Six Apart
 
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
 
MTDDC Meetup NAGOYA 2014 Keynote
Daiji Hirata
 
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
kintone papers
 
20170626 さくらインターネット Stripe Magento
Hirokazu Nishi
 
ServiceWorkerでつくるWebの未来
Yoshiki Kobayashi
 
Movable Type 6.0をできるだけ安く使う方法
Hajime Fujimoto
 
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
 
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
 
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
Joni
 
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
 
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
 
iOS対応のCIサービス「Bitrise」を使ってみた
Kosuke Ogawa
 
bitbankフロントエンド開発について
Kou Matsumoto
 
S14 t3 yosuke_yamashita
Takeshi Akutsu
 
Git hubenterpriseを導入してみて
recotech
 
#recotech_WIZY開発の裏側
recotech
 
Ad

お手軽!BGP RIBのリアルタイム解析+可視化

  • 1. © BIGLOBE Inc. 2017 お⼿軽! BGP RIBのリアルタイム解析+可視化 BIGLOBE Inc. Toshiya Mabuchi 1 © BIGLOBE Inc. 2017
  • 2. © BIGLOBE Inc. 20172 ⾃⼰紹介 ● 名前 : ⾺淵 俊弥 (Mabuchi Toshiya) ● 所属 : ビッグローブ株式会社 ● お仕事 : ● ISPバックボーンネットワークの全般 ● 設計/開発/検証/運⽤/顧客サポート ● 最近は⾃動化/可視化回りに注⼒中!
  • 3. © BIGLOBE Inc. 20173 ASの経路監視ってどうしてます?
  • 4. © BIGLOBE Inc. 20174 監視したい理由 ● 運⽤⾯ ● 障害時の原因究明 ● 顧客の経路変動/正常性 ● 主要なPeerの経路変動 ● Peerしてるのに上流から
 流れてないか ● 遅延の⼤きいPeerを
 選択してないか? ● マネジメント⾯ ● 上流トランジットへの
 経路依存率の把握 ● ⼿軽に⾒れるようにして
 Peering交渉に役⽴てる ● すぐに出せるグラフがあると
 KPIにも役⽴つ ● 上流トランジットの選定/
 更改時に使う為のデータ
  • 5. © BIGLOBE Inc. 20175 経路情報を⾒るのは運⽤の時だけじゃない トランジット依存率の指標など
 コストマネジメントの⽬的でも使いたい
  • 6. © BIGLOBE Inc. 20176 いままで経路記録としてやっていたこと ● Quagga + MRT Dump + libBGPdump ● データとしては記録できている ● 時間毎にファイル分割して保存している ● ⽂字でしか読めないので、
 時系列で何が起きているか⾒るのがつらい ● いつも⾒るのにはちょっと厳しい ● かなりの障害が発⽣した時くらいしか⾒ない
  • 7. © BIGLOBE Inc. 20177 こういう感じ経路情報のログを⾒てた > 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
  • 8. © BIGLOBE Inc. 20178 新しい経路をモニタリングするものがほしい ● 要件! ● グラフとして表⽰できる ● リアルタイム性がある ● 他の情報(トラフィック等)と⼀元的に
 ⾒る⽅法がある ● そんなに難しいことしたくない
  • 9. © BIGLOBE Inc. 20179 BMP ● BGP Monitoring Protocol ● BGPのUPDATE情報等をモニタリングできるプロトコル ● これを使わない⼿は無い!
 ● ・・・しかし!!! ● 商⽤ルーターのバージョンで⼀部⾮対応
 → すぐには使えない
  • 10. © BIGLOBE Inc. 201710 回避策 ● iBGPで経路を収集する ● 経路収集⽤にGoBGPを⽴てる ● GoBGPとルータをiBGPで繋ぐ ● GoBGPからBMP Serverに送信 ルータ単位で発⽣する経路変動は収集できる!
  • 11. © BIGLOBE Inc. 201711 iBGPで経路を収集 Core Core gateway gateway gateway gateway GoBGP BMP Server iBGP iBGP iBGP iBGP BMP pre-policy
  • 12. © BIGLOBE Inc. 201712 BMP Server ● SNAS 
 http://www.snas.io/ ● 経路情報モニタリングのフレームワーク ● OpenBMP + Kafka + MySQL + WebUI で構成 ● 経路⽤モニタリングのWebUIが付いている ● APIも豊富でデータを加⼯して使いやすい ● Docker containerで構築が簡単 Streaming Network Analytics System
  • 13. © BIGLOBE Inc. 201713 SNAS UI
  • 14. © BIGLOBE Inc. 201714 SNAS UI
  • 15. © BIGLOBE Inc. 201715 SNAS UI
  • 16. © BIGLOBE Inc. 201716 SNAS UI
  • 17. © BIGLOBE Inc. 201717 SNAS 今までに⽐べたらかなり分かりやすい!
  • 18. © BIGLOBE Inc. 201718 (再掲)監視したい理由 ● 運⽤⾯ ● 障害時の原因究明 ● 顧客の経路変動/正常性 ● 主要なPeerの経路変動 ● Peerしてるのに上流から
 流れてないか ● 遅延の⼤きいPeerを
 選択してないか? ● トラフィック + 経路変動
 ⼀緒に⾒たい ● ⼀緒に⾒れば分かる原因もある ●マネジメント⾯ ● 上流トランジットへの
 経路依存率の把握 ● ⼿軽に⾒れるようにして
 Peering交渉に役⽴てる ● すぐに出せるグラフがあると
 KPI⽴てるのとかにも役⽴つ ● 上流トランジットの選定/
 更改時に使う為のデータ ● いつでも出せるようにしたい
  • 19. © BIGLOBE Inc. 201718 (再掲)監視したい理由 ● 運⽤⾯ ● 障害時の原因究明 ● 顧客の経路変動/正常性 ● 主要なPeerの経路変動 ● Peerしてるのに上流から
 流れてないか ● 遅延の⼤きいPeerを
 選択してないか? ● トラフィック + 経路変動
 ⼀緒に⾒たい ● ⼀緒に⾒れば分かる原因もある ●マネジメント⾯ ● 上流トランジットへの
 経路依存率の把握 ● ⼿軽に⾒れるようにして
 Peering交渉に役⽴てる ● すぐに出せるグラフがあると
 KPI⽴てるのとかにも役⽴つ ● 上流トランジットの選定/
 更改時に使う為のデータ ● いつでも出せるようにしたい ⾃社特有の観点が⼊ると、
 標準のWebUIでは⾒にくい場合もある 定常的に⾒るデータだけをAPIで取得
 Influxdb + Grafanaで可視化
  • 20. © BIGLOBE Inc. 201719 最終的な構成 Core Core gateway gateway gateway gateway GoBGP Open BMP iBGP iBGP iBGP iBGP データ整形 Influxdb Grafana
  • 21. © BIGLOBE Inc. 201720 作った経路監視⽤のDashboard
  • 22. © BIGLOBE Inc. 201721 作った経路監視⽤のDashboard 上流トランジット依存率 特定ピアの状態監視 Update/Withdrawn発⽣数 上流トランジット経路監視 顧客経路の状態監視 Update/Withdrawn詳細
  • 23. © BIGLOBE Inc. 201722 複数ピアをしているAS**の合計トラフィック 経路の選択割合の遷移監視 作った経路監視⽤のDashboard
  • 24. © BIGLOBE Inc. 201723 良かった点と改善点 ● 良かった点 ● 注視すべき経路情報に絞って監視できた ● Traffic/Error等,他情報と合わせて確認できるようになった ● 実装したのはDB間のデータ送受信部だけ ● ⾮常に少ない⼿間で実装可能 ● 改善点 ● 各ルータ毎のBestPathしか⾒れない ● BGP ADD-PATHを使ってGoBGPと各ルータを繋ぐ ● (GoBGP中の⼈)「 BGP ADD-PATH実装したよ!」 ● BMPを直接使う
  • 25. © BIGLOBE Inc. 201724 まとめ ● 経路状態は運⽤以外にも使える ● Peering/KPI ● 経路監視をGoBGP+openBMP+Influxdbへ ● 経路収集はiBGP ● SNAS (OpenBMP) ● ⾃分でUI作らなくても、⼗分なWebUIがある ● 注視すべき情報のみREST APIでInfluxdbに投⼊ ● Grafanaで他のデータと⼀元的に可視化ができた