基于GPRS的PPP协议的分析
第29卷 第5期 武汉理工大学学报 信息与管理工程版 文章编号:1007-144X (2007) 05-0012-04V o. l 29N o . 5基于GPRS 的PPP 协
第29卷 第5期 武汉理工大学学报 信息与管理工程版 文章编号:1007-144X (2007) 05-0012-04
V o. l 29N o . 5
基于GPRS 的PPP 协议的分析
曾 刚
(武汉理工大学信息工程学院, 湖北武汉430070)
摘 要:通过对PPP 进行深入研究, 分析了基于GPRS 的PPP 协商过程, 叙述了PPP 组成、内容、含义和连接的过程等; 并分析了PPP 协商过程的数据交换情况, 从而为进一步利用PPP 协议实现无线传输终端提供了良好的基础。
关键词:GPRS ; PPP ; LCP
中图法分类号:TP393. 05 文献标识码:A
GPRS 即 通用分组无线业务! (genera l pac k
[1]
et radio serv ice) , 是在现有GS M 网络上开通的一种新型的数据传输技术。GPRS 采用分组交换方式, 仅在实际传送和接收数据时才占用无线资源。GPRS 理论上可提供高达171. 2kb /s的传输速率, 并有 永远在线! 的特点, 即用户可随时与网络保持联系, 能提供快速及时的连接。GS M 网络是目前国内覆盖范围最广、应用最普遍的无线通信网络, 故构建这种以GS M 网络为基础的数据传输系统具有广泛的应用环境, 能很好地应用在各种远程数据的采集和控制系统。
构成基于GPRS 的无线数据传输终端一般采用单片机或嵌入式CP U 对GPRS 模块进行控制。GPRS 模块一般常用德国Sie m ens 公司、美国M o to r o la 公司和法国W aveco m 公司的产品。MC35i 是德国S ie m ens 公司一款GPRS 模块产品, 其特点包括支持双频GSM 900MH z 和GS M l 800MH z ; 支持CS -1、CS -2、CS -3和CS -4编码方式, GPRS 下行数据传输速率最高达到85. 6kb /s, 上行数据传输速率最高达到21. 4kb /s; 具备多速率的RS232接口; 支持语音、传真、短消息; 具有较高的集成度
[2]
能首先要登录GPRS 网络中的GGSN, 这个工作可
以通过相关AT 命令完成。
1 登录GPRS 网络
登录的基本过程如下:通过AT CGATT =? 命令检查MC35i 是否附着GPRS , 返回0为未附着, 返回1为已附着。若没有附着, 则发送AT CGATT=1命令进行附着。"AT CGDCONT =1, I P , C MNET" 定义PDP(分组数据协议) 上下文, 其中1为PDP 上下文标识, I P 表明将要传输的数据包类型为I P 数据包, C MNET 为中国移动的GPRS 网关; ATD*99***1#命令进行数据拨号, 其中
[3]
1与上面的PDP 上下文标识对应。
在上述AT 命令正常执行后, MC35i 就登录到GPRS 网络。但由于MC35i 没有TCP /I P 协议栈, 控制器必须自行处理相关的协议解析工作才能进行数据传输。为了能够进行I P 数据包的传输, 就必须首先实现数据链路层PPP 协议。
2 PPP 协议
PPP 是简单链路设计的链路层协议。设计目的主要是用来建立点对点连接进行数据收发。PPP 协议中主要任务有链路建立、维护、拆除、上层协议协商和认证等。在GPRS 网络中一般用到的有LCP (链路控制协议) 、PAP (密码验证协议) 、CHAP (挑战握手验证协议) 和I PCP 协议(PPP I P 控制协议) 。
为了建立点到点连接, PPP 连接时的两端开始都必须发送LCP 数据包来配置和测试数据连
。
GPRS 模块和控制器之间的连接是通过RS232实现的, 对于控制器而言, GPRS 模块就相当于一个调制解调器, 控制器通过串口发送AT 命令控制GPRS 模块工作情况和得到GPRS 模块相关信息。中国移动在GPRS 网中建立了许多相当于I SP 的GPRS 网关支持结点(GGSN ), 以连接GPRS 网与外部的I nter net 网络。要使用GPRS 功
收稿日期:2006-12-02.
作者简介:曾 刚(1972-), 男, 湖南益阳人, 武汉理工大学信息工程学院讲师.
,第29卷 第5期 曾 刚:基于GPR S 的PPP 协议的分析
13
接; 在连接建立后, 对等实体还有可能需要认证; 然后, PPP 必须发送NCP 数据包来选择一种或多种网络层协议来配置。一旦网络层协议被配置好后, 该网络层的数据报就可以被封装在PPP 帧中在链路上传送了。PPP 链路将保持可配置的状态直到有LCP 数据包和NCP 数据包终止连接。PPP 协议状态图如图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 配置协商选项封装在LCP 包的数据字段中, 包括类型(1字节) 、长度(1字节) 和选项值(可变) 3个字段。其中类型表明该选项类型, 长
图1 PPP 协议状态图
度指明该选项长度, 选项值为选项内容。LCP 常
用协商选项如表2所示。
表2 LCP 常用协商选项
3 PPP 帧格式
PPP 协议基于HDLC , 其帧格式和H DLC 的帧格式类似, 如图2所示。
标志地址控制协议
信息
填充
校验标志
取值字段含义说明
最大接收单元异步控制字符影射认证鉴权协议链路质量协议魔术字协议域压缩地址和控制域压缩
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 数据帧的格式
PPP 帧以标志字符0x7E 作为一帧的开始和结束, 地址字段和控制字段为固定值, 分别为0xFF 和0x03。帧检验序列FCS 采用CRC -16作为整个PPP 帧的校验码。协议字段代表信息字段所属的协议。信息字段根据协议字段的不同装载不同的数据包。填充字段在PPP 帧不够长时进行填充。
在这里终端要求除认证协议、ACC M (异步控制字符影射) 选项需要协商外, 其他协商选项一概采用初始值, 因此就需要拒绝除认证协议协商项外所有的其他选项。进行LCP 协商的基本思路如下:
(1) 等待服务器的LCP 的C onfigure -R e quest 包, 收到后进行检测。
(2) Configure-Request 包只有认证选项配置请求。若为PAP 认证选项, 则接受并发送Con fi g ure-Request 包进行ACC M 选项协商, 要求所有控制字符进行转换; 若为C HAP 认证选项, 则发送Confi g ure-N ak 包, 同时协商进行PAP 认证。
(3) 若Con fi g ure-R equest 包中包含多个选项配置请求, 则发Confi g ure-Re ject 包拒绝除认证选项外的所有选项。
(4) 收到Con fi g ure-Ack 包。若为对ACC M 选项的确认, 则进入PAP 认证鉴权阶段, LCP 协商结束。
4 PPP 协商过程分析
4. 1 LCP 配置协商
在GPRS 模块拨号成功后, 就要进行LCP 协商配置, LCP 数据包封装在PPP 帧的信息字段中, 其协议字段为0xC021。LCP 数据包格式如图3所示。
代码1Byte
标识1Byte
长度
数据
2Byte 长度可变
图3 LCP 数据格式
代码字段说明数据包类型, 标识字段指明数据包编号, 长度字段表明数据包的大小, 数据字段长度可变, 其由一系列LCP 配置协商选项构成。
,武汉理工大学学报 信息与管理工程版
14
2007年5月
(5) 若收到Ter m i n ate -Request 包, 则回应Ter m i n ate-A ck 包, 关闭PPP 连接。
终端实际和网络的交互过程如图4

所示。
节), TCP /I P 报头压缩选项。
(2) 选项3, 类型标志0x03, 长度0x06(6字节), IP 地址配置选项。
(3) 选项129, 类型标志0x81, 长度0x06(6字节), 主用DNS 服务器I P 地址配置选项。(4) 选项131, 类型标志0x83, 长度0x06(6字节), 备用DNS 服务器I P 地址配置选项。
在PAP 认证阶段, 终端收到服务器的PAP 认证确认包后马上发送一个I PCP 数据包进行I P 地址配置。I PCP 数据包收发过程如下
[7]
:
(1) 终端主动发送I PCP 数据包请求服务器分配I P 地址。IP 地址字段4个字节全填入0, 表示要求服务器给终端分配I P 地址。
(2) 收到服务器发来的配置请求包, 数据包中的I P 地址为服务器的I P 地址。
(3) 终端发送对上述配置请求包的确认, 认可服务器I P 地址。
(4) 然后终端再发送配置请求包请求分配I P 地址, I P 地址仍然全为0。
(5) 收到服务器发来的配置拒绝包, 数据包
图4 LCP 数据交互过程
中的I P 地址为服务器建议终端采用的I P 地址。(6) 终端重新发送I P 地址配置请求包, 并将I P 地址填入服务器建议的I P 地址。
(7) 收到服务器对I P 地址配置的确认包, I P 地址分配成功, 终端可利用该I P 地址进行I P 数据的收发。
上面交互过程完成后, 终端将主动进行PAP 认证, 发出PAP 数据包, 进入认证鉴权阶段。4. 2 PAP 认证
PAP 认证主要进行用户名和密码认证, 其数据包仍然封装在PPP 帧内, 格式和LCP 一致。代码字段为1表明鉴权请求(Authenticate -R e quest), 为2表明鉴权确认(Authenticate-Ack ), 为3表明鉴权否认(Authenticate-Nak)
[5]
5 结 论
经过上述PPP 协议数据交换过程, 数据链路已经建立, 但是要进行数据的传输, 还要进行实现I P 协议和TCP /UDP协议。I P 协议的数据包同样封装在PPP 帧中, 此时的协议字段为0x0021。需要说明的一点是, 由于GPRS 网络的特点, 终端分配的I P 地址属于GPRS 网中的内部地址。这样, 在使用无连接UDP 进行数据传输时, 终端数据是由GPRS 中的网络节点进行转接, 其对于外网而言的I P 地址并不固定。因此, 在实际应用中若需要由外网传入数据, 则应该采用TCP 协议, 并由终端首先发起联接。参考文献:
[1] 钟章队, 蒋文怡, 李红君. GPR S 通用分组无线业务
[M].北京:人民邮电出版社, 2001.
[2] S i emens M ob il e . M C35iH ard w are Interface D escr i pti on
。
进入P AP 认证阶段终端主动发出Authentic ate-Request 数据包, 其中用户名和密码长度均
为0, 表示无用户名和密码。
由于中国移动用户使用GPRS 无需用户名和密码, 因此服务器对终端发出Authenticate -Ack 包给予确认。下一步就可以进行I PCP 的协商了。4. 3 IPCP 配置
在I PCP 配置过程中, 可以设置网络连接中的网络环境, 主要包括协商分配I P 地址、I P 压缩协议和DNS 服务器地址等。由于不需要进行域名的解析和I P 压缩, 因而只进行I P 地址的配置。I PCP 协议数据包封装在PPP 帧内, 协议字段值为0x8021, 其格式和LCP 数据包一致, 选项值字段可由多个选项构成, 常见的选项类型包括
[6]
:
(1) 选项2, 类型标志0x02, 长度0x06(6字
,第29卷 第5期 曾 刚:基于GPR S 的PPP 协议的分析
[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 .
[编辑:李道文]