• 
    

    
    

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

      ?

      基于BATMAN_Adv路由協議的自組網系統(tǒng)研究與實現

      2018-07-12 12:26:04
      火控雷達技術 2018年2期
      關鍵詞:網卡內核序號

      鄭 昱 惠 子 陳 婷

      (1.西安電子工程研究所 西安 710100;2.陜西應用物理化學研究所 西安 710061)

      0 引言

      移動自組網具有無中心抗毀性好、無需基礎設施支持、支持高速動態(tài)變化的網絡拓撲等優(yōu)點,使其非常適合應用于軍用戰(zhàn)術網絡和民用車載網絡[1]。自組網的核心是路由算法,如何使用一個性能優(yōu)越的路由算法是自組網系統(tǒng)設計的關鍵。本文對BATMAN_Adv路由協議進行了研究,并基于該協議在ARM嵌入式開發(fā)平臺上實現了一種自組網系統(tǒng)。

      1 BATMAN_Adv路由協議研究

      1.1 BATMAN_Adv簡介

      BATMAN_Adv為移動Ad-Hoc網絡更優(yōu)方案高級版(Better Approach To Mobile Ad-Hoc Networking Advanced)的英文縮寫,其源自于對BATMAN(Better Approach To Mobile Ad-Hoc Networking)路由協議的增強和改進。BATMAN路由協議采用了一種先驗式的自組網路由算法[2],它與OLSR等其他先驗式自組網路由算法不同,每個節(jié)點無需通過獲得全網的網絡拓撲來找尋到達目的節(jié)點的完整路由路徑,而只需要獲得通過哪些鄰居節(jié)點夠到達目的節(jié)點,并從中選擇到達目的節(jié)點的最佳鄰居節(jié)點作為數據的下一跳節(jié)點。這樣使得協議輕量化,能夠迅速適應快速變化的網絡拓撲,大大減輕了每個節(jié)點的處理數據量,從而解決了OLSR等之前的先驗式路由算法在網路規(guī)模擴大時對節(jié)點處理能力要求增加,處理時延增大的問題。

      BATMAN_Adv路由協議是針對BATMAN路由協議的改進,其在保持BATMAN基本算法的基礎上,主要將路由協議由路由層實現改為MAC層實現,路由協議幀由UDP包改為以太網幀。這樣的改進首先使得BATMAN路由算法在軟件實現時可以從操作系統(tǒng)的用戶層實現轉為內核層實現,從而降低軟件處理的開銷;其次,形成一個虛擬的二層交換網絡,各節(jié)點如同在一個本地交換網絡中進行數據傳輸,它們無需了解全網拓撲情況;最后,由于在MAC層中運行,所以在其之上可以適配幾乎所有網絡協議,例如Ipv4、Ipv6、DHCP等,擴展性極強。雖然BATMAN_Adv在MAC層中運行,但是其并不依賴于特定的網絡硬件,可以支持任何采用以太網類型的底層網絡,例如Wifi、LAN、VPN等[3]。

      下面根據BATMAN_Adv的最新實現協議對其各個關鍵技術方面進行研究分析。

      1.2 BATMAN_Adv協議幀

      BATMAN_Adv路由協議包含BATADV_IV_OGM,BATADV_BCAST, BATADV_CODED,BATADV_UNICAST,BATADV_UNICAST_FRAG,BATADV_UNICAST_4ADDR,BATADV_ICMP,BATADV_UNICAST_TVLV八種協議幀。其中,BATADV_IV_OGM協議幀主要用于節(jié)點發(fā)現、鏈路檢測等,BATADV_BCAST和BATADV_UNICAST主要用于承載上層廣播和單播的以太網幀。在這八種協議幀中,對于路由算法的正確運行來說最為關鍵的幀為BATADV_IV_OGM幀,下面就主要對OGM的幀結構進行相應的分析。

      BATADV_IV_OGM除去協議名稱和版本號的前綴BATADV_IV后,一般稱其為OGM幀,OGM為Originator Message(源節(jié)點消息)的縮寫。其幀格式如圖1所示。

      圖1 OGM幀結構

      其中,各主要域的具體表示如下:

      1)類型:用于區(qū)分BATMAN_Adv八種不同的幀;

      2)版本:用于表示協議版本信息;

      3)TTL:OGM生存期,即OGM的最大轉發(fā)次數;

      4)FLAG:用于表示路由的相關標識;

      5)序號:用于區(qū)分新舊OGM幀,是路由選擇的關鍵信息,長度為4字節(jié),循環(huán)使用;

      6)源地址:生成該OGM的源節(jié)點地址;

      7)上一跳地址:表示上一跳節(jié)點的地址;

      8)TQ:表示鏈路的傳輸質量。

      1.3 BATMAN_Adv滑動窗口機制

      BATMAN_Adv通過統(tǒng)計和分析接收到OGM幀的數量來判斷已檢測到鏈路的質量。由于自組網網絡鏈路的不確定性,OGM幀在傳輸過程中可能延遲或者丟失,所以節(jié)點可能收到較早的OGM幀,這種較早的OGM幀所攜帶的鏈路信息早已失效,應該將其丟棄。BATMAN_Adv通過滑動窗口機制來維護一組有效的OGM幀序號。如圖2所示,假設窗口大小為8,當前最新OGM序號為100,則有效的OGM序號為93到100。說明只要收到的OGM幀的序號在這8個序號之內就說明該OGM幀為有效OGM幀,應該將其統(tǒng)計并分析;如果收到的OGM幀的序號不在這8個序號之內,則應該判斷該序號在滑動窗口的左側還是右側,如果在左側,則說明該幀為過期失效的OGM幀,應該不做統(tǒng)計分析,直接丟棄,如果在右側,則說明該幀比當前最新OGM序號還更新,應該調整滑動窗口,將最新OGM序號設置為該幀的序號,滑動窗口相應右移,并對其進行統(tǒng)計分析。

      圖2 滑動窗口機制

      1.4 BATMAN_Adv 源節(jié)點表

      BATMAN_Adv維護著一個源節(jié)點信息表,該表與傳統(tǒng)路由表的功能類似,用于存儲本節(jié)點所獲得的所有源節(jié)點的信息。

      源節(jié)點信息表的基本單位為一個源節(jié)點信息單元,該單元存儲著本節(jié)點關于該源節(jié)點的所有信息,單元中的表項較多,不僅包含路由所需要的信息,還包含VLAN表、編碼表等子表項,以及維護源節(jié)點信息表的鏈表信息,所以下面只對其中最為核心的表項進行相應的分析。

      1)orig:用于存儲該源節(jié)點的以太網MAC地址信息;

      2)ifinfo_list:源節(jié)點硬件接口信息表,包含了router、last_real_seqno、last_ttl等子表項,其中router中包含了如何路由才能達到該源節(jié)點的信息,即到達該源節(jié)點的最優(yōu)下一跳節(jié)點信息,last_real_seqno是最后收到的來源于該源節(jié)點的OGM幀序號,即1.3節(jié)中所指的當前最新OGM序號,last_ttl是最新收到數據包的TTL信息,在一個穩(wěn)定的網絡拓撲中,兩節(jié)點之間傳輸的數據包的TTL不會有大的改變,所以通過該信息可以檢測目前網絡拓撲是否有變化;

      3)last_seen:從該源節(jié)點收到的數據包的最新時間標識;

      4)neigh_list:所有能夠到達該源節(jié)點的鄰居節(jié)點信息,能夠到達該源節(jié)點的鄰居節(jié)點可能有若干個,路由算法的核心功能就是從中選取一個最佳的鄰居節(jié)點作為到達該源節(jié)點的下一跳節(jié)點;

      5)bcast_own_sum:用于統(tǒng)計本節(jié)點廣播發(fā)送的OGM包通過該源節(jié)點重新廣播后又發(fā)送回自己的數量,統(tǒng)計這個數量對于計算TQ值至關重要。

      1.5 BATMAN_Adv路由算法

      在BATMAN_Adv中每一個網絡節(jié)點都稱作一個源節(jié)點(Originator),每一個Originator周期性的廣播OGM幀,在鄰居節(jié)點收到OGM幀后,鄰居節(jié)點根據以下的判斷對OGM幀進行處理:

      1)如果OGM幀的版本信息不對,則直接將其丟棄;

      2)如果OGM幀中的上一跳地址與本節(jié)點地址一致,說明是本節(jié)點發(fā)送的OGM幀,則直接將其丟棄;

      3)如果OGM幀中的源節(jié)點地址與本節(jié)點地址一致,說明是本節(jié)點發(fā)送的OGM幀經過鄰居節(jié)點又廣播回來的,可以推定本節(jié)點與該鄰居節(jié)點之間為雙向鏈路,標記與該鄰居節(jié)點為雙向鏈路,并丟棄該OGM幀;

      4)如果OGM幀序號在滑動窗口范圍內,則依據1.3節(jié)所介紹的滑動窗口機制進行相應處理,且將該OGM重新廣播給其他節(jié)點。

      為了防止OGM被無限制的廣播,所有節(jié)點在接收到OGM幀時如果發(fā)現該OGM幀已經被接收過或者該OGM幀的TTL為2時,都會將其丟棄,這樣保證了所有OGM幀只會在每個節(jié)點中轉發(fā)一次,這種選擇性的洪泛機制保證了全網不會因為OGM幀產生全網廣播風暴,從而保障數據的正常通信。

      每個節(jié)點針對每一個鄰居節(jié)點維護一個本地TQ值,該值為回環(huán)鏈路狀態(tài)EQ與接收鏈路狀態(tài)RQ的比值,即

      TQ = EQ / RQ

      (1)

      其中EQ是本節(jié)點發(fā)給該鄰居節(jié)點又由該鄰居節(jié)點轉發(fā)回本節(jié)點的OGM幀數,RQ是所有本節(jié)點收到由該鄰居節(jié)點發(fā)送的OGM幀數。

      源節(jié)點在廣播OGM幀時將OGM幀中的TQ值初始化為255,OGM幀在廣播的過程中,任何接收到該OGM幀的節(jié)點將自己本地TQ值乘以收到OGM幀中的TQ值作為轉發(fā)的OGM幀的TQ值,這樣每個節(jié)點收到的該OGM幀的TQ值即是該節(jié)點到源節(jié)點整個鏈路的狀態(tài)質量。每個節(jié)點從各個鄰居節(jié)點中獲取到源節(jié)點鏈路的TQ值后,從中選擇TQ值最大的鄰居節(jié)點作為最佳下一跳鄰居節(jié)點,即是到達源節(jié)點的最佳下一跳路由節(jié)點。

      如圖3所示,網絡拓撲中有A、B、C、D、E、F六個節(jié)點,假設兩鄰居節(jié)點之間相互的本地TQ值相等,鏈路中的數值為本地TQ值。下面介紹如何確定從A節(jié)點到F節(jié)點的最佳路由路徑。如前所述,全網各節(jié)點會周期性的發(fā)送OGM幀,F節(jié)點發(fā)送的OGM幀可以通過F-E-C-A和F-D-C-A兩條路徑到達A節(jié)點,該OGM幀的最初TQ值為255,經過C、D、E三個節(jié)點的廣播轉發(fā)后,其TQ值將乘以C、D、E三個節(jié)點的本地TQ值作為轉發(fā)OGM幀的TQ值,所以最后A節(jié)點通過兩條路徑收到的OGM幀中的TQ值分別為85和80,而由于A節(jié)點收到的兩個不同TQ值的OGM幀都由C節(jié)點轉發(fā),即A節(jié)點到達F節(jié)點必須經過C節(jié)點,所以A節(jié)點到達F節(jié)點的最優(yōu)下一跳節(jié)點為C節(jié)點。同理遞推,C節(jié)點通過兩條路徑收到的OGM幀中的TQ值分別為122和114,所以可以判斷C節(jié)點到達F節(jié)點的最優(yōu)下一跳節(jié)點為E節(jié)點。最終得出A節(jié)點到F節(jié)點的最佳路由路徑為A-C-E-F。

      圖3 網絡拓撲演示

      2 自組網系統(tǒng)設計與實現

      2.1 總體設計

      自組網設備通常是一種特殊的路由設備,由物理層、MAC層和路由層組成,而基于BATMAN_Adv的自組網設備由于路由協議運行在MAC層,不存在單獨的路由層劃分,所以可以歸類為一種特殊的交換設備,但是無論是路由設備還是交換設備,都需要物理層協議和MAC層協議的支持。

      自組網與其他普通無線局域網最主要區(qū)別在于自組網分布式、無中心、支持多跳等特點。IEEE 802.11是目前無線局域網中被應用最廣的協議標準,其MAC層協議包含DCF模式[4],能夠很好的支持分布式網絡,其物理層協議也能夠提供較大的數據速率。如前文所述,自組網的核心在于路由協議,而本系統(tǒng)的重點也在于BATMAN_Adv路由協議的應用,所以本自組網系統(tǒng)采用較為成熟的IEEE 802.11協議作為自組網設備的MAC層和物理層協議。

      2.2 硬件選型

      在硬件選型方面,本系統(tǒng)采用Raspberry Pi 3B開發(fā)板作為系統(tǒng)硬件,如圖4所示,其板載基于IEEE 802.11n的無線網卡,可以使用該無線網卡作為系統(tǒng)的物理層和MAC層實現。該開發(fā)板體積小,功耗和成本低,可支持運行嵌入式Linux操作系統(tǒng),非常適合作為自組網開發(fā)的驗證樣機平臺。

      圖4 Raspberry Pi 3B

      2.3 Linux內核編譯

      BATMAN_Adv在Linux系統(tǒng)中以內核驅動的方式運行,其實現方式有兩種:一種方式為使用BATMAN_Adv開源程序源代碼,在使用的Linux系統(tǒng)下進行編譯,形成內核模塊后載入操作系統(tǒng)中運行;另外一種方式為使用Linux內核自帶的BATMAN_Adv內核模塊,在Linux 2.6.38之后的所有內核版本中已經默認集成了BATMAN_Adv內核模塊,可以直接載入操作系統(tǒng)運行。

      本系統(tǒng)使用的嵌入式Linux操作系統(tǒng)內核版本為Linux 3.0,包含BATMAN_Adv模塊,因此系統(tǒng)采用第二種方式實現BATMAN_Adv路由協議。雖然內核帶有BATMAN_Adv模塊,但是一般開發(fā)板廠商提供的內核鏡像都沒有將其編譯包含在內,所以需要自己對內核源碼進行編譯。編譯時可使用menuconfig工具來編輯.config內核配置文件[5],將BATMAN_Adv內核模塊選中,最后保存配置文件進行內核編譯。

      2.4 系統(tǒng)配置

      Linux加載BATMAN_Adv內核模塊后,還需進行一定配置才能使得自組網設備正常運行起來。配置主要分為兩部分,第一部分是對無線網卡進行配置,使得無線網卡運行在AdHoc模式,第二部分是建立BATMAN_Adv虛擬網絡設備,將無線網卡綁定在該虛擬網絡設備上,并為該虛擬網絡設備設置IP地址。

      以上配置成功后,各設備之間的自組網就已經建立起來了。

      2.5 以太網橋接

      自組網設備是一個路由或交換設備,其自身并沒有需要傳輸的業(yè)務,所以自組網設備需要有業(yè)務輸入功能。開發(fā)板上的有線以太網卡能夠作為業(yè)務輸入的接口,但是需要做有線網卡到BATMAN_Adv虛擬網絡設備的數據轉發(fā)。實現數據轉發(fā)有兩種方式:一種是有線網卡與虛擬網絡設備采用不同的網絡地址,然后使用NAT技術進行地址轉換;另外一種是在MAC層上將有線網卡與虛擬網絡設備進行橋接。如前文所述,基于BATMAN_Adv的自組網設備是一種特殊的二層交換設備,所以采用以太網橋接的方式更符合其自身特點。

      在實現時使用Linux中的Brctl命令進行以太網橋接,設定一個橋接虛擬網卡,并將虛擬網絡設備和有線網卡都加入到虛擬網卡中,即完成了以太網橋接功能。任意業(yè)務設備插入開發(fā)板有線網卡接口后就能像使用本地交換機一樣與自組網系統(tǒng)中的其他業(yè)務設備進行通信。

      3 系統(tǒng)測試

      最終包含三個節(jié)點的自組網系統(tǒng)實現如圖5所示。

      圖5 系統(tǒng)實現圖

      為了驗證自組網系統(tǒng)的基本性能,進行如下測試:

      1)點到點無線性能測試

      主要對自組網系統(tǒng)點到點單跳情況下的吞吐量、丟包率、時延進行測試,使用Send/Recv測試軟件進行測試吞吐量,使用Ping命令進行測試時延。

      吞吐量測試的結果如圖6所示:

      圖6 吞吐量測試結果

      丟包率測試的結果如圖7所示:

      圖7 丟包率測試結果

      時延測試的結果如圖8所示:

      圖8 時延測試結果

      根據測試結果可得該自組網系統(tǒng)的點到點平均吞吐量為45Mbps左右,在速率為36Mbps情況下丟包率為0,平均時延為7ms。

      2)端到端無線性能和功能測試

      通過降低各節(jié)點發(fā)射功率形成如圖9所示的鏈狀拓撲,對自組網系統(tǒng)端到端兩跳情況下的中繼功能和性能進行測試。

      圖9 測試拓撲圖

      中繼功能測試結果為當節(jié)點A與節(jié)點C無法直接通信,當節(jié)點B開啟后作為中繼節(jié)點,節(jié)點A就能夠通過節(jié)點B中繼后與節(jié)點C通信,當節(jié)點B關閉后,節(jié)點A又無法與節(jié)點C通信。

      節(jié)點A到節(jié)點C的端到端吞吐量測試的結果如圖10所示:

      圖10 吞吐量測試結果

      節(jié)點A到節(jié)點C的端到端丟包率測試的結果如圖11所示:

      圖11 丟包率測試結果

      節(jié)點A到節(jié)點C的端到端時延測試的結果如圖12所示:

      圖12 時延測試結果

      根據測試結果可得該自組網系統(tǒng)兩跳情況下平均吞吐量為35Mbps左右,在速率為20Mbps情況下丟包率約等于0,平均時延為13ms。

      通過以上測試可以得出BATMAN_Adv具有良好的系統(tǒng)性能,在多跳情況下,網絡性能并沒有大幅度的下降。

      4 結束語

      BATMAN_Adv是一種高效的輕量級自組網路由算法。它具有路由收斂快,協議開銷低,魯棒性強等優(yōu)點。并且它作為開源協議,已有現成開源實現代碼,可根據應用需求進行進一步改進,大大降低自組網路由開發(fā)的難度。因此,本文提出了一種基于BATMAN_Adv路由協議的無線自組網系統(tǒng)設計與實現,并在最后進行了相應的測試。該系統(tǒng)無論在軍事領域還是在民用領域都具有很好的應用前景。

      《火控雷達技術》征稿簡則

      《火控雷達技術》是國家科委批準的,由西安電子工程研究所主辦的國內外公開發(fā)行的科技類刊物。先后被《中國期刊全文數據庫》、中國核心期刊(遴選)數據庫、《中文科技期刊數據庫》、《中國學術期刊綜合評價數據庫》等收錄。本刊以理論與實踐相結合為指導方針,側重于工程應用。主要報導國內外同行在雷達、通訊等電子領域內的研究成果、技術發(fā)展動態(tài)及有關的新理論、新概念、新技術、新方法。為了把刊物辦得更好,進一步明確投稿要求,特制定本簡則。

      1 投稿約定

      1)稿件撰寫格式按國家科技論文撰寫標準GB7713執(zhí)行。

      2)來稿要求有一定的創(chuàng)新性,觀點明確、重點突出、文字簡練。字數一般不超過5000字(含圖、表)。

      3)凡屬國家基金資助項目,國家、省、部、委重點攻關課題,國際、國內學術會議宣讀論文,碩、博士生論文,請予以注明,將優(yōu)先刊用。

      4)多個作者不同單位的,要標明全部作者單位。作者通信地址要寫至二級單位。第一作者需附簡歷,包括:出生年、性別、職稱(學位)、研究方向或主要科研項目。

      5)文中的圖(JPG格式)、表要有圖釋和表題。坐標圖中,橫、縱坐標須標明標示、量和單位。

      2 中英文摘要及參考文獻要求

      2.1 摘要

      來稿須有中、英文摘要及關鍵詞。中文摘要300字左右。關鍵詞3~5個。

      2.2 參考文獻

      參考文獻應是文中直接引用的公開出版物,在文中引用處用"[文獻序號(右上角標])"順序標注。序號與文末參考文獻編碼一致。文末參考文獻著錄格式按國家標準GB7714執(zhí)行。

      1)期刊文獻 作者.題目[J].刊名,出版年,卷(期):起止頁碼.

      2)專著 作者.書名[M].版本(第一版可不標注).出版地:出版社,出版年:起止頁碼.

      3)論文集 作者. 論文題目[C].//編者.論文集名.出版地:出版者,出版年:起止頁碼.

      4)學位論文 作者.題目[D].保存城市名:保存單位(寫到二級單位),出版年.

      5)標準 起草責任者.標準代號 標準順序號-發(fā)布年,標準名稱[S].出版地:出版者,出版年.

      6)科技報告 作者.題目[R].報告題目及編號.出版地:出版者,出版年:起止頁碼.

      7)專利 專利所有者.題名:專利國別,專利號[P].公告日期.

      8)電子文獻 作者.題名[EB/OL].出版地:出版者,發(fā)表或更新日期[引用日期].電子文獻地址.

      3 其他約定

      1)來稿采用與否一般在3個月內答復,逾期未接到通知者,稿件可自行處理。稿件一般不退,請自留底稿。

      2)請勿一稿多投。來稿一經發(fā)表,付給稿酬并贈送當期刊物一本。作者著作權使用費、上網服務費都在所付稿酬中一次性付清。

      3)稿件涉及他人利益者,編輯部不承擔任何連帶責任。

      4)稿件錄用,文責自負。編輯有權作適當改動,不允許改動者請預先說明。

      4 廣告征集

      本刊征集企業(yè)的形象宣傳、雷達/通訊領域的產品廣告以及各種相關信息。

      5 投稿要求:請作者網上電子郵件投稿,E-mail:hkldjs@163.com聯系電話:(029)85617147

      猜你喜歡
      網卡內核序號
      在DDS 中間件上實現雙冗余網卡切換的方法
      萬物皆可IP的時代,我們當夯實的IP內核是什么?
      現代裝飾(2022年4期)2022-08-31 01:41:24
      強化『高新』內核 打造農業(yè)『硅谷』
      Server 2016網卡組合模式
      基于嵌入式Linux內核的自恢復設計
      Linux內核mmap保護機制研究
      技術指標選股
      技術指標選股
      技術指標選股
      技術指標選股
      沙河市| 盐城市| 浏阳市| 融水| 赞皇县| 清涧县| 保定市| 丁青县| 惠东县| 本溪| 阳信县| 卢龙县| 天镇县| 民乐县| 安阳市| 读书| 永新县| 云阳县| 友谊县| 嘉祥县| 南和县| 彰化市| 仙居县| 滕州市| 泰安市| 资阳市| 江孜县| 安泽县| 定陶县| 安平县| 石狮市| 汶上县| 潞城市| 赣榆县| 临城县| 廉江市| 清镇市| 炉霍县| 略阳县| 汶川县| 禄劝|