資源描述:
《基于ns2光突發(fā)交換(obs)網(wǎng)絡(luò)仿真平臺(tái)的構(gòu)建》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、http://www.paper.edu.cn基于NS2光突發(fā)交換(OBS)網(wǎng)絡(luò)仿真平臺(tái)的構(gòu)建邱強(qiáng)北京郵電大學(xué)電子工程學(xué)院電路與系統(tǒng)中心,北京(100876)E-mail:qiuqiang20022002@yahoo.com.cn摘要:在科研中,經(jīng)常要用到各種網(wǎng)絡(luò)仿真工具,其中有OPNET、NS2(NetworkSimulator)等。而NS2是目前科研中最流行的網(wǎng)絡(luò)仿真工具,但是卻缺乏光網(wǎng)絡(luò)的組件,所以光網(wǎng)絡(luò)的仿真往往無(wú)法選擇NS2作為仿真工具,但是OPNET由于其價(jià)格昂貴以及代碼非開(kāi)源導(dǎo)致科研中光網(wǎng)
2、絡(luò)仿真較為困難。本文就是基于這個(gè)原因,參考國(guó)內(nèi)外研究進(jìn)展,構(gòu)建了一個(gè)光突發(fā)交換網(wǎng)絡(luò)的方針平臺(tái)。關(guān)鍵詞:NS2網(wǎng)絡(luò)仿真器;OBS光突發(fā)交換1.NS2仿真軟件介紹NS2起源于早在1989年的REAL網(wǎng)絡(luò)模擬器。在過(guò)去的幾年中,NS發(fā)生了實(shí)質(zhì)性的演進(jìn)。1995年,NS的開(kāi)發(fā)獲得了DARPA的支持,通過(guò)VINT項(xiàng)目,由LBL、XeroxPARC、UCB和USC/ISI合作進(jìn)行。目前NS的開(kāi)發(fā)由DARPA的SAMAN項(xiàng)目和NSF的CONSER項(xiàng)目支持。NS具有開(kāi)放的結(jié)構(gòu)和良好的可擴(kuò)充性。NS已經(jīng)從其他研究者那里吸
3、收了很豐富的模塊,包括從UCBDaedelus和CMUMonarch計(jì)劃以及SUN微系統(tǒng)公司獲得的無(wú)線代碼。目前比較新的NS2版本為NS22.32,可以通過(guò)網(wǎng)絡(luò)下載:www.isi.edu/nsnam/ns/ns-build.html。在RedhatLinux上穩(wěn)定的版本有NS22.27和NS22.29,在編譯過(guò)程中一般不會(huì)出現(xiàn)問(wèn)題。1.1NS2網(wǎng)絡(luò)仿真器原理NS2是一個(gè)離散時(shí)間模擬器。離散時(shí)間模擬,是幾種常用的系統(tǒng)模擬模型之一。簡(jiǎn)單地說(shuō),事件規(guī)定了系統(tǒng)狀態(tài)的改變,狀態(tài)的修改僅在事件發(fā)生時(shí)進(jìn)行。在一個(gè)網(wǎng)
4、絡(luò)模擬器中,典型的時(shí)間包括分組到達(dá)、時(shí)鐘超時(shí)等。模擬時(shí)鐘的推進(jìn)由事件發(fā)生的時(shí)間量確定。模擬處理過(guò)程中的速率不直接對(duì)應(yīng)著實(shí)際時(shí)間。一個(gè)時(shí)間的處理可能又會(huì)產(chǎn)生后續(xù)的事件,例如對(duì)于一個(gè)接收到的分組的處理觸發(fā)了更多的分組的發(fā)送。模擬器所做的就是不停地處理一個(gè)個(gè)事件,直到所有的事件都被處理完或某一特定的事件發(fā)生為止。NS2的核心部分是一個(gè)離散事件模擬引擎。NS中有一個(gè)“調(diào)度器”(Scheduler)類,負(fù)責(zé)記錄當(dāng)時(shí)時(shí)間,調(diào)度網(wǎng)絡(luò)事件隊(duì)列中的事件,并提供函數(shù)產(chǎn)生新事件,指定事件發(fā)生的時(shí)【1】間。1.2NS2中豐富的
5、構(gòu)件庫(kù)有了這個(gè)離散事件模擬引擎,原則上用戶可以對(duì)任何系統(tǒng)進(jìn)行模擬,而不限于通信網(wǎng)絡(luò)系統(tǒng)。用戶可以自己完成對(duì)所要研究的系統(tǒng)的建模工作,編寫(xiě)各種事件的處理代碼,然后利用這個(gè)離散事件模擬器來(lái)完成對(duì)這個(gè)模型的模擬。然而,這樣做不能發(fā)揮NS2的優(yōu)勢(shì),不符合NS2設(shè)計(jì)者的本意。針對(duì)網(wǎng)絡(luò)模擬,NS2已經(jīng)預(yù)先做了大量的模型化工作。NS2對(duì)網(wǎng)絡(luò)系統(tǒng)中一些通用的實(shí)體已經(jīng)進(jìn)行了建模,例如鏈路、隊(duì)列、分組、節(jié)點(diǎn)等,并用對(duì)象來(lái)實(shí)現(xiàn)了這些實(shí)體的特性和功能,這就是NS2的構(gòu)件庫(kù)。相對(duì)于一般的離散事件模擬器來(lái)說(shuō),NS2的優(yōu)勢(shì)就在于它有
6、豐富的構(gòu)件庫(kù),而且這些對(duì)象易于組合,易于擴(kuò)展。用戶可以充分利用這些已有的對(duì)象,進(jìn)行少量的擴(kuò)展,組合出所要研究的網(wǎng)絡(luò)系統(tǒng)的模型,然后進(jìn)行模擬。-1-http://www.paper.edu.cn這樣就大大減輕了進(jìn)行網(wǎng)絡(luò)模擬研究的工作量,提高了效率。圖1給出了NS2構(gòu)件庫(kù)的部分類層次結(jié)構(gòu)。TclObjectNsObjectConnectClassifieorrAddrClReplicMcastClQueueAgentTraceassifieratorassifierTrace/DropTEnqailDela
7、yTrace/DnqAgent/Agent/Trace/TCPMessageHopREDTrace/AgentMessage/DropRenoProberNewReno圖1NS2構(gòu)件庫(kù)(部分)NS2的構(gòu)件庫(kù)所支持的網(wǎng)絡(luò)類型包括廣域網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)、衛(wèi)星通信網(wǎng)等,所支持的路由方式包括層次路由、動(dòng)態(tài)路由、多播路由等。NS2還提供了跟蹤和監(jiān)測(cè)的對(duì)象,可以把網(wǎng)絡(luò)系統(tǒng)中的狀態(tài)和事件記錄下來(lái)以便分析。另外,NS2的構(gòu)建庫(kù)中還提供了大量的數(shù)學(xué)方面的支持,包括隨機(jī)數(shù)產(chǎn)生、隨機(jī)變量、積分等。1.3分裂對(duì)象模型NS2
8、的構(gòu)件庫(kù)是用兩種面向?qū)ο蟮恼Z(yǔ)言編寫(xiě)的:C++和Otcl。C++是廣為人知的高級(jí)程序設(shè)計(jì)語(yǔ)言,然而,Otcl對(duì)于大多數(shù)人來(lái)講都是陌生的,Otcl是MIT開(kāi)發(fā)的ObjectTcl,即Tcl面向?qū)ο蟮臄U(kuò)展。Tcl的全稱是Toolkitcommandlanguage,它是一種靈活的、交互式的腳本語(yǔ)言,Otcl則是在Tcl中加入了類、實(shí)例、繼承等面向?qū)ο蟮母拍?。NS2中的構(gòu)件通常都作為一個(gè)C++類來(lái)實(shí)現(xiàn),同時(shí)有一個(gè)Otcl類與之對(duì)應(yīng)。用戶通過(guò)編寫(xiě)Ot