SlideShare a Scribd company logo
1 of 39
Download to read offline
ネットワーク機器のAPIあれこれ入門
How do you wan to talk with your Network Nodes?
Twitter: @ebiken | ebiken.g@gmail.com
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 1
本日のお題
「ネットワーク機器のAPIを使って何かしたい!」
と思っている人が、何かを始められるように
ネットワーク機器APIの全体像をつかむ
• APIを利用してできる事
• ネットワーク機器のインターフェース
• REST (like) API の違い
• Appendix:参考資料
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 5
要は、自分がこの数か月勉強したことをシェアします。
ネットワーク自動化の全体像
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 6
APIを利用してできる事
設定投入
ディスカバリー
トポロジー描画
通知・アラート
(Notification)
コマンド実行
ネットワーク管理システム(NMS)
アプリケーション
ネットワーク機器
Ping
Traceroute
設定(参照)
RIB/FIB
隣接情報
複数機器
状態(Status)
統計(Stats)
設定投入
複数機器
ネットワーク自動化の全体像
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 7
APIを利用してできる事
ディスカバリー
トポロジー描画
通知・アラート
(Notification)
コマンド実行
ネットワーク管理システム(NMS)
アプリケーション
ネットワーク機器
Ping
Traceroute
設定(参照)
RIB/FIB
隣接情報
状態(status)
統計(Stats)
アプリケーション・プログラムによるアクセスが可能
⇒ これらを組み合わせた様々な自動化が可能
ネットワーク自動化の全体像
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 8
ネットワーク機器のインターフェース
昔ながらの
インターフェース
標準化が進められているAPI 機器毎の独自API
REST? API
(JSON/XML+HTTP)
(RPC over HTTP)
NECONF/YANG
(RESTCONF)
CLI
SNMP
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 9
CLI / SSH
ネットワーク機器のAPI
ネットワーク機器のAPI
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 10
CLI / SSH
• SSHセッション上でCLIコマンド
を会話的に実行
• SSHセッションを意識した
プログラミング(煩雑)
• Exscript, expect等SSHパッケー
ジの利用
• CLI経由でのみ実行可能なコ
マンドが存在
参考: NetOpsCoding Advent Calendar 2015
ソフトウェアからルータにSSH(Exscript)で設定してみる
http://qiita.com/taijijiji/items/351c48a8a77ee56f6e79
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 11
NETCONF / YANG
ネットワーク機器のAPI
ネットワーク機器のAPI:NETCONF/YANG
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 12
ネットワーク機器設定の
「データモデル」「オペレーション」 「データストア」 を提供
• IETFで標準化@NETCONF WG
• RFC 6241 NETCONF
• RFC 6020 YANG
https://datatracker.ietf.org/wg/netconf/documents/
オペレーション
<get-config>
<edit-config>
<delete-config>
<commit>
etc.
データストア
candidate config
running config
startup config
YANG (データモデル)
設定情報含むネットワーク機器のモデル化
NETCONF (プロトコル)
オペレーション データストア
XML-RPC
SSH, TLS (トランスポート)
ネットワーク機器のAPI:NETCONF/YANG
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 13
NetConf / YANG
Network Configuration Management with NETCONF and YANG
http://www.ietf.org/edu/documents/2012-ietf-84-netconf-yang.pdf
YANG
NetConf
<get-config>
<edit-config>
<delete-config>
<commit>
オペレーションの流れ
ネットワーク機器のAPI:NETCONF/YANG
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 14
YANG Model Example
RFC 7223 : YANG Interface Management
https://tools.ietf.org/html/rfc7223
ネットワーク機器のAPI:NETCONF/YANG
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 15
嬉しい点
• 標準化が進められている
• データモデル(YANG)
• プロトコル(NETCONF)
• 多くのベンダーがサポート表明
• オペレーションやエンコーディン
グ(XML)は各機器共通
つらい点
• 「設定」 関連情報・操作のみ
• ベンダーや機器間でのデータモデ
ルの差異
• YANGを使わなくても良い
• 操作(設定)可能なパラメータの差異
• 操作できない設定も
• エンコーディングはXML
• 冗長で読みづらい
⇒ SDK/Libraryの利用が必須
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 16
... その前に ...
REST API
ネットワーク機器のAPI
REST おさらい
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 17
REST おさらい
• URI = リソース
• HTTP Method=操作
• POST => Create
• GET => Read
• PUT => Update
• DELETE => Delete
• BODYエンコーディング(符号化)
• 何でも良い:JSON, XML, CSV etc.
• でも JSON が多い
• ステート(セッション)もたない
操作 リソース
REST おさらい
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 18
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 19
RESTの特徴
• HTTP(S) トランスポート
• プログラムしやすい!
• コマンド1行でリクエスト作成可能
• curl, wget ..
• 様々な言語のライブラリ
• Ruby, Python, Go, Perl ...
• (当然)標準化されていない
• RESTは規約ではなく思想
• (個人の見解です)
• 実際にはRESTfulだとできない事
も
• Candidate config + commit とか。
• 結果、RESTfulではない&各機器異
なる実装に。
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 20
API対応状況(ネットワーク機器各種)
なぜネットワーク運用自動化が進まないのか
by Biglobe 土屋さん
http://www.slideshare.net/taijitsuchiya5/ss-47398248
http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814
REST API !?
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 21
REST (like) な API の分類 (概要)
• URI
• リソース
• リソース+操作
• 常に同じ
• エンコード
• JSON
• XML
• セッション
• 有り:URI/BODYにSessionID
• 無し
• オペレーション
• CLIをBodyに入れて送信
• HTTP METHOD + URI
• URIにコマンド入れる
RESTと記載されてても、(基本)RESTfulではない
• JSON-RPC, XML-RPC, WEB API?
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 22
Brocade vRouter 5600 (Vyatta)
Brocade vRouter 5600 (Vyatta)
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 23
設定投入&適用 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>/commit
4. optional: view config
• GET /rest/conf/<conf-id>/<path>
5. save config
• POST /rest/conf/<conf-id>/save
6. Finish configuration session
• DELETE /rest/conf/<conf-id>
CLIをURLにマップしたイメージ
Brocade vRouter 5600 (Vyatta)
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 24
参照コマンド (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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 25
参照コマンド (継続的)
• 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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 26
Brocade VDX
REST (like) API のタイプ
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 27
JSON RPC 型 (Arista EOS eAPI)
URI=固定(/command-api)
BODYにCLIコマンド列挙(JSON)
ex: http://admin:pAssW0rd@198.51.100.1/command-api
Reference: https://eos.arista.com/arista-eapi-101/
<protocol>://<username>:<password>@<hostname or ip-address>/command-api
• CLIを投入するようにコマンドをシーケンシャルに記述可能
• 参考: Arista eAPI の概略を5分で説明してくれます。
• https://www.youtube.com/watch?v=9sWux0GCZ78
• Command API Explorer
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 28
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 29
JUNOS: XML RPC Single Method
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
device-name port
JUNOS: XML RPC Single Method
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 30
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 31
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 32
JUNOS 設定投入・適用
参考:JunosのREST APIを使ってみる
http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
REST (like) API のタイプ
• (URIでなく)CLIに紐づくRPC Method をBODYに複数記述
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 33
XML RPC Multi Method型 (JUNOS Multi RPC)
Request Response
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 34
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 を投入
プログラミングの階層構造&まとめ
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 35
Network Controller
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 36
プログラミングの階層構造
アプリケーション
SDK / library
(機器毎)
Plug-in(機器毎)
Wire Protocol
CLI/SSH, NETCONF, REST (like)
各機器共通API
REST (like)
「実現したいこと」&「機器仕様」
を元に検討
まとめ
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 37
SDK や Library の提供・活用
NECONF/YANG
⇒ 標準化進められているが複雑
REST (like) API
⇒ ベンダー毎に独自なAPI
シンプルなAPIの必要性
直接APIアクセス (SDK や Library だけで
はできないことを実装するために)
⇒ メーカーによる機能追加(要求)
⇒ API Proxy/Agent などの開発・公開
メーカーの視点から
多くの人に使ってもらえる(期待が持てる)機能は実装&改善可能
試して、できなかった事、足りない機能など公開して
「プログラミングしやすい環境」を加速させよう!
Appendix: LINK集
これからネットワークプログラムしたい人が読むと嬉しい資料
ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 38
ネットワーク自動化・アプリケーション連携への動き
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 39
ネットワーク自動化・アプリケーション連携への動き
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 40
ネットワーク自動化・アプリケーション連携への動き
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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 41
ベンダーが作成している? ライブラリ
• 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あれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 42
Slide 40, JANOG36, IDCF井上さん
http://www.janog.gr.jp/meeting/janog36/download_file/view/188/170

More Related Content

What's hot

ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方akira6592
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめTetsuya Hasegawa
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話Takanori Sejima
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)akira6592
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コースJuniper Networks (日本)
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
Fibre Channel 基礎講座
Fibre Channel 基礎講座Fibre Channel 基礎講座
Fibre Channel 基礎講座Brocade
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜Taiji Tsuchiya
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?Yuya Rin
 
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501稔 小林
 

What's hot (20)

ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
Fibre Channel 基礎講座
Fibre Channel 基礎講座Fibre Channel 基礎講座
Fibre Channel 基礎講座
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
 
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
 

Viewers also liked

ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)Kentaro Ebisawa
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgKentaro Ebisawa
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向Kentaro Ebisawa
 
Getting started with YANG
Getting started with YANGGetting started with YANG
Getting started with YANGCoreStack
 
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証Tetsurou Yano
 
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
 
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
 
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28Takeshi Komiya
 
Cliに慣れよう
Cliに慣れようCliに慣れよう
Cliに慣れようYoshiki Iida
 
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...Brocade
 
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
 
KLabのSI事業について
KLabのSI事業についてKLabのSI事業について
KLabのSI事業についてKLab株式会社
 
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜Taiji Tsuchiya
 
excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)
excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)
excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)Takeshi Komiya
 
20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 Kentaro Ebisawa
 
20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ
20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ
20100520 【qpstudy01】 チームでトライ!インフラ構築のススメYukitaka Ohmura
 

Viewers also liked (20)

ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向
 
Getting started with YANG
Getting started with YANGGetting started with YANG
Getting started with YANG
 
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
 
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説
 
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
 
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
 
Ansible handson
Ansible handsonAnsible handson
Ansible handson
 
Netconf et Yang
Netconf et YangNetconf et Yang
Netconf et Yang
 
Cliに慣れよう
Cliに慣れようCliに慣れよう
Cliに慣れよう
 
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
≪先進企業に学べ!≫大塚商会 × BROCADE 『たよれーる』のデータセンター基盤に、なぜイーサネット・ファブリックを採用したのか?~SDNへの進化のス...
 
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
 
KLabのSI事業について
KLabのSI事業についてKLabのSI事業について
KLabのSI事業について
 
Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)
 
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
 
excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)
excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)
excel を捨てよ blockdiag を使おう 2011/05 #tqrk03 (tokyu.rb)
 
20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮
 
20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ
20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ
20100520 【qpstudy01】 チームでトライ!インフラ構築のススメ
 

Similar to ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)

JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugYasuhiro Matsuo
 
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おうASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おうDevTakas
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
 
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 についてNatsuki Yamanaka
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Hideki Saito
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチKazuya Sugimoto
 
SORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデートSORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデートSORACOM,INC
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)Masanori Ishigami
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】洵貴 佐川
 
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020SORACOM,INC
 
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますElixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますfukuoka.ex
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppugMiya Kohno
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 

Similar to ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2) (20)

How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
 
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おうASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おう
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
 
SORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデートSORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデート
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
 
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
 
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますElixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
 
Apache Module
Apache ModuleApache Module
Apache Module
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
 
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimuraAPIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 

More from 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 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
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 

More from 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 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
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 

Recently uploaded

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 

Recently uploaded (11)

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 

ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)

Editor's Notes

  1. みなさん実践的なのが多いので、これから!という人を中心に、ネットワーク機器のAPIについて俯瞰してみましょう。
  2. https://atnd.org/events/74772
  3. 5分間の発表聞いた後には。。。 ・ネットワーク機器の自動化に登場する各要素が理解できてる ・どんなAPI=インターフェースがあるか、その分類と特徴が分かる。 ・試して、公開しようという気持ちになる。
  4. 駆け足になるけど、最後に参考資料へのLINKまとめあるから詳しくはそれ読もう!
  5. API それぞれでできる事はこんな感じ。 アプリケーションによるアクセスが可能=これらを組み合わせた自動化が可能 (Neighbor)
  6. 「今は想像できてない使い方が産まれる可能性がある」 ⇒ 自分がAPIを勉強している理由 API それぞれでできる事はこんな感じ。 アプリケーションによるアクセスが可能=これらを組み合わせた自動化が可能 (Neighbor)
  7. Transport や Object どこまで標準化されているかも説明
  8. セッション意識 ⇒ Config Modeなど1コマンドでは実行できない操作があるため、 taiji tsuchiya
  9. 例えば、インターフェイスの設定はNETCONFでできるけど、リンクアグリゲーションの設定はNETCONFだとできない。インターフェイスのUp/DownはSNMPで取得できるけど、LACP BlockedのステートはSNMPで取得できない。こういった状況にある場合は結局のところtelnet/sshしなくてはいけなくなります。
  10. MTU変更するだけでこの煩雑さ。 <config> に挟まれた部分が YANG を利用もしくはベンダー独自も可能。
  11. 例えば、インターフェイスの設定はNETCONFでできるけど、リンクアグリゲーションの設定はNETCONFだとできない。インターフェイスのUp/DownはSNMPで取得できるけど、LACP BlockedのステートはSNMPで取得できない。こういった状況にある場合は結局のところtelnet/sshしなくてはいけなくなります。
  12. それを踏まえて「対応状況」を見てみましょう
  13. これみて 「REST使えば簡単!?」 とか思って調べてみた。
  14. Good Video: https://www.youtube.com/watch?v=9sWux0GCZ78 URI: 固定 Encoding: JSON コマンド:BODY (JSON) パラメータ:BODY (JSON)
  15. JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a terse = 簡略なアウトプットを指定。他にbrief, detail, extensive等がある。
  16. scheme://device-name:port/rpc/method[@attributes]?params
  17. 規模によってはNetwork Controller利用を検討(機器共通のAPIを提供可能な場合も) 実際に簡単に開発できるようになるにはSDK重要 でも、SDKに無いことしたい(未成熟)、SDKが無い、などの場合アプリから直接
  18. 自分もまだ数か月ですので、一緒に学んで試していきましょう。 標準化は進んでいる。 ちょっと進みは遅いけど十分? 汎用的なので複雑になりがち。 Gatewayで吸収できるので、勝手に作っちゃうのがベター? 開発環境は? Swaggerとか便利そう NetConf/YANG, RESTConf, RESTの操作感の違い コードの書き方、生データの見え方、設定・モニター何に向いてる?
  19. 16:03:02] Kentaro Fujinuma: Brocade の API を見ると [16:03:17] Kentaro Fujinuma: NetConf/YANG と REST/JSON を完全にパラレルに作っています [16:03:29] Kentaro Fujinuma: これは内部的には同じ処理をしているからだと思います。
  20. 例えば、インターフェイスの設定はNETCONFでできるけど、リンクアグリゲーションの設定はNETCONFだとできない。インターフェイスのUp/DownはSNMPで取得できるけど、LACP BlockedのステートはSNMPで取得できない。こういった状況にある場合は結局のところtelnet/sshしなくてはいけなくなります。