2015年11月16日 星期一

SDN實驗備忘筆記

SDN實驗備忘筆記

本篇主要是紀錄執行mininet或Controller時所遭遇的錯誤解法,另外還有部分的隨筆備忘紀錄,以供後續查詢方便

Mininet

  • 備忘紀錄
    • Mininet常用指令
      指令
      說明
      nodes
      網路中所有節點(Switch, host, server etc.
      net
      Link訊息
      dump
      各節點的資訊(ip, eth etc.
      iperf [src] [dst]
      TCP測試
      iperfudp [bw] [src] [dst]
      UDP測試
      dpctl
      Switch指令,細部指令查詢--help

  • 錯誤紀錄
    • E1:拓樸建立時發生Exception: Error creating interface pair (XX-eth*,XX-eth*): RTNETLINK answers: File exists錯誤
      括號裡通常是Switch的某個eth連到另一台Switch的eth,這邊發生原因主要是因為當第一次建立拓樸時出錯,第二次建立相同拓樸時,第一次的拓樸並沒有完全消除。
      解決方法:運行以下指令
      sudo mn -c


POX

POX支援Openflow版本目前為1.1版 (2015/11/30)


  • Flow 篩選筆記
    • N1:只處理IPv4封包(非IPv4封包略過)
    • if (not event.parsed.find("ipv4")):
          return EventContinue
    • N2:只處理特定目標IP封包
    • MyIP = IPAddr("a.b.c.d")
      if (msg.match.nw_dst != MyIP):
          return EventContinue
    • N3:


Python

  • 錯誤紀錄

    • E1:編譯時發生SyntaxError: Non-ASCII character '\xe5'
      程式碼開頭加上#coding=utf-8即可
    • E2:Pycharm編譯時發生"Fatal Python error: Py_Initialize: can't initialize sys standard streams LookupError: unknown encoding: x-windows-950"
      進入File-Setting-Editor-File Encodings
      將IDE Encoding 與 Project Encoding 更改成UTF-8

Reference:

沒有留言:

張貼留言