基于GPRS的PPP協(xié)議的分析
第29卷 第5期 武漢理工大學學報 信息與管理工程版 文章編號:1007-144X (2007) 05-0012-04V o. l 29N o . 5基于GPRS 的PPP 協(xié)
第29卷 第5期 武漢理工大學學報 信息與管理工程版 文章編號:1007-144X (2007) 05-0012-04
V o. l 29N o . 5
基于GPRS 的PPP 協(xié)議的分析
曾 剛
(武漢理工大學信息工程學院, 湖北武漢430070)
摘 要:通過對PPP 進行深入研究, 分析了基于GPRS 的PPP 協(xié)商過程, 敘述了PPP 組成、內容、含義和連接的過程等; 并分析了PPP 協(xié)商過程的數(shù)據(jù)交換情況, 從而為進一步利用PPP 協(xié)議實現(xiàn)無線傳輸終端提供了良好的基礎。
關鍵詞:GPRS ; PPP ; LCP
中圖法分類號:TP393. 05 文獻標識碼:A
GPRS 即 通用分組無線業(yè)務! (genera l pac k
[1]
et radio serv ice) , 是在現(xiàn)有GS M 網(wǎng)絡上開通的一種新型的數(shù)據(jù)傳輸技術。GPRS 采用分組交換方式, 僅在實際傳送和接收數(shù)據(jù)時才占用無線資源。GPRS 理論上可提供高達171. 2kb /s的傳輸速率, 并有 永遠在線! 的特點, 即用戶可隨時與網(wǎng)絡保持聯(lián)系, 能提供快速及時的連接。GS M 網(wǎng)絡是目前國內覆蓋范圍最廣、應用最普遍的無線通信網(wǎng)絡, 故構建這種以GS M 網(wǎng)絡為基礎的數(shù)據(jù)傳輸系統(tǒng)具有廣泛的應用環(huán)境, 能很好地應用在各種遠程數(shù)據(jù)的采集和控制系統(tǒng)。
構成基于GPRS 的無線數(shù)據(jù)傳輸終端一般采用單片機或嵌入式CP U 對GPRS 模塊進行控制。GPRS 模塊一般常用德國Sie m ens 公司、美國M o to r o la 公司和法國W aveco m 公司的產(chǎn)品。MC35i 是德國S ie m ens 公司一款GPRS 模塊產(chǎn)品, 其特點包括支持雙頻GSM 900MH z 和GS M l 800MH z ; 支持CS -1、CS -2、CS -3和CS -4編碼方式, GPRS 下行數(shù)據(jù)傳輸速率最高達到85. 6kb /s, 上行數(shù)據(jù)傳輸速率最高達到21. 4kb /s; 具備多速率的RS232接口; 支持語音、傳真、短消息; 具有較高的集成度
[2]
能首先要登錄GPRS 網(wǎng)絡中的GGSN, 這個工作可
以通過相關AT 命令完成。
1 登錄GPRS 網(wǎng)絡
登錄的基本過程如下:通過AT CGATT =? 命令檢查MC35i 是否附著GPRS , 返回0為未附著, 返回1為已附著。若沒有附著, 則發(fā)送AT CGATT=1命令進行附著。"AT CGDCONT =1, I P , C MNET" 定義PDP(分組數(shù)據(jù)協(xié)議) 上下文, 其中1為PDP 上下文標識, I P 表明將要傳輸?shù)臄?shù)據(jù)包類型為I P 數(shù)據(jù)包, C MNET 為中國移動的GPRS 網(wǎng)關; ATD*99***1#命令進行數(shù)據(jù)撥號, 其中
[3]
1與上面的PDP 上下文標識對應。
在上述AT 命令正常執(zhí)行后, MC35i 就登錄到GPRS 網(wǎng)絡。但由于MC35i 沒有TCP /I P 協(xié)議棧, 控制器必須自行處理相關的協(xié)議解析工作才能進行數(shù)據(jù)傳輸。為了能夠進行I P 數(shù)據(jù)包的傳輸, 就必須首先實現(xiàn)數(shù)據(jù)鏈路層PPP 協(xié)議。
2 PPP 協(xié)議
PPP 是簡單鏈路設計的鏈路層協(xié)議。設計目的主要是用來建立點對點連接進行數(shù)據(jù)收發(fā)。PPP 協(xié)議中主要任務有鏈路建立、維護、拆除、上層協(xié)議協(xié)商和認證等。在GPRS 網(wǎng)絡中一般用到的有LCP (鏈路控制協(xié)議) 、PAP (密碼驗證協(xié)議) 、CHAP (挑戰(zhàn)握手驗證協(xié)議) 和I PCP 協(xié)議(PPP I P 控制協(xié)議) 。
為了建立點到點連接, PPP 連接時的兩端開始都必須發(fā)送LCP 數(shù)據(jù)包來配置和測試數(shù)據(jù)連
。
GPRS 模塊和控制器之間的連接是通過RS232實現(xiàn)的, 對于控制器而言, GPRS 模塊就相當于一個調制解調器, 控制器通過串口發(fā)送AT 命令控制GPRS 模塊工作情況和得到GPRS 模塊相關信息。中國移動在GPRS 網(wǎng)中建立了許多相當于I SP 的GPRS 網(wǎng)關支持結點(GGSN ), 以連接GPRS 網(wǎng)與外部的I nter net 網(wǎng)絡。要使用GPRS 功
收稿日期:2006-12-02.
作者簡介:曾 剛(1972-), 男, 湖南益陽人, 武漢理工大學信息工程學院講師.
,第29卷 第5期 曾 剛:基于GPR S 的PPP 協(xié)議的分析
13
接; 在連接建立后, 對等實體還有可能需要認證; 然后, PPP 必須發(fā)送NCP 數(shù)據(jù)包來選擇一種或多種網(wǎng)絡層協(xié)議來配置。一旦網(wǎng)絡層協(xié)議被配置好后, 該網(wǎng)絡層的數(shù)據(jù)報就可以被封裝在PPP 幀中在鏈路上傳送了。PPP 鏈路將保持可配置的狀態(tài)直到有LCP 數(shù)據(jù)包和NCP 數(shù)據(jù)包終止連接。PPP 協(xié)議狀態(tài)圖如圖1所示
[4]
表1為LCP 包代碼字段含義的介紹。
表1 LCP 代碼字段含義
取值123456
含義Confi gure R equest Confi gure A ck Confi gure N ak Confi gure R e ject T er m i nate R equest T er m i nate A ck
說明
配置選項請求包配置選項請求的確認包配置選項請求的否認包配置選項請求的拒絕包關閉連接請求包關閉連接確認包
。
LCP 配置協(xié)商選項封裝在LCP 包的數(shù)據(jù)字段中, 包括類型(1字節(jié)) 、長度(1字節(jié)) 和選項值(可變) 3個字段。其中類型表明該選項類型, 長
圖1 PPP 協(xié)議狀態(tài)圖
度指明該選項長度, 選項值為選項內容。LCP 常
用協(xié)商選項如表2所示。
表2 LCP 常用協(xié)商選項
3 PPP 幀格式
PPP 協(xié)議基于HDLC , 其幀格式和H DLC 的幀格式類似, 如圖2所示。
標志地址控制協(xié)議
信息
填充
校驗標志
取值字段含義說明
最大接收單元異步控制字符影射認證鑒權協(xié)議鏈路質量協(xié)議魔術字協(xié)議域壓縮地址和控制域壓縮
1M ax i m u m R ece i ve U nit 2A synchronous Control Character M ap 3A ut henti cation Protoco l 4Q ua lity P ro t o co l 5M ag i c N u mber ?
7P rotoco l F ield Co m pressi on 8A ddress and Contro l F ie l d Compression
0x7E 0xFF 0x032By te 長度可變長度可變2Byte 0x7E
圖2 PPP 數(shù)據(jù)幀的格式
PPP 幀以標志字符0x7E 作為一幀的開始和結束, 地址字段和控制字段為固定值, 分別為0xFF 和0x03。幀檢驗序列FCS 采用CRC -16作為整個PPP 幀的校驗碼。協(xié)議字段代表信息字段所屬的協(xié)議。信息字段根據(jù)協(xié)議字段的不同裝載不同的數(shù)據(jù)包。填充字段在PPP 幀不夠長時進行填充。
在這里終端要求除認證協(xié)議、ACC M (異步控制字符影射) 選項需要協(xié)商外, 其他協(xié)商選項一概采用初始值, 因此就需要拒絕除認證協(xié)議協(xié)商項外所有的其他選項。進行LCP 協(xié)商的基本思路如下:
(1) 等待服務器的LCP 的C onfigure -R e quest 包, 收到后進行檢測。
(2) Configure-Request 包只有認證選項配置請求。若為PAP 認證選項, 則接受并發(fā)送Con fi g ure-Request 包進行ACC M 選項協(xié)商, 要求所有控制字符進行轉換; 若為C HAP 認證選項, 則發(fā)送Confi g ure-N ak 包, 同時協(xié)商進行PAP 認證。
(3) 若Con fi g ure-R equest 包中包含多個選項配置請求, 則發(fā)Confi g ure-Re ject 包拒絕除認證選項外的所有選項。
(4) 收到Con fi g ure-Ack 包。若為對ACC M 選項的確認, 則進入PAP 認證鑒權階段, LCP 協(xié)商結束。
4 PPP 協(xié)商過程分析
4. 1 LCP 配置協(xié)商
在GPRS 模塊撥號成功后, 就要進行LCP 協(xié)商配置, LCP 數(shù)據(jù)包封裝在PPP 幀的信息字段中, 其協(xié)議字段為0xC021。LCP 數(shù)據(jù)包格式如圖3所示。
代碼1Byte
標識1Byte
長度
數(shù)據(jù)
2Byte 長度可變
圖3 LCP 數(shù)據(jù)格式
代碼字段說明數(shù)據(jù)包類型, 標識字段指明數(shù)據(jù)包編號, 長度字段表明數(shù)據(jù)包的大小, 數(shù)據(jù)字段長度可變, 其由一系列LCP 配置協(xié)商選項構成。
,武漢理工大學學報 信息與管理工程版
14
2007年5月
(5) 若收到Ter m i n ate -Request 包, 則回應Ter m i n ate-A ck 包, 關閉PPP 連接。
終端實際和網(wǎng)絡的交互過程如圖4

所示。
節(jié)), TCP /I P 報頭壓縮選項。
(2) 選項3, 類型標志0x03, 長度0x06(6字節(jié)), IP 地址配置選項。
(3) 選項129, 類型標志0x81, 長度0x06(6字節(jié)), 主用DNS 服務器I P 地址配置選項。(4) 選項131, 類型標志0x83, 長度0x06(6字節(jié)), 備用DNS 服務器I P 地址配置選項。
在PAP 認證階段, 終端收到服務器的PAP 認證確認包后馬上發(fā)送一個I PCP 數(shù)據(jù)包進行I P 地址配置。I PCP 數(shù)據(jù)包收發(fā)過程如下
[7]
:
(1) 終端主動發(fā)送I PCP 數(shù)據(jù)包請求服務器分配I P 地址。IP 地址字段4個字節(jié)全填入0, 表示要求服務器給終端分配I P 地址。
(2) 收到服務器發(fā)來的配置請求包, 數(shù)據(jù)包中的I P 地址為服務器的I P 地址。
(3) 終端發(fā)送對上述配置請求包的確認, 認可服務器I P 地址。
(4) 然后終端再發(fā)送配置請求包請求分配I P 地址, I P 地址仍然全為0。
(5) 收到服務器發(fā)來的配置拒絕包, 數(shù)據(jù)包
圖4 LCP 數(shù)據(jù)交互過程
中的I P 地址為服務器建議終端采用的I P 地址。(6) 終端重新發(fā)送I P 地址配置請求包, 并將I P 地址填入服務器建議的I P 地址。
(7) 收到服務器對I P 地址配置的確認包, I P 地址分配成功, 終端可利用該I P 地址進行I P 數(shù)據(jù)的收發(fā)。
上面交互過程完成后, 終端將主動進行PAP 認證, 發(fā)出PAP 數(shù)據(jù)包, 進入認證鑒權階段。4. 2 PAP 認證
PAP 認證主要進行用戶名和密碼認證, 其數(shù)據(jù)包仍然封裝在PPP 幀內, 格式和LCP 一致。代碼字段為1表明鑒權請求(Authenticate -R e quest), 為2表明鑒權確認(Authenticate-Ack ), 為3表明鑒權否認(Authenticate-Nak)
[5]
5 結 論
經(jīng)過上述PPP 協(xié)議數(shù)據(jù)交換過程, 數(shù)據(jù)鏈路已經(jīng)建立, 但是要進行數(shù)據(jù)的傳輸, 還要進行實現(xiàn)I P 協(xié)議和TCP /UDP協(xié)議。I P 協(xié)議的數(shù)據(jù)包同樣封裝在PPP 幀中, 此時的協(xié)議字段為0x0021。需要說明的一點是, 由于GPRS 網(wǎng)絡的特點, 終端分配的I P 地址屬于GPRS 網(wǎng)中的內部地址。這樣, 在使用無連接UDP 進行數(shù)據(jù)傳輸時, 終端數(shù)據(jù)是由GPRS 中的網(wǎng)絡節(jié)點進行轉接, 其對于外網(wǎng)而言的I P 地址并不固定。因此, 在實際應用中若需要由外網(wǎng)傳入數(shù)據(jù), 則應該采用TCP 協(xié)議, 并由終端首先發(fā)起聯(lián)接。參考文獻:
[1] 鐘章隊, 蔣文怡, 李紅君. GPR S 通用分組無線業(yè)務
[M].北京:人民郵電出版社, 2001.
[2] S i emens M ob il e . M C35iH ard w are Interface D escr i pti on
。
進入P AP 認證階段終端主動發(fā)出Authentic ate-Request 數(shù)據(jù)包, 其中用戶名和密碼長度均
為0, 表示無用戶名和密碼。
由于中國移動用戶使用GPRS 無需用戶名和密碼, 因此服務器對終端發(fā)出Authenticate -Ack 包給予確認。下一步就可以進行I PCP 的協(xié)商了。4. 3 IPCP 配置
在I PCP 配置過程中, 可以設置網(wǎng)絡連接中的網(wǎng)絡環(huán)境, 主要包括協(xié)商分配I P 地址、I P 壓縮協(xié)議和DNS 服務器地址等。由于不需要進行域名的解析和I P 壓縮, 因而只進行I P 地址的配置。I PCP 協(xié)議數(shù)據(jù)包封裝在PPP 幀內, 協(xié)議字段值為0x8021, 其格式和LCP 數(shù)據(jù)包一致, 選項值字段可由多個選項構成, 常見的選項類型包括
[6]
:
(1) 選項2, 類型標志0x02, 長度0x06(6字
,第29卷 第5期 曾 剛:基于GPR S 的PPP 協(xié)議的分析
[EB /OL].[2006-12-02].www . si emens . co m /wm.
[3] ETS I G S M 07. 07:D i g ita l ce ll u l a r te lecomm un i cations
syste m (phase 2 ); a t comm and se t for G S M mob ile
equ i p m ent(ME) [EB /OL].[2006-12-02].http ://
porta l etsi org //acti on /pu/19991214/19991214. ht m.
[4] N et wo rk W o rk i ng G roup . RFC 1661:the po i nt-t o -
po i nt pro t o co l (PPP ) [EB /OL].[2006-12-02].ht
tp ://www.rfc :net/rfc1661. tx t .
[5] N et wo rk W o rk i ng G roup . R FC 1334:PPP authentica 15ti on pro toco ls [EB /OL].[2006-12-02].htt p ://www. rfc :net/rfc1334. tx t . [6] N et wo rk W o rk i ng G roup . RFC1332:the PPP i nternet protoco l control pro t o co l(I PCP) [EB /OL].[2006-12-02].http ://www. rfc :ne t/rfc1332. txt . [7] N et wo rk W o rk i ng G roup . RFC 1172:the po i nt-t o -po i nt pro t o co l (PPP ) i nitial con figu ration opti ons[EB /O L ].[2006-12-02].h ttp ://www.rfc :net/rfc1172. tx t .
Anal ysis of PPP Based on GPRS
ZENG Gang
Abst ract :On the basis o f researching the PPP , the co mm un icating process o f PPP based on GPRS is ana l y zed , and co m ponent of PPP , content of PPP , connecti n g process of PPP , etc are depicted . The process o f data inter change based on PPP negotiation is analyzed . A good foundati o n for f u rther m ak i n g a w ire less trans m ission ter m ina l using PPP is prov i d ed .
K ey w ords :GPRS; PPP ; LCP
ZENG G ang :Lec. t ; School of I nfor m ation Eng i n eeri n g , WUT, W uhan 430070, China .
[編輯:李道文]