2015年11月30日 星期一

[Mininet] Mininet Topo內檔案傳送測試

本篇主要為測試在網路中模擬檔案傳送




Controller

以POX為主,執行自訂的Controller API
我們使用柯志亨老師教學中的Bellman-Ford (網址如下)
http://csie.nqu.edu.tw/smallko/sdn/bellmanford.htm

Topo

拓樸的部分同樣使用自訂拓樸,每個Link之間頻寬不等,這部分就看各自的拓樸建立了
另開一個Terminal後(Controller一個, Topo一個)

sudo ./YourTopoName.py


Controller接收到網路後會更新訊息


檔案建立與傳送

首先我們先安裝 pv ,用於顯示進度條 
apt-get install pv

接下來我們個別控制兩台HOST
來源為拓樸中的 Server_1
目標為拓樸中的 Host_3
xterm Server_1 Host_3



以下進入建檔與傳送步驟
  1. 我們在server建立一個大小為5MB的檔案
    dd if=/dev/zero of=test.iso bs=1k count=100000

    每次讀寫1024byte,共五千次,可獲得5M的檔案(填充內容為"0")
    dd:可指定讀取來源與寫入目的
    if:input file 讀取來源的檔案名稱
    of:output file 寫入目的的檔案名稱
    bs:block size 讀寫大小(1k=1024)
    count:寫入次數
    /dev/zero:一個特殊的檔案,讀取此檔案都會獲得空資料

  2. Host_3發出請求檔案的訊息
    nc -l -p 3334 | pv | dd of=test.iso

    可以看到目前接收進度為0,接下來我們讓server送出檔案
  3. Server_1送出檔案
    dd if=test.iso | nc Host_3-IP 3334
    Server1將檔案傳送給Host_3,輸入後可以發現Host_3的進度條已經開始運作

    Controller也顯示傳送資訊,箭頭處代表回傳通過的路徑

備註

如果只是要用一般的netcat傳法
Host_3
nc -l -p 3334 > test.iso

Server3
nc -w 3 Host3-ip 3334 < test.iso

也可傳送成功,不過並沒有其他多餘資訊

沒有留言:

張貼留言