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