基于A(yíng)RM的Ad Hoc網(wǎng)絡(luò )平臺的實(shí)現
為簡(jiǎn)單起見(jiàn),本測試使用兩個(gè)筆記本和一個(gè)ARM平臺組建成Ad Hoc網(wǎng)絡(luò ),如圖4所示,A節點(diǎn)IP為10.0.1.1,B節點(diǎn)IP為10.0.1.2,C節點(diǎn)IP為10.0.1.3(經(jīng)測試將ARM平臺做通信端,A或C做中繼,網(wǎng)絡(luò )同樣可以正常運行)。

圖4 測試拓撲示意圖
為了簡(jiǎn)單地實(shí)現C節點(diǎn)不在A(yíng)節點(diǎn)一跳范圍內,可以使用iptables實(shí)現過(guò)濾。
在A(yíng)節點(diǎn)執行:
iptables –A INPUT –p ALL –m mac –mac-source C.mac –j DROP
在C節點(diǎn)執行:
iptables –A INPUT –p ALL –m mac –mac-source A.mac –j DROP
以上的C.mac、A.mac是C和A的實(shí)際mac地址,這樣A節點(diǎn)拒絕C發(fā)給它的數據包,C節點(diǎn)也拒絕A發(fā)給它的數據包,保證二者一跳不可達。
在C節點(diǎn)ping -R 10.0.1.1,鏈路不通,說(shuō)明過(guò)濾成功,B沒(méi)有進(jìn)行數據包轉發(fā)。
在各節點(diǎn)上運行AODV后,在C節點(diǎn)ping -R 10.0.1.1,結果如圖5所示。

圖5 測試結果
可見(jiàn),B正確地進(jìn)行了數據包轉發(fā),AODV協(xié)議正常運行,ARM平臺成功運行。
在A(yíng)節點(diǎn)執行lftp 10.0.1.3,并下載普通文件。這樣數據包由中間的ARM平臺B轉發(fā),下載完成后,查看C節點(diǎn)的日志文件/var/log/vsftpd.log,發(fā)現上傳和下載的速率基本相同,有將近700kBps的速率,達到5.4Mbps的速率。粗略估算聚合物電池供電能使ARM平臺穩定運行8小時(shí)。
通過(guò)以上測試,搭建一個(gè)Ad Hoc網(wǎng)絡(luò )的ARM平臺的目標已經(jīng)達到。通過(guò)對有多個(gè)ARM平臺的Ad Hoc網(wǎng)絡(luò )進(jìn)行測試,發(fā)現當某節點(diǎn)感知無(wú)線(xiàn)信號很弱時(shí),無(wú)線(xiàn)網(wǎng)卡的essid存在自動(dòng)變化的情況。
評論