Slide 1

Slide 1 text

5&0哨1RGP0GVYQTMKPI %JG9GK.KP "%15%729QTMUJQR

Slide 2

Slide 2 text

Who am I • Hi there! • 林哲緯, a.k.a John Lin • Master student at 
 High Speed Network Lab, NTHU • Research topics including SDN and network security Github.com/John-Lin m103.nthu.edu.tw/~s103064502/

Slide 3

Slide 3 text

今天是⼀一個對於 
 SDN 做⼀一個很初步的介紹

Slide 4

Slide 4 text

我們為什麼需要 SDN ?

Slide 5

Slide 5 text

What is the problem in legacy network ?

Slide 6

Slide 6 text

What is the problem ? • 從網路管理層⾯面來看 • 當網路越來越⼤大,網路設備變多,管理者就必須要 管理越多的網路設備 • 更改網路設定需要登入設備的 CLI ⼿手動的去更改 • 如果⼈人為的網路設定錯誤呢...︖?

Slide 7

Slide 7 text

What is the problem ? • 從網路設備需求層⾯面 • 在 Legacy networking 裡封包轉送機制被設備商所 控制,我們不能任意的更改封包轉送機制 (Vendor dependence) • ⼀一旦購買某⼀一廠牌的設備,未來更新設備時必須遷 就該廠牌的網管軟體的功能 • 被設備商所挾持︖?

Slide 8

Slide 8 text

What is SDN ?

Slide 9

Slide 9 text

Software Defined Network

Slide 10

Slide 10 text

What is SDN? • SDN 是⼀一種網路架構 • 網路封包的⾏行為是透過軟體控制,使其具有可程式化 的特性 • 將網路分為控制層 (Controller Plane) 與資料層 (Data Plane) • 控制層的控制器 (Controller) 採⽤用集中控管的⽅方式來 管理網路

Slide 11

Slide 11 text

Network architectures Legacy networking Switch Switch Switch Switch 封包轉送 轉送機制 Packet A B C

Slide 12

Slide 12 text

Network architectures OpenFlow Switch 封包轉送 SDN networking 轉送機制 OpenFlow Protocol Controller OpenFlow Switch OpenFlow Switch Open Interface (RESTful API) App App App Packet A B

Slide 13

Slide 13 text

剛才提到的 
 OpenFlow Protocol 呢?

Slide 14

Slide 14 text

OpenFlow Protocol • OpenFlow 是⼀一個標準化的通訊協定,介於 SDN Controller 與封包轉發的硬體設備 (switch) 之間 • ⽬目前常⾒見的版本為 OpenFlow 1.3, OpenFlow 1.1 • 利⽤用 OpenFlow 讓 Controller 跟網路設備通訊透過 的 port 為 6653 (standardised Jul. 2013) • OpenFlow 是⼀一個以開放且標準化的介⾯面去實現 SDN,但並不是唯⼀一實現 SDN 的⽅方式! 5&01RGP(NQY

Slide 15

Slide 15 text

How does OpenFlow work? (1/3) Controller OpenFlow Switches Flow Tables Packet Packet OpenFlow Protocol Forwarding Drop Forward to Controller

Slide 16

Slide 16 text

Flow table 又是什麼︖?

Slide 17

Slide 17 text

How does OpenFlow work? (2/3) OpenFlow Switches Rule Action Statistics Rule Action Statistics Rule Action Statistics Rule Action Statistics Flow 1 Flow N Flow 2 Flow 3 ….. Table 0 • Flow Table

Slide 18

Slide 18 text

How does OpenFlow work? (3/3) Rule Action Statistics Packets/Byte counters 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Modify field and send to processing pipeline in_port VLAN
 ID MAC
 Src MAC
 Dst Eth
 type IP Src IP Dst IP ToS sport dport • Flow Entry

Slide 19

Slide 19 text

Controller 與 Switch
 之間的訊息交換

Slide 20

Slide 20 text

OpenFlow Protocol Messages • Controller to Switch Messages (Controller —> Switch) • Modify-State Messages • Read-State (Multipart) Messages • Packet - Out Message • Asynchronous Messages (Switch —> Controller) • Packet - In Message • Port Status Message • Symmetric Messages (Switch <—> Controller) • Echo Request / Reply

Slide 21

Slide 21 text

Connection Setup

Slide 22

Slide 22 text

舉個實際應⽤用的例⼦子吧!

Slide 23

Slide 23 text

Motivation 1/2 • 防禦網路攻擊是⼀一個非常重要的的議題 • ⽬目前市⾯面上有非常多的 入侵偵測系統 (IDS/IPS) 的 商業解決⽅方案,但是價格昂貴 • OpenSource 的 IDS 專案 (e.g., Snort) 雖然免費,但 是效能不佳,並且不能⽴立即地做出阻擋 • 如何在使⽤用 OpenSource 專案之下,能夠有效的提升 封包分析引擎的效能︖?並且提供即時的防禦

Slide 24

Slide 24 text

Motivation 2/2 • ⾃自動化防禦 • 選擇性的流量送進 IDS 做檢查

Slide 25

Slide 25 text

SDN Controller cooperate with IDS • Automatically block malicious traffic • 入侵偵測系統 (IDS) ,能夠檢測網路封包是否含有 特定的惡意樣式 • 如果命中 IDS 的規則,則代表有網路上有攻擊發 ⽣生,會⽴立即發出 Alert 訊息 • 將 Alert 交由 Controller 去處理(以往是 Alert 是 通知網管者去處理)

Slide 26

Slide 26 text

• Selective mirror traffic • 選擇必要或需要檢查的流量送入 IDS • ⼤大⼤大的減輕 IDS 的運算負擔,提升深度封包檢測 (DPI) 的效能 SDN Controller cooperate with IDS

Slide 27

Slide 27 text

OpenFlow Switches Controller Router IDS Take action Alerts Internet Internal Network Selective mirror Scenario example Usage: http://goo.gl/k6GQW8

Slide 28

Slide 28 text

SDN Community

Slide 29

Slide 29 text

About Taiwan Communities • Taiwan SDN Developer Society (a.k.a SDNDS-TW) • Topics can included in • Controller: basic usage tutorial, Ryu, ONOS, Floodlight, OpenDaylight, etc… • OpenFlow Switch: OpenFlow on physical switch, OpenvSwitch, OpenWrt • SDN applications: developing applications, hackathon • SDN use cases: idea sharing, requirements sharing ,QKPWU

Slide 30

Slide 30 text

SDNDS-TW http://sdnds.tw

Slide 31

Slide 31 text

SDNDS-TW • Today slide: https://goo.gl/iBTkw8 • IRC: #sdnds-tw on Freenode • Slack: https://sdnds-tw.slack.com • 取得 Slack 的邀請: https://sdnds-tw.herokuapp.com • Facebook 社團: https://www.facebook.com/groups/sdnds.tw

Slide 32

Slide 32 text

Meetup #1 Photos - 新⽵竹交⼤大

Slide 33

Slide 33 text

Meetup #3 Photos - 台北 
 Trend Micro

Slide 34

Slide 34 text

6JCPM;QW