$30 off During Our Annual Pro Sale. View Details »

ONOS 及實際 SDN Switch 使用經驗分享

ONOS 及實際 SDN Switch 使用經驗分享

Study-Area 2016

#ONOSProject

Phil Huang

July 16, 2016
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. ONOS 及實際 SDN Switch
    使用經驗分享
    小飛機
    [email protected]
    Study-Area 2016 群英會

    View Slide

  2. 自我介紹
    ❏ 小飛機 pichuang
    ❏ 交大資工碩班 系統實務組
    ❏ 社群參與
    ❏ SDNDS-TW Co-Founder
    ❏ Study-Area 苦力組
    ❏ ONOS Ambassador
    ❏ http://blog.night9.cc

    View Slide

  3. ONOS SDN-IP Booth Photo at ONS 2016

    View Slide

  4. Global ONOS SDN-IP Deployment

    View Slide

  5. NCTU ONOS SDN-IP Rack

    View Slide

  6. NCTU ONOS SDN-IP Network Topology

    View Slide

  7. 常見問題
    1. SDN 新手如何開始?
    2. 網路不通如何排錯?
    3. 加入社群

    View Slide

  8. 如何開始?
    ● 設計一個 ”實際使用情境”
    ● 簡單起頭
    ○ 只做 L2 Switching
    i. 用 ping 驗證網路狀況
    ii. 用 iperf 驗證網路速度
    ○ 決定 Topology
    i. 3-Tier Topology
    ii. Mesh Topology
    iii. Leaf-Spine Topology

    View Slide

  9. 常見實際拓墣
    OpenFlow-Enabled Switch
    Host A Host B
    Legacy L2 Switch
    DHCP/NAT Server OpenFlow Controller
    Internet
    Tips: 針對 OpenFlow-Enabled Switch 建議走 Out-of-Band 方式

    View Slide

  10. 目標:內外網封包傳輸正常
    OpenFlow-Enabled Switch
    Host A Host B
    Legacy L2 Switch
    DHCP/NAT Server OpenFlow Controller
    Internet
    ICMP

    View Slide

  11. OpenFlow-Enabled Switch 選擇
    1. 採買實體 OpenFlow-Enabled Switch 及 Network OS
    ○ 從各家 Network OS 廠商中的 Hardware Compatibility List 裡挑選硬體
    2. Linux Server + 4-Port NIC + OpenvSwitch
    ○ 可以直接在 Local 用 Wireshark 觀察封包
    3. 支援 OpenWrt AP + OpenvSwitch
    Protocol 請以 OpenFlow 1.3 為主 1.0 為次佳選
    Tips: 能觀察到封包的選擇都是好的

    View Slide

  12. OpenFlow Controller 選擇
    1. Ryu
    ○ 學習曲線低
    ○ Keyword: Simple_Switch_13 (or Simple_Switch_10)
    2. ONOS
    ○ 學習曲線偏高
    ○ Keyword: org.onosproject.fwd
    選擇 Controller Application 有實作 L2 Forwarding 或者是 Switching 功能
    Tips: 觀測不同家的 Controller 建立行為基準

    View Slide

  13. 直接接上 SDN Controller 進行測試???
    ● 如果你經驗非常豐富,Do it!若不是...
    ● OpenFlow-Enabled Switch 以 OpenvSwitch 為例
    ○ 目的
    i. 確定 OpenFlow-Enabled Switch 進行 TCP 3-way Handshake 行為正常
    ○ 兩種不同設定方式
    i. 設定 fail-mode 為 standalone,並且不設定 controller IP
    ii. 利用 ovs-ofctl add-flow 直接下 flow entry 直接指定 in_port, out_port
    ○ 測試
    i. Host A <-> Host B
    ii. Host A (or Host B) <-> Internet

    View Slide

  14. OpenFlow Connection Setup
    Reference: http://sdnhub.org/tutorials/openflow-1-3/
    進行雙向的能力協商,包含使用版本、功能及設定

    View Slide

  15. 確定連線正常
    1. 啟動 OpenFlow Contorller
    2. OpenvSwitch fail-mode 改為 secure,設定 controller IP
    3. 透過 ovs-vsctl 觀測到 controller 狀態為 is_connected
    4. 測試
    a. Host A <-> Host B
    b. Host A (or Host B) <-> Internet

    View Slide

  16. 大多數人進行到這 都能找到基本錯誤

    View Slide

  17. 在啟動 SDN 狀況下,連線不正常???
    ● 觀測 Flow Count 有否增加 => 可確定 Flow Entry 有否被 Match
    Tips: 先從 Switch 開始懷疑起

    View Slide

  18. 真的找不出業障在哪裡...
    ● 撈封包回來用 Wireshark 看

    View Slide

  19. About OpenFlow Port
    IANA 定義 OpenFlow Port 為 6653,但有一些早期 Controller是採用 6633 Port

    View Slide

  20. 某牌 Switch 排錯實際案例

    View Slide

  21. 業障關鍵字: OFPT_ERROR
    ● 對照 OpenFlow 1.3 Spec Error Message 章節 (A.4.4) 確定錯誤碼的意思

    View Slide

  22. 截圖,提供相關設定,回報 NOS 廠商

    View Slide

  23. 複雜一點的 Use Cases
    ● 以各家 Controller 提供的案例為參考,如 ONOS Use Cases
    a. SDN-IP
    b. CORD (Central Office Re-Artitected as a Datacenter)
    c. ONF Atrium
    ONOS 項目介紹: http://www.sdnlab.com/17006.html

    View Slide

  24. ONOS SDN-IP

    View Slide

  25. ONOS SDN-IP Transit Network
    eBGP
    iBGP

    View Slide

  26. 北台灣 SDN TestBed Topology
    Taiwan
    South America
    Korea

    View Slide

  27. 北台灣 SDN TestBed Architecture

    View Slide

  28. OpenCORD
    Reference: http://opencord.org/wp-content/uploads/2016/04/ONS-2016-Plenary.pdf

    View Slide

  29. OpenCORD

    View Slide

  30. ONF Atrium - SDN Project Stack

    View Slide

  31. ONF Atrium - ONOS Based Router
    ● Goal: Peering Router ● Real Deployment
    Reference:https://github.com/onfsdn/atrium-docs/wiki/ONOS-Based-Atrium-Router-16A

    View Slide

  32. ONF Atrium - ONOS Based Leaf Spine Fabric
    ● L2/L3 Clos Fabric
    ○ Cross Rack 走 L3 Routing
    ○ Within Rack 走 L2 Fowarding
    Reference: https://github.com/onfsdn/atrium-docs/wiki/ONOS-Based-Atrium-Leaf-Spine-Fabric-16A

    View Slide

  33. 加入台灣在地社群 SDNDS-TW
    ● 只要你對以下有興趣
    ○ SDN/NFV 網路技術
    ○ 開放網路系統整合
    ○ 想貢獻網路相關開源專案增強實力者
    歡迎加入我們

    View Slide