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

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

Study-Area 2016

#ONOSProject

D907136acebc72f1df878541b26f271a?s=128

Phil Huang

July 16, 2016
Tweet

Transcript

  1. ONOS 及實際 SDN Switch 使用經驗分享 小飛機 pichuang@study-area.org Study-Area 2016 群英會

  2. 自我介紹 ❏ 小飛機 pichuang ❏ 交大資工碩班 系統實務組 ❏ 社群參與 ❏

    SDNDS-TW Co-Founder ❏ Study-Area 苦力組 ❏ ONOS Ambassador ❏ http://blog.night9.cc
  3. ONOS SDN-IP Booth Photo at ONS 2016

  4. Global ONOS SDN-IP Deployment

  5. NCTU ONOS SDN-IP Rack

  6. NCTU ONOS SDN-IP Network Topology

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

  8. 如何開始? • 設計一個 ”實際使用情境” • 簡單起頭 ◦ 只做 L2 Switching

    i. 用 ping 驗證網路狀況 ii. 用 iperf 驗證網路速度 ◦ 決定 Topology i. 3-Tier Topology ii. Mesh Topology iii. Leaf-Spine Topology
  9. 常見實際拓墣 OpenFlow-Enabled Switch Host A Host B Legacy L2 Switch

    DHCP/NAT Server OpenFlow Controller Internet Tips: 針對 OpenFlow-Enabled Switch 建議走 Out-of-Band 方式
  10. 目標:內外網封包傳輸正常 OpenFlow-Enabled Switch Host A Host B Legacy L2 Switch

    DHCP/NAT Server OpenFlow Controller Internet ICMP
  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: 能觀察到封包的選擇都是好的
  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 建立行為基準
  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
  14. OpenFlow Connection Setup Reference: http://sdnhub.org/tutorials/openflow-1-3/ 進行雙向的能力協商,包含使用版本、功能及設定

  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
  16. 大多數人進行到這 都能找到基本錯誤

  17. 在啟動 SDN 狀況下,連線不正常??? • 觀測 Flow Count 有否增加 => 可確定

    Flow Entry 有否被 Match Tips: 先從 Switch 開始懷疑起
  18. 真的找不出業障在哪裡... • 撈封包回來用 Wireshark 看

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

    6633 Port
  20. 某牌 Switch 排錯實際案例

  21. 業障關鍵字: OFPT_ERROR • 對照 OpenFlow 1.3 Spec Error Message 章節

    (A.4.4) 確定錯誤碼的意思
  22. 截圖,提供相關設定,回報 NOS 廠商

  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
  24. ONOS SDN-IP

  25. ONOS SDN-IP Transit Network eBGP iBGP

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

  27. 北台灣 SDN TestBed Architecture

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

  29. OpenCORD

  30. ONF Atrium - SDN Project Stack

  31. ONF Atrium - ONOS Based Router • Goal: Peering Router

    • Real Deployment Reference:https://github.com/onfsdn/atrium-docs/wiki/ONOS-Based-Atrium-Router-16A
  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
  33. 加入台灣在地社群 SDNDS-TW • 只要你對以下有興趣 ◦ SDN/NFV 網路技術 ◦ 開放網路系統整合 ◦

    想貢獻網路相關開源專案增強實力者 歡迎加入我們