openflow controller lily

20
OFꝏ 2012/4/29 宮下 一博 @ꜳꜳꜳꜳff ꜳ1192@ꜳ.ꝏ

Upload: kazuhiro-miyashita

Post on 22-Aug-2015

2.520 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenFlow Controller lily

OpenFlowコントローラlily

2012/4/29宮下 一博@[email protected]

Page 2: OpenFlow Controller lily

自己紹介

� 某電機メーカ勤務

� ネット系ソフトの開発に従事

� #sdnstudy OpenFlow勉強会その1、2を開催

– OpenFlow/SDNに関する技術的な情報源はまだ少ない

– 本勉強会をOpenFlow/SDN技術情報の中心的な発信源としていきたい

Page 3: OpenFlow Controller lily

OpenFlowコントローラlilyのゴール

� Openで機能拡張ができる

� トラブルシューティングが簡単

� IaaS運用のための機能が豊富

� 導入が簡単

� 適当に配線しても動作し、既存ネットとの統合も容易

� 故障時のスイッチ交換後も再設定いらず

上記目的のため、OpenFlow/SDNを利用。

Page 4: OpenFlow Controller lily

lilyの特徴

� ファブリック

� マルチテナント

� MACアドレス+入力ポートVLAN

� 物理ネットワークトポロジの自動検出

� ループの自動検出&回避

� 最短パス検索

� 障害箇所の迂回

� 帯域設定(OpenVswitch)

� 帯域プール

� OpenStack QuantumOpenStack QuantumOpenStack QuantumOpenStack Quantum API 1.0対応

� CLIによる操作

Page 5: OpenFlow Controller lily

OpenStackアーキ抜粋

OpenStack compute API

引用:http://docs.openstack.org/trunk/openstack-compute/admin/content/logical-architecture.html

OpenStack EndUsers

Page 6: OpenFlow Controller lily

OpenStack Quantum

� nova-networkに代わり、OpenStackのネットワーク制御を担当するコンポーネント

� ネットワークの管理を抽象化している

� プラグイン構造をとっており、様々なネットワークの制御方式に対応

� APIも備えており汎用性が高い

Page 7: OpenFlow Controller lily

OpenStack Quantumアーキテクチャ

Open Vswitch

OpenStack nova

Quantum

VMHOST

Quantum-API

OpenFlow SW

Plugin Frame work(python)

NiciraPlugin

NECPlugin

CiscoPlugin

Nexus

OpenFlow Netconf

CLI

OpenFlow

Python base API

Page 8: OpenFlow Controller lily

Quantumのネットワーク抽象化モデル

Network

Port

Attachment

Networkに対する論理的な

Portの作成/削除

Portに対する論理的なオブジェクトのプラグ/アンプラグ

論理的なネットワークの生成/削除

Page 9: OpenFlow Controller lily

QuantumとNovaの管理分担および実リソースとの関連

Network

Port

Attachment

instance VM

VIF

OpenVswitch

vPort

Nova分担

Quantum分担

【OpenVswitchプラグイン例】1)Networkを作る(Quantum)2)instanceを起動(Nova)3)Networkに対応する

スイッチを決定(決め打ち)(Nova)4)OVSのvPort作成(Nova)5)AttachmentとVIFを関連付け(Nova)6)VM作成(Nova)7)Attachment(=VIF)をどのVLANに属させるのかの設定(Quantum)

Page 10: OpenFlow Controller lily

lilyアーキテクチャ

Trema

OpenFlow-SW

OpenFlow protocol

VLAN,最適経路,最短パス,帯域管理ループ検出,トポロジ検索

Active support/Active Record

Webrick

Sqlite3

APIAPIAPIAPIハンドラハンドラハンドラハンドラ

Open Vswitchlily agentlily agentlily agentlily agent

OpenStack nova

lilylilylilylilyプラグインプラグインプラグインプラグイン

VMHOST

REST

lily CLIlily CLIlily CLIlily CLI

Quantum-API

OpenStackEndUsers

lily

Quantum Cloud Admin

REST

Page 11: OpenFlow Controller lily

論理ネットワークの作成

Page 12: OpenFlow Controller lily

VMの作成

Page 13: OpenFlow Controller lily

VMの起動確認

Page 14: OpenFlow Controller lily

スイッチ一覧表示[root@lily cli]# ./lily.rb sw

name| dpid| role| ip address(port no)---------------+ ---------------+ --------------------| --------------------

a1| 161| ACCESS| 127.0.0.1/59022a2| 162| ACCESS| 127.0.0.1/59023a4| 164| ACCESS| 127.0.0.1/59025a3| 163| ACCESS| 127.0.0.1/59024d1| 209| DISTRIBUTION| 127.0.0.1/59026c1| 193| CORE| 127.0.0.1/59028d2| 210| DISTRIBUTION| 127.0.0.1/59027

[root@lily cli]#

CORE

DISTRIBUTION

ACCESS

DISTRIBUTION

ACCESS ACCESSACCESS

Page 15: OpenFlow Controller lily

トポロジ表示

[root@lily cli]# ./lily.rb topoa1:3 <-> d1:3a1:2 <-> d1:2a2:1 <-> d1:4a4:2 <-> d2:3a3:2 <-> d2:4a3:1 <-> d2:2d2:1 <-> c1:2d1:1 <-> c1:1ACCESS LINK=>[a1:1]ACCESS LINK=>[a4:1][root@lily cli]# ★最新版では、VMのUUIDが表示

Page 16: OpenFlow Controller lily

帯域プール[root@lily cli]# ./lily bw

name|band width(Mbps)---------------+ ---------------

a1| 20000a2| 10000a4| 10000a3| 20000

band width pool(system total) = 60000Mbps[root@lily cli]#

Page 17: OpenFlow Controller lily

lilyの課題(現状認識)

� メッシュ状にVM間の通信フロー定義するため、フロー数が爆発(Hop by hopのOpenFlowコントローラ共通の問題のはず)

� フロー圧縮技術が必要

• タグベースのパケット配送を検討

–802.1qタグを2重に設定する事を検討中(OF 1.1以上)

–Don't careをうまく使う

� 性能/信頼性/可用性

Page 18: OpenFlow Controller lily

2012年開発項目

� FW/SLB(ソフトルータ ex: vyatta)との連携

� OpenFlow 1.2対応(stacked VLAN)

� Quantum L3対応(IPアドレス管理)

� エラーメッセージ改善

� トラブルシューティング

� ドキュメントの充実

� 大規模環境テスト(OCDET連携)

基本機能と品質を強化し、lilyを使って頂くフェーズへ。

Page 19: OpenFlow Controller lily

2013年開発項目

� インテリジェントコネクション

� 管理LANレス

� コネクションアドバイザ(ベストつなぎ方をアドバイス)

� トラブル予兆検出

� データセンタ越え

� 物理/仮想を一貫しての帯域制御、プール

� GUI&AR

� lilyアーキ見直し(スケーラビリティ)

“ZeroConf SDN”適当につないでも使える世界の実現へ向けて

本当にできるのかな・・・

Page 20: OpenFlow Controller lily

共同開発者募集中!https://github.com/miyakz1192/lily/