基于ARM的Ad Hoc網(wǎng)絡(luò)平臺(tái)的實(shí)現(xiàn)
為簡(jiǎn)單起見,本測(cè)試使用兩個(gè)筆記本和一個(gè)ARM平臺(tái)組建成Ad Hoc網(wǎng)絡(luò),如圖4所示,A節(jié)點(diǎn)IP為10.0.1.1,B節(jié)點(diǎn)IP為10.0.1.2,C節(jié)點(diǎn)IP為10.0.1.3(經(jīng)測(cè)試將ARM平臺(tái)做通信端,A或C做中繼,網(wǎng)絡(luò)同樣可以正常運(yùn)行)。
圖4 測(cè)試拓?fù)涫疽鈭D
為了簡(jiǎn)單地實(shí)現(xiàn)C節(jié)點(diǎn)不在A節(jié)點(diǎn)一跳范圍內(nèi),可以使用iptables實(shí)現(xiàn)過(guò)濾。
在A節(jié)點(diǎn)執(zhí)行:
iptables –A INPUT –p ALL –m mac –mac-source C.mac –j DROP
在C節(jié)點(diǎn)執(zhí)行:
iptables –A INPUT –p ALL –m mac –mac-source A.mac –j DROP
以上的C.mac、A.mac是C和A的實(shí)際mac地址,這樣A節(jié)點(diǎn)拒絕C發(fā)給它的數(shù)據(jù)包,C節(jié)點(diǎn)也拒絕A發(fā)給它的數(shù)據(jù)包,保證二者一跳不可達(dá)。
在C節(jié)點(diǎn)ping -R 10.0.1.1,鏈路不通,說(shuō)明過(guò)濾成功,B沒有進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)。
在各節(jié)點(diǎn)上運(yùn)行AODV后,在C節(jié)點(diǎn)ping -R 10.0.1.1,結(jié)果如圖5所示。
圖5 測(cè)試結(jié)果
可見,B正確地進(jìn)行了數(shù)據(jù)包轉(zhuǎn)發(fā),AODV協(xié)議正常運(yùn)行,ARM平臺(tái)成功運(yùn)行。
在A節(jié)點(diǎn)執(zhí)行l(wèi)ftp 10.0.1.3,并下載普通文件。這樣數(shù)據(jù)包由中間的ARM平臺(tái)B轉(zhuǎn)發(fā),下載完成后,查看C節(jié)點(diǎn)的日志文件/var/log/vsftpd.log,發(fā)現(xiàn)上傳和下載的速率基本相同,有將近700kBps的速率,達(dá)到5.4Mbps的速率。粗略估算聚合物電池供電能使ARM平臺(tái)穩(wěn)定運(yùn)行8小時(shí)。
通過(guò)以上測(cè)試,搭建一個(gè)Ad Hoc網(wǎng)絡(luò)的ARM平臺(tái)的目標(biāo)已經(jīng)達(dá)到。通過(guò)對(duì)有多個(gè)ARM平臺(tái)的Ad Hoc網(wǎng)絡(luò)進(jìn)行測(cè)試,發(fā)現(xiàn)當(dāng)某節(jié)點(diǎn)感知無(wú)線信號(hào)很弱時(shí),無(wú)線網(wǎng)卡的essid存在自動(dòng)變化的情況。
評(píng)論