新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于IEEE 802.11b/g技術的無線VoIP便攜式終端設計

        基于IEEE 802.11b/g技術的無線VoIP便攜式終端設計

        作者: 時間:2011-12-24 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/155404.htm

        3.1 模塊驅動編譯

        所有的Atheros芯片網卡基本都可以使用madwifi驅動,驅動程序源碼madwifi-0.9.4.tar.gz可以從http://madwifi.org/上下載。在進行模塊驅動開發時,首先要配置并編譯Linux內核,使其支持MiniPCI網卡,然后針對環境修改madwifi-0.9.4目錄下的Makefile,再使用make命令進行編譯,生成適用于MIPS的驅動程序模塊,并使用insmod命令將模塊在的Linux中進行加載。加載成功后,用Linux下的無線局域網工具命令iwconfig對無線網卡進行配置,注意配置時要將無線網卡的工作模式設定成為Ad Hoc模式。

        ./wlanconfig ath0 destroy

        ./wlanconfig ath0 create wlandev wifi0 wlanmode adhoc

        3.2 AODV路由協議的實現

        Linux操作系統的內核并不直接支持按需路由,因此要實現AODV路由協議需要對操作系統進行相應的擴充和修改。

        Linux操作系統的路由體系結構按功能可分為轉發功能模塊和路由功能模塊,可以在轉發功能模塊保持不變的情況下,通過修改路由功能模塊,實現不同的路由協議。轉發功能在Linux內核中實現,根據需要發送的數據分組目的地址;查找路由表,按照最長前綴匹配原則尋找與目的地址匹配的表項,如果找到匹配項,則將數據分組發送到相應的網絡接口;否則就丟棄該分組。路由功能模塊作為后臺進程在用戶空間運行,主要負責與其他網絡節點進行信息交流,采用適當的路由算法建立路由,更新和維護內核路由表。

        目前發布的針對AODV協議的實現方案中多數協議的實現都采用了Netfilter功能框架。Netfilter是Linux核心中的一個通用架構,用于實現數據包過濾、狀態保持、NAT以及安全等多種網絡功能。Netfilter結構提供了一系列的“列表”(tables),每個列表由若干個“鏈”(chains)組成,而每條鏈中又可以有一條或數條規則(rules)進行規范,規則的定義采用“如果數據包頭符合這樣的條件,就這樣處理該數據包”。當一個數據包到達一個鏈時,系統就會從第一條規則開始查看是否符合該規則所定義的條件。如果滿足,系統將根據該條規則所定義的方法處理該數據包;否則,繼續檢查下一條規則。如果該數據包不符合該鏈中任何一條規則的定義,系統就會根據該鏈的缺省策略處理該報文。

        Linux在內核2.4版本以上的系統中提供了五個hook注冊點,這些hook點處在數據分組流經協議棧的幾個關鍵位置,用戶可以在這些位置注冊自己定義的操作函數,流經hook點的數據分組將執行函數的操作。如圖3所示,Netfilter便由處于Linux協議棧中的五個hook函數組成。


        在AODV協議的實現過程中,Netfilter的配置是協議正常運行的前提,需要在內核中注冊hook函數,但并不是所有的Linux系統都默認啟用Netfilter,因此需要在內核配置選項中進行配置并編譯進內核。進入Linux內核源代碼安裝目錄,輸入make manuconfig命令進入內核配置主菜單,通過空格鍵選擇:

        Networking options-->[*]Network packet filtering(replaces ipchains)
        IP:Netfilter Configuration-->*>Userspaee queueing via NETLINK

        4 結語

        結合 802.11無線的優勢,采用了高性能的微處理器ADM5120和功能穩定強大的嵌入式Linux操作系統作為軟件平臺,構建了一個 /g的無線。通過在終端的系統上加載AODV路由協議實現了多跳的功能。經過三臺終端的聯合測試,多跳通話可以保證良好的語音效果。

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南郑县| 永州市| 潮州市| 广南县| 凤阳县| 洛扎县| 海南省| 佛山市| 南阳市| 铁岭县| 永宁县| 黄梅县| 上高县| 富川| 武冈市| 辽宁省| 蓝田县| 德兴市| 长子县| 洞口县| 湄潭县| 三河市| 微山县| 百色市| 巨鹿县| 长岛县| 民勤县| 无为县| 神农架林区| 资兴市| 高州市| 巴东县| 广安市| 宜州市| 广丰县| 陵水| 宝兴县| 祁门县| 通道| 宜州市| 东乌珠穆沁旗|