![無線傳感器網(wǎng)絡(luò) 第4章_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/27/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e1.gif)
![無線傳感器網(wǎng)絡(luò) 第4章_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/27/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e2.gif)
![無線傳感器網(wǎng)絡(luò) 第4章_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/27/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e3.gif)
![無線傳感器網(wǎng)絡(luò) 第4章_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/27/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e4.gif)
![無線傳感器網(wǎng)絡(luò) 第4章_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/27/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e/60c8b5a0-2a72-4749-b55d-a09d7aec5c1e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器第4章 節(jié)點(diǎn)編輯器4.1 節(jié)點(diǎn)編輯器對象和操作節(jié)點(diǎn)編輯器對象和操作 4.2 節(jié)點(diǎn)編輯器開發(fā)界面節(jié)點(diǎn)編輯器開發(fā)界面 4.3 節(jié)點(diǎn)編輯器應(yīng)用舉例節(jié)點(diǎn)編輯器應(yīng)用舉例M/M/1隊(duì)列仿真隊(duì)列仿真 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器知識點(diǎn):知識點(diǎn):節(jié)點(diǎn)編輯器的對象和操作節(jié)點(diǎn)編輯器主菜單節(jié)點(diǎn)編輯器彈出菜單節(jié)點(diǎn)編輯器工具欄本章導(dǎo)讀本章導(dǎo)讀:OPNET中的網(wǎng)絡(luò)模型主要由兩種對象構(gòu)成:通信節(jié)點(diǎn)和通信鏈路。這些對象的大部分內(nèi)部結(jié)構(gòu)對于OPNET網(wǎng)絡(luò)級編輯是不可見的。本章主要學(xué)習(xí)通過節(jié)點(diǎn)編輯器開發(fā)通信節(jié)點(diǎn)內(nèi)部結(jié)構(gòu)的過程,并通過構(gòu)建一個具有M/M/1隊(duì)列性質(zhì)的實(shí)際網(wǎng)絡(luò)仿真來進(jìn)一步學(xué)
2、習(xí)節(jié)點(diǎn)編輯器的使用。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.1 節(jié)點(diǎn)編輯器對象和操作節(jié)點(diǎn)編輯器對象和操作在局域網(wǎng)中,帶網(wǎng)絡(luò)接口的一臺計算機(jī)構(gòu)成網(wǎng)絡(luò)中的一個節(jié)點(diǎn);在衛(wèi)星網(wǎng)絡(luò)中,每一顆衛(wèi)星、每一個使用碟型衛(wèi)星天線的地球站和微波中繼站等都是一個節(jié)點(diǎn);在公司的電話網(wǎng)絡(luò)中,每個固定電話設(shè)備、每個用戶小交換機(jī)也都是一個節(jié)點(diǎn)?;\統(tǒng)地講,節(jié)點(diǎn)是通信中的一個設(shè)施或資源,數(shù)據(jù)在節(jié)點(diǎn)中產(chǎn)生、傳輸、接收和進(jìn)行處理。節(jié)點(diǎn)由硬件和軟件兩部分組成。一個節(jié)點(diǎn)至少應(yīng)具有以下六種功能:第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器 創(chuàng)建功能; 傳輸數(shù)據(jù)功能; 接收數(shù)據(jù)功能; 存儲功能; 內(nèi)部路由功能; 內(nèi)部處理、維護(hù)和升級功能。節(jié)點(diǎn)編輯器
3、的對象就是網(wǎng)絡(luò)中的設(shè)備節(jié)點(diǎn)模型。節(jié)點(diǎn)編輯器用來指定節(jié)點(diǎn)模型的內(nèi)部結(jié)構(gòu)。這些設(shè)備模型可以作為網(wǎng)絡(luò)域中的節(jié)點(diǎn)對象使用(如計算機(jī)、數(shù)據(jù)包交換機(jī)和網(wǎng)橋等)。除了指定內(nèi)部結(jié)構(gòu)外,節(jié)點(diǎn)模型的開發(fā)者還可以定義節(jié)點(diǎn)模型的接口,以方便節(jié)點(diǎn)的使用者使用。節(jié)點(diǎn)模型的接口包括節(jié)點(diǎn)模型的屬性和統(tǒng)計量,這些屬性和統(tǒng)計量可以是節(jié)點(diǎn)模型本身的,也可以來自對節(jié)點(diǎn)下層對象屬性和統(tǒng)計量的提升。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器在不同的仿真系統(tǒng)中,網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)的復(fù)雜性和節(jié)點(diǎn)的活動范圍可能存在很大差別。簡單的終端(包括通過串行線路連接到客戶計算機(jī)的終端)是星型網(wǎng)絡(luò)中的節(jié)點(diǎn);國家主干網(wǎng)上的公用包交換網(wǎng)絡(luò)中心也可看作一個大型星型網(wǎng)絡(luò)的節(jié)
4、點(diǎn)。OPNET可以創(chuàng)建和仿真從小型辦公室網(wǎng)絡(luò)節(jié)點(diǎn)到洲際和國家主干鏈路節(jié)點(diǎn)的不同等級的網(wǎng)絡(luò)通信節(jié)點(diǎn),所有節(jié)點(diǎn)都可以歸類為幾種典型的節(jié)點(diǎn)模型,如表4-1所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器表表4-1 典型節(jié)點(diǎn)模型典型節(jié)點(diǎn)模型 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器為了建立實(shí)際可用的通信網(wǎng)絡(luò)仿真模型并保證整個網(wǎng)絡(luò)仿真行為的準(zhǔn)確性,OPNET必須對實(shí)際節(jié)點(diǎn)的內(nèi)部功能進(jìn)行充分和準(zhǔn)確的模擬。對于節(jié)點(diǎn)的多樣性,OPNET提供足夠的能力來定制任何形式的通信節(jié)點(diǎn)。OPNET還支持節(jié)點(diǎn)內(nèi)部結(jié)構(gòu)的重用,在OPNET中共享一個設(shè)計開發(fā)團(tuán)隊(duì)不同成員的開發(fā)成果十分方便。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.1.1
5、節(jié)點(diǎn)編輯器對象節(jié)點(diǎn)編輯器對象OPNET的節(jié)點(diǎn)建模類似于搭積木,這種方式廣泛地應(yīng)用于建模系統(tǒng)中,為多數(shù)工程師所熟悉。我們知道,數(shù)據(jù)通信中的OSI參考模型也使用搭積木的方式定義,每一塊積木對應(yīng)于一個不同的協(xié)議層次。OPNET采用與OSI參考模型相似的分層結(jié)構(gòu),將節(jié)點(diǎn)模型分解成不同層次的塊(Block)對象,以便與協(xié)議模型進(jìn)行良好匹配。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器組成節(jié)點(diǎn)模型的不同類型的塊對象通常稱為模塊(Module)。每一個模塊包含一系列輸入和輸出、一些狀態(tài)存儲器以及通過模塊輸入和狀態(tài)存儲器計算其輸出值的計算方法。在節(jié)點(diǎn)級,模塊都是黑匣子,內(nèi)部結(jié)構(gòu)對用戶不可見,但用戶可以通過配置其屬性的
6、方式來控制模塊的行為。節(jié)點(diǎn)模型中的每一個模塊代表了節(jié)點(diǎn)操作中的一個特定功能。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器節(jié)點(diǎn)內(nèi)的數(shù)據(jù)流通過多種類型的連接線在模塊間進(jìn)行交換。節(jié)點(diǎn)模型指定了不同模塊的輸入和輸出接口應(yīng)怎樣通過連接線對象進(jìn)行連接。有兩種類型的連接線對象,一種用于承載數(shù)據(jù)包,另一種用于傳輸單獨(dú)數(shù)據(jù)。承載數(shù)據(jù)包的連接線稱為數(shù)據(jù)包流,模塊將數(shù)據(jù)包輸出到數(shù)據(jù)包流上來發(fā)送數(shù)據(jù)包,或從數(shù)據(jù)包流上接收數(shù)據(jù)。傳輸單獨(dú)數(shù)據(jù)的連接線稱為統(tǒng)計線,模塊通過向統(tǒng)計線輸出統(tǒng)計量來發(fā)送單獨(dú)的統(tǒng)計數(shù)值,或通過統(tǒng)計線接收輸入統(tǒng)計量。表4-2描述了用于構(gòu)建節(jié)點(diǎn)模型的主要模型對象,包括各種模塊和連接線。第第4 4章章 節(jié)點(diǎn)編輯器
7、節(jié)點(diǎn)編輯器表表4-2 節(jié)點(diǎn)模型對象節(jié)點(diǎn)模型對象 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器從功能的角度看,模塊代表了節(jié)點(diǎn)硬件或軟件不同功能域的實(shí)現(xiàn)。對于硬件實(shí)現(xiàn)的功能域,整個硬件系統(tǒng)劃分為許多獨(dú)立的硬件模塊,每個硬件模塊對應(yīng)于一個特定的硬件子系統(tǒng)。硬件子系統(tǒng)之間通過并行總線或串行線路進(jìn)行連接。對于軟件實(shí)現(xiàn)的功能域,每個軟件模塊對應(yīng)于一個軟件子層。這些軟件子層之間通過函數(shù)調(diào)用或共享內(nèi)存的方式進(jìn)行進(jìn)程間通信和數(shù)據(jù)傳遞。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器1. 模塊定義模塊定義模塊代表了通信節(jié)點(diǎn)中用于數(shù)據(jù)生成、數(shù)據(jù)銷毀和數(shù)據(jù)處理的部分。在OPNET中,根據(jù)在節(jié)點(diǎn)中功能的
8、不同,模塊可以被分為五種類型:處理機(jī)、隊(duì)列、數(shù)據(jù)包發(fā)生器、收信機(jī)和發(fā)信機(jī)。其中,處理機(jī)、隊(duì)列和數(shù)據(jù)包發(fā)生器具有內(nèi)部節(jié)點(diǎn)功能,而發(fā)信機(jī)和收信機(jī)具有到外部數(shù)據(jù)傳輸鏈路的連接。處理機(jī)和隊(duì)列的行為可以在處理機(jī)和隊(duì)列包含的進(jìn)程模型中進(jìn)行精確定義。其他模塊的行為只能通過設(shè)置其屬性值進(jìn)行修改。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器當(dāng)影響模塊狀態(tài)的外部事件發(fā)生時,該模塊內(nèi)部的算法被調(diào)用。這是OPNET事件驅(qū)動仿真機(jī)制的必然結(jié)果。例如,當(dāng)一個數(shù)據(jù)包到達(dá)模塊的某一個輸入流,或與模塊連接的某個統(tǒng)計量發(fā)生變化時,該模塊的處理機(jī)模型內(nèi)部算法被調(diào)用。有時模塊也可以自己安排其內(nèi)部算法被調(diào)用的時間。1) 處理機(jī)模塊處理機(jī)模塊是
9、節(jié)點(diǎn)模型中最重要的通用構(gòu)造模塊。處理機(jī)模塊的行為可以通過設(shè)置其包含的進(jìn)程模型的屬性值來指定。進(jìn)程模型可以響應(yīng)各種外部事件和中斷,它為處理機(jī)模塊提供特定的功能。處理機(jī)可以通過數(shù)據(jù)包流連接到其他模型,進(jìn)行數(shù)據(jù)包流的發(fā)送和接收。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器處理機(jī)模塊主要用來對數(shù)據(jù)包進(jìn)行一般性處理,該模塊處理數(shù)據(jù)包的一個典型過程是:通過數(shù)據(jù)包流從輸入流上接收數(shù)據(jù)包,處理該數(shù)據(jù)包,并通過輸出流將該數(shù)據(jù)包發(fā)送出去。處理機(jī)模塊處理完數(shù)據(jù)包后,輸出的數(shù)據(jù)包可能會有短暫延時,并且數(shù)據(jù)包的內(nèi)容也可能與輸入有所不同。處理機(jī)模塊通常用于模擬分層協(xié)議棧中單獨(dú)一層的實(shí)體。分層協(xié)議棧中的每一層協(xié)議實(shí)體都進(jìn)行該層的數(shù)
10、據(jù)處理,并通過對上層的接口向上層實(shí)體提供預(yù)定義的服務(wù)。在OPNET中,將一個處理機(jī)映射到協(xié)議對應(yīng)層的實(shí)體上,通過處理機(jī)間數(shù)據(jù)包流的連線來模擬數(shù)據(jù)的走向,通過處理機(jī)接口來模擬下層向上層提供的服務(wù)。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器為處理機(jī)模塊指定適當(dāng)?shù)倪M(jìn)程模型后,處理機(jī)模塊可以作為網(wǎng)絡(luò)流量發(fā)生器使用。在網(wǎng)絡(luò)流量發(fā)生器中,包含于進(jìn)程模型的用于流量配置的屬性(如到達(dá)時間間隔、數(shù)據(jù)包大小和數(shù)據(jù)到達(dá)的概率密度函數(shù)等)被提升到節(jié)點(diǎn)的處理機(jī)模塊屬性列表中。網(wǎng)絡(luò)流量發(fā)生器有多種標(biāo)準(zhǔn)類型,例如突發(fā)流量發(fā)生器和自相似流量發(fā)生器等。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器雖然處理機(jī)模塊經(jīng)常通過成對的數(shù)據(jù)流(輸入流和輸
11、出流)連接到其他模塊,但是并不總是如此。例如,節(jié)點(diǎn)可能將處理機(jī)模塊作為一個控制器。這時,處理機(jī)模塊通過統(tǒng)計線路或遠(yuǎn)端中斷直接與其他模塊通信。處理機(jī)模塊同樣可以作為數(shù)據(jù)源(發(fā)生器)或數(shù)據(jù)池使用,作為數(shù)據(jù)源或數(shù)據(jù)池的處理機(jī)模塊一般只有一個輸出流,或只有一個輸入流。有時,處理機(jī)模塊甚至根本不需要使用或處理任何數(shù)據(jù)包流,這也是可能的。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器節(jié)點(diǎn)模型既可以使用處理機(jī)模塊,又可以使用隊(duì)列模塊來實(shí)現(xiàn)一般的數(shù)據(jù)處理。通常,節(jié)點(diǎn)模塊在響應(yīng)數(shù)據(jù)包到達(dá)中斷或數(shù)據(jù)包生成中斷時就能對數(shù)據(jù)包進(jìn)行完全處理的情況下,應(yīng)該使用處理機(jī)模塊。如果節(jié)點(diǎn)模塊必須緩存到達(dá)的數(shù)據(jù)包以等待隨后事件的處理,或多個
12、數(shù)據(jù)包必須同時進(jìn)行緩存處理,則使用附帶緩存資源的隊(duì)列模塊將更為合適。與所有對象一樣,處理機(jī)具有多個可配置的內(nèi)建屬性。這些屬性可以通過節(jié)點(diǎn)編輯器提供的圖形化用戶界面在節(jié)點(diǎn)域中進(jìn)行編輯。在這些屬性中,有一種特殊的所謂的“模型”屬性。通過“模型”屬性,用戶可以選擇處理機(jī)包含的根進(jìn)程模型。當(dāng)改變一個處理機(jī)模塊的“模型”屬性時,處理機(jī)的 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器其他屬性可能隨之發(fā)生變化:或出現(xiàn)新的屬性;或改變已有屬性的值;或有某些屬性消失。屬性的變化依賴于處理機(jī)包含的進(jìn)程模型中聲明的屬性接口。進(jìn)程模型的屬性接口允許進(jìn)程模型開發(fā)者為處理機(jī)內(nèi)建屬性預(yù)定義值。當(dāng)添加新的進(jìn)程模型屬性后,新屬性將被處
13、理機(jī)對象自動繼承。有時為了隱藏細(xì)節(jié),一個處理機(jī)屬性可被設(shè)置為隱藏狀態(tài),意味著雖然該屬性存在并具有特定的值,但它并不會出現(xiàn)在節(jié)點(diǎn)編輯器中處理機(jī)的屬性列表里。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器2) 隊(duì)列模塊隊(duì)列模塊和處理機(jī)模塊有許多相似之處。像處理機(jī)模塊一樣,隊(duì)列模塊可以包含任何描述一個特定進(jìn)程或協(xié)議的進(jìn)程模型,并可以通過數(shù)據(jù)包流連接到其他模塊來發(fā)送和接收數(shù)據(jù)包。進(jìn)程模型影響隊(duì)列模塊的屬性列表,就如同進(jìn)程模型對處理機(jī)模塊的影響一樣。隊(duì)列模塊擴(kuò)展了處理機(jī)模塊的功能。隊(duì)列模塊與處理機(jī)模塊最大的區(qū)別在于隊(duì)列模塊包含額外的內(nèi)部資源子隊(duì)列。子隊(duì)列用于緩存和管理一組隊(duì)列中的數(shù)據(jù)包。雖然可以使用一般的處理機(jī)模
14、塊實(shí)現(xiàn)隊(duì)列管理,但是使用子隊(duì)列和子隊(duì)列核心函數(shù),用戶可以更加靈活地實(shí)現(xiàn)數(shù)據(jù)通信中不同的排隊(duì)規(guī)則。此外,子隊(duì)列自動計算仿真中的隊(duì)列操作相關(guān)統(tǒng)計量(可以使用探針編輯器直接進(jìn)行采集)。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器每個隊(duì)列模塊都包含一組數(shù)量可定制的子隊(duì)列。子隊(duì)列是隊(duì)列對象的從屬對象,但它有一些專門的配置屬性。它以隊(duì)列的子隊(duì)列屬性方式包含在隊(duì)列之中。子隊(duì)列屬性是一個復(fù)合屬性,其中每個屬性單元代表一個相應(yīng)的子隊(duì)列。通過定義子隊(duì)列的訪問和管理方式,OPNET能夠模擬數(shù)據(jù)通信中的任何排隊(duì)協(xié)議。隊(duì)列模塊的每個子隊(duì)列長度(數(shù)據(jù)容量)默認(rèn)是無限長的,可以通過在子隊(duì)列中設(shè)置數(shù)據(jù)包的總量或總長度來限制隊(duì)列長度。
15、隊(duì)列中的相關(guān)進(jìn)程決定當(dāng)子隊(duì)列滿時應(yīng)采取的行動,例如刪除隊(duì)列中以前的數(shù)據(jù)包為新來的數(shù)據(jù)包騰出空間,或?qū)⑿碌絹淼臄?shù)據(jù)包直接丟棄。如果某個子隊(duì)列已滿而又試圖對它進(jìn)行數(shù)據(jù)插入操作,則仿真內(nèi)核不會報錯,而僅向用戶提供一個子隊(duì)列滿的通知消息。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器多數(shù)與隊(duì)列模塊相關(guān)的OPNET核心函數(shù)都直接對指定的子隊(duì)列進(jìn)行操作(例如數(shù)據(jù)包的插入和刪除,訪問隊(duì)列相關(guān)統(tǒng)計量或子隊(duì)列釋放等)。另一些核心函數(shù)將隊(duì)列模塊的性質(zhì)作為一個整體進(jìn)行訪問,它們不單獨(dú)考慮子隊(duì)列的操作。隊(duì)列模塊內(nèi)的每個子隊(duì)列可以直接通過物理序號訪問,也可以通過抽象的索引編號訪問。抽象索引編號根據(jù)子隊(duì)列間的相對關(guān)系來定義。通過抽
16、象索引編號,用戶容易選出隊(duì)列中的最短子隊(duì)列,或選出具有最大排隊(duì)延時的子隊(duì)列。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器3) 外部系統(tǒng)模塊外部系統(tǒng)模塊主要用于OPNET的協(xié)同仿真,它擴(kuò)展了隊(duì)列模塊的功能。除了隊(duì)列模塊具有的所有屬性外,外部系統(tǒng)模塊還提供一個被稱為“External System Definition Model(外部系統(tǒng)定義模型)”的屬性。該屬性指定了在協(xié)同仿真中使用的外部系統(tǒng)定義(External System Definition,ESD)。如果將“外部系統(tǒng)定義模型”屬性設(shè)置為“NONE”(默認(rèn)值),則外部系統(tǒng)模塊就是一個隊(duì)列模塊。當(dāng)外部系統(tǒng)模塊作為ESD模型使用時,該模塊的進(jìn)程模
17、型將作為外部系統(tǒng)與OPNET其他部分的接口。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4) 發(fā)信機(jī)模塊發(fā)信機(jī)模塊是節(jié)點(diǎn)模型內(nèi)各數(shù)據(jù)包流和節(jié)點(diǎn)外部通信鏈路之間的外向接口。對應(yīng)于不同類型的通信鏈路,發(fā)信機(jī)模塊有兩種類型:總線型和點(diǎn)到點(diǎn)型。由于通信機(jī)制的不同,這兩種類型的發(fā)信機(jī)模塊行為有一定差異。發(fā)信機(jī)模塊可以從一個或多個輸入數(shù)據(jù)流中收集數(shù)據(jù)包并在通信鏈路對應(yīng)的信道上中繼這些數(shù)據(jù)包。發(fā)信機(jī)接收到的數(shù)據(jù)包將以相同的索引號發(fā)送到通信鏈路的信道上。每個信道單獨(dú)定義信道數(shù)據(jù)率,信道數(shù)據(jù)率和數(shù)據(jù)包大小共同決定了數(shù)據(jù)包的傳輸時間。當(dāng)一個數(shù)據(jù)包到達(dá)發(fā)信機(jī)而發(fā)信機(jī)對應(yīng)的外部鏈路信道還忙于處理前一個數(shù)據(jù)包時,到達(dá)的數(shù)據(jù)包會
18、自動進(jìn)入發(fā)信機(jī)中的緩沖區(qū)進(jìn)行排隊(duì)。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器在節(jié)點(diǎn)模型內(nèi),一個發(fā)信機(jī)模塊被看作一個數(shù)據(jù)池。因此,雖然發(fā)信機(jī)模塊可能擁有很多輸入數(shù)據(jù)包流,但它們并不具有輸出數(shù)據(jù)包流。從網(wǎng)絡(luò)模型的角度來看,發(fā)信機(jī)模塊充當(dāng)了節(jié)點(diǎn)模型的輸出端口,而輸出端口與相應(yīng)類型的通信鏈路相連接:單工和雙工鏈路連接到點(diǎn)到點(diǎn)發(fā)信機(jī),總線鏈路連接到總線發(fā)信機(jī)。圖4-1顯示了發(fā)信機(jī)模塊與網(wǎng)絡(luò)和節(jié)點(diǎn)模型的關(guān)系。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-1 發(fā)信機(jī)模塊與網(wǎng)絡(luò)和節(jié)點(diǎn)模型的關(guān)系 othermodulesin nodemodelp_0p_1p_2packet streamscomm.linknodeoth
19、ernode(s) innetworkmodel第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器在發(fā)信機(jī)模塊中,外部信道是發(fā)信機(jī)的從屬對象。發(fā)信機(jī)模塊將信道包含在其“channel”屬性中。“channel”屬性的取值代表一個組合對象,它是發(fā)信機(jī)模塊包含的所有信道對象的父對象。發(fā)信機(jī)的每個信道單獨(dú)維護(hù)一套屬性,這些屬性控制數(shù)據(jù)包傳輸?shù)牟煌矫?。其中某些屬性還決定發(fā)信機(jī)、收信機(jī)和鏈路對象之間在項(xiàng)目編輯器中形成通信鏈路時的兼容性。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器發(fā)信機(jī)信道對象能夠計算多個統(tǒng)計量,這些統(tǒng)計量可被其他模塊通過統(tǒng)計線路進(jìn)行監(jiān)控或用探針編輯器進(jìn)行采集。例如,“bit_thruput”和“pk_th
20、ruput”統(tǒng)計量可被用于監(jiān)控指定發(fā)信機(jī)信道的吞吐量和數(shù)據(jù)包的總量。發(fā)信機(jī)信道對象通過OPNET的op_ima_obj_command()核心函數(shù)響應(yīng)“abort”命令(見第7章),該命令使信道對象放棄對當(dāng)前數(shù)據(jù)包的傳輸。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器5) 收信機(jī)模塊收信機(jī)模塊是節(jié)點(diǎn)外的通信鏈路和節(jié)點(diǎn)內(nèi)的數(shù)據(jù)包流之間的內(nèi)向接口。與發(fā)信機(jī)模塊一樣,對應(yīng)于兩種不同的通信鏈路,有兩種不同的收信機(jī)模塊:點(diǎn)到點(diǎn)模塊和總線型模塊。由于通信機(jī)制的不同,這兩種類型的收信機(jī)模塊行為有一定差異。收信機(jī)模塊從通信鏈路的相應(yīng)信道接收數(shù)據(jù)包后,將數(shù)據(jù)包分配到一個或多個模塊內(nèi)的輸出數(shù)據(jù)包流上。在給定輸入信道上接收到
21、的數(shù)據(jù)包將被中繼到具有相同索引號的輸出流上。信道是收信機(jī)模塊的從屬對象。收信機(jī)將信道包含在其“channel”復(fù)合屬性中?!癱hannel”屬性的取值是一個組合第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器對象,它是收信機(jī)模塊包含的所有信道對象的父對象。收信機(jī)的每個信道單獨(dú)維護(hù)一套屬性,這些屬性控制數(shù)據(jù)包傳輸?shù)牟煌矫?。其中某些屬性還決定發(fā)信機(jī)、收信機(jī)和鏈路對象之間在項(xiàng)目編輯器中形成通信鏈路時的兼容性。在節(jié)點(diǎn)模型內(nèi),一個收信機(jī)模塊被看作一個數(shù)據(jù)源。因此,雖然收信機(jī)模塊可能擁有很多輸出數(shù)據(jù)包流,但收信機(jī)模塊并不具有輸入數(shù)據(jù)包流。從網(wǎng)絡(luò)模型的角度來看,收信機(jī)模塊充當(dāng)了節(jié)點(diǎn)模型的輸入端口,而輸入端口與相應(yīng)類型
22、的通信鏈路相連接:單工和雙工鏈路連接到點(diǎn)到點(diǎn)發(fā)信機(jī),總線鏈路連接到總線發(fā)信機(jī)。圖4-2顯示了收信機(jī)模塊與網(wǎng)絡(luò)和節(jié)點(diǎn)模型的關(guān)系。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-2 收信機(jī)模塊與網(wǎng)絡(luò)和節(jié)點(diǎn)模型的關(guān)系 othermodulesin nodemodelp_0p_1p_2packet streamscomm.linknodeothernode(s) innetworkmodelpc_0第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器與發(fā)信機(jī)相同,收信機(jī)信道對象也能夠計算多個統(tǒng)計量,這些統(tǒng)計量可被其他模塊通過統(tǒng)計線路進(jìn)行監(jiān)控或用探針編輯器進(jìn)行采集。例如,通過指示收信機(jī)關(guān)聯(lián)鏈路上數(shù)據(jù)包的接收,“busy”統(tǒng)計
23、量可用來進(jìn)行載波偵聽。又如,總線鏈路的“collision_status”統(tǒng)計量用于發(fā)現(xiàn)特定總線信道上多個數(shù)據(jù)包間的沖突。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器2. 連接線定義連接線定義連接線代表節(jié)點(diǎn)內(nèi)不同模塊間的通信路徑和關(guān)聯(lián)。OPNET節(jié)點(diǎn)模型包括三種形式的連接線:數(shù)據(jù)包流(支持模塊間傳遞的數(shù)據(jù)流)、統(tǒng)計線(支持在模塊間傳遞數(shù)值統(tǒng)計信息)和邏輯關(guān)聯(lián)線(指示兩個模塊間的綁定以允許兩個模塊共同完成一個功能)。需要讀者注意的是,雖然模塊間的通信通常使用連接線完成,但模塊間數(shù)據(jù)的傳遞還有其他方式。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器1) 數(shù)據(jù)包流數(shù)據(jù)包流是將數(shù)據(jù)包從源模塊傳送到目的模塊的連接,它穿過
24、一個通信節(jié)點(diǎn)的硬件和軟件接口。在OPNET中,數(shù)據(jù)包流默認(rèn)是完全可靠的(沒有數(shù)據(jù)丟失,不會引入任何錯誤)連接,它具有無限的帶寬(一個相當(dāng)大的數(shù)據(jù)包可以沒有延時地通過一個數(shù)據(jù)包流)和無限的容量(無限緩存數(shù)據(jù)包)。也可以通過設(shè)置包丟失率、傳輸時延和傳播時延等,來模擬不可靠的數(shù)據(jù)包流。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器OPNET提供了三種在數(shù)據(jù)包流上傳輸數(shù)據(jù)的方式:預(yù)定方式(Scheduled)、強(qiáng)制方式(Forced)和安靜方式(Quiet)。在預(yù)定方式下,系統(tǒng)為目的模塊預(yù)定一個“流中斷”,這個中斷將在當(dāng)前時刻所有已預(yù)定的更低優(yōu)先級的事件發(fā)生之后發(fā)生。在強(qiáng)制方式下,“流中斷”在其他任何預(yù)定的事件
25、之前立即發(fā)生。在安靜方式下,不會發(fā)生任何“流中斷”,數(shù)據(jù)包仍然緩存在數(shù)據(jù)流中。目的模塊在處理其他事件時,如果明確檢測到數(shù)據(jù)包的到來,則目的模塊接收數(shù)據(jù)包。對應(yīng)不同的數(shù)據(jù)傳輸方式,OPNET使用op_pk_send()、op_pk_send_delay()、op_pk_send_force()或op_pk_send_quiet()核心函數(shù)來將數(shù)據(jù)包發(fā)送到數(shù)據(jù)包流。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器數(shù)據(jù)包流支持傳輸時延的設(shè)定,它允許設(shè)定數(shù)據(jù)包從源模塊傳遞到目的模塊的延時。延時的默認(rèn)值為0,在大多數(shù)仿真情況下,這都是合理的。非零的延時值一般用于模擬一段持續(xù)的處理時間或系統(tǒng)的傳輸延時。處理機(jī)或隊(duì)列模
26、塊中的進(jìn)程模型可以自己指定將數(shù)據(jù)包放置到輸出流上所需的延時,此時的延時值是傳送數(shù)據(jù)包大小或內(nèi)容的函數(shù)。數(shù)據(jù)包流通常不用于傳輸相鄰節(jié)點(diǎn)間的控制報文。OPNET使用其他機(jī)制來傳輸控制報文,例如統(tǒng)計線或接口控制信息(ICIs)。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器2) 統(tǒng)計線統(tǒng)計線同樣用于將數(shù)據(jù)從源模塊傳送到目的模塊。與數(shù)據(jù)包流傳送數(shù)據(jù)包不同,統(tǒng)計線傳送單獨(dú)的數(shù)值。統(tǒng)計線通常作為模塊間的一個接口,通過該接口源模塊和目的模塊共同分享特定的統(tǒng)計數(shù)值,并共同提供與其狀態(tài)相關(guān)的信息。源模塊也可通過統(tǒng)計線通知目的模塊一個感興趣的特定事件的到來。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器節(jié)點(diǎn)內(nèi)的每個模塊都具有一套本地
27、輸出統(tǒng)計量(Local Output Statistics)。這些統(tǒng)計量的值在仿真中更新,并可以作為統(tǒng)計線的數(shù)據(jù)源。在處理機(jī)模塊和隊(duì)列模塊包含的進(jìn)程模型中,用戶可以自定義一套統(tǒng)計量。當(dāng)進(jìn)程模型調(diào)用核心函數(shù)op_stat_write()時,這些統(tǒng)計量被更新。節(jié)點(diǎn)模型中的其他模塊具有一套預(yù)先確定的統(tǒng)計量,這些統(tǒng)計量在適當(dāng)?shù)臅r候被仿真內(nèi)核自動更新。注意,每條統(tǒng)計線僅可以傳輸一個輸出統(tǒng)計量,該統(tǒng)計量在統(tǒng)計線的“源狀態(tài)”屬性中被指定,如圖4-3所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-3 統(tǒng)計線路源統(tǒng)計特性 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器處理機(jī)和隊(duì)列模塊同樣具有一套作為統(tǒng)計線目的地的輸入統(tǒng)計
28、量。處理機(jī)和隊(duì)列模塊中的進(jìn)程模型通過調(diào)用核心函數(shù)op_stat_local_read()訪問特定輸入統(tǒng)計量的當(dāng)前值。統(tǒng)計線將一個輸出統(tǒng)計量和一個輸入統(tǒng)計量綁定在一起,則它們的值將一起變化。一個輸出統(tǒng)計量可以作為多條統(tǒng)計線的源;同樣地,一個輸入統(tǒng)計量可以作為多條統(tǒng)計線的目的。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器當(dāng)統(tǒng)計量的值發(fā)生變化時,目的模塊通過“統(tǒng)計中斷”的方式收到通知。統(tǒng)計中斷發(fā)生的條件可以通過統(tǒng)計線的“statistic triggers”屬性進(jìn)行控制。例如,設(shè)置一條線路當(dāng)其統(tǒng)計量的值大于某個特定值時就引起一個中斷,或當(dāng)其值變得小于它先前的值時引起一個中斷。如果沒有滿足任何中斷觸發(fā)條件,“
29、統(tǒng)計中斷”就不會發(fā)生,則目的模塊必須自己檢測輸入統(tǒng)計量來決定其值是否發(fā)生了變化。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器統(tǒng)計線有兩種典型的使用方法:第一種方法使用統(tǒng)計線對通信節(jié)點(diǎn)中某些模塊的狀態(tài)進(jìn)行監(jiān)控。監(jiān)控對象可以是發(fā)信機(jī)或收信機(jī),也可以是隊(duì)列模塊,而被監(jiān)控的統(tǒng)計量由仿真內(nèi)核自動計算。第二種方法是使用統(tǒng)計線來實(shí)現(xiàn)一個模塊向其他模塊通知它的狀態(tài)改變,這種通知通常被稱為“信號量(Semaphores)”。與第一種方法不同,統(tǒng)計線上的統(tǒng)計量由處理機(jī)或隊(duì)列模塊中的進(jìn)程來計算。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器3) 邏輯關(guān)聯(lián)邏輯關(guān)聯(lián)是一種特殊的連接,它不會在模塊間傳送數(shù)據(jù)。使用邏輯關(guān)聯(lián)的目的是為了指示節(jié)
30、點(diǎn)內(nèi)兩個模塊間的聯(lián)系。邏輯關(guān)聯(lián)在仿真期間并不存在。雖然邏輯關(guān)聯(lián)從概念上允許連接任意兩個實(shí)體,但當(dāng)前它只能支持在特定類型的發(fā)信機(jī)和收信機(jī)模塊之間創(chuàng)建關(guān)聯(lián):點(diǎn)到點(diǎn)發(fā)信機(jī)和點(diǎn)到點(diǎn)收信機(jī)之間的邏輯關(guān)聯(lián);或總線收/發(fā)信機(jī)之間的邏輯關(guān)聯(lián)。除此之外,沒有其他的模塊支持邏輯關(guān)聯(lián)。基于這種原因,邏輯關(guān)聯(lián)也被稱作邏輯收/發(fā)信機(jī)關(guān)聯(lián)(Logical Transceiver Associations)。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器邏輯收/發(fā)信機(jī)關(guān)聯(lián)向OPNET指示了一對發(fā)信機(jī)和收信機(jī)功能。有時,當(dāng)在項(xiàng)目編輯器中將節(jié)點(diǎn)黏附到鏈路時,OPNET必須決定選用哪種收信機(jī)和發(fā)信機(jī)對,這時用戶就應(yīng)使用邏輯關(guān)聯(lián)來表達(dá)這種需
31、求。對于IT Guru用戶,由于節(jié)點(diǎn)模型的內(nèi)部結(jié)構(gòu)不可見,收/發(fā)信機(jī)的概念對于它們是陌生的?;谶@種原因,IT Guru用戶接口不允許控制收/發(fā)信機(jī)的選擇,所以當(dāng)開發(fā)供IT Guru終端用戶使用的OPNET模型時,邏輯關(guān)聯(lián)就顯得十分重要了。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.1.2 節(jié)點(diǎn)編輯器操作節(jié)點(diǎn)編輯器操作節(jié)點(diǎn)編輯器提供支持節(jié)點(diǎn)模型建立和編輯的一系列操作。表4-3總結(jié)了主要的節(jié)點(diǎn)編輯器操作。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器表表4-3 節(jié)點(diǎn)編輯器操作節(jié)點(diǎn)編輯器操作 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.2 節(jié)點(diǎn)編輯器開發(fā)界面節(jié)點(diǎn)編輯器開發(fā)界面OPNET節(jié)點(diǎn)編輯器提供模擬節(jié)點(diǎn)內(nèi)部功能
32、的各種必要資源。在節(jié)點(diǎn)編輯器中,用戶可以訪問不同的模塊,每一種模塊模擬節(jié)點(diǎn)行為的某一方面。節(jié)點(diǎn)模型通常由多個節(jié)點(diǎn)模塊組成。圖4-4展示了OPNET中一個典型的節(jié)點(diǎn)模型以及用于編輯節(jié)點(diǎn)中模塊對象屬性的對話框。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-4 節(jié)點(diǎn)模型及其相關(guān)的對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.2.1 節(jié)點(diǎn)編輯器主菜單介紹節(jié)點(diǎn)編輯器主菜單介紹節(jié)點(diǎn)編輯器為創(chuàng)建網(wǎng)絡(luò)節(jié)點(diǎn)模型提供了許多操作,這些操作都可以在節(jié)點(diǎn)編輯器的菜單欄中找到,如圖4-5所示。圖4-5 節(jié)點(diǎn)編輯器的菜單欄 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器1. File(文件文件)File中包含一些與高層功能相關(guān)的操作,
33、如打開、關(guān)閉項(xiàng)目,保存場景,導(dǎo)入模型以及打印圖標(biāo)、報告等(可參見第3章項(xiàng)目編輯器File菜單的介紹)。2. Edit(編輯編輯)Edit菜單用于編輯控制程序運(yùn)行的環(huán)境屬性,處理文本和對象(可參見第3章項(xiàng)目編輯器Edit菜單的介紹)。3. Interfaces(接口接口)Interfaces菜單用于編輯節(jié)點(diǎn)模型到其他節(jié)點(diǎn)或整個網(wǎng)絡(luò)的接口,如圖4-6所示。接口菜單的主要操作如表4-4所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-6 節(jié)點(diǎn)編輯器Interfaces菜單第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器表表4-4 節(jié)點(diǎn)編輯器接口菜單主要操作節(jié)點(diǎn)編輯器接口菜單主要操作 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)
34、編輯器4. Objects(對象對象)對象菜單包含在節(jié)點(diǎn)內(nèi)創(chuàng)建模塊的操作,如圖4-7所示。對象菜單的主要操作如表4-5所示。5. Windows(窗口窗口)窗口菜單中可進(jìn)行的操作有:列出所有打開的編輯器窗口,顯示或隱藏一個窗口(可參見第3章項(xiàng)目編輯器Windows菜單的介紹)。6. Help(幫助幫助)幫助菜單提供相關(guān)的上下文幫助、聯(lián)機(jī)文檔和手冊以及程序的相關(guān)信息。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-7 節(jié)點(diǎn)編輯器Object菜單 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器表表4-5 節(jié)點(diǎn)編輯器對象菜單主要操作節(jié)點(diǎn)編輯器對象菜單主要操作 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.2.2 節(jié)點(diǎn)編輯
35、器彈出菜單節(jié)點(diǎn)編輯器彈出菜單除了工具欄菜單外,節(jié)點(diǎn)編輯器還提供多個彈出菜單,包括工作區(qū)彈出菜單和對象彈出菜單。1. 工作區(qū)彈出菜單工作區(qū)彈出菜單節(jié)點(diǎn)編輯器工作區(qū)彈出菜單集成了工作區(qū)視圖的縮放操作,如圖4-8所示。其中,“No Zoom”返回工作區(qū)的初始化顯示。初始化顯示是第一次打開節(jié)點(diǎn)模型時的縮放層次。節(jié)點(diǎn)編輯器并不保存縮放層次,因此初始化顯示并不會發(fā)生變化。注意,與節(jié)點(diǎn)編輯器不同,項(xiàng)目編輯器會自動保存縮放層次,故項(xiàng)目編輯器的工作區(qū)彈出菜單沒有“No Zoom”操作。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-8 節(jié)點(diǎn)編輯器工作區(qū)彈出菜單 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器2. 對象彈出菜單對
36、象彈出菜單節(jié)點(diǎn)編輯器對象彈出菜單包括設(shè)置對象屬性和顯示模塊連通性的操作,如圖4-9所示。Edit Attributes用于設(shè)置對象屬性,其設(shè)置對象屬性的對話框如圖4-10所示。Set Name用于設(shè)置對象名稱,它對應(yīng)于對象屬性對話框中的“name”屬性。Show Connectivity用于顯示各模塊間的連通性,如圖4-11所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-9 節(jié)點(diǎn)編輯器對象彈出菜單 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-10 對象彈出菜單“Edit Attributes”選項(xiàng)的彈出對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-11 對象彈出菜單“Show Connect
37、ivity”選項(xiàng)的彈出對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.2.3 節(jié)點(diǎn)編輯器工具欄介紹節(jié)點(diǎn)編輯器工具欄介紹節(jié)點(diǎn)編輯器工具欄提供了節(jié)點(diǎn)編輯器常用操作的圖形化快捷方式。圖4-12顯示了OPNET節(jié)點(diǎn)編輯器的工具欄。節(jié)點(diǎn)編輯器各工具欄按鈕的主要功能如表4-6所示。 圖4-12 節(jié)點(diǎn)編輯器工具欄 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器表表4-6 節(jié)點(diǎn)編輯器工具欄按鈕的主要功能節(jié)點(diǎn)編輯器工具欄按鈕的主要功能 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.3 節(jié)點(diǎn)編輯器應(yīng)用舉例節(jié)點(diǎn)編輯器應(yīng)用舉例M/M/1隊(duì)列仿真隊(duì)列仿真本節(jié)研究怎樣使用節(jié)點(diǎn)編輯器建立一個M/M/1隊(duì)
38、列模型,同時還將學(xué)習(xí)在仿真過程中怎樣將過濾器應(yīng)用于數(shù)據(jù)收集,以及怎樣對仿真收集到的統(tǒng)計數(shù)據(jù)進(jìn)行數(shù)學(xué)分析。M/M/1隊(duì)列由先進(jìn)先出(FIFO)的緩沖區(qū)組成,數(shù)據(jù)包的到達(dá)服從泊松分布。被稱為服務(wù)臺的處理機(jī)以設(shè)定的服務(wù)速率將數(shù)據(jù)包從緩沖區(qū)頭部取出并進(jìn)行處理。M/M/1隊(duì)列使用隨機(jī)過程中的泊松過程進(jìn)行描述。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器M/M/1隊(duì)列的性能由以下幾個參數(shù)決定: 數(shù)據(jù)包到達(dá)速率; 數(shù)據(jù)包大小; 服務(wù)容量。如果數(shù)據(jù)包的平均到達(dá)速率和平均大小結(jié)合起來超過了隊(duì)列的服務(wù)容量,則隊(duì)列將不再穩(wěn)定。不穩(wěn)定的隊(duì)列在實(shí)際運(yùn)用中是沒有意義的。本節(jié)要確保建立一個穩(wěn)定的M/M/1隊(duì)列模型。第第4 4章章
39、節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器建立M/M/1隊(duì)列需要使用節(jié)點(diǎn)編輯器中的多個對象,包括一個隊(duì)列和兩個處理機(jī)(數(shù)據(jù)源模塊和數(shù)據(jù)池模塊)。隊(duì)列模塊代表有限緩沖區(qū)和服務(wù)臺。數(shù)據(jù)源模塊生成數(shù)據(jù)包,并指定生成的速率(packets/second),以使數(shù)據(jù)包到達(dá)隊(duì)列的時間間隔服從指數(shù)(泊松)分布。數(shù)據(jù)池模塊用于銷毀數(shù)據(jù)源不再需要的數(shù)據(jù)包(即已服務(wù)完畢的數(shù)據(jù)包)并釋放內(nèi)存空間。數(shù)據(jù)包流用于連接數(shù)據(jù)源模塊、隊(duì)列模塊和數(shù)據(jù)池模塊,以便在它們之間傳遞數(shù)據(jù)。節(jié)點(diǎn)編輯器中的M/M/1隊(duì)列模型如圖4-13所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-13 M/M/1隊(duì)列模型 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.3.1 M/
40、M/1隊(duì)列節(jié)點(diǎn)的創(chuàng)建隊(duì)列節(jié)點(diǎn)的創(chuàng)建新建一個工程名為ch04_mm1、場景名為MM1的工程。在工程啟動向?qū)е袉螕簟癚uit”按鈕退出網(wǎng)絡(luò)場景設(shè)置向?qū)?,將在?jié)點(diǎn)模型建立后再來設(shè)置網(wǎng)絡(luò)場景。在項(xiàng)目編輯器窗口中,執(zhí)行File New命令,然后在下拉菜單中選擇Node Model并單擊“OK”按鈕,節(jié)點(diǎn)編輯器在新窗口中被打開。1. 定義數(shù)據(jù)源模塊定義數(shù)據(jù)源模塊首先利用節(jié)點(diǎn)編輯器定義數(shù)據(jù)源,步驟如下:(1) 在工具欄中單擊“Create Processor”按鈕,放置一個處理機(jī)模塊到工作區(qū)中的適當(dāng)位置。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器(2) 右擊處理機(jī)模塊并選擇“Edit Attributes”進(jìn)行屬
41、性編輯,顯示的界面如圖4-14所示。(3) 設(shè)置“name”屬性為src;設(shè)置“process model”屬性為simple_source。(4) 單擊“Packet Interarrival Time”屬性列,彈出Packet Interarrival Time Specification對話框,從“Distribution Name”的彈出菜單中選擇“exponential”,設(shè)置數(shù)據(jù)包生成間隔時間為指數(shù)分布(泊松過程);設(shè)置Mean Outcome為1.0(數(shù)據(jù)包到達(dá)的平均間隔時間為1.0 s),單擊“OK”按鈕確定。(5) 改變Packet Size屬性,使Distribution
42、Name為exponential,Mean Outcome為9000,單擊“OK”按鈕確定。這樣,生成數(shù)據(jù)包的大小服從均值為9000 b/p的指數(shù)(泊松)分布。(6) 單擊“OK”按鈕,關(guān)閉屬性對話框,完成屬性設(shè)置。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-14 src模塊屬性設(shè)置窗口 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器2. 建立隊(duì)列模塊建立隊(duì)列模塊接下來,我們建立M/M/1隊(duì)列模型中的隊(duì)列模塊。(1) 在工具欄中,單擊“Create Queue”按鈕,放置一個隊(duì)列模塊到src模塊的右側(cè),如圖4-15所示。(2) 右擊隊(duì)列模塊,并從彈出的快捷菜單中選擇“Edit Attributes”進(jìn)行屬
43、性編輯,如圖4-16所示。(3) 設(shè)置“name”屬性為queue;設(shè)置“process model”屬性為acb_fifo;確認(rèn)service_rate屬性設(shè)置為9600。(4) 單擊“OK”按鈕,完成屬性設(shè)置,關(guān)閉屬性對話框。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-15 src模塊和queue模塊 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-16 queue模塊屬性設(shè)置窗口 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器將queue隊(duì)列的進(jìn)程模型設(shè)置為acb_fifo,可以仿效M/M/1隊(duì)列中的有限緩沖區(qū)和服務(wù)臺機(jī)制。進(jìn)程模型acb_fifo的名稱反映了它的主要特點(diǎn): “a”表明它是活動(Activ
44、e)的; “c”表明它可以將多個到來的數(shù)據(jù)包流集中到其惟一的排隊(duì)資源上; “b”表明服務(wù)時間是數(shù)據(jù)包比特長度的函數(shù); “fifo”表明服務(wù)次序是先進(jìn)先出。雙擊隊(duì)列模塊可以打開進(jìn)程編輯器,查看隊(duì)列的進(jìn)程模型。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器3. 定義數(shù)據(jù)池模塊定義數(shù)據(jù)池模塊合理的內(nèi)存管理要求當(dāng)數(shù)據(jù)包不再被需要時應(yīng)該立即被銷毀。因此,還需要定義一個數(shù)據(jù)池模塊。(1) 在工具欄中單擊“Create Processor”按鈕,在隊(duì)列模塊的右側(cè)放置一個處理機(jī)模塊,如圖4-17所示。圖4-17 src、queue和sink模塊第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器(2) 右擊該處理機(jī)模塊,打開其屬性對話
45、框,如圖4-18所示。(3) 設(shè)置“name”屬性為sink;設(shè)置“process model”屬性為sink。(4) 單擊“OK”按鈕,完成屬性設(shè)置,關(guān)閉對話框。至此,M/M/1隊(duì)列仿真所需的所有模塊都已放置到工作區(qū)并進(jìn)行了正確配置。下面通過數(shù)據(jù)包流將模塊之間連接起來。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-18 sink模塊屬性的屬性對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4. 創(chuàng)建數(shù)據(jù)包流創(chuàng)建數(shù)據(jù)包流創(chuàng)建數(shù)據(jù)包流的步驟如下:(1) 在工具欄中單擊“Create Packet Stream”按鈕。(2) 單擊“src”模塊,然后單擊“queue”模塊,使用包流連線建立從src模塊到q
46、ueue模塊的連接;同樣建立從queue模塊到sink模塊的連接。右擊結(jié)束創(chuàng)建,如圖4-19所示。(3) 執(zhí)行Interface Node Interface命令,打開Node Interfaces編輯器。在Node Type表格中將mobile和satellite的supported屬性設(shè)置為no,如圖4-20所示。至此,已經(jīng)完成了節(jié)點(diǎn)模型的創(chuàng)建,下面保存這個創(chuàng)建的模型。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-19 連接src、queue和sink模塊 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-20 Node Interfaces對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器5. 保存節(jié)點(diǎn)模
47、型保存節(jié)點(diǎn)模型保存節(jié)點(diǎn)模型的步驟如下:(1) 執(zhí)行File Save命令,將節(jié)點(diǎn)命名為ch04_mm1。(2) 單擊“Save”按鈕,關(guān)閉節(jié)點(diǎn)編輯器。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.3.2 創(chuàng)建網(wǎng)絡(luò)創(chuàng)建網(wǎng)絡(luò)現(xiàn)在,底層的節(jié)點(diǎn)模塊已經(jīng)構(gòu)建好了,開始著手在項(xiàng)目編輯器中創(chuàng)建網(wǎng)絡(luò)模型。通常,為了創(chuàng)建網(wǎng)絡(luò)模型,需要先創(chuàng)建一個子網(wǎng),并在子網(wǎng)內(nèi)放置通信節(jié)點(diǎn)。在本例程中,由于M/M/1隊(duì)列模型只有一個單獨(dú)節(jié)點(diǎn),因而可以將該節(jié)點(diǎn)放置在最上層的全局網(wǎng)中,而不再考慮子網(wǎng)的概念了。1. 創(chuàng)建自定義對象模板創(chuàng)建自定義對象模板首先在對象面板中創(chuàng)建用戶自定義對象模板,步驟如下:(1) 在項(xiàng)目編輯器的工具欄中單擊“Op
48、en Object Palette”按鈕,將彈出Object Palette(對象模板)對話框,如圖4-21所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-21 Object Palette對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器(2) 單擊“Configure Palette”按鈕,彈出Configure Palette對話框,如圖4-22所示。(3) 選中“Enable model aggregation”復(fù)選項(xiàng),并單擊“Clear”按鈕,清除所有模型圖標(biāo)。(4) 單擊“Node Models”按鈕,彈出Select Included Entries對話框,該對話框顯示用戶可用節(jié)點(diǎn)模型
49、的列表,如圖4-23所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-22 Configure Palette對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-23 Select Included Entries對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器(5) 從列表中找到ch04_mm1節(jié)點(diǎn)模型。單擊與ch04_mm1相鄰的Status列,將ch04_mm1的Status設(shè)置為included。單擊“OK”按鈕,關(guān)閉該對話框。(6) 單擊Configure Palette對話框的“OK”按鈕,并保存以上設(shè)置到名為ch04_mm1_palette的新模板。新模板中就包含了先前在節(jié)點(diǎn)編輯器中創(chuàng)建
50、的ch04_mm1節(jié)點(diǎn)模型,如圖4-24所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-24 用戶自定義后的新模板ch04_mm1_palette 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器2. 創(chuàng)建網(wǎng)絡(luò)模型創(chuàng)建網(wǎng)絡(luò)模型接下來,利用剛剛創(chuàng)建的自定義對象模板建立M/M/1網(wǎng)絡(luò)模型,步驟如下:(1) 從新的對象模板ch04_mm1_palette中拖放一個ch04_mm1節(jié)點(diǎn)模型到工作區(qū),右擊結(jié)束拖放。(2) 右擊該節(jié)點(diǎn)對象并從彈出的快捷菜單中選擇Set Name,將該節(jié)點(diǎn)命名為m_node。節(jié)點(diǎn)創(chuàng)建完畢,接下來設(shè)置在仿真期間需要收集的統(tǒng)計量。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.3.3 參數(shù)選擇和仿
51、真參數(shù)選擇和仿真1. 參數(shù)選擇參數(shù)選擇首先選擇要測量的仿真參數(shù),步驟如下:(1) 在項(xiàng)目編輯器中右擊m_node節(jié)點(diǎn)對象,從彈出的快捷菜單中選擇“Choose Individual DES Statistics”,將彈出Choose Results對話框。(2) 展開Module Statistics queue.subqueue0 queue,選中queue size(packets)和queuing delay兩個統(tǒng)計量,如圖4-25所示。(3) 單擊“OK”按鈕,關(guān)閉Choose Results對話框。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-25 選擇DES統(tǒng)計量 第第4 4章章 節(jié)點(diǎn)
52、編輯器節(jié)點(diǎn)編輯器2. 運(yùn)行仿真運(yùn)行仿真仿真參數(shù)設(shè)置完畢后,便可以開始運(yùn)行OPNET仿真了,步驟如下:(1) 在項(xiàng)目編輯器的工具欄上單擊“Create/Run Discrete Event Simulation(DES)”按鈕,彈出Configure/Run DES對話框。(2) 設(shè)置“Duration”為7 hours,“Seed”為431,選擇Simulation Kernel為Optimized,如圖4-26所示。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器圖4-26 Configure/Run DES對話框 第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器(3) 單擊“Run”按鈕運(yùn)行仿真。(4) 仿真結(jié)束后彈出Simulation Sequence對話框,單擊“Close”按鈕關(guān)閉該對話框。根據(jù)機(jī)器配置的不同,仿真在幾十秒到幾分鐘的時間內(nèi)完成。仿真完成后,OPNET采集到隊(duì)列大小(queue size)和數(shù)據(jù)包排隊(duì)延時(queuing delay)兩個統(tǒng)計量。下面對這兩個統(tǒng)計量進(jìn)行分析。第第4 4章章 節(jié)點(diǎn)編輯器節(jié)點(diǎn)編輯器4.3.4 仿真結(jié)果分析仿真結(jié)果分析對于小型網(wǎng)絡(luò)仿真,直接在項(xiàng)目編輯器中查看仿真結(jié)果最為方便。當(dāng)然,也可以使用OPNET提供的分析工具來查看仿真結(jié)果。(1)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國過濾式咖啡機(jī)數(shù)據(jù)監(jiān)測研究報告
- 2025年EVA海綿休閑折疊座墊項(xiàng)目可行性研究報告
- 2025至2030年耐酸袖套項(xiàng)目投資價值分析報告
- 2025至2030年自動升降厚料切邊機(jī)項(xiàng)目投資價值分析報告
- 二零二五年度個人租房合同安全責(zé)任評估及保障范本
- 2025年01月廣東河源市連平縣事業(yè)單位公開招聘103人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 露臺裝修合同樣本
- 法律服務(wù)居間協(xié)議補(bǔ)充條款
- 2025年中國雞尾酒杯市場調(diào)查研究報告
- 2025至2030年天津醬肉香料項(xiàng)目投資價值分析報告
- 電器整機(jī)新產(chǎn)品設(shè)計DFM檢查表范例
- 樁基礎(chǔ)工程文件歸檔內(nèi)容及順序表
- 第四單元細(xì)胞的物質(zhì)輸入和輸出(單元教學(xué)設(shè)計)高一生物(人教版2019必修1)
- 《公路路基路面現(xiàn)場測試規(guī)程》(3450-2019)
- 不同產(chǎn)地半夏總生物堿含量測定
- 2023年新疆中考數(shù)學(xué)試卷真題及答案
- 生物必修2教學(xué)進(jìn)度表
- 對北京古建筑天壇的調(diào)查報告
- 2023國民閱讀時間報告
- 四川省成都市武侯區(qū)2022-2023學(xué)年七年級下學(xué)期期末英語試卷(含答案)
- GB/T 42595-2023承壓設(shè)備修理基本要求
評論
0/150
提交評論