GPRS终端拨号上网连接认证注册全过程研究赵锋王艳玮范建华李琪(西安交通大学,西安710049)E—mail:wang_yw@fescomail.
net摘要论文详细研究了GPRS终端拨号上网连接认证注册的全过程,并通过实例给出了GPRS上网登录过程中必需的LCP、PAP、CHAP、IPCP等协议的内容、流程及处理方式,对采用GPRS技术进行数据交换系统的开发提供编程指导.
关键词GPRS技术LCP协议PAP协议CHAP协议IPCP协议文章编号1002-8331-(2004)23—0158—03文献标识码A中图分类号TP31;TN92StudyontheWholeProcedureofGPRSTerminal'sDialing,Connecting,AuthenticationandRegistrationZhaoFengWangYanweiFanJianhuaLiQi(Xi"anJiaotongUniversity,Xian710049)Abstract:ThepaperstudiesthewholeprocedureofGPRSterminalSdialing,connecting,authenticationandregistration,anddemonstratesthecontent,flowandthewayoftreatmentofsuchnecessaryprotocolsasLCP,PAP,CHAPandIPCPwithexamples·ItCanprovideprogrammingguideofthedevelopmentofwirelessdataexchangesystems.
Keywords:GPRStechnology,LCP,PAP,CHAP,IPCP1概述自中国移动推出GPRSt6,71(GeneralPacketRadioService通用分组无线业务)业务后,采用GPRS技术进行远程设备互连的需求急剧增加.
采用上位机系统进行GPRS拨号上网的过程以及数据收发均可由现成的软件实现,无需进行底层的TCP/IP协议编程,然而在大多数基于单片机的嵌入式远程数据交换系统中,需要自行开发GPRS拨号上网登记注册、UDP(UserDatagramProtocol用户数据报协议)数据收发等底层TCP/IP数据处理程序,而系统开发的难点一般也在于此.
为此,论文详细介绍了GPRS终端拨号上网连接认证注册的全过程.
文中所有实例均基于CellonCMS91GPRS模块.
2GPRS拨号连接认证注册过程分析GPRS模块数据接口类似于调制解调器,采用一定波特率的AT指令进行各种操作控制.
GPRS业务提供的是点对点的PPP(Point—to—PointProtocol点对点协议)链路,因此GPRS拨号上网的过程遵守PPP的网络建立协议.
整个拨号上网注册过程包括:(1)按照调制解调器拨号指令进行拨号.
(2)按照LCP(UnkControlProtocol链路控制协议)协议进行PPP数据链路的建立.
(3)按照PAP(PasswordAuthenticationProtocol密码认证协议)协议或者CHAP(Challenge—HandshakeAuthenticationProtocol握手认证协议)协议进行身份认证.
(4)最后按照IPCP协议进行PPP链路之上IP通道的建立.
下面对以上过程进行详细解释.
(1)PPP帧结构描述【I1F起始/结柬符地址码控制码协议类型校验码畦诺/结柬符0x7E0IFF0x032字节数据域2字节0x7E每个PPP帧均以0x7E起始和结束.
地址码固定为0xFF,控制码固定为0x03,协议类型码定义了该PPP帧传输的上层协议包的类型,其中表1列出了部分类型.
裹1协议类型所代表协议包0xC02lLcP协议包0x802lIPCP协议包OxC023CHAP协议包Oxc223PAP协议包Oxoo2lIP协议包(2)拨号过程以CellonGMS91模块为例,串口通信速率默认设置为115200,一个起始位,八个数据位,无校验位,一个停止位.
拨号指令为:"ATD99料1#",指令以回车符(OxOD)结束,拨号号码为"}99料}1#".
正常情况指令返回数据为:"CONNECT".
(3)PPP链路建立过程PPP链路建立过程遵守LCP,LCP协议标志为o,【Co21,LCP数据包结构如下:LCP包荚型包绸号包长厦配置选项数据1字节1字节2--~-标志l数据长度I数据内容l'一nLCP数据包类型标志定义如表2所示.
作者简介:赵锋(1971一),男,博士,主要从事电子商务技术,嵌入式应用系统,电力系统自动化等方面的工作.
王艳玮(1970一),男,博士,主要从事电子商务技术及行业应用等方面的工作.
范建华(1971一),男,博士,主要从事电力电子商务及电力系统计算机应用等方面的工作.
李琪(1959一),男,教授,主要从事电子商务理论及应用研究.
158200l4.
23计算机工程与应用http://www.
paper.
edu.
cn中国科技论文在线表2LCP数据包类型标定义j0x01配置清求【hO2配置请求确认0x04配置请求行定配置清求拒绝【hO6终止请求确认0x07包类型拒绝0x08协议类型拒绝Oxo9回显请求【h0A回显应答0x0B放弃清求LCP数据包的数据域由数个选项配置组成,每个选项配置包括选项标志、选项数据长度、选项数据内容.
相关的配置选项类型定义如表3所示.
表3配置选项类型定义【hOl最大包长度OxO2异步控制字符0x03身份认证协议OxO7协议码压缩标志0xO8地址码控制码压缩标志以选项0x03为例,如果采用PAP协议进行身份认证,则选项o)【03的配置域表示为o)【03o4C223;如果采用CHAP协议进行身份认证,并且摘要算法采用MD5,则选项3的配置域表示为0x0305C02305.
链路建立的流程如图1所示.
LcP嘎—一服—————一务辇.
GPRS器配曼至—一终端一端垫.
图1当GPRS客户端的LCP配置请求被对端确认,而且对端的请求也被GPRS客户端确认后,PPP链路建立完毕.
(4)PAP身份认证在PPP链路建立过程中约定了相应的身份认证协议,可以使用的身份认证协议为PAP协议和CHAP协议.
使用PAP协议进行身份认证,客户端需向对端发出PAP身份认证请求包,该请求包中包含用户名和密码信息,对端收到该请求包后在用户信息数据库中检查该用户的用户名及密码是否正确,正确则发送身份认证成功确认包,否则发送身份认证失败确认包.
在GPRS上网过程中用户名和密码采用任何值均可成功认证.
PAP包的数据格式如下:11个字节I1个字节I2个字节l1PAP包类型定义如表4.
表4PAP包类型定义OOl身份认证请求O02身份认证成功O03身份认证失败PAP身份认证申请包的数据域格式如下:I用11;{擎l用户名11I密码11个字节I1个字节11PAP身份认汪的流程如图2.
P用户鱼童垩竖务:—一lR蠢塑.
蛹l—蛹(5)CHAP身份认证过程_2'在PAP身份认证中,用户名和密码均为明文传输,具有安全隐患,CHAP协议有所不同.
以使用MD5算法为例,CHAP协议处理过程中,对端首先向客户端发送一个随机的Challenge数据包,客户端将Challenge数据包的编号、本客户端密码、Challenge随机数据序列合并后计算出l6个字节的MD5摘要,将此摘要和用户名作为Challenge数据包的响应发送给对端,对端进行相同的计算,如果得到相同的摘要则发送认证成功包,否则发送认证失败包.
这样客户密码就不需要在网络上传输,提高了安全性.
GPRS上网中任何Challenge响应包均可获得认证成功.
CHAP包的数据格式如下:CHAP包类型定义如表5.
表5CHAP包类型定义0xOl对端向GPRS客户端发送的Challenge包0xO2客户端对Challenge数据请求包的应答O03用户身份认证成功OxOd用户身份认证失败CHAP协议中Challenge申请包中数据域的格式如下:生塑昱型全至羔2l竺!
CHAP协议中Challenge应答包中数据域的格式如下:H重墨堡至蔓2l!
墨l旦CHAP身份认证的流程如图3.
图3(6)IPCP建立IP通道p1身份认证通过后按照IPCP协议建立IP通道,主要是双方互相确认对方的IP地址.
IPCP包的数据格式如下:IPc咆荚型包编号包长度数据域1字节1字节2字节魏选项选项长度内容计算机工程与应用2004.
23159IPCP包类型定义如表6.
表6P包类型定义01配置请求0x02配置确认03配置否定0x04配置拒绝链路终止请求0xO6终止确认蝴包类型拒绝和GPRS上网相关的IPCP选项标志为0x03,即请求发送端的IP地址.
IPCP身份认证的流程如图4.
3GPRS拨号连接认证注册过程举例表7串口从GPRS模块按收到的数据串口向GPRS模块发送的数据ATDT…991#号,t,Xl~车键结束)COI~qECT(拨号成功)拨号过程完成(客户jI发送L0配置请求,对丁E、0xT1)以及小千0x20的宇符进行转意)丁EFF71)23CO21TI)21TI)217D207D2^TI)22TD267D207D2A7D207D2022TD28丁E(实际发送数据为)丁EFF∞CO210101000A0206000A00002208TE(数据意义依次为丁E为PPP帧头标志,0xFF为地址码,0~E03为控制码,0xC02l为L0协议标志,Oz01为配置率请标志,0~E01为帧标识号,0x000A为帧长度,0x02为异步控{|I宇獭射选项标志,0x06为该选项长度,0~E000&0000为该选项僵,0x2.
208为帧校验码,丁E为帧结柬标志)(服务嚣端发送L0配置请求)仡FFTD23CO2171)2171)21TD20TD歪TD22TD26TD20.
『D2^TD20TD20TD2371)24CO23F341)TE(转意处理后敷据为)仡FF03CO210101口口0E0206000A00000304CO23F34D7E(其中帧标识为0x01,长度为0x000S,还请求了舅份认证方式0x030gC023,0x03代衰认证方式,llx04为长度,0023为p&D协议标志)(服务暑墙确认客户墙的L"ill求)住FF03co2102o1oooA0206oooA0口004日7c7E(其中0x02为请求确认标志,确认对象为客户|I'发的帧标识号为0x01的帧)(客户墙确认层务嚣的L0请求)TEFF∞CO21020100oE020600o^O0∞03伪CO23CDcE.
}E(其中0x02为请求确认标志,确认对象为服务暑jI发的帧标识号为Ox0l的帧)通垃L0协议建立PPP链路成功溶户jIl发送P^P舅份认证请求乜)丁EFF∞CO230l0200060口004D34丁E(协议标志QzC023为P协议,0x01为认证请求标志,0x02为帧标识号,0x00代衰用户名长度为0,OttO0代衰密码长度为0)咂务暑I抚忸.
客户靖继续发送P^P舅份认证请求乜)丁EFF03CO230l0300060000093FTE(帧标识号为0x03)(服务暑墙成功确认客户I吱标识号为0如3的P请求)住FF03C02302o3叻084c6F6T696E204BDcDE(0x02为PAP认证成功确认标志)通过PAP协议进行身份认证成功(客户jI'发送邛请求乜,1I|头有4个IPcP包服务暑端未响应)丁EFF∞80210l08o00^∞060000000024l^TE(0x8021为邛协议标志,0x0l为请求标志,0x08为帧衰识号,0x000A为帧长度,0x03为IP地址逸项标志,0x06为选项长度,0xO000O00O为率请IP地址)(服务暑jI'否定客户墙帧标识号为0x08的邛请求乜,并将分配的IP地址Ox-O~B6082310.
182.
8.
35传|岔客户墙)TEFF03802lo3080^0306吐B6082306lFTE(客户|I|再次请隶邛乜,地址置为服务暑分配的1m182.
8.
35)丁EFF∞80210109o00^o3060^B60823B5吐TE(服务暑jI'确认客户jI'的邛请求)仡FF03802l02090^0306吐B60823Dc71)5E7E(服务暑墙向客户墙请求奉口地址,服务暑jI'工P地址为:l92.
200.
1.
21)TEFF03802l01010^0306COC8叭l5668lTE溶户端确认服务暑墙的地址请隶)丁EFF0380210201000^0306COC8叭l5OFF57EGPRS拨号、连按、认证、注册过程成功完成,可以收发UDP或TCP数据包1602004.
23计算机工程与应用一诸哎【客户口地址O.
O.
0.
O)服墼兰.
GP务Rs器一瑶l室renard*,搴.
氛舯终媸端塑:兰圉4作者开发了多个嵌入式的GPRS应用,现在将其中的收发数据示例如表7所示.
对于采用CHAP协议进行认证的过程只截取认证过程的数据包进行分析,如表8.
表8串口向GPRS模块发送的数据l串口从GPRS模块搀收的数据务器靖向客户措发送的cHAP请求包)7EFF03C223010100191477B844D11AD5BA81E49857D9I3403IBD7EC14077CBB007E中0xC223为cHAPl办议标志,0x01为CHAP请求标志,0x01为帧标识号,帧长为0X19,随机数长度为Oxl4,随机数为;OxBS~0x7C之间的20个字符、(客户jI'响应服务暑jI'的CHAP请求乜)7EC2230201001810DFE4FE7416220963C6F70Al1986D6C4B574150FF0C7E(且中9x02为CHAP晌虚包标志,帧长度0x~0IS,数据中MD5籀蔓僵长度为ox1O.
舞耍内容为0xDF~0x4B之间16个字符,这16个字符是通过对请求包编号0x01和用户密码'P玎与请求包中的随机数进行MD5运算的结果,用户名为最后3个字符:WAP)d爱务器瓣对客户措的CHAP响应进行了成功确认)7E盯03C22303010004C2BC7E(CHAP成功确认标志为0x03)4结束语LCP、PAP、CHAP、IPCP等协议是GPRS终端设备进行拨号上网连接认证注册过程中需要用到的非常重要的协议,对这些协议的深入、正确理解是进行GPRS嵌入式设备编程的基础.
论文是作者在基于CellonCMS91、SIMENSMC35等多种GPRS模块进行的多个嵌入式数据交换系统的开发实践中总结出的,能够对基于GPRS技术进行嵌入式系统的开发起到实际的引导和借鉴作用.
(收稿13期:2004年2月)参考文献1.
SimpsonW.
ThePoint-to-PointProtocol(PPP)[C].
In:RFC1331.
Day—dreamer.
19922.
RivestR.
SDusse.
TheMD5Message-DigestAlgorithm[C].
In:MITLaboratoryforComputerScienceandRSADataSecurity.
IncRFC1321,19923.
GMcGregor.
ThePPPIntemetProtocolControlProtocol(IPCP)[C].
In:MeritNetwork,IncRFC1332.
19924.
SimpsonW,DayDreamer.
PPPPasswordAuthenticationProtocol~C].
In:RFC1334.
19925.
SimpsonW,DayDreamer.
PPPChallengeHandshakeAuthenticationProtocol(CHAP)[C].
In:RFC1994.
19966.
CaiJ.
GeneralPacketServiceinGSM[J].
IEEECommunication,1997:122~1317.
乌欣,胡捍英.
GPRS的网络结构和协议分析L刀.
通信技术,2002;123(3):59~61
TabbyCloud迎来一周岁的生日啦!在这一年里,感谢您包容我们的不足和缺点,在您的理解与建议下我们也在不断改变与成长。为庆祝TabbyCloud运营一周年和七夕节,TabbyCloud推出以下活动。TabbyCloud周年庆&七夕节活动官方网站:https://tabbycloud.com/香港CN2: https://tabbycloud.com/cart.php?gid=16购买链...
digital-vm怎么样?digital-vm在今年1月份就新增了日本、新加坡独立服务器业务,但是不知为何,期间终止了销售日本服务器和新加坡服务器,今天无意中在webhostingtalk论坛看到Digital-VM在发日本和新加坡独立服务器销售信息。服务器硬件是 Supermicro、采用最新一代 Intel CPU、DDR4 RAM 和 Enterprise Samsung SSD内存,默认...
pacificrack怎么样?pacificrack商家发布了七月最新优惠VPS云服务器计划方案,推出新款优惠便宜VPS云服务器采用的是国产魔方管理系统,也就是PR-M系列,全系基于KVM虚拟架构,这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10以及Linux等操作系统,最低配置为1核心2G内存1Gbps带宽1...
手机怎么拨号上网为你推荐
尺寸(mm)操作區域手控eacceleratorCentOS5.2下安装eAccelerator,怎么都装不上windows键是哪个Windows快捷键是什么127.0.0.1为什么输入127.0.0.1无法打开页面联通iphone4北京 朝阳区 哪家联通店可以卖Iphone4的,本周周末过去买googleadsence谷歌adsense是被封了么?css选择器css有哪些选择器联通合约机iphone5我想问下,我想入手iphone5的联通合约机, 会被坑吗苹果5.1完美越狱苹果iPhone4 iOS5.1完美越狱教程是什么?morphvoxpro怎么用怎么使用morphvox pro
国外空间租用 vps代理 域名服务器的作用 主机 主机点评 webhosting 网络星期一 免费个人网站申请 100x100头像 php空间推荐 hkg 最好的qq空间 电信托管 申请免费空间和域名 服务器是干什么用的 双线asp空间 电信主机托管 windowssever2008 架设代理服务器 中美互联网论坛 更多