一种报文数据转发方法、装置及服务器与流程

文档序号:32391306发布日期:2022-11-30 08:21阅读:39来源:国知局
一种报文数据转发方法、装置及服务器与流程

1.本技术涉及以太网通信技术领域,尤其涉及一种报文数据转发方法、装置及服务器。


背景技术:

2.socks是socket secure的缩写,是internet工程任务组(ietf)标准,用于基于tcp/ip的网络应用程序的通用代理协议。由于socks已在rfc 1928(socks5协议的规范文档)中定义,socks协议通过轻松集成其他安全技术为开发安全通信提供了灵活的框架。socks协议的基本目的是使socks服务器一侧的主机能够直接访问socks服务器另一侧的主机。
3.最先被广泛使用的socks协议是其第四版本,就是socks4。ie和一些其他应用程序直接用“socks”表示socks4协议。该版本支持tcp的connect(作为客户端连接)和listen(打开一个监听端口),不支持udp协议。socks4a对socks4作了一点增强,即允许客户端将域名发送给socks服务器,让socks服务器进行域名解析。
4.socks5是第五版,相对第四版作了大幅度的增强。首先,它增加了对udp协议的支持;其次,它可以支持多种用户身份验证方式和通信加密方式;最后,修改了socks服务器进行域名解析的方法,
5.如图1所示,socks5在使用tcp/ip协议通讯的客户端和服务器之间扮演一个中介的角色,使得内部网中的客户端变得能够访问internet网中的服务器,或者使c/s(client和server)之间的通讯更加安全。socks5代理服务器通过将客户端发来的请求转发给真正的目标服务器,模拟了一个客户端请求操作。在这里,客户端和socks5代理服务器之间也是通过tcp/ip协议进行通讯,客户端将原本要发送给真正服务器的请求先发送给socks5服务器,然后socks5服务器再将请求转发给真正的服务器。
6.socks5代理具有以下优点:1)能够绕过互联网块;2)没有程序,协议或流量限制;3)更快,更可靠的连接;4)错误减少,整体性能提升;5)在p2p平台上表现更好。因此,socks5代理逐渐被大众所选择。
7.然而,socks5在首次代理的过程中会产生的多次协商问题,每一次写上的过程中均要重新创建连接,导致代理速度比较缓慢,不能很好的满足使用需求。


技术实现要素:

8.有鉴于此,本技术实施例提供一种报文数据转发方法、装置及服务器,至少部分解决现有技术中存在的问题,能够在客户端代理网关上预先创建传输隧道。当从客户端代理网关收到报文数据后选择一个处于空闲状态的传输隧道进行代理。由于采用预先创建了传输隧道连接,避免了首次代理时,重新产生多次协商而导致代理速度比较缓慢的现象,达到了socks5代理服务器快速代理上网的目的。
9.第一方面,本技术实施例提供了一种报文数据转发方法,应用于客户端代理网关,
所述方法包括:
10.客户端代理网关接收客户端发送的报文数据,从由所述客户端代理网关预先创建的传输隧道池中选择出目的传输隧道,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定;其中,所述预建传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;
11.通过所述目的传输隧道将所述报文数据发送至socks5代理服务器,以使所述socks5代理服务器根据所述报文数据中携带的最终目的地信息,将所述报文数据发送至最终目的地。
12.根据本技术实施例的一种具体实现方式,所述目的传输隧道根据预建传输隧道池中各个传输隧道的负载状态确定包括:
13.获取传输隧道池中的各传输隧道的使用状态记录数据;
14.利用所述使用状态记录数据判断所述传输隧道在最近时间内的使用状态是否为已连接,若连接,则判定该传输隧道为非空闲状态;若未连接,则判定该传输隧道为空闲状态;
15.将处于空闲状态的任一传输隧道作为所述目的传输隧道。
16.根据本技术实施例的一种具体实现方式,所述客户端代理网关预先创建传输隧道池还包括;
17.实时监测所述输隧道池内的传输隧道的数量,控制传输隧道的数量于预设阈值范围之内;
18.其中,所述传输隧道的预设阈值范围由所述客户端代理网关的内存容量而定,且所述客户端代理网关的内存容量成正比关系。
19.根据本技术实施例的一种具体实现方式,根据所述客户端代理网关转发报文的数量动态调整所述传输隧道池中传输隧道的数量。
20.根据本技术实施例的一种具体实现方式,根据所述客户端代理网关转发报文数据的数量动态调整所述传输隧道池中传输隧道的数量包括:
21.根据报文数据的转发数量确定所需的传输隧道数量,若所需的传输隧道数量大于所述传输隧道池中传输隧道的数量,则增加所述传输隧道池中传输隧道的数量,使其满足所述所需的传输隧道数量;
22.若所需的传输隧道数量小于所述传输隧道池中传输隧道的数量,且所述传输隧道池中传输隧道的数量与所需的传输隧道数量的差值大于预设差值,则减少所述传输隧道池中传输隧道的数量。
23.根据本技术实施例的一种具体实现方式,所述最终目的地为远程服务器;
24.所述通过所述目的传输隧道将所述报文数据发送至socks5代理服务器之后,还包括:
25.接收所述socks5代理服务器与远程服务器连接成功后的反馈信息,或主动发送所述socks5代理服务器是否与远程服务器连接成功的询问信息。
26.第二方面,提供了一种报文数据转发方法,应用于socks5代理服务器,该方法包括:接收客户端代理网关通过目的传输隧道转发的客户端的报文数据;其中,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定,所述传输隧道池由所述客户端代理
网关预先创建,所述传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;
27.获取所述报文数据中携带的最终目的地信息,并根据所述最终目的地信息将所述报文数据发送至最终目的地。
28.根据本技术实施例的一种具体实现方式,根据接收所述客户端代理网关转发报文的数量动态调整所述socks5代理服务器内所述传输隧道池中传输隧道的数量。
29.根据本技术实施例的一种具体实现方式,发送与最终目的地连接成功后的反馈信息,或接收客户端代理网关所发出的是否与最终目的地连接成功的询问信息。
30.第三方面,提供了一种报文数据转发装置,应用于客户端代理网关模块中,所述装置包括:
31.隧道选择模块:被配置为客户端代理网关接收客户端发送的报文数据,从由所述客户端代理网关预先创建的传输隧道池中选择出目的传输隧道,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定;其中,所述预建传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;
32.报文传输模块:被配置为通过所述目的传输隧道将所述报文数据发送至socks5代理服务器,以使所述socks5代理服务器根据所述报文数据中携带的最终目的地信息,将所述报文数据发送至最终目的地。
33.第四方面,提供了一种报文数据转发装置,应用于socks5代理服务器中,所述装置包括:
34.报文接收模块:被配置为接收客户端代理网关通过目的传输隧道转发的客户端的报文数据;其中,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定,所述传输隧道池由所述客户端代理网关预先创建,所述传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;
35.报文发送模块:被配置为获取所述报文数据中携带的最终目的地信息,并根据所述最终目的地信息将所述报文数据发送至最终目的地。
36.第五方面,一种服务器,所述服务器包括:
37.至少一个处理器;以及,
38.与所述至少一个处理器通信连接的存储器;其中,
39.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面或第一方面的任一实现方式中的报文数据转发方法。
40.第六方面,一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述第一方面或第一方面的任一实现方式中的报文数据转发方法。
41.本技术实施例中的一种报文数据转发方法、装置及服务器,在客户端代理网关与socks5代理服务器之间预先创建传输隧道。由于预先创建了传输隧道,当从客户端代理网关收到报文数据后,可以直接选择一个目的传输隧道进行代理,避免了首次代理时,重新产生多次协商而导致代理速度缓慢的现象,达到了socks5代理服务器快速代理上网的目的。
附图说明
42.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
43.图1为现有技术中socks5代理工作流程图;
44.图2为现有技术中socks5代理服务器在进行数据处理的过程中,与客户端和远程服务器的交互流程图;
45.图3为本技术实施例的报文数据转发方法流程示意图;
46.图4为本技术实施例的客户端代理网关模块与socks5代理服务器模块交互示意图;
47.图5为本技术实施例的报文数据转发装置结构示意图。
具体实施方式
48.下面结合附图对本技术实施例进行详细描述。
49.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本技术,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
51.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
52.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
53.图2所示为现有的socks5代理服务器在进行数据处理的过程中,socks5代理服务器与客户端和远程服务器的交互流程图。
54.当客户端发起访问远程服务器的连接请求后,客户端通过客户端代理网关与socks5代理服务器建立tcp连接,再主动与socks5代理服务器进行socks5认证请求和响应,socks5代理服务器需要对应处理认证请求和反馈响应认证请求的应答,处理认证请求和反
馈认证应答;认证通过后,socks5代理服务器再根据客户端的socks5代理请求与远程服务器建立tcp/udp(user datagram protocol,用户数据报协议)连接,socks5代理服务器需要对应处理代理请求和反馈代理应答;建立连接成功后,客户端通过socks5代理服务器与远程服务器进行数据交互,socks5代理服务器将客户端发送的业务报文数据a转发给远程服务器,再接收远程服务器反馈的业务报文回包数据b,并转发给客户端。
55.通过分析tcp的客户端通过客户端代理网关连接与socks5代理服务器过程发现,在代理之前就会有至少三个步骤,总共不少于7个报文。本身tcp创建连接的三次握手就存在延迟,而socks5代理还要多出4个报文,所存在的延迟更加明显。所以在首次创建代理连接时socks5会比较慢,效率较低,无法满足快速反应的网络信息传输要求。
56.为了解决上述问题,本技术实施了提供了一种报文数据转发方法,所述方法包括:客户端代理网关预先创建传输隧道池,该传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;客户端发送报文数据至客户端代理网关;客户端代理网关接收报文数据,对所述报文数据进行socks5封装生成socks5报文数据,于预先创建的传输隧道池中选择出目的传输隧道,所述目的传输隧道为根据传输隧道池中各个传输隧道的负载状态确定出优选传输隧道;将所述socks5报文数据发送至socks5代理服务器;socks5代理服务器接收所述socks5报文数据,对所述socks5报文数据进行解封,已根据解析出的最终目的地将socks5报文数据发送至最终目的地。通过在客户端代理网关上预先创建传输隧道。当从客户端收到报文后选择一个目的传输隧道进行代理。由于采用预先创建了传输隧道的方法,减少了创建传输隧道的时间,实现了socks5代理服务器快速代理上网的目的。
57.接下来,参考附图3,具体描述本技术实施例的报文数据转发的方法。本实施例可适用于客户端通过客户端代理网关经由预设完成的传输隧道将上网的访问需求发送至socks5代理服务器,由socks5代理服务器进行代理上网的情况。如图3所示,该方法具体包括如下操作:
58.s100、客户端代理网关预先创建传输隧道池,该传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信。
59.具体的,客户端代理网关预先创建传输隧道池包括:客户端代理网关发起连接请求,组建一个tcp报文数据包。该报文数据包包括除了最终目的地以外的所有请求信息,同时该数据包设置syn(建立一个新连接)标志位表示该报文数据包用来建立tcp连接。同时随机生成一个序列号,例如1000,填充到tcp报文数据包中的seq(序列)字段,seq(序列)字段用来表示当前报文数据包的序列号。socks5代理服务器接收到报文数据包后,检查syn标志位,判断该报文数据包为客户端请求用来建立tcp连接的报文数据包,设置syn和ack(确认号)标志位,syn表示该数据包用来建立tcp连接,ack表示确认收到了客户端发送来的报文数据包。此时传输完成的tcp报文数据包则为预先创建的传输隧道,当客户端向客户端代理网关发起上网代理请求时,客户端代理网关直接在已经传输完成的tcp报文数据包的基础上添加带有最终目的地的报文数据即可向socks5代理服务器发送进行代理。
60.需要说明的是,各传输隧道在设定时间内始终保持通信既能保证报文数据通过相应的传输隧道快速传输,又避免了传输隧道至始至终保持通信的资源浪费,在一个实施方式中,该设定时间根据客户端发送的报文数据时间而定,或根据经验设定一个较长的时间,
此处不做限定。
61.更进一步的,客户端代理网关实时监测输隧道池内的传输隧道的数量,控制传输隧道的数量于预设阈值范围之内;其中,所述传输隧道的预设阈值范围由所述客户端代理网关的内存容量而定,且所述客户端代理网关的内存容量成正比关系。
62.本发明实施例中,所述传输隧道的数量与所述客户端代理网关的内存的容量呈正比例关系增加。示例性的,传输隧道的数量与所述客户端代理网关的内存的容量以(50-100)个:1g的比例关系进行传输隧道数量的设定。即,当客户端代理网关的内存为1g时,传输隧道的数量可以设置为50-100个;当客户端代理网关的内存为2g时,传输隧道的数量可以设置为100-200个,具体的传输隧道的数量可以根据实际需求进行设定。当传输隧道的数量超出预设的阈值范围时,则删除多余的传输隧道;当传输隧道的数量少于预设的阈值范围时,则继续创建传输隧道,直至处于所设的阈值范围内。保持传输隧道的数量于一定的范围之内的目的:一方面是为了保障有足够的传输隧道处于备用状态,进而保障了代理服务器的反应速度,另一方面节省了内存空间资源。
63.更进一步地,在客户端代理网关对客户端的报文数据进行转发的过程中,根据所述客户端代理网关转发报文的数量动态调整所述传输隧道池中传输隧道的数量,即传输隧道池中的传输隧道的数量随着客户端代理网关转发报文的数量变化而动态变化。根据报文数据的转发数量确定所需的传输隧道数量,若所需的传输隧道数量大于所述传输隧道池中传输隧道的数量,则增加所述传输隧道池中传输隧道的数量,使其满足所述所需的传输隧道数量;示例性的,需要转发的报文数据的转发数量为10个,而传输隧道池中的传输隧道的数量为5个,则至少需要再创建5个传输隧道作为备用的传输隧道。若所需的传输隧道数量小于所述传输隧道池中传输隧道的数量,且所述传输隧道池中传输隧道的数量与所需的传输隧道数量的差值大于预设差值,为了保证客户端代理网关与socks5代理服务器的运行资源,则减少所述传输隧道池中传输隧道的数量。示例性的,预设所述传输隧道池中传输隧道的数量与所需的传输隧道数量的差值为3为界限,当所述传输隧道池中传输隧道的数量有15个,但所需的传输隧道数量为10个时,此时的差值为5大于预设的差值的界限3,则需要删除至少2个传输隧道,以保证有足够的传输隧道处于备用状态,提高代理效率的同时节省内存空间资源。
64.需要说明的是,所述传输隧道池中传输隧道的数量与所需的传输隧道数量的预设差值可以根据实际情况进行调整,在此不做限定。
65.s200、客户端发送报文数据至客户端代理网关。
66.具体的,客户端通过与客户端代理网关的通信连接,客户端直接将上网请求发送至客户端代理网关。其中,客户端所发送的上网请求数据则为报文数据。
67.s300、客户端代理网关接收报文数据,对所述报文数据进行socks5封装生成socks5报文数据,于预先创建的传输隧道池中选择出目的传输隧道,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定,将所述socks5报文数据发送至socks5代理服务器。
68.客户端代理网关接收到客户端所发送的上网请求的报文数据之后,对所述报文数据进行socks5封装生成socks5报文数据,此过程具体包括:由所述报文数据中提取报文头信息,并解析所述报文头信息,获取socks5代理服务器所对应的第二地址和端口信息;将所
述第二地址作为ip头部信息、将端口信息作为tcp头部信息,对所述报文数据进行socks5封装,获得socks5报文数据。
69.从步骤s100客户端代理网关预先创建传输隧道池中选择出目的传输隧道,将所获得的socks5报文数据由客户端代理网关发送至socks5代理服务器。其中,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定,具体的,目的传输隧道的筛选包括:获取传输隧道池中的各传输隧道的使用状态记录数据;利用所述使用状态记录数据判断所述传输隧道在最近时间内的使用状态是否为已连接,若连接,则判定该传输隧道为非空闲状态;若未连接,则判定该传输隧道为空闲状态;将处于空闲状态的任一传输隧道作为所述目的传输隧道。
70.需要说明的是,本发明中的目的传输隧道的筛选时的负载状态的确定包括但不限于上述方式,只要能起到筛选出合适的目的传输隧道的方式均可适用于本发明。示例性的,目的传输隧道还可以选择利用带宽占用率进行筛选。具体的,预设带宽占用率的某一数值作为界限,当传输隧道池中的传输隧道的带宽占用率小于所设定的界限值时,均可作为目的传输隧道被选择。更进一步的,当利用带宽占用率进行选择时,确定传输隧道池之后,在进行目的传输隧道的选择时,优先选择宽带占用率最小的传输隧道进行报文数据的传输,以达到更快捷的代理效果。
71.在另一实施方式中,若没有足够的备用传输隧道,仍需要传输隧道进行报文转发的情况下,可以优先选择已被占用部分,但宽带占用率最小的传输隧道作为目的传输隧道进行报文数据的转发。
72.s400、socks5代理服务器接收所述socks5报文数据,对所述socks5报文数据进行解封,获取最终目的地信息,socks5代理服务器根据最终目的地信息将socks5报文发送至最终目的地。
73.首先在socks5代理服务器上创建多个socks监听,等待客户端代理网关发起的传输隧道建立请求的连接。当客户端代理网关发起传输隧道建立请求,socks5代理服务器内socks监听进行响应,具体的建立过程以及目的传输隧道的选择的过程已在步骤s100及步骤s300中作出具体阐述,在此暂不赘述。需要说明的是,socks5代理服务器也可以实时监测输隧道池内的传输隧道的数量,控制传输隧道的数量于预设阈值范围之内;其中,所述传输隧道的预设阈值范围由所述客户端代理网关的内存容量而定,且所述客户端代理网关的内存容量成正比关系。具体的监测原则与客户端代理网关监测的原则相同。在实际使用过程中,可以选择客户端代理网关进行传输隧道池内传输隧道的数量的实时监控,也可以选择socks5代理服务器进行传输隧道池内传输隧道的数量的实时监控,也可以选择客户代理网关与socks5代理服务器同时进行传输隧道池内传输隧道的数量的实时监控,应该清楚的是,监测的结果是相同的。
74.socks5代理服务器接收到接收客户端代理网关通过目的传输隧道转发的客户端的报文数据之后,socks5报文数据之后的解封过程包括:获取socks5报文数据的报文头信息;解析socks5报文数据的报文头信息,获取目的地所对应的地址和端口信息,以使所述socks5代理服务器根据所述报文数据中携带的最终目的地信息,将所述报文数据发送至最终目的地。
75.同样的,同客户端代理网关侧一样,根据接收所述客户端代理网关转发报文的数
量动态调整所述socks5代理服务器内所述传输隧道池中传输隧道的数量。调整方式,如步骤s100所述,在此不再赘述。
76.更进一步的,本技术实施例中的最终目的地可以为socks5代理服务器的进程接收层,也可以为远程服务器的进程接收层。
77.当socks5代理服务器根据最终目的地信息将socks5报文发送至最终目的地之后,向客户端代理网关发送与最终目的地连接成功后的反馈信息。
78.在另一实施方式中,客户端代理网关也可以主动发送所述socks5代理服务器是否与远程服务器连接成功的询问信息,以确认socks5报文发送至远程服务器。
79.当客户端代理网关主动发送所述socks5代理服务器是否与远程服务器连接成功的询问信息时,socks5代理服务器接收客户端代理网关所发出的是否与最终目的地连接成功的询问信息,并进行反馈。
80.作为一种实施方式,本发明还公开了一种报文数据转发方法,应用于socks5代理服务器,该方法包括:接收客户端代理网关通过目的传输隧道转发的客户端的报文数据;其中,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定,所述传输隧道池由所述客户端代理网关预先创建,所述传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;获取所述报文数据中携带的最终目的地信息,并根据所述最终目的地信息将所述报文数据发送至最终目的地。
81.本发明实施例通过在客户端代理网关上预先创建传输隧道,当从客户端收到报文后选择一个目的传输隧道进行代理,减少了创建传输隧道的时间,实现了socks5代理服务器快速代理上网的目的。
82.下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
83.请参考图5,其示出了本发明一个实施例提供的报文数据转发装置结构示意图,该报文数据转发的装置可以通过软件、硬件或者两者的结合实现成为客户端代理网关模块的部分或者全部。该报文数据转发装置包括:
84.隧道选择模块101:被配置为客户端代理网关接收客户端发送的报文数据,从由所述客户端代理网关预先创建的传输隧道池中选择出目的传输隧道,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定;其中,所述预建传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;
85.报文传输模块102:被配置为通过所述目的传输隧道将所述报文数据发送至socks5代理服务器,以使所述socks5代理服务器根据所述报文数据中携带的最终目的地信息,将所述报文数据发送至最终目的地。
86.更进一步地,还包括隧道管理模块,隧道管理模块被配置为:管理传输隧道池内的传输隧道的数量。
87.更进一步地,本发明实施例还包括信息反馈询问模块,被配置为所述通过所述目的传输隧道将所述报文数据发送至socks5代理服务器之后,接收所述socks5代理服务器与远程服务器连接成功后的反馈信息,或主动发送所述socks5代理服务器是否与远程服务器连接成功的询问信息。
88.综上所述,本实施例提供的报文数据转发装置,通过客户端代理网关预设多个与
socks5代理服务器模块相连接的传输隧道作为传输报文数据的备用通道,在接收到报文数据之后,能够很快的作出反应,通过备用的传输隧道传送至socks5代理服务器模块,降减少延迟时间,提高反应速度。
89.请参考图5,其示出了本发明一个实施例提供的报文数据转发装置结构示意图,该报文数据转发的装置可以通过软件、硬件或者两者的结合实现成为socks5代理服务器模块200的部分或者全部。该报文数据转发装置包括:
90.报文接收模块201:被配置为接收客户端代理网关通过目的传输隧道转发的客户端的报文数据;其中,所述目的传输隧道根据传输隧道池中各个传输隧道的负载状态确定,所述传输隧道池由所述客户端代理网关预先创建,所述传输隧道池包括至少一个传输隧道,各个所述传输隧道能够在设定时间内始终保持通信;
91.报文发送模块202:被配置为获取所述报文数据中携带的最终目的地信息,并根据所述最终目的地信息将所述报文数据发送至最终目的地。
92.更进一步地,还包括隧道管理模块,隧道管理模块被配置为:管理传输隧道池内的传输隧道的数量。
93.更进一步地,本发明实施例还包括信息反馈询问模块,被配置为发送与最终目的地连接成功后的反馈信息,或接收客户端代理网关所发出的是否与最终目的地连接成功的询问信息。
94.综上所述,本实施例提供的报文数据转发装置,通过在socks5代理服务器模块设置报文接收模块,与客户端代理网关模块中的隧道选择模块相协同,在处理报文数据之前就形成备用的用于传输报文数据的传输隧道,有利于提高socks5代理服务器的代理速度。
95.同时,客户端代理网关模块与socks5代理服务器模块中均设置的隧道管理模块能够分别管理传输隧道的数量,将传输隧道的数量保持在预设的阈值范围内,在不影响传输报文数据进行上网代理的速度的同时,节省容量空间,有利于装置的长时间稳定使用。
96.图4、图5所示装置可以对应的执行上述方法实施例中的内容,本实施例为性详细描述的部分,参照上述方法实施例中记载的内容,在此不再赘述。
97.基于同一发明构思,本发明实施例涉及的代理服务器的硬件结构示意图。本实施例提供了一种服务器,所述服务器可以包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现本发明数据处理方法各个实施例的全部或部分步骤。
98.具体的,所述代理服务器是指能够实现网络连接的设备,可以是服务器、云平台等网络设备。
99.可以理解,所述代理服务器还可以包括通信总线,用户接口和网络接口。
100.其中,通信总线用于实现这些组件之间的连接通信。
101.用户接口用于连接管理客户端,与管理客户端进行数据通信,用户接口可以包括输出单元,如显示屏、输入单元,如键盘,可选的,用户接口还可以包括其他输入/输出接口,比如标准的有线接口、无线接口。
102.网络接口用于连接后台服务器,与后台服务器进行数据通信,网络接口可以包括输入/输出接口,比如标准的有线接口、无线接口,如wi-fi接口。
103.存储器用于存储各种类型的数据,这些数据例如可以包括该代理服务器中任何应
用程序或方法的指令,以及应用程序相关的数据。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random accessmemory,简称sram),可擦除可编程只读存储器(erasable programmable read-onlymemory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘,可选的,存储器还可以是独立于所述处理器的存储装置。
104.处理器用于调用存储器中存储的计算机程序,并执行如上述的数据处理方法,处理器可以是专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signalprocessing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(fieldprogrammable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件,用于执行如上述报文数据转发方法的全部或部分步骤。
105.本技术实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述方法实施例中的报文数据转发方法。
106.本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的的报文数据转发方法。
107.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
108.上述计算机可读介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
109.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
110.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
111.应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
112.以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1