本文基於 SDN Controller Floodlight 的原始碼進行了一次簡單的分析,藉由分析這些原始碼更可以學習到其內部是如何轉送封包的,藉由 Topology 模組提供的 Global Topology 資訊, Floodlight 可以從該資訊中對於任何一個點到點的之間的連線找到一條傳送路徑。接者針對這傳送路徑上所有的交換機輸入對應的 Openflow 規則來幫忙轉送封包。相對於文件的更新,程式碼本身的迭代速度更為敏捷,因此常常會發生文件跟不上實際運行功能的案例。藉由學習閱讀原始碼,我們可以更快也更清楚的掌握當前這些開源軟體的發展狀態,甚至也能夠貢獻社群幫忙補齊文件。
Python-pack_unpack
Posted on
Views:
Floodlight-modules-dependency
Posted on
Views:
在floodlight這個openflow controller中,對於module之間的執行順序是如何決定的,這部分很重要
如圖為例,假設有四個component,分別是 LLDP、DEVICE、Forwarding、VirtualNetwork這四個module
如果今天switch送了一個封包到controller來,那這四個module誰要先處理這個封包? 順序交換是否會有影響?
C-new
Posted on
Views:
news-system
Posted on
Views:
用來紀錄2013/06/12日 news系統發生的問題
nmap
Posted on
Views:
Python-translate
Posted on
Views:
Python中有個很強大的字串轉換工具 maketrans 跟 translate
str.translate(table[, deletechars]);
Parameters
table -- You can use the maketrans() helper function in the string module to create a translation table.
deletechars -- The list of characters to be removed from the source string.
字串中只要有符合deletechars中的字元都會被刪除,然後剩下的字元就會依照table裡面的mapping來做轉換。
這個mapping的就要利用string.maketrans()來幫忙產生囉,
str.maketrans(intab, outtab]);
Parameters
intab -- This is the string having actual characters.
outtab -- This is the string having corresponding mapping character.
intab跟outtab兩者的長度必須要一樣,會把intab中每一個字元與outtab中相同位置的字元做mapping。
舉例來說
FloodLight--Module
Posted on
Views:
Floodlight把module分成core跟application兩個方向為主
core的部分提供的都是比較核心的功能,譬如PacketIN,PacketOUt,或是拓樸的更動…等
而application則是用這些core的功能來達到一些進階的功能
如防火牆、最短路徑搜尋….等
這邊就簡單研究一下Core Module中的相關功能。
Python-Robot(1) IRC
Posted on
Views:
要撰寫IRC 機器人其實不難,網路上到處都有範例,其實就是簡單的NP,字串來回處理而以。
- Connect To IRC SERVER
- Send User Infomation
- Join a channel
- Read data from irc channel and do response
- Send something to irc channel
- looping (4~5)
Openflow Introduction, Port Types
Posted on
Views:
本文基於 Openflow 1.0 的規則書,跟大家分享一下在 Openflow 的規範裡到底什麼叫做 Port, 以及有多少種相關的 Port,在使用上要注意些什麼。