[发明专利]获取驱动层数据包控制信息的方法及系统在审
| 申请号: | 201310346769.4 | 申请日: | 2013-08-09 |
| 公开(公告)号: | CN103401877A | 公开(公告)日: | 2013-11-20 |
| 发明(设计)人: | 付保林 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 上海光华专利事务所 31219 | 代理人: | 余明伟 |
| 地址: | 201616 上海市松*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 获取 驱动 数据包 控制 信息 方法 系统 | ||
技术领域
本发明涉及分组交换通信技术领域,特别是涉及Android系统的通信技术领域,具体为一种获取驱动层数据包控制信息的方法及系统。
背景技术
随着Android系统应用越来越广泛,特别是基于Android智能手机大行其道。加上运营商对手机上网网络建设的快速发展,用户使用Android设备越来越多,如何分析和测试我们Android设备的上网性能成为一个迫切的问题。一般情况下,测试Android手机只能通过Android SDK提供的调试接口分析问题,不能直接通过应用层获取下层数据的特殊控制信息。
而一些上层网络协议并不满足于单单获取原始的数据包内容,而是需要获取更多的数据包控制信息,比如手机连接网络中的物理端口号,VLAN ID号,或者其他一些特殊控制信息。
首先介绍一下现有处理方式,以Android智能终端为例。
一般Android手机主板所带数据包信息会额外添加该modem芯片特有的标签信息,即所包含的该数据包来源的MAC芯片物理端口号,来源VLAN Id号,modem Id,RAT:接入技术参数,可以是GPRS/EDGE,WCDMA/HSDPA/LTE等,来源的QoS队列号等。
而一般所添加的位置为原始数据包的源MAC之后,协议号之前。格式一般为标签号加信息,长度也为固定长度。而作为上层协议栈对于原始数据包中的这些额外标签信息并不识别,所以驱动一般会对数据包做些特殊处理,即通过识别不同的协议包进行去除标签信息和保留标签信息操作。当然上层协议应用对于这些标签信息也需要做一些特殊的处理才能识别相应的控制信息。
随着应用于Android手机上层协议越来越多,越来越复杂,驱动需要去识别的协议也越来越多,这势必会影响到驱动效率,而且这种处理方式本身也有悖与Android系统架构,驱动只需要关心底层数据包合法性和完整性即可,完全不需要关心数据包的具体内容。
从以上解决技术方案来看,原有的Android系统上层网络应用使用标准的网络编程是无法获取数据包的这一部分控制信息,协议栈也并没有支持这种特殊需求,这就需要设计一种额外的机制去实现这种应用。而真正的难度在于如何兼容现有的协议栈,特别是兼容现有的Android标准网络编程。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种获取驱动层数据包控制信息的方法及系统,用于解决现有技术中Android上层应用无法实现获取驱动层数据包控制信息的问题。
为实现上述目的及其他相关目的,本发明在一方面提供一种获取驱动层数据包控制信息的方法,应用于Android系统中,Android系统接受和发送数据包中源MAC地址和协议号之间增加有固定的一段特殊控制信息,所述方法包括:步骤S1,驱动层识别获取包含所述特殊控制信息的数据包,并将该数据包存储在标准的AndroidControlRec结构体中;步骤S2,Android系统通过调用API将驱动层中存储在标准的AndroidControlRec结构体中的所述数据包上传至协议栈;步骤S3,通过协议栈,在不同的Android应用协议收发包中,接受AndroidControlRec结构体中的所述数据包,并最终将所述数据包传递到Msghdr结构体中;步骤S4,调用协议栈中用以处理Msghdr结构体中的所述数据包的AndroidApp系统函数;步骤S5,Android上层应用调用Msghdr结构体中的所述数据包并显示给用户。
作为本发明的一种优选方案,在步骤S1中,所述特殊控制信息为10个字节。
作为本发明的一种优选方案,在步骤S1中,所述特殊控制信息包含识别标签,队列号,物理端口号,Vlan标签,Vlan号,RAT标签,RAT信息。
作为本发明的一种优选方案,在步骤S1中,若Android系统采用GPRS通信,所述特殊控制信息还包含modem相关接入层特殊控制信息。
作为本发明的一种优选方案,在步骤S2中,协议栈包括WAP协议,ARP协议,IP协议以及TCP协议。
作为本发明的一种优选方案,所述数据包上传至协议栈,所述协议栈首先处理是否为ARP协议,若是,先对ARP协议做地址解析,然后依次通过IP协议,TCP协议将所述数据包上传至Android上层应用层;若否,直接通过IP协议,TCP协议将所述数据包上传至Android上层应用层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310346769.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:变电设备异动管理操作系统
- 下一篇:多功能远程农庄系统





