摘 要: 在共享式局域網環境下,信道的惟一性與主機接入的隨機性構成了一對矛盾,這必然導致從不同主機發送的數據幀在共享信道上發生碰撞,為了降低碰撞所引發沖突的機率,數據鏈路層采用了CSMA/CD協議,但是該協議能否保證信道分配的公平性是一個鮮有研究的課題。文章結合應用層FTP協議,在NS2仿真環境下搭建實驗拓撲并仿真模擬,通過性能分析,證明CSMA/CD可以有效保障信道訪問公平性并維持FTP性能。
關鍵詞: CSMA/CD; FTP; 二進制指數退避; NS2
中圖分類號:TP393 文獻標志碼:A 文章編號:1006-8228(2013)03-01-03
0 引言
CSMA/CD[1]的全稱是帶沖突檢測的載波偵聽多路訪問協議,它以隨機接入的方式動態劃分信道,采用沖突檢測的手段來提高總線利用率,在局域網中廣泛使用。其總體策略可以概括為“先聽后發,邊聽邊發,沖突停發,隨機重發”?!跋嚷牶蟀l,邊聽邊發”指的是每一個站在發送數據前首先需要檢測總線上是否有其他計算機在發送數據,如果有則暫時不發送數據,以免沖突,如果沒有則發送數據,并在發送的同時偵聽信道;“沖突停發,隨機重發”指的是如果在發送數據時檢測到沖突則采用截斷二進制指數退避算法[2]等待一段隨機時間后再次發送。
為了使各站點公平合理地使用信道并兼顧靈活性,CSMA/CD中采用了二進制退避算法。如果信道空閑時,立即發送數據,否則退避一段隨機時間再重新監聽。該算法的主要機制是使重傳需要推遲的平均時間隨重傳次數的增大而增大,基本原理可以描述為:①確定基本退避時間,一般取征用期2γ;②定義重傳參數k,k=Min[重傳次數,10];③從整數集合[1,…,2k-1]中隨機選擇一個數記為r,重傳所需時延2rγ。文獻[3,4]中指出該算法會導致一方連續發送數據,而另一方重傳推遲的時間越來越長,在傳送大量數據時尤為明顯,這種現象就稱為“捕獲效應”。CSMA/CD作為底層的數據鏈路層協議負責向高層提供服務,網絡層、傳輸層等高層協議在享受服務的同時會加入自己的流量及擁塞控制機制,因此,位于不同層的各種協議在功能上相互疊加影響,這樣一來,底層的問題可以被高層解決,高層的缺陷能通過底層彌補。所以,二進制指數退避算法能否產生“捕獲效應“及是否影響系統性能,要結合傳輸層和應用層實例并在網絡拓撲場景中進行性能分析方可得出結論,為了解決這個問題,本文借助NS2[5],在仿真環境下搭建局域網拓撲,結合位于高層的TCP、FTP協議對CSMA/CD進行性能分析比對。
1 實驗拓撲及實驗步驟
實驗由8臺連接在共享鏈路的主機構成局域網拓撲如圖1所示,數據鏈路層采用802.3協議(其中包括CSMA/CD),標號為0和2的FTP服務器分別向標號為5和7的主機提供服務,其余主機模擬與FTP服務無關節點。在真實網絡環境下,服務無關節點對信道的檢測偵聽會消耗部分鏈路資源,對其余節點的正常通信會造成一定影響,在設計網絡拓撲時有必要將其考慮在內,以便于模擬真實環境。
實驗分為三步:首先用OTCL[6]語言編寫實驗配置腳本,為了修改重用便利,將網絡拓撲配置部分腳本采用模塊化的方式組織;然后編寫性能分析腳本,關注FTP傳輸過程中TCP序列號的連續性和整體吞吐量的波動性;最后對采集的數據進行分析,判斷FTP條件下CSMA/CD協議信道訪問是否公平。
2 協議配置腳本
###基礎參數配置部分###
set opt(tr) \"out.tr\" ;#Trace文件名,其中記錄模擬執行信息
set opt(namtr) \"lantest.nam\" ;#Nam動畫演示文件名
set opt(stop) 5 ;#定義運行結束時間
set opt(node) 8 ;#定義局域網中的節點數
set opt(qszie) 100 ;#隊列大小
set opt(bw) 10Mb ;#局域網帶寬
set opt(delay) 1ms ;#時延
set opt(ll) LL ;#LL層協議(Logic Layer)
set opt(ifq) Queue/DropTail ;#隊列類型
set opt(mac) Mac/802_3 ;#MAC幀格式
set opt(chan) Channel ;#信道類型
set opt(tcp) TCP/Reno ;#TCP版本
set opt(sink) TCPSink ;#TCP接收器
set opt(app) FTP ;#應用層協議
###定義結束過程###
3 性能分析腳本
性能分析腳本采用AWK[7]語言編寫,代碼中的BEGIN和END部分只在文件的開始和結束執行一遍,中間部分代碼對輸入文件的每一行分別執行。
###統計局域網TCP吞吐量變化情況腳本###
#輸入文件為out.tr,輸出文件為graph.txt
awk ' BEGIN{
#數據統計時間間隔為0.05
interval=0.05;
base=0;
num=0; }
“5.out“和“7.out”文件的作圖結果如圖3所示。通過圖3我們可以看出:①因為競爭信道使用權的關系,出現比較大的網絡延時,導致競爭失敗者的TCP封包被二進制指數退避算法推遲發送,兩條曲線變化的非連續性體現了這點;②圖中線段缺口在兩條曲線上連續交替出現,并未出現一方長時間占用信道的現象,說明采用CSMA/CD協議的局域網可以比較公平地為多個FTP節點提供網絡服務,達到均衡共享網絡帶寬的目的。
“graph.txt”文件作圖結果如圖4所示。從圖4中可以發現:①在ftp0與ftp1共存的時間段內,系統整體的吞吐量并未由于競爭信道的原因與之前的變化產生明顯差異,變化幅度基本維持在同一區間范圍,并未出現急劇提升或急劇下降的情況;②進一步觀察,發現在信道競爭時間段內(1sec到4sec區間),吞吐量變化幅度有減弱的趨勢,這兩點充分說明采用CSMA/CD協議的局域網可以在提供FTP服務的同時保證系統性能穩定。
5 結束語
本文在NS2仿真環境下通過性能分析,證明了CSMA/CD協議可以在共享式局域網環境下保證FTP應用的信道訪問公平性并維持系統性能。今后的研究可以考慮在以下方面擴展:①增加節點,觀察在大量節點連接情況下共享式局域網的公平性;②改變高層協議,比如在HTTP協議條件下局域網系統性能的改變。
參考文獻:
[1] 謝希仁.計算機網絡(第4版)[M].電子工業出版社,2003.
[2] 二進制指數退避算法.[EB/OL].[2013-01-10].http://baike.baidu.
com/view/2984826.htm.
[3] Christensen K J. The design of station centric network model for
evaluating changes to the IEEE 802.3 Ethernet standard[J].Simulaion,1999.72(1):33-47
[4] 喻莉,曹利敏,熊智.改進的沖突檢測算法與仿真[J].華中科技大學學
報(自然科學版),2007.35(1):29-31
[5] NS2.[EB/OL].[ 2013-01-11]. http://www.isi.edu/nsnam/ns/.
[6] OTCL.[EB/OL].[2013-01-11].http://otcl-tclcl.sourceforge.net/otcl/.
[7] AWK.[EB/OL].(2012-11-22)[2013-01-11]. http://www.grymoire.
com/Unix/Awk.html.
[8] GNUPLOT.[EB/OL].(2012-09-03)[2013-01-11]. http://www.
gnuplot.info/.