<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 一種具有多跳功能的無線VoIP終端設(shè)計(jì)

          一種具有多跳功能的無線VoIP終端設(shè)計(jì)

          作者: 時(shí)間:2010-03-16 來源:網(wǎng)絡(luò) 收藏


          3.1 模塊驅(qū)動(dòng)編譯

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

          ./wlanconfig ath0 destroy

          ./wlanconfig ath0 create wlandev wifi0 wlanmode adhoc

          3.2 AODV路由協(xié)議的實(shí)現(xiàn)

          Linux操作系統(tǒng)的內(nèi)核并不直接支持按需路由,因此要實(shí)現(xiàn)AODV路由協(xié)議需要對(duì)操作系統(tǒng)進(jìn)行相應(yīng)的擴(kuò)充和修改。

          Linux操作系統(tǒng)的路由體系結(jié)構(gòu)按可分為轉(zhuǎn)發(fā)模塊和路由模塊,可以在轉(zhuǎn)發(fā)功能模塊保持不變的情況下,通過修改路由功能模塊,實(shí)現(xiàn)不同的路由協(xié)議。轉(zhuǎn)發(fā)功能在Linux內(nèi)核中實(shí)現(xiàn),根據(jù)需要發(fā)送的數(shù)據(jù)分組目的地址;查找路由表,按照最長前綴匹配原則尋找與目的地址匹配的表項(xiàng),如果找到匹配項(xiàng),則將數(shù)據(jù)分組發(fā)送到相應(yīng)的網(wǎng)絡(luò)接口;否則就丟棄該分組。路由功能模塊作為后臺(tái)進(jìn)程在用戶空間運(yùn)行,主要負(fù)責(zé)與其他網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行信息交流,采用適當(dāng)?shù)穆酚伤惴ń⒙酚?,更新和維護(hù)內(nèi)核路由表。

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

          Linux在內(nèi)核2.4版本以上的系統(tǒng)中提供了五個(gè)hook注冊(cè)點(diǎn),這些hook點(diǎn)處在數(shù)據(jù)分組流經(jīng)協(xié)議棧的幾個(gè)關(guān)鍵位置,用戶可以在這些位置注冊(cè)自己定義的操作函數(shù),流經(jīng)hook點(diǎn)的數(shù)據(jù)分組將執(zhí)行函數(shù)的操作。如圖3所示,Netfilter便由處于Linux協(xié)議棧中的五個(gè)hook函數(shù)組成。


          在AODV協(xié)議的實(shí)現(xiàn)過程中,Netfilter的配置是協(xié)議正常運(yùn)行的前提,需要在內(nèi)核中注冊(cè)hook函數(shù),但并不是所有的Linux系統(tǒng)都默認(rèn)啟用Netfilter,因此需要在內(nèi)核配置選項(xiàng)中進(jìn)行配置并編譯進(jìn)內(nèi)核。進(jìn)入Linux內(nèi)核源代碼安裝目錄,輸入make manuconfig命令進(jìn)入內(nèi)核配置主菜單,通過空格鍵選擇:

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

          4 結(jié)語

          結(jié)合IEEE 802.11無線技術(shù)和技術(shù)的優(yōu)勢,采用了高性能的微處理器ADM5120和功能穩(wěn)定強(qiáng)大的嵌入式Linux操作系統(tǒng)作為軟件平臺(tái),構(gòu)建了一個(gè)基于IEEE 802.11b/g技術(shù)的無線便攜式。通過在終端的系統(tǒng)上加載AODV路由協(xié)議實(shí)現(xiàn)了多跳的功能。經(jīng)過三臺(tái)終端的聯(lián)合測試,多跳通話可以保證良好的語音效果。

          本文引用地址:http://www.ex-cimer.com/article/157568.htm

          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();