gprs
應用中tcp/ip/ppp
基本概念:
實際上gprs dtu
上實現的是協議棧是
tcp/ip over ppp
。我們在使用時必須要有一些相應的概念。因此在下面我們就與
gprs
模組使用相關的一些事項作一些簡要的說明,如果您想詳細了解這些協議,請參見相關書籍:1.
每一次gprs
模組撥atd*99***1#(
或atd*99***1#)
之後其實都在採用
ppp協議和移動的接入裝置(一般是移動公司的一台特殊的
ggsn
路由器)進行握手,當
ppp協議握手成功後,
gprs
模組都會獲得乙個動態
ip位址。一般來說,每一次
gprs
模組下線後(結束通話連線或者直接斷電後)在重新進行撥號和
ppp握手後取得的動態
ip位址都是不一樣的。但是移動公司可以通過為客戶開通特定的
apn和發行特殊的
sim卡,使得用這張
sim卡獲得的動態
ip位址每一次都不變。也就是說可以做到
sim卡和
ip位址繫結。2.
我們在做測試時,應當注意到如下事實:在採用公網的
apn(
「cmnet」
)的條件下,如果我們用
gprs
模組主動向公網上的乙個靜態公網
ip位址發起
tcp連線,只要這個公網上的機器確實有偵聽相應的埠,這樣是可以連上的
;但是相反地,如果是由公網上的靜態ip向
gprs
模組動態獲得的
ip位址主動發起的
tcp連線將不會成功。這個現象的原因是:實際上
gprs
模組獲得的動態
ip位址是移動的乙個特殊的內部網段上的位址,這個特殊內部網段裡的位址如果要和外部網(公網)的位址進行
tcp通訊,必須通過乙個類似於
tcp**(或者
nat)的裝置進行通訊的**。換句話說,這個動態位址對於網路上的其他機器來說是不可訪問的。3.
標準at
命令+cgdcont
的主要作用是指定
apn。
apn是
access point name
(訪問接入點)的縮寫,移動通過開通特殊的
apn為行業客戶提供
vpn(virtual private net)
服務。比如說,如果是要上公網(
internet),
應當使用
「cmnet」
作為apn
。又如,某企業向移動公司申請了
vpn服務,移動公司為其開通了乙個
apn為
「hxsw.gd」
,則我們就應當用這個
apn來設定
gprs
模組,格式如下:
at+cgdcont=1,「ip」,「hxsw.gd」 4
.確定一條
tcp連線有
4個要素,這
4個要素是雙方的
ip位址和雙方的
tcp埠號,這也就是
gprs
模組為什麼將本地埠、目的埠和目的
ip位址結合起來作為連線的
id號(
gprs
模組在ppp
握手成功後獲得的動態位址只要不斷線重連就不會改變)的原因。 5
.使用tcp協議進行資料通訊時,必須要經過三個階段,第乙個階段是連線建立階段,第二個階段是資料收發階段,第三個階段是連線釋放階段:1)
.連線建立階段:
連線的建立又有主動連線和被動連線之分,一般來說客戶機都是主動發起連線的,而伺服器是被動接受連線的。
所謂的主動連線是指本方主動向遠端發起連線請求,
而被動連線指的是本方偵聽乙個埠,等待遠端及其主動向自己發起乙個連線請求並且進行回應並且最終握手建鏈成功。
在連線成功,切換到資料態後,我們可以通過
open
命令幀控制
gprs
模組進行主動連線。當然,連線時要指定對方的
ip位址和埠號。至於被動連線,
gprs
模組也可以支援,目前的程式只支援偵聽乙個埠。對方主動連線(
gprs
模組被動連線)成功後將建立一條新的通訊連線,
gprs
模組將把這個被動連線成功的事件通知給上位機。2)
.資料收發階段:
當一條連線建立之後,我們就可以在這條連線上進行資料收發了。
我們可以使用
send
命令幀控制
gprs
模組進行資料傳送。當然,傳送時要指定連線號(通過本地埠、目的位址和埠唯一確定)。
對於對方傳送過來的資料,
gprs
模組首先將其儲存在自身的資料緩衝區中,然後將資料已到達此事件通知給上位機,上位機讀取到資料已到達事件後,應當及時使用
recv
命令幀控制
gprs
模組將相應連線上的所有資料通過串列埠讀出,當資料讀出後,這些資料原先占用的資料緩衝區空間將會被釋放。注意,由於
gprs
模組的資料緩衝區有限(總量僅有
25k bytes),
所以,對於對方發來的資料,上位機一定要及時讀出,否則資料越積越多,可能會導致資料緩衝區溢位,丟失資料。3)
.結束通話連線階段:
當一條連線上的所有資料都已經收發完成了,不再需要這條連線時,就可以把連線給結束通話了。
和連線建立階段相類似,結束通話也分為主動結束通話和被動結束通話。
我們可以使用
rset
命令幀控制
gprs
模組進行連線的主動結束通話。
如果連線被對方主動結束通話,
gprs
模組將會把這個事件通知給上位機進行處理。
GPRS應用中TCP IP PPP基本概念
gprs應用中tcp ip ppp基本概念 廈門桑榮科技 gprs應用中tcp ip ppp基本概念 的原理與此差不多 實際上gprs dtu上實現的協議棧是tcp ip over ppp。我們在使用時必須要有一些相應的概念。因此在下面我們就與saro 1010p使用相關的一些事項作一些簡要的說明,...
GPRS應用中TCP IP PPP基本概念
注 gprs與internet通訊過程 實際上gprs dtu上實現的協議棧是tcp ip over ppp。我們在使用時必須要有一些相應的概念。因此在下面我們就與saro 1010p使用相關的一些事項作一些簡要的說明,如果您想詳細了解這些協議,請參見相關書籍 1 每一次saro 1010p撥atd...
GPRS應用中TCP IP PPP的基本概念
gprs應用中tcp ip ppp基本概念 的原理與此差不多 實際上gprs dtu上實現的是協議棧是tcp ip over ppp。我們在使用時必須要有一些相應的概念。因此在下面我們就與saro 1010p使用相關的一些事項作一些簡要的說明,如果您想詳細了解這些協議,請參見相關書籍 1 每一次sa...