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

正文內(nèi)容

網(wǎng)絡(luò)協(xié)議測試編解碼器的設(shè)計和實現(xiàn)終版畢業(yè)論文(編輯修改稿)

2025-06-19 18:24 本頁面
 

【文章內(nèi)容簡介】 描述的抽象測試控制數(shù)據(jù),通過TTCN3編譯器轉(zhuǎn)換為C/C++程序,然后調(diào)用支撐層接口,經(jīng)C/C++編譯器編譯生成ETCD。 編解碼器原理 編解碼技術(shù)及編解碼器功能概述在測試系統(tǒng)中對協(xié)議測試PDU的組成和解釋,傳統(tǒng)上有兩種方式:標(biāo)準(zhǔn)協(xié)議實現(xiàn)(SI – Standard Implementation)+錯誤生成器(EG Error Generator)和E/D方式,分別代表20世紀(jì)80年代美國NBS[22]和英國NPL[23]開發(fā)的兩個測試系統(tǒng)采用的策略。SI+EG方式可以借用已有的協(xié)議實現(xiàn),開發(fā)起來較容易,但為了對SI產(chǎn)生的PDU注入錯誤,必須對原SI進行修改,控制起來不太方便;另一方面SI中還包括了協(xié)議狀態(tài)變遷部分,而測試?yán)幸呀?jīng)對相關(guān)問題進行了描述,因此可能對測試?yán)呐袛鄮砀蓴_。本系統(tǒng)編解碼器的特色在于可以控制被測協(xié)議實現(xiàn)合法和違法的代碼,因此本系統(tǒng)的編解碼器采用了E/D方式。E/D可以看作是一個純PDU編解碼器,它不涉及協(xié)議狀態(tài)變遷,也容易按測試?yán)x的實際情況生成帶有各類錯誤的PDU,在PDU編解碼方面比較簡潔、易于理解。編解碼器是雙端口測試系統(tǒng)底層支持的關(guān)鍵部分,它的作用在于:當(dāng)測試系統(tǒng)發(fā)送PDU時,需要調(diào)用PDU編碼器將待測PDU裝載于支撐層PDU之中;當(dāng)收到測試支撐層上傳的PDU時,解碼器需要將測試?yán)嘘P(guān)注的PDU字段進行解碼,轉(zhuǎn)換為測試數(shù)據(jù)的內(nèi)部格式以便進行比較。編解碼器貫穿于TPT的底層和后臺系統(tǒng)。它的功能被分解于多個模塊中,起到了融合功能模塊的作用。首先,它連接后臺支撐系統(tǒng)和STCE。抽象測試控制數(shù)據(jù)在被編譯的過程中調(diào)用編解碼接口,最終生成以STCE為核心的測試控制數(shù)據(jù)。其次,編解碼器參與了測試支撐層的配置。不同的測試控制數(shù)據(jù)處于特定的測試環(huán)境中,需要相應(yīng)測試支撐層的配置。編解碼器在為測試控制數(shù)據(jù)提供編解碼接口和網(wǎng)絡(luò)傳輸接口的同時,完成了對測試支撐層的配置,從而使不同的測試控制數(shù)據(jù)在執(zhí)行時調(diào)用相應(yīng)的編解碼器即可,不用考慮測試支撐層的配置細(xì)節(jié)。從而使支撐層適配模塊就很好地與STCE結(jié)合在一起。 編解碼器擴展設(shè)計方案概述編解碼器工作于單測試?yán)龍?zhí)行器與測試支撐層軟件之間,目的是方便地將被測協(xié)議的PDU進行編解碼,同時也能夠根據(jù)測試的需要人為地對被測試協(xié)議PDU進行“違法”處理,從而使測試更為完善。為此編解碼器的擴展設(shè)計對已有編解碼器的設(shè)計方案[24]做出了如下改進:l 不同層次協(xié)議的編解碼器必須保持相對一致的設(shè)計模式。由于上層PDU將作為下層PDU的“凈荷部分”(Payload)被裝入下層PDU之中。因此,在設(shè)計下層協(xié)議PDU編解碼器時,就需要考慮到上層協(xié)議PDU編解碼的需要,從而簡化不同協(xié)議的編解碼器設(shè)計和保持其格式化,將有利于后續(xù)編解碼器的開發(fā)。為此在原有編解碼器以C語言開發(fā)為主的基礎(chǔ)上,擴展后的編解碼器使用C++語言,以面向?qū)ο骩25]的軟件開發(fā)思想進行設(shè)計,以類的形式對數(shù)據(jù)和功能進行封裝,通過類的繼承、多態(tài)[26]特性實現(xiàn)編解碼器設(shè)計相對通用的框架。l 編解碼器必須根據(jù)測試需要能夠方便地對被測協(xié)議的各個字段進行填充?,F(xiàn)有的編解碼器是以C語言函數(shù)的形式實現(xiàn)該功能,在被其它部件如編譯器調(diào)用時接口多而復(fù)雜,而擴展后的編解碼器將以類成員函數(shù)的形式實現(xiàn),對外部屏蔽這些復(fù)雜地實現(xiàn),并根據(jù)C++的多態(tài)特性以統(tǒng)一的接口方便其它部件地調(diào)用。l 從軟件工程的角度來說,編解碼器作為TPT的重要組成部分,必須要自成模塊,這有利于程序調(diào)試以及系統(tǒng)升級和擴展。在原有編解碼器設(shè)計為C函數(shù)庫的基礎(chǔ)上,擴展后的編解碼器以C++類庫的型式出現(xiàn),由于C++語言更為完善的封裝機制,將使擴展后的編解碼器模塊內(nèi)部更為緊湊,而外部接口更為清晰更由于面向?qū)ο蟮脑O(shè)計模式最大的“代碼復(fù)用”的特點為,使得后續(xù)升級擴展更為便利。l 編解碼器工作于TPT之中,與多個部件如STCE和測試支撐層存在接口。針對已有編解碼器設(shè)計為C語言函數(shù)庫的形式,不同的協(xié)議編解碼器將會以各自名命函數(shù)的形式出現(xiàn),接口眾多,從而增加程序的復(fù)雜性,給其它模塊的設(shè)計增加了困難。擴展后的編解碼器根據(jù)C++類的封裝特性在類的內(nèi)部處理不同協(xié)議編解碼器功能的實現(xiàn),而通過C++面向?qū)ο笤O(shè)計的多態(tài)特性對外部提供統(tǒng)一的調(diào)用接口,這樣對內(nèi)既保護了模塊內(nèi)部的數(shù)據(jù),對外也更為簡潔。l 保持編解碼器對數(shù)據(jù)的適應(yīng)性。編解碼器僅是處理協(xié)議數(shù)據(jù)單元(PDU)編解碼,而不是判斷PDU的合法和非法,對于非法PDU必須是按合法PDU來處理,因為非法的PDU也是按測試需要發(fā)送到被測路由器。這個功能在現(xiàn)有編解碼器設(shè)計方案中已經(jīng)實現(xiàn)得比較完善,在保持該特點的基礎(chǔ)上,擴展設(shè)計中將這些功能以C++類成員函數(shù)的形式實現(xiàn)。 編解碼器與雙端口測試器各部件的關(guān)系 編解碼器與單測試?yán)龍?zhí)行器的關(guān)系在分布式并發(fā)多端口測試系統(tǒng)的設(shè)計思路中,編解碼器運行于雙端口測試器單測試?yán)龍?zhí)行器(STCE)與測試支撐層(Test Supporter,TS)之間。在實際的軟件編程實現(xiàn)中,STCE所執(zhí)行的主要功能是完成PDU的發(fā)送、接收和提供數(shù)據(jù)接口給雙端口測試管理模塊(TTM),發(fā)送和接收PDU的實際工作是通過調(diào)用對應(yīng)的編解碼器來實現(xiàn),被發(fā)送的被測PDU來自編解碼器的輸出數(shù)據(jù),接收到的支撐層PDU卻成為編解碼器的輸入數(shù)據(jù)。在具體實現(xiàn)中,編碼器編碼后的數(shù)據(jù)作為參數(shù)傳遞給單測試?yán)龍?zhí)行器所提供的系統(tǒng)底層函數(shù);而單測試?yán)龍?zhí)行器所獲取的支撐層PDU也以參數(shù)形式傳遞給解碼器對應(yīng)的協(xié)議分析函數(shù)進行解碼。對于每個具體的被測協(xié)議,原有的編解碼器給STCE提供具體的C函數(shù)庫,接口復(fù)雜;而擴展后的編解碼器對于每個具體的被測協(xié)議都給STCE提供統(tǒng)一的接口如send和receive,而對于具體協(xié)議的不同發(fā)包(send packet)和收包(receive packet)特性則通過C++類的多態(tài)性來解決。 編解碼器與測試支撐層適配模塊的關(guān)系協(xié)議測試涉及多層不同協(xié)議的測試,如典型的網(wǎng)絡(luò)層的IP(v4和v6版本)協(xié)議,及以上的ICMP和IGMP,傳輸層TCP、UDP協(xié)議,甚至更高層協(xié)議如RIP協(xié)議。針對不同路由器的測試其支撐層可能不同,比如對于IP的測試支撐層可能是Ethernet MAC或者PPP等,如果直接將被測協(xié)議的PDU裝載于支撐層PDU的“凈荷”那么一旦改變被測路由器則可能需要不同的測試支撐層,這樣必將導(dǎo)致被測協(xié)議的編解碼器與下層協(xié)議有關(guān),導(dǎo)致編解碼器的開發(fā)更為復(fù)雜。為此,在TPT中加入測試支撐層適配模塊從而屏蔽了對不同路由器同一協(xié)議的測試可能會要求不同支撐層的問題,實現(xiàn)被測協(xié)議編解碼器與下層無關(guān)的要求。由于測試支撐層適配模塊工作于被測協(xié)議的下一層因此可以完全掌控被測協(xié)議PDU甚至可以按照測試?yán)男枰蛇`法的PDU來測試路由器的判錯能力。因此測試支撐層適配模塊對編解碼器的設(shè)計以至整個測試系統(tǒng)高效地運行起著極為重要的作用。 第3章 測試支撐層環(huán)境 測試支撐層環(huán)境與測試支撐層適配模塊 網(wǎng)絡(luò)協(xié)議測試中支撐層適配模塊的作用網(wǎng)絡(luò)協(xié)議測試主要由一致性測試(Conformance Testing)、互操作性測試(Interoperable Testing)和性能測試(Performance Testing)以及魯棒測試(Robustness Testing)又稱強健性測試組成。這四種測試中,國際學(xué)術(shù)界目前能夠給出理論框架和方法論的還只是第一種測試即協(xié)議一致性測試[27]。針對不同的協(xié)議測試,通常有兩種測試方法,單層測試和多層測試。一致性測試中使用最為常用的是單層測試法。單層測試是指:測試N層協(xié)議的時候,以N層以下包括N1層的協(xié)議都被測試為正確的前提下對第N層協(xié)議進行測試。即通過在測試系統(tǒng)的N層實體與被測路由器的N層實體之間交換N層的協(xié)議數(shù)單元(PDU)的過程來觀測被測系統(tǒng)的協(xié)議行為,從而完成一致性測試的過程。對路由器或(3層交換機)/2層交換機來說,單層測試通常從路徑選擇/交換層(即網(wǎng)絡(luò)層/數(shù)據(jù)鏈路層)開始進行單層測試,然后再對其他高層進行測試。多層測試在性能測試、互通測試中使用較廣,它將被測對象的多層組合視為一個“黑匣子”進行測試,而在進行這些測試之前,被測系統(tǒng)必須進過嚴(yán)格地一致性測試。在一致性測試中,測試支撐環(huán)境是指被測層(第N層)以下的各種可能的協(xié)議層實現(xiàn)的抽象。例如:路由器的用戶數(shù)據(jù)傳輸平臺中,數(shù)據(jù)鏈路層可能是PPP、Ethernet MAC/LLC、ATM Cell或Frame Relay,為了使同一協(xié)議層的編解碼器能夠適應(yīng)不同的支撐層協(xié)議同時也為了讓TPT的設(shè)計更為緊湊簡潔,我們引入了測試支撐層適配模塊[24]。測試支撐層適配模塊的作用在于,當(dāng)進行第N層協(xié)議測試的時候支撐層適配模塊可以完全將N層以下所有可能的支撐層抽象到支撐層適配模塊中,從而實現(xiàn)N層測試與N層以下無關(guān)的目的。 網(wǎng)絡(luò)協(xié)議測試中支撐層環(huán)境的搭建在計算機網(wǎng)絡(luò)中,網(wǎng)絡(luò)協(xié)議以分層的形式開發(fā),每一層分別負(fù)責(zé)不同的通信功能。一個協(xié)議族,比如TCP/IP,是一組不同層次上的多個協(xié)議的組合[28]。如圖31所示: 應(yīng)用層 傳輸層 網(wǎng)絡(luò)層鏈路層 FTP、Telnet和RIPTCP和UDPIP、ICMP和IGMP設(shè)備驅(qū)動程序及接口卡圖31 TCP/IP協(xié)議族的四個層次套接字接口TCP或UDP頭TCP UDP套接字FreeBSD BPF原始套接字Linux PACKETWinPcap應(yīng)用程序報文 TCP或UDP頭IP頭應(yīng)用程序報文Ethernet頭TCP頭IP頭應(yīng)用程序報文IP頭應(yīng)用程序報文Ethernet頭IP頭應(yīng)用程序報文Ethernet頭應(yīng)用程序報文BPFNPF圖32 套接字 原始套接字 Linux Packet BPF NPF示意圖根據(jù)計算機網(wǎng)絡(luò)協(xié)議的分層原理,在協(xié)議測試過程中我們進一步分析端系統(tǒng)協(xié)議實現(xiàn)的層次結(jié)構(gòu)[29]如圖32所示:從圖32可以看出,被測協(xié)議PDU可控數(shù)據(jù)“應(yīng)用程序報文”從左到右所處的協(xié)議棧位置越靠近網(wǎng)絡(luò)體系結(jié)構(gòu)的底層,數(shù)據(jù)接口位置也越接近于底層。其中,TCP 套接字 UDP 套接字可以實現(xiàn)應(yīng)用層協(xié)議的PDU編碼而Linux PACKET、FreeBSD BPF(BSD Packet FilterBPF)[30]、WinPcap NPF(Netgroup Packet Filter) [24]都可以對網(wǎng)絡(luò)協(xié)議棧3層協(xié)議PDU實現(xiàn)完全可控編碼。通過分析WinPcap NPF可知,NPF是以微軟公司和3COM公司聯(lián)合提出的NDIS(Network Driver Interface Specification)[31]中的協(xié)議驅(qū)動程序標(biāo)準(zhǔn)設(shè)計的。NIDS提供三種網(wǎng)絡(luò)驅(qū)動程序包括:協(xié)議驅(qū)動程序、中間驅(qū)動程序以及和網(wǎng)絡(luò)接口卡打交道的小端口驅(qū)動程序。協(xié)議驅(qū)動程序通過中間驅(qū)動程序與小端口驅(qū)動程序交換數(shù)據(jù),從而可以對包括數(shù)據(jù)鏈路層PDU的控制。NDIS提供了大量的操作函數(shù),它為上層的協(xié)議驅(qū)動提供服務(wù),屏蔽了下層各種網(wǎng)卡的差別,向下支持不同廠家生產(chǎn)的多種網(wǎng)卡,提供一個完備的NDIS庫(Library),但庫中所提供的各個函數(shù)都是工作在內(nèi)核模式下,用戶不宜直接操作,這就需要尋找另外的接口。WinPcap可以看作是針對網(wǎng)絡(luò)層開發(fā)的一個協(xié)議驅(qū)動設(shè)備,足夠支持網(wǎng)絡(luò)層協(xié)議測試,同時相對NDIS而言WinPcap提供了更為簡潔的用戶級編程接口并且可以很好地工作于Windows平臺,因此相對工作于Linux 平臺下的Linux PACKET和工作于UNIX 平臺下的FreeBSD BPF而言,NFP與同樣是在Windows平臺下開發(fā)的TPT最為匹配。在上一節(jié)已經(jīng)討論過:針對不同的被測協(xié)議,其測試支撐層環(huán)境也不相同。通過圖32可以看到網(wǎng)絡(luò)PDU分層操作控制的情況,因此我們可以根據(jù)所要測試的協(xié)議選擇適當(dāng)?shù)闹螌庸ぞ撸罱ǚ蠝y試的支撐層適配模塊。 以WinPcap為核心的測試支撐層環(huán)境 WinPcap系統(tǒng)介紹WinPcap是一種應(yīng)用于Win32平臺的數(shù)據(jù)包俘獲與網(wǎng)絡(luò)分析的一種體系結(jié)構(gòu)[32],利用該庫可以向開發(fā)人員屏蔽底層網(wǎng)絡(luò)鏈路,直接獲得網(wǎng)絡(luò)流量數(shù)據(jù),為Win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力,其主要思想來源于Unix系統(tǒng)中BSD 包俘獲構(gòu)架。WinPcap 基本體系結(jié)構(gòu)如圖33所示,由3個模塊組成。圖33 WinPcap系統(tǒng)應(yīng)用程序應(yīng)用程序NPFNIC driver(網(wǎng)卡驅(qū)動)其它協(xié)議棧用戶級內(nèi)核級物理網(wǎng)絡(luò)Packet1 NPF包過濾器。數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動程序,是架構(gòu)的核心(在Win95/ 98中是一個VXD文件,在NT/2000中是一個SYS文件) ,它工作在內(nèi)核級,主要功能是過濾數(shù)據(jù)包,在包上附加時間戳、數(shù)據(jù)包長度等信息。它直接從數(shù)據(jù)鏈路層取得網(wǎng)絡(luò)數(shù)據(jù)包,不加修改地傳給運行在用戶層的應(yīng)用程序,也允許用戶發(fā)送原始數(shù)據(jù)包。2 ,工作在用戶級,把應(yīng)用程序和數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動程序隔離開來,使得程序可以不加修改地在不同的Windows系統(tǒng)上運行。,利用“原始(raw)”模式發(fā)送和接收包。不同Windows ,但由于它提供了一套相同的調(diào)用接口,這樣使得高級系統(tǒng)無關(guān)庫不依賴于特定的Windows平臺。3 ,也工作在用戶級,它和應(yīng)用程序編譯在一起,,向應(yīng)用程序提供完善的監(jiān)聽接口。與在Unix ,,其中一些API是Windows中特有的,因此根據(jù)WinPcap開發(fā)的應(yīng)用在UNIX系統(tǒng)下也可以被支持,從而實現(xiàn)應(yīng)用與操作系統(tǒng)的無關(guān)。不同的Windows 平臺上的高級系統(tǒng)無關(guān)庫則是相同的。 以WinPcap為核心的測試支撐層的優(yōu)點通過以上WinPcap系統(tǒng)結(jié)構(gòu)的分析可知,WinPcap通過NPF、:n 捕獲原始數(shù)據(jù)報,包括在共享網(wǎng)絡(luò)上各主機發(fā)送/接收的以及相互之間交換的數(shù)據(jù)報n 在數(shù)據(jù)報發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報過濾掉n 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報n 收集網(wǎng)絡(luò)通信過程中的統(tǒng)計信息因此通過WinPcap建立的支撐層軟件環(huán)境有以下優(yōu)點:1. 作為設(shè)備驅(qū)動,NPF提供了完整的數(shù)據(jù)鏈路層功能,適用于建立對網(wǎng)絡(luò)層協(xié)議進行測試的支撐層適配環(huán)
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1