freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于opnet的校園網(wǎng)建模與仿真畢業(yè)論文(編輯修改稿)

2025-07-19 01:36 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 入非強(qiáng)迫狀態(tài)后,將停留在此狀態(tài),等待事件、其他進(jìn)程或仿真核心的觸發(fā)。在每個(gè)進(jìn)程模型中都至少有一個(gè)初始狀態(tài),是進(jìn)程被訪問的第一個(gè)狀態(tài),既可以是強(qiáng)迫狀態(tài),也可以是非強(qiáng)迫狀態(tài)。每個(gè)狀態(tài)都有相應(yīng)的動(dòng)作與其對(duì)應(yīng),在ProC中這些動(dòng)作被稱為執(zhí)行代碼。狀態(tài)的執(zhí)行代碼分為兩部分,上面部分稱為進(jìn)入代碼,是進(jìn)程進(jìn)入該狀態(tài)時(shí)執(zhí)行的動(dòng)作;下面部分稱為離開代碼,是進(jìn)程離開狀態(tài)時(shí)執(zhí)行的動(dòng)作。非強(qiáng)迫狀態(tài)被認(rèn)為是系統(tǒng)真正的狀態(tài),因?yàn)楫?dāng)進(jìn)程執(zhí)行完非強(qiáng)迫狀態(tài)的進(jìn)入代碼后,進(jìn)程就處于阻塞,等待新的觸發(fā),而強(qiáng)迫狀態(tài)是為了實(shí)際編程和狀態(tài)控制的需要而提出的一種狀態(tài),進(jìn)程不會(huì)停留在該狀態(tài)。轉(zhuǎn)移則描述了進(jìn)程模型從一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的過程和條件,包含4個(gè)部分:源狀態(tài)、目的狀態(tài)、轉(zhuǎn)移條件和轉(zhuǎn)移執(zhí)行代碼。其含義為在源狀態(tài)時(shí),進(jìn)程只要完成源狀態(tài)的離開代碼,就立即對(duì)轉(zhuǎn)移條件進(jìn)行判斷,當(dāng)轉(zhuǎn)移條件成立,則執(zhí)行轉(zhuǎn)移代碼,之后轉(zhuǎn)移到目的狀態(tài)。轉(zhuǎn)移分為條件轉(zhuǎn)移和無條件轉(zhuǎn)移,分別用虛線和實(shí)線表示。ProtoC語(yǔ)言是進(jìn)程建模中支持各種算法實(shí)現(xiàn)的OPNET獨(dú)有的語(yǔ)言。他包括三個(gè)方面,在限狀態(tài)機(jī),OPNET核心函數(shù),標(biāo)準(zhǔn)的C和C++。Modeler采用階層性的模擬方式,從協(xié)議間關(guān)系看,節(jié)點(diǎn)模塊建模完全符合OSI標(biāo)準(zhǔn),業(yè)務(wù)層TCP層IP層IP封裝層ARP層MAC層物理層;從網(wǎng)絡(luò)物件層次關(guān)系看,提供了三層建模機(jī)制,最底層為進(jìn)程模型,以狀態(tài)機(jī)來描述協(xié)議;其次為節(jié)點(diǎn)模型,由相應(yīng)的協(xié)議模型構(gòu)成,反映設(shè)備特性;最上層為網(wǎng)絡(luò)模型。三層模型和實(shí)際的協(xié)議、設(shè)備、網(wǎng)絡(luò)完全對(duì)應(yīng),全面反映了網(wǎng)絡(luò)的相關(guān)特性。在過程層次模擬單個(gè)對(duì)象的行為,在節(jié)點(diǎn)層次中將其互連成設(shè)備,在網(wǎng)絡(luò)層次中將這些設(shè)備互連組成網(wǎng)絡(luò)。幾個(gè)不同的網(wǎng)絡(luò)場(chǎng)景組成“項(xiàng)目”,用以比較不同的設(shè)計(jì)方案。OPNET中的建模工作在3種不同的層中完成,這3種層次也稱為3個(gè)域。Modeler采用面向?qū)ο竽M方式,每一類節(jié)點(diǎn)開始都采用相同的節(jié)點(diǎn)模型,再針對(duì)不同的對(duì)象,設(shè)置特定的參數(shù)。基于事件出發(fā)的有限狀態(tài)機(jī)建模(Finite State Machine Modeling),避免以時(shí)間出發(fā),變成以事件出發(fā)的建模。采用離散事件驅(qū)動(dòng)(Discrete Event Driven)的模擬機(jī)理,將基于包的分析方法和基于統(tǒng)計(jì)的數(shù)學(xué)建模方法結(jié)合,與時(shí)間驅(qū)動(dòng)相比,計(jì)算效率得到了很大提高。例如在仿真路由協(xié)議時(shí),如果要了解封包是否到達(dá),不必要每隔很短時(shí)間周期性地查看一次,而是收到封包,事件到達(dá)才去看。每一時(shí)刻,F(xiàn)SM 將停留在特定狀態(tài),之后收到事件,完成事件并跳轉(zhuǎn)狀態(tài)。例如路由協(xié)議要做的事有獲取周邊節(jié)點(diǎn)地址,建立拓?fù)湫畔ⅲ舐酚杀矸€(wěn)定下來,在收到封包將其轉(zhuǎn)發(fā)到下一個(gè)節(jié)點(diǎn),這些事件中斷將引起相應(yīng)的狀態(tài)轉(zhuǎn)移。采用混合建模機(jī)制,把基于包的分析方法和基于統(tǒng)計(jì)的數(shù)學(xué)建模方法結(jié)合起來,既可得到非常細(xì)節(jié)的模擬結(jié)果,也大大提高了仿真效率。 離散事件仿真機(jī)制OPNET采用基于離散事件驅(qū)動(dòng)的仿真機(jī)制。事件是指網(wǎng)絡(luò)狀態(tài)的變化。當(dāng)網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),模擬機(jī)進(jìn)行仿真,狀態(tài)不發(fā)生變化的時(shí)間段,不進(jìn)行仿真,即被跳過,因而仿真時(shí)間是離散的。每個(gè)仿真時(shí)間點(diǎn)上可以同時(shí)出現(xiàn)多個(gè)事件,事件的發(fā)生可以有疏密的區(qū)別。仿真中的各個(gè)模塊之間通過事件中斷方式傳遞事件信息。每當(dāng)出現(xiàn)一個(gè)事件中斷時(shí)都會(huì)觸發(fā)一個(gè)描述網(wǎng)絡(luò)系統(tǒng)行為或者系統(tǒng)處理的進(jìn)程模型的運(yùn)行,通過離散事件驅(qū)動(dòng)的仿真機(jī)制實(shí)現(xiàn)了在進(jìn)程級(jí)描述通信的并發(fā)性和順序性,再加上事件發(fā)生時(shí)刻的任意性,決定了可以仿真計(jì)算機(jī)和通信網(wǎng)絡(luò)中的任何情況下的網(wǎng)絡(luò)狀態(tài)和行為。 仿真調(diào)度機(jī)制在OPNET中使用基于事件列表的調(diào)度機(jī)制,合理安排調(diào)度事件,以便執(zhí)行合理的進(jìn)程來仿真網(wǎng)絡(luò)系統(tǒng)的行為。調(diào)度的完成通過仿真軟件的仿真核和仿真工具模塊以及模型模塊來實(shí)現(xiàn),事件列表的調(diào)度機(jī)制具體描述如下:1. 每個(gè)OPNET仿真都維持一個(gè)單獨(dú)的全局時(shí)間表,其中的每個(gè)項(xiàng)目和執(zhí)行都受到全局仿真時(shí)鐘的控制,仿真中以時(shí)間順序調(diào)度事件列表中的事件,需要先執(zhí)行的事件位于表的頭部。當(dāng)一個(gè)事件執(zhí)行后將從事件列表中刪除該事件。2. 仿真核作為仿真的核心管理機(jī)構(gòu),采用高效的辦法管理維護(hù)事件列表,按順序通過中斷將在隊(duì)列頭的事件交給指定模塊,同時(shí)接收各個(gè)模塊送來的中斷,并把相應(yīng)事件插入事件列表中間。仿真控制權(quán)伴隨中斷不斷地在仿真核與模塊之間轉(zhuǎn)移。3. 當(dāng)事件同時(shí)發(fā)生時(shí),仿真核按照下面兩種辦法來安排事件在事件列表中的位置:(1) 按照事件到達(dá)仿真核的時(shí)間先后順序,先到達(dá)先處理(first e first serve)。(2) 按照事件的重要程度,為事件設(shè)置不同的優(yōu)先權(quán),優(yōu)先權(quán)高的先處理。 opnet通信機(jī)制1. 基于包的通信a) 包:OPNET 采用基于包的建模機(jī)制(Simulation on packet level)來模擬實(shí)際物理網(wǎng)絡(luò)中包的流動(dòng),包括在網(wǎng)絡(luò)設(shè)備間的流動(dòng)和網(wǎng)絡(luò)設(shè)備內(nèi)部的處理過程;模擬實(shí)際網(wǎng)絡(luò)協(xié)議中的組包和拆包的過程,可以生成、編輯任何標(biāo)準(zhǔn)的或自定義的包格式,利用調(diào)試功能;還可以在模擬過程中察看任何特定包的包頭(Header)和凈荷(Payload)等內(nèi)容。包是OPNET 為支持基于信息源(Messageoriented)通信而定義的數(shù)據(jù)結(jié)構(gòu)。包被看作是對(duì)象,可以動(dòng)態(tài)創(chuàng)建、修改、檢查、拷貝、發(fā)送、接收和銷毀。每個(gè)包含有一些存儲(chǔ)信息的區(qū)域。包的類型可以是有格式(formatted)或無格式(unformatted)的。一個(gè)有格式包中每個(gè)域以名字標(biāo)識(shí),作為訪問(設(shè)置或者讀?。┌虻囊罁?jù),而無格式包只為每個(gè)域指定索引號(hào)。包域可以存儲(chǔ)不同類型的信息,如整型和雙精度型用來存儲(chǔ)數(shù)字?jǐn)?shù)據(jù);包結(jié)構(gòu)類型用來封裝另一個(gè)包;結(jié)構(gòu)體用來內(nèi)嵌用戶自定義的數(shù)據(jù)結(jié)構(gòu)。b) 包流是支持包在同一節(jié)點(diǎn)模型的不同模塊間傳輸包的物理連接,具體來說,它是源模塊的輸出端口和目的模塊輸入端口間的物理連接。包流通常分為源模塊的輸出流(Output stream)和目的模塊的輸入流(Input stream)。雖然連接到模塊的包流(輸入流和輸出流)的個(gè)數(shù)沒有限制,但是OPNET 不允許群收(Fanin)和群發(fā)(Fanout)模式,具體來說,每個(gè)輸入流只能是一個(gè)包的唯一接收者,相對(duì)應(yīng)地,每個(gè)輸出流只能是每個(gè)包的唯一發(fā)送者。c) OPNET 為目的模塊設(shè)置了一個(gè)包隊(duì)列,允許包在沒有被移除之前在隊(duì)列中積壓。包隊(duì)列是隸屬于模塊,而不隸屬于某個(gè)包流,因此連接模塊的包流可以有多個(gè),而包隊(duì)列只有一個(gè)。仿真核心不限制該隊(duì)列的大小。隊(duì)列采用先進(jìn)先出(FIFO)模式管理包,位于隊(duì)首的包才能被目的模塊通過op_pk_get(stream index)獲取并移除。2. 中斷初始狀態(tài)有以下四種:初始狀態(tài)為強(qiáng)制狀態(tài),beginsimulationintermpt被啟用。因?yàn)槭菑?qiáng)制狀態(tài),仿真開始就進(jìn)入下一個(gè)狀態(tài)。下一個(gè)狀態(tài)的進(jìn)入代碼不能包含和處理主流中斷相關(guān)的內(nèi)容。1) 初始狀態(tài)為強(qiáng)制狀態(tài),beginsimulationintemipt沒有被啟用。初始化仿真由主流中斷引起。除完成初始化工作外還要處理該中斷。2) 初始狀態(tài)為非強(qiáng)制狀態(tài),beginSimulationintemipt被啟用。此時(shí)初始化通常是放在進(jìn)入執(zhí)行部分,在仿真時(shí)間為零時(shí)完成初始化。之后,進(jìn)程將被阻塞,知道第一次主流中斷到達(dá)后才被激活。初始化的退出執(zhí)行代碼用于處理主流中斷,也可以將主流中斷交由下一個(gè)狀態(tài)的進(jìn)入代碼或轉(zhuǎn)移代碼完成。3) 初始狀態(tài)為非強(qiáng)制狀態(tài),beginsimulatinninten’Upt不被啟用。主流中斷需要完成初始化,與第一主流中斷相關(guān)的進(jìn)程要內(nèi)含在輸入初始化狀態(tài)中。這是不常用的初始化。初始中斷可以由仿真核心beginsimulationintenupt引發(fā),也可以由主流中斷引發(fā)。一般建議使用begin simulation inienupt作為初始中斷。其優(yōu)點(diǎn)是因begin simulation intenupt發(fā)生在所有中斷之前,進(jìn)程以標(biāo)準(zhǔn)的方式處理所有主流中斷,并且進(jìn)程在執(zhí)行第一次主流中斷之前能夠完成所有初始化的活動(dòng),這是非常重要的。通過使用begin simulation intenupt隊(duì)列和處理器對(duì)象設(shè)置可能產(chǎn)生的初始化中斷。如果包流的源模塊是進(jìn)程模塊,則可以通過op_pk_send()及其演變的3 種方式將包發(fā)送至目的模塊輸入流。(一) 常用的發(fā)送方式是調(diào)用op_pk_send(),當(dāng)包沿著源模塊輸出流到達(dá)目的模塊輸入流時(shí)立即向目的模塊觸發(fā)流中斷。時(shí)延由包流的“delay”屬性指定,所以包到達(dá)的時(shí)刻為包發(fā)送的時(shí)刻加上包流“delay”屬性的值。(二) 如果要模擬包在包流傳輸過程的額外延時(shí),以此來仿真模塊有限的處理速度,這時(shí)可以調(diào)用op_pk_send_delayed()函數(shù),包將滯后指定的時(shí)間達(dá)到目的模塊。(三) op_pk_send_forced()產(chǎn)生的事件不需在仿真核心的事件列表中排隊(duì),而是插隊(duì)到事件列表的隊(duì)首立刻執(zhí)行,并且包不需要經(jīng)歷從源模塊輸出流到目的模塊輸入流的延時(shí),直接到達(dá)目的模塊。(四) 前面3 種傳輸方式對(duì)于目的模塊來說是被動(dòng)的,因?yàn)榘牡竭_(dá)會(huì)強(qiáng)加一個(gè)流中斷通知它接收。如果目的模塊希望隔一定的時(shí)間間隔主動(dòng)地去從隊(duì)列中取出一個(gè)包,應(yīng)當(dāng)采用op_pk_send_quiet()函數(shù),采取一種靜默的方式發(fā)送包。 為了支持以上各種包傳輸模式,還必須設(shè)置相應(yīng)的包流“中斷模式”(intrpt mode)屬性,它有三種可選值,分別是scheduled、forced 和quiet。選擇scheduled 對(duì)應(yīng)采用op_pk_send()和op_pk_send_delayed()傳輸包,這時(shí)可以設(shè)置包流的“delay”屬性;選擇forced 對(duì)應(yīng)采用op_pk_send_forced()傳輸包;選擇quiet 對(duì)應(yīng)采用op_pk_send_quiet()。3. 包傳遞與包發(fā)送的四種方式op_pk_send()、op_pk_send_delayed()、op_pk_send_forced()和op_pk_send_quiet() 相對(duì)應(yīng),包傳遞也有四種方式,分別是op_pk_deliver() 、op_pk_deliver_delayed()、op_pk_deliver_forced()和op_pk_deliver_quiet(),但是與包發(fā)送不同的是包傳遞需要指定目的模塊的Objid。4. 用接口控制信息進(jìn)行通信(ICI)類似于基于包的通信機(jī)制。廣義ICI 是與事件關(guān)聯(lián)的用戶自定義的數(shù)據(jù)列表。由于ICI 是以事件為載體,所以它可以用在各種有關(guān)事件調(diào)度的場(chǎng)合,比包的應(yīng)用范圍更廣,如同一節(jié)點(diǎn)模型的不同模塊之間、不同節(jié)點(diǎn)模型之間以及同一節(jié)點(diǎn)模型的相同模塊內(nèi)?;贗CI的通信機(jī)制類似于數(shù)據(jù)包的通信機(jī)制,且ICI數(shù)據(jù)結(jié)構(gòu)也類似數(shù)據(jù)包,但比包結(jié)構(gòu)更簡(jiǎn)單,只包含用戶自定義的域,而不存在封裝的概念。ICI的應(yīng)用場(chǎng)合主要是:ICI是與事件關(guān)聯(lián)的用戶自定義的數(shù)據(jù)列表,ICI與事件綁定,以事件為載體,可以用在各種有關(guān)事件調(diào)度的場(chǎng)合,因此比包的應(yīng)用范圍更廣。如需傳輸額外信息又想避免使用包本身,可以使用ICI。為將ICI與一事件關(guān)聯(lián),仿真核心采用一種稱為綁定的機(jī)制,一個(gè)進(jìn)程在一個(gè)時(shí)刻只能綁定一個(gè)ICI。綁定后進(jìn)程生成的新事件都自動(dòng)與綁定的ICI地址相聯(lián)系?;贗CI 的通信適用于任何事件,而且常和流事件一起使用,雖然流事件源于包的傳輸,但是如果需要傳輸額外的信息又想避免使用包本身,這時(shí)可以用ICI。例如協(xié)議棧中的高層協(xié)議模塊在向底層傳輸包的同時(shí)可以通過ICI 捎帶這個(gè)包相應(yīng)的服務(wù)等級(jí)和目的地址。在使用op_ici_create()創(chuàng)建ICI 之前必須先編輯其格式。屬性名是讀寫ICI 數(shù)據(jù)的依據(jù),它的作用和包域名稱一樣,以屬性名作為輸入?yún)?shù)可以對(duì)相應(yīng)數(shù)據(jù)進(jìn)行設(shè)置(op_ici_attr_set)讀?。╫p_ici_attr_get) 和存在性判斷(op_ici_attr_exists)等操作。當(dāng)包被銷毀時(shí),所有包域數(shù)據(jù)所占內(nèi)存會(huì)被自動(dòng)清空,ICI 這點(diǎn)與之不同,ICI 被銷毀時(shí),其封裝的數(shù)據(jù)所占內(nèi)存需要手動(dòng)清空。 將一個(gè)ICI 與一個(gè)事件關(guān)聯(lián),仿真核心采用一種稱為綁定(Installation)的機(jī)制。在任意時(shí)刻每個(gè)進(jìn)程一次最多只能綁定一個(gè)ICI,(op_ici_install()綁定ICI,最后一個(gè)起作用的)。調(diào)用op_ici_install(OPC_NIL)拆除。ICI 是仿真中進(jìn)程動(dòng)態(tài)創(chuàng)建的對(duì)象。以ICI 格式文件名為輸入?yún)?shù),調(diào)用op_ici_create()可以返回一個(gè)相應(yīng)的ICI 指針,它作為所有后續(xù)操作的依據(jù)。5. 鏈路形式對(duì)于有線鏈路,它們都需要設(shè)定所支持的封包格式,并且要和收發(fā)信機(jī)支持的封包格式一致。有線鏈路編輯器中鏈路的類型將決定有線鏈路是點(diǎn)對(duì)點(diǎn)單工鏈路(ptsimp)、點(diǎn)對(duì)點(diǎn)雙工鏈(ptdup)、總線鏈路(bus 或bus tap)。點(diǎn)到點(diǎn)鏈路能夠在一對(duì)節(jié)點(diǎn)之間傳送數(shù)據(jù)包;總線鏈路可以將一個(gè)數(shù)據(jù)包自動(dòng)地傳送到多個(gè)目的地,通常用來代表局域網(wǎng)、計(jì)算機(jī)總線或其他基于廣播的網(wǎng)絡(luò);無線鏈路則用來模擬無線信道的頻率、功率、干擾等特性,其特性是廣播、時(shí)變以及節(jié)點(diǎn)的移動(dòng)性。為描述各個(gè)特點(diǎn),OPNET采用一系列管道階段來模擬鏈路的特性。例如:點(diǎn)到點(diǎn)鏈路要經(jīng)歷4個(gè)管道階段;總線鏈路共有6個(gè)管道階段;無線鏈路共有13個(gè)管道階段。6. 基于統(tǒng)計(jì)線的通信對(duì)于一些特定類型的進(jìn)行少量信息通信的應(yīng)用而言,利用數(shù)據(jù)包流就顯得過于復(fù)雜。因?yàn)閿?shù)據(jù)包流要經(jīng)過一個(gè)完整的創(chuàng)建、傳輸、處理、銷毀等過程。OPNET提供了非常簡(jiǎn)單的接口,用來在模塊間傳輸單獨(dú)的數(shù)字值,該接口由節(jié)點(diǎn)域中的對(duì)象―統(tǒng)計(jì)線來完成,待通信的值稱為統(tǒng)計(jì)量。統(tǒng)計(jì)線最普遍的應(yīng)用之一是使得用戶所定義的進(jìn)程能夠獲知同一節(jié)點(diǎn)內(nèi)其他模塊的狀態(tài)。尤其適用于動(dòng)態(tài)監(jiān)控其他模塊的應(yīng)用。另外,統(tǒng)計(jì)線可以作為信號(hào)量,用于實(shí)現(xiàn)不同模塊進(jìn)程的底層信令機(jī)制。 opnet 仿真流程利用OPNET仿真,一般遵循以下工作流程: 定義目標(biāo)問題:明確和規(guī)范化網(wǎng)絡(luò)仿真所要研究的問題和目標(biāo),提出明確的網(wǎng)絡(luò)仿真描述性能參數(shù)。如網(wǎng)絡(luò)通信吞吐量、鏈路利用率、設(shè)備利用率、端到端延遲、丟包率、隊(duì)列長(zhǎng)度等。 建立仿真模型:根據(jù)研究的問題和目標(biāo),建立所需的網(wǎng)絡(luò)、進(jìn)
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1