一种数据传输方法和装置制造方法及图纸

技术编号:24520911 阅读:32 留言:0更新日期:2020-06-17 07:54
本发明专利技术公开了一种数据传输方法,所述方法包括:拦截应用层发送的基于第一传输协议的初始连接请求;将所述初始连接请求中携带的目的地址绑定至目标端口,并建立所述目标端口与所述目的地址的映射关系记录,以及将所述映射关系记录同步至本地代理;向所述本地代理发送基于所述第一传输协议的代理连接请求,以使得所述本地代理根据所述代理连接请求中的所述目标端口,从所述映射关系记录中查询所述目的地址,并使得所述本地代理向所述目的地址指向的目标服务器发送基于第二传输协议的转换连接请求。本申请提供的技术方案,可以不需要对应用层协议进行解析而获取目的地址。

A data transmission method and device

【技术实现步骤摘要】
一种数据传输方法和装置
本专利技术涉及互联网
,特别涉及一种数据传输方法和装置。
技术介绍
随着互联网的快速发展,互联网的交互场景越来越丰富,网络传输的数据量越来越大,用户对网络传输的效率和WEB服务的响应速度要求也越来越高,传统的传输层协议,例如TCP(TransmissionControlProtocol)协议已不能满足用户的需求,因此出现了QUIC(QuickUDPInternetConnection)协议等改进的传输层协议,这些改进后的传输层协议可以加快网络传输速度,降低网络延迟,但是在将传统的传输层协议转换为改进后的传输层协议时,存在各种问题。例如,在将TCP协议转换为QUIC协议时,可以设置本地代理进行协议转换,由本地代理将接收到的TCP协议报文转换为QUIC协议报文,并向远端服务器发送转换后的QUIC协议报文。但是本地代理在向远端服务器发送QUIC协议报文时,必须先获取远端服务器的地址,这就使得本地代理在接收到应用层发送的TCP协议报文后,需要对上述报文进行解析以获取报文中携带的远端服务器的地址,针对不同的应用层协议,本地代理需要通过不同的解析代码以实现解析过程,这显然增加了系统复杂性。鉴于此,有必要提供一种新的数据传输方法和装置以解决上述不足。
技术实现思路
本申请的目的在于提供一种数据传输方法和装置,可以不需要对应用层协议进行解析而获取目的地址。为实现上述目的,本申请一方面提供一种数据传输方法,所述方法包括:拦截应用层发送的基于第一传输协议的初始连接请求;将所述初始连接请求中携带的目的地址绑定至目标端口,并建立所述目标端口与所述目的地址的映射关系记录,以及将所述映射关系记录同步至本地代理;向所述本地代理发送基于所述第一传输协议的代理连接请求,以使得所述本地代理根据所述代理连接请求中的所述目标端口,从所述映射关系记录中查询所述目的地址,并使得所述本地代理向所述目的地址指向的目标服务器发送基于第二传输协议的转换连接请求。为实现上述目的,本申请另一方面还提供一种数据传输装置,所述数据传输装置包括:应用层模块,用于发送基于第一传输协议的初始连接请求;适配层模块,用于拦截所述应用层发送的基于第一传输协议的初始连接请求,将所述初始连接请求中携带的目的地址绑定至目标端口,并建立所述目标端口与所述目的地址的映射关系记录,并将所述映射关系记录同步至本地代理,以及向所述本地代理发送基于所述第一传输协议的代理连接请求;本地代理模块,用于根据所述代理连接请求中的所述目标端口,从所述映射关系记录中查询所述目的地址,并向所述目的地址指向的目标服务器发送基于第二传输协议的转换连接请求。为实现上述目的,本申请另一方面还提供一种数据传输装置,所述数据传输装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现上述数据传输的方法。由此可见,本申请提供的技术方案,通过在客户端中设置适配层和本地代理,应用层发送的基于第一传输协议的初始连接请求可以被适配层拦截,适配层可以从被拦截到的初始连接请求中获取目的地址,然后适配层将上述目的地址与目标端口进行绑定,建立目标端口与目的地址的映射关系记录,并将上述映射关系记录同步至本地代理,适配层在完成上述工作后将向本地代理发起代理连接请求,通过代理连接请求中携带的目标端口,本地代理可以在储存的映射关系记录中查询到对应的目的地址,从而使得本地代理不需要对应用层发送的数据进行解析,就可以获取到上述数据发送的目的地址,之后本地代理基于上述目的地址和第二传输协议向远端服务器发送建立连接请求。当本地代理与远端服务器建立连接后,本地代理便可以作为协议转换的中转站,将应用层发送的基于第一传输协议的数据包转换为基于第二传输协议的数据包,然后向远端服务器发送转换后的数据包。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施方式中数据传输方法的抽象模型图;图2是本申请实施方式一中数据传输方法的流程图;图3是本申请实施方式中数据传输方法的时序图;图4是本专利技术实施方式中数据传输装置的功能模块示意图;图5是本专利技术实施方式中数据传输装置的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。随着互联网的快速发展,互联网的交互场景越来越丰富,网络传输的数据量越来越大,用户对网络传输的效率和WEB服务的响应速度要求也越来越高,传统的传输层协议,例如TCP协议已不能满足用户的需求,因此出现了QUIC协议等改进的传输层协议,这些改进后的传输层协议可以加快网络传输速度,降低网络延迟。因此,在弱网环境或者网络不稳定的环境下,可以考虑将传统的传输层协议转换为改进后的传输层协议。以将TCP协议转换为QUIC协议为例,可以通过直接嵌入库方式,编译出QUIC协议的动态库,然后定义传输层接口,由应用层主动调用,缺陷是需要改动应用层协议代码,实现方式较为复杂。作为一种改进的方式,用户可以设置本地代理进行TCP协议到QUIC协议的转换,例如在网络请求框架中设置本地代理为127.0.0.1,利用本地代理接收TCP协议数据,再转为QUIC协议数据进行发送。具体的,本地代理可以接收应用层发送的基于TCP协议编译的TCP协议报文,并将接收到的TCP协议报文转换为QUIC协议报文,然后将QUIC协议报文发送至远端服务器,但是本地代理在向远端服务器发送QUIC协议报文时,必须先获取远端服务器的IP地址,这就使得本地代理需要解析应用层协议,以获取数据包中携带的目的地址,针对不同的应用层协议,本地代理需要通过不同的解析代码以实现解析过程;在另一种实现方式中,用户可以改造请求URL的host为127.0.0.1,在本地代理接收TCP协议数据,再转为QUIC协议数据进行发送,缺陷是需要修改应用层代码,增加嵌入步骤,把请求URL的host字段改为127.0.0.1,并保留原host字段,当并发URL请求时,本地代理需要多端口监听,或解析应用层协议。在另一种实现方式中,用户还可以改造HTTP请求中的URL,按照自定义协议格式编码,在协议转换模块里解码获取服务端代理地址和HTTP请求数据,然后通过QUIC协议发送请求,但是这种实现方式需要对数据包进行编码和解码,如果应用层发起的是https请求,交互过程变为本地代理与服务端握手,改变了https的加密流程,并且上述方法改变了原有的业务逻辑,应用层不能直接请求服务端,具有很大的局限性。因此,如何改进协议转换的过程,使得本地代理不需要解析应用层协议就可以获取远端服务器的目的地址,便成为本领域亟需解决的课题。本申请提供的技术方案可以解决上述不足。为便于理解本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,所述方法包括:/n拦截应用层发送的基于第一传输协议的初始连接请求;/n将所述初始连接请求中携带的目的地址绑定至目标端口,并建立所述目标端口与所述目的地址的映射关系记录,以及将所述映射关系记录同步至本地代理;/n向所述本地代理发送基于所述第一传输协议的代理连接请求,以使得所述本地代理根据所述代理连接请求中的所述目标端口,从所述映射关系记录中查询所述目的地址,并使得所述本地代理向所述目的地址指向的目标服务器发送基于第二传输协议的转换连接请求。/n

【技术特征摘要】
1.一种数据传输方法,其特征在于,所述方法包括:
拦截应用层发送的基于第一传输协议的初始连接请求;
将所述初始连接请求中携带的目的地址绑定至目标端口,并建立所述目标端口与所述目的地址的映射关系记录,以及将所述映射关系记录同步至本地代理;
向所述本地代理发送基于所述第一传输协议的代理连接请求,以使得所述本地代理根据所述代理连接请求中的所述目标端口,从所述映射关系记录中查询所述目的地址,并使得所述本地代理向所述目的地址指向的目标服务器发送基于第二传输协议的转换连接请求。


2.根据权利要求1所述的方法,其特征在于,在拦截应用层发送的基于第一传输协议的初始连接请求之前,所述方法还包括:
在已加载的各个动态库中查询目标动态库;
将所述目标动态库中的初始connect函数的入口地址替换为目标connect函数的入口地址。


3.根据权利要求2所述的方法,其特征在于,向所述本地代理发送基于所述第一传输协议的代理连接请求包括:
获取所述本地代理建立的监听端口,并根据所述监听端口和回送地址生成目标socket地址;
基于所述目标socket地址和所述初始connect函数,向所述本地代理发送代理连接请求。


4.根据权利要求1所述的方法,其特征在于,将所述初始连接请求中携带的目的地址绑定至目标端口之前,所述方法还包括:
判断所述初始连接请求是否符合预设规则,若符合所述预设规则,则将所述初始连接请求中携带的目的地址绑定至目标端口;
若不符合所述预设规则,则恢复所述初始连接请求。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述代理连接请求,在所述应用层与所述本地代理之间建立第一数据传输通道,以使得所述应用层发送的基于所述第一传输协议的初始协议报文通过所述第一数据传输通道发送至所述本地代理,并使得所述本地代理基于所述第二传输协议将所述初始协议报文转换为目标协议报文。


6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于所述转换连接请求,在所述本地代理与所述目标服务器之间建立第二数据传输通道,以使得所述本地代理通过所述第二数据传输通道将所述目标协议报文发送至所述目标服务器。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述目标服务器通过所述第二数据传输通道反馈的初始响应报文,其中,所述初始响应报文基于所述第二传输协议生成;
基于所述第一传输协议将所述初始响应报文转换为目标响应报文,并通过所述第一数据传输通道将所述目标响应报文发送至所述应用层。


8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述目标服务器发送的转换关闭消息,关闭所述第一数据传输通道;或者,根据所述应用层发送的转换关闭消息,关闭所述第二数据传输通道。...

【专利技术属性】
技术研发人员:苏友章
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1