Back to Basics:從 mininet 談起

話先說在前面,這篇文章完全不會提到任何和 mininet架設、操作有關係的內容,因為這部份我都請同事代勞了(明明就是威脅加恐嚇還不給胡蘿蔔,誰叫我沒有胡蘿蔔) ,也因為這樣所以我沒有寫任何相關的文章,反正網路上已經一大堆了。

會想寫這篇文章是因為一個學生跟我說的一句話:「我的老師覺得 mininet 只是模擬器,不是很真實,所以他要我們參考網路上的文章,把 openvswitch(縮寫為 ovs)放到 AP 上來進行實驗。」聽到這句話我我第一時間完全不知道該怎麼回答。mininet 是不是模擬器?是!mininet 算是模擬器,既是模擬就有一定程度的不真實性,但是那個老師知道 mininet 的運作原理嗎?

mininet 是 Stanford 大學 Brandon Heller 的研發成果,它的概念很單純,就是利用 Linux Kernel 所提供的 network namespace 概念來建制虛擬環境,而每一台的 openflow switch 或是 host,其實就是一個獨立的 namespace。相關的概念可以參考我之前寫過的文章 linux network namespace。而在 mininet 裏面,OpenFlow switch 的部份就是直接使用 openvswitch ,也就是說,使用 mininet 和把 openvswitch porting 到 AP 上是幾乎一樣的效果。知道這些細節以後,我在使用 mininet 上就會比較放心了。畢竟最後的問題就是一台主機的運算資源能不能負擔這麼多個 namespace 的問題,而這 performance 的議題難道會因為 porting 到 AP 上就不存在嗎?

我在意的地方到不是老師的質疑,而是大部份我看過的學生,在 mininet 的使用上都不會去深入了解它的原理。為什麼被老師問一下就回答不出來,為什麼報告 mininet 只會停留在操作的層及而不會進一步去釐清它的實作技術?只會照著文件一步一步的操作,是很難做到舉一反三。其實我也不是多勤勞的傢伙,會去研究這東西只是因為在某次報告中要介紹相關技術,為了不要讓自己講的很心虛所以就稍微研究了一下。但盼望不要因為當工程師愈來愈久之後,就忘記了最初研究的樂趣。

... 總的來說,這是我對自己提醒的文章。


留言

這個網誌中的熱門文章

我弟家的新居感恩禮拜分享:善頌善禱

如何將Linux打造成OpenFlow Switch:Openvswitch

Openssl 範例程式:建立SSL連線