首先不廢話介紹openflow了,本身也還搞不清楚到底是個什麼玩意兒,歸納不出什麼內容來,先作試驗,有個大致的感性瞭解回來再總結吧。windows
第一步,搭建環境,這一步就是安裝工具,不一樣的系統環境搭建不一致,個人環境大致以下:網絡
首先把虛擬機搞起來,Set up Virtual Machine,這一步主要是下載OpenFlowTutorial-101311.zip,裏面是虛擬機的鏡像OpenFlowTutorial-disk1.vdissh
For the .zip archive, you need to set up a new VirtualBox VM. Open VirtualBox.tcp
接下來要給虛擬機配置一下網絡,首先要明確咱們配置網絡是幹啥:工具
1.虛擬機能夠上網;測試
2.宿主機能夠經過putty訪問虛擬機;spa
這就是tutorial裏面要設置NAT和host-only兩個網卡選項的緣由。3d
從虛擬機ping主機和外網均可以ping通了。blog
接下來就要在主機上經過SSH登錄虛擬機了。由於我是win7,因此使用putty,首先在Hostname中輸入hostonly對應的IP地址。ip
而後打開下面的SSH,選中enable X11 forwarding
另外再主機中將本地鏈接設置爲共享給hostonly,而且hostonly的IPv4要自動獲取ip。不然不能從putty打開ssh。
經過ssh進入虛擬機以後,要在主機windows下安裝Xming,而後打開Xming,而後在ssh中輸入xterm -sb 500,就能夠打開一個設置後的窗口Xming。
接下來就是在實驗中使用各類工具:openflow controller ,openflow switch,dpctl,wireshark,iperf,mininet,cbench。
Start Network
接下里就是跟着手冊輸入命令,作實驗。
第一個實驗主要是嘗試創建如上圖的拓撲結構,而後,h2和h3之間進行ping操做,修改流表進行控制。另外這裏還介紹了兩個工具,一個是wireshark抓包工具和iperf用於checking speeds between two computers.
首先在拓撲剛創建的時候,h2和h3是ping不通的,由於沒有添加流表。
這裏涉及dpctl dump-flows tcp:127.0.0.1:6634,查看流表的命令。接下來經過
$ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,actions=output:3 $ dpctl add-flow tcp:127.0.0.1:6634 in_port=3,actions=output:2
添加流表,我這裏是h3和h4的,因此測試mininet> h3 ping -c3 h4,以下:
這個流表是有時間限制的,默認是60秒,能夠經過
$ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,idle_timeout=120,actions=output:3
來進行修改流表存在的時間。另外下面介紹了兩個工具:wireshark和iperf,能夠嘗試着看看。
iperf只是一個命令,能夠直接在ssh中輸入,查看speed。