Upload
toshiki-tsuboi
View
685
Download
1
Embed Size (px)
Citation preview
2
自己紹介
⚫ SDN/NFV技術に興味を持ったNWエンジニア ⚫ SDN時代にふさわしいNWエンジニアを目指して、 Python/Golang等を勉強中 ⚫ Ryu SDN Frameworkの、BGPSpeakerを 使いはじめて、BGPプログラミングの面白さに 目覚めつつあります。
@ttsubo
3
SDNって、流行ってますか?最近のSDN活用事例と言えば、 - OpenStack - OpenDaylight - OpenContrail - Ryu SDN Framework などのオープンソースをイメージするところでしょうか?
ネットワーク運用の自動化を目指す上、監視技術って あまり触れられてこないですよね?
でもチャレンジしてみました。
5LDP(OSPF)面
BGP面
・BGPピア間の通信経路は、OSPFにより解決 ・BGPのNEXTHOPへの到達性がシングルホップで対応できるよう LDPによるMPLSトンネルを自動生成
RR RR
BGP/LDP面による階層化構造を構成BGP/MPLS-VPNでのC-Planeの特徴
7
⚫ GRE/MPLS/VxLAN等の通信プロト コル技術が一般化 ⚫ L2VPN閉域ネットワーク制御として EVPN/VxLANがHotTopic! ⚫ L3VPN閉域ネットワーク制御として BGP/MPLS-VPNは、実用化技術として 成熟の域
クラウド基盤でのNW活用事例
今回、BGP/MPLS-VPNに着目
8
BGP面
事業者A 事業者B
最近のクラウド動向として、事業者間NW接続による クラウド間連携のサービス提供が主流になりつつある。
BGP職人BBGP職人A
事業者をまたがったエンドエンド通信
最近のクラウド基盤の動向
事業者をまたがったBGP経路伝搬
事業者Bの BGP運用は 任せておけ!
事業者Aの BGP運用は 任せておけ!
SDN時代でも、 BGPの役割は
とても大切な領域です
9
BGP運用というと、なんとなく「BGP職人」という言葉を連想してしまうのは、私だけでしょうか? BGP職人は、事前に策定されたBGP運用ポリシーに従って、ポリシー・ルーティングに関わるルートマップ等コンフィグを投入することができる存在であり、想定どおり、ポリシー・ルーティングが動作されているかを確認するため、ベンダ固有のCLIコマンドを駆使して細かなBGP制御を確認することを日々の業務として実施する。そんなイメージを、「BGP運用」からは、連想してしまいます。さらに、不測な事態としてNWトポロジが安定動作していないことが判明した際には、BGP等プロトコル動作の振る舞いから、障害箇所を推測して、長年の運用経験から導き出された障害対策案の中からベストな方法で障害復旧を施すことができるネットワークの達人こそが、大規模ネットワーク運用を担っていることでしょう。
BGP運用って、どんなイメージですか?
10
BGP運用の自動化を目指すには?BGP職人の運用経験を踏まえた、運用の自動化を実現するには、
●課題1「BGPコンフィグ設定通りに、BGP動作 していることを、検証する仕組み」 ●課題2「実ネットワークでのBGP動作履歴を、 オペレーション観点で、ログ管理できる 仕組み」 ●課題3「BGP障害解析として、過去のBGP障害 履歴から障害箇所を推定する仕組み」
が備わっているBGPシミュレーション機能を有する運用システムが必要になるのでしょう。
11
BGP監視技術の候補
IETF会合では、BGP監視手法として、 以下の技術提案されている(1) BGP-LS
(2) BMP
今回、BMPに注目
North-Bound Distribution of Link-State and TE Information using BGP (draft-ietf-idr-ls-distribution-xx)
BGP Monitoring Protocol(draft-ietf-grow-bmp-xx)
12
BMPによるBGPモニタリング
BMP Server
mpBGP mpBGP BGPBMP Client
BMP
BMP Client機能を有する各BGPルータでは、受信したBGP UPDATEメッセージにより、adj-RIB-inの経路情報の更新を契機として、BMP情報の中に、BGP UPDATEメッセージをセットして、BMP Serverに通知するようになります。 よって、BMP Server側では、BGPモニタリングが可能となります。
mpBGP
BGP経路追加 された!BGP
経路追加
13
Ryu実践活用によるBGP経路監視プロトタイプ
RyuBMP/BGP活用により、BGP経路の可視化ツールのプロトタイプを作ってみた。(1) RyuBMP活用によるBGP経路伝搬のログ管理 実ネットワークから収集したBMP情報から、BGP経路を抽出してログ管理する仕組み
(2) RyuBGP改造によるBGP経路の可視化 RyuBGPのベストパス選定機能を活用して、BGP経路ログから、BGPテーブルを構築して、オペレータ観点での可視化する仕組み
14
BGP経路監視ツール
BMP Station
BGP経路監視ツール構成
RyuBGP
"172.16.0.0/24" 経路追加
BGP テーブル
IPネットワーク
C-Plane
mpBGP mpBGP mpBGP
BMP
16
BGP1>show bgp vpnv4 unicast all BGP table version is 68, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 65010:101 *> 172.16.0.0/24 192.168.101.101 0 65010 ? * i 192.168.104.102 0 100 0 65010 ? *>i 192.168.1.0 192.168.105.102 0 100 0 ? *> 192.168.2.0 192.168.101.101 0 65010 ? * i 192.168.104.102 0 100 0 65010 ?
CSR1000v (IOS-XE)
CSR1000v側でのBGPテーブル確認
17
BGP経路監視ツール
BMP Station
RyuBGP BGP テーブル
$ ./get_rib.sh
Status codes: * valid, > best Origin codes: i - IGP, e - EGP, ? - incomplete Network Labels Next Hop Reason Metric LocPrf Path *> 65010:101:192.168.2.0/24 [20] 192.168.101.101 ASN 65010 ? * [20] 192.168.104.102 0 100 65010 ? *> 65010:101:172.16.0.0/24 [22] 192.168.101.101 ASN 65010 ? * [22] 192.168.104.102 0 100 65010 ? *> 65010:101:192.168.1.0/24 [18] 192.168.105.102 Only Path 0 100 ?
BGP経路監視ツール側でのBGPテーブル確認
CSR1000vのBGPテーブルと、bgpSimulatorのBGPテーブルは、同じBGPパス情報を保持していることが確認できました。
18
https://github.com/ttsubo/docker-simpleRouter/tree/bgpSimulator
BGP経路監視ツール”bgpSimulator”をお手軽に試してみるには?CSR1000vなどの実際のBGPルータを配備して、NWトポロジを構築するのは、なかなか手間がかかる話です。 RyuBGPには、BMP Client機能を有しているので、RyuBGPを活用して、BGP/MPLS-VPN面を構築した上で、もっと、手軽にBGP経路監視ツール"bgpSimulator"の動作を試してみることができるように、dockerコンテナでの実験環境を用意しました。