当前位置: 首页 > 专利查询>南京大学专利>正文

一种TCP传输协议代理方法技术

技术编号:19486965 阅读:26 留言:0更新日期:2018-11-17 11:33
一种TCP传输协议代理方法,该方法在客户端设置代理客户端,在服务器端设置代理服务器;由代理客户端代表客户端向服务器发送握手报文并接收服务器发送过来的TCP数据包,由代理服务器代表服务器接收客户端的握手报文,转发服务器的TCP数据包,由代理客户端和代理服务器代理客户端和服务器经由中间通信网络建立并维持TCP连接,代理客户端和代理服务器在使用不同的通信网络进行数据转发时,需要对报文进行适当处理以适应不同网络的传输协议。本发明专利技术能够解决由于区域间通信网络建设不健全而导致的通信断点问题,在保证系统正常运行的同时丰富了数据处理和传输模式,满足多种条件下的传输需求。

【技术实现步骤摘要】
一种TCP传输协议代理方法
本专利技术涉及通信网络和数据传输领域,特别涉及一种TCP传输协议代理方法。
技术介绍
由于在山区草原等偏远的地区无法实现网络全覆盖,为信息采集、数据通信等带来了困难;或者由于通信距离等问题导致到传输时延太长以至于在现有的TCP超时管理策略下经常进行超时重连;或者出于保密、监听等需要对报文内容进行处理的需求都需要对原有的TCP传输模式进行改进,在进行改进时便需要采用TCP传输协议代理。TCP代理是基于内容的网络业务常见的手段,其模型为原本互通的TCP发送端和目的端之间加入代理端,使原本直接交互的两端分别于代理端进行交互,现有的对TCP代理方法的研究,多数是使用socket代理来实现,充当两个终端,所有的数据报文通过代理程序进行中转,可以对报文内容进行处理但是传输模式单一,需要在同一网络下进行,可移植性和灵活性较差,且不能解决在通信延迟较大的通信环境下超时管理问题。
技术实现思路
专利技术目的:为解决上述由于区域间通信网络建设不健全而导致的通信断点的技术问题,本专利技术提出一种TCP传输协议代理方法,在保证系统正常运行的同时丰富了数据处理和传输模式,给出了在通信延迟较大的环境下超时管理问题的解决方案,并支持点对多点的传输模式,满足多种条件下的传输需求。技术方案:为实现上述技术效果,本专利技术提出的技术方案为:一种TCP传输协议代理方法,包括步骤:(1)在客户端设置代理客户端,一个代理客户端可以同时代理多个客户端;在服务器端设置代理服务器,一个代理服务器可以同时代理多个服务器;(2)建立客户端与服务器之间的连接,包括:在客户端与代理客户端之间建立TCP连接;在服务器端与代理服务器之间建立TCP连接;在代理客户端与代理服务器之间建立中间通信网络;(3)当客户端向服务器发送TCP数据包时,代理客户端获取客户端向服务器发送的数据包;若中间通信网络的传输协议与两端TCP网络协议相同,则代理客户端直接发送数据包至代理服务器;否则,代理客户端对数据包按照中间通信网络所规定的格式重新封装后,通过中间通信网络发送给代理服务器,由代理服务器将数据包重新封装为TCP数据包后,通过广播或点对点方式发送给服务器;(4)当服务器向客户端发送响应数据时,代理服务器获取服务器向客户端发送的数据包;若中间通信网络的传输协议与两端TCP网络协议相同,则代理服务器直接发送数据包至代理客户端;否则,代理服务器对数据包按照中间通信网络所规定的格式重新封后,通过中间通信网络发送给代理客户端,由代理客户端将数据包重新封装为TCP数据包后,通过广播或点对点方式发送给相应客户端;(5)当涉及到的通信网络通信延迟不能满足正常的报文通信时,采取TCP超时管理策略,即代理端直接回复客户端和服务器发出的心跳报文,避免连接超时,并针对该通信网络重新设置相适应的连接保持、超时管理策略;所述连接保持策略为指通过心跳报文保持连接状态;所述超时管理为在原本的TCP超时管理策略基础上通过对当前信道的监测评价,主动修改原超时管理策略中的部分参数以适应新的网络要求。进一步的,所述客户端与服务器端之间的通信过程包括四种模式:全透明传输模式:客户端收到的服务器数据知晓具体的服务器地址,服务器收到的客户端发来的数据知晓具体的客户端地址;隐藏客户端传输模式:服务器收到的客户端数据只知晓代理客户端的地址而并不知道客户端的地址;而客户端收到的服务器数据知晓服务器地址;隐藏服务器传输模式:客户端收到的服务器数据只知晓代理服务器的地址而并不知晓服务器地址;而服务器知晓具体的客户端地址;全隐藏传输模式:服务器收到的客户端数据只知晓代理客户端的地址而并不知道是客户端的地址,客户端收到的服务器数据也只知晓代理服务器的地址而并不知晓服务器的地址。进一步的,所述建立客户端与服务器之间的连接包括步骤:3-1)客户端与代理客户端建立TCP连接,代理客户端保存客户端地址到本地列表;3-2)服务器与代理服务器建立TCP连接,代理服务器保存服务器地址到本地列表;3-3)客户端向服务器发送SYN报文,请求建立TCP连接;3-4)代理客户端截取客户端的SYN报文,在隐藏客户端传输模式或全隐藏传输模式下,修改源端口为代理客户端端口地址并重新计算校验和,缓存原始源端口地址;在其他传输模式下,不作修改;3-5)代理客户端向服务器经由中间通信网络发送SYN报文;3-6)代理服务器截取发送到服务器的SYN报文,在隐藏服务器传输模式或全隐藏传输模式下,代理服务器回复二次握手SYN/ACK报文给客户端;在其他传输模式下,代理服务器转发SYN报文给相应服务器,代理服务器回复二次握手SYN/ACK报文给客户端并向相应服务器发送信息报告客户端地址并指出其尝试建立连接;3-7)代理客户端截取SYN/ACK报文,回复三次握手ACK报文并发送本次SYN/ACK报文给客户端,客户端成功建立TCP连接;3-8)代理服务器截取ACK报文,在隐藏服务器传输模式或全隐藏传输模式下,成功建立TCP连接;其他模式下,向相应服务器发送成功建立与该客户端的连接,成功建立TCP连接。进一步的,在不同传输模式下,客户端向服务器发送TCP数据包的具体步骤为:4-1)代理客户端截取TCP数据包,在隐藏客户端传输模式或全隐藏传输模式下,修改数据包中的源端口地址为代理客户端地址,否则不需要修改;4-2)代理客户端通过中间通信网络发送给代理服务器;4-3)代理服务器截取代发送给服务器的TCP数据包,在隐藏服务器传输模式或全隐藏传输模式下,代理服务器将TCP数据包分配给空闲的服务器进行处理;在其他模式下,将TCP数据包发送至相应服务器;4-4)在四种模式下,当需要不同的服务器协同处理数据时,代理服务器将报文拆分后转发给相应服务器处理,或者直接广播TCP数据包给所有的服务器,由服务器对报文处理区进行判断后处理;服务器将报文响应数据或处理后的报文发送给代理服务器,由代理服务器对响应数据进行整合后发送;如果不需要则直接转发至相应服务器。进一步的,服务器向客户端发送响应数据的具体步骤为:5-1)代理服务器截取响应数据,在隐藏服务器传输模式或全隐藏传输模式下,修改响应数据中源端口地址为代理服务器地址,否则不修改;5-2)代理服务器通过中间通信网络发送给代理客户端;5-3)代理客户端截取响应数据,在隐藏客户端传输模式或全隐藏传输模式下,判断响应数据是否为广播数据,若是广播数据,则根据广播对象地址进行广播;若不是广播数据,则将响应数据发送到最初请求的客户端,并将响应数据保存到本地以等待其他客户端的数据请求;在其他传输模式下,代理客户端将响应数据转发至相应的客户端。有益效果:现有的TCP代理方式都是工作在正常的TCP/IP协议栈模式下,代理器在中间分别建立与客户端和服务器之间的连接,透明的进行数据的双向传输,作为代理器监听两端的交互报文,并协助客户端和服务器完成通信,与原有系统兼容性好但不能解决地域间的通信断点问题;在遇到通信断点问题时往往直接采用例如卫星通信等远程通信方式,与原有系统的兼容性差,且远程通信资源费用昂贵。与现有技术相比,本专利技术具有以下优势:1、在本专利技术的TCP传输协议代理方法中,客户端和服务器各有一个代理器,对两端的TCP数据进行代理处理和发送,保证了两本文档来自技高网...

【技术保护点】
1.一种TCP传输协议代理方法,其特征在于,包括步骤:(1)在客户端设置代理客户端,一个代理客户端可以同时代理多个客户端;在服务器端设置代理服务器,一个代理服务器可以同时代理多个服务器;(2)建立客户端与服务器之间的连接,包括:在客户端与代理客户端之间建立TCP连接;在服务器端与代理服务器之间建立TCP连接;在代理客户端与代理服务器之间建立中间通信网络;(3)当客户端向服务器发送TCP数据包时,代理客户端获取客户端向服务器发送的数据包;若中间通信网络的传输协议与两端TCP网络协议相同,则代理客户端直接发送数据包至代理服务器;否则,代理客户端对数据包按照中间通信网络所规定的格式重新封装后,通过中间通信网络发送给代理服务器,由代理服务器将数据包重新封装为TCP数据包后,通过广播或点对点方式发送给服务器;(4)当服务器向客户端发送响应数据时,代理服务器获取服务器向客户端发送的数据包;若中间通信网络的传输协议与两端TCP网络协议相同,则代理服务器直接发送数据包至代理客户端;否则,代理服务器对数据包按照中间通信网络所规定的格式重新封后,通过中间通信网络发送给代理客户端,由代理客户端将数据包重新封装为TCP数据包后,通过广播或点对点方式发送给相应客户端;(5)当涉及到的通信网络通信延迟不能满足正常的报文通信时,采取TCP超时管理策略,即代理端直接回复客户端和服务器发出的心跳报文,避免连接超时,并针对该通信网络重新设置相适应的连接保持、超时管理策略;所述连接保持策略为指通过心跳报文保持连接状态;所述超时管理为在原本的TCP超时管理策略基础上通过对当前信道的监测评价,主动修改原超时管理策略中的部分参数以适应新的网络要求。...

【技术特征摘要】
1.一种TCP传输协议代理方法,其特征在于,包括步骤:(1)在客户端设置代理客户端,一个代理客户端可以同时代理多个客户端;在服务器端设置代理服务器,一个代理服务器可以同时代理多个服务器;(2)建立客户端与服务器之间的连接,包括:在客户端与代理客户端之间建立TCP连接;在服务器端与代理服务器之间建立TCP连接;在代理客户端与代理服务器之间建立中间通信网络;(3)当客户端向服务器发送TCP数据包时,代理客户端获取客户端向服务器发送的数据包;若中间通信网络的传输协议与两端TCP网络协议相同,则代理客户端直接发送数据包至代理服务器;否则,代理客户端对数据包按照中间通信网络所规定的格式重新封装后,通过中间通信网络发送给代理服务器,由代理服务器将数据包重新封装为TCP数据包后,通过广播或点对点方式发送给服务器;(4)当服务器向客户端发送响应数据时,代理服务器获取服务器向客户端发送的数据包;若中间通信网络的传输协议与两端TCP网络协议相同,则代理服务器直接发送数据包至代理客户端;否则,代理服务器对数据包按照中间通信网络所规定的格式重新封后,通过中间通信网络发送给代理客户端,由代理客户端将数据包重新封装为TCP数据包后,通过广播或点对点方式发送给相应客户端;(5)当涉及到的通信网络通信延迟不能满足正常的报文通信时,采取TCP超时管理策略,即代理端直接回复客户端和服务器发出的心跳报文,避免连接超时,并针对该通信网络重新设置相适应的连接保持、超时管理策略;所述连接保持策略为指通过心跳报文保持连接状态;所述超时管理为在原本的TCP超时管理策略基础上通过对当前信道的监测评价,主动修改原超时管理策略中的部分参数以适应新的网络要求。2.根据权利要求1所述的一种TCP传输协议代理方法,其特征在于,所述客户端与服务器端之间的通信过程包括四种模式:全透明传输模式:客户端收到的服务器数据知晓具体的服务器地址,服务器收到的客户端发来的数据知晓具体的客户端地址;隐藏客户端传输模式:服务器收到的客户端数据只知晓代理客户端的地址而并不知道客户端的地址;而客户端收到的服务器数据知晓服务器地址;隐藏服务器传输模式:客户端收到的服务器数据只知晓代理服务器的地址而并不知晓服务器地址;而服务器知晓具体的客户端地址;全隐藏传输模式:服务器收到的客户端数据只知晓代理客户端的地址而并不知道是客户端的地址,客户端收到的服务器数据也只知晓代理服务器的地址而并不知晓服务器的地址。3.根据权利要求2所述的一种TCP传输协议代理方法,其特征在于,所述建立客户端与服务器之间的连接包括步骤:3-1)客户端与代理客户端建立TCP连接,代理客户端保存客户端地址到本地列表;3-2)服务器与代理服务器建立TCP连接,代理服务器保存服务...

【专利技术属性】
技术研发人员:王健姜宁许祖锋伍小刚汤晓晨
申请(专利权)人:南京大学南瑞集团有限公司
类型:发明
国别省市:江苏,32

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

1