《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Linux嵌入式系統按需路由協議架構設計與實現
基于Linux嵌入式系統按需路由協議架構設計與實現
來源:微型機與應用2011年第11期
謝毅勇1,謝維波2
(1.華僑大學 計算機科學與技術學院,福建 廈門 361021; 2.華僑大學 廈門軟件園嵌入式技術
摘要: 針對在Linux操作系統原有的路由體系結構上實現按需路由的制約問題,分析了Linux操作系統路由體系結構特點以及實現按需路由的難點,提出了一種適合按需路由的通用路由體系結構,并基于Linux系統實現了按需路由之一的Aodv路由協議的嵌入式實現。結果表明了此路由體系結構很好地解決了Linux傳統的路由體系結構瓶頸。
Abstract:
Key words :

摘  要: 針對在Linux操作系統原有的路由體系結構上實現按需路由的制約問題,分析了Linux操作系統路由體系結構特點以及實現按需路由的難點,提出了一種適合按需路由的通用路由體系結構,并基于Linux系統實現了按需路由之一的Aodv路由協議的嵌入式實現。結果表明了此路由體系結構很好地解決了Linux傳統的路由體系結構瓶頸。
關鍵詞: 按需路由;嵌入式系統;路由體系結構;Ad hoc

 Ad hoc網絡[1]是一種特殊的對等式網絡,它不需要固定的通信設施支持即可快速建立無線網絡,其最初的動機是滿足戰場生存的軍事需求。由于其自組能力、低成本、工作壽命長等特點,Ad hoc網絡逐漸進入了民用和商用領域,遺憾的是發展較為緩慢。其主要原因之一就是Ad hoc路由協議通常采用新的路由模式,并不支持目前操作系統路由體系結構。若沒有通用的操作系統路由體系結構解決方案,路由算法研究員就得被迫進行低級系統程序設計,而且往往會無計劃地更改系統內部,以獲得更多功能的Ad hoc路由要求,這容易導致系統不穩定。許多研究人員為了回避這種低級系統程序設計,大多從事基于仿真路由算法工作[2-3]而很少真正在產品或嵌入式上實現,所以實際應用價值不大。為了加速Ad hoc網絡民用商用產品發展,設計一個Ad hoc通用嵌入式系統路由體系結構迫在眉睫,Ad hoc 網絡和嵌入式系統相結合是必然的。在嵌入式系統下實現無線自組網才有實際應用意義。
 針對上述問題,本文首先分析了Linux操作系統的原有工作方式以及在此體系結構上實現按需路由協議的問題,并給出了合理的解決方案。提出一種基于Linux操作系統實現通用的按需路由協議[4]體系結構,使Ad hoc研究員易于在此路由體系結構上進行路由算法編程,而不用進行底層內核系統編程。最后,本文根據此方案實現Aodv路由協議并應用在實際的網絡中,從而驗證方案的性能及可行性。
1 Linux系統現有路由體系結構
 目前的主流網絡體系結構一般將路由功能分為兩部分:分組轉發功能模塊和分組尋路功能模塊[5]。分組轉發是指根據內核路由表(轉發表)的信息,將需要發送的數據分組,通過指定的網絡接口發送到下一跳的節點。分組尋路是指建立轉發表的過程,實現路由協議的邏輯計算,根據與其他主機交換的路由信息,計算出到其他節點的正確路由。轉發表含有充分的信息來完成轉發使命,而路由表中包含路由算法用于發現和維護路由的信息。
 在通用的嵌入式開源操作系統之一的Linux操作系統的體系結構中,分組轉發功能模塊的轉發表是在內核空間實現的,在查找內核轉發表的時候,根據轉發表項的最佳匹配原則進行轉發。如果找不到匹配的轉發表項,則按缺省路由發送,一般是將網關作為缺省路由的下一跳節點。如果缺省路由又不存在,操作系統則將把這個數據分組丟棄。分組尋路功能模塊可以在內核空間實現,也可以在用戶空間實現。本文采用在用戶空間實現[6],如圖1所示。


 把分組轉發功能模塊和分組尋路功能模塊分開的主要原因是數據分組轉發必須盡可能快且有效地遍歷轉發表,故分組轉發功能模塊需駐留在內核中。然而分組尋路功能模塊涉及復雜的數據分組或內存密集型讀寫任務,所以應該置于內核外。這種分離的原則使Linux操作系統中的路由既有效率又靈活。
2 按需路由協議實現的關鍵問題

 


 目前大多數通用嵌入式操作系統中的路由體系結構都是按照有線網絡路由協議的方式來構造的,這些路由協議為主動路由協議。在這種路由體系結構上,只能實現Ad hoc主動路由協議(如Dsdv路由協議),而不能實現Ad hoc按需路由協議(如Aodv、Dsr路由協議)。本文將探討不能在通用路由體系結構實現Ad hoc按需路由協議三個關鍵的難點。
 (1)當發送數據分組的時候,如果不存在從節點到目的地址的路由,則需要發起路由查找過程,但在通常情況下,沒有路由匹配,內核將立即刪除該數據包。然而,這不是一個按需臨時路由想要的情況。在按需路由中,并不是所有的路線被固定安排好,有些路線是必須在需要的時候“發現”。所以在這種情況下,正確的行為應該是請求發現路由,并在路由表更新路由或尋找結束以前,數據分組將不會被發送出去或者丟棄處理。
 (2)需要建立一個緩沖區,在按需路由協議等待路由發現的過程中,數據分組需要進入一個緩沖區,該緩沖區設置在內核外,因為可減少內存和CPU的負荷。
 (3)為了減少查找內核路由表的代價,就需要定期維護更新這路由表,即時把失效的路由清除。為了實現這功能,需要建立一個路由檢查表。所有表都有一個相關定時器,當該表的路由被使用時,它的定時器就必須重置。當定時器的時間用完時,則該表項就要從內核路由表中刪除。關鍵問題是內核中沒有記錄路由使用的機制,所以路由守護進程根本無法知道內核中使用過哪些路由或什么時候使用過路由。
 以上分析可知目前通用嵌入式操作系統沒有這種機制來支持上述行為,所以通用的嵌入式系統應該為Ad hoc網增加以下系統功能:
 (1)判斷是否是按需路由,如果是,則查看是否有路由請求;
 (2)把請求告知Ad hoc守護進程;
 (3)建立一個高速緩沖區,將需要路由請求的數據分組送到緩沖區;
 (4)當路由發現完成或發現失敗,將數據分組注入內核中或對其拋棄。
 (5)建立路由檢查表,且能定期對其維護,以便能更新內核路由表。
3 通用的按需路由體系設計實現方案
3.1 Ad hoc按需路由協議體系結構

 針對本文提出的問題,所設計的按需路由體系如圖2所示。

3.2 Ad hoc按需路由協議體系結構組成
 通用的Ad hoc按需路由協議架構主要組成有:操作系統原有的內核轉發表(本文不對其修改)、一個可加載的內核模塊route_check(即路由檢查表)、netfiilter鉤子程序[7]、用戶空間的Ad hoc支持庫ASL(Ad hoc Support Library)和Ad hoc路由守護進程。netfiilter鉤子程序是系統自帶的,用來捕捉每一個發送數據分組,記錄每條路由的最后使用時間,然后對路由檢查表做相應的處理,路由檢查表約800行代碼。其中,ASL是一個共享庫,約2 500行代碼,用來實現按需路由功能。當ASL接到一個延時發送的數據分組,就會告知Ad hoc守護進程,以便對數據分組的目的地址進行路由發現。之后它將該數據分組儲存在一個臨時緩沖區中,等待守護進程返回路由發現的結果。一旦這些處理完成,相應的內核路由表就加入新的元組,數據分組移出緩沖區,重新注入到包轉發功能塊的隊列中。ASL基本函數如表1所示。

3.3 Ad hoc按需路由協議體系結構數據分組傳遞流程
 在實現方案中,為了確認是否有路由請求,利用一個系統不用的隧道設備,Universal TUN/TAP(tun)[8],此設備虛擬了一個網絡接口,當數據分組發送的時候,如果目的地址不存在其路由,則這些數據分組將tun作為缺省路由的下一跳“接口”。這樣就可以通過/dev/net/tun設備將所有需要路由發現的數據分組傳遞到用戶空間做進一步的處理。
 處理工作第一步為調用open_route_request()函數來打開。當一個新的數據包從/dev/net/tun中讀出時,Ad hoc守護進程就會利用read_route_request()函數讀取路由請求,之后就可以初始化路由發現。同時,數據分組會在一個臨時緩沖區排隊。因為緩沖區在用戶空間,所以可以有一個較大的緩沖區來存儲數據分組,這樣即使分組在路由發現延時很大的情況下也不會出現丟失的情況。在路由發現成功完成以后,就將數據分組通過raw socket重新注入內核。
 為了保持路由表的有效性,內核可加載模塊route_check在Netfilter的NF_IP_POST_ROUTING鉤子中注冊,這樣每個外出的數據包都要經過這個模塊。該模塊只是查看數據包的首部,更新相應的時間戳值,并輸出到/proc/asl/route_check中。ASL通過API中的query_route_idle_time()告知Ad hoc路由守護進程內核路由表的使用情況,這樣守護進程就可以檢查路由的更新和刪除內核路由表失去時效的路由。
route_add()和route_del()函數使用ioct()接口加入或者刪除內核中的路由。
4 Aodv按需路由協議架構
 通過上述設計架構,在不用改變系統的內核情況下,就可以實現移動自組網按需路由協議在通用的操作系統上的應用。
 圖3是根據Aodv基本的路由功能(如RREQ、RREP、RERR等路由功能),置入通用分組尋路功能模塊使其成為Aodv專用的分組尋路功能模塊,如圖3所示。

5 方案實施驗證分析
 實驗現場為華僑大學廈門軟件園嵌入式技術開放實驗室(廈門軟件園二期54號402,華僑大學產學研基地)。網絡節點由兩個PC機節點和一個嵌入式系統節點組成。PC機節點配置是DELL工作站PY597 + ZD1211b無線網卡,安裝CentOS 5操作系統(內核版本號為26.18-128.e15),加載Aodv路由協議模塊,支持直接或多跳的通信。嵌入式系統節點配置則為致遠MagicARM2410 + Asus WL-167無線網卡,加載Aodv路由協議模塊,支持直接或多跳的通信。PC1的IP為192.168.0.5;PC2的IP為192.168.0.55;K1的IP為192.168.0.45。網絡拓撲如圖4所示。

 由于測試區域較小,節點PC1不需要經過中繼節點K1就可直接到達節點PC2。為了測試Aodv路由協議的“跳轉”功能,采取屏蔽策略,使PC1與PC2相互屏蔽。
 (1)PC1對PC2的屏蔽
 在PC1執行:iptables -A INPUT -p ALL -m mac --mac-source 00:02:72:61:ED:4B -j DROP。其中,00:02:72:61:ED:4B為PC2的Mac地址,使得PC1拒絕PC2發送的數據包。
 (2)PC2對PC1的屏蔽
 在PC2執行:iptables -A INPUT -p ALL -m mac --mac-source 00:02:72:61:ED:53 -j DROP。其中,00:02:72:61:ED:53為PC1的Mac地址,使得PC2拒絕PC1發送的數據包。
?、貹1節點定期廣播傳送HELLO消息,發現了附近的兩個節點PC1和PC2,如圖5所示。

?、赑C1節點定期廣播傳送HELLO消息,先發現了附近的K1節點,然后透過K1發現了PC2,并對其建立路由。如圖6所示。

?、跴C1節點Ping PC2節點,信息返回成功,如圖7所示。

 從Ping命令的輸出結果中可以看到,數據包所經過的路徑是PC1→K1→PC2→K1→PC1。經過K1節點上 Aodv模塊的路由功能將Ping數據包轉發,使得不能直接通信的節點PC1和PC2實現了數據傳輸,具有了路由發現和網絡自組的功能。
 本文提出按需路由協議的實現方案,充分考慮了按需路由的特點,針對按需路由在linux嵌入式環境下實現的難點,提出了解決方案和設計實現方案,其功能函數具有良好的通用性。該方案為以后研究員驗證和比較各種協議在實際網絡中的性能提供了良好的基礎。
參考文獻
[1] HARTENSTEIN H. Topics in ad hoc and sensor networks - A tutorial survey on vehicular ad hoc networks[J]. IEEE Communications Magazine,2008,46(6).
[2] GIOVANARDI A, MAZZINI G. Ad hoc routing protocols: emulation vs simulation[C]. 2nd International Symposium on Wireless Communication Systems, 2005:140-144.
[3] BOUKHALKHAL A, YAGOUBI M B, DJOUDI M, et al.Simulation of mobile ad hoc routing strategies[C]. 4th International Conference on Innovations in Information Technologies, Dubai, United Arab Emirates, 2007:128-132.
[4] 余旭濤,畢光國.Ad Hoc網絡按需路由協議的改進[J].計算機學報,2004,27(6).
[5] PETERSON  L L,DAVIE B S. Computer networks:a system approach[M]. Morgan Kaufmann Publishers, 2nd edition, 2000.
[6] RANDHAWA T, RICHAROS J. Implementation of a kernel mode IPv6 AODV routing daemon to improve data throughput[C]. 2005 IEEE International Conference on Communications (ICC 2005), 2005(5):16-20.
[7] Netfilter/Iptable homepage[EB/OL]. http: //www.netfilter.org,2005-09.
[8] Tun/Tap universal driver[EB/OL].http://vtun.sourceforge.net/tun/, 2005-10.
 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲综合久久久久| 亚洲一区二区三区激情| 欧美三级电影一区| 欧美高清在线一区| 亚洲国产一区二区三区高清| 亚洲美女视频在线免费观看| 欧美精品在线播放| 国产欧美日韩综合一区在线播放| 在线欧美不卡| 欧美日本精品在线| 91久久国产综合久久91精品网站| 亚洲视频axxx| 欧美久久精品午夜青青大伊人| 欧美日韩天天操| 欧美精品在欧美一区二区少妇| 久久精精品视频| 亚洲精品小视频在线观看| 久久久久久尹人网香蕉| 亚洲视频一二三| 在线精品视频一区二区三四| 国产色产综合色产在线视频| 亚洲在线观看免费| 久久视频在线免费观看| 美女性感视频久久久| 久久综合婷婷| 久久久91精品国产一区二区精品| 国产欧美日韩精品a在线观看| 嫩草伊人久久精品少妇av杨幂| 欧美不卡激情三级在线观看| 欧美精品123区| 亚洲国产精品一区二区第一页| 欧美性大战久久久久久久蜜臀| 亚洲日本电影在线| 亚洲欧美资源在线| 欧美日韩免费观看一区二区三区| 亚洲国产高清视频| 欧美sm重口味系列视频在线观看| 欧美日韩性视频在线| 香蕉久久精品日日躁夜夜躁| 国产精品福利久久久| 午夜日韩在线观看| 欧美精品成人一区二区在线观看| 在线综合+亚洲+欧美中文字幕| 国产欧美日韩视频一区二区| 欧美亚洲免费高清在线观看| 一区二区日韩欧美| 麻豆精品网站| 国产精品热久久久久夜色精品三区| 欧美午夜免费电影| 精品成人一区| 久久精品一区二区三区不卡牛牛| 亚洲直播在线一区| 欧美—级在线免费片| 激情五月***国产精品| 国产视频一区欧美| 亚洲主播在线播放| 国产精品日韩欧美一区二区三区| 亚洲综合欧美| 久色婷婷小香蕉久久| 欧美14一18处毛片| 欧美日本国产一区| 日韩一级不卡| 欧美激情1区2区| 欧美高清在线播放| 亚洲午夜一二三区视频| 欧美激情亚洲另类| 欧美在线视频免费| 国产一区二区三区无遮挡| 欧美在线视频一区二区三区| 亚洲一区二区三区四区五区午夜| 久久综合伊人| 香港成人在线视频| 国产精品久久久久免费a∨大胸| 国产亚洲精品资源在线26u| 欧美精品综合| 欧美三级乱码| 99re8这里有精品热视频免费| 亚洲综合日本| 99re国产精品| 亚洲国产精品123| 欧美在线1区| 亚洲精品乱码久久久久久日本蜜臀| 一本久道久久综合中文字幕| 欧美福利小视频| 欧美日韩福利视频| 国产欧美精品日韩区二区麻豆天美| 91久久在线播放| 国产精品乱码一区二三区小蝌蚪| 亚洲精品美女久久久久| 巨乳诱惑日韩免费av| 老司机精品导航| 久久综合九九| 国产精品久久久一区麻豆最新章节| 亚洲欧美日韩国产中文在线| 激情综合色丁香一区二区| 精品1区2区| 亚洲一区国产一区| 国产噜噜噜噜噜久久久久久久久| 亚洲国产精品热久久| 亚洲美女在线一区| 久久av资源网| 伊人成人开心激情综合网| 久久精品盗摄| 国产综合久久久久影院| 欧美夜福利tv在线| 欧美日韩国产成人在线91| 久久这里只精品最新地址| 国内成人精品2018免费看| 美日韩精品视频免费看| 免费欧美网站| 中文精品视频| 欧美高清一区二区| 亚洲天堂成人| 亚洲中字黄色| 欧美体内she精视频在线观看| 亚洲精品视频啊美女在线直播| 欧美日韩一区二区视频在线| 久久久亚洲精品一区二区三区| 国产日韩亚洲欧美综合| 亚洲精品一区二区三区99| 国模精品娜娜一二三区| 国产精品爽爽ⅴa在线观看| 免费成人av在线| 欧美本精品男人aⅴ天堂| 国产综合视频在线观看| 欧美精品二区| 欧美一区二区成人| 美日韩精品免费| 欧美日韩成人综合在线一区二区| 亚洲视频香蕉人妖| 欧美日韩国产成人在线免费| 一区二区三区在线观看欧美| 国产精品专区h在线观看| 国产日韩精品在线观看| 亚洲东热激情| 玖玖精品视频| 久久躁狠狠躁夜夜爽| 欧美在线影院| 伊人久久久大香线蕉综合直播| 欧美日韩亚洲综合| 午夜精品久久| 国产日韩亚洲| 99视频一区二区| 欧美日韩国产综合视频在线观看| 欧美成人在线影院| 伊人久久大香线| 午夜日韩av| 亚洲精品欧美在线| 亚洲国产成人av| 久久综合成人精品亚洲另类欧美| 影音先锋另类| 日韩一二三区视频| 中文无字幕一区二区三区| 国产精品人人做人人爽人人添| 99精品国产福利在线观看免费| 欧美精品成人一区二区在线观看| 蜜桃伊人久久| 欧美精品一线| 欧美日韩国产成人在线91| 欧美一区亚洲| 亚洲精品乱码久久久久| 国产欧美日韩视频一区二区三区| 欧美日韩一区二区免费在线观看| 国语自产偷拍精品视频偷| 欧美精品一二三| 国产精品超碰97尤物18| 国产欧美精品一区| 韩国av一区二区| 欧美在线一区二区| 宅男精品导航| 欧美午夜精品| 亚洲国产精品久久久久秋霞蜜臀| 国产精品毛片va一区二区三区| 欧美成人精品一区| 欧美成人精品影院| 夜夜精品视频一区二区| 亚洲精品一区二区三区99| 亚洲韩日在线| 99re6热只有精品免费观看| 亚洲欧美日韩成人高清在线一区| 国产精品久久久久久久app| 国产精品久久777777毛茸茸| 亚洲精品久久久久| 欧美一区二区三区成人| 在线不卡免费欧美| 亚洲视频在线二区| 狠狠色狠狠色综合系列| 亚洲永久精品国产| 亚洲高清视频一区| 亚洲天堂成人在线视频| 国产精品高潮呻吟久久| 欧美va天堂| 欧美影院午夜播放| 欧美剧在线免费观看网站| 欧美区视频在线观看| 久久频这里精品99香蕉| 欧美刺激午夜性久久久久久久| 欧美午夜片在线观看| 99精品欧美一区| 亚洲欧美高清| 亚洲精品日韩欧美| 99成人免费视频| 国产欧美欧美| 夜夜爽av福利精品导航| 女仆av观看一区| 99re6这里只有精品| 亚洲欧美日韩国产成人| 在线播放日韩欧美| 在线观看国产一区二区| 欧美成人小视频| 欧美日韩免费观看中文| 香蕉久久a毛片| 国产精品v片在线观看不卡| 亚洲一区二区三区精品在线观看| 蜜臀a∨国产成人精品| 欧美日韩国产一级| 日韩午夜精品视频| 亚洲在线视频| 激情国产一区二区| 国产日韩欧美另类| 一区二区三区日韩精品视频| 欧美日韩一区二区三区四区五区| 久久理论片午夜琪琪电影网| 日韩视频一区二区三区在线播放| 午夜视频精品| 亚洲精品综合久久中文字幕| 亚洲精品免费在线播放| 欧美第一黄色网| 欧美日韩免费观看一区| 亚洲综合视频一区| 午夜久久资源| 亚洲免费精彩视频| 欧美另类极品videosbest最新版本| 午夜精品久久久久久久99热浪潮| 欧美成人精品| 日韩一区二区精品| 亚洲深夜福利| 国产一区二区三区在线观看网站| 欧美日韩成人在线观看| 国产老女人精品毛片久久| 久久综合九色九九| 亚洲免费在线| 国产精品美女久久福利网站| 国内伊人久久久久久网站视频| 欧美理论片在线观看| 国产视频亚洲| 99在线观看免费视频精品观看| 欧美日韩免费在线观看| 欧美午夜精品一区| 亚洲国产成人在线播放| 亚洲欧美日韩国产中文在线| 欧美精品激情在线| 国产精品专区一| 久久久人成影片一区二区三区| 久久―日本道色综合久久| 一本色道久久加勒比88综合| 欧美视频在线视频| 久久gogo国模啪啪人体图| 久久精品视频va| 亚洲午夜在线视频| 欧美h视频在线| 久久国产毛片| 欧美v国产在线一区二区三区| 国产精自产拍久久久久久蜜| 91久久夜色精品国产网站| 亚洲二区视频| 国产精品成人播放| 欧美日韩在线视频观看| 亚洲国产视频一区| 国产精品人人爽人人做我的可爱| 久久国产精品久久久久久久久久| 欧美激情综合色综合啪啪| 久久久久免费观看| 一片黄亚洲嫩模| 亚洲国产成人不卡| 欧美久久99| 国产精品高潮呻吟久久av无限| 国产深夜精品| 欧美日韩免费在线观看| 你懂的网址国产 欧美| 国产精品久久久一区二区三区| 国产伦精品一区二区三区视频黑人| 欧美日韩视频不卡| 久久国产黑丝| 亚洲第一中文字幕在线观看| 亚洲一区在线直播| 亚洲小说区图片区| 国产日韩综合一区二区性色av| 欧美日韩一区二区三区| 黄色免费成人| 久久av一区二区三区亚洲| 亚洲成人资源网| 欧美在线播放高清精品| 影音先锋亚洲视频| 久久九九免费视频| 亚洲欧美清纯在线制服| 狠狠色综合网站久久久久久久| 亚洲在线视频免费观看| 亚洲激情校园春色| 欧美精品一区二区三区在线看午夜| 国精产品99永久一区一区| 久久久999精品免费| 亚洲国产精品成人一区二区| 国产精品一区免费视频| 亚洲国产精品va在线观看黑人| 欧美日韩国产精品专区| 欧美日本韩国一区| 欧美一区二区三区四区夜夜大片| 亚洲手机在线| 午夜精品福利视频| 99精品国产一区二区青青牛奶| 国产精品国产精品国产专区不蜜| 国产日韩在线一区| 精品盗摄一区二区三区| 欧美日韩情趣电影| 国产亚洲综合精品| 欧美日本高清| 亚洲精品日韩欧美| 欧美mv日韩mv国产网站app| 亚洲区中文字幕| 黄色一区三区| 一区二区三区色| 国产精品高清在线观看| 欧美日精品一区视频| 国语精品一区| 激情久久久久久久| 亚洲精品一区二区三区在线观看| 在线欧美不卡|