試驗平台:
cygwin
和ns2.31
,沒有任何補丁。
實驗目的:深入學習以太**性,深入了解
csma/cd
原理。
實驗步驟:
構建乙個如下圖所示的乙太網,在這個網路中,
4個節點共享乙個傳輸介質(匯流排),任何時間只能有一對節點傳輸資料。
在ns2
中建立乙太網(區域網)的方法是使用
make-lan
函式具體方法請參考手冊。
實驗**:
可以看出在
0.1s
的時候節點
2向節點
3傳輸資料,在
1s的時候節點
0向節點
1傳輸資料,從而構成乙個競爭關係,在
3.0s
的時候,節點
2停止向節點
3傳輸資料,在
4.0s
整個實驗結束。
實驗結果分析:
產生的實驗資料
out檔案為老
trace
格式,使用
awk進行分析,思路就是統計節點
1和節點
3接受資料(
tcp序列號)的時間關係。為了重複利用**,使用簡單的
bash
指令碼如下:
儲存檔案analy,執行./analy 1和./analy 3,其中的1和
3表示接受資料的節點是1和
3。統計的是接受節點接受
tcp序列號和時間的關係。使用
gnuplot
進行畫圖,結果如下:
通過此圖我們可以得出以下幾個結論: 1,
乙太網可以比較公平為多個節點提供網路服務,所有節點共享網路頻寬。 2,
因為競爭的關係,會出現比較大的網路延時,譬如紅線(
1.out
)接受資料報序列號出現較大的缺口,這個是應為其他節點同時要求網路服務所形成的競爭導致的。 3,
需要進一步驗證吞吐量的變化,為了驗證吞吐量,採取一種影象化的相對表示比較簡單,那就是統計單位時間內收到的資料報的個數,統計方法如下:
結果如圖所示:
這個結果顯示在多個節點同時傳輸資料的時候總的吞吐量並沒有明顯的變化。這說明在較少節點使用乙太網時候,公平性可以得到很好的保障。
同時我們注意到在執行
ns命令產生的結果中,除了乙個
out檔案還有如下結果:
beb是
802.3
標準中處理衝突的方法(
binary exponential backoff
)即,csma/cd
中使用的衝突處理方法,
ns2中的
csma
使用的方法通過閱讀
mac-802.3.cc
是持續監聽的方式,沒有採用非持續
csma
。而在beb
超出限制之後就會出現以上的錯誤。
進一步實驗還可以完成(需要使用新的統計指令碼): 1,
增加節點,觀察在大量節點連線情況下乙太網的效率。
2,ftp/tcp
換成cbr/udp
觀察不同速率情況下的多節點競爭環境下的吞吐量變化。
基於ns2的mip切換分析
rel file list href file c 5cdocume 7e1 5ckgn 5clocals 7e1 5ctemp 5cmsohtml1 5c01 5cclip filelist.xml rel edit time data href file c 5cdocume 7e1 5ckgn...
乙太網的基礎學習
preamble sfd 每個乙太網幀傳送時都以八個位元組的前導碼開始,preamble是1和0交替的7個位元組資料,該部分的作用是通知接收方有資料幀到來,使其與輸入的始終保持同步。sfd 是乙個位元組10101011,最後使用11,來通知接收方下一欄位就是目的主機的位址了,實際上前導碼都是在物理層...
基於MicroBlaze的千兆乙太網除錯
vivado部分 下面是axi 1g 2.5g ethernet subsystem的配置,只需設定第一頁,其它選項預設 注意整個bd中還需乙個重要的ip,axi timer,這個ip在除錯乙太網時是不可能缺少的,配置預設,需要注意的是需要把interrupt連到microblaze的中斷控制上 連...