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

正文內(nèi)容

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

2025-06-19 18:24 本頁(yè)面
 

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