2020 SDN上機第三次作業

2022-07-24 22:24:33 字數 2058 閱讀 7422

一、實驗目的

在實驗 2 的基礎上進一步熟悉 mininet 自定義拓撲指令碼,以及與損耗率相關的設定;初步了解 mininet 安裝時自帶的 pox 控制器指令碼編寫,測試路徑損耗率。

二、實驗任務

h0 向 h1 傳送資料報,由於在 mininet 指令碼中設定了連線損耗率,在傳輸過程中會丟失一些包,本次實驗的目的是展示如何通過控制器計算路徑損耗速率(h0s0-s1-h1)。這裡假設控制器預先知道網路拓撲。控制器將向 s0 和 s1 傳送 flow_stats_request,當控制器接收到來自 s0 的 response 時,將特定流的資料報數儲存在 input_pkts 中,當控制器接收到來自 s1 的 response 時,將接收到特定流的資料報數儲存在 output_pkts 中,差值就是丟失的資料報數量。 基於上述拓撲,編寫 mininet 指令碼,設定特定的交換機間的路徑損耗速率,然後編寫 pox 控制器指令碼,實現對路徑的損耗率的測量。

三、實驗步驟

1. 實驗環境

安裝了 ubuntu 18.04.5 desktop amd64 的虛擬機器

2. 實驗過程

在 pox 安裝目錄下(mininet 完整安裝包含了 pox)執行以下命令執行 pox 指令碼

$ ./pox.py flow_stats
編輯 mininet 指令碼 mymininet3.py :

switch.cmd( 'ovs-vsctl set-controller dp0 tcp:127.0.0.1:6633' ) switch1.cmd( 'ovs-vsctl set-controller dp1 tcp:127.0.0.1:6633' )
設定 s0 和 s1 之間鏈路的丟包率為 0

info( "*** creating links\n" )     

linkopts0=dict(bw=100, delay='1ms', loss=0)

linkopts1=dict(bw=100, delay='1ms', loss=0)

再執行命令執行 mininet 指令碼 mymininet3.py

平均丟包率為 0,結果符合 mininet 指令碼中設定的損耗率,也有可能出現負值,

可以認為沒有丟包。

更改 s0 和 s1 之間鏈路的丟包率為10

重新執行 mininet 指令碼 mymininet3.py,20 秒時間的 ping 過程中有 icmp_seq 為

2/4/14/16/19/20 共 6 次 ping 不通,所以丟包率計算為 30%

pox 端重新測試,會發現出現丟包現象,但是實際測量出的丟包率會有浮動,鏈

路的效能總體受到了限制。

四、總結

遇到問題:如圖

解決方法:重啟虛擬機器

2020 SDN第三次上機實驗

一 實驗目的 在實驗2的基礎上進一步熟悉mininet自定義拓撲指令碼,以及與損耗率相關的設定 初步了解mininet安裝時自帶的pox控制器指令碼編寫,測試路徑損耗率 h0向h1傳送資料報,由於在mininet指令碼中設定了連線損耗率,在傳輸過程中會丟失一些包,本次實驗的目的是展示如何通過控制器計...

SDN第三次上機作業

在給定如下圖實驗拓撲情況下,用vlan得到下列虛擬網段 要求實現 h1 h4互通 h2 h5互通 h3 h6互通 其餘主機間無法通訊 1.建立拓撲 使用python指令碼語言建立 對s1,s2均需要下發流表,處理1,2,3埠接收資料,新增vlan標籤,對4埠接收資料去標籤,到對應埠。ovs對s1下發...

SDN第三次上機作業

提交要求 貼出ovs下發流表的命令 sw1 前三句命令將主機1,2,3進入sw1的包打上vlan tag,埠4,後三句命令將從埠4的包去除vlan tag,並根據tag進行 sw2 前三句命令將主機4,5,6進入sw2的包打上vlan tag,埠4,後三句命令將從埠4的包去除vlan tag,並根據...