一種基于GPRS/CDMA 1X的無(wú)線路由器
無(wú)線路由器支持的網(wǎng)絡(luò)協(xié)議示于表1。
表1 無(wú)線路由器支持的網(wǎng)絡(luò)協(xié)議
應(yīng)用軟件
無(wú)線路由器的網(wǎng)絡(luò)接口包括有線以太網(wǎng)接口和無(wú)線撥號(hào)上網(wǎng)接口,無(wú)線路由器的作用就是在這兩個(gè)接口之間轉(zhuǎn)發(fā)數(shù)據(jù),提供靜態(tài)路由功能。TCP/IP網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)代碼已經(jīng)內(nèi)嵌在mClinux操作系統(tǒng)中,在內(nèi)核中設(shè)置“IP轉(zhuǎn)發(fā)”和“IP偽裝”就能實(shí)現(xiàn)靜態(tài)路由功能。應(yīng)用軟件設(shè)計(jì)主要包括兩個(gè)網(wǎng)絡(luò)應(yīng)用程序:PPP應(yīng)用程序和iptables應(yīng)用程序。
PPP應(yīng)用程序
PPP應(yīng)用程序用來(lái)通過(guò)無(wú)線通信模塊撥號(hào)登錄GPRS/CDMA 1X移動(dòng)網(wǎng)絡(luò),登錄過(guò)程遵循PPP點(diǎn)到點(diǎn)通信協(xié)議。mClinux操作系統(tǒng)代碼中包含有一個(gè)實(shí)現(xiàn)PPP協(xié)議的程序pppd,但是需要根據(jù)GPRS/CDMA 1X移動(dòng)網(wǎng)絡(luò)通信的要求,修改pppd源代碼中的部分配置參數(shù),如撥號(hào)號(hào)碼、登錄用戶名、登錄密碼,就能夠得到需要的PPP應(yīng)用程序,實(shí)現(xiàn)撥號(hào)登錄移動(dòng)網(wǎng)絡(luò)。
iptables應(yīng)用程序
iptables軟件包支持?jǐn)?shù)據(jù)處理包偽裝和過(guò)濾功能,這種功能被稱為網(wǎng)絡(luò)過(guò)濾器(netfilter)。在無(wú)線路由器中我們使用了"IP轉(zhuǎn)發(fā)"和"IP偽裝"功能。
“IP轉(zhuǎn)發(fā)”功能 :
# echo 1 > /proc/sys/net/ipv4/ipforward
“IP偽裝”功能:
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
“IP偽裝”的工作原理是:當(dāng)路由器撥號(hào)上網(wǎng)后,它擁有的兩個(gè)網(wǎng)絡(luò)接口,它倆分別擁有兩個(gè)IP地址:
a.撥號(hào)網(wǎng)絡(luò)接口ppp0是一個(gè)動(dòng)態(tài)的合法公網(wǎng)IP地址,假定為a.b.c.d;
b.以太網(wǎng)口接口eth0是一個(gè)固定的私網(wǎng)的IP地址,假定為192.168.1.1
假如以太網(wǎng)口連接的是一個(gè)局域網(wǎng)192.168.1.x,通常這個(gè)局域網(wǎng)內(nèi)的設(shè)備是不能訪問(wèn)到公網(wǎng)IP的。局域網(wǎng)終端設(shè)備(假定它的ip地址為192.168.1.22)將無(wú)線路由器以太網(wǎng)口的IP地址192.168.1.1設(shè)定為默認(rèn)網(wǎng)關(guān),當(dāng)無(wú)線路由器收到局域網(wǎng)設(shè)備訪問(wèn)公網(wǎng)的請(qǐng)求數(shù)據(jù)包時(shí),通過(guò)上面的"IP轉(zhuǎn)發(fā)"命令對(duì)其進(jìn)行轉(zhuǎn)發(fā),再通過(guò)的"IP偽裝"命令對(duì)其進(jìn)行改寫(xiě),將數(shù)據(jù)包的源地址192.168.1.22替換為自己的合法IP地址a.b.c.d,將源端口號(hào)port1換成一個(gè)新的端口號(hào)port2,并且對(duì)該過(guò)程進(jìn)行記錄。
當(dāng)無(wú)線路由器收到Internet主機(jī)的響應(yīng)包時(shí),如果目的端口號(hào)正是先前改動(dòng)后的端口號(hào)port2,則再對(duì)該包進(jìn)行反向改寫(xiě),將響應(yīng)包的目的IP(a.b.c.d)及目的端口號(hào)(port2)替換為原來(lái)記錄的局域網(wǎng)設(shè)備的IP地址192.168.1.22和端口號(hào)port1,然后再發(fā)送給局域網(wǎng)設(shè)備。
將私網(wǎng)地址轉(zhuǎn)化為公網(wǎng)地址,是由存儲(chǔ)在基于iptable的無(wú)線路由器上的數(shù)據(jù)庫(kù)完成的。無(wú)線路由器的iptable軟件維護(hù)這個(gè)數(shù)據(jù)庫(kù),因此它知道如何進(jìn)行“逆轉(zhuǎn)換”,所以從公網(wǎng)返回的數(shù)據(jù)就能正確的送到源訪問(wèn)設(shè)備。
終端設(shè)備接入無(wú)線網(wǎng)絡(luò)方式
無(wú)線路由器對(duì)終端設(shè)備提供兩個(gè)接口,分別是以太接口和無(wú)線ppp接口。無(wú)線路由器中的路由軟件將來(lái)自以太口的有線網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)自動(dòng)轉(zhuǎn)發(fā)到GPRS/CDMA網(wǎng)絡(luò),或者接收來(lái)自GPRS/CDMA網(wǎng)絡(luò)的數(shù)據(jù)并轉(zhuǎn)發(fā)給以太口的有線網(wǎng)絡(luò)設(shè)備。這種由無(wú)線路由器的自動(dòng)轉(zhuǎn)發(fā)能力提供了以下三種功能:
·網(wǎng)絡(luò)終端設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)
網(wǎng)絡(luò)終端設(shè)備只要通過(guò)以太網(wǎng)口連接到無(wú)線路由器,并將默認(rèn)網(wǎng)關(guān)設(shè)置成無(wú)線路由器的IP地址,就可以接入到GPRS/CDMA網(wǎng)絡(luò)。終端設(shè)備本身的通信軟件無(wú)需作任何的改變。
·網(wǎng)絡(luò)終端設(shè)備的即插即用
無(wú)線路由器內(nèi)置DHCP服務(wù)器。終端設(shè)備只要設(shè)置成自動(dòng)獲取IP地址,通過(guò)以太口連接到無(wú)線路由器,就可以通過(guò)DHCP協(xié)議自動(dòng)獲取動(dòng)態(tài)的IP地址、網(wǎng)關(guān)地址、子網(wǎng)掩碼、DNS等網(wǎng)絡(luò)參數(shù),然后可以接入到GPRS/CDMA網(wǎng)絡(luò)。終端設(shè)備本身的通信軟件無(wú)需作任何的改變,真正做到了即插即用。
·移動(dòng)網(wǎng)絡(luò)自適應(yīng)
無(wú)線路由器內(nèi)置軟件能自動(dòng)識(shí)別路由器硬件配置的無(wú)線通信模塊類型,然后采用不同的撥號(hào)參數(shù),登錄GPRS或者CDMA 1X移動(dòng)網(wǎng)絡(luò)。
圖3 無(wú)線路由器的設(shè)備外形圖
結(jié)語(yǔ)
有線網(wǎng)絡(luò)終端設(shè)備可以利用已有的GPRS/CDMA 1X網(wǎng)絡(luò),無(wú)需鋪設(shè)網(wǎng)線便可通過(guò)無(wú)線路由器完成網(wǎng)絡(luò)無(wú)線接入。CDMA 1X無(wú)線路由器設(shè)備可在高速公路監(jiān)控、防汛指揮、山區(qū)防火、地質(zhì)災(zāi)害等場(chǎng)合作為應(yīng)急通信手段。在偏遠(yuǎn)地區(qū),島嶼、汽車、三峽游輪、火車等架設(shè)通信線路困難或架線不經(jīng)濟(jì)的地方,使用GPRS/CDMA 1X無(wú)線路由器接入互聯(lián)網(wǎng)或者專用VPDN是一種迅速、廉價(jià)的解決方法。本設(shè)備已經(jīng)應(yīng)用在太湖流域管理局的太湖水文數(shù)據(jù)監(jiān)控系統(tǒng)中。
總之,在GPRS/CDMA 1X蜂窩網(wǎng)覆蓋的范圍內(nèi),無(wú)線路由器設(shè)備能快速經(jīng)濟(jì)地提供無(wú)線網(wǎng)絡(luò)通信業(yè)務(wù)。本文所提供方法實(shí)現(xiàn)的無(wú)線路由器設(shè)備通用性強(qiáng),能夠高效率地運(yùn)行。
參考文獻(xiàn):
1. James Stanger,Patrick T.Lane著,鐘日紅等譯,Linux黑客防范開(kāi)放源代碼安全指南,機(jī)械電子工業(yè)出版社,2002年
2. Samsung Electronics,S3C4510B USER Manual
3. ARM Architecture Reference Manual,Second Edition,David Seal
4. 李駒光編著,ARM應(yīng)用系統(tǒng)開(kāi)發(fā)詳解(第二版),清華大學(xué)出版社,2004年12月
linux相關(guān)文章:linux教程
tcp/ip相關(guān)文章:tcp/ip是什么
pos機(jī)相關(guān)文章:pos機(jī)原理
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
cdma相關(guān)文章:cdma原理
評(píng)論