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