SlideShare a Scribd company logo
2015年06月18日
さくらインターネット株式会社 / さくらインターネット研究所
上級研究員 松本直人
次世代ネットワーク技術の課題整理
サービス管理のために動的なネットワーク構成変更が重要となる
クラウド環境における課題整理
仮想サーバーやルーターなどを統一的に管理する手法が必要となる
OpenDaylightを用いた課題解決
既存設備と新規設備をシームレスにつないでいくスキルが必要となる
OpenDaylightベースコントローラーの導入手順
ODLコントローラーを導入する
必要なソフトウェアパッケージを事前用意しておく
例) Brocade SDN Controller @Ubuntu Server 1404 LTS (4 vCPU + 4GB DRAM + 16GB SSD)
仮想ルーターにNETCONFを設定する
NETCONF over SSH (port 830)を設定する
例) Brocade vRouter (5600) 3.2.1R6 (4 vCPU + 4G DRAM + 16GB SSD)
ネットワーク構成管理情報を登録する
ODLコントローラーを経由し仮想ルーターを構成管理する
例) Brocade SDN Controller へ Brocade vRouter(5600) 3.2.1R6 の構成情報をマウントする
ネットワーク構成管理情報を確認する
REST API経由で得られるネットワーク構成管理情報(JSON)を確認する
例) Brocade SDN Controller へ Brocade vRouter(5600) 3.2.1R6 の構成情報を取得する
OpenDaylightベースコントローラーの利用実験
FWaaS (Firewall as a Service)
サンプルコード
100.64.81.81/24
100.64.64.64/24
dp0p224p1
UDP135-137を破棄(drop)
Firewallルールの作成
$ cat fw-rule-test.py
import json, requests
data={
"vyatta-security:security": {
"vyatta-security-firewall:firewall": {
"name": [
{
"default-action": "accept",
"rule": [
{
"action": "drop",
"destination": {
"port": "135-137"
},
"protocol": "udp",
"tagnode": 10
}
],
"tagnode": "TEST"
}
]
}
}
}
Mount="/yang-ext:mount/"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="admin"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.post(url, data=payload, auth=(username, password), headers=headers)
$ python fw-rule-test.py
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
↑OpenDaylightベースコントローラー
←仮想ルーター
←設定投入するマウント項目
Firewallルールの適用
$ cat fw-if-test.py
import json, requests
data={
"vyatta-security-firewall:firewall": {
"in": [
"TEST"
]
}
}
Mount="/yang-ext:mount/vyatta-interfaces:interfaces/vyatta-interfaces-dataplane:dataplane/dp0p224p1/vyatta-security-firewall:firewall"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="SeCrEt"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.put(url, data=payload, auth=(username, password), headers=headers)
$ python fw-if-test.py
仮想ルーターへの設定投入項目
RaaS (Routing as a Service)
サンプルコード
100.64.64.64/24
192.168.11.33/24
Loopback
1.2.3.4/32
dp0p224p1
100.64.81.81/24
ポリシールーティングのルール作成
import json, requests
data={
"policy": {
"vyatta-policy-route:route": {
"vyatta-policy-pbr:pbr": [
{
"rule": [
{
"action": "accept",
"address-family": "ipv4",
"destination": {
"address": "1.2.3.4/32"
},
"table": 11,
"tagnode": 11
}
],
"tagnode": "SRC-ROUTE-SLB"
}
]
}
}
}
Mount="/yang-ext:mount/vyatta-policy:policy/"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="SeCrEt"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.put(url, data=payload, auth=(username, password), headers=headers)
$ python pbr-rule-test.py
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
PBRルーティングテーブルの作成
import json, requests
data={
"protocols": {
"vyatta-protocols-static:static": {
"table": [
{
"route": [
{
"next-hop": [
{
"tagnode": "192.168.11.33"
}
],
"tagnode": "0.0.0.0/0"
}
],
"tagnode": 11
}
]
}
}
}
Mount="/yang-ext:mount/vyatta-protocols:protocols/"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="SeCrEt"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.put(url, data=payload, auth=(username, password), headers=headers)
$ python pbr-table-test.py
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
PBRルールの適用
import json, requests
data={
"vyatta-policy-pbr:policy": {
"route": [
"SRC-ROUTE-SLB"
]
}
}
Mount="/yang-ext:mount/vyatta-interfaces:interfaces/vyatta-interfaces-dataplane:dataplane/dp0p224p1/vyatta-policy-pbr:policy/"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="SeCrEt"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.put(url, data=payload, auth=(username, password), headers=headers)
$ python pbr-if-test.py
仮想ルーターへの設定投入項目
VPNaaS (VPN as a Service)
サンプルコード
100.64.64.64/24
(B)(A)
100.64.99.99/24
192.168.11.11/24192.168.22.22/24 10.2.2.0/2410.1.1.0/24
100.64.81.81/24
IKE/ESPプロファイルの作成(A)
import json, requests
data={
"security": {
"vyatta-security-vpn-ipsec:vpn": {
"ipsec": {
"esp-group": [
{
"lifetime": 1800,
"proposal": [
{
"encryption": "aes256",
"tagnode": 1
}
],
"tagnode": "ESP"
}
],
"ike-group": [
{
"lifetime": 3600,
"proposal": [
{
"encryption": "aes256",
"tagnode": 1
}
],
"tagnode": "IKE"
}
]
}
}
}
}
Mount="/yang-ext:mount/vyatta-security:security/"
vRouter="100.64.99.99"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount …(略)…
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
<仮想ルーター(B)の場合>
IKE/ESPプロファイルの作成(B)
import json, requests
data={
"security": {
"vyatta-security-vpn-ipsec:vpn": {
"ipsec": {
"esp-group": [
{
"lifetime": 1800,
"proposal": [
{
"encryption": "aes256",
"tagnode": 1
}
],
"tagnode": "ESP"
}
],
"ike-group": [
{
"lifetime": 3600,
"proposal": [
{
"encryption": "aes256",
"tagnode": 1
}
],
"tagnode": "IKE"
}
]
}
}
}
}
Mount="/yang-ext:mount/vyatta-security:security/"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount …(略)…
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
<仮想ルーター(A)の場合>
IPsecサイト間VPNルール作成(A)
import json, requests
data={
"vyatta-security-vpn-ipsec:site-to-site": {
"peer": [
{
"authentication": {
"pre-shared-secret": "SeCrEt"
},
"default-esp-group": "ESP",
"ike-group": "IKE",
"local-address": "192.168.11.11",
"tagnode": "192.168.22.22",
"tunnel": [
{
"local": {
"prefix": "10.1.1.0/24"
},
"remote": {
"prefix": "10.2.2.0/24"
},
"tagnode": 0
}
]
}
]
}
}
Mount="/yang-ext:mount/vyatta-security:security/vyatta-security-vpn-ipsec:vpn/ipsec/site-to-site"
vRouter="100.64.99.99"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="SeCrEt"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.put(url, data=payload, auth=(username, password), headers=headers)
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
<仮想ルーター(A)の場合>
IPsecサイト間VPNルール作成(B)
import json, requests
data={
"vyatta-security-vpn-ipsec:site-to-site": {
"peer": [
{
"authentication": {
"pre-shared-secret": "SeCrEt"
},
"default-esp-group": "ESP",
"ike-group": "IKE",
"local-address": "192.168.22.22",
"tagnode": "192.168.11.11",
"tunnel": [
{
"local": {
"prefix": "10.2.2.0/24"
},
"remote": {
"prefix": "10.1.1.0/24"
},
"tagnode": 0
}
]
}
]
}
}
Mount="/yang-ext:mount/vyatta-security:security/vyatta-security-vpn-ipsec:vpn/ipsec/site-to-site"
vRouter="100.64.64.64"
Controller="http://100.64.81.81:8181/restconf/config/opendaylight-inventory:nodes/node/"
url= Controller+ vRouter+ Mount
username="admin"
password="SeCrEt"
headers = {'Content-type': 'application/json'}
payload = json.dumps(data, ensure_ascii=False, separators=(',',':'))
rp = requests.put(url, data=payload, auth=(username, password), headers=headers)
仮想ルーターへの設定投入項目
OpenDaylightベースコントローラーへの接続手順
<仮想ルーター(B)の場合>
まとめ
サービス管理のために
動的なネットワーク構成変更が重要となる
OpenDaylightを用いた
次世代ネットワーク構成管理は
はじまったばかり
「今後もネットワーク仮想化技術の習熟が重要」
ご清聴誠にありがとうございました

More Related Content

PDF
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
PPTX
ネットワークプログラマビリティ勉強会
PPTX
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
PDF
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
PPTX
VPP事始め
PDF
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
PDF
クラウド時代のネットワーク再入門
PDF
【Interop Tokyo 2016】 ShowNet - SSS-17 : ShowNet 2016 を支える シスコの最新テクノロジー
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
ネットワークプログラマビリティ勉強会
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VPP事始め
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
クラウド時代のネットワーク再入門
【Interop Tokyo 2016】 ShowNet - SSS-17 : ShowNet 2016 を支える シスコの最新テクノロジー

What's hot (20)

PDF
Lagopusで試すFW
PDF
Lagopus Router v19.07.1
PDF
LagopusとAzureとIPsecとDPDK
PDF
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
PDF
Ansible npstudy-shtsuchi
PDF
パブリッククラウドにおけるL2TPv3を用いたサーバ高可用性の評価
PDF
DPDKによる高速コンテナネットワーキング
PDF
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
PDF
Juniper Festa @ Interop Tokyo 2017
PDF
自動でできるかな?
PDF
Lagopus & NFV with Vhost (Tremaday#9)
PDF
【Brocade OpenStack ソリューション】OpenStack 概要
PDF
openstack_neutron-ovs_osc2014tf_20141019
PPTX
今さら聞けない人のためのDocker超入門 - KOF
PDF
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
PDF
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
PPTX
Contrail overview open stack days tokyo-feb2015
PPTX
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
PDF
NFVがやってきた!ルーターの仮想化で何が変わるの?~最先端仮想ルーター導入の勘所~
PDF
【さくらのクラウド】ローカルルータ導入ガイド
Lagopusで試すFW
Lagopus Router v19.07.1
LagopusとAzureとIPsecとDPDK
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
Ansible npstudy-shtsuchi
パブリッククラウドにおけるL2TPv3を用いたサーバ高可用性の評価
DPDKによる高速コンテナネットワーキング
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
Juniper Festa @ Interop Tokyo 2017
自動でできるかな?
Lagopus & NFV with Vhost (Tremaday#9)
【Brocade OpenStack ソリューション】OpenStack 概要
openstack_neutron-ovs_osc2014tf_20141019
今さら聞けない人のためのDocker超入門 - KOF
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
Contrail overview open stack days tokyo-feb2015
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
NFVがやってきた!ルーターの仮想化で何が変わるの?~最先端仮想ルーター導入の勘所~
【さくらのクラウド】ローカルルータ導入ガイド
Ad

Viewers also liked (15)

PDF
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
PDF
【Brocade OpenStack ソリューション】MPLS VPNデータセンター間接続
PPTX
NFVについて
PDF
Amazon RDS (MySQL) 入門
PDF
OPNFVをインストールしてみた
PPTX
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
PPTX
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
PDF
VPNaaS in Neutron
PDF
SDNは、何故バズワードになったのか?
PPTX
SDNを導入してみて思った事
PDF
Neutron Icehouse Update (Japanese)
DOCX
SDN Training - Open daylight installation + example with mininet
PDF
neutron_icehouse_update
PDF
小学生でもわかるSDN
PDF
AWS Black Belt Techシリーズ Amazon CloudFront
【Interop Tokyo 2015】 SDN 01: OpenDaylight を活用した Cisco SDN ソリューション
【Brocade OpenStack ソリューション】MPLS VPNデータセンター間接続
NFVについて
Amazon RDS (MySQL) 入門
OPNFVをインストールしてみた
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
VPNaaS in Neutron
SDNは、何故バズワードになったのか?
SDNを導入してみて思った事
Neutron Icehouse Update (Japanese)
SDN Training - Open daylight installation + example with mininet
neutron_icehouse_update
小学生でもわかるSDN
AWS Black Belt Techシリーズ Amazon CloudFront
Ad

Similar to OpenDaylightを用いた次世代ネットワーク構成管理の考察 (20)

PDF
Brocade SDN Controller -Sample Code for Brocade vRouter-
PDF
OpenContrailのソースコードを探検しよう!
PDF
Virtual Network Configuration with Group-based Policy using OpenDaylight
PDF
Contrail handson 手順書
PDF
OpenStackネットワーク実装の現状 と運用自動化開発の実際
PPT
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
PPTX
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
PPTX
[SoftLayer Summit 2015] DockerとOpenVNetを用いたSoftLayer VLAN上への仮想ネットワークオーバーレイ
PDF
SDN Lab環境でのRobotFramework実践活用
PDF
OpenStack & Container
PDF
Open contrail days 2014 fall
PPTX
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
PPTX
○○○で作るOpenStack+Contrail環境
PDF
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
PDF
Mr201304 open flow_security_jpn
PDF
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
PDF
さくらのクラウドインフラの紹介
PDF
OpenStackで始めるクラウド環境構築入門
PPTX
OpenStack本番環境の作り方 - Interop 2016
Brocade SDN Controller -Sample Code for Brocade vRouter-
OpenContrailのソースコードを探検しよう!
Virtual Network Configuration with Group-based Policy using OpenDaylight
Contrail handson 手順書
OpenStackネットワーク実装の現状 と運用自動化開発の実際
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
[SoftLayer Summit 2015] DockerとOpenVNetを用いたSoftLayer VLAN上への仮想ネットワークオーバーレイ
SDN Lab環境でのRobotFramework実践活用
OpenStack & Container
Open contrail days 2014 fall
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
○○○で作るOpenStack+Contrail環境
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
Mr201304 open flow_security_jpn
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
さくらのクラウドインフラの紹介
OpenStackで始めるクラウド環境構築入門
OpenStack本番環境の作り方 - Interop 2016

More from Naoto MATSUMOTO (20)

PDF
Alder Lake-S CPU Temperature Monitoring
PDF
CPU製品出荷状況と消費電力の見える化
PDF
5Gの見える化
PDF
2023年以降のサーバークラスタリング設計(メモ)
PDF
防災を考慮した水中調査の一考察
PDF
旅するパケットの見える化
PDF
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
PDF
災害時における無線モニタリングによる社会インフラの見える化
PDF
BeautifulSoup / selenium Deep dive
PDF
AMDGPU ROCm Deep dive
PDF
Network Adapter Deep dive
PDF
RTL2838 DVB-T Deep dive
PDF
x86_64 Hardware Deep dive
PDF
ADS-B, AIS, APRS cheatsheet
PDF
curl --http3 cheatsheet
PDF
3/4G USB modem Cheat Sheet
PDF
How To Train Your ARM(SBC)
PDF
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
PDF
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
PDF
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
Alder Lake-S CPU Temperature Monitoring
CPU製品出荷状況と消費電力の見える化
5Gの見える化
2023年以降のサーバークラスタリング設計(メモ)
防災を考慮した水中調査の一考察
旅するパケットの見える化
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
災害時における無線モニタリングによる社会インフラの見える化
BeautifulSoup / selenium Deep dive
AMDGPU ROCm Deep dive
Network Adapter Deep dive
RTL2838 DVB-T Deep dive
x86_64 Hardware Deep dive
ADS-B, AIS, APRS cheatsheet
curl --http3 cheatsheet
3/4G USB modem Cheat Sheet
How To Train Your ARM(SBC)
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化

OpenDaylightを用いた次世代ネットワーク構成管理の考察