• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      通用高性能網(wǎng)絡(luò)框架的研究與應(yīng)用*

      2021-08-06 09:18:48顏光偉陳勃翰
      通信技術(shù) 2021年7期
      關(guān)鍵詞:子層網(wǎng)絡(luò)連接邏輯

      顏光偉,劉 揚(yáng),陳勃翰

      (中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)

      0 引 言

      隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,不管是面向企業(yè)用戶還是個(gè)人消費(fèi)者,網(wǎng)絡(luò)功能都是應(yīng)用軟件不可或缺的基本功能。目前應(yīng)用軟件的網(wǎng)絡(luò)功能開(kāi)發(fā)具有過(guò)程復(fù)雜、周期漫長(zhǎng)、通信協(xié)議不統(tǒng)一和復(fù)用程度低等缺點(diǎn),改善并簡(jiǎn)化網(wǎng)絡(luò)通信開(kāi)發(fā)過(guò)程是當(dāng)前應(yīng)用軟件研發(fā)的重要研究方向[1]?;ヂ?lián)網(wǎng)上的開(kāi)源網(wǎng)絡(luò)庫(kù)也比較多,比如Mudoo、Boost.Asio、ACE、LibEvent等。這些開(kāi)源庫(kù)都實(shí)現(xiàn)了網(wǎng)絡(luò)通信功能封裝,但是無(wú)法與應(yīng)用業(yè)務(wù)實(shí)現(xiàn)按需關(guān)聯(lián),且必須二次開(kāi)發(fā)才能進(jìn)一步滿足應(yīng)用軟件的具體業(yè)務(wù)需求。因此,研究一種通用的高性能網(wǎng)絡(luò)框架對(duì)于簡(jiǎn)化應(yīng)用軟件的網(wǎng)絡(luò)開(kāi)發(fā)工作,提高軟件開(kāi)發(fā)成果的復(fù)用性具有重要作用。本文基于異步網(wǎng)絡(luò)通信機(jī)制,提出一種通用的高性能網(wǎng)絡(luò)框架實(shí)現(xiàn)方案,能夠滿足應(yīng)用軟件的網(wǎng)絡(luò)通信和業(yè)務(wù)處理需求,使研發(fā)人員更加專注于業(yè)務(wù)層面的用戶需求。

      1 相關(guān)技術(shù)介紹

      Boost是一個(gè)開(kāi)源的跨平臺(tái)C++程序庫(kù)。它功能組件眾多,很多組件已被收錄進(jìn)C++標(biāo)準(zhǔn),所以也被稱為C++“準(zhǔn)”標(biāo)準(zhǔn)庫(kù)[2]。Boost庫(kù)提供了常用的網(wǎng)絡(luò)通信、并發(fā)編程、日期與時(shí)間、字符串、正則表達(dá)式等模塊,彌補(bǔ)了C++語(yǔ)言在許多方面的不足,極大增強(qiáng)了C++語(yǔ)言的活力和生命力。Asio是Boost庫(kù)中非常出名的用于處理網(wǎng)絡(luò)通信的輕量級(jí)類庫(kù),支持高并發(fā)輸入/輸出(Input/Output,I/O)處理和多種網(wǎng)絡(luò)協(xié)議,內(nèi)部集成了網(wǎng)絡(luò)編程常用的操作接口,并支持同步和異步調(diào)用方式,相關(guān)接口以類的形式進(jìn)行封裝并對(duì)外提供調(diào)用[3]。由于綜合表現(xiàn)出色,Boost.Asio庫(kù)正逐漸成為C++網(wǎng)絡(luò)庫(kù)的工業(yè)化標(biāo)準(zhǔn),被越來(lái)越多的網(wǎng)絡(luò)應(yīng)用作為基礎(chǔ)框架。

      Boost.Asio庫(kù)的異步網(wǎng)絡(luò)通信采用Proactor模式。在Proactor模式中,任意網(wǎng)絡(luò)操作(accept、connect、send、receive等)都是調(diào)用的異步I/O,在調(diào)用相關(guān)操作接口時(shí)只是向操作系統(tǒng)進(jìn)行了操作注冊(cè),由操作系統(tǒng)進(jìn)行實(shí)際的操作處理,待操作系統(tǒng)完成操作后再通過(guò)回調(diào)主動(dòng)通知,實(shí)現(xiàn)后續(xù)的業(yè)務(wù)流程[4]。

      2 通用高性能網(wǎng)絡(luò)框架

      本文設(shè)計(jì)的網(wǎng)絡(luò)框架采用層次化、模塊化思路,使用C++編程語(yǔ)言進(jìn)行開(kāi)發(fā),基于Boost.Asio庫(kù)實(shí)現(xiàn)高性能異步網(wǎng)絡(luò)通信,通過(guò)XML實(shí)現(xiàn)框架內(nèi)外的關(guān)聯(lián)配置,適用于傳輸控制協(xié)議(Transmission Control Protocol,TCP)、用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)、Internet控制報(bào)文協(xié)議(Internet Control Message Protocol,ICMP)、原始套接字(Raw Socket,RAW)網(wǎng)絡(luò)通信模式,可以滿足軟件輕量級(jí)、高并發(fā)的網(wǎng)絡(luò)通信需求,具有跨平臺(tái)、高性能、通用性、伸縮性、可維性和擴(kuò)展性等特點(diǎn)。

      2.1 框架架構(gòu)

      框架依據(jù)層次化設(shè)計(jì)思路,從下到上依次分為共享操作層、服務(wù)調(diào)度層、業(yè)務(wù)邏輯層和業(yè)務(wù)接口層4個(gè)層級(jí)(見(jiàn)圖1)。共享操作層包含與業(yè)務(wù)邏輯無(wú)關(guān)的可復(fù)用基礎(chǔ)操作集合,這些常用操作在優(yōu)秀開(kāi)源庫(kù)的基礎(chǔ)上進(jìn)行二次封裝,實(shí)現(xiàn)已有成果的重用,避免重復(fù)造輪子[5];服務(wù)調(diào)度層是整個(gè)框架的核心,以Boost.Asio庫(kù)的異步網(wǎng)絡(luò)通信為基礎(chǔ),進(jìn)行框架內(nèi)外消息數(shù)據(jù)的通信調(diào)度,實(shí)現(xiàn)業(yè)務(wù)邏輯與協(xié)議數(shù)據(jù)的“透明”耦合;業(yè)務(wù)邏輯層包含具體業(yè)務(wù)操作集合,依據(jù)模塊化思路進(jìn)行業(yè)務(wù)邏輯獨(dú)立封裝,業(yè)務(wù)之間通過(guò)統(tǒng)一接口進(jìn)行關(guān)聯(lián)操作;業(yè)務(wù)接口層實(shí)現(xiàn)框架內(nèi)外通信接口,內(nèi)部接口以接口函數(shù)方式基于統(tǒng)一格式進(jìn)行封裝,外部接口以網(wǎng)絡(luò)服務(wù)方式對(duì)外提供。

      服務(wù)調(diào)度層由異步I/O、消息調(diào)度子層、網(wǎng)絡(luò)協(xié)議子層和業(yè)務(wù)協(xié)議子層組成,通過(guò)接口進(jìn)行通信。異步I/O基于Boost.Asio庫(kù)實(shí)現(xiàn)大規(guī)模網(wǎng)絡(luò)連接高效率并發(fā)處理;消息調(diào)度子層將網(wǎng)絡(luò)連接抽象為網(wǎng)絡(luò)會(huì)話進(jìn)行全生命期的異步跟蹤,對(duì)異步I/O的網(wǎng)絡(luò)操作通知及時(shí)分配工作線程池中的空閑線程進(jìn)行處理,將任意業(yè)務(wù)邏輯與網(wǎng)絡(luò)操作行為(accept、connect、send、receive、close)的關(guān)系通過(guò)狀態(tài)機(jī)模型建立異步關(guān)聯(lián),實(shí)現(xiàn)任意復(fù)雜業(yè)務(wù)的操作流水化,并通過(guò)XML配置實(shí)現(xiàn)消息調(diào)度、網(wǎng)絡(luò)協(xié)議、業(yè)務(wù)協(xié)議和業(yè)務(wù)邏輯之間的按需關(guān)聯(lián);網(wǎng)絡(luò)協(xié)議子層實(shí)現(xiàn)TCP、UDP等通用網(wǎng)絡(luò)協(xié)議的異步調(diào)用接口;業(yè)務(wù)協(xié)議子層實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)格式解析和封裝,使業(yè)務(wù)邏輯不因業(yè)務(wù)協(xié)議的變化而修改,達(dá)到業(yè)務(wù)協(xié)議對(duì)業(yè)務(wù)邏輯透明。

      2.2 框架內(nèi)部關(guān)聯(lián)關(guān)系

      服務(wù)調(diào)度層的異步I/O負(fù)責(zé)具體的網(wǎng)絡(luò)操作,網(wǎng)絡(luò)協(xié)議子層負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)(包含業(yè)務(wù)數(shù)據(jù)和管理數(shù)據(jù))收發(fā),并在對(duì)應(yīng)的網(wǎng)絡(luò)操作完成后回調(diào)通知消息調(diào)度子層,由消息調(diào)度子層依據(jù)網(wǎng)絡(luò)操作行為進(jìn)行協(xié)議數(shù)據(jù)解析驗(yàn)證,依據(jù)解析驗(yàn)證結(jié)果調(diào)用業(yè)務(wù)邏輯層的具體業(yè)務(wù)模塊進(jìn)行業(yè)務(wù)邏輯處理。

      業(yè)務(wù)過(guò)程如果需要進(jìn)行業(yè)務(wù)數(shù)據(jù)收發(fā),則通過(guò)業(yè)務(wù)協(xié)議子層進(jìn)行數(shù)據(jù)收發(fā)通知,并通過(guò)網(wǎng)絡(luò)協(xié)議子層完成網(wǎng)絡(luò)操作。在發(fā)送數(shù)據(jù)時(shí),通過(guò)業(yè)務(wù)協(xié)議子層完成業(yè)務(wù)協(xié)議數(shù)據(jù)封裝,實(shí)現(xiàn)業(yè)務(wù)邏輯與協(xié)議數(shù)據(jù)格式的“透明”耦合,業(yè)務(wù)邏輯不用關(guān)心具體的業(yè)務(wù)協(xié)議數(shù)據(jù)格式,進(jìn)入業(yè)務(wù)邏輯都是已經(jīng)剝離相關(guān)業(yè)務(wù)協(xié)議格式的原始業(yè)務(wù)數(shù)據(jù),實(shí)現(xiàn)相同業(yè)務(wù)邏輯在不同項(xiàng)目的重復(fù)使用??蚣軆?nèi)部關(guān)聯(lián)關(guān)系詳見(jiàn)圖2。

      2.3 業(yè)務(wù)協(xié)議接口設(shè)計(jì)

      業(yè)務(wù)協(xié)議子層采用C++多態(tài)機(jī)制,完成業(yè)務(wù)協(xié)議數(shù)據(jù)網(wǎng)絡(luò)收發(fā)通知、格式封裝和解析驗(yàn)證,實(shí)現(xiàn)業(yè)務(wù)協(xié)議格式與業(yè)務(wù)邏輯的彼此獨(dú)立和按需組合。

      框架支持定長(zhǎng)和不定長(zhǎng)兩種業(yè)務(wù)協(xié)議數(shù)據(jù)。定長(zhǎng)業(yè)務(wù)協(xié)議數(shù)據(jù)區(qū)分協(xié)議頭和協(xié)議體兩部分,網(wǎng)絡(luò)接收數(shù)據(jù)時(shí)先收協(xié)議頭,然后進(jìn)行協(xié)議頭解析并獲取協(xié)議體長(zhǎng)度,接著繼續(xù)接收協(xié)議體。待對(duì)應(yīng)的協(xié)議頭和協(xié)議體數(shù)據(jù)接收完成后,再進(jìn)行業(yè)務(wù)數(shù)據(jù)的完整解析驗(yàn)證,并在完成驗(yàn)證后將數(shù)據(jù)送入業(yè)務(wù)模塊處理。對(duì)于沒(méi)有區(qū)分固定協(xié)議頭和協(xié)議體的不定長(zhǎng)數(shù)據(jù),按照“應(yīng)收盡收”原則,盡可能接收足夠數(shù)據(jù)。網(wǎng)絡(luò)發(fā)送數(shù)據(jù)前對(duì)待發(fā)送數(shù)據(jù)按照業(yè)務(wù)協(xié)議格式進(jìn)行封裝,然后再進(jìn)行發(fā)送。

      業(yè)務(wù)協(xié)議子層模塊部分接口設(shè)計(jì)如下:

      // 接收固定協(xié)議頭

      virtual int async_recv_head(IN CSession*session,IN u_int timeout) = 0;

      // 接收固定協(xié)議體

      virtual int async_recv_body(IN CSession*session,IN u_int timeout) = 0;

      // 接收不固定協(xié)議數(shù)據(jù)

      virtual int async_recv_some(IN CSession*session,IN u_int minlen,IN u_int timeout) = 0;

      // 發(fā)送協(xié)議數(shù)據(jù)(協(xié)議頭+協(xié)議體)

      virtual int async_send_buf(IN CSession *session,IN u_int timeout) = 0;

      // 解析驗(yàn)證接收到的協(xié)議頭

      virtual int unpackaging_head(IN CSession *session)= 0;

      // 解析驗(yàn)證接收到的協(xié)議體

      virtual int unpackaging_body(IN CSession *session)= 0;

      // 封裝協(xié)議頭

      virtual int packaging_head(IN CSession *session) = 0;

      // 封裝協(xié)議體

      virtual int packaging_body(IN CSession *session,IN const void *value = NULL,IN u_int value_size = 0,IN u_int value_len = 0) = 0;

      3 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)

      3.1 網(wǎng)絡(luò)會(huì)話設(shè)計(jì)

      為了確保數(shù)據(jù)在業(yè)務(wù)生命周期內(nèi)的完整性、有效性和唯一性,以及業(yè)務(wù)處理過(guò)程中對(duì)數(shù)據(jù)訪問(wèn)的便捷性和及時(shí)性,框架將網(wǎng)絡(luò)連接及關(guān)聯(lián)數(shù)據(jù)抽象為網(wǎng)絡(luò)會(huì)話(自定義類CSession),實(shí)現(xiàn)網(wǎng)絡(luò)連接生命期內(nèi)統(tǒng)一管理。網(wǎng)絡(luò)會(huì)話涉及業(yè)務(wù)過(guò)程中發(fā)生的完整關(guān)聯(lián)數(shù)據(jù)集合,包含網(wǎng)絡(luò)套接字、數(shù)據(jù)庫(kù)連接、業(yè)務(wù)模塊以及業(yè)務(wù)數(shù)據(jù)等,如圖3所示。

      網(wǎng)絡(luò)會(huì)話的生命周期與網(wǎng)絡(luò)連接保持一致,隨著網(wǎng)絡(luò)連接的建立而創(chuàng)建,網(wǎng)絡(luò)連接的關(guān)閉而銷毀。但是在大規(guī)模網(wǎng)絡(luò)連接并發(fā)訪問(wèn)場(chǎng)景中,為避免頻繁進(jìn)行資源分配、銷毀而影響業(yè)務(wù)性能,在關(guān)閉網(wǎng)絡(luò)連接時(shí)并不進(jìn)行網(wǎng)絡(luò)會(huì)話的銷毀,而只是進(jìn)行網(wǎng)絡(luò)套接字的關(guān)閉和關(guān)聯(lián)數(shù)據(jù)的復(fù)位,并在新的網(wǎng)絡(luò)連接建立后再次關(guān)聯(lián)使用。數(shù)據(jù)庫(kù)連接通過(guò)配置實(shí)現(xiàn)數(shù)據(jù)庫(kù)類型及其他數(shù)據(jù)庫(kù)訪問(wèn)參數(shù)的讀取,基于“一線程一實(shí)例”原則進(jìn)行創(chuàng)建,運(yùn)行多少個(gè)工作線程就建立相應(yīng)數(shù)量的數(shù)據(jù)庫(kù)連接,并在工作線程進(jìn)行業(yè)務(wù)處理前與網(wǎng)絡(luò)會(huì)話進(jìn)行綁定,實(shí)現(xiàn)業(yè)務(wù)過(guò)程中基于網(wǎng)絡(luò)會(huì)話的數(shù)據(jù)庫(kù)訪問(wèn)操作,又避免多線程并發(fā)業(yè)務(wù)導(dǎo)致的數(shù)據(jù)庫(kù)訪問(wèn)沖突。業(yè)務(wù)協(xié)議子層在完成業(yè)務(wù)協(xié)議數(shù)據(jù)解析后,能夠獲取業(yè)務(wù)標(biāo)識(shí),并依據(jù)業(yè)務(wù)標(biāo)識(shí)在首次業(yè)務(wù)處理前進(jìn)行業(yè)務(wù)模塊的創(chuàng)建,并在網(wǎng)絡(luò)會(huì)話關(guān)閉時(shí)進(jìn)行業(yè)務(wù)模塊的銷毀。業(yè)務(wù)數(shù)據(jù)包含獨(dú)立的網(wǎng)絡(luò)發(fā)送和接收緩沖區(qū),以便實(shí)現(xiàn)網(wǎng)絡(luò)全雙工通信,在業(yè)務(wù)過(guò)程中可以依據(jù)需要進(jìn)行收發(fā)緩沖區(qū)的交換而避免數(shù)據(jù)拷貝,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)快速發(fā)送。

      在業(yè)務(wù)過(guò)程中,業(yè)務(wù)A創(chuàng)建了業(yè)務(wù)B,此時(shí)稱業(yè)務(wù)A為父業(yè)務(wù),業(yè)務(wù)B為子業(yè)務(wù)。父業(yè)務(wù)創(chuàng)建子業(yè)務(wù)時(shí),通過(guò)將父業(yè)務(wù)的網(wǎng)絡(luò)會(huì)話傳遞給子業(yè)務(wù),此時(shí)父業(yè)務(wù)和子業(yè)務(wù)都可以獲得對(duì)方的網(wǎng)絡(luò)會(huì)話,實(shí)現(xiàn)相同網(wǎng)絡(luò)會(huì)話在多個(gè)關(guān)聯(lián)業(yè)務(wù)間流轉(zhuǎn),滿足業(yè)務(wù)關(guān)聯(lián)數(shù)據(jù)的快速共享訪問(wèn),提高業(yè)務(wù)消息傳遞效率。

      3.2 組件化設(shè)計(jì)

      框架的所有模塊依據(jù)“一業(yè)務(wù)、一模塊”原則,使用C++類進(jìn)行業(yè)務(wù)邏輯封裝,并生成獨(dú)立動(dòng)態(tài)庫(kù)。業(yè)務(wù)間通過(guò)接口進(jìn)行耦合,特定業(yè)務(wù)流程或者邏輯修改不影響其他業(yè)務(wù),同時(shí)采用XML配置決定上線運(yùn)行的模塊以及模塊間的業(yè)務(wù)關(guān)聯(lián)關(guān)系。框架通過(guò)網(wǎng)絡(luò)服務(wù)對(duì)外提供接口,并使用XML配置網(wǎng)絡(luò)服務(wù)的相關(guān)參數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)與業(yè)務(wù)的關(guān)聯(lián)綁定。如圖4所示。

      網(wǎng)絡(luò)服務(wù)的配置涉及網(wǎng)絡(luò)參數(shù)、網(wǎng)絡(luò)協(xié)議模塊、業(yè)務(wù)協(xié)議模塊、消息調(diào)度模塊、數(shù)據(jù)庫(kù)模塊和業(yè)務(wù)模塊集合等。網(wǎng)絡(luò)參數(shù)包含服務(wù)地址和端口、連接超時(shí)值、收發(fā)數(shù)據(jù)超時(shí)值、收發(fā)數(shù)據(jù)緩沖區(qū)大小等;網(wǎng)絡(luò)協(xié)議模塊確定網(wǎng)絡(luò)服務(wù)所采用的通用基礎(chǔ)網(wǎng)絡(luò)協(xié)議,如TCP、UDP、ICMP、原始套接字等;業(yè)務(wù)協(xié)議模塊與具體項(xiàng)目相關(guān),實(shí)現(xiàn)具體業(yè)務(wù)邏輯關(guān)聯(lián)的應(yīng)用層數(shù)據(jù)格式;消息調(diào)度模塊決定采用哪一種消息調(diào)度器,實(shí)現(xiàn)消息數(shù)據(jù)的調(diào)度處理;數(shù)據(jù)庫(kù)模塊包含項(xiàng)目采用的數(shù)據(jù)庫(kù)類型(如MySQL)、數(shù)據(jù)庫(kù)訪問(wèn)參數(shù)(如登錄賬戶信息等)和訪問(wèn)數(shù)據(jù)庫(kù)的接口(如unixODBC接口);業(yè)務(wù)模塊通過(guò)業(yè)務(wù)標(biāo)識(shí)唯一確認(rèn)具體業(yè)務(wù),只有配置在該網(wǎng)絡(luò)服務(wù)中的業(yè)務(wù)模塊才允許被觸發(fā)調(diào)用。

      框架部分XML配置如下:

      4 框架應(yīng)用

      該框架在2G的可用內(nèi)存中實(shí)現(xiàn)了20萬(wàn)網(wǎng)絡(luò)連接并發(fā)收發(fā)數(shù)據(jù)測(cè)試,對(duì)接了達(dá)夢(mèng)、金倉(cāng)、MySQL等國(guó)產(chǎn)化和非國(guó)產(chǎn)化的多種類型數(shù)據(jù)庫(kù),并已經(jīng)在實(shí)際多個(gè)項(xiàng)目進(jìn)行應(yīng)用,涉及軟硬件結(jié)合項(xiàng)目和純軟件項(xiàng)目,涵蓋x86、PowerPC、龍芯、兆芯、飛騰、Windows、Linux、中科方德、中標(biāo)麒麟等眾多軟硬件組合的非國(guó)產(chǎn)化和國(guó)產(chǎn)化環(huán)境。各個(gè)項(xiàng)目重用了除部分業(yè)務(wù)協(xié)議模塊、業(yè)務(wù)模塊外的框架其他成果,并依據(jù)實(shí)際項(xiàng)目情況調(diào)整了部分框架參數(shù),同時(shí)在此基礎(chǔ)上進(jìn)行擴(kuò)展開(kāi)發(fā),實(shí)現(xiàn)了工作成果的復(fù)用。

      5 結(jié) 語(yǔ)

      本文針對(duì)當(dāng)前應(yīng)用軟件研發(fā)過(guò)程中出現(xiàn)的網(wǎng)絡(luò)功能開(kāi)發(fā)復(fù)雜、開(kāi)發(fā)成本大、網(wǎng)絡(luò)框架無(wú)法通用等問(wèn)題研究了一種通用的高性能網(wǎng)絡(luò)框架,并基于C++編程語(yǔ)言進(jìn)行了實(shí)現(xiàn),使用第三方軟件對(duì)實(shí)現(xiàn)結(jié)果進(jìn)行了通信效果測(cè)試,驗(yàn)證了框架的應(yīng)用效果。同時(shí),該框架已經(jīng)在多個(gè)項(xiàng)目進(jìn)行復(fù)用,滿足了不同項(xiàng)目的業(yè)務(wù)需求,降低了項(xiàng)目的研發(fā)成本。

      猜你喜歡
      子層網(wǎng)絡(luò)連接邏輯
      刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
      法律方法(2022年2期)2022-10-20 06:44:24
      邏輯
      創(chuàng)新的邏輯
      個(gè)性化設(shè)置 Win10 的網(wǎng)絡(luò)連接信息
      電腦報(bào)(2019年5期)2019-09-10 07:22:44
      運(yùn)動(dòng)想象的大尺度動(dòng)態(tài)功能網(wǎng)絡(luò)連接
      復(fù)合材料厚層合板力學(xué)性能等效方法研究
      女人買(mǎi)買(mǎi)買(mǎi)的神邏輯
      37°女人(2017年11期)2017-11-14 20:27:40
      分離載荷近距協(xié)議的數(shù)據(jù)鏈路層仿真研究
      中小型網(wǎng)絡(luò)組建技術(shù)
      以太網(wǎng)協(xié)議模型的演進(jìn)分析
      闵行区| 大足县| 安达市| 合山市| 宾阳县| 陇南市| 方正县| 汨罗市| 哈密市| 将乐县| 宜春市| 吉首市| 县级市| 皮山县| 定安县| 禄丰县| 汶川县| 沙坪坝区| 淮南市| 洛阳市| 博爱县| 阜阳市| 灯塔市| 广元市| 五华县| 大港区| 西吉县| 潮安县| 逊克县| 古蔺县| 鱼台县| 北票市| 黄龙县| 监利县| 南皮县| 德江县| 龙岩市| 凤翔县| 庄河市| 罗江县| 城口县|