CN101741656B - 实现移动通信无线Modem终端点对点协议数据传输优化的方法 - Google Patents

实现移动通信无线Modem终端点对点协议数据传输优化的方法 Download PDF

Info

Publication number
CN101741656B
CN101741656B CN2008102026284A CN200810202628A CN101741656B CN 101741656 B CN101741656 B CN 101741656B CN 2008102026284 A CN2008102026284 A CN 2008102026284A CN 200810202628 A CN200810202628 A CN 200810202628A CN 101741656 B CN101741656 B CN 101741656B
Authority
CN
China
Prior art keywords
point
packet
wireless modem
data
user defined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008102026284A
Other languages
English (en)
Other versions
CN101741656A (zh
Inventor
刘涛
殷卫东
张子屹
邹求真
张小琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Shanghai Mobilepeak Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Mobilepeak Semiconductor Co Ltd filed Critical Shanghai Mobilepeak Semiconductor Co Ltd
Priority to CN2008102026284A priority Critical patent/CN101741656B/zh
Publication of CN101741656A publication Critical patent/CN101741656A/zh
Application granted granted Critical
Publication of CN101741656B publication Critical patent/CN101741656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种实现移动通信无线Modem终端点对点协议数据传输优化的方法,终端设备向无线Modem的数据传输处理包括终端设备将下行数据包进行PPP封装、终端设备侧驱动程序层对数据包进行解析并进行UDF封装、将数据包送至Modem、Modem侧驱动程序层对数据包进行UDF解析及后续处理;无线Modem向终端设备的数据传输处理包括Modem将上行数据包在驱动程序层进行UDF封装、将数据包送至终端设备、终端设备侧驱动程序对数据包进行UDF解析及PPP封装、PPP层对数据包进行解析及后续处理。采用该种实现移动通信无线Modem终端点对点协议数据传输优化的方法,降低了Modem终端的CPU占用率,节省了硬件系统资源,工作性能稳定可靠,能广泛适用于第二代和第三代移动通信系统。

Description

实现移动通信无线Modem终端点对点协议数据传输优化的方法
技术领域
本发明涉及移动通信技术领域,特别涉及可做为Modem设备的移动通信终端技术领域,具体是指一种实现移动通信无线Modem终端点对点协议数据传输优化的方法。
背景技术
现代通信正朝宽带化、智能化、个人化以及业务综合化的方向发展。为了满足人们对通信速率日益增长的需求,以GSM为代表的第二代无线移动通信系统在全球范围内正以很快的速度向以WCDMA等为代表的第三代无线移动通信系统过渡。
无线Modem终端的速率也不断提高。以WCDMA(带HSDPA)的数据卡为例,下行速率正在不断靠近14.4Mbps的下行理论值,目前已有下行速率为7Mbps的商用数据卡。在如此不断升高的速率下,CPU的负担无疑会越来越重,尤其是在Modem中PPP模块的压力也会随着速率而成比例上升。
PPP协议,即Point-to-Point Protocol(点对点协议),是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
PPP协议主要由以下几部分组成:
(1)封装:一种封装多协议数据报的方法。PPP封装提供了不同网络层协议同时在同
一链路传输的多路复用技术。PPP封装精心设计,能保持对大多数常用硬件的兼容性。
PPP数据帧的格式请参阅图1所示。每一帧都以标志字符0x7E(0x表示7E为十六进制数)开始和结束。PPP帧的前3个字段中,标志字段F为0x7E,地址字段A和控制字段C都是固定不变的,分别为0xFF、0x03。PPP协议不是面向比特的,因而所有的PPP帧长度都是整数个字节。协议字段不同,后面的信息字段类型就不同,如:
●值为0x0021时,表示信息字段是一个IP数据报;
●值为0xc021时,表示信息字段是链路控制数据;
●值为0x8021时,表示信息字段是网络控制数据。
PPP帧协议字段值的含义详见图2所示。FCS字段(帧检验序列)是一个循环冗余检验码,用来检测数据帧中的错误,FCS字段是对包的所有字节进行扫描计算后得到。计算方法可按照RFC1662-APPENDICES-C.2 Fast Frame Check Sequence(FCS)Implementation中的方法。
由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。
具体的转义实现过程如下:
(a)当遇到字符0x7e时,需连续传送两个字符:0x7d和0x5e,以实现标志字符的转义。
(b)当遇到转义字符0x7d时,需连续传送两个字符:0x7d和0x5d,以实现转义字符的转义。
(c)默认情况下,如果字符的值小于0x20(比如,一个ASCII控制字符),一般都要进行转义。例如,遇到字符0x01时需连续传送0x7d和0x21两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为0)。
PPP封装过程可按照RFC1662-3.The Data Link Layer以及RFC1661-2.PPP Encapsulation中的方法。
(2)链路控制协议:PPP提供的LCP功能全面,适用于大多数环境。LCP用于就封装格式选项自动达成一致,处理数据包大小限制,探测环路链路和其他普通的配置错误,以及终止链路。LCP提供的其他可选功能有:认证链路中对等单元的身份,决定链路功能正常或链路失败情况。
(3)网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。
(4)配置:使用链路控制协议的简单和自制机制。该机制也应用于其它控制协议,如:网络控制协议(NCP)。
目前,多数Modem终端协议栈中都包含有PPP协议,Modem有命令状态与数据状态,在命令状态下,TE(Terminal Equipment,如与Modem相连的PC机等)与Modem之间的数据为AT命令,在数据状态下,TE与Modem之间的数据为PPP帧。Modem初始状态为命令状态,当TE发送拨号命令(如ATD)或进入数据状态命令(如AT+CGDATA),并被成功执行后,Modem返回成功响应(如CONNECT),两侧均进入数据状态。TE与Modem之间的AT命令集参见协议ITU-T V.250Serial asynchronous automatic dialling and control。进入数据状态后,TE与Modem之间的数据为PPP帧,并按照PPP的规程进行协商,协商完成后则开始数据传输。PPP协商规程参见RFC1661、RFC1662、RFC1332。
Modem与TE之间的一般交互过程如下:
(1)TE到Modem方向
在数据状态下,TE侧的数据包(如IP包/LCP包/IPCP包等),从TE侧的TCP/IP协议栈送到TE侧的PPP层,在PPP层对数据包进行封装、计算FCS以得到PPP帧,再将PPP帧送到TE侧驱动程序,驱动程序会将数据发送到物理链路(可以为串行链接,或usb链接,第二代以及第三代无线Modem终端大多使用USB链接以满足高速率的需求)上去。Modem侧收到PPP帧后,在PPP层进行去转义,以及计算FCS。若计算得到的FCS与PPP帧尾中的FCS相同,则帧正确,得到PPP帧中的数据包;否则为错误的PPP帧,可丢弃。若PPP帧中的数据包为用户数据(如IP包),则将IP包交给PPP上层处理。若PPP帧中的数据包为协商包(如LCP包/IPCP包),则按照PPP协商规程在PPP层内部进行处理。
在命令状态下,TE将AT命令交给TE侧驱动程序,由驱动程序发送到物理链路上。Modem收到AT命令后,将会交给AT命令解析器进行解析处理。
(2)Modem到TE方向
在数据状态下,Modem发往PC的数据包(如IP包/LCP包/IPCP包等)经过转义,计算FCS后,生成PPP帧,然后通过物理链路发往TE侧。TE侧收到PPP帧后,在PPP层进行去转义,计算FCS。若计算得到的FCS与PPP帧尾中的FCS相同,则帧正确,得到PPP帧中的数据包;否则为错误的PPP帧,可丢弃。若PPP帧中的数据包为用户数据(如IP包),则将IP包交给TE侧PPP上层的TCP/IP协议栈进行处理。若PPP帧中的数据包为协商包(如LCP包/IPCP包),则按照PPP协商规程在TE侧PPP层内部进行处理。
在命令状态下,Modem中AT命令解析器处理完收到AT命令后,将AT命令结果码发回到物理链路上。TE通过结果码知道AT命令是否执行成功。
(3)状态切换
命令状态到数据状态:TE发送拨号命令(如ATD)或进入数据状态命令(如AT+CGDATA),Modem收到并成功处理后,返回成功结果码(如CONNECT)之后,两侧均进入数据状态。参见协议ITU-T V.250Serial asynchronous automatic dialling and control协议。
数据状态到命令状态:TE或Modem中的任一方向对方发送结束协商包(如LCP TerminateReqest),另一方收到后返回确认包(如LCP Terminate ACK),随后双方均返回命令状态。
数据状态下,Modem与TE的数据交互过程请参阅图3所示。
综上所述,在数据状态下,TE与Modem之间物理链路上的数据均为PPP帧,在Modem中,对数据包的转义去转义包括对所有字节进行扫描,并且运算FCS,因此,Modem协议栈中PPP层对CPU的占有率将会随着速率的提高成比例的增大,尤其在第三代无线Modem终端中,高速的下行速率将会使Modem PPP层的CPU占有率变得很高。
在使用通用CPU的Modem终端设备中,一般硬件不会提供对PPP转义以及去转义的支持,因此,PPP CPU占有率高的问题将会在高速Modem终端设备中变得很突出。同时,在第二代,第三代无线高速Modem终端与PC大都采用高速稳定以及低误码率的硬件接口(如USB接口),在这样的物理链路上传输数据,其误码率几乎可以忽略。因此,在Modem侧遍历数据包的所有内容,计算FCS,通过物理链路发往PC,在PC侧再进行遍历,并计算FCS以判断包的正确性,对于Modem终端来说,这种方法的效率和性能非常低,无法适应高速数据传输的需要,而且会使得投入产出比变得很大,从而增加了硬件的设计和制造成本,不利于移动通信技术的推广和应用
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能在高数据速率下有效降低无线Modem终端中CPU的负担、节省硬件系统资源、实现过程简单方便、工作性能稳定可靠、能够广泛适用于第二代和第三代移动通信系统的实现移动通信无线Modem终端点对点协议数据传输优化的方法。
为了实现上述的目的,本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法如下:
该实现移动通信无线Modem终端点对点协议数据传输优化的方法,所述的无线Modem终端包括无线Modem和通过物理链路与该无线Modem相连接的终端设备,其主要特点是,所述的方法包括终端设备向无线Modem的数据传输处理操作和无线Modem向终端设备的数据传输处理操作,所述的终端设备向无线Modem的数据传输处理操作,包括以下步骤:
(1)终端设备将需要发送到无线Modem的下行数据包在点对点协议层进行点对点协议封装处理,并将得到的点对点协议数据包送至终端设备侧的驱动程序层;
(2)所述的终端设备侧的驱动程序层对收到的点对点协议数据包进行解析处理,并将得到的下行数据包进行用户自定义帧格式封装处理;
(3)所述的终端设备将得到的用户自定义帧格式数据包通过物理链路送至所述的无线Modem;
(4)所述的无线Modem侧的驱动程序层对接收到的用户自定义帧格式数据包进行用户自定义帧格式解析处理,得到该下行数据包;
(5)无线Modem根据该下行数据包的类型进行相应的后续处理操作;
所述的无线Modem向终端设备的数据传输处理操作,包括以下步骤:
(1)无线Modem将需要发送到终端设备的上行数据包在无线Modem侧的驱动程序层进行用户自定义帧格式封装处理;
(2)所述的无线Modem将得到的用户自定义帧格式数据包通过物理链路送至所述的终端设备;
(3)所述的终端设备侧的驱动程序对接收到的用户自定义帧格式数据包进行用户自定义帧格式解析处理,并将得到的上行数据包进行点对点协议封装处理;
(4)所述的终端设备将得到的点对点协议数据包送至点对点协议层;
(5)所述终端设备的点对点协议层对该点对点协议数据包进行解析处理,得到该上行数据包;
(6)终端设备根据该上行数据包的类型进行相应的后续处理操作。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的用户自定义帧格式数据包包括用户自定义帧头和用户数据段。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的用户自定义帧头包括前导码字段、用户数据长度字段、用户数据类型字段与校验和字段。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的用户自定义帧头中的前导码字段为4个字节,用户数据长度字段为2个字节、用户数据类型字段为1个字节,校验和字段为2个字节。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的用户自定义帧格式封装处理,包括以下步骤:
(11)将需要进行封装的数据包填入用户数据段;
(12)将该需要进行封装的数据包的实际长度信息填入所述的用户自定义帧头中的用户数据长度字段中;
(13)将该需要进行封装的数据包的类型信息填入所述的用户自定义帧头中的用户数据类型字段中;
(14)根据所述的用户自定义帧头中的字段信息计算校验和,并填入所述的校验和字段中,得到用户自定义帧格式数据包。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的用户自定义帧头中还可以包括有保留字节,所述的用户自定义帧格式封装处理中的步骤(14)之前还可以包括以下步骤:
(131)将该保留字节设置为0;
所述的步骤(14)具体为:
根据所述的用户自定义帧头中的用户数据长度字段、用户数据类型字段和保留字节计算校验和,并填入所述的校验和字段中。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的用户自定义帧格式解析处理,包括以下步骤:
(21)将对需要进行解析的数据包进行遍历搜索;
(22)如果搜索到与预设的用户自定义帧头中的前导码字段相匹配的字段,则依次向后解析出用户数据长度字段、用户数据类型字段、保留字节与校验和字段;
(23)根据得到的用户自定义帧头中的用户数据长度字段、用户数据类型字段、保留字节计算校验和,并与所得到的校验和字段进行比较;
(24)如果两者不相等,则返回步骤(21);
(25)如果两者相等,则根据用户数据长度字段中的长度信息提取用户数据段中的数据信息,得到解析后的真实数据包。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的上行数据包可以为由所述的无线Modem中的点对点协议层产生的数据包或者从该无线Modem的对等侧发来的数据包。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的下行数据包可以为需要由所述的无线Modem中的点对点协议层进行处理的数据包或者需要向该无线Modem的对等侧发送的数据包。
该实现移动通信无线Modem终端点对点协议数据传输优化的方法中的无线Modem根据该下行数据包的类型进行相应的后续处理操作,包括以下步骤:
(31)如果该下行数据包为需要向该无线Modem的对等侧发送的数据包,则无线Modem的点对点协议层直接将该下行数据包发送给Modem的协议栈上层进行数据发送处理;
(32)如果该下行数据包括为需要由无线Modem中的点对点协议层进行处理的数据包,则无线Modem的点对点协议层直接对该下行数据包进行处理。
采用了该发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法,由于其中将无线Modem终端中的PPP层的处理放在终端设备侧(PC侧)的驱动程序中,PC与Modem终端之间使用一种用户自定义的协议来传输数据,即按照用户自定义的包格式(UDF,UserDefined Frame Format)来封装数据包,而不使用PPP协议对数据包进行封装,由于UDF包不使用特定字符作为帧边界,而是使用特殊的模式和包头中的长度域取代,即根据长度域的值决定包的边界;而且UDF不对整个用户数据计算FCS,而是仅仅针对UDF包头(仅10字节)做校验,校验的计算方法也采用开销较小的TCP校验和算法,从而大大提高了无线Modem侧的PPP层的处理速度,而且由于省去了Modem终端对PPP帧的转义去转义以及遍历包的所有字节并计算FCS,而将这部分工作放在Modem对等侧(如PC侧)来做,从而大大降低了Modem终端的PPP层对CPU的占有率使其能在高数据速率下有效降低无线Modem终端中CPU的负担,节省了硬件系统资源,而且实现过程简单方便,工作性能稳定可靠,能够广泛适用于第二代和第三代移动通信系统,为移动通信技术的进一步推广应用奠定了坚实的基础。
附图说明
图1为现有技术中的PPP帧结构示意图。
图2为现有技术中的PPP帧协议字段值对应的包类型示意图。
图3为现有技术中的常规情况下PC与Modem的数据交互过程示意图。
图4为本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法中的UDF包格式示意图。
图5为本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法中UDF包中用户数据类型字段值的含义示意图。
图6为本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法中PC向Modem发送IP包的数据处理过程示意图。
图7为本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法中Modem向PC发送IP包的数据处理过程示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图4至图7所示,该实现移动通信无线Modem终端点对点协议数据传输优化的方法,所述的无线Modem终端包括无线Modem和通过物理链路与该无线Modem相连接的终端设备,其中,所述的方法包括终端设备向无线Modem的数据传输处理操作和无线Modem向终端设备的数据传输处理操作,所述的终端设备向无线Modem的数据传输处理操作,包括以下步骤:
(1)终端设备将需要发送到无线Modem的下行数据包在点对点协议层进行点对点协议封装处理,并将得到的点对点协议数据包送至终端设备侧的驱动程序层;该上行数据包可以为由所述的无线Modem中的点对点协议层产生的数据包或者从该无线Modem的对等侧友来的数据包;
(2)所述的终端设备侧的驱动程序层对收到的点对点协议数据包进行解析处理,并将得到的下行数据包进行用户自定义帧格式封装处理;该用户自定义帧格式数据包包括用户自定义帧头和用户数据段,该用户自定义帧头包括前导码字段、用户数据长度字段、用户数据类型字段与校验和字段,该用户自定义帧头中的前导码字段为4个字节,用户数据长度字段为2个字节、用户数据类型字段为1个字节,校验和字段为2个字节;该用户自定义帧格式封装处理,包括以下步骤:
(a)将需要进行封装的数据包填入用户数据段;
(b)将该需要进行封装的数据包的实际长度信息填入所述的用户自定义帧头中的用户数据长度字段中;
(c)将该需要进行封装的数据包的类型信息填入所述的用户自定义帧头中的用户数据类型字段中;
其中,该用户自定义帧头中还可以包括有保留字节,上述的步骤(c)之后还可以包括以下步骤:
(c1)将该保留字节设置为0;
(d)根据所述的用户自定义帧头中的字段信息计算校验和,并填入所述的校验和字段中,得到用户自定义帧格式数据包,具体为:
根据所述的用户自定义帧头中的用户数据长度字段、用户数据类型字段和保留字节计算校验和,并填入所述的校验和字段中;
(3)所述的终端设备将得到的用户自定义帧格式数据包通过物理链路送至所述的无线Modem;
(4)所述的无线Modem侧的驱动程序层对接收到的用户自定义帧格式数据包进行用户自定义帧格式解析处理,得到该下行数据包;该用户自定义帧格式解析处理,包括以下步骤:
(a)将对需要进行解析的数据包进行遍历搜索;
(b)如果搜索到与预设的用户自定义帧头中的前导码字段相匹配的字段,则依次向后解析出用户数据长度字段、用户数据类型字段、保留字节与校验和字段;
(c)根据得到的用户自定义帧头中的用户数据长度字段、用户数据类型字段、保留字节计算校验和,并与所得到的校验和字段进行比较;
(d)如果两者不相等,则返回上述步骤(a);
(e)如果两者相等,则根据用户数据长度字段中的长度信息提取用户数据段中的数据信息,得到解析后的真实数据包;
(5)无线Modem根据该下行数据包的类型进行相应的后续处理操作,包括以下步骤:
(a)如果该下行数据包为需要向该无线Modem的对等侧发送的数据包,则无线Modem的点对点协议层直接将该下行数据包发送给Modem的协议栈上层进行数据发送处理;
(b)如果该下行数据包括为需要由无线Modem中的点对点协议层进行处理的数据包,则无线Modem的点对点协议层直接对该下行数据包进行处理。
所述的无线Modem向终端设备的数据传输处理操作,包括以下步骤:
(1)无线Modem将需要发送到终端设备的上行数据包在无线Modem侧的驱动程序层进行用户自定义帧格式封装处理;该下行数据包可以为需要由所述的无线Modem中的点对点协议层进行处理的数据包或者需要向该无线Modem的对等侧发送的数据包;所述的用户自定义帧格式封装处理同上;
(2)所述的无线Modem将得到的用户自定义帧格式数据包通过物理链路送至所述的终端设备;
(3)所述的终端设备侧的驱动程序对接收到的用户自定义帧格式数据包进行用户自定义帧格式解析处理,并将得到的上行数据包进行点对点协议封装处理;所述的用户自定义帧格式解析处理同上;
(4)所述的终端设备将得到的点对点协议数据包送至点对点协议层;
(5)所述终端设备的点对点协议层对该点对点协议数据包进行解析处理,得到该上行数据包;
(6)终端设备根据该上行数据包的类型进行相应的后续处理操作。
在实际使用当中,首先以例举的方式给出一种自定义的不需要对包内所有字节进行遍历的包格式(即上文中User Defined Frame Format,简称UDF格式):
UDF数据包由2部分组成:UDF Header,User Data。
UDF Header共计10Bytes,由5个字段(域)组成,从包的开始位置依次为:4个字节的前导码(Header Code),2个字节的用户数据长度(User Data Len),1个字节的用户数据类型(User Data Type),1个字节的保留字节(Reserved Byte),以及2个字节的校验和(CheckSum)。UDF包格式请参阅图4所示。
 
Header Code 4个字节,均为0x7e。
User Data Len 2个字节,表示Check sum域之后的User Data的长度(以Byte为单位)。高字节在前,低字节在后(Check Sum域与Data Len相同),例如:若Data Len为1,则Higher Byte为0,Lower Byte为1。
User Data Type 1个字节,表示用户数据类型。数据类型域值的含义见图5。
Reserved Byte 1个字节,表示复用通道号。
Check sum 2个字节,指对前Header Code域,User Data Len域,User Data Type域,以及Reserved Byte域做校验和(check sum)。使用的Check Sum算法请参阅参见RFC7933.1节。
在实际应用当中,本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法的基本思想如下:
将Modem终端中的PPP层的处理放在PC侧的驱动程序中,PC与Modem终端之间使用一种用户自定义的协议来传输数据,即按照用户自定义的包格式(User Defined Frame Format,以下简称为UDF包)来封装数据包,而不使用PPP协议对数据包进行封装,UDF包格式对PPP层的优化体现在:
(1)UDF包不使用特定字符作为帧边界,而是使用特殊的模式和包头中的长度域取代,即根据长度域的值决定包的边界;
(2)UDF不对整个用户数据计算FCS,而是仅仅针对UDF包头(仅10字节)做校验,校验的计算方法也采用开销较小的TCP校验和算法,这样可大大提高Modem侧PPP层的处理速度。
具体步骤分为两个方向的优化:
(1)从PC到Modem方向
(a)在PC侧,从TCP/IP协议栈发往PC侧PPP层的数据包(如IP包),或在PPP层内生成的数据包(如LCP/IPCP包等),均进行转义以及计算FCS后生成PPP帧,PPP帧接着被送到PC侧驱动程序;在PC侧驱动程序中,对PPP帧进行去转义以及计算FCS后得到要发送的数据包(IP包或LCP/IPCP包),然后使用UDF格式对数据包进行封装,数据包的类型,即PPP帧的协议字段,应该包含在UDF包头中,最后UDF包被发送到物理链路上。
(b)在Modem侧,从物理链路上收到的UDF包后,解析UDF头,将得到数据包,以及数据包的类型(即PPP帧的协议字段)。然后,根据数据包的类型进行不同的处理。若为IP包,则可直接处理。这样就省去了Modem的对PPP帧的去转义及计算FCS的操作,节省了CPU处理时间。
(2)从Modem到PC方向
(a)在Modem侧,PPP层收到的数据包(如IP包),或在PPP层内生成的数据包(如LCP/IPCP包等),直接用UDF格式进行封装,并将包类型包含在UDF包头中,直接发送到物理链路上。
(b)在PC侧,驱动程序从物理链路上收到的UDF包后,解析UDF头,将得到数据包,以及数据包的类型,然后在驱动程序中,对数据包进行转义,并计算FCS,生成PPP帧,同时数据包类型将被填进PPP的协议字段;然后驱动程序将PPP帧发送给PC侧的PPP层,在PPP层内又进行去转义以及计算FCS,并对得到的数据包进行相应的操作。
本发明的该优化方法,在命令状态下,TE到Modem方向包括以下步骤:
(1)在TE侧,AT命令被发送到驱动程序,在驱动程序中对AT命令使用UDF格式进行封装,UDF头中User Data Len域为AT命令的长度,User Data Type域为1(参见图5,即表示AT命令及结果码),Reserved Byte域可填0,然后将生成的UDF包发送到与Modem之间的物理链路上去;
(2)Modem驱动程序从物理链路上收到数据,解析出UDF包,步骤如下:
(a)对收到的数据进行遍历,当发现4个连续的0x7e时,则认为是UDF包头的HeaderCode域,然后按照UDF包的格式,依次向后解析出User Data Len、User Data Type、Reserved Byte、Check sum域;
(b)对收到的前4个域(参见图4,即Header Code、User Data Len、User Data Type、Reserved Byte域,共8个字节)进行计算check sum;
(c)将计算出的check sum结果与UDF包头中Check sum域的值进行比较,如果不相等,则是错误的UDF头,跳到(a);如果相等,则是正确的UDF包,取出UDF包中的AT命令。
(3)Modem侧驱动程序将AT命令,交给AT命令解析器进行处理。AT命令解析器处理完后,将AT命令结果码返回给驱动程序,跳到Modem到TE中(1)。Modem状态的切换取决于具体的AT命令以及处理结果:
(a)如果AT命令是拨号命令(如ATD)或者进入数据状态命令(如AT+CGDATA),并且当命令成功执行,返回CONNECT结果码后,Modem进入数据状态;
(b)如果AT命令既不是拨号命令也不是进入数据状态的命令,则命令执行完,返回结果码后,Modem状态保持不变,仍然处于命令状态。
该第二、三代无线Modem终端中PPP(point to point)优化方法,在命令状态下,Modem到TE方向包括以下步骤:
(1)Modem驱动程序收到其上层发送的AT命令结果码后,使用UDF格式进行封装,UDF头中User Data Len域为AT命令结果码的长度,User Data Type域为1(参见图5,即表示AT命令及结果码),Reserved Byte域可填0;然后将生成的UDF包发送到与TE之间的物理链路上去;
(2)TE驱动程序从物理链路上收到数据,解析出UDF包,解析步骤同命令状态下Modem到TE方向中的(2)步骤;解析出UDF包后,得到AT命令结果码;
(3)TE侧驱动程序将跟据AT命令结果码进行状态切换:
(a)如果是CONNECT结果码,则TE侧驱动程序中的状态进入数据状态;
(b)如果不是CONNECT结果码,则TE侧驱动程序中的状态保持不变,仍然为命令状态。
(4)TE侧驱动程序将AT命令结果码,发送给TE侧的与ModemAT命令解析器的对等层。
再请参阅图6所示,本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法,在数据状态下,从Modem到TE方向的数据处理包括以下步骤:
(1)在Modem侧PPP层被处理的数据包有两个来源:
(a)若数据包是由Modem中PPP层生成(如LCP/IPCP包),则对PPP生成的数据包使用UDF格式进行封装,即在数据包前加UDF头,UDF头中User Data Len域为数据包长度,User Data Type域为数据包类型值(如LCP/IPCP类型对应的值),ReservedByte域可填0;然后将生成的UDF包发送到与TE之间的物理链路上去。
(b)Modem收到对等侧发来的数据包(如IP包),当数据包到达PPP层后,使用UDF对数据包进行封装,即在数据包前加UDF头,UDF头中User Data Len域为数据包长度,User Data Type域为数据包类型值(如IP类型对应的值),Reserved Byte域可填0;然后将生成的UDF包发送到与PC之间的物理链路上去。
(2)TE驱动程序从物理链路上收到数据,解析出UDF包,解析步骤同命令状态下Modem到TE方向中的(2)步骤;解析出UDF包后,得到数据包;
(3)TE侧驱动程序将根据数据包类型进行状态切换:
(a)如果此数据包对应的UDF包中User Data Type域的值为3(参见图5表示LCP链路控制包),并且User Data域的第一个字节值为0x06(参见RFC1661第5.5Terminate-Request and Terminate-Ack,即Lcp Terminate ACK断开连接确认包),则此包为Modem对TE发送的LCP Terminate Request包(参见RFC1661第5.5Terminate-Request and Terminate-Ack,即断开连接请求包,其对应UDF包中User DataType域的值为3,User Data域第一个字节值为0x05)的确认,TE侧驱动程序的状态切换到命令状态。
(b)如果非Lcp Terminate ACK数据包,则TE侧驱动程序中的状态保持不变,仍然为数据状态。
(4)将数据包封装成PPP帧,包括:加帧头帧尾,填写协议字段,转义,计算FCS。转义及计算FCS方法可按照RFC1662-APPENDICES-C.2Fast Frame Check Sequence(FCS)Implementation中的方法。协议字段,根据User Data Type域的值查图5得到包类型,再根据图2得到该包类型对应的PPP协议字段的值。
(5)将生成的PPP帧送到TE侧PPP层处理。
再请参阅图7所示,本发明的实现移动通信无线Modem终端点对点协议数据传输优化的方法,在数据状态下,从TE到Modem方向包括以下步骤:
(1)在TE侧,驱动程序收到PPP层要发往Modem侧的PPP帧后,进行解封装操作,包括:去转义,保存PPP帧协议字段(计算FCS可省去),保存去转义后PPP帧内数据包的长度。去转义方法可参见RFC1662-3.The Data LinkLayer以及RFC1661-2.PPP Encapsulation中的方法。解封装后得到PPP帧内数据包,数据包长度,以及PPP帧协议字段。根据协议字段的值查询图4可得到包类型(如IP、LCP/IPCP类型)。
(2)对解封装后的数据包使用UDF格式进行封装,即在数据包前加UDF头,UDF头中User Data Len域填写(1)中保存的数据包长度,User Data Type域的值根据(1)中得到的包类型查图5可得到(即IP,LCP/IPCP类型对应的值),Reserved Byte域可填0;然后将生成的UDF包发送到与PC之间的物理链路上去。
(3)Modem驱动程序从物理链路上收到数据,解析出UDF包,解析步骤同命令状态下Modem到TE方向中的(2)步骤,解析出UDF包后,得到数据包;
(4)数据包发送给Modem侧PPP层,根据数据包对应的UDF包中User DataType域的值查询图5得到包类型,根据数据包的类型做不同处理:
(a)若数据包为发往Modem对等侧的数据(如IP包),则PPP层直接将IP包发送给Modem的协议栈上层。
(b)若数据包为PPP层内处理的数据包(如LCP/IPCP包),则PPP层直接对其进行处理,若处理结果需要发送数据包(如LCP/IPCP包)给TE,则跳到Modem到TE的(1)-(a)。
(5)Modem将根据数据包类型进行状态切换:
(a)如果此数据包对应的UDF包中User Data Type域的值为3(参见图5表示LCP链路控制包),并且User Data域的第一个字节值为0x06(参见RFC1661第x.x,此数据包为Lcp Terminate ACK包),则此数据包为TE对Modem发送的LCP TerminateRequest包(参见RFC1661第5.5Terminate-Request and Terminate-Ack,即断开连接请求,其对应UDF包中User Data Type域的值为3,User Data域第一个字节值为0x05)的确认,Modem状态切换到命令状态;
(b)如果非Lcp Terminate ACK数据包,则Modem状态保持不变,仍然为数据状态。
采用了上述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,由于其中将无线Modem终端中的PPP层的处理放在终端设备侧(PC侧)的驱动程序中,PC与Modem终端之间使用一种用户自定义的协议来传输数据,即按照用户自定义的包格式(UDF,UserDefined Frame Format)来封装数据包,而不使用PPP协议对数据包进行封装,由于UDF包不使用特定字符作为帧边界,而是使用特殊的模式和包头中的长度域取代,即根据长度域的值决定包的边界;而且UDF不对整个用户数据计算FCS,而是仅仅针对UDF包头(仅10字节)做校验,校验的计算方法也采用开销较小的TCP校验和算法,从而大大提高了无线Modem侧的PPP层的处理速度,而且由于省去了Modem终端对PPP帧的转义去转义以及遍历包的所有字节并计算FCS,而将这部分工作放在Modem对等侧(如PC侧)来做,从而大大降低了Modem终端的PPP层对CPU的占有率使其能在高数据速率下有效降低无线Modem终端中CPU的负担,节省了硬件系统资源,而且实现过程简单方便,工作性能稳定可靠,能够广泛适用于第二代和第三代移动通信系统,为移动通信技术的进一步推广应用奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (8)

1.一种实现移动通信无线Modem终端点对点协议数据传输优化的方法,所述的无线Modem终端包括无线Modem和通过物理链路与该无线Modem相连接的终端设备,其特征在于,所述的方法包括终端设备向无线Modem的数据传输处理操作和无线Modem向终端设备的数据传输处理操作,所述的终端设备向无线Modem的数据传输处理操作,包括以下步骤:
(1)终端设备将需要发送到无线Modem的下行数据包在点对点协议层进行点对点协议封装处理,并将得到的点对点协议数据包送至终端设备侧的驱动程序层;
(2)所述的终端设备侧的驱动程序层对收到的点对点协议数据包进行解析处理,并将得到的下行数据包进行用户自定义帧格式封装处理;
(3)所述的终端设备将得到的用户自定义帧格式数据包通过物理链路送至所述的无线Modem,所述的用户自定义帧格式数据包包括用户自定义帧头和用户数据段,所述的用户自定义帧头包括前导码字段、用户数据长度字段、用户数据类型字段与校验和字段;
(4)所述的无线Modem侧的驱动程序层对接收到的用户自定义帧格式数据包进行用户自定义帧格式解析处理,得到该下行数据包;
(5)无线Modem根据该下行数据包的类型进行相应的后续处理操作;
所述的无线Modem向终端设备的数据传输处理操作,包括以下步骤:
(1)无线Modem将需要发送到终端设备的上行数据包在无线Modem侧的驱动程序层进行用户自定义帧格式封装处理;
(2)所述的无线Modem将得到的用户自定义帧格式数据包通过物理链路送至所述的终端设备;
(3)所述的终端设备侧的驱动程序对接收到的用户自定义帧格式数据包进行用户自定义帧格式解析处理,并将得到的上行数据包进行点对点协议封装处理;
(4)所述的终端设备将得到的点对点协议数据包送至点对点协议层;
(5)所述终端设备的点对点协议层对该点对点协议数据包进行解析处理,得到该上行数据包;
(6)终端设备根据该上行数据包的类型进行相应的后续处理操作。
2.根据权利要求1所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的用户自定义帧头中的前导码字段为4个字节,用户数据长度字段为2个字节、用户数据类型字段为1个字节,校验和字段为2个字节。
3.根据权利要求1或2所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的用户自定义帧格式封装处理,包括以下步骤:
(11)将需要进行封装的数据包填入用户数据段;
(12)将该需要进行封装的数据包的实际长度信息填入所述的用户自定义帧头中的用户数据长度字段中;
(13)将该需要进行封装的数据包的类型信息填入所述的用户自定义帧头中的用户数据类型字段中;
(14)根据所述的用户自定义帧头中的字段信息计算校验和,并填入所述的校验和字段中,得到用户自定义帧格式数据包。
4.根据权利要求3所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的用户自定义帧头中还包括有保留字节,所述的用户自定义帧格式封装处理中的步骤(14)之前还包括以下步骤:
(131)将该保留字节设置为0;
所述的步骤(14)具体为:
根据所述的用户自定义帧头中的用户数据长度字段、用户数据类型字段和保留字节计算校验和,并填入所述的校验和字段中。
5.根据权利要求4所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的用户自定义帧格式解析处理,包括以下步骤:
(21)将对需要进行解析的数据包进行遍历搜索;
(22)如果搜索到与预设的用户自定义帧头中的前导码字段相匹配的字段,则依次向后解析出用户数据长度字段、用户数据类型字段、保留字节与校验和字段;
(23)根据得到的用户自定义帧头中的用户数据长度字段、用户数据类型字段、保留字节计算校验和,并与所得到的校验和字段进行比较;
(24)如果两者不相等,则返回步骤(21);
(25)如果两者相等,则根据用户数据长度字段中的长度信息提取用户数据段中的数据信息,得到解析后的真实数据包。
6.根据权利要求1所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的上行数据包为由所述的无线Modem中的点对点协议层产生的数据包或者从该无线Modem的对等侧发来的数据包。
7.根据权利要求1所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的下行数据包为需要由所述的无线Modem中的点对点协议层进行处理的数据包或者需要向该无线Modem的对等侧发送的数据包。
8.根据权利要求7所述的实现移动通信无线Modem终端点对点协议数据传输优化的方法,其特征在于,所述的无线Modem根据该下行数据包的类型进行相应的后续处理操作,包括以下步骤:
(31)如果该下行数据包为需要向该无线Modem的对等侧发送的数据包,则无线Modem的点对点协议层直接将该下行数据包发送给Modem的协议栈上层进行数据发送处理;
(32)如果该下行数据包括为需要由无线Modem中的点对点协议层进行处理的数据包,则无线Modem的点对点协议层直接对该下行数据包进行处理。
CN2008102026284A 2008-11-12 2008-11-12 实现移动通信无线Modem终端点对点协议数据传输优化的方法 Active CN101741656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102026284A CN101741656B (zh) 2008-11-12 2008-11-12 实现移动通信无线Modem终端点对点协议数据传输优化的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102026284A CN101741656B (zh) 2008-11-12 2008-11-12 实现移动通信无线Modem终端点对点协议数据传输优化的方法

Publications (2)

Publication Number Publication Date
CN101741656A CN101741656A (zh) 2010-06-16
CN101741656B true CN101741656B (zh) 2012-01-11

Family

ID=42464588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102026284A Active CN101741656B (zh) 2008-11-12 2008-11-12 实现移动通信无线Modem终端点对点协议数据传输优化的方法

Country Status (1)

Country Link
CN (1) CN101741656B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209306B (zh) * 2016-06-24 2019-05-31 北京智慧云行科技有限责任公司 一种道路运输车辆卫星定位系统终端通讯方法及装置
CN107147674A (zh) * 2017-06-22 2017-09-08 上海斐讯数据通信技术有限公司 一种网络数据的解析方法及路由器及装置
CN109660429A (zh) * 2018-12-26 2019-04-19 芯翼信息科技(上海)有限公司 信息校验方法及信息校验系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487218B1 (en) * 1998-01-12 2002-11-26 Telefonaktiebolaget Lm Ericsson Method and device for configuring a link
CN101035137A (zh) * 2006-03-06 2007-09-12 中兴通讯股份有限公司 一种在异制链路层通路动态建立点对点协议通道的方法
CN101060449A (zh) * 2006-06-16 2007-10-24 华为技术有限公司 一种以太技术交换和转发的方法、系统和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487218B1 (en) * 1998-01-12 2002-11-26 Telefonaktiebolaget Lm Ericsson Method and device for configuring a link
CN101035137A (zh) * 2006-03-06 2007-09-12 中兴通讯股份有限公司 一种在异制链路层通路动态建立点对点协议通道的方法
CN101060449A (zh) * 2006-06-16 2007-10-24 华为技术有限公司 一种以太技术交换和转发的方法、系统和设备

Also Published As

Publication number Publication date
CN101741656A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
US6542490B1 (en) Data link control proctocol for 3G wireless system
FI98027C (fi) Pakettiradiojärjestelmä ja päätelaitteisto pakettiradiojärjestelmää varten
US6539030B1 (en) Method and apparatus for providing configurable layers and protocols in a communications system
JP3721078B2 (ja) 電気通信システムにおけるフロー制御方法
US8160106B2 (en) Method, device and system for transmitting Ethernet packets
US20080049713A1 (en) Systems, Methods, and Apparatus with a Common Wireless Communications Protocol
CN110875862B (zh) 一种报文传输方法及装置、计算机存储介质
WO2010031324A1 (zh) 数据传输的方法、装置和系统
EP1155551B1 (en) Simultaneous setup of ppp on a um and rm interface
CN101150497A (zh) 移动通信中多数据包传输的方法、系统及设备
CN1691666B (zh) 多协议通用线路传输方法及其装置
CN101741656B (zh) 实现移动通信无线Modem终端点对点协议数据传输优化的方法
CN102369752A (zh) 一种数据传输的方法、装置
JP3927124B2 (ja) 選択的にppp圧縮を維持し無線通信システムに適用する方法
US7680122B2 (en) Communication method for data communication based on point-to-point protocol
EP2071808A1 (en) Methods and a system and devices for ipv6 datagram transmission in the ethernet
CN101471937B (zh) 以太报文复用、解复用方法及设备
WO2004032562A1 (en) Apparatus, method and program for network topology discovery utilizing data link layer services
CN107104813A (zh) 一种信息传输方法、网关及控制器
CN100589448C (zh) 一种实现数据包压缩/解压缩的方法
EP1193923B1 (en) Radio link protocol framing system for high speed data transfer over digital cellular mobile telecommunication networks
EP1757062A1 (en) Method and system for facilitating a first and second protocol between a data processing system and an isp
CN115002833B (zh) 以太帧的发送方法、接收方法、装置、设备和介质
JP3689279B2 (ja) データ変換装置、信号、データ変換方法、dceおよびゲートウェイ
CN113300959A (zh) 一种在5g网络中应用的mpls-vpn通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170620

Address after: 201203 Shanghai Zhangjiang High Tech Park of Pudong New Area Chunxiao Road No. 439 Building No. 2

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 201204, building 1, building 180, Zhang Heng Road, Pudong New Area, Shanghai, 4F

Patentee before: Shanghai Mobilepeak Semiconductor Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 201203 Shanghai Zhangjiang High Tech Park of Pudong New Area Chunxiao Road No. 439 Building No. 2

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180411

Address after: The 300456 Tianjin FTA test area (Dongjiang Bonded Port) No. 6865 North Road, 1-1-1802-7 financial and trade center of Asia

Patentee after: Xinji Lease (Tianjin) Co.,Ltd.

Address before: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100616

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xinji Lease (Tianjin) Co.,Ltd.

Contract record no.: 2018990000196

Denomination of invention: Method for realizing optimization of point-to-point protocol data transmission of mobile communication wireless Modem terminal

Granted publication date: 20120111

License type: Exclusive License

Record date: 20180801

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221028

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 300456 1-1-1802-7, north area of financial and Trade Center, No. 6865, Asia Road, Tianjin pilot free trade zone (Dongjiang Bonded Port Area)

Patentee before: Xinji Lease (Tianjin) Co.,Ltd.