[发明专利]一种用于提高应用程序网络穿透能力的系统和方法有效
申请号: | 200910056290.0 | 申请日: | 2009-08-12 |
公开(公告)号: | CN101997817A | 公开(公告)日: | 2011-03-30 |
发明(设计)人: | 冯博文;刘成光;张伟 | 申请(专利权)人: | 升东网络科技发展(上海)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 上海新天专利代理有限公司 31213 | 代理人: | 王敏杰 |
地址: | 201204 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 提高 应用程序 网络 穿透 能力 系统 方法 | ||
技术领域
本发明涉及一种远程通讯的系统和方法,具体涉及一种用于提高应用程序网络穿透能力的系统和方法。
背景技术
目前多数网络通信实体,都是通过TCP/IP协议进行通信。在TCP/IP协议的使用上有很多方式:直接使用TCP连接后(或是UDP)进行自定的二进制协议通信;使用HTTP协议进行通信;使用SOAP协议,或是Web Service之类的基于XML的高级通信方式。
现有技术主要有两方面的问题:效率和穿透能力。要么效率高,但穿透能力差(如直接基于TCP的自定二进制协议);要么穿透能力强,但效率底(如使用SOAP等高级的基于文本和HTTP的协议)。这里的效率主要指通信实体进行协议处理的时间效率和传输过程中的数据量带来的空间效率。穿透能力则指在不同的网络拓扑环境下,成功与远程通讯实体进行通讯的可能性。
现有穿透能力强的技术如SOAP(应用SOAP协议的典型应用代表为WebServices),这种技术使用HTTP协议传输基于XML格式的数据。这种技术问题在于传输的数据量大,XML格式的数据在生成和解析时效率也很低。
现有的效率高的技术一般是使用自定的二进制数据格式,直接基于TCP协议发送。这种技术问题在于网络穿透能力差:要么连接远程通信实体时使用的端口号不是Well-Known端口,容易被封;要么使用Well-Known端口连接,但由于发送的数据不符合相应协议的格式,导致被安全工具拦截。
发明内容
本发明的目的是提供一种用于提高应用程序网络穿透能力的系统和方法,它引入一种两者兼顾的方案,使得应用能够使用现有的高效率的通讯方案,又能最大可能的提高网络的穿透能力,做到对布署环境的依赖最小化。
本发明一种用于提高应用程序网络穿透能力的系统和方法的目的是通过以下技术方案实现的:一种用于提高应用程序网络穿透能力的系统和方法,所述的应用程序网络包括发送端实体及远端实体;所述的发送端实体中包括一次连接的HTTP封装组件、SSL封装组件、发送组件及穿透模块;远端实体包括相连接的接收组件及判断POST请求组件。
所述的发送端实体及远端实体使用TCP协议传输数据。
所述的远端实体包括端口80及端口443。
所述的HTTP封装组件封装在发送端实体与远端实体之间传输失败的数据,传输到远端实体的80端口。
所述的SSL封装组件封装在发送端实体与远端实体之间传输失败的数据,传输到远端实体的443端口。
上述的一种用于提高应用程序网络穿透能力的系统和方法,其中,所述的发送端实体与远端实体之间传输的数据是二进制数据。
上述的一种用于提高应用程序网络穿透能力的系统和方法,其中,所述的HTTP封装组件及SSL封装组件封装后传输的数据是二进制数据,作为POST请求的数据体,判断POST请求组件判断接收到的数据是否有HTTP POST请求或HTTPS POST请求。
上述的一种用于提高应用程序网络穿透能力的系统和方法,其中,该方法至少包括如下步骤:
步骤1,发送端实体与远端实体开始创建连接。
步骤2,发送端实体向远端实体发送数据包。
步骤3,远端实体判断在设定的时间内是否收到数据包:
步骤3.1,远端实体判断在设定的时间内是否收到数据包,若收到数据包,则继续发送;
步骤3.2,接收组件若没有收到数据包,则选择穿透方案:
步骤3.2.1,应用使用TCP协议连接到远端实体的80端口时,选择方案一;若不是,则执行步骤3.2.2:
步骤3.2.1.1,HTTP封装组件将原始的数据封装到一个HTTP协议包中,作为POST请求的数据体;
步骤3.2.1.2,发送组件向远端实体发送数据包;
步骤3.2.1.3,远端实体的判断POST请求组件识别数据是否有HTTP POST请求封装,若有,则执行步骤3.2.1.4,若没有,则重新连接;
步骤3.2.1.4,发送组件继续发送数据包;
步骤3.2.2,应用使用TCP协议连接到远端实体的443端口时,选择方案二:
步骤3.2.2.1,用SSL封装组件,发送端实体与远端实体进行的SSL初始化过程,并完成握手过程;
步骤3.2.2.2,发送组件向远端实体发送数据包;
步骤3.2.2.3,远端实体的判断POST请求组件识别是否有HTTPS POST请求,若是,则发送组件根据SSL协议继续发送数据包,若不是,则重新连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于升东网络科技发展(上海)有限公司,未经升东网络科技发展(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910056290.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:风冷式中央空调节电装置
- 下一篇:波纹管圆柱模板