下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
[轉(zhuǎn)]一篇介紹NS2的很好的文章教標簽:雜談分類:關(guān)注ITNS是一種針對網(wǎng)絡(luò)技術(shù)的源代碼公開的、免費的軟件模擬平臺,研究人員使用它可以很容易的進行網(wǎng)絡(luò)技術(shù)的開發(fā),而且發(fā)展到今天,它所包含的模塊已經(jīng)非常豐富,幾乎涉及到了網(wǎng)絡(luò)技術(shù)的所有方面。所以,NS成了目前學術(shù)界廣泛使用的一種網(wǎng)絡(luò)模擬軟件。在每年國內(nèi)外發(fā)表的有關(guān)網(wǎng)絡(luò)技術(shù)的學術(shù)論文中,利用NS給出模擬結(jié)果的文章最多,通過這種方法得出的研究結(jié)果也是被學術(shù)界所普遍認可的,此外,NS也可作為一種輔助教學的工具,已被廣泛應(yīng)用在了網(wǎng)絡(luò)技術(shù)的教學方面。因此,目前在學術(shù)界和教育界,有大量的人正在使用或試圖使用NS。然而,對初學者來說,NS是非常難于掌握的,一般人從學習NS到上手至少需要半年多時間。原因是多方面的:一方面,NS內(nèi)容龐雜,隨軟件所提供的手冊更新不夠快,初學者閱讀起來非常困難;另一方面,使用NS還要掌握其它很多必備的相關(guān)知識以及相關(guān)工具,這會使初學者感到無從入手;有的使用者可能還不了解網(wǎng)絡(luò)模擬的過程或是對NS軟件的機制缺乏理解,這也影響了對NS的掌握。另外,不論在國外還是國內(nèi),還沒有一本書能集中回答和解決這些問題,這也是NS難于被掌握的一個重要原因。1、NS2簡介NS2(NetworkSimulator,version2)是一種面向?qū)ο蟮木W(wǎng)絡(luò)仿真器,本質(zhì)上是一個離散事件模擬器。由UCBerkeley開發(fā)而成。它本身有一個虛擬時鐘,所有的仿真都由離散事件驅(qū)動的。目前NS2可以用于仿真各種不同的IP網(wǎng),已經(jīng)實現(xiàn)的一些仿真有:網(wǎng)絡(luò)傳輸協(xié)議,比如TCP和UDP;業(yè)務(wù)源流量產(chǎn)生器,比如FTP,Telnet,WebCBR和VBR;路由隊列管理機制,比如Droptail,RED和CBQ;路由算法,比如Dijkstra等。NS2也為進行局域網(wǎng)的仿真而實現(xiàn)了多播以及一些MAC子層協(xié)議。NS2使用C++和Otcl作為開發(fā)語言。NS可以說是Otcl的腳本解釋器,它包含仿真事件調(diào)度器、網(wǎng)絡(luò)組件對象庫以及網(wǎng)絡(luò)構(gòu)建模型庫等。事件調(diào)度器計算仿真時間,并且激活事件隊列中的當前事件,執(zhí)行一些相關(guān)的事件,網(wǎng)絡(luò)組件通過傳遞分組來相互通信,但這并不耗費仿真時間。所有需要花費仿真時間來處理分組的網(wǎng)絡(luò)組件都必須要使用事件調(diào)度器。它先為這個分組發(fā)出一個事件,然后等待這個事件被調(diào)度回來之后,才能做下一步的處理工作。事件調(diào)度器的另一個用處就是計時。NS是用Otcl和C++編寫的。由于效率的原因,NS將數(shù)據(jù)通道和控制通道的實現(xiàn)相分離。為了減少分組和事件的處理時間,事件調(diào)度器和數(shù)據(jù)通道上的基本網(wǎng)絡(luò)組件對象都使用C++寫出并編譯的,這些對象通過映射對Otcl解釋器可見。當仿真完成以后,NS將會產(chǎn)生一個或多個基于文本的跟蹤文件。只要在Tcl腳本中加入一些簡單的語句,這些文件中就會包含詳細的跟蹤信息。這些數(shù)據(jù)可以用于下一步的分析處理,也可以使用NAM將整個仿真過程展示出來。2、使用NS進行網(wǎng)絡(luò)仿真的方法和一般過程。進行網(wǎng)絡(luò)仿真前,首先分析仿真涉及哪個層次,NS仿真分兩個層次:一個是基于OTcl編程的層次。利用NS已有的網(wǎng)絡(luò)元素實現(xiàn)仿真,無需修改NS本身,只需編寫OTcl腳本。另一個是基于C++和OTcl編程的層次。如果NS中沒有所需的網(wǎng)絡(luò)元素,則需要對NS進行擴展,添加所需網(wǎng)絡(luò)元素,即添加新的C++和OTcl類,編寫新的OTcl腳本。假設(shè)用戶已經(jīng)完成了對NS的擴展,或者NS所包含的構(gòu)件已經(jīng)滿足了要求,那么進行一次仿真的步驟大致如下:(1)開始編寫OTcl腳本。首先配置模擬網(wǎng)絡(luò)拓撲結(jié)構(gòu),此時可以確定鏈路的基本特性,如延遲、帶寬和丟失策略等。(2)建立協(xié)議代理,包括端設(shè)備的協(xié)議綁定和通信業(yè)務(wù)量模型的建立。(3)配置業(yè)務(wù)量模型的參數(shù),從而確定網(wǎng)絡(luò)上的業(yè)務(wù)量分布。(4)設(shè)置Trace對象。NS通過Trace文件來保存整個模擬過程。仿真完后,用戶可以對Trace文件進行分析研究。(5)編寫其他的輔助過程,設(shè)定模擬結(jié)束時間,至此OTcl腳本編寫完成。(6)用NS解釋執(zhí)行剛才編寫的OTcl腳本。(7)對Trace文件進行分析,得出有用的數(shù)據(jù)。(8)調(diào)整配置拓撲結(jié)構(gòu)和業(yè)務(wù)量模型,重新進行上述模擬過程。NS2采用兩級體系結(jié)構(gòu),為了提高代碼的執(zhí)行效率,NS2將數(shù)據(jù)操作與控制部分的實現(xiàn)相分離,事件調(diào)度器和大部分基本的網(wǎng)絡(luò)組件對象后臺使用C++實現(xiàn)和編譯,稱為編譯層,主要功能是實現(xiàn)對數(shù)據(jù)包的處理;NS2的前端是一個OTcl解釋器,稱為解釋層,主要功能是對模擬環(huán)境的配置、建立。從用戶角度看,NS2是一個具有仿真事件驅(qū)動、網(wǎng)絡(luò)構(gòu)件對象庫和網(wǎng)絡(luò)配置模塊庫的OTcl腳本解釋器。NS2中編譯類對象通過OTcl連接建立了與之對應(yīng)的解釋類對象,這樣用戶間能夠方便地對C++對象的函數(shù)進行修改與配置,充分體現(xiàn)了仿真器的一致性和靈活性。3、NS2的功能模塊NS2仿真器封裝了許多功能模塊,最基本的是節(jié)點、鏈路、代理、數(shù)據(jù)包格式等等,下面分別來介紹一下各個模塊。(1)事件調(diào)度器:目前NS2提供了四種具有不同數(shù)據(jù)結(jié)構(gòu)的調(diào)度器,分別是鏈表、堆、日歷表和實時調(diào)度器。(2)節(jié)點(node):是由TclObject對象組成的復(fù)合組件,在NS2中可以表示端節(jié)點和路由器。(3)鏈路(link):由多個組件復(fù)合而成,用來連接網(wǎng)絡(luò)節(jié)點。所有的鏈路都是以隊列的形式來管理分組的到達、離開和丟棄。(4)代理(agent):負責網(wǎng)絡(luò)層分組的產(chǎn)生和接收,也可以用在各個層次的協(xié)議實現(xiàn)中。每個agent連接到一個網(wǎng)絡(luò)節(jié)點上,由該節(jié)點給它分配一個端口號。(5)包(packet):由頭部和數(shù)據(jù)兩部分組成。一般情況下,packet只有頭部、沒有數(shù)據(jù)部分。4、NS2的軟件構(gòu)成NS2包含Tcl/Tk,OTcl,NS,Tclcl。其中Tcl是一個開放腳本語言,用來對NS2進行編程;Tk是Tcl的圖形界面開發(fā)工具,可幫助用戶在圖形環(huán)境下開發(fā)圖形界面;OTcl是基于Tcl/Tk的面向?qū)ο髷U展,有自己的類層次結(jié)構(gòu);NS2為本軟件包的核心,是面向?qū)ο蟮姆抡嫫?,用C++編寫,以O(shè)Tcl解釋器作為前端;Tclcl則提供NS2和OTcl的接口,使對象和變量出現(xiàn)在兩種語言中。為了直觀的觀察和分析仿真結(jié)果,NS2提供了可選的Xgraphy、可選件Nam。5、NS現(xiàn)有的仿真元素從網(wǎng)絡(luò)拓撲仿真、協(xié)議仿真和通信量仿真等方面介紹NS的相應(yīng)元素:(1)網(wǎng)絡(luò)拓撲主要包括節(jié)點、鏈路。NS的節(jié)點由一系列的分類器(Classifier,如地址分類器等)組成,而鏈路由一系列的連接器(Connector)組成。(2)在節(jié)點上,配置不同的代理可以實現(xiàn)相應(yīng)的協(xié)議或其它模型仿真。如NS的TCP代理,發(fā)送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACKoTCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,還提供有UDP代理及接收代理Null(負責通信量接收)、LossMonitor(通信量接收并維護一些接收數(shù)據(jù)的統(tǒng)計)。(3)網(wǎng)絡(luò)的路由配置通過對節(jié)點附加路由協(xié)議而實現(xiàn)。NS中有三種單播路由策略:靜態(tài)、會話、動態(tài)。(4)在鏈路上,可以配置帶寬、時延和丟棄模型。NS支持:Drop-tail(FIFO)隊列、RED緩沖管、CBO(包括優(yōu)先權(quán)和Round-robin調(diào)度)。各種公平隊列包括:FQ,SFQ,DRR等。(5)通信量仿真方面,NS提供了許多通信應(yīng)用,如FTP,它產(chǎn)生較大的峰值數(shù)據(jù)傳輸;Telnet則根據(jù)相應(yīng)文件隨機選取傳輸數(shù)據(jù)的大小。此外,NS提供了四種類型的通信量產(chǎn)生器:EXPOO,根據(jù)指數(shù)分布(On/Of
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學考試題庫
- 2024年度山西省高校教師資格證之高等教育法規(guī)高分通關(guān)題型題庫附解析答案
- 第七章 膳食營養(yǎng)指導與疾病預(yù)防課件
- 二年級數(shù)學(上)計算題專項練習匯編
- 保密工作培訓心得體會
- 2020屆中考科學(杭州版)復(fù)習同步練習題:第三篇-主題3-第六單元-電流熱效應(yīng)和電功率的測量
- 購買保險欺騙退還本金指導案例
- 高級室內(nèi)裝飾設(shè)計人員理論知識試題求答案(5篇模版)
- 2024年專業(yè)石材安裝服務(wù)協(xié)議模板
- 2024年度德邦速運協(xié)議條款明細
- 期中測評試卷(1-4單元)(試題)-2024-2025學年人教版三年級數(shù)學上冊
- GB/T 15822.1-2024無損檢測磁粉檢測第1部分:總則
- 新質(zhì)生產(chǎn)力解讀課件
- 批發(fā)零售大個體 E204-3批發(fā)和零售業(yè)產(chǎn)業(yè)活動單位(個體經(jīng)營戶)商品銷售和庫存
- 異辛酸鈉合成工藝及建設(shè)項目
- 西電計組課程設(shè)計報告
- 汽車買賣合同工商示范文本
- SC鍍鋅鋼管緊定式連接施工工法(共12頁)
- 梅克爾憩室PPT參考幻燈片
- 動車組火災(zāi)檢測(報警)系統(tǒng)
- 脛腓骨骨折中醫(yī)護理方案
評論
0/150
提交評論