
然後開啟cygwin進入lab5這個資料夾裡

執行startxwin.bat進入圖形介面視窗

情境一 :
使用隨機統一模型(PG = 0.1 , loss_model = 0)和multicast傳送(comm_type = 0)
執行方式 : $ns lab5.tcl 0 0 0.1 0 0 0(課本有打錯要注意!)
結果說明 :
模擬結束後,會產生一傳送記錄檔個sd和一個接收記錄檔rd,從sd檔案中我們可以得知共有12351個封包被送出,從rd檔案中我們可以得知共有11124個封包被接收,所以封包遺失率為(12351-11124)/12351=0.099
這個值跟所設定的網路底層封包遺失率0.1很接近,這也同時驗證了當封包只有multicast傳送時,網路使用者所感受到的傳送遺失機率將會和網路底層有相同的封包遺失率




情境二 :
使用隨機統一模型( PG = 0.4 , loss_model = 0)和multicast傳送(comm_type = 1)
執行方式 : $ns lab5.tcl 0 0 0.4 0 0 1(課本有打錯要注意!)
結果說明 :
模擬結束後,會產生一傳送記錄檔個sd和一個接收記錄檔rd,從sd檔案中我們可以得知共有12351個封包被送出,從rd檔案中我們可以得知共有12061個封包被接收,所以封包遺失率為(12351-12061)/12351=0.0234
這個值跟0.4的四次方0.0256很接近,同時也說明了若是使用unicast傳輸,網路使用者所感受到的傳送遺失率大約是網路底層所設定的四次方,其中四次方指的是最多重傳的次數(因為預設的RTSThreshold_為0,每個封包一定會大於0,所以重傳次數就由LongRetryLimit_所控制,其預設值為4)



情境三 :
使用GE模型(PGG = 0.96 , PBB = 0.94 , PG = 0.001 , PB = 0.05 , loss_model = 1)和multicast傳送(comm_type = 0)
執行方式 : $ns lab5.tcl 0.96 0.94 0.001 0.05 1 0(課本有打錯要注意!)
結果說明 : 模擬結束後,會產生一傳送記錄檔個sd和一個接收記錄檔rd,從sd檔案中我們可以得知共有12351個封包被送出,從rd檔案中我們可以得知共有12118個封包被接收,所以封包遺失率為(12351-12118)/12351=0.0188
這個值跟理論值0.01*(1 - 0.94)+0.05*(1 - 0.96) / ( (1 - 0.96)+(1 - 0.94) ) = 0.0206很接近



沒有留言:
張貼留言