Upgrade to Pro — share decks privately, control downloads, hide ads and more …

COSCUP Workshop 2015

COSCUP Workshop 2015

COSCUP Workshop Open Networking 2015

Che-Wei Lin

August 16, 2015
Tweet

More Decks by Che-Wei Lin

Other Decks in Technology

Transcript

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

  2. 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/
  3. 今天是⼀一個對於 
 SDN 做⼀一個很初步的介紹

  4. 我們為什麼需要 SDN ?

  5. What is the problem in legacy network ?

  6. What is the problem ? • 從網路管理層⾯面來看 • 當網路越來越⼤大,網路設備變多,管理者就必須要 管理越多的網路設備

    • 更改網路設定需要登入設備的 CLI ⼿手動的去更改 • 如果⼈人為的網路設定錯誤呢...︖?
  7. What is the problem ? • 從網路設備需求層⾯面 • 在 Legacy

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

  9. Software Defined Network

  10. What is SDN? • SDN 是⼀一種網路架構 • 網路封包的⾏行為是透過軟體控制,使其具有可程式化 的特性 •

    將網路分為控制層 (Controller Plane) 與資料層 (Data Plane) • 控制層的控制器 (Controller) 採⽤用集中控管的⽅方式來 管理網路
  11. Network architectures Legacy networking Switch Switch Switch Switch 封包轉送 轉送機制

    Packet A B C
  12. Network architectures OpenFlow Switch 封包轉送 SDN networking 轉送機制 OpenFlow Protocol

    Controller OpenFlow Switch OpenFlow Switch Open Interface (RESTful API) App App App Packet A B
  13. 剛才提到的 
 OpenFlow Protocol 呢?

  14. 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
  15. How does OpenFlow work? (1/3) Controller OpenFlow Switches Flow Tables

    Packet Packet OpenFlow Protocol Forwarding Drop Forward to Controller
  16. Flow table 又是什麼︖?

  17. 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
  18. 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
  19. Controller 與 Switch
 之間的訊息交換

  20. 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
  21. Connection Setup

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

  23. Motivation 1/2 • 防禦網路攻擊是⼀一個非常重要的的議題 • ⽬目前市⾯面上有非常多的 入侵偵測系統 (IDS/IPS) 的 商業解決⽅方案,但是價格昂貴

    • OpenSource 的 IDS 專案 (e.g., Snort) 雖然免費,但 是效能不佳,並且不能⽴立即地做出阻擋 • 如何在使⽤用 OpenSource 專案之下,能夠有效的提升 封包分析引擎的效能︖?並且提供即時的防禦
  24. Motivation 2/2 • ⾃自動化防禦 • 選擇性的流量送進 IDS 做檢查

  25. SDN Controller cooperate with IDS • Automatically block malicious traffic

    • 入侵偵測系統 (IDS) ,能夠檢測網路封包是否含有 特定的惡意樣式 • 如果命中 IDS 的規則,則代表有網路上有攻擊發 ⽣生,會⽴立即發出 Alert 訊息 • 將 Alert 交由 Controller 去處理(以往是 Alert 是 通知網管者去處理)
  26. • Selective mirror traffic • 選擇必要或需要檢查的流量送入 IDS • ⼤大⼤大的減輕 IDS

    的運算負擔,提升深度封包檢測 (DPI) 的效能 SDN Controller cooperate with IDS
  27. OpenFlow Switches Controller Router IDS Take action Alerts Internet Internal

    Network Selective mirror Scenario example Usage: http://goo.gl/k6GQW8
  28. SDN Community

  29. 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
  30. SDNDS-TW http://sdnds.tw

  31. 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
  32. Meetup #1 Photos - 新⽵竹交⼤大

  33. Meetup #3 Photos - 台北 
 Trend Micro

  34. 6JCPM;QW