SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
ネットワーク API のあれこれ
Network Node API
How do you wan to talk with your Network Node?
Twitter: @ebiken | ebiken.g@gmail.com
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 1
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 2
ネットワーク自動化・アプリケーション連携への動き
JANOG36 : 2015年7月15~17日
• API/Web化によるネットワーク自動化
• by 井上さん@株式会社IDCフロンティア
• http://www.janog.gr.jp/meeting/janog36/program/api
• NETCONF/YANG
• by 土屋 師子生@シスコシステムズ合同会社
• http://www.janog.gr.jp/meeting/janog36/program/netconf
JANOG37 : 2016年1月20~22日
• クラウド事業者側の仮想環境ネットワークの自動化について
• by 村上さん@GMOインターネット株式会社
• http://www.janog.gr.jp/meeting/janog37/program/vauto
ネットワークプログラマビリティ勉強会
• 2014年10月24日~ 16ヶ月で8回
• http://network-
programmability.connpass.com/
NetOpsCoding
• 2015年10月30日~ 4ヶ月で2回
• #1 https://atnd.org/events/70253
• #2 https://atnd.org/events/74772
ネットワーク自動化・アプリケーション連携への動き
IDCF 井上さん
• 2015年10月中心 : QIITAでAPI実装・実験色々
• http://qiita.com/inoueissei
Biglobe 土屋さん
• 2015/12/21 ソフトウェアからルータにNETCONF(ncclient)で設定してみる
• http://qiita.com/taijijiji/items/394d6af5a71834c4e48a
• 2015/12/02 ソフトウェアからルータにSSH(Exscript)で設定してみる
• http://qiita.com/taijijiji/items/351c48a8a77ee56f6e79
• 2015/05/xx ?? なぜネットワーク運用自動化が進まないのか
• Why is it difficult to automate network operation
• http://www.slideshare.net/taijitsuchiya5/ss-47398248
• http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 3
ネットワーク自動化・アプリケーション連携への動き
Shintaro Kojima @codeout
• NETCONF 入門 知ったかぶりしない NETCONF (2014/10/24)
• http://codeout.hatenablog.com/entry/2014/10/24/230013
• NETCONF 入門 やってみよう NETCONF (2014/10/30)
• http://codeout.hatenablog.com/entry/2014/10/30/224405
Hiroshi Ota @otahi
• 2015/04/23 テスト自動化@第4回 ネットワークプログラマビリティ勉強会
• http://gvtkne.blogspot.jp/2015/04/npstudy4.html
Brocade Yukihiro Kikuchi
• 2014/04/04 Vyatta REST API解説@Vyatta Users Group
• http://www.slideshare.net/YukihiroKikuchi/20140404-vyatta-users-group
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 4
ネットワーク自動化・アプリケーション連携への動き
Twitter: @takech9203
• 2015/02/22 VyattaのREST APIを使ってみる
• http://qiita.com/takech9203/items/2225c8e4ac7dc5bea1e0
Twitter: @kakkotetsu
• 2014/12/14 Arista の REST API を ruby や Ansible で突いてみよう
• http://qiita.com/kakkotetsu/items/944c263c1580a230a9c0
NetOpsCoding Advent Calendar 2015:
• http://qiita.com/advent-calendar/2015/netopscoding
• 2015/12/17 JunosのREST APIを使ってみる
• http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 5
機器側の課題
• 機器毎に違うから?
• NETCONF/YANG難しい?
• REST/WebAPI の手軽さが欲しい?
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 6
発表・BLOG・資料などがまだ沢山存在!?
でも、いまひとつ加速してない気がする?(注:個人の見解です)
人側(開発・運用)の課題
• ネットワーク&プログラミング両方
分かってる人少ない?
• 日常忙しすぎて時間無い?
⇒ 機器側の現状について調べてみた
(人側については是非ご意見をお聞かせください)
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 7
ネットワーク機器へのインターフェース(API)
アクセスの目的
• 変更:設定
• 参照:設定&状態&統計&ログ
• Configuration
• Status
• Statistics (counter)
• Log (syslog?)
• コマンド実行
• Ping, Traceroute, packet capture,
アクセス手段
• CLI / SSH
• SNMP
• NETCONF / RESTCONF
• REST (like) APIs
• JSON/XML + HTTP (RPC)
本日はこれ
⇒ JANOG36 : NETCONF/YANG by 土屋 師子生さん@Cisco
http://www.janog.gr.jp/meeting/janog36/program/netconf
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 8
API対応状況(ネットワーク機器各種)
なぜネットワーク運用自動化が進まないのか
Why is it difficult to automate network operation
by Biglobe 土屋さん
http://www.slideshare.net/taijitsuchiya5/ss-47398248
http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814
REST API ??
REST おさらい
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 9
REST おさらい
• URI = リソース
• HTTP Method=操作
• POST => Create
• GET => Read
• PUT => Update
• DELETE => Delete
• BODYエンコーディング(符号化)
• 何でも良い:JSON, XML, CSV etc.
• でも JSON が多い
• ステート(セッション)もたない
操作 リソース
REST おさらい
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 10
REST な URI
•/interface/ge-0-0-1
•/interface/ge-0-0-1/ipv4
•/version
REST ではない URI
•/show-interface/ge-0-0-1
•/set-interface/ge-0-0-1/ipv4
•/show-version
操作は REST URIに含まれない!
REST おさらい
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 11
• HTTP(S) トランスポート
• プログラムしやすい!
• コマンド1行でリクエスト作成可能
• curl, wget ..
• 様々な言語のライブラリ
• Ruby, Python, Go, Perl ...
• (当然)標準化されていない
• RESTは規約ではなく思想
• (個人の見解です)
• そもそもRESTfulだとできない事
もある
• Candidate config + commit とか。
RESTといいながらRESTfulではない実装が多数
• JSON-RPC, XML-RPC
• セッション持ったりしている
Brocade vRouter 5600 (Vyatta)
• URI: コマンドを表す(リソースではなく)
• Encoding符号化: JSON
• 参照・設定、共にセッションを持つ
• Config Workflow
• Ops: one-time output
• Ops: continuous output
• GET /rest/op/<cmd>
• Ops with no session ID will return parameter definitions.
• Very different from RESTful concept.
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 12
Brocade vRouter 5600 (Vyatta)
Brocade vRouter 5600 (Vyatta)
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 13
設定投入&適用 Workflow
1. Begin a configuration session
• Config Session ID named "conf-id" will be
generated.
2. make configuration changes
• PUT /rest/conf/<conf-id>/set/<path>
• PUT /rest/conf/<conf-id>/delete/<path>
3. commit changes
• POST /rest/conf/<conf-id>/<cmd>
4. optional: view config
• GET /rest/conf/<conf-id>/<path>
5. save config
• POST /rest/conf/<conf-id>/<cmd>
6. Finish configuration session
• DELETE /rest/conf/<conf-id>
Brocade vRouter 5600 (Vyatta)
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 14
参照コマンド (One Time)
• Begin a ops session
• POST /rest/op/show/version
• HTTP/1.1 201 Created
• Location: rest/op/137AA3B22A362CA3
• Get output from the command just
sent
• GET /rest/op/137AA3B22A362CA3
• HTTP/1.1 200 OK
• If request 2nd time, it's gone.
• GET /rest/op/137AA3B22A362CA3
• HTTP/1.1 410 Gone
Brocade vRouter 5600 (Vyatta)
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 15
参照コマンド (継続的)
• Begin a ops session (ex: ping)
• POST /rest/op/ping/10.0.0.1
• Get ouput (1st)
• GET /rest/op/02B3479CA1522F2A
• HTTP/1.1 200 OK
• PING 10.3.0.1 (10.3.0.1) 56(84) bytes of
data.
• 64 bytes from 10.3.0.1: icmp_seq=1
ttl=64 time=0.839 ms
• 64 bytes from 10.3.0.1: icmp_seq=2
ttl=64 time=0.846 ms
• ...
• 64 bytes from 10.3.0.1: icmp_seq=18
ttl=64 time=0.821 ms
• Get output (2nd)
• GET /rest/op/02B3479CA1522F2A
• HTTP/1.1 200 OK
• 64 bytes from 10.3.0.1: icmp_seq=19
ttl=64 time=0.799 ms
• 64 bytes from 10.3.0.1: icmp_seq=20
ttl=64 time=0.807 ms
• ...
• Stop a ops session (and the command
ping)
• DELETE /rest/op/02B3479CA1522F2A
.
Brocade VDX
• URI: リソースを表す
• エンコード(符号化):XML
• コマンド:HTTP Method (GET, POST, PUT, PATCH, DELETE, OPTIONS, and HEAD)
• パラメーター:BODY (XML)
• 設定のための “session-id” や “commit” という概念はない
• POST http://host:80/rest/config/running/interface/TenGigabitEthernet/%221/0/5%22/ip
• <address>
• <address>192.168.10.1/24</address>
• <ospf-ignore>true</ospf-ignore>
• </address>
• 参照(実行)コマンドには “session-id” があり実行結果をレスポンス
• ex: l2traceroute-result,
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 16
Brocade VDX
REST (like) API のタイプ
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 17
JSON RPC 型 (Arista EOS eAPI)
URI: 固定
Encoding符号化: JSON
コマンド:BODY (JSON)
パラメータ:BODY (JSON)
Reference: https://eos.arista.com/arista-eapi-101/
<protocol>://<username>:<password>@<hostname or ip-address>/command-api
ex: http://admin:pAssW0rd@198.51.100.1/command-api
• CLIを投入するようにコマンドをシーケンシャルに記述可能
• 参考: Arista eAPI の概略を5分で説明してくれます。
• https://www.youtube.com/watch?v=9sWux0GCZ78
• Command API Explorer
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 18
JSON RPC 型 (Arista EOS eAPI)
JUNOS: XML RPC Single Method
• CLIに紐づいた RPC Method をURIに記述
• インターフェース名などのパラメータもURI中に?で指定
• scheme://device-name:port/rpc/method[@attributes]?params
• scheme: http or https
• method: rpc command
• 各コマンドに対してそれぞれRPC methodが定義されている。
• params: Optional parameter values (name[=value])
• Response Formatを指定可能
• @attributes で指定: @format=json
• HTTP header “Accept:” で指定:application/xml, application/json
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 19
JUNOS: XML RPC Single Method
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
device-name port
JUNOS: XML RPC Single Method
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 20
URI Example
https://198.51.100.1:3000/rpc/get-software-information
... /get-interface-information?terse=&interface-name=ge-0/0/1
method
method parameters
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
JUNOS: XML RPC Single Method
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 21
CLIコマンドに対応する RPC method 確認方法
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
JUNOS: XML RPC Single Method
• 1. 設定投入:POST load-configuration
• 設定内容は BODY に CLI 出力と同様のフォーマットで指定。
• Candidate Config に保存される
• 2. 設定適用:POST commit-configuration
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 22
JUNOS 設定投入・適用
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
REST (like) API のタイプ
• CLIに紐づいたRPC Method をBODYに複数記述
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 23
XML RPC Multi Method型 (JUNOS Multi RPC)
Request
Response
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 24
REST (like) API まとめ
• Vyatta
• URI = CLI Command
• Encode: JSON
• Session 設定:有|参照:有
• 設定はセッション(conf-id)毎にCandidate config
を編集、Commit
• 参照やOpsコマンド実行は2回以上リクエスト投
げて結果を受け取る
• 継続的なコマンド(Ping)とか実行可能
• Brocade VDX
• URI = Resource
• Encode: XML
• Session: 設定:無|参照:有(継続コマンドのみ)
• HTTP Method で操作を表す
• 設定のためのセッションという概念は無い。
• 継続的なコマンドにはセッションという概念あり。
• Arista
• URI: 固定 /command-api
• Encode: JSON
• Session: 無
• コマンドは Request BODY に JSONで記述
• 複数コマンドを1度に送信できる。
• Juniper
• URI = CLI mapped RPC method (or 固定URI
+ RPC method in BODY)
• Encode: XML, JSON, TXT
• Session: 無
• 設定投入は設定をBODYに記載して /load-
configuration に投入
• 適用は commit-configuration を投入
Appendix
オープンソースな実装ってあるの?
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 25
• OpenSwitch by HP
• REST実装あり。但し現状は OVSDB に対する操作のみ。
• ops-restd : Overview
• ------------
• OpenSwitch provides a Tornado framework-based application to access
**OVSDB** using RESTful APIs. The ops-restd module provides all the necessary
python packages required to add, delete, modify tables in the OVSDB database
using ```HTTP``` methods, ```GET, POST, PUT and DELETE```.
• Linux Shellアクセスできる機器増えてるので、Switchに載るGateway作ると
か?
• OpenFlowでもなんでも、RESTでアクセスできるように。
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 26
Appendix
プログラムするのに知っておきたい事
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 27
ベンダーが作成している? ライブラリ
• Juniper
• https://github.com/Juniper/net-netconf
• https://github.com/Juniper/netconf-perl
• https://github.com/Juniper/netconf-java
• https://github.com/Juniper/netconf-php
• https://github.com/leopoul/ncclient
• Cisco
• https://github.com/jtimberman/ruby-cisco
• https://github.com/nickpegg/ciscolib
• Brocade
• [https://github.com/brocade/ncclient
• https://github.com/brocade/brocade (OpenStack Plugin)
• https://github.com/BRCDcomm/BVC (VyattaController )
• https://github.com/zapman449/brocade_switchshow_aliases
(Fiber switches)
• Alaxala
• https://github.com/sumikawa/netconf
• Cumulus
• https://github.com/CumulusNetworks/cumulus-linux-
ansible-modules
• https://github.com/CumulusNetworks/cumulus-linux-chef-
modules
• https://github.com/CumulusNetworks/net-next
• https://github.com/CumulusNetworks/quagga
• https://github.com/CumulusNetworks/cumulus-cl-interfaces-
puppet
• https://github.com/OpenRTMFP/Cumulus (MonaServer使っ
たSW)
• https://github.com/cotdsa/cumulus
• http://cumulusnetworks.com/blog/cumulus-linux-2/
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 28
Slide 40, JANOG36, IDCF井上さん
http://www.janog.gr.jp/meeting/janog36/download_file/view/188/170
まとめ
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 29
• API色々サポートされてるよ
• まだベンダー事に独自だよ
• RESTはひどく違うよ。てか、RESTじゃないし。
• 開発のためのライブラリは出てきてるけど、まだまだ足りない?
• Open Sourceも出てきたよ。でも、まだまだ発展途上。
• 違いを吸収する何かが必要
• OpenDaylight等、NMS / ミドル?
• Linux Shellアクセス可能な機器増えてるので、機器に載るGateway作れば良いのでは?
• ネットワークプログラミング始めるには十分な環境なのでは?
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 30
まとめ
ディスカッション
(皆さんに聞いてみたいコト)
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 31
ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 32
ちょっとアンケート(あなたの気持ちは?)
1. システム開発は外注するよ
• Do you really want to Program, Write Code?
• NMSはSIerが作ってくれるから。
• お金と時間ある人はこちらで。
2. ミドルウェア経由で作るよ
• どうせ機器間の違いを吸収するミドルウェア必
要なんじゃない?(ODLとか)
• ミドル作る人が頑張ればAPIの種類はどうでも
良い?あれば良い。
• ほんとにODLとか使いたい?やりたい事のわり
に複雑じゃない?
3. ライブラリ使ってやります。
• 開発はしたいけど、機器毎にライブラリ用意して
もらったらAPIは気にしなくてOK?
• Python, Ruby, Go?
• ライブラリは誰が作るんだっけ?
4. API直接使いたい!
• システム小さいし。
• APIが必要:既存監視システム、NMSなどに統合
したいから。
API使って自動化・プログラミング進めたいと言う人。どのスタンス?

Contenu connexe

Tendances

OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Wayロフト くん
 
Service Chaining Current and Future
Service Chaining Current and FutureService Chaining Current and Future
Service Chaining Current and FutureKentaro Ebisawa
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!Takashi Sogabe
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介Takashi Sogabe
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Tomoya Hibi
 
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~akira6592
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねNaoto TAKAHASHI
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03Miya Kohno
 
loggregator update
loggregator updateloggregator update
loggregator updateKen Ojiri
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep DiveHirofumi Ichihara
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in LinuxTomofumi Hayashi
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳Uchio Kondo
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
Cloud Foundryのコンポーネントloggregatorについて
Cloud FoundryのコンポーネントloggregatorについてCloud Foundryのコンポーネントloggregatorについて
Cloud FoundryのコンポーネントloggregatorについてTakeshi Morikawa
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07Tomoya Hibi
 

Tendances (20)

Software forwarding path
Software forwarding pathSoftware forwarding path
Software forwarding path
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
Service Chaining Current and Future
Service Chaining Current and FutureService Chaining Current and Future
Service Chaining Current and Future
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
 
Opnfv handson apex intro
Opnfv handson apex introOpnfv handson apex intro
Opnfv handson apex intro
 
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
loggregator update
loggregator updateloggregator update
loggregator update
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linux
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
ProjectAtomic-and-geard
ProjectAtomic-and-geardProjectAtomic-and-geard
ProjectAtomic-and-geard
 
Pulsar Handson 20180226
Pulsar Handson 20180226Pulsar Handson 20180226
Pulsar Handson 20180226
 
Cloud Foundryのコンポーネントloggregatorについて
Cloud FoundryのコンポーネントloggregatorについてCloud Foundryのコンポーネントloggregatorについて
Cloud Foundryのコンポーネントloggregatorについて
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
 

En vedette

ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜Taiji Tsuchiya
 
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説Yukihiro Kikuchi
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜Taiji Tsuchiya
 
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16Kentaro Ebisawa
 
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Kentaro Ebisawa
 
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...Brocade
 
Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleDamien Garros
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27Kentaro Ebisawa
 
20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 Kentaro Ebisawa
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Microsoftにおけるネットワーク自動化とそれを支えるソフトウェア群について
Microsoftにおけるネットワーク自動化とそれを支えるソフトウェア群についてMicrosoftにおけるネットワーク自動化とそれを支えるソフトウェア群について
Microsoftにおけるネットワーク自動化とそれを支えるソフトウェア群についてnetopscoding
 
そろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したいそろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したいnetopscoding
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codeAxel Quack
 
MC-LAG Configuration with BGP-base VPLS
MC-LAG Configuration with BGP-base VPLSMC-LAG Configuration with BGP-base VPLS
MC-LAG Configuration with BGP-base VPLSJohnson Liu
 
Instrumentation and Telemetry ガイダンス
Instrumentation and TelemetryガイダンスInstrumentation and Telemetryガイダンス
Instrumentation and Telemetry ガイダンス貴仁 大和屋
 
第1回 ネットワーク図について語る会 2015-08-27
第1回 ネットワーク図について語る会  2015-08-27第1回 ネットワーク図について語る会  2015-08-27
第1回 ネットワーク図について語る会 2015-08-27Yasuo Igano
 
インフラ屋の友:Tera Term
インフラ屋の友:Tera Termインフラ屋の友:Tera Term
インフラ屋の友:Tera Termnetopscoding
 
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)Kentaro Ebisawa
 

En vedette (20)

ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
 
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
 
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
 
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
 
.Netconf
.Netconf.Netconf
.Netconf
 
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
 
Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and Ansible
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 
Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)
 
20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Microsoftにおけるネットワーク自動化とそれを支えるソフトウェア群について
Microsoftにおけるネットワーク自動化とそれを支えるソフトウェア群についてMicrosoftにおけるネットワーク自動化とそれを支えるソフトウェア群について
Microsoftにおけるネットワーク自動化とそれを支えるソフトウェア群について
 
そろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したいそろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したい
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
MC-LAG Configuration with BGP-base VPLS
MC-LAG Configuration with BGP-base VPLSMC-LAG Configuration with BGP-base VPLS
MC-LAG Configuration with BGP-base VPLS
 
Instrumentation and Telemetry ガイダンス
Instrumentation and TelemetryガイダンスInstrumentation and Telemetryガイダンス
Instrumentation and Telemetry ガイダンス
 
第1回 ネットワーク図について語る会 2015-08-27
第1回 ネットワーク図について語る会  2015-08-27第1回 ネットワーク図について語る会  2015-08-27
第1回 ネットワーク図について語る会 2015-08-27
 
インフラ屋の友:Tera Term
インフラ屋の友:Tera Termインフラ屋の友:Tera Term
インフラ屋の友:Tera Term
 
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
 

Similaire à ネットワークAPI のあれこれ (ENOG37)

データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向Naoto MATSUMOTO
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会Kentaro Ohkouchi
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会guestadcb01
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会seiryo
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! Masato Noguchi
 
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】洵貴 佐川
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~Hideki Takase
 
Practical Web Audio API Programming
Practical Web Audio API ProgrammingPractical Web Audio API Programming
Practical Web Audio API Programmingaike
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみたIto Takahiro
 
OSSはどこまで産業用機器に使えるか_20230520.pdf
OSSはどこまで産業用機器に使えるか_20230520.pdfOSSはどこまで産業用機器に使えるか_20230520.pdf
OSSはどこまで産業用機器に使えるか_20230520.pdfKioto Hirahara
 
第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索APIYusuke Yamamoto
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3mganeko
 
さくらのクラウドを使ってみよう
さくらのクラウドを使ってみようさくらのクラウドを使ってみよう
さくらのクラウドを使ってみよう法林浩之
 
20130315 abc firefox_os
20130315 abc firefox_os20130315 abc firefox_os
20130315 abc firefox_osTomoaki Konno
 
Draft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and MicroservicesDraft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and MicroservicesTaiki
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.Kensaku Komatsu
 

Similaire à ネットワークAPI のあれこれ (ENOG37) (20)

データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
Practical Web Audio API Programming
Practical Web Audio API ProgrammingPractical Web Audio API Programming
Practical Web Audio API Programming
 
Reactor Netty & Apache Kafka Stack #jsug
Reactor Netty & Apache Kafka Stack #jsugReactor Netty & Apache Kafka Stack #jsug
Reactor Netty & Apache Kafka Stack #jsug
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
 
OSSはどこまで産業用機器に使えるか_20230520.pdf
OSSはどこまで産業用機器に使えるか_20230520.pdfOSSはどこまで産業用機器に使えるか_20230520.pdf
OSSはどこまで産業用機器に使えるか_20230520.pdf
 
第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
さくらのクラウドを使ってみよう
さくらのクラウドを使ってみようさくらのクラウドを使ってみよう
さくらのクラウドを使ってみよう
 
20130315 abc firefox_os
20130315 abc firefox_os20130315 abc firefox_os
20130315 abc firefox_os
 
Draft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and MicroservicesDraft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and Microservices
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
 

Plus de Kentaro Ebisawa

P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)Kentaro Ebisawa
 
Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Kentaro Ebisawa
 
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来Kentaro Ebisawa
 
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ APIMPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ APIKentaro Ebisawa
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019Kentaro Ebisawa
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHComparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHKentaro Ebisawa
 
Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Kentaro Ebisawa
 
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U TranslationIETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U TranslationKentaro Ebisawa
 
p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0Kentaro Ebisawa
 
SRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationSRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationKentaro Ebisawa
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsKentaro Ebisawa
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlKentaro Ebisawa
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
SRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeSRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeKentaro Ebisawa
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Kentaro Ebisawa
 
Zebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud EraZebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud EraKentaro Ebisawa
 
p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4Kentaro Ebisawa
 
zebra & openconfigd Introduction
zebra & openconfigd Introductionzebra & openconfigd Introduction
zebra & openconfigd IntroductionKentaro Ebisawa
 

Plus de Kentaro Ebisawa (20)

P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)
 
Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介
 
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
 
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ APIMPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
 
Yang Tools Quick Memo
Yang Tools Quick MemoYang Tools Quick Memo
Yang Tools Quick Memo
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHComparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
 
Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4
 
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U TranslationIETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
 
p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0
 
SRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationSRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and Implementation
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source Implementations
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 
GTPing, How To
GTPing, How ToGTPing, How To
GTPing, How To
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
SRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeSRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-type
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
Zebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud EraZebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud Era
 
p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4
 
zebra & openconfigd Introduction
zebra & openconfigd Introductionzebra & openconfigd Introduction
zebra & openconfigd Introduction
 

Dernier

Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用KLab Inc. / Tech
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfTakayuki Nakayama
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルCRI Japan, Inc.
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 

Dernier (16)

Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 

ネットワークAPI のあれこれ (ENOG37)

  • 1. ネットワーク API のあれこれ Network Node API How do you wan to talk with your Network Node? Twitter: @ebiken | ebiken.g@gmail.com ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 1
  • 2. ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 2 ネットワーク自動化・アプリケーション連携への動き JANOG36 : 2015年7月15~17日 • API/Web化によるネットワーク自動化 • by 井上さん@株式会社IDCフロンティア • http://www.janog.gr.jp/meeting/janog36/program/api • NETCONF/YANG • by 土屋 師子生@シスコシステムズ合同会社 • http://www.janog.gr.jp/meeting/janog36/program/netconf JANOG37 : 2016年1月20~22日 • クラウド事業者側の仮想環境ネットワークの自動化について • by 村上さん@GMOインターネット株式会社 • http://www.janog.gr.jp/meeting/janog37/program/vauto ネットワークプログラマビリティ勉強会 • 2014年10月24日~ 16ヶ月で8回 • http://network- programmability.connpass.com/ NetOpsCoding • 2015年10月30日~ 4ヶ月で2回 • #1 https://atnd.org/events/70253 • #2 https://atnd.org/events/74772
  • 3. ネットワーク自動化・アプリケーション連携への動き IDCF 井上さん • 2015年10月中心 : QIITAでAPI実装・実験色々 • http://qiita.com/inoueissei Biglobe 土屋さん • 2015/12/21 ソフトウェアからルータにNETCONF(ncclient)で設定してみる • http://qiita.com/taijijiji/items/394d6af5a71834c4e48a • 2015/12/02 ソフトウェアからルータにSSH(Exscript)で設定してみる • http://qiita.com/taijijiji/items/351c48a8a77ee56f6e79 • 2015/05/xx ?? なぜネットワーク運用自動化が進まないのか • Why is it difficult to automate network operation • http://www.slideshare.net/taijitsuchiya5/ss-47398248 • http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814 ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 3
  • 4. ネットワーク自動化・アプリケーション連携への動き Shintaro Kojima @codeout • NETCONF 入門 知ったかぶりしない NETCONF (2014/10/24) • http://codeout.hatenablog.com/entry/2014/10/24/230013 • NETCONF 入門 やってみよう NETCONF (2014/10/30) • http://codeout.hatenablog.com/entry/2014/10/30/224405 Hiroshi Ota @otahi • 2015/04/23 テスト自動化@第4回 ネットワークプログラマビリティ勉強会 • http://gvtkne.blogspot.jp/2015/04/npstudy4.html Brocade Yukihiro Kikuchi • 2014/04/04 Vyatta REST API解説@Vyatta Users Group • http://www.slideshare.net/YukihiroKikuchi/20140404-vyatta-users-group ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 4
  • 5. ネットワーク自動化・アプリケーション連携への動き Twitter: @takech9203 • 2015/02/22 VyattaのREST APIを使ってみる • http://qiita.com/takech9203/items/2225c8e4ac7dc5bea1e0 Twitter: @kakkotetsu • 2014/12/14 Arista の REST API を ruby や Ansible で突いてみよう • http://qiita.com/kakkotetsu/items/944c263c1580a230a9c0 NetOpsCoding Advent Calendar 2015: • http://qiita.com/advent-calendar/2015/netopscoding • 2015/12/17 JunosのREST APIを使ってみる • http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 5
  • 6. 機器側の課題 • 機器毎に違うから? • NETCONF/YANG難しい? • REST/WebAPI の手軽さが欲しい? ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 6 発表・BLOG・資料などがまだ沢山存在!? でも、いまひとつ加速してない気がする?(注:個人の見解です) 人側(開発・運用)の課題 • ネットワーク&プログラミング両方 分かってる人少ない? • 日常忙しすぎて時間無い? ⇒ 機器側の現状について調べてみた (人側については是非ご意見をお聞かせください)
  • 7. ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 7 ネットワーク機器へのインターフェース(API) アクセスの目的 • 変更:設定 • 参照:設定&状態&統計&ログ • Configuration • Status • Statistics (counter) • Log (syslog?) • コマンド実行 • Ping, Traceroute, packet capture, アクセス手段 • CLI / SSH • SNMP • NETCONF / RESTCONF • REST (like) APIs • JSON/XML + HTTP (RPC) 本日はこれ ⇒ JANOG36 : NETCONF/YANG by 土屋 師子生さん@Cisco http://www.janog.gr.jp/meeting/janog36/program/netconf
  • 8. ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 8 API対応状況(ネットワーク機器各種) なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation by Biglobe 土屋さん http://www.slideshare.net/taijitsuchiya5/ss-47398248 http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814 REST API ??
  • 9. REST おさらい ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 9 REST おさらい • URI = リソース • HTTP Method=操作 • POST => Create • GET => Read • PUT => Update • DELETE => Delete • BODYエンコーディング(符号化) • 何でも良い:JSON, XML, CSV etc. • でも JSON が多い • ステート(セッション)もたない 操作 リソース
  • 10. REST おさらい ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 10 REST な URI •/interface/ge-0-0-1 •/interface/ge-0-0-1/ipv4 •/version REST ではない URI •/show-interface/ge-0-0-1 •/set-interface/ge-0-0-1/ipv4 •/show-version 操作は REST URIに含まれない!
  • 11. REST おさらい ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 11 • HTTP(S) トランスポート • プログラムしやすい! • コマンド1行でリクエスト作成可能 • curl, wget .. • 様々な言語のライブラリ • Ruby, Python, Go, Perl ... • (当然)標準化されていない • RESTは規約ではなく思想 • (個人の見解です) • そもそもRESTfulだとできない事 もある • Candidate config + commit とか。 RESTといいながらRESTfulではない実装が多数 • JSON-RPC, XML-RPC • セッション持ったりしている
  • 12. Brocade vRouter 5600 (Vyatta) • URI: コマンドを表す(リソースではなく) • Encoding符号化: JSON • 参照・設定、共にセッションを持つ • Config Workflow • Ops: one-time output • Ops: continuous output • GET /rest/op/<cmd> • Ops with no session ID will return parameter definitions. • Very different from RESTful concept. ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 12 Brocade vRouter 5600 (Vyatta)
  • 13. Brocade vRouter 5600 (Vyatta) ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 13 設定投入&適用 Workflow 1. Begin a configuration session • Config Session ID named "conf-id" will be generated. 2. make configuration changes • PUT /rest/conf/<conf-id>/set/<path> • PUT /rest/conf/<conf-id>/delete/<path> 3. commit changes • POST /rest/conf/<conf-id>/<cmd> 4. optional: view config • GET /rest/conf/<conf-id>/<path> 5. save config • POST /rest/conf/<conf-id>/<cmd> 6. Finish configuration session • DELETE /rest/conf/<conf-id>
  • 14. Brocade vRouter 5600 (Vyatta) ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 14 参照コマンド (One Time) • Begin a ops session • POST /rest/op/show/version • HTTP/1.1 201 Created • Location: rest/op/137AA3B22A362CA3 • Get output from the command just sent • GET /rest/op/137AA3B22A362CA3 • HTTP/1.1 200 OK • If request 2nd time, it's gone. • GET /rest/op/137AA3B22A362CA3 • HTTP/1.1 410 Gone
  • 15. Brocade vRouter 5600 (Vyatta) ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 15 参照コマンド (継続的) • Begin a ops session (ex: ping) • POST /rest/op/ping/10.0.0.1 • Get ouput (1st) • GET /rest/op/02B3479CA1522F2A • HTTP/1.1 200 OK • PING 10.3.0.1 (10.3.0.1) 56(84) bytes of data. • 64 bytes from 10.3.0.1: icmp_seq=1 ttl=64 time=0.839 ms • 64 bytes from 10.3.0.1: icmp_seq=2 ttl=64 time=0.846 ms • ... • 64 bytes from 10.3.0.1: icmp_seq=18 ttl=64 time=0.821 ms • Get output (2nd) • GET /rest/op/02B3479CA1522F2A • HTTP/1.1 200 OK • 64 bytes from 10.3.0.1: icmp_seq=19 ttl=64 time=0.799 ms • 64 bytes from 10.3.0.1: icmp_seq=20 ttl=64 time=0.807 ms • ... • Stop a ops session (and the command ping) • DELETE /rest/op/02B3479CA1522F2A .
  • 16. Brocade VDX • URI: リソースを表す • エンコード(符号化):XML • コマンド:HTTP Method (GET, POST, PUT, PATCH, DELETE, OPTIONS, and HEAD) • パラメーター:BODY (XML) • 設定のための “session-id” や “commit” という概念はない • POST http://host:80/rest/config/running/interface/TenGigabitEthernet/%221/0/5%22/ip • <address> • <address>192.168.10.1/24</address> • <ospf-ignore>true</ospf-ignore> • </address> • 参照(実行)コマンドには “session-id” があり実行結果をレスポンス • ex: l2traceroute-result, ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 16 Brocade VDX
  • 17. REST (like) API のタイプ ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 17 JSON RPC 型 (Arista EOS eAPI) URI: 固定 Encoding符号化: JSON コマンド:BODY (JSON) パラメータ:BODY (JSON) Reference: https://eos.arista.com/arista-eapi-101/ <protocol>://<username>:<password>@<hostname or ip-address>/command-api ex: http://admin:pAssW0rd@198.51.100.1/command-api
  • 18. • CLIを投入するようにコマンドをシーケンシャルに記述可能 • 参考: Arista eAPI の概略を5分で説明してくれます。 • https://www.youtube.com/watch?v=9sWux0GCZ78 • Command API Explorer ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 18 JSON RPC 型 (Arista EOS eAPI)
  • 19. JUNOS: XML RPC Single Method • CLIに紐づいた RPC Method をURIに記述 • インターフェース名などのパラメータもURI中に?で指定 • scheme://device-name:port/rpc/method[@attributes]?params • scheme: http or https • method: rpc command • 各コマンドに対してそれぞれRPC methodが定義されている。 • params: Optional parameter values (name[=value]) • Response Formatを指定可能 • @attributes で指定: @format=json • HTTP header “Accept:” で指定:application/xml, application/json ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 19 JUNOS: XML RPC Single Method 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
  • 20. device-name port JUNOS: XML RPC Single Method ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 20 URI Example https://198.51.100.1:3000/rpc/get-software-information ... /get-interface-information?terse=&interface-name=ge-0/0/1 method method parameters 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
  • 21. JUNOS: XML RPC Single Method ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 21 CLIコマンドに対応する RPC method 確認方法 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
  • 22. JUNOS: XML RPC Single Method • 1. 設定投入:POST load-configuration • 設定内容は BODY に CLI 出力と同様のフォーマットで指定。 • Candidate Config に保存される • 2. 設定適用:POST commit-configuration ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 22 JUNOS 設定投入・適用 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
  • 23. REST (like) API のタイプ • CLIに紐づいたRPC Method をBODYに複数記述 ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 23 XML RPC Multi Method型 (JUNOS Multi RPC) Request Response
  • 24. ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 24 REST (like) API まとめ • Vyatta • URI = CLI Command • Encode: JSON • Session 設定:有|参照:有 • 設定はセッション(conf-id)毎にCandidate config を編集、Commit • 参照やOpsコマンド実行は2回以上リクエスト投 げて結果を受け取る • 継続的なコマンド(Ping)とか実行可能 • Brocade VDX • URI = Resource • Encode: XML • Session: 設定:無|参照:有(継続コマンドのみ) • HTTP Method で操作を表す • 設定のためのセッションという概念は無い。 • 継続的なコマンドにはセッションという概念あり。 • Arista • URI: 固定 /command-api • Encode: JSON • Session: 無 • コマンドは Request BODY に JSONで記述 • 複数コマンドを1度に送信できる。 • Juniper • URI = CLI mapped RPC method (or 固定URI + RPC method in BODY) • Encode: XML, JSON, TXT • Session: 無 • 設定投入は設定をBODYに記載して /load- configuration に投入 • 適用は commit-configuration を投入
  • 26. • OpenSwitch by HP • REST実装あり。但し現状は OVSDB に対する操作のみ。 • ops-restd : Overview • ------------ • OpenSwitch provides a Tornado framework-based application to access **OVSDB** using RESTful APIs. The ops-restd module provides all the necessary python packages required to add, delete, modify tables in the OVSDB database using ```HTTP``` methods, ```GET, POST, PUT and DELETE```. • Linux Shellアクセスできる機器増えてるので、Switchに載るGateway作ると か? • OpenFlowでもなんでも、RESTでアクセスできるように。 ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 26
  • 28. ベンダーが作成している? ライブラリ • Juniper • https://github.com/Juniper/net-netconf • https://github.com/Juniper/netconf-perl • https://github.com/Juniper/netconf-java • https://github.com/Juniper/netconf-php • https://github.com/leopoul/ncclient • Cisco • https://github.com/jtimberman/ruby-cisco • https://github.com/nickpegg/ciscolib • Brocade • [https://github.com/brocade/ncclient • https://github.com/brocade/brocade (OpenStack Plugin) • https://github.com/BRCDcomm/BVC (VyattaController ) • https://github.com/zapman449/brocade_switchshow_aliases (Fiber switches) • Alaxala • https://github.com/sumikawa/netconf • Cumulus • https://github.com/CumulusNetworks/cumulus-linux- ansible-modules • https://github.com/CumulusNetworks/cumulus-linux-chef- modules • https://github.com/CumulusNetworks/net-next • https://github.com/CumulusNetworks/quagga • https://github.com/CumulusNetworks/cumulus-cl-interfaces- puppet • https://github.com/OpenRTMFP/Cumulus (MonaServer使っ たSW) • https://github.com/cotdsa/cumulus • http://cumulusnetworks.com/blog/cumulus-linux-2/ ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 28 Slide 40, JANOG36, IDCF井上さん http://www.janog.gr.jp/meeting/janog36/download_file/view/188/170
  • 30. • API色々サポートされてるよ • まだベンダー事に独自だよ • RESTはひどく違うよ。てか、RESTじゃないし。 • 開発のためのライブラリは出てきてるけど、まだまだ足りない? • Open Sourceも出てきたよ。でも、まだまだ発展途上。 • 違いを吸収する何かが必要 • OpenDaylight等、NMS / ミドル? • Linux Shellアクセス可能な機器増えてるので、機器に載るGateway作れば良いのでは? • ネットワークプログラミング始めるには十分な環境なのでは? ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 30 まとめ
  • 32. ネットワーク API のあれこれ|ENOG37@燕三条 2016/02/19|@ebiken 32 ちょっとアンケート(あなたの気持ちは?) 1. システム開発は外注するよ • Do you really want to Program, Write Code? • NMSはSIerが作ってくれるから。 • お金と時間ある人はこちらで。 2. ミドルウェア経由で作るよ • どうせ機器間の違いを吸収するミドルウェア必 要なんじゃない?(ODLとか) • ミドル作る人が頑張ればAPIの種類はどうでも 良い?あれば良い。 • ほんとにODLとか使いたい?やりたい事のわり に複雑じゃない? 3. ライブラリ使ってやります。 • 開発はしたいけど、機器毎にライブラリ用意して もらったらAPIは気にしなくてOK? • Python, Ruby, Go? • ライブラリは誰が作るんだっけ? 4. API直接使いたい! • システム小さいし。 • APIが必要:既存監視システム、NMSなどに統合 したいから。 API使って自動化・プログラミング進めたいと言う人。どのスタンス?