CN115801469B - 一种数据传输方法、代理服务器及设备 - Google Patents
一种数据传输方法、代理服务器及设备 Download PDFInfo
- Publication number
- CN115801469B CN115801469B CN202310085299.4A CN202310085299A CN115801469B CN 115801469 B CN115801469 B CN 115801469B CN 202310085299 A CN202310085299 A CN 202310085299A CN 115801469 B CN115801469 B CN 115801469B
- Authority
- CN
- China
- Prior art keywords
- client
- data packet
- authentication
- address
- proxy server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据传输方法、代理服务器及设备,方法包括:接收客户端发送的指令数据包,指令数据包携带客户端的IP地址和端口信息;根据指令数据包对客户端进行认证,若认证通过,将客户端加入客户端清单中,并向客户端反馈认证通过响应;接收客户端发送的业务数据包,业务数据包是客户端在接收到认证通过响应后发送的;根据业务数据包进行对应的数据传输操作;本发明的方案确保了通信授信安全,数据传输的方式较为灵活,可根据业务场景自由规划。
Description
技术领域
本发明涉及通信技术领域,特别是一种数据传输方法、代理服务器及设备。
背景技术
代理服务器的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站,是个人网络和因特网Internet服务商之间的中间代理机构,负责转发合法的网络信息;
网络代理或转发服务器通常针对某个或某些服务端口进行转发,常见的有反向代理服务器、正向代理服务器,反向代理即代理服务器服务端口,正向代理即代理客户端网络访问受限网络时所用到的服务器;
现有技术中,客户端与客户端通过代理服务器进行数据转发时,存在通信不安全的问题,数据的传输方式也不够灵活。
发明内容
本发明要解决的技术问题是提供一种数据传输方法、代理服务器及设备,确保了通信授信安全,数据传输的方式较为灵活,可根据业务场景自由规划。
为解决上述技术问题,本发明的技术方案如下:
一种数据传输方法,应用于代理服务器,包括:
接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;
根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;
接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;
根据所述业务数据包进行对应的数据传输操作。
可选的,接收客户端发送的指令数据包,包括:
接收客户端通过与代理服务器之间的传输控制协议TCP或者用户数据协议UDP连接,发送的指令数据包。
可选的,根据所述指令数据包对所述客户端进行认证,包括:
判断所述指令数据包中的客户端的IP地址是否在所述代理服务器的IP地址池中,端口信息是否属于所述代理服务器服务的端口,若是,则对所述客户端认证通过。
可选的,接收所述客户端在接收到所述认证通过响应后,发送的业务数据包,包括:
接收客户端通过传输控制协议TCP或者用户数据协议UDP连接,发送的业务数据包。
可选的,接收所述客户端发送的业务数据包之后,还包括:
若所述客户端存在于客户端清单中,且客户端采用TCP连接发送所述业务数据包,则读取TCP数据流,对所述TCP数据流进行解码,得到解码后的业务数据;
若所述客户端存在于客户端清单中,且客户端采用UDP连接发送所述业务数据包,则读取UDP数据包,对所述UDP数据包进行解码,得到解码后的业务数据。
可选的,根据所述业务数据包进行对应的数据传输操作,包括:
根据所述业务数据包解码后的业务数据,进行业务数据的转发操作。
可选的,数据传输方法,还包括:
接收所述客户端发送的加入通信组的数据通信指令,所述数据通信指令包括加入通信组的通信组号和数据分发操作;
对所述客户端要加入的通信组进行校验,若所述通信组号存在于通信组清单中,则校验通过;
根据所述客户端的IP地址和端口信息,将所述客户端加入所述通信组;
将所述客户端的业务数据分发至所述通信组中的其它客户端。
本发明还提供一种代理服务器,包括:
接收模块,用于接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;
处理模块,用于根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;
所述接收模块,还用于接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;
所述处理模块,还用于根据所述业务数据包进行对应的数据传输操作。
本发明还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。
本发明还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;根据所述业务数据包进行对应的数据传输操作;解决了通信不安全的问题,确保了通信授信安全,数据传输的方式较为灵活,可根据业务场景自由规划。
附图说明
图1是本发明实施例的数据传输方法的流程示意图;
图2是本发明提供的具体的实施例中认证过程的流程示意图;
图3是本发明提供的具体的实施例中创建或加入通信组的流程示意图;
图4是本发明提供的具体的实施例中数据传输方法的流程示意图;
图5是本发明实施例的代理服务器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提出一种数据传输方法,应用于代理服务器,包括:
步骤11,接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;
步骤12,根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;
步骤13,接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;
步骤14,根据所述业务数据包进行对应的数据传输操作。
该实施例中,代理服务器(Proxy Server)的作用是:转发客户端之间的网络信息,对转发进行控制和登记;代理服务器接收到客户端发送的指令数据包,需要根据指令数据包对客户端进行认证,若认证通过,则表示该客户端被代理服务器授信,会将该首次接入的客户端加入客户端清单中,并向客户端反馈认证通过响应,在客户端接收到认证响应之后,会向代理服务器发送业务数据包,代理服务器可根据业务数据包进行对应的数据传输操作;其中,指令数据包携带客户端的IP地址和端口信息,代理服务器可根据客户端的IP地址和端口信息,对客户端进行认证;本发明的实施例解决了通信不安全的问题,确保了通信授信安全,数据传输的方式较为灵活,可根据业务场景自由规划;
需要说明的是,为了保证数据传输的安全性,代理服务器在每次接收到业务数据包之后均会对该业务数据包对应的客户端是否在客户端清单中进行验证,只有在验证通过后,才会根据业务数据包进行对应的数据传输操作。
本发明一可选的实施例中,步骤11包括:
步骤111,接收客户端通过与代理服务器之间的传输控制协议TCP或者用户数据协议UDP连接,发送的指令数据包。
本发明的实施例中,指令数据包可基于UDP协议(User Datagram Protocol,用户数据协议)或TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)传输至代理服务器;
其中,由于UDP协议是一种无连接协议,即通过UDP协议进行指令数据包的传输之前,源端(客户端)和终端(代理服务器)之间不建立连接,这样可以使得指令数据包传输过程中延迟小、数据传输效率高;因此,对于代理服务器而言,当接收到通过UDP协议发送的指令数据包时,可以在较短时延内接收到该指令数据包,且可以直接接收该指令数据包;
另外,为了提高在UDP协议下的传输的安全性,当通过UDP协议传输指令数据包时,代理服务器每次都要为客户端进行接入认证,以有效防止被攻击,由于客户端的IP地址和端口信息是客户端的唯一标识,可以确保通信授信安全;
而TCP/IP协议是指由FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、TCP、IP等多个协议构成的协议簇,本发明的实施例中优选为TCP协议;其中,TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由TCP协议传输的指令数据包与UDP协议传输的指令数据包最大的区别在于:是否建立通信连接;通过上文可知,代理服务器直接接收UDP协议的指令数据包,而当指令数据包通过TCP协议传输时,代理服务器需要与客户端之间建立连接;客户端将对指令数据进行信息流格式化封装,得到指令数据包,为指令数据包提供可靠传输,实现与代理服务器直接的通信,为了保证信息传输可靠性,TCP协议规定代理服务器必须发回确认,具体的:
客户端向代理服务器发出第一连接请求,等待代理服务器回复第二连接信号和应答信号,当客户端接收到应答信号后,客户端对对方的第二连接信号再执行应答确认。这种在客户端和代理服务器之间建立连接的方法可以有效地防止产生错误的连接,保证了通信的安全性。
本发明一可选的实施例中,步骤12包括:
步骤121,判断所述指令数据包中的客户端的IP地址是否在所述代理服务器的IP地址池中,端口信息是否属于所述代理服务器服务的端口,若是,则对所述客户端认证通过。
本发明的实施例中,根据指令数据包携带的客户端的IP地址和端口信息,对客户端进行认证,其中,若通过TCP协议得到指令数据包,则IP地址和端口信息会在代理服务器接收客户端发送的数据流(执行accept方法)时获取;若使用UDP协议得到指令数据包,则IP地址和端口信息会在客户端发送的指令数据包中获取;
根据客户端的IP地址,可以通过查询匹配的方式判断该客户端对应的IP地址是否在代理服务器的IP地址池中,其中,该IP地址池包括客户端清单中每个客户端的IP地址,IP地址是因特网上的每个客户端的唯一的地址;
根据客户端的端口信息,可以通过查询匹配的方式判断该客户端的端口是否属于代理服务器服务的端口,其中,端口信息包括端口号;
当IP地址在IP地址池中且端口信息属于代理服务器服务的端口时,代理服务器对客户端的认证通过;
当IP地址不在IP地址池中和/或端口信息不属于代理服务器服务的端口时,代理服务器对客户端的认证不通过,则需要重新进行进一步的二次认证;
具体地,基于指令数据包的传输方式(基于TCP协议或UDP协议),对指令数据包进行解码,得到解码数据,将该解码数据作为认证数据进行认证,若认证通过,则将该客户端加入客户端清单中,并向客户端反馈认证通过响应,若认证不通过,则断开连接(TCP协议)或忽略该指令数据包(UDP);
其中,若使用TCP协议,则读取数据流进行解码,得到解码数据;若使用UDP协议通信,则读取指令数据包内容进行解码,得到解码数据。
进一步的,步骤12中将所述客户端加入客户端清单中进行说明:
若使用TCP协议,则读取客户端的IP地址和端口信息,采用MAP(一种通过键值KEY来获取值VALUE的数据结构)的方式存储,键值KEY格式为“IP地址:端口信息”,VALUE存放客户端;若使用UDP通信,则将客户端的IP地址和端口信息以字符串方式存储于缓存集合中,如“IP地址:端口信息”;
再进一步地,当认证通过,即代理服务器确定该客户端在客户端清单中或者已将该客户端添加至客户端清单中,可接收客户端发送的业务数据包,对于业务数据包中的内容进行读取时,若使用TCP协议通信,则代理服务器将从输入流读取数据;若使用UDP协议通信,则代理服务器可直接读取业务数据包中的内容。
如图2所示,一个具体的实施例中,对客户端进行认证的过程包括:
步骤21,接收客户端的指令数据包;若使用TCP协议,则代理服务器通过与客户端的连接获取该指令数据包,若使用UDP协议,则代理服务器直接接收指令数据包;
步骤22,读取客户端的IP地址和端口信息;若使用TCP协议,则代理服务器将在执行与客户端之间的接收(accept)时获取IP地址和端口信息,若使用UDP协议,则代理服务器通过指令数据包获取IP地址和端口信息;
步骤23,对客户端进行校验,代理服务器校验客户端的IP地址和端口信息是否存在于客户端清单中,若存在则表示客户端已经通过认证,若不存在则需要进行步骤241的认证;
步骤241包括:
步骤2411,对客户端进行认证;若使用TCP协议,则代理服务器读取数据流进行解码,得到解码数据;若使用UDP协议,则代理服务器读取指令数据包中的数据内容进行解码,得到解码数据;
进一步地,将解码数据作为认证数据进行认证,若认证成功,则将该客户端加入客户端清单,若认证失败,则断开连接(使用TCP协议的情况下)或忽略数据包(使用UDP协议的情况下);
步骤2412,若客户端的认证通过,则加入客户端清单;其中,若使用TCP协议,则代理服务器读取客户端对象的IP地址和端口信息,采用MAP的方式存储,KEY格式示例:“IP地址:端口”,VALUE存放客户端对象;若使用UDP协议,则代理服务器将客户端IP地址和端口以字符串方式存储于缓存集合中,格式示例:“IP地址:端口”;
步骤242,读取业务数据包,若使用TCP协议,则代理服务器将从输入流读取数据;若使用UDP协议,则代理服务器读取业务数据包内容。
本发明一可选的实施例中,步骤13包括:
步骤131,接收客户端通过传输控制协议TCP或者用户数据协议UDP连接,发送的业务数据包。
本发明的实施例中,业务数据包是客户端在接收到认证通过响应后发送的,该业务数据包包括业务数据,代理服务器与客户端之间的业务数据包的传输通过TCP协议或者UDP协议;当通过UDP协议接收业务数据包时,均需要校验其IP地址和端口信息是否存在于客户端清单中,以保证通信安全。
本发明一可选的实施例中,步骤13之后还包括:
步骤132,若所述客户端存在于客户端清单中,且客户端采用TCP连接发送所述业务数据包,则读取TCP数据流,对所述TCP数据流进行解码,得到解码后的业务数据;
步骤133,若所述客户端存在于客户端清单中,且客户端采用UDP连接发送所述业务数据包,则读取UDP数据包,对所述UDP数据包进行解码,得到解码后的业务数据。
本发明的实施例中,由于业务数据包的传输方式包括基于TCP协议和UDP协议的传输,因此,对于这两种不同传输协议,其业务数据包的解码方式也不同;
由于使用TCP协议进行数据传输时,客户端与代理服务器之间需要建立通信连接,因此,为了解码得到业务数据,代理服务器应读取TCP数据流,对该TCP数据流进行解码,得到业务数据;
而由于使用UDP协议进行数据传输时,客户端与代理服务器之间无需建立通信连接,客户端直接将业务数据包(UDP数据包)发送至代理服务器,因此,代理服务器对该UDP数据包直接进行解码,得到业务数据;
需要说明的是,上述过程可以通过TCP协议传输业务数据,也可以通过UDP协议传输业务数据,还可以通过其他可靠性强、时延低的协议传输,本申请不以此为限制。
本发明一可选的实施例中,步骤14包括:
步骤141,根据所述业务数据包解码后的业务数据,进行业务数据的转发操作。
本发明的实施例中,代理服务器解码得到业务数据后,代理服务器对该业务数据进行转发,已实现代理服务器的数据传输功能,这里,需要说明的是,为了保证数据的传输安全,客户端的业务数据应转发至其选定的指定客户端,这里的指定客户端可以是客户端清单中的,也可以是预先建立的通信组中的客户端,本申请不以此为限制。
根据客户端与代理服务器之间的传输协议,代理服务器将客户端的业务数据转发至通信组内的客户端的过程如下:
若通过UDP协议进行业务数据的通信组转发或分发,代理服务器接收到一通信组内的第一客户端发送的业务数据包,识别该第一客户端的IP地址和端口信息,读取通信组内所有客户端的IP地址和端口信息,排除第一客户端的IP地址和端口信息,循环发送业务数据到通信组其它客户端;
若通过TCP协议进行业务数据的通信组转发或分发,一通信组内第二客户端输入流对象有业务数据传入,将业务数据读入缓存字节数组中,识别第二客户端的IP地址和端口信息,读取通信组的客户端清单的MAP信息,排除第二客户端的IP地址和端口信息对应的键值KEY,读取MAP中的值VALUE集合,循环从第二客户端获取输出流对象,并将缓存字节数组写入输出流。
下面对认证通过的客户端建立通信组的过程进行说明:
本发明一可选的实施例中,数据传输方法还包括:
步骤15,接收所述客户端发送的加入通信组的数据通信指令,所述数据通信指令包括加入通信组的通信组号和数据分发操作;
步骤16,对所述客户端要加入的通信组进行校验,若所述通信组号存在于通信组清单中,则校验通过;
步骤17,根据所述客户端的IP地址和端口信息,将所述客户端加入所述通信组;
步骤18,将所述客户端的业务数据分发至所述通信组中的其它客户端。
本发明的实施例中,客户端可指示代理服务器完成创建通信组,代理服务器读取客户端的IP地址和端口信息,其中,若通过UDP协议传输,客户端与代理服务器之间的通信过程均需要接收通信指令对应的数据包,每次接收到数据包均需要校验该客户端的IP地址和端口信息是否存在于客户端清单中;
代理服务器读取通信指令,按照约定编码方式对通信指令对应的数据包解码,根据约定数据结构读取数据通信指令,这里的通信指令包含:创建通信组;加入通信组;数据分发中的至少一个;
对要加入的通信组进行校验,根据通信组号、IP地址以及端口信息,查询该客户端是否已存在于通信组清单中,若已存在,则将该客户端加入通信组,代理服务器可将客户端的业务数据分发至该通信组中的其它客户端;
若不存在,则可以为该客户端创建通信组,并将新创建的通信组的通信组号添加至通信组清单中,以使得后续若有新的客户端想要加入新创建的通信组时,可以找到该通信组;
客户端的通信组可实现对业务数据进行隔离,更便于代理服务器对业务数据的转发和/或分发来源和目标进行控制和管理;客户端所在的通信组中若只有两个客户端,则可实现这两个客户端之间的一对一交互传输,若存在多个客户端可以实现一对多广播式传输,其使用方式更为灵活,使用者可根据业务场景自由规划。
如图3所示,又一具体的实施例中,代理服务器为客户端创建或加入通信组的过程为:
步骤31,代理服务器读取客户端的IP地址和端口信息;
步骤32,代理服务器读取客户端的通信指令,该通信指令包含:创建通信组;加入通信组;数据分发;
步骤33,代理服务器为客户端校验要加入的通信组,即对通信指令进行校验,根据该通信指令对应的数据包中的通信组号、客户端的IP地址以及端口信息,查询要加入的通信组是否已经存在于通信组清单;
步骤341,若要加入的通信组并不存在于通信组清单中,则表示尚未建立通信组,可以根据通信组号创建通信组;
步骤342,若要加入的通信组并存在于通信组清单中,则将客户端加入该通信组,即根据客户端的IP地址和端口信息,加入对应通信组号的通信组中。
如图4所示,再一具体的实施例中,来源客户端通过代理服务器将业务数据发送至目标客户端的过程为:
步骤41,代理服务器接收来源客户端发送的指令数据包,根据来源客户端的IP地址和端口信息,判定该来源客户端是否存在于客户端清单中,具体的,识别来源客户端的IP地址和端口信息,根据来源客户端的IP地址和端口信息在客户端清单进行查询匹配;
步骤42,代理服务器根据接收到的来源客户端发送的认证信息进行认证,并根据来源客户端的IP地址和端口信息,将该来源客户端加入到客户端清单中;具体的,代理服务器解码来源客户端发送的指令数据包,将解码数据作为认证信息进行认证,认证成功则加入到客户清单中,若采用UDP协议的通信方式,认证失败时忽略此次指令数据包,若采用TCP协议的通信方式,认证失败时直接断开此连接;
步骤43,解析来源客户端的数据包,执行通信组的建立、数据转发和数据分发功能;具体的,解析来源客户端的数据包,并识别该数据包中的操作指令,若识别失败则忽略,若识别成功则进行对应操作;
上述的来源客户端与代理服务器之间的数据传输过程,安全性强,数据传输的方式较为灵活,可根据业务场景自由规划。
本发明的实施例通过接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;根据所述业务数据包进行对应的数据传输操作,从而解决了通信不安全的问题,确保了通信授信安全,数据传输的方式较为灵活,可根据业务场景自由规划。
如图5所示,本发明的实施例还提供一种代理服务器50,包括:
接收模块51,用于接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;
处理模块52,用于根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;
所述接收模块51,还用于接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;
所述处理模块52,还用于根据所述业务数据包进行对应的数据传输操作。
可选的,接收客户端发送的指令数据包,包括:
接收客户端通过与代理服务器之间的传输控制协议TCP或者用户数据协议UDP连接,发送的指令数据包。
可选的,根据所述指令数据包对所述客户端进行认证,包括:
判断所述指令数据包中的客户端的IP地址是否在所述代理服务器的IP地址池中,端口信息是否属于所述代理服务器服务的端口,若是,则对所述客户端认证通过。
可选的,接收所述客户端在接收到所述认证通过响应后,发送的业务数据包,包括:
接收客户端通过传输控制协议TCP或者用户数据协议UDP连接,发送的业务数据包。
可选的,接收所述客户端发送的业务数据包之后,还包括:
若所述客户端存在于客户端清单中,且客户端采用TCP连接发送所述业务数据包,则读取TCP数据流,对所述TCP数据流进行解码,得到解码后的业务数据;
若所述客户端存在于客户端清单中,且客户端采用UDP连接发送所述业务数据包,则读取UDP数据包,对所述UDP数据包进行解码,得到解码后的业务数据。
可选的,根据所述业务数据包进行对应的数据传输操作,包括:
根据所述业务数据包解码后的业务数据,进行业务数据的转发操作。
可选的,所述接收模块51还用于:
接收所述客户端发送的加入通信组的数据通信指令,所述数据通信指令包括加入通信组的通信组号和数据分发操作;
对所述客户端要加入的通信组进行校验,若所述通信组号存在于通信组清单中,则校验通过;
根据所述客户端的IP地址和端口信息,将所述客户端加入所述通信组;
将所述客户端的业务数据分发至所述通信组中的其它客户端。
需要说明的是,该代理服务器是与上述方法对应的代理服务器,上述方法实施例中的所有实现方式均适用于该代理服务器的实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种数据传输方法,其特征在于,应用于代理服务器,包括:
接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;
根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;
接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;
根据所述业务数据包进行对应的数据传输操作;
其中,接收客户端发送的指令数据包,包括:
接收客户端通过与代理服务器之间的传输控制协议TCP或者用户数据协议UDP连接,发送的指令数据包;
其中,根据所述指令数据包对所述客户端进行认证,包括:
判断所述指令数据包中的客户端的IP地址是否在所述代理服务器的IP地址池中,端口信息是否属于所述代理服务器服务的端口,若是,则对所述客户端认证通过;反之,代理服务器对客户端的认证不通过,则需要重新进行二次认证;
二次认证的过程为:
基于TCP协议或UDP协议,对指令数据包进行解码,得到解码数据,将所述解码数据作为认证数据进行认证,若认证通过,则将该客户端加入客户端清单中,并向客户端反馈认证通过响应,若认证不通过,则断开TCP协议的连接或忽略所述UDP协议的指令数据包;
其中,将所述客户端加入客户端清单中,包括:
若使用TCP协议,则读取客户端的IP地址和端口信息,采用键值KEY来获取值VALUE的数据结构的方式存储,其中,键值KEY格式为:IP地址:端口信息,VALUE存放于客户端;
若使用UDP协议,则将客户端的IP地址和端口信息以字符串方式存储于缓存集合中,所述字符串为:IP地址:端口信息。
2.根据权利要求1所述的数据传输方法,其特征在于,接收所述客户端在接收到所述认证通过响应后,发送的业务数据包,包括:
接收客户端通过传输控制协议TCP或者用户数据协议UDP连接,发送的业务数据包。
3.根据权利要求2所述的数据传输方法,其特征在于,接收所述客户端发送的业务数据包之后,还包括:
若所述客户端存在于客户端清单中,且客户端采用TCP连接发送所述业务数据包,则读取TCP数据流,对所述TCP数据流进行解码,得到解码后的业务数据;
若所述客户端存在于客户端清单中,且客户端采用UDP连接发送所述业务数据包,则读取UDP数据包,对所述UDP数据包进行解码,得到解码后的业务数据。
4.根据权利要求3所述的数据传输方法,其特征在于,根据所述业务数据包进行对应的数据传输操作,包括:
根据所述业务数据包解码后的业务数据,进行业务数据的转发操作。
5.根据权利要求1所述的数据传输方法,其特征在于,还包括:
接收所述客户端发送的加入通信组的数据通信指令,所述数据通信指令包括加入通信组的通信组号和数据分发操作;
对所述客户端要加入的通信组进行校验,若所述通信组号存在于通信组清单中,则校验通过;
根据所述客户端的IP地址和端口信息,将所述客户端加入所述通信组;
将所述客户端的业务数据分发至所述通信组中的其它客户端。
6.一种代理服务器,其特征在于,包括:
接收模块,用于接收客户端发送的指令数据包,所述指令数据包携带所述客户端的IP地址和端口信息;
处理模块,用于根据所述指令数据包对所述客户端进行认证,若认证通过,将所述客户端加入客户端清单中,并向所述客户端反馈认证通过响应;
所述接收模块,还用于接收所述客户端发送的业务数据包,所述业务数据包是所述客户端在接收到所述认证通过响应后发送的;
所述处理模块,还用于根据所述业务数据包进行对应的数据传输操作;
其中,接收客户端发送的指令数据包,包括:
接收客户端通过与代理服务器之间的传输控制协议TCP或者用户数据协议UDP连接,发送的指令数据包;
其中,根据所述指令数据包对所述客户端进行认证,包括:
判断所述指令数据包中的客户端的IP地址是否在所述代理服务器的IP地址池中,端口信息是否属于所述代理服务器服务的端口,若是,则对所述客户端认证通过;反之,代理服务器对客户端的认证不通过,则需要重新进行二次认证;
二次认证的过程为:
基于TCP协议或UDP协议,对指令数据包进行解码,得到解码数据,将所述解码数据作为认证数据进行认证,若认证通过,则将该客户端加入客户端清单中,并向客户端反馈认证通过响应,若认证不通过,则断开TCP协议的连接或忽略所述UDP协议的指令数据包;
其中,将所述客户端加入客户端清单中,包括:
若使用TCP协议,则读取客户端的IP地址和端口信息,采用键值KEY来获取值VALUE的数据结构的方式存储,其中,键值KEY格式为:IP地址:端口信息,VALUE存放于客户端;
若使用UDP协议,则将客户端的IP地址和端口信息以字符串方式存储于缓存集合中,所述字符串为:IP地址:端口信息。
7.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310085299.4A CN115801469B (zh) | 2023-02-09 | 2023-02-09 | 一种数据传输方法、代理服务器及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310085299.4A CN115801469B (zh) | 2023-02-09 | 2023-02-09 | 一种数据传输方法、代理服务器及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801469A CN115801469A (zh) | 2023-03-14 |
CN115801469B true CN115801469B (zh) | 2023-04-28 |
Family
ID=85430570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310085299.4A Active CN115801469B (zh) | 2023-02-09 | 2023-02-09 | 一种数据传输方法、代理服务器及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801469B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873332A (zh) * | 2010-07-15 | 2010-10-27 | 杭州华三通信技术有限公司 | 一种基于代理服务器的web认证方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002123491A (ja) * | 2000-10-13 | 2002-04-26 | Nippon Telegr & Teleph Corp <Ntt> | 認証代行方法、認証代行装置、及び認証代行システム |
CN101399838B (zh) * | 2008-10-29 | 2012-01-25 | 成都市华为赛门铁克科技有限公司 | 报文处理方法、装置和系统 |
CN102291441B (zh) * | 2011-08-02 | 2015-01-28 | 杭州迪普科技有限公司 | 一种防范SYN Flood攻击的方法及安全代理装置 |
CN113709232B (zh) * | 2021-08-24 | 2024-05-17 | 广州文远知行科技有限公司 | 数据包加载方法、客户端、客户端代理、设备及存储介质 |
-
2023
- 2023-02-09 CN CN202310085299.4A patent/CN115801469B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873332A (zh) * | 2010-07-15 | 2010-10-27 | 杭州华三通信技术有限公司 | 一种基于代理服务器的web认证方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115801469A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762586B2 (en) | System and method for controlling mutual access of smart devices | |
CN111586025B (zh) | 一种基于sdn的sdp安全组实现方法及安全系统 | |
CN106375270B (zh) | 令牌生成并认证的方法及认证服务器 | |
CN116471109B (zh) | 数据传输方法、系统、第一端及控制设备 | |
CN109194669B (zh) | 一种轻量级节点的数据传输方法、装置、设备和介质 | |
US7593988B2 (en) | Systems and methods for multiparty session invite | |
CN113225351B (zh) | 一种请求处理方法、装置、存储介质及电子设备 | |
CN111343083B (zh) | 即时通信方法、装置、电子设备及可读存储介质 | |
CN111371787B (zh) | 中台服务的登录注册方法、装置、系统、服务器及介质 | |
CN114172929A (zh) | 通信方法、装置以及网关 | |
CN101404655B (zh) | 一种客户端及其发起通信的方法和网络游戏的通讯系统 | |
US20080010480A1 (en) | Push Type Communications System | |
CN113726895B (zh) | 文件传输方法、装置及网络ktv系统 | |
CN111131143A (zh) | 一种网络访问控制方法及装置、系统 | |
CN108881200B (zh) | 基于tcp的多终端同时在线的方法和系统 | |
CN115801469B (zh) | 一种数据传输方法、代理服务器及设备 | |
US20090024739A1 (en) | Endpoint discriminator in network transport protocol startup packets | |
US9806984B1 (en) | Separating network traffic among virtual servers | |
CN111371829A (zh) | 数据共享方法及装置、终端、服务器和存储介质 | |
US7756996B2 (en) | Embedding management data within HTTP messages | |
CN116996113B (zh) | 一种卫星终端组网方法、装置及设备 | |
CN112261055B (zh) | 一种实时数据定向推送的方法、系统及其网关设备 | |
CN112689014B (zh) | 一种双全工通信方法、装置、计算机设备和存储介质 | |
CN113518105B (zh) | 数据中转的方法、装置和系统 | |
US20230224378A1 (en) | Method for delegating the delivery of content items to a cache server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |