出版時(shí)間:2010年05月 出版社:人民郵電出版社 作者:黃化吉 頁數(shù):256
Tag標(biāo)簽:無
前言
以移動(dòng)通信網(wǎng)絡(luò)和互聯(lián)網(wǎng)為代表的信息通信網(wǎng)絡(luò),已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚牟糠帧P畔⒕W(wǎng)絡(luò)技術(shù)仍然在不斷地完善和發(fā)展,大量的工程師和各類研究人員在這一領(lǐng)域工作。在進(jìn)行網(wǎng)絡(luò)的規(guī)劃設(shè)計(jì)、網(wǎng)絡(luò)協(xié)議的開發(fā)、網(wǎng)絡(luò)路由交換與終端設(shè)備的研制等與網(wǎng)絡(luò)技術(shù)研究有關(guān)的過程中,需要做大量的實(shí)驗(yàn),由于存在各種條件的限制,不是所有的實(shí)驗(yàn)都能夠通過物理實(shí)現(xiàn)的方法進(jìn)行,于是基于計(jì)算機(jī)的網(wǎng)絡(luò)模擬和協(xié)議仿真成為信息網(wǎng)絡(luò)技術(shù)研究的重要手段。目前已經(jīng)有多種網(wǎng)絡(luò)模擬的軟件,其中NS以其源代碼公開、軟件模擬平臺(tái)免費(fèi)而獲得廣泛的應(yīng)用,因?yàn)橛写罅康难芯咳藛T使用,人們比較容易獲得針對(duì)許多特定應(yīng)用的共享仿真軟件。經(jīng)過人們不斷地補(bǔ)充完善,該軟件已經(jīng)成為學(xué)術(shù)界廣泛用于網(wǎng)絡(luò)技術(shù)研究和開發(fā)的模擬工具,所獲得的結(jié)果有很好的仿真效果,同時(shí)也很容易進(jìn)行交流。然而,也正因?yàn)镹S是一個(gè)非商業(yè)的軟件,其用戶界面不可能像商業(yè)軟件那么友好,有關(guān)的幫助文件和介紹說明的資料也不盡完善,能夠系統(tǒng)介紹和涵蓋NS使用的各個(gè)方面的書籍相對(duì)也不多,此要熟練掌握NS,并將其作為工具進(jìn)行網(wǎng)絡(luò)技術(shù)的研究開發(fā)并不容易。除上面所說的原因之一,主要問題還在于要真正掌握NS,需要有比較綜合的知識(shí):使用NS需要了解TCI語言和C++兩種編程語言,特別是對(duì)C++編程需要有較高的熟練程度;另外,NS作為一個(gè)網(wǎng)絡(luò)模擬的工具,要使用好它,還要對(duì)所要模擬的網(wǎng)絡(luò)的協(xié)議有較深入的理解和認(rèn)識(shí)。這對(duì)于一個(gè)初學(xué)者來說并非易事。另外,即使對(duì)于有一定編程經(jīng)驗(yàn)的讀者,在學(xué)習(xí)NS的過程中,在缺乏指導(dǎo)的情況下,在進(jìn)行新的協(xié)議開發(fā)的仿真過程中,也會(huì)遇到各種難以預(yù)測(cè)的困難。《NS網(wǎng)絡(luò)模擬和協(xié)議仿真》在編撰過程中,充分考慮了上述問題以及不同水平的讀者的要求,《NS網(wǎng)絡(luò)模擬和協(xié)議仿真》有如下幾方面的特點(diǎn):(1)考慮到初學(xué)的讀者對(duì)NS軟件的入門的需要,《NS網(wǎng)絡(luò)模擬和協(xié)議仿真》從基本的NS平臺(tái)安裝、指令功能的介紹,到如何移植和開發(fā)網(wǎng)絡(luò)協(xié)議,遵循由淺入深的原則,通過各種示例,全面細(xì)致地解析了NS的相關(guān)知識(shí)點(diǎn),對(duì)書中所有出現(xiàn)的源代碼,均給出盡可能詳細(xì)的解析。(2)使用通俗易懂的語言和豐富的例子,深入地介紹NS的內(nèi)部架構(gòu)。通過具體的實(shí)例和詳細(xì)的源代碼分析,向讀者詳細(xì)介紹了NS中0TCI與C++的關(guān)系,讓讀者對(duì)NS的影像對(duì)象機(jī)制有深刻的理解,幫助讀者系統(tǒng)掌握NS中的層次關(guān)系。(3)重點(diǎn)介紹了常用的代碼調(diào)試工具GDB,通過幾個(gè)調(diào)試實(shí)例詳細(xì)分析了NS模擬仿真過程中可能出現(xiàn)的常見錯(cuò)誤,以及出現(xiàn)這些錯(cuò)誤的可能的原因,為讀者在程序開發(fā)的調(diào)試階段解決棘手的問題提供基本的方法。(4)《NS網(wǎng)絡(luò)模擬和協(xié)議仿真》在人民郵電出版社的網(wǎng)站上給出了與《NS網(wǎng)絡(luò)模擬和協(xié)議仿真》配套的在NS上開發(fā)基于簡(jiǎn)化IEEE 802.16dMesh協(xié)議的具體實(shí)例,給出了實(shí)現(xiàn)其基本功能的、具有詳細(xì)注釋的完整源代碼。在這個(gè)示例中融合了在NS上開發(fā)大型網(wǎng)絡(luò)協(xié)議的流程和具體方法,幫助讀者從較高的層次去理解和感受使用NS軟件開發(fā)一套完整協(xié)議的過程。讀者也可以在此基礎(chǔ)上進(jìn)行無線Mesh網(wǎng)協(xié)議的移植和開發(fā)。
內(nèi)容概要
本書介紹了利用NS軟件進(jìn)行網(wǎng)絡(luò)模擬和協(xié)議仿真的方法,內(nèi)容既包括NS的安裝、Tcl/Otcl語言、NS架構(gòu)、仿真入門等基礎(chǔ)知識(shí),又涵蓋了協(xié)議的移植、代碼調(diào)試以及協(xié)議開發(fā)等有關(guān)知識(shí)。書中不僅給出了大量具有詳盡注解、討論NS基本功能的源代碼程序,而且在人民郵電出版社網(wǎng)站(www.ptpress.com.cn)上提供了一個(gè)配套的無線Mesh網(wǎng)協(xié)議開發(fā)和仿真的完整實(shí)例以及本書的示例源代碼?! ”緯m合利用NS軟件從事網(wǎng)絡(luò)研究、開發(fā)和性能模擬的工程技術(shù)人員閱讀,也可作為網(wǎng)絡(luò)仿真的培訓(xùn)教程,以及高等院校與網(wǎng)絡(luò)課程相關(guān)的實(shí)驗(yàn)教程。
書籍目錄
第一篇 NS的基本知識(shí) 第1章 結(jié)論 1.1 NS的背景 1.2 網(wǎng)絡(luò)模擬涉及的主要知識(shí)點(diǎn) 1.3 使用NS進(jìn)行網(wǎng)絡(luò)模擬的基本過程 本章小結(jié) 第2章 NS的安裝和配置 2.1 Linux操作系統(tǒng)環(huán)境 2.1.1 Ubuntu安裝完成后的設(shè)置 2.1.2 Ubuntu上NS必要工具和庫文件的安裝 2.2 NS安裝 2.2.1 環(huán)境變量的設(shè)置 2.2.2 安裝結(jié)果的驗(yàn)證 2.2.3 NS安裝過程可能出現(xiàn)的錯(cuò)誤分析 2.3 使用多個(gè)NS版本 本章小結(jié) 第3章 Tcl/OTcl語言簡(jiǎn)介 3.1 Tcl 3.1.1 Tcl編程環(huán)境 3.1.2 基本語法 3.1.3 字符串處理 3.1.4 數(shù)學(xué)運(yùn)算 3.1.5 流程控制語句 3.1.6 列表 3.1.7 過程 3.1.8 數(shù)組 3.2 OTcl 3.2.1 類和對(duì)象 3.2.2 類的成員函數(shù)和成員變量 3.2.3 類的構(gòu)造函數(shù)和析構(gòu)函數(shù) 3.2.4 類的繼承 本章小結(jié) 第二篇 NS的架構(gòu)和網(wǎng)絡(luò)模擬入門 第4章 NS網(wǎng)絡(luò)模擬入門 4.1 簡(jiǎn)單有線網(wǎng)絡(luò)模型模擬 4.1.1 網(wǎng)絡(luò)拓?fù)洹 ?.1.2 模擬仿真腳本代碼 4.1.3 仿真的結(jié)果分析 4.2 簡(jiǎn)單無線網(wǎng)絡(luò)模型仿真 4.2.1 網(wǎng)絡(luò)拓?fù)洹 ?.2.2 模擬仿真腳本代碼 4.2.3 仿真結(jié)果分析 4.3 有線+無線混合模擬 4.3.1 網(wǎng)絡(luò)拓?fù)洹 ?.3.2 模擬仿真腳本代碼 4.4.3 仿真結(jié)果分析 本章小結(jié) 第5章 NS的架構(gòu) 5.1 NS的模擬實(shí)現(xiàn)機(jī)制 5.1.1 分裂對(duì)象模型 5.1.2 離散事件模擬 5.2 OTcl與C++的交互 5.3 NS中的層次關(guān)系 5.3.1 層面對(duì)應(yīng)關(guān)系 5.3.2 分組的流程 5.3.3 使用NS研究適合的層面 本章小結(jié) 第6章 NS的基本組件和使用第三篇 NS仿真輔助及仿真結(jié)果分析工具 第7章 NS仿真輔助工具 第8章 gawk語言簡(jiǎn)介 第9章 gnupiot繪圖 第10章 Trace文件分析第四篇 NS學(xué)習(xí)進(jìn)階 第11章 洪泛路由協(xié)議的移植 第12章 無線節(jié)點(diǎn)通信范圍的設(shè)置 第13章 擴(kuò)展NS:業(yè)務(wù)流的流ID和QoS參數(shù)的添加方法 第14章 流量發(fā)生器的原理和流量發(fā)生器的構(gòu)建 第15章 基于NS的新協(xié)議和算法開發(fā)第五篇 代碼調(diào)試 第16章 調(diào)試工具 第17章 NS調(diào)試經(jīng)驗(yàn)附錄A 802.16d Mesh工作模式簡(jiǎn)介附錄B 縮略語表 參考文獻(xiàn)
章節(jié)摘錄
插圖:用NS進(jìn)行仿真,使用者需要了解掌握3個(gè)方面的知識(shí):掌握網(wǎng)絡(luò)模擬工具的使用,具有一定的C++編程能力以及熟悉所研究的協(xié)議。首先,使用者必須能夠比較熟練地掌握網(wǎng)絡(luò)模擬工具的使用。無論選用何種仿真工具:OPNET、OMNET或是NS,都需要熟悉其使用方法。俗話說“工欲善其事,必先利其器”,工具是用于開發(fā)的,如果對(duì)工具尚不甚了解,當(dāng)然難言利用其開展工作。當(dāng)選用NS進(jìn)行網(wǎng)絡(luò)協(xié)議開發(fā)和仿真時(shí),一個(gè)熟悉NS的人有可能幾天或者十幾天就可以移植并調(diào)試完成一個(gè)協(xié)議的源碼,但對(duì)一個(gè)生手來說,這將是一個(gè)漫長(zhǎng)的過程。其次,使用者需要掌握一定的編程能力。作為商業(yè)的網(wǎng)絡(luò)仿真軟件,OPNET和OMNer都需要使用者具備一定的C/C++編程能力,掌握NS的要求則更高。使用NS進(jìn)行網(wǎng)絡(luò)仿真需先分析仿真涉及的層次:基于OTcl編程的層次——若只利用NS自身已有的網(wǎng)絡(luò)組件就可以完成仿真,則無須修改底層C++代碼,這時(shí)只需編寫OTcl腳本;基于C++和OTcl聯(lián)合編程的層次——NS自身沒有使用者需要的網(wǎng)絡(luò)組件或NS現(xiàn)有的網(wǎng)絡(luò)組件不夠完善,需要在底層編寫C++代碼完成組件的添加或修改,然后再編寫0TCl腳本仿真。大多數(shù)情況下的仿真任務(wù)(特別是利用NS進(jìn)行協(xié)議的開發(fā))都是后一種情形,所以對(duì)C++做相對(duì)深入的了解是不可少的。NS只是我們研究過程中使用的工具,當(dāng)我們進(jìn)行網(wǎng)絡(luò)協(xié)議的開發(fā)和仿真時(shí),首先要對(duì)網(wǎng)絡(luò)協(xié)議有充分的了解,如果我們對(duì)所研究的協(xié)議內(nèi)容都尚不熟悉,當(dāng)然就不可能知道如何設(shè)計(jì)軟件的模塊,或者不可能清楚可對(duì)NS現(xiàn)有的哪些協(xié)議進(jìn)行改造利用,獲得新的協(xié)議功能模塊。那樣的話,即使了解了工具也難以入手做網(wǎng)絡(luò)協(xié)議的仿真和開發(fā)。明白網(wǎng)絡(luò)仿真需要掌握的知識(shí)點(diǎn)內(nèi)容對(duì)我們是很有幫助的。有一些NS使用者,想移植他人的代碼,可能會(huì)由于移植步驟有誤而導(dǎo)致失敗;有一些NS使用者想修改現(xiàn)有的一些協(xié)議,需要添加一些代碼,語法錯(cuò)誤會(huì)導(dǎo)致修改的失敗;也有一些人對(duì)所需開發(fā)的協(xié)議沒有完全明了,當(dāng)然也難以成功。在使用NS時(shí),出現(xiàn)問題往往還是綜合性的,這實(shí)際上是很多人認(rèn)為NS很難學(xué)的一個(gè)主要原因。
編輯推薦
《NS網(wǎng)絡(luò)模擬和協(xié)議仿真》是由人民郵電出版社出版。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
NS網(wǎng)絡(luò)模擬和協(xié)議仿真 PDF格式下載