onePK - ItrC

ITRC Meet 35
Ciscoデバイスをプログラミングする
~onePKのご紹介~
2014年6月17日
シスコシステムズ合同会社
システムズエンジニアリング
SDN応用技術室 エバンジェリスト
早川 浩平
© 2012
2011
2013 Cisco and/or its affiliates. All rights reserved.
1
• onePKとは、シスコ製品上で稼働しているオペレーティングシステムCisco
IOS®、IOS-XR、NX-OSで利用可能な開発者用のオープンなアプリケーショ
ンプログラミングインターフェイス(API)です。C言語、Java、Python用
のライブラリとして無償で提供されています。
お客様のニーズに適応した
onePKアプリケーション
onePK API
リアルタイムな
情報取得/イベント通知
動的な制御
• Source Information
IOS/IOS-XE/IOS-XR/NX-OS
インター
フェース情報
IP経路情報
トラフィック
情報
アクセス制御
情報
QoS制御
情報
イベント
© 2013 Cisco and/or its affiliates. All rights reserved.
ネットワークのプロ
グラマビリティ:
• 革新
• 拡張
• 自動化
• カスタマイズ
• 向上
• 変更
P.2
2
サービスセット
概要
データパス
データパスの属性の取得と設定
パケットのコピー、パント、インジェクションなど
ポリシー
ACL情報の取得と設定、QoS情報の取得と設定など
ルーティング
Routing Information Base(RIB)情報の取得
アプリケーションRouteの追加/削除、RIBイベントの処理
エレメント
onePKアプリと機器のセッション管理。機器属性の取得と設定。
インターフェース関連のイベントの処理。CLIの拡張。
ディスカバリ
機器内のサービスの探索
ネットワークトポロジーの探索
ユーティリティ
Syslogのイベント処理
機器上のAAA処理の制御とAAA情報の参照など
デベロッパー
onePKのデバッグ機能の操作
© 2013 Cisco and/or its affiliates. All rights reserved.
P.3
3
エンドポイント
ホスティング
ブレードホスティング
プロセスホスティング
(※)
IOS
IOS
IOS
IPC
ブレード
モジュール
Container
Container
onePK アプリ
onePK
アプリ
onePK
外部
サーバー アプリ
※プロセスホスティングは現在シスコのみが利用でき、一般公開されておりません。
© 2013 Cisco and/or its affiliates. All rights reserved.
Write Once, Run Anywhere
P.4
4
SDNアプリケーション/オーケストレータ
CLI
onePK OpenFlow NetConf
App Controller
App
telnet
ssh
onePK
OpenFlow
Puppet
App
NetConf
OpenFlow NetConf
Agent
Agent
ACI
Puppet
Puppet
Agent
各種SDNプロトコルに
対応したPlugin Agent
を、シスコ自身が
onePK(Process
Hosting)を使い開発
OpFlex
OpFlex
Agent
onePK Infrastructure
IOS
ハードウェア
(ASIC/ネットワークプロセッサー)
※プラットフォームにより、Plug-in Agentのサポート有無やリリース時期は異なりますので、ご注意ください。
© 2013 Cisco and/or its affiliates. All rights reserved.
5
https://developer.cisco.com/web/onepk-developer
DevNet/onePKサイト内容








リリースノート
APIリファレンスガイド
デザインガイド
トラブルシューティングガイド
セキュリティガイド
ハイアベイラビリティガイド
チュートリアル
SDKダウンロード(※)
 C/Java/Python
 サンプルコード含む
 All-in-one VM ダウンロード
(※)
※SDKおよびAll-in-one VMのダウンロードにはCCOのアカウントが必要です。
© 2013 Cisco and/or its affiliates. All rights reserved.
7
onePKのSDK(C/Java/Python)、DOCおよび仮想ルータが入っています
onePKアプリ開
発および基本的な
onePKアプリの
動作確認が可能
© 2013 Cisco and/or its affiliates. All rights reserved.
「3node」のトポロジ
8
onePK Platforms – Calendar Quarters
正式リリース済み:
ISR G2(15.4(2)T)
ISR4400 (XE3.12)
ASR1K (XE3.12)
CSR1000V(XE3.12)
Early Field Trials:
ASR 9K(XR 5.1.1)
N3K, N7K
2014年第3四半期
N3K, N3500
2014年第2四半期
N5K, N6K
ASR 9K (XR 5.2.0)
N7K
2014年第4四半期
Cat 2K, 3K, 4K, 6K
ASR920
ME36/3800
Nexus 9K
※上記スケジュールは予定です。予告なく変更されることがございますので、ご注意ください。
© 2013 Cisco and/or its affiliates. All rights reserved.
9
onePK動作解説
© 2012
2011
2013 Cisco and/or its affiliates. All rights reserved.
10
お客様のニーズに適応した
onePKアプリケーション
コマンドライン(CLI)
状態確認
自律分散
従来のIP技術、
ネットワーク設
計、運用ノウハ
ウの利用が可能。
onePK API
設定変更も可能
リアルタイムな情報取得/
イベント通知
設定情報
(Config)
onePK
動的制御
(設定変更なし)
IOS
© 2013 Cisco and/or its affiliates. All rights reserved.
インター
フェース情報
IP経路情報
トラフィック
情報
アクセス制御
情報
QoS制御
情報
イベント
新たなる制御、
管理手法。
設定変更を伴わ
ずに、アプリか
らネットワーク
の制御が可能。
P.11
11
running-config
コマンド
ライン
(CLI)
Static
Route/
OSPF
Process
など
IOS
ルーティングテーブル
ルーティング制御プロセス
(AD値による優先制御)
ルーティングテーブル
ルーティングテーブル
アクセス制御情報
Dynamic ACL
ACL
Config
QoS
Config
© 2013 Cisco and/or its affiliates. All rights reserved.
show ip route
コマンドで確認可能
VRFにも対応
show ip access-list
onePK
dynamic
コマンドで確認可能
Infra
onePK
アプリ
onePK
API
process
Default ACL
QoS制御情報
show policy-map
コマンドで確認可能
ConfigのQoS
onePKのQoS Policy
P.12
12
running-config
コマンド
ライン
(CLI)
Static
Route/
OSPF
Process
など
IOS
ルーティングテーブル
ルーティング制御プロセス
(AD値による優先制御)
ルーティングテーブル
ルーティングテーブル
アクセス制御情報
Dynamic ACL
ACL
Config
QoS
Config
© 2013 Cisco and/or its affiliates. All rights reserved.
Reconnect
Reconnect
TimerExpired
start
Timer
onePK
Infra
process
onePK
障害
アプリ
発生
onePK
API
Reconnect
Timer以内に
復旧
Default ACL
QoS制御情報
ConfigのQoS
onePKのQoS Policy
P.13
13
お客様のニーズに適応した
onePKアプリケーション
“COPY”の場合、パケットを
複製し、アプリケーションで
IPパケットを取得可能。
パケットのスクリーニングや
キャプチャなどで利用可能
IPパケット
onePK API
Datapath制御の対象パケットを
指定するACL情報
ルーティング
処理
Datapathで処理する
対象のパケットを
L3/L4情報で指定
© 2013 Cisco and/or its affiliates. All rights reserved.
P.14
14
“PUNT”の場合、パケット
を一旦アプリケーションに
PUNTさせ、その後、ネッ
トワークに戻す。IPパケッ
トのヘッダやペイロードの
変更が可能であり、IPパ
ケットの暗号化やプロトコ
ルの修正などが可能。(※
通信遅延は発生する)
IPパケット
お客様のニーズに適応した
onePKアプリケーション
onePK API
Datapath制御の対象パケットを
指定するACL情報
ルーティング
処理
Datapathで処理する
対象のパケットを
L3/L4情報で指定
© 2013 Cisco and/or its affiliates. All rights reserved.
P.15
15
お客様のニーズに適応した
onePKアプリケーション
onePK API
“DIVERT”の場合、パケット
をアプリケーションに送るの
み。
IPパケット
Datapath制御の対象パケットを
指定するACL情報
ルーティング
処理
Datapathで処理する
対象のパケットを
L3/L4情報で指定
© 2013 Cisco and/or its affiliates. All rights reserved.
P.16
16
お客様のニーズに適応した
onePKアプリケーション
onePK API
“INJECT”の場合、アプリ
ケーションからIPパケットを
送出する。独自プロトコルの
実装などが可能。
IPパケット
送出されるインターフェース
は、ルーティング処理で決定
させるか、APIで明示的な指
定も可能。
ルーティング
処理
© 2013 Cisco and/or its affiliates. All rights reserved.
P.17
17
onePKアプリ例
© 2012
2011
2013 Cisco and/or its affiliates. All rights reserved.
18
IPプレフィックスもしくは
IPアドレス単位で、IP経路を指定
システム
利用者
新しい経路
システム
(サーバ)
onePK管理画面
Click
Click
Click
Click
現状の経路
Click
© 2013 Cisco and/or its affiliates. All rights reserved.
21
回線負荷がしきい値を超えた場合に、自
動的にネットワーク全体で回線負荷軽減
システム
利用者
onePKにて経
路を迂回制御
システム
(サーバ)
輻輳
現状の経路
© 2013 Cisco and/or its affiliates. All rights reserved.
ネットワーク
負荷状況
確認
輻輳
通知
迂回
制御
最適経路
計算
onePK
アプリ
22
IDS/IPS、FW、サーバーで検知された不正
アクセスログなどからの検知された不正アク
セス元のIPアドレスを自動的にフィルタ
ACL
不正侵入者
ACL
制御
システム
(サーバ)
IPS/IDS
不正アクセス
検知
© 2013 Cisco and/or its affiliates. All rights reserved.
不正アクセス
onePK
アプリ
23
回線輻輳が起こり、想定していない大量
のトラフィックを検知した場合などに、
管理者が迅速に対応
QoS
送出元
輻輳
システム
(サーバ)
輻輳
大量なバーストト
ラフィック
© 2013 Cisco and/or its affiliates. All rights reserved.
シェーピング
制御
輻輳
通知
onePK
アプリ
24
テスト用TCP/UDPパケッ
ト送出。(ヘッダ情報は
自由に指定可能)
送信したパケットが到着して
いるかどうかを確認
onePK API
テスト用
TCP/UDPパケット
テスト用
TCP/UDPパケット
IPネットワーク
FW
FW
LB
LB
Pingによる疎通確認
だけでは不十分!
© 2013 Cisco and/or its affiliates. All rights reserved.
テスト用IPパケットのみ
Datapath処理対象とする
フィルタ設定
P.26
26
特定の通信に対して、パケット
伝送遅延、パケット破棄、
ヘッダ書き換えなど
onePK API
Datapath SSの
“PUNT”機能を利用
IPパケット
Datapath制御の対象パケットを
指定するACL情報
ルーティング
処理
IPパケット
Datapathで処理する
対象のパケットを
L3/L4情報で指定
© 2013 Cisco and/or its affiliates. All rights reserved.
P.27
27
1. 既存のIP技術や既存のネットワークインフラとの親
和性が高い。(機器だけではなく人的にも)
2. OpenFlowのようにトラフィックの制御だけではな
く、onePKでは、ネットワークの運用、トラブル
シューティング作業の効率性を高めるSDNアプリ
ケーションの実現も可能。
3. 基本動作は実績のあるIOS機能の利用が可能。
SDN的に中央制御したい機能だけをアプリケーショ
ンから制御可能(万が一のアプリケーション障害時
でも、IOSの設定情報に基づいた動作を継続)
© 2013 Cisco and/or its affiliates. All rights reserved.
P.30
30
“onePK is useful open API
in real IP network world.”
Thank you.
© 2012
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Connect
31