SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Copyright©2017 NTT corp. All Rights Reserved.
キャリア網の完全なソフトウェア制御化への
取り組み
奥田兼三
NTTネットワーク基盤技術研究所
ネットワーク技術革新SEプロジェクト
2Copyright©2017 NTT corp. All Rights Reserved.
Agenda
1. はじめに
2. キャリア網のInfrastructure as Code
3. できる,できつつあること,悩み
4. ネットワークのモデル化
5. 実装中のプロトタイプ
6. PoC紹介
3Copyright©2017 NTT corp. All Rights Reserved.
自己紹介
名前
n 奥田兼三
所属
n NTT ネットワーク基盤技術研究所
業務
n 将来キャリア網における自動制御化の検討
n 実験網の構築・運用 (AS4697 NTTV6NET)
n OSSを組合せて色々作ってみるプロジェクト
4Copyright©2017 NTT corp. All Rights Reserved.
今日お話する内容
仮想化されたキャリア網を
ソフトウェアで制御できるようにする取り組み
5Copyright©2017 NTT corp. All Rights Reserved.
なぜソフトウェアで制御したいのか
n キャリア網をXaaS化して,いろんな人に
使ってもらうため
‣ APIやCLIによる制御
‣ リソースの即時提供
‣ テキストベースで構成・運用定義を記述可能
n 自社内の単純労働の削減
‣ 技術者の単純労働を削減して,
新しいことや面白いことを考える時間を増やす
6Copyright©2017 NTT corp. All Rights Reserved.
目指す世界は
キャリア網の Infrastructure as Code
クラウドのベスト・プラクティスをキャリア網でも使えるようにしたい
7Copyright©2017 NTT corp. All Rights Reserved.
キャリア網の Infrastructure as Code
n 任意の仮想ネットワークをデプロイ/オペレーションできる
n 構成や運用の定義はテキストベースで記述できる
n 定義に基づいて自動でデプロイ/オペレーションされる
転送ネットワーク
仮想基盤
L2/L3スイッチ
仮想基盤
光伝送ネットワーク
firewall idscgncache
L2/L3スイッチ
NW制御機能
Controller/Orchestrator
リポジトリ
SDx configuration/state repository運用端末
terminal
構成/運用定義
コミット
REST/JSON,YANG
インターフェース
GUI/CLI/API
構成/運用定義
コミット
gRPC
対象/設定項目
gRPC
変更通知
gRPC
8Copyright©2017 NTT corp. All Rights Reserved.
キャリア網の Infrastructure as Code
n ソフトウェアで制御できれば嬉しいことは色々ある
‣ ステートを一箇所に集約できれば,ウェブスケール的なアプローチが取れる
n しかし,まだまだNGNな作りのキャリア網
‣ 非SDNな装置や,従来型の設計思想
リポジトリ
SDx configuration/state repository構成/運用定義
コミット
gRPC
構成/運用定義
を投入
REST/JSON,YAML,YANG
運用システム
Operation system
タスクとデータを取得
gRPC
変更通知
gRPC
NW制御機能
Controller/Orchestrator
運用端末
terminal
制御
various protocols
9Copyright©2017 NTT corp. All Rights Reserved.
今できること・できつつあること
n 制御やネットワーク仮想化の要素技術は揃いつつある
‣ コントローラ,ベンダ間の抽象化 (Ansible, OpenConfig, NSO, …)
‣ NFVI (KVM, OpenStack, Kubernetes, OpenShift, …)
‣ ネットワーク仮想化 (VxLAN, SR, NSH, …)
n 決まったシナリオで構成定義・運用定義することは既存のソ
フトウェアの組合せでも可能
‣ OSSの組み上げによる仮想ネットワークのデプロイ,セキュリティ運
用シナリオの自動化PoCを実施
10Copyright©2017 NTT corp. All Rights Reserved.
運用シナリオ自動化のPoC
セキュリティ機能のオンデマンド・アタッチ
n OSSの組み上げで固定的なシナリオの自動制御が可能であることを実証
n データはRDBに格納したが,シナリオ在りきのテーブルやワークフローに…
ユーザ拠点
アクセスNW
ベストエフォート
帯域保証VPN
専用線
キャリアクラウド
キャリアクラウド
SD-WAN
ベストエフォート
帯域保証VPN
専用線収容局
SDN
コントローラ
NW制御機能
クラウド
コントローラ
②NWグラフにDPIを挿入
CPE
CPE
IoT
VDI
エッジクラウド
センサ ワークフロー制御
Probe
Probe
Probe分析
Probe分析
Probe分析
Probe
Probe
DPI
③構成変更
④DPI機能のオンデマンド有効化
ワークフロー
状態制御 排他制御
NSO
RDB
11Copyright©2017 NTT corp. All Rights Reserved.
制御に必要な情報をどう管理すれば...?
12Copyright©2017 NTT corp. All Rights Reserved.
モデル化やデータの管理方法の悩み
n ネットワークの要素と制御のモデル化
‣ 物理/仮想ネットワークのトポロジを抽象的に定義したい
‣ 要素・機能・制御を抽象化して共通化したい
‣ 定義記述用のテキストフォーマット (DSL)
‣ トポロジーに依存せずに記述できる運用定義
n 管理したい様々なデータ
‣ 物理/仮想ネットワークのトポロジ
‣ 物理と仮想の関連付け
‣ 装置,リンク,プロトコル,ソフトウェアの状態
‣ オペレーションにおける状態遷移や排他制御
n データ格納機能と制御機能
‣ 運用機能や制御機能をスケールさせられる構成
‣ 特定のコントローラに依存したくない
13Copyright©2017 NTT corp. All Rights Reserved.
理想としては…
n 物理/仮想ネットワークのトポロジ
‣ 最適化アルゴリズムを活用できるようにしたい
n 要素・機能・制御の抽象化と共通化
‣ 実装や装置が違っても同じL3を提供するならL3とし
て抽象化されてほしい
‣ VMにルータやスイッチが乗っていても,VMのデプロ
イとして共通化したい
‣ 抽象的な定義を具体化させて定義を拡張したい
n 物理と仮想の関連
‣ 仮想のオブジェクトからシームレスに物理まで到達し
たい
n 特定のコントローラに依存したくない
14Copyright©2017 NTT corp. All Rights Reserved.
ソフトウェアの考え方で解決できそうに見える
仮想ネットワークを定義するプログラミング言語を作るイメージ
15Copyright©2017 NTT corp. All Rights Reserved.
モデル化の考え方
n 物理/仮想ネットワークのトポロジ
‣ グラフ理論で表現する
‣ ネットワークの要素はノードとエッジ
n 要素・機能・制御の抽象化と共通化
‣ オブジェクト指向による定義
‣ 共通的な機能でくくりクラスにまとめ,クラスに共通な機能とし
て定義
‣ 具体化されたクラスで制御が変わるなら上書きする
n 物理と仮想の関連付け
‣ 関連記述に特化したグラフデータベースで記述
n コントローラ非依存
‣ 実際の制御機能をrunnerとして定義する
16Copyright©2017 NTT corp. All Rights Reserved.
要素・機能・制御の抽象化と共通化
n グラフ理論の適用
‣ ネットワークのオブジェクトはエッジとノードの二種類
n オブジェクト指向の適用
‣ ネットワークの要素はエッジとノードのサブクラス
‣ ノード→終端→VM→L3サーバ→ロボットVM
n 制御と要素の分離
‣ オブジェクトの種類毎に共通的な制御を定義する
‣ 抽象化レベル毎に応じた,適切な命令セットの定義
ノード(a.k.a 装
置)
中継ノード
NW機器, VNF
終端ノード
VM
DNS, RADIUS
SV
DNS, RADIUS
エッジ(a.k.a パ
ス)
ケーブル
電話線
1000Base-T
10Gbase-SR
仮想リンク
L2
VLAN
VxLAN
L2TP
L3
TCP
UDP
IPSec
制御
ノード生成
VM生成
ロボットVM生成
DNS VM生成
VNF生成
IoTGW VNF生
成
SSE VNF生成
ノード削除
VM削除
VNF削除
エッジ生成
L2パス生成
操作
設定追加
設定削除
17Copyright©2017 NTT corp. All Rights Reserved.
検討中の4つのDSL
• 仮想ネットワークそのものの定義(他DSLへの参照やメタデータ)を記述する
network descriptor (ND): yaml形式
• ネットワーク・トポロジの雛形を定義する
• GTに基き仮想ネットワークをインスタンス化する
graph template (GT): yaml形式等
• ネットワークを構成するオブジェクト(ノード,エッジ)のクラスを定義する
class descriptor (CD): yaml形式
• オブジェクトや仮想ネットワークに関連する操作を定義
• 実際に制御を実行する任意ランナーを指定する (st2, ansible, salt, heat,
openshift, k8s等)
procedure descriptor (PD): mistralv2, ansible, heat/hot等
18Copyright©2017 NTT corp. All Rights Reserved.
graph: ←NW構成
nodes:←ノード
iotgw:
class: ntt.iot.iotgw
iotradius:
class: ntt.iot.iotradius
userapl:
class: middleb.robotapl
edges:←リンク
e1: iotgw, router
class ntt.nw.vlan
e2: iotgw,radius
class ntt.nw.vxlan
e3: iotgw,userapl
class ntt.nw.vlan
DSLと仮想ネットワークの関係
n 仮想ネットワークのデプロイ方法等はPDに記述
n PDからクラスのメソッドを呼び出して実際のデプロイが走る
network_descriptor_version:
2017-05-30
namespace: network_a
description: networkAのND
author: kenzo okuda, NTT
email: okuda...
parameters:
hoge: aaa
huga: bbb
class:
- ntt_iot_classes
- ntt_nw_classes
procedures:←制御プロセス
deploy:←局建
runner_type: st2
entry_point: ntt.iot.init_wf
parameters:
…
adduser:←SO
runner_type: st2
entry_point: ntt.iot.so_wf
parameters:
…
Network Descriptor
仮想ネットワークを定義
class ntt.iot.iotgw {
…}
config (HA_Proxy)
deploy {…}
}
class ntt.iot.iotradius {
…
}
Class Descriptor
オブジェクトのクラスを定義
class ntt.nw.vlan {
…}
VID
}
Procedure Descriptor
制御を定義
ntt.iot.init_wf:
- iotgw.deploy
- iotradius.deploy
- userapl.build
ntt.iot.so_wf
- userapl.deploy
- iotradius.adduser
- iotgw.adduser
class middleb.robotapl
extends ntt.iot.vm {
…
build {…}
deploy {…}
}
Class Descriptor
クラスを継承
L2SW
OLT
キャリアNW
(MPLS-VPN等)
NFVI基盤(OpenStack) NFVI基盤(OpenStack)
DC内NW
(Leaf-Spine)
DC内NW
(Leaf-Spine)
GWR GWR
GWR
エッジDC コアDC
CPE
Router
DHCP
-PD
DNS
IoT-
GW
IoT-
Radius
IoTサービス
IPv6インフラサービス
ユーザ
APL
ロボット
制御
物理基盤
vlan
vxlan
IPsec
vlan
vlan
vxlan
vxlan
vlan
Graph Template
トポロジーの雛形を定義
19Copyright©2017 NTT corp. All Rights Reserved.
仮実装中のリポジトリの構成
n 複数のDBとgRPCによるAPIを組み合わせてリポジトリを構成
‣ ND-registry: ネットワーク定義をKVSに格納
‣ CD-registry: クラス定義をKVSに格納
‣ PD-registry: Runnerに処理させる処理手順を格納
‣ GT-db: トポロジーの雛形を保持
‣ PG-db: 物理ネットワークのトポロジーを格納
‣ GI-db: インスタンスのトポロジーを格納+世代管理
‣ NI-registry: インスタンスの属性情報
‣ API/backend: 制御機能や運用システムからの問合せを処理する
API
(gRPC)
NI-registry
(KVS)
GI-db
(graphDB)
GT-db
(graphDB)
ND-registry
(KVS)
CD-registry
(KVS)
PD-registry
(KVS)
Backend
(Python/Go)
yaml等の世代管理
(git)
PG-db
(graphDB)
20Copyright©2017 NTT corp. All Rights Reserved.
デモ
21Copyright©2017 NTT corp. All Rights Reserved.
PoC:DPIのオンデマンド・アタッチ
n 想定サービス: クラウド上のロボット制御機能が,宅内のロボットを遠隔制御
n セキュリティ向上のため,サービスにセキュリティ機能を動的に追加するデモ
ユーザ拠点
アクセスNW
ベストエフォート
帯域保証VPN
専用線
キャリアクラウド
キャリアクラウド
SD-WAN
ベストエフォート
帯域保証VPN
専用線収容局
SD-WAN
コントローラ
制御機能
クラウド
コントローラ
②NWグラフにDPIを挿入
CPE
CPE
IoT
VDI
エッジクラウド
センサ ワークフロー制御
Probe
Probe
Probe分析
Probe分析
Probe分析
Probe
Probe
DPI
③構成変更
④DPI機能のオンデマンド有効化
モデルベースのリポジトリ
NWグラフ
DB
構成定義
状態制御
gRPC
gRPC 排他制御
状態情報
運用定義
22Copyright©2017 NTT corp. All Rights Reserved.
PoC環境
n リポジトリ: 制御パラメータ(IPアドレス等),状態情報(状態・排他制御)を保持
n 制御機能: データを一切持たず,リポジトリに問い合わせ,タスクを実行させる
監視装置
同左
エッジDC
凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向
エッジDC
Spine/Leaf
L2SW
IoT-GW
ロボット脳
ElastAlert
エッジDC
Router
vMX
【Probe】
Router
vMX
【セキュリティ分析器】
SNORT
【クリーナー】
IPTables
ElastAlert
• イベント検知&通知
elasticsearch
• ログ情報の蓄積
fluentd
• Syslog受信
NAPALM
• Router情報取得
GoBGP
• BGPデーモン
SNORT
• IDS
VRF VRF
VRF
GoBGP
NAPALM
StackStorm
• ワークフロー実行
repository
Repository
• データの格納
23Copyright©2017 NTT corp. All Rights Reserved.
デモの流れ
n フェーズ1 - 怪しさ検知
‣ ユーザが,セキュリティ機能を有効化する
‣ 事前に仕込んである機能(Probe)が,異常かもしれない徴候を検知
n フェーズ2 - 詳細分析
‣ セキュリティ分析機能を起動
‣ セキュリティ分析機能にトラヒックをミラー
‣ 攻撃が発生しているか否かを分析し,攻撃があればアラート
n フェーズ3 - 攻撃遮断
‣ クリーニング機能を起動する
‣ ルータからクリーニング機能に対象トラヒックをステアリング
‣ クリーニング機能で対象トラヒックをクリーニングする
• 正常トラヒックは再度ルータに戻す
24Copyright©2017 NTT corp. All Rights Reserved.
同左エッジDC
エッジDC
フェーズ1 - 怪しさ検知
n API経由で有効化されたProbeが怪しい挙動を検知
凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向
エッジDC
Spine/Leaf
L2SW
IoT-GW
ロボット脳
監視装置
ElastAlert
Router
vMX
【Probe】
Router
vMX
①Probeで通常存在しない
コンテナ発コネクション確立(SYNパケット)
を検知してSyslog通知
正常
正常
悪意
syslog
1
悪意
VRF VRF
VRF
正常
悪意
NAPALM
GoBGP
repository
25Copyright©2017 NTT corp. All Rights Reserved.
同左エッジDC
エッジDC
GoBGP
フェーズ2 - 詳細分析
n セキュリティ分析器を起動してトラヒックをミラー,詳細分析を行う
凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向
エッジDC
Spine/Leaf
L2SW
IoT-GW
ロボット脳
監視装置
ElastAlert
Router
vMX
【Probe】
Router
vMX
【セキュリティ分析器】
SNORT
①怪しさ検知の結果、WFが起動される
②SNORTコンテナの起動
③Routerのミラーリング開始設定
④SNORTで詳細分析開始
→悪意パケットを検出するとSyslog通知
正常
正常
悪意
syslog
1
悪意
2
VRF VRF
VRF
4
正常
悪意
BGP Flowspec
3
3
NAPALM
repository
26Copyright©2017 NTT corp. All Rights Reserved.
同左エッジDC
フェーズ3 - 攻撃遮断
n クリーナーを起動し,トラヒックをステアリングすることで,悪意パケット
を破棄
凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向
エッジDC
Spine/Leaf
L2SW
IoT-GW
ロボット脳
エッジDC
監視装置
ElastAlert
Router
vMX
【Probe】
Router
vMX
【クリーナー】
IPTables
【セキュリティ分析器】
SNORT
正常
正常
悪意
syslog
1
①詳細分析の結果、WFが起動される
②クリーナコンテナを起動
③Routerの経路設定変更
ロボット制御コンテナからロボット向け
パケットをクリーナー経由に変更
④クリーナーでは悪意パケットを破棄
4
3
悪意
3
VRF VRF
VRF
正常
破棄
2
NAPALM
GoBGP
BGP Flowspec
repository
27Copyright©2017 NTT corp. All Rights Reserved.
デモ画面
Mattermost
StackStormによる
ワークフロー進捗表示
Dockerコンテナ表示
ミラー経路
パケットキャプチャ表示
クリーナ経路
パケットキャプチャ表示
通常パケット送信 攻撃パケット送信
通常パケット受信 攻撃パケット受信
28Copyright©2017 NTT corp. All Rights Reserved.
おわりに
n キャリア網のソフトウェア制御化に向けた
取り組みを紹介した
‣ 要素技術は発展しているが,全体をインテグレートで
きるプロダクトはまだあまりない
‣ 今の一番の悩みはネットワークのモデル化
‣ オブジェクト指向とグラフDBによるモデル化
n OpenNaef は良さそう
‣ これから動かしてみて参考になる部分はどんどん取
り込みたい
‣ OpenNaef でNodeとPortを区別することにした最大
の理由は?
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure as Code

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
 
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5G
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 
【招待講演】ICM研究会 - 統合ログ分析技術Lognosisと運用ログ分析の取組
【招待講演】ICM研究会 - 統合ログ分析技術Lognosisと運用ログ分析の取組【招待講演】ICM研究会 - 統合ログ分析技術Lognosisと運用ログ分析の取組
【招待講演】ICM研究会 - 統合ログ分析技術Lognosisと運用ログ分析の取組
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
 
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
 
世界最高精度50cmの3D地図の世界へ 「AW3D」を支える最先端の衛星ビッグデータ解析(NTTデータ テクノロジーカンファレンス 2019 講演資料、2...
世界最高精度50cmの3D地図の世界へ 「AW3D」を支える最先端の衛星ビッグデータ解析(NTTデータ テクノロジーカンファレンス 2019 講演資料、2...世界最高精度50cmの3D地図の世界へ 「AW3D」を支える最先端の衛星ビッグデータ解析(NTTデータ テクノロジーカンファレンス 2019 講演資料、2...
世界最高精度50cmの3D地図の世界へ 「AW3D」を支える最先端の衛星ビッグデータ解析(NTTデータ テクノロジーカンファレンス 2019 講演資料、2...
 
QUICとNATと
QUICとNATとQUICとNATと
QUICとNATと
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
【CNDT2020】Tunaclo API Connectで実現する次世代のクラウド間アクセス
【CNDT2020】Tunaclo API Connectで実現する次世代のクラウド間アクセス【CNDT2020】Tunaclo API Connectで実現する次世代のクラウド間アクセス
【CNDT2020】Tunaclo API Connectで実現する次世代のクラウド間アクセス
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
 
Hybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalHybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_final
 
Dll Injection
Dll InjectionDll Injection
Dll Injection
 
NW-DIY で開拓したい社会
NW-DIY で開拓したい社会NW-DIY で開拓したい社会
NW-DIY で開拓したい社会
 
Troveコミュニティ動向
Troveコミュニティ動向Troveコミュニティ動向
Troveコミュニティ動向
 
OpenID BizDay #9 - 松尾真一郎氏 プレゼン資料
OpenID BizDay #9 - 松尾真一郎氏 プレゼン資料OpenID BizDay #9 - 松尾真一郎氏 プレゼン資料
OpenID BizDay #9 - 松尾真一郎氏 プレゼン資料
 

Semelhante a キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure as Code

Semelhante a キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure as Code (20)

WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
AutoTVM紹介
AutoTVM紹介AutoTVM紹介
AutoTVM紹介
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCoding
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
 
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
 
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
 
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
 
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
ONOS and Lagopus
ONOS and LagopusONOS and Lagopus
ONOS and Lagopus
 
OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組み
 

キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure as Code

  • 1. Copyright©2017 NTT corp. All Rights Reserved. キャリア網の完全なソフトウェア制御化への 取り組み 奥田兼三 NTTネットワーク基盤技術研究所 ネットワーク技術革新SEプロジェクト
  • 2. 2Copyright©2017 NTT corp. All Rights Reserved. Agenda 1. はじめに 2. キャリア網のInfrastructure as Code 3. できる,できつつあること,悩み 4. ネットワークのモデル化 5. 実装中のプロトタイプ 6. PoC紹介
  • 3. 3Copyright©2017 NTT corp. All Rights Reserved. 自己紹介 名前 n 奥田兼三 所属 n NTT ネットワーク基盤技術研究所 業務 n 将来キャリア網における自動制御化の検討 n 実験網の構築・運用 (AS4697 NTTV6NET) n OSSを組合せて色々作ってみるプロジェクト
  • 4. 4Copyright©2017 NTT corp. All Rights Reserved. 今日お話する内容 仮想化されたキャリア網を ソフトウェアで制御できるようにする取り組み
  • 5. 5Copyright©2017 NTT corp. All Rights Reserved. なぜソフトウェアで制御したいのか n キャリア網をXaaS化して,いろんな人に 使ってもらうため ‣ APIやCLIによる制御 ‣ リソースの即時提供 ‣ テキストベースで構成・運用定義を記述可能 n 自社内の単純労働の削減 ‣ 技術者の単純労働を削減して, 新しいことや面白いことを考える時間を増やす
  • 6. 6Copyright©2017 NTT corp. All Rights Reserved. 目指す世界は キャリア網の Infrastructure as Code クラウドのベスト・プラクティスをキャリア網でも使えるようにしたい
  • 7. 7Copyright©2017 NTT corp. All Rights Reserved. キャリア網の Infrastructure as Code n 任意の仮想ネットワークをデプロイ/オペレーションできる n 構成や運用の定義はテキストベースで記述できる n 定義に基づいて自動でデプロイ/オペレーションされる 転送ネットワーク 仮想基盤 L2/L3スイッチ 仮想基盤 光伝送ネットワーク firewall idscgncache L2/L3スイッチ NW制御機能 Controller/Orchestrator リポジトリ SDx configuration/state repository運用端末 terminal 構成/運用定義 コミット REST/JSON,YANG インターフェース GUI/CLI/API 構成/運用定義 コミット gRPC 対象/設定項目 gRPC 変更通知 gRPC
  • 8. 8Copyright©2017 NTT corp. All Rights Reserved. キャリア網の Infrastructure as Code n ソフトウェアで制御できれば嬉しいことは色々ある ‣ ステートを一箇所に集約できれば,ウェブスケール的なアプローチが取れる n しかし,まだまだNGNな作りのキャリア網 ‣ 非SDNな装置や,従来型の設計思想 リポジトリ SDx configuration/state repository構成/運用定義 コミット gRPC 構成/運用定義 を投入 REST/JSON,YAML,YANG 運用システム Operation system タスクとデータを取得 gRPC 変更通知 gRPC NW制御機能 Controller/Orchestrator 運用端末 terminal 制御 various protocols
  • 9. 9Copyright©2017 NTT corp. All Rights Reserved. 今できること・できつつあること n 制御やネットワーク仮想化の要素技術は揃いつつある ‣ コントローラ,ベンダ間の抽象化 (Ansible, OpenConfig, NSO, …) ‣ NFVI (KVM, OpenStack, Kubernetes, OpenShift, …) ‣ ネットワーク仮想化 (VxLAN, SR, NSH, …) n 決まったシナリオで構成定義・運用定義することは既存のソ フトウェアの組合せでも可能 ‣ OSSの組み上げによる仮想ネットワークのデプロイ,セキュリティ運 用シナリオの自動化PoCを実施
  • 10. 10Copyright©2017 NTT corp. All Rights Reserved. 運用シナリオ自動化のPoC セキュリティ機能のオンデマンド・アタッチ n OSSの組み上げで固定的なシナリオの自動制御が可能であることを実証 n データはRDBに格納したが,シナリオ在りきのテーブルやワークフローに… ユーザ拠点 アクセスNW ベストエフォート 帯域保証VPN 専用線 キャリアクラウド キャリアクラウド SD-WAN ベストエフォート 帯域保証VPN 専用線収容局 SDN コントローラ NW制御機能 クラウド コントローラ ②NWグラフにDPIを挿入 CPE CPE IoT VDI エッジクラウド センサ ワークフロー制御 Probe Probe Probe分析 Probe分析 Probe分析 Probe Probe DPI ③構成変更 ④DPI機能のオンデマンド有効化 ワークフロー 状態制御 排他制御 NSO RDB
  • 11. 11Copyright©2017 NTT corp. All Rights Reserved. 制御に必要な情報をどう管理すれば...?
  • 12. 12Copyright©2017 NTT corp. All Rights Reserved. モデル化やデータの管理方法の悩み n ネットワークの要素と制御のモデル化 ‣ 物理/仮想ネットワークのトポロジを抽象的に定義したい ‣ 要素・機能・制御を抽象化して共通化したい ‣ 定義記述用のテキストフォーマット (DSL) ‣ トポロジーに依存せずに記述できる運用定義 n 管理したい様々なデータ ‣ 物理/仮想ネットワークのトポロジ ‣ 物理と仮想の関連付け ‣ 装置,リンク,プロトコル,ソフトウェアの状態 ‣ オペレーションにおける状態遷移や排他制御 n データ格納機能と制御機能 ‣ 運用機能や制御機能をスケールさせられる構成 ‣ 特定のコントローラに依存したくない
  • 13. 13Copyright©2017 NTT corp. All Rights Reserved. 理想としては… n 物理/仮想ネットワークのトポロジ ‣ 最適化アルゴリズムを活用できるようにしたい n 要素・機能・制御の抽象化と共通化 ‣ 実装や装置が違っても同じL3を提供するならL3とし て抽象化されてほしい ‣ VMにルータやスイッチが乗っていても,VMのデプロ イとして共通化したい ‣ 抽象的な定義を具体化させて定義を拡張したい n 物理と仮想の関連 ‣ 仮想のオブジェクトからシームレスに物理まで到達し たい n 特定のコントローラに依存したくない
  • 14. 14Copyright©2017 NTT corp. All Rights Reserved. ソフトウェアの考え方で解決できそうに見える 仮想ネットワークを定義するプログラミング言語を作るイメージ
  • 15. 15Copyright©2017 NTT corp. All Rights Reserved. モデル化の考え方 n 物理/仮想ネットワークのトポロジ ‣ グラフ理論で表現する ‣ ネットワークの要素はノードとエッジ n 要素・機能・制御の抽象化と共通化 ‣ オブジェクト指向による定義 ‣ 共通的な機能でくくりクラスにまとめ,クラスに共通な機能とし て定義 ‣ 具体化されたクラスで制御が変わるなら上書きする n 物理と仮想の関連付け ‣ 関連記述に特化したグラフデータベースで記述 n コントローラ非依存 ‣ 実際の制御機能をrunnerとして定義する
  • 16. 16Copyright©2017 NTT corp. All Rights Reserved. 要素・機能・制御の抽象化と共通化 n グラフ理論の適用 ‣ ネットワークのオブジェクトはエッジとノードの二種類 n オブジェクト指向の適用 ‣ ネットワークの要素はエッジとノードのサブクラス ‣ ノード→終端→VM→L3サーバ→ロボットVM n 制御と要素の分離 ‣ オブジェクトの種類毎に共通的な制御を定義する ‣ 抽象化レベル毎に応じた,適切な命令セットの定義 ノード(a.k.a 装 置) 中継ノード NW機器, VNF 終端ノード VM DNS, RADIUS SV DNS, RADIUS エッジ(a.k.a パ ス) ケーブル 電話線 1000Base-T 10Gbase-SR 仮想リンク L2 VLAN VxLAN L2TP L3 TCP UDP IPSec 制御 ノード生成 VM生成 ロボットVM生成 DNS VM生成 VNF生成 IoTGW VNF生 成 SSE VNF生成 ノード削除 VM削除 VNF削除 エッジ生成 L2パス生成 操作 設定追加 設定削除
  • 17. 17Copyright©2017 NTT corp. All Rights Reserved. 検討中の4つのDSL • 仮想ネットワークそのものの定義(他DSLへの参照やメタデータ)を記述する network descriptor (ND): yaml形式 • ネットワーク・トポロジの雛形を定義する • GTに基き仮想ネットワークをインスタンス化する graph template (GT): yaml形式等 • ネットワークを構成するオブジェクト(ノード,エッジ)のクラスを定義する class descriptor (CD): yaml形式 • オブジェクトや仮想ネットワークに関連する操作を定義 • 実際に制御を実行する任意ランナーを指定する (st2, ansible, salt, heat, openshift, k8s等) procedure descriptor (PD): mistralv2, ansible, heat/hot等
  • 18. 18Copyright©2017 NTT corp. All Rights Reserved. graph: ←NW構成 nodes:←ノード iotgw: class: ntt.iot.iotgw iotradius: class: ntt.iot.iotradius userapl: class: middleb.robotapl edges:←リンク e1: iotgw, router class ntt.nw.vlan e2: iotgw,radius class ntt.nw.vxlan e3: iotgw,userapl class ntt.nw.vlan DSLと仮想ネットワークの関係 n 仮想ネットワークのデプロイ方法等はPDに記述 n PDからクラスのメソッドを呼び出して実際のデプロイが走る network_descriptor_version: 2017-05-30 namespace: network_a description: networkAのND author: kenzo okuda, NTT email: okuda... parameters: hoge: aaa huga: bbb class: - ntt_iot_classes - ntt_nw_classes procedures:←制御プロセス deploy:←局建 runner_type: st2 entry_point: ntt.iot.init_wf parameters: … adduser:←SO runner_type: st2 entry_point: ntt.iot.so_wf parameters: … Network Descriptor 仮想ネットワークを定義 class ntt.iot.iotgw { …} config (HA_Proxy) deploy {…} } class ntt.iot.iotradius { … } Class Descriptor オブジェクトのクラスを定義 class ntt.nw.vlan { …} VID } Procedure Descriptor 制御を定義 ntt.iot.init_wf: - iotgw.deploy - iotradius.deploy - userapl.build ntt.iot.so_wf - userapl.deploy - iotradius.adduser - iotgw.adduser class middleb.robotapl extends ntt.iot.vm { … build {…} deploy {…} } Class Descriptor クラスを継承 L2SW OLT キャリアNW (MPLS-VPN等) NFVI基盤(OpenStack) NFVI基盤(OpenStack) DC内NW (Leaf-Spine) DC内NW (Leaf-Spine) GWR GWR GWR エッジDC コアDC CPE Router DHCP -PD DNS IoT- GW IoT- Radius IoTサービス IPv6インフラサービス ユーザ APL ロボット 制御 物理基盤 vlan vxlan IPsec vlan vlan vxlan vxlan vlan Graph Template トポロジーの雛形を定義
  • 19. 19Copyright©2017 NTT corp. All Rights Reserved. 仮実装中のリポジトリの構成 n 複数のDBとgRPCによるAPIを組み合わせてリポジトリを構成 ‣ ND-registry: ネットワーク定義をKVSに格納 ‣ CD-registry: クラス定義をKVSに格納 ‣ PD-registry: Runnerに処理させる処理手順を格納 ‣ GT-db: トポロジーの雛形を保持 ‣ PG-db: 物理ネットワークのトポロジーを格納 ‣ GI-db: インスタンスのトポロジーを格納+世代管理 ‣ NI-registry: インスタンスの属性情報 ‣ API/backend: 制御機能や運用システムからの問合せを処理する API (gRPC) NI-registry (KVS) GI-db (graphDB) GT-db (graphDB) ND-registry (KVS) CD-registry (KVS) PD-registry (KVS) Backend (Python/Go) yaml等の世代管理 (git) PG-db (graphDB)
  • 20. 20Copyright©2017 NTT corp. All Rights Reserved. デモ
  • 21. 21Copyright©2017 NTT corp. All Rights Reserved. PoC:DPIのオンデマンド・アタッチ n 想定サービス: クラウド上のロボット制御機能が,宅内のロボットを遠隔制御 n セキュリティ向上のため,サービスにセキュリティ機能を動的に追加するデモ ユーザ拠点 アクセスNW ベストエフォート 帯域保証VPN 専用線 キャリアクラウド キャリアクラウド SD-WAN ベストエフォート 帯域保証VPN 専用線収容局 SD-WAN コントローラ 制御機能 クラウド コントローラ ②NWグラフにDPIを挿入 CPE CPE IoT VDI エッジクラウド センサ ワークフロー制御 Probe Probe Probe分析 Probe分析 Probe分析 Probe Probe DPI ③構成変更 ④DPI機能のオンデマンド有効化 モデルベースのリポジトリ NWグラフ DB 構成定義 状態制御 gRPC gRPC 排他制御 状態情報 運用定義
  • 22. 22Copyright©2017 NTT corp. All Rights Reserved. PoC環境 n リポジトリ: 制御パラメータ(IPアドレス等),状態情報(状態・排他制御)を保持 n 制御機能: データを一切持たず,リポジトリに問い合わせ,タスクを実行させる 監視装置 同左 エッジDC 凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向 エッジDC Spine/Leaf L2SW IoT-GW ロボット脳 ElastAlert エッジDC Router vMX 【Probe】 Router vMX 【セキュリティ分析器】 SNORT 【クリーナー】 IPTables ElastAlert • イベント検知&通知 elasticsearch • ログ情報の蓄積 fluentd • Syslog受信 NAPALM • Router情報取得 GoBGP • BGPデーモン SNORT • IDS VRF VRF VRF GoBGP NAPALM StackStorm • ワークフロー実行 repository Repository • データの格納
  • 23. 23Copyright©2017 NTT corp. All Rights Reserved. デモの流れ n フェーズ1 - 怪しさ検知 ‣ ユーザが,セキュリティ機能を有効化する ‣ 事前に仕込んである機能(Probe)が,異常かもしれない徴候を検知 n フェーズ2 - 詳細分析 ‣ セキュリティ分析機能を起動 ‣ セキュリティ分析機能にトラヒックをミラー ‣ 攻撃が発生しているか否かを分析し,攻撃があればアラート n フェーズ3 - 攻撃遮断 ‣ クリーニング機能を起動する ‣ ルータからクリーニング機能に対象トラヒックをステアリング ‣ クリーニング機能で対象トラヒックをクリーニングする • 正常トラヒックは再度ルータに戻す
  • 24. 24Copyright©2017 NTT corp. All Rights Reserved. 同左エッジDC エッジDC フェーズ1 - 怪しさ検知 n API経由で有効化されたProbeが怪しい挙動を検知 凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向 エッジDC Spine/Leaf L2SW IoT-GW ロボット脳 監視装置 ElastAlert Router vMX 【Probe】 Router vMX ①Probeで通常存在しない コンテナ発コネクション確立(SYNパケット) を検知してSyslog通知 正常 正常 悪意 syslog 1 悪意 VRF VRF VRF 正常 悪意 NAPALM GoBGP repository
  • 25. 25Copyright©2017 NTT corp. All Rights Reserved. 同左エッジDC エッジDC GoBGP フェーズ2 - 詳細分析 n セキュリティ分析器を起動してトラヒックをミラー,詳細分析を行う 凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向 エッジDC Spine/Leaf L2SW IoT-GW ロボット脳 監視装置 ElastAlert Router vMX 【Probe】 Router vMX 【セキュリティ分析器】 SNORT ①怪しさ検知の結果、WFが起動される ②SNORTコンテナの起動 ③Routerのミラーリング開始設定 ④SNORTで詳細分析開始 →悪意パケットを検出するとSyslog通知 正常 正常 悪意 syslog 1 悪意 2 VRF VRF VRF 4 正常 悪意 BGP Flowspec 3 3 NAPALM repository
  • 26. 26Copyright©2017 NTT corp. All Rights Reserved. 同左エッジDC フェーズ3 - 攻撃遮断 n クリーナーを起動し,トラヒックをステアリングすることで,悪意パケット を破棄 凡例:青背景 VM, 紺背景 コンテナ, 緑線 正常パケットの方向, 赤線 攻撃パケットの方向 エッジDC Spine/Leaf L2SW IoT-GW ロボット脳 エッジDC 監視装置 ElastAlert Router vMX 【Probe】 Router vMX 【クリーナー】 IPTables 【セキュリティ分析器】 SNORT 正常 正常 悪意 syslog 1 ①詳細分析の結果、WFが起動される ②クリーナコンテナを起動 ③Routerの経路設定変更 ロボット制御コンテナからロボット向け パケットをクリーナー経由に変更 ④クリーナーでは悪意パケットを破棄 4 3 悪意 3 VRF VRF VRF 正常 破棄 2 NAPALM GoBGP BGP Flowspec repository
  • 27. 27Copyright©2017 NTT corp. All Rights Reserved. デモ画面 Mattermost StackStormによる ワークフロー進捗表示 Dockerコンテナ表示 ミラー経路 パケットキャプチャ表示 クリーナ経路 パケットキャプチャ表示 通常パケット送信 攻撃パケット送信 通常パケット受信 攻撃パケット受信
  • 28. 28Copyright©2017 NTT corp. All Rights Reserved. おわりに n キャリア網のソフトウェア制御化に向けた 取り組みを紹介した ‣ 要素技術は発展しているが,全体をインテグレートで きるプロダクトはまだあまりない ‣ 今の一番の悩みはネットワークのモデル化 ‣ オブジェクト指向とグラフDBによるモデル化 n OpenNaef は良さそう ‣ これから動かしてみて参考になる部分はどんどん取 り込みたい ‣ OpenNaef でNodeとPortを区別することにした最大 の理由は?