Sdn 之旅 open suse_asia_summit_20151206

37
SDN 之之 openSUSE.Asia Summit 2015 之之之 @study-area 2015/12/06

Transcript of Sdn 之旅 open suse_asia_summit_20151206

SDN 之旅openSUSE.Asia Summit 2015小飛機 @study-area

2015/12/06

自我介紹• a.k.a 小飛機 , pichuang• 社群

– SDNDS-TW Co-Founder– Study-Area 苦力組– Agile Community HsinChu 地陪

• OpenSource– OpenNet– Mininet– OpenvWrt

[email protected]• http://blog.night9.cc

Agenda• Introduction to SDN• SDN Architecture

1. Controller2. Switch3. Simulator4. Analytic

• Conclusion

Introduction to SDN瞎子摸象

Legacy Network

Host BSW SWHost A SW

Control Logic Control Logic Control Logic

• 每台 Switch 皆獨立運作 (Standalone)• Packet 經過每一台 Switch 皆須運算一次

SDN Network

Host BSW SWHost A SW

Controller

Business Applications

REST APIApplication Layer

Control Layer

Infrastructure Layer

What is SDN?• 一種網路設計理念• 特點

– Control / Data Plane 分離– 控制集中化– 可視化– 網路邏輯可程式化

Why SDN?• 將網路視為資源的一部份

– Cloud Service Provider 因應來自租戶 (Tenant) 快速變動的資源需求• 智慧自動化控制網路

– 降低操作費用– 減少人工失誤次數– 縮短平均恢復時間 (Mean Time to Recovery, MTTR)

• 高度客製化軟體– 專注使用者真正想要的功能

SDN SwitchWhite Box 戰國時代

Switch 演進史 (1/2)

Chipset

Box

Network OS

Application

Switch 架構

ODM Chipset

ODM Box

IOS, NX-OS

L3, L4, Firewall, …

C 牌 Legacy Switch

Switch 演進史 (2/2)

Chipset

Box

Network OS

Application

Switch 架構

ODM Chipset

ODM Box

Linux-based OS

Customized Apps

White Box Switch

CPU: Intel x86_64RAM: 8GBDisk: 512G

White Box Switch• “Switch as a Server”• 高度客製化

– Hardware• CPU, RAM, DISK

– Software• OS, Application

Edge-Core 5712-54X-O-AC-F 相簿 : https://goo.gl/photos/RRfNt67zi2LBbf8v9

White Box Ecosystem

Chipset

Network OS

Box

OpenNetworkingLinux

OpenSwitch Screenshot

40:12 開始• https://www.livecoding.tv/video/twsdnpichuang-openswitch-6/

Demo OpenSwitch

OpenNetworkingLinux ScreenShot

OpenvSwitch• 產品等級的 Software Switch• Multilayer Virtual Switch• 支援 OpenFlow 1.0 – 1.4• 其他知名專案採用

– OpenStack Neutron ML2– Docker SocketPlane– XenServer

SDN ControllerBrain of Network

SDN Controller

SDN Control Logic

Southbound API

Northbound API

SDN Controller 架構• Northbound API– 將 SDN Applications 及 Controller 串起來溝通的北向介面

• SDN Control Logic– 處理所有南北向或其他資訊的邏輯中樞

• Southbound API– 將 Switch 及 Controller 串起來溝通的南向介面

SDN Architecture: https://upload.wikimedia.org/wikipedia/commons/e/e6/SDN-architecture-overview-transparent.png

SDN Control Logic

Southbound API

Northbound APISDN Controller

Northbound API Driver

SDN Application LogicSDN Application

Southbound Agent

Forwarding EngineSDN Switch

Controller Framework

OpenFlow Driver

BGP Agent

BGP Driver

BGP Logic

OpenFlow Agent

Forwarding Engine

Ryu (1/2)• NTT 發起• 使用 python 撰寫而成

– 推薦入門 SDN Controller– 容易上手修改

• 支援協定– OpenFlow 1.0 ~ 1.5– Netconf– OF-config

Ryu (2/2)• 使用簡單

• 無痛安裝– sdnds-tw / ryuInstallHelper

$ ryu-manager simple_switch_13.py ofctl_rest.py rest_topology.py

ONOS• ON.Lab 主導

– Sponsor 多為電信商組成• 使用 Java 撰寫而成

– OSGi framework• 特性

– 可擴充 , 高可用性• 支援分散式架構

– 功能模組化• 可動態安裝卸載 Applications

– 提供 CLI / GUI 操作介面

ONOS Screenshot

OpenDayLight• CISCO 主導

– Sponsor 多為設備商組成• 使用 Java 撰寫而成

– OSGi framework• 特性

– 與 OpenStack Neutron 整合度高– 開發者社群活躍– …

SDN Simulator研究教學兩相宜

Mininet• ON.Lab SDN Simulator Project• 可以建立任何你想得到的 Topology• 技術背景

– Linux namespace + cgroups– OpenvSwitch / CPqD

Mininet Screenshot

OpenNet• D-link / MOST Project at NCTU• Distributed OpenNet

– 支援多台主機分散模擬 SDN Topology• 結合 NS3 及 Mininet

– 可模擬 Wireless / Wire 行為– 可使用 Tunneling Protocol 測試跨主機模擬

• GRE / VXLAN / GENEVE

• Ansible Style 一鍵式安裝– 只需填寫 master / slave hostname 即可

• 大量的 Examples 可供直接測試

參考連結• Mininet

– https://github.com/mininet/mininet• Mininet 介紹

– http://www.slideshare.net/ssusera21600/sdnds-twmeetup3• OpenNet

– https://github.com/dlinknctu/OpenNet• OpenNet Demo

– https://goo.gl/hwmMe1

SDN Analytic分析網路

OpenADM• D-link / MOST Project at NCTU• 分析 診斷 管理 SDN 網路的框架• 特性

– 相容許多 SDN Controller– 可轉發特定的 Flow– By Port / Flow 統計數據

• 相關連結– https://github.com/dlinknctu/openadm– https://vimeo.com/106959057

Conclusion• SDN 在快速變動的雲端業務有其強烈需求• 跨領域整合需求於未來會越來越高

– OpenStack Neutron– NFV– Container

• 朝客製化取向• 技術入門門檻較高,上手不易

SDNDS-TW Community• 對 SDN / NFV 發展有興趣者• 對 SDN 之整合應用有興趣者

– OpenStack– Docker

• 對 OpenSource 貢獻有興趣者• 歡迎您的加入

sdnds.tw

Q&A

https://www.facebook.com/catsudocat/