[发明专利]一种数据包传输方法和系统有效
申请号: | 201710261406.9 | 申请日: | 2017-04-20 |
公开(公告)号: | CN107071034B | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 康若鹏;范自道 | 申请(专利权)人: | 网宿科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京华智则铭知识产权代理有限公司 11573 | 代理人: | 王昌贵 |
地址: | 200030 上海市徐汇区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据包 传输 方法 系统 | ||
本发明公开了一种数据包传输方法,所述方法包括:代理程序通过监听端口接收请求数据包,为所述请求数据包设置标签后,发送所述带标签的请求数据包;本地系统接收所述代理程序和所述应用程序发出的请求数据包,匹配所述请求数据包中的标签,若匹配成功,则直接转发所述请求数据包,若匹配失败,则重定向所述请求数据包至所述代理程序监听端口;对代理程序发送出去的数据包进行标签设置,以使得本地系统可根据标签区分来自应用和代理的请求数据包,并进行相应操作,避免数据包在本地的死循环。本发明还公开了一种数据包传输系统。
技术领域
本发明涉及网络技术领域,尤其涉及一种数据包传输方法和系统。
背景技术
随着互联网技术的不断发展,各种应用程序如雨后春笋般密集涌现。为了提供更好的用户体验,针对应用程序的网络加速服务也应运而生,以Android应用代理加速为例,可以分为主动代理和被动代理两种方式,主动代理是应用程序在发起网络请求时主动进行代理加速,被动代理,又称本地代理,是在系统层面通过某些手段将特定的请求数据包拦截至本地的加速服务程序,由本地代理程序做相应的加速控制后再将数据包重新发出去。
现有的被动代理中,主要是通过添加重定向规则,将应用数据包重定向到代理程序来实现,但在某些实际应用中,发现仅仅依靠重定向规则可能无法区分待加速应用与经代理程序处理后发出的数据包,代理程序发出的数据包将会再次被重定向至代理程序,造成数据包在系统内死循环。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据包传输方法和系统。所述技术方案如下:
一方面,一种数据包传输方法,所述方法包括:
代理程序通过监听端口接收请求数据包,为所述请求数据包设置标签后,发送所述带标签的请求数据包;
本地系统接收所述代理程序和所述应用程序发出的请求数据包,匹配所述请求数据包中的标签,若匹配成功,则直接转发所述请求数据包,若匹配失败,则重定向所述请求数据包至所述代理程序监听端口。
进一步的,所述代理程序在为所述请求数据包设置标签的同时,为所述标签添加掩码。
进一步的,所述掩码的取值范围为0x8000000~0xfff00000。
进一步的,所述本地系统版本为Android 5.0及其以上版本。
进一步的,在所述代理程序发送所述带标签的请求数据包之前,所述代理程序判断所述请求数据包是否需要进行加速,若需要则修改所述请求数据包的目的端口和目的IP地址至加速服务器。
进一步的,判断所述请求数据包是否需要进行加速的方法包含:先白名单校验,若校验成功则所述请求数据包需要加速;若校验失败,则判断所述请求数据包是否为HTTP请求的数据包,如果是HTTP,则根据URL及预设规则判断是否需要加速。
进一步的,所述代理程序和所述应用程序运行在所述本地系统上。
进一步的,所述本地系统内核为Linux内核。
另一方面,一种数据包传输系统,所述系统包括终端设备、加速服务器和源站,所述终端设备的本地系统上运行有应用程序、代理程序;其中,所述代理程序通过监听端口接收请求数据包,为所述请求数据包设置标签后,发送所述带标签的请求数据包;本地系统接收所述代理程序和所述应用程序发出的请求数据包,匹配所述请求数据包中的标签,若匹配成功,则直接转发所述请求数据包至所述加速服务器或所述源站,若匹配失败,则重定向所述请求数据包至所述代理程序监听端口。
进一步的,所述代理程序在为所述请求数据包设置标签的同时,为所述标签添加掩码。
进一步的,所述掩码的取值范围为0x8000000~0xfff00000。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710261406.9/2.html,转载请声明来源钻瓜专利网。