CN113438230B - 协议协商方法、装置、代理服务器及存储介质 - Google Patents

协议协商方法、装置、代理服务器及存储介质 Download PDF

Info

Publication number
CN113438230B
CN113438230B CN202110701225.XA CN202110701225A CN113438230B CN 113438230 B CN113438230 B CN 113438230B CN 202110701225 A CN202110701225 A CN 202110701225A CN 113438230 B CN113438230 B CN 113438230B
Authority
CN
China
Prior art keywords
proxy
authentication
server
service
message
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
Application number
CN202110701225.XA
Other languages
English (en)
Other versions
CN113438230A (zh
Inventor
梁霞
张亮
张涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110701225.XA priority Critical patent/CN113438230B/zh
Publication of CN113438230A publication Critical patent/CN113438230A/zh
Application granted granted Critical
Publication of CN113438230B publication Critical patent/CN113438230B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种协议协商方法、装置、代理服务器及存储介质,涉及网络传输领域,方法应用于代理服务器时,包括:接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息;根据所述代理控制信息,进行认证方式匹配和认证信息匹配;若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器。本发明解决了现有的代理服务器在对客户端进行协议协商时,存在过程繁琐的问题,实现了将代理协商过程压缩到一条报文中,直接进行协议协商和业务代理转发的效果。

Description

协议协商方法、装置、代理服务器及存储介质
技术领域
本发明涉及网络传输领域,尤其涉及一种协议协商方法、装置、代理服务器及存储介质。
背景技术
在一些通讯网络中,客户端与业务服务器无法直接通信,通过代理服务器进行协议协商和业务代理。代理服务器接收客户端的请求,代替客户端与业务服务器通信。代理服务器对于客户端而言,是目的端,对于业务服务器而言,是源端。目前,代理服务器在对客户端进行业务代理前,需要先进行协议协商,现有方法是先进行认证方式协商,然后进行认证,再建立代理连接,而客户端与代理服务器需要往返发送数据包,从而需要有至少六次协议报文的交互,才能成功建立客户端与代理服务器的代理关系。并且,每条业务流都会经历一次协议协商过程,这就导致现有技术存在过程繁琐的问题。
发明内容
本发明的主要目的在于:提供一种协议协商方法、装置、代理服务器及存储介质,旨在解决现有的代理服务器在对客户端进行协议协商时,存在过程繁琐的技术问题。
为实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供了一种协议协商方法,应用于代理服务器,所述方法包括:
接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;
若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器;
若所述认证方式匹配失败,则反馈认证方式协商应答报文给所述客户端,以中止协议协商,使所述客户端更换认证方式,对所述报文进行重新封装;
接收所述客户端发送的重装后的报文,以继续进行协议协商。
可选地,上述协议协商方法中,所述根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配的步骤,具体包括:
判断所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式是否一致;
若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式一致,判定认证方式匹配成功,则进一步判断所述代理控制信息中携带的认证信息是否正确;
若所述代理控制信息中携带的认证信息正确,判定认证信息匹配成功。
可选地,上述协议协商方法中,所述判断所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式是否一致的步骤之后,所述方法还包括:
若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式不一致,判定认证方式匹配失败。
可选地,上述协议协商方法中,所述进一步判断所述代理控制信息中携带的认证信息是否正确的步骤之后,所述方法还包括:
若所述代理控制信息中携带的认证信息不正确,判定认证信息匹配失败,则反馈认证应答报文给客户端,以终止协议协商。
可选地,上述协议协商方法中,所述根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器的步骤,具体包括:
根据所述代理控制信息,生成代理业务连接请求发送到所述业务服务器,以建立所述代理服务器与所述业务服务器的连接;
若所述代理服务器与所述业务服务器建立连接成功,则发送代理报文给所述业务服务器,其中,所述代理报文包括所述业务载荷信息;
若所述代理服务器与所述业务服务器建立连接失败,则反馈代理连接应答报文给客户端,以终止协议协商。
第二方面,本发明提供了一种协议协商方法,应用于客户端,所述方法包括:
发送报文给代理服务器,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
以使所述代理服务器根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;在所述认证方式和所述认证信息均匹配成功时,根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器,以及在所述认证方式匹配失败时,反馈认证方式协商应答报文,以中止协议协商;
在接收到代理服务器发送的认证方式协商应答报文时,更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器,以继续进行协议协商。
第三方面,本发明提供了一种协议协商装置,应用于代理服务器,所述装置包括:
报文接收模块,用于接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
认证匹配模块,用于根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;
建立连接模块,用于若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器;
所述认证匹配模块,还用于若所述认证方式匹配失败,则反馈认证方式协商应答报文给所述客户端,以中止协议协商,使所述客户端更换认证方式,对所述报文进行重新封装;
所述报文接收模块,还用于接收所述客户端发送的重装后的报文,以继续进行协议协商。
第四方面,本发明提供了一种协议协商装置,应用于客户端,所述装置包括:
报文发送模块,用于发送报文给代理服务器,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
以使所述代理服务器根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;在所述认证方式和所述认证信息均匹配成功时,根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器,以及在所述认证方式匹配失败时,反馈认证方式协商应答报文,以中止协议协商;
报文重装模块,用于在接收到代理服务器发送的认证方式协商应答报文时,更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器,以继续进行协议协商。
第五方面,本发明提供了一种代理服务器,所述代理服务器包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如上述的协议协商方法。
第六方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被一个或多个处理器执行,以实现如上述的协议协商方法。
本发明提供的上述一个或多个技术方案,可以具有如下优点或至少实现了如下技术效果:
本发明提出的一种协议协商方法、装置、代理服务器及存储介质,通过接收一条客户端发送的包括代理控制信息和业务载荷信息的报文,进行认证方式匹配和认证信息匹配,若所述认证方式和所述认证信息均匹配成功,不需要反馈任何业务回包到客户端,直接根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器;本发明的方法简化了协议协商过程,是一种轻交互的协议协商方法,将原本的多条控制报文压缩到了一条报文中,并隐式地嵌入到业务报文交互中,实现了将代理协商过程压缩到一条报文中,直接进行协议协商和业务代理转发的效果;客户端与代理服务器间进行认证方式匹配,相比较现有的由客户端先通告能力再由代理服务器选取的方法,可以提高协商效率,降低代理关系建立的时间消耗和时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的这些附图获得其他的附图。
图1为本发明协议协商方法第一实施例的流程示意图;
图2为本发明涉及的代理服务器的硬件结构示意图;
图3为现有的SOCKS5协议代理TCP业务的工作流程交互图;
图4为本发明协议协商方法第二实施例的流程示意图;
图5为本发明协议协商方法第二实施例的SOCKS5协议代理UDP业务常规的工作流程交互图;
图6为本发明协议协商方法第二实施例的SOCKS5协议代理UDP业务认证方式匹配失败的工作流程交互图;
图7为本发明协议协商方法第二实施例的SOCKS5协议代理UDP业务认证失败的工作流程交互图;
图8为本发明协议协商方法第二实施例的SOCKS5协议代理TCP业务建立连接失败的工作流程交互图;
图9为本发明协议协商装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。另外,全文中出现的“和/或”的含义,包括三个并列的方案,以“A和/或B”为例,包括A方案、或B方案、或A和B同时满足的方案。
在本发明中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。另外,各个实施例的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
对现有技术的分析发现,在客户端通过代理服务器访问业务服务器的通讯网络中,客户端与业务服务器无法直接通信,通过代理服务器进行协议协商和业务代理,接收客户端的请求,代替客户端与业务服务器通信。代理服务器拥有双重身份,对于客户端而言,是目的端,对于业务服务器而言,是源端,比如,SOCKS5服务器,SOCKS5(SOCKS ProtocolVersion 5)是一种代理协议,广泛应用于业务客户端与业务服务器间无法直接通信的场景,例如出差员工需要访问公司内部服务器。如图3所示为现有的SOCKS5协议代理TCP业务的工作流程交互图,可以看出,SOCKS5工作流程可分为两个阶段:SOCKS5协议协商过程与SOCKS5业务代理过程。
代理服务器在对客户端进行业务代理前,需要先进行协议协商,即客户端在业务请求之前,首先会与SOCKS5服务器进行SOCKS5协议协商,建立起SOCKS5协商会话。该SOCKS5协议协商过程有六步:
1、SOCKS5认证协商请求:客户端首先向SOCKS5服务器发起认证方式协商请求,将其支持的所有认证方式打包发送给SOCKS5服务器。SOCKS5客户端发出的认证方式协商请求报文封装方式如下:
Figure 707032DEST_PATH_IMAGE001
其中,SOCKS5载荷1为:
Figure 230417DEST_PATH_IMAGE002
上述SOCKS5载荷1中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;NMETHODS字段指示携带的认证方式个数,占1字节;METHODS字段指示具体支持的认证方式类型,占用字节数与NMETHODS字段取值相同。
2、SOCKS5认证协商应答:SOCKS5服务器选择与客户端同时支持的认证方式中最优的一种,应答给客户端,此时双方就认证方式达成一致。如若客户端提议的所有认证方式服务器均不支持,则协商终止。SOCKS5服务器发出的认证方式协商应答报文封装方式如下:
Figure 660262DEST_PATH_IMAGE003
其中,SOCKS5载荷2为:
Figure 370729DEST_PATH_IMAGE004
上述SOCKS5载荷2中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;METHODS字段指示选用的认证方式或告知客户端没有可接受的让认证方式,占1字节。
3、SOCKS5认证请求:客户端使用双方达成一致的认证方式,向SOCKS5服务器发起认证请求。客户端发出的认证请求报文封装方式如下:
Figure 645852DEST_PATH_IMAGE005
其中,SOCKS5载荷3为:
Figure 289323DEST_PATH_IMAGE006
上述SOCKS5载荷3中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;ULEN字段指示用户名的长度,占1字节;UNAME字段指示用户名,占用字节数与ULEN字段取值相同;PLEN字段指示用户密码的长度,占1字节;PASSWD字段指示用户密码,占用字节数与PLEN字段取值相同。
4、SOCKS5认证应答:SOCKS5服务器进行认证,并反馈认证结果给客户端。如若认证失败,则协商终止。SOCKS5服务器发出的认证应答报文封装方式如下:
Figure 624489DEST_PATH_IMAGE007
其中,SOCKS5载荷4为:
Figure 946886DEST_PATH_IMAGE008
上述SOCKS5载荷4中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;STATUS字段指示认证结果,占1字节。
5、SOCKS5代理连接请求:客户端向SOCKS5服务器发起代理连接请求,其中携带有请求代理的业务连接类型,比如,可指示将承接TCP协议业务还是UDP协议业务,以及业务请求的目的地址和目的端口。客户端发出的代理连接请求报文封装方式如下:
Figure 25701DEST_PATH_IMAGE009
其中,SOCKS5载荷5为:
Figure 523678DEST_PATH_IMAGE010
上述SOCKS5载荷5中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;CMD字段指示被代理的业务连接类型,占1字节;RSV字段为保留字段,其值恒为0x0,占1字节;ATYP字段指示DST.ADDR字段的地址类型,占1字节;DST.ADDR字段指示业务请求的目的地址,字段长度为动态的(Variable),即根据ATYP取值不同而不同;DST.PORT字段指示业务请求的目的端口,占2字节。
6、SOCKS5代理连接应答:SOCKS服务器使用代理请求中的信息向后端的业务服务器发起连接,并将连接信息反馈给客户端。SOCKS5服务器发出的代理连接应答报文封装方式如下:
Figure 764167DEST_PATH_IMAGE011
其中,SOCKS5载荷6为:
Figure 714805DEST_PATH_IMAGE012
上述SOCKS5载荷6中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;REP字段指示SOCKS5代理连接成功与否的结果,占1字节;RSV字段为保留字段,其值恒为0x0,占1字节;ATYP字段指示BND.ADDR字段的地址类型,占1字节;BND.ADDR字段指示代理的业务请求的目的地址,字段长度为动态的(Variable),即根据ATYP取值不同而不同;BND.PORT字段指示代理的业务请求的目的端口,占2字节。
协议协商完成后即步骤1-6均成功的情况下,客户端与SOCKS5服务器的SOCKS5协商会话结束,进入SOCKS5业务代理过程,即代理关系已协商建立,客户端可以向业务服务器发送业务请求,该SOCKS5业务代理过程有四步:
7、业务报文:客户端发送给SOCKS5服务器,客户端发出的业务报文封装方式如下:
Figure 597311DEST_PATH_IMAGE013
8、代理后的业务报文:SOCKS5服务器发送给业务服务器,SOCKS5服务器发出的代理后的业务报文封装方式如下:
Figure 949794DEST_PATH_IMAGE014
9、代理后的业务报文回包:业务服务器发送给SOCKS5服务器,业务服务器发出的代理后的业务报文回包封装方式如下:
Figure 485818DEST_PATH_IMAGE015
10、业务报文回包:SOCKS5服务器发送给客户端,SOCKS5服务器发出的代理后的业务报文回包封装方式如下:
Figure 923753DEST_PATH_IMAGE016
客户端的业务报文流经SOCKS5服务器后,SOCKS5服务器会代理客户端的业务,代替客户端与业务服务器通信。SOCKS5既可以代理TCP业务,又可代理UDP业务。客户端将原本要发送给真正业务服务器的业务请求发送给SOCKS5服务器,SOCKS5服务器收到客户端的报文后,使用相同的传输层协议与后端真正的业务服务器间进行通信。SOCKS5服务器收到业务服务器的回包后,再转送给客户端。
上述1-10为现有SOCKS5协议代理TCP业务的工作流程。可以看出,协议协商过程先进行认证方式协商,然后进行认证,再建立代理连接,客户端与代理服务器需要往返发送数据包,从而需要有至少六个协议报文的交互,才能成功建立客户端与代理服务器的代理关系。在建立代理关系后,即在协议协商过程后才进入业务代理过程,而针对不同的业务流,每条业务流都会经历一套完整的代理建立的协议协商过程,这就导致现有技术存在过程繁琐的问题。
鉴于现有技术中代理服务器在对客户端进行协议协商时,存在过程繁琐的技术问题,本发明提供了一种协议协商方法,总体思路如下:
应用于代理服务器时,接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息;根据所述代理控制信息,进行认证方式匹配和认证信息匹配;若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器。
通过上述技术方案,简化了协议协商过程,是一种轻交互的协议协商方法,将原本的多条控制报文压缩到了一条报文中,并隐式地嵌入到业务报文交互中,实现了将代理协商过程压缩到一条报文中,直接进行协议协商和业务代理转发的效果;客户端与代理服务器间进行认证方式匹配,相比较现有的由客户端先通告能力再由代理服务器选取的方法,可以提高协商效率,降低代理关系建立的时间消耗和时延。
实施例一
参照图1的流程示意图,提出本发明协议协商方法的第一实施例,该协议协商方法应用于代理服务器。
所述代理服务器是指能够实现网络连接的设备,所述代理服务器可以是服务器、云平台等网络设备,比如SOCKS5服务器、HTTP服务器等等。
如图2所示,为代理服务器的硬件结构示意图。所述代理服务器可以包括:处理器1001,例如CPU(Central Processing Unit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。
本领域技术人员可以理解,图2中示出的硬件结构并不构成对本发明代理服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
具体的,通信总线1002用于实现这些组件之间的连接通信;
用户接口1003用于连接管理终端,与管理终端进行数据通信,用户接口1003可以包括输出单元,如显示屏、输入单元,如键盘,可选的,用户接口1003还可以包括其他输入/输出接口,比如标准的有线接口、无线接口;
网络接口1004用于连接后台服务器,与后台服务器进行数据通信,网络接口1004可以包括输入/输出接口,比如标准的有线接口、无线接口,如Wi-Fi接口;
存储器1005用于存储各种类型的数据,这些数据例如可以包括该代理服务器中任何应用程序或方法的指令,以及应用程序相关的数据,存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器,可选的,存储器1005还可以是独立于所述处理器1001的存储装置;
具体的,继续参照图2,存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序,其中,网络通信模块主要用于连接业务服务器,与业务服务器进行数据通信;
处理器1001用于调用存储器1005中存储的计算机程序,并执行以下操作:
接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息;
根据所述代理控制信息,进行认证方式匹配和认证信息匹配;
若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器。
基于上述的代理服务器,下面结合图1所示的流程示意图,对本实施例的协议协商方法进行详细描述。本实施例以SOCKS5服务器为例进行说明,所述方法可以包括以下步骤:
步骤S110:接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息。
具体的,客户端可以包括部署在不同设备上的业务客户端和代理客户端,比如,现有的业务客户端和SOCKS5客户端,即通过业务客户端发送业务请求至代理客户端,再由代理客户端发起协议协商,发送报文至代理服务器;也可以包括部署在同一个设备上的业务客户端和代理客户端,即可以自行生成业务请求并发起协议协商,再发送报文至代理服务器,具体根据实际场景选择,本实施例中,以部署在同一个设备上的业务客户端和代理客户端构成的客户端为例进行说明。
报文还包括传输头信息,报文的封装方式依次为:传输头信息、代理控制信息、业务荷载信息。客户端首次发起业务通信之际,客户端在传送业务载荷的报文中,同时携带SOCKS5协议协商请求的控制载荷,无论是UDP业务还是TCP业务,均是在传输头和业务载荷间插入一个新SOCKS5载荷,即代理控制信息。
步骤S120:根据所述代理控制信息,进行认证方式匹配和认证信息匹配。
具体的,先根据代理控制信息即新SOCKS5载荷的字段内容,进行该报文的认证方式与代理服务器预设的认证方式匹配,若匹配成功,则进一步进行认证信息匹配,也是根据新SOCKS5载荷的字段内容携带内容进行,若认证信息匹配成功,则表示客户端与代理服务器认证成功。
步骤S130:若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器。
具体的,客户端与代理服务器认证成功后,使用新SOCKS5载荷携带的连接方式,即指示是TCP协议还是UDP协议,以及携带的目的地址、目的端口向业务服务器发起代理业务连接请求。若建立连接成功,代理服务器便可将报文中携带的业务载荷转发给业务服务器,即发送代理后的报文给业务服务器,之后,业务服务器发送代理后的报文回包到代理服务器,代理服务器再发送报文回包给客户端。具体再根据和UDP协议决定是否插入SOCKS5隧道头。
本实施例提供的协议协商方法,通过接收一条客户端发送的包括代理控制信息和业务载荷信息的报文,进行认证方式匹配和认证信息匹配,若所述认证方式和所述认证信息均匹配成功,不需要反馈任何业务回包到客户端,直接根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器;本发明的方法简化了协议协商过程,是一种轻交互的协议协商方法,将原本的多条控制报文压缩到了一条报文中,并隐式地嵌入到业务报文交互中,实现了将代理协商过程压缩到一条报文中,直接进行协议协商和业务代理转发的效果;客户端与代理服务器间进行认证方式匹配,相比较现有的由客户端先通告能力再由代理服务器选取的方法,可以提高协商效率,降低代理关系建立的时间消耗和时延。
实施例二
基于同一发明构思,参照图4至图8,提出本发明协议协商方法的第二实施例,该协议协商方法应用于代理服务器,本实施例以SOCKS5服务器为例进行说明。
下面结合图4所示的流程示意图,对本实施例的协议协商方法进行详细描述。所述方法可以包括以下步骤:
步骤S110:接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息。
具体的,报文还包括传输头信息。所述代理控制信息包括代理协议版本、认证方式、认证信息、业务连接类型、目的地址类型、业务服务器地址和业务服务器端口,所述认证信息包括用户名长度、用户名、用户密码长度、用户密码。
如图5所示为SOCKS5协议代理UDP业务的工作流程交互图,本实施例以SOCKS5服务器代理UDP业务为例进行说明,客户端为部署在同一个设备上的业务客户端和代理客户端构成的客户端。
客户端首次发起业务通信之际,客户端在传送业务载荷的报文中,同时携带SOCKS5协议协商请求的控制载荷,在传输头和业务载荷间插入一个新SOCKS5载荷。本实施例的报文的封装方式为:
Figure 344370DEST_PATH_IMAGE017
其中,新SOCKS5载荷1为:
Figure 816939DEST_PATH_IMAGE018
上述新SOCKS5载荷1中,VER字段指示SOCKS协议版本,取值恒为0x5,占1字节;METHODS字段指示选用的认证方式,占1字节;ULEN字段指示用户名的长度,占1字节;UNAME字段指示用户名,占用字节数与ULEN字段取值相同;PLEN字段指示用户密码的长度,占1字节;PASSWD字段指示用户密码,占用字节数与PLEN字段取值相同;CMD字段指示被代理的业务连接类型,占1字节;RSV字段为保留字段,其值恒为0x0,占1字节;ATYP字段指示DST.ADDR字段的地址类型,占1字节;DST.ADDR字段指示业务请求的目的地址,字段长度根据ATYP取值不同而不同;DST.PORT字段指示业务请求的目的端口,占2字节。
本实施例实现了SOCKS5代理建立的协商过程与SOCKS5业务承载深度融合,代理建立的协商信息均包含在第一个业务报文的报文里。
步骤S120:根据所述代理控制信息,进行认证方式匹配和认证信息匹配。
具体的,所述步骤S120,可以包括:
步骤S121:判断所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式是否一致。
具体的,SOCKS5服务器收到报文后,首先解析出报文的代理控制信息,即新SOCKS5载荷1。根据该新SOCKS5载荷1进行认证方法匹配,使用报文中标记的认证方式进行认证。
步骤S122:若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式一致,判定认证方式匹配成功,则进一步判断所述代理控制信息中携带的认证信息是否正确。
具体的,若新SOCKS5载荷1中标记的认证方式与代理服务器预设的认证方式一致,即SOCKS5服务器支持报文中标记的认证方式,判定认证方式匹配成功,从而进一步判断新SOCKS5载荷1中携带的认证信息是否正确。
步骤S123:若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式不一致,判定认证方式匹配失败,则反馈认证方式协商应答报文给客户端,以中止协议协商,和/或
以使所述客户端更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器。
具体的,若新SOCKS5载荷1中标记的认证方式与代理服务器预设的认证方式不一致,若新SOCKS5载荷1中标记的认证方式与代理服务器预设的认证方式不支持报文中标记的认证方式,判定认证方式匹配失败,代理服务器反馈“SOCKS5认证方式协商应答报文”给客户端,以显式告知客户端认证方式未被接受,协议协商中止,如图6所示为SOCKS5协议代理UDP业务认证方式匹配失败的工作流程交互图。
可选地,客户端在收到了“SOCKS5认证方式协商应答报文”后,即可知晓代理服务器不支持当前报文标记的认证方式,从而可以另选一种认证方式重新组装携带有“新SOCKS5载荷1”的报文,并将重装后的报文发送给代理服务器,即返回步骤S110,代理服务器将继续获取报文,进行认证方式匹配,无论代理的业务是TCP业务还是UDP业务,该种情况的处理方式均相同。
步骤S124:若所述代理控制信息中携带的认证信息正确,判定认证信息匹配成功。
具体的,进一步判断新SOCKS5载荷1中携带的认证信息是否正确时,若新SOCKS5载荷1中携带的认证信息正确,判定认证信息匹配成功,即客户端认证成功,此时的状态为,认证方式支持且认证通过,从而可进一步建立代理服务器与业务服务器的连接。
步骤S125:若所述代理控制信息中携带的认证信息不正确,判定认证信息匹配失败,则反馈认证应答报文给客户端,以终止协议协商。
具体的,进一步判断新SOCKS5载荷1中携带的认证信息是否正确时,若新SOCKS5载荷1中携带的认证信息错误,判定认证信息匹配失败,即客户端认证失败,此时的状态为,认证方式支持但认证不通过,代理服务器反馈“SOCKS5认证应答报文”给客户端,以显式告知客户端认证失败,协议协商终止,无论代理的业务是TCP业务还是UDP业务,该种情况的处理方式均相同,如图7所示为SOCKS5协议代理UDP业务认证失败的工作流程交互图。
本实施例采用最优方案尝试法,取代通信双方先协商认证方式再使用达成一致认证方法。客户端直接以自身认可的最优方案发起认证,SOCKS服务器将认证结果隐式地体现在业务承载报文是否发生代理的行为中。当客户端提出的认证方式被SOCKS5服务器认可时,SOCKS5服务器无需显式地反馈匹配结果,而是通过是否正常进行后续的业务代理隐式地告知客户端认证方式已被接纳;当认证方式不被认可时,SOCKS5服务器才发送“SOCKS5认证方式协商应答”报文以显式告知客户端认证方式未被接受,并且,客户端可选地更换认证方式重试。当客户端的认证信息被SOCKS5服务器认证成功时,SOCKS5服务器无需显式地反馈认证结果,而是通过是否正常进行后续的业务代理隐式地告知客户端已认证成功;当认证失败时,SOCKS5服务器发送“SOCKS5认证应答”报文以显式告知客户端,本次协议协商终止。
步骤S130:若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器。
具体的,所述步骤S130,可以包括:
步骤S131:若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,生成代理业务连接请求发送到所述业务服务器,以建立所述代理服务器与所述业务服务器的连接。
具体的,认证方式支持且认证通过后,使用控制头中携带的连接方式,即指示是TCP协议还是UDP协议、目的地址、目的端口向业务服务器发起代理业务连接请求。
步骤S132:若所述代理服务器与所述业务服务器建立连接成功,则发送代理报文给所述业务服务器,其中,所述代理报文包括所述业务载荷信息。
具体的,若连接建立成功,则可以进行业务代理,即SOCKS5服务器将报文中的携带的业务载荷转发给后端业务服务器。
步骤S133:若所述代理服务器与所述业务服务器建立连接失败,则反馈代理连接应答报文给客户端,以终止协议协商。
具体的,若连接建立失败,代理服务器反馈“SOCKS5代理连接应答报文”给客户端,以显式告知客户端建立连接失败,协议协商终止。需要说明,只有代理的业务是TCP业务时才会存在这种可能,如图8所示为SOCKS5协议代理TCP业务建立连接失败的工作流程交互图。
在本实施例中,假设认证方式和认证信息均匹配成功,且代理服务器与业务服务器成功建立连接,此时,SOCKS5服务器发送代理后的报文给业务服务器。本实施例中,代理后的报文的封装方式如下:
Figure 399230DEST_PATH_IMAGE019
需要说明,对UDP业务代理而言,客户端向SOCKS5服务器发送的报文中由于封装的“新SOCKS5载荷1”中已包含后端业务服务器信息,因此无需再封装SOCKS隧道头。
当SOCKS5服务器与后端业务服务器建立连接成功时,SOCKS5服务器无需显式地反馈连接结果,而是通过是否正常进行后续的业务代理隐式地告知客户端连接成功,当连接失败时,SOCKS5服务器发送“SOCKS5连接请求应答”报文以显式告知客户端,本次协议协商终止。
步骤S140:接收业务服务器反馈的代理后的报文回包。
具体的,业务服务器接收到SOCKS5服务器发送的代理后的报文后,对应进行业务处理,然后反馈代理后的报文回包给SOCKS5服务器。代理后的报文回包的封装方式如下:
Figure 324461DEST_PATH_IMAGE020
步骤S150:发送报文回包给客户端。
具体的,SOCKS5服务器接收到代理后的报文回包后,转发给回包给客户端,即发送报文回包给客户端。
对于UDP业务的代理,SOCKS5协议有明确规定需要在UDP头与UDP业务载荷间封装一层SOCKS5隧道头,对于TCP业务而言则无需插入SOCKS5隧道头。本实施例中,报文回包的封装方式如下:
Figure 548769DEST_PATH_IMAGE021
其中,SOCKS5隧道头为:
Figure 203741DEST_PATH_IMAGE022
上述SOCKS5隧道头中,DST.ADDR为业务服务器的IP地址或域名,即为图5中的C;DST.PORT为业务服务器提供业务服务的UDP端口,即为图5中的c,其他字段含义参见前述描述,此处不再赘述。
需要说明,若是TCP业务,则SOCKS5服务器发送报文回包给客户端时,不需要插入SOCKS5隧道头。
本实施例提供的协议协商方法,是一种轻交互SOCKS5协议协商方法,对于客户端与SOCKS5服务器间建立SOCKS5代理的协商过程,将原本SOCKS5协议的6条控制报文交互的信息压缩到了一条报文中,并且此条控制报文信息隐式地嵌入到了业务报文交互中,完全省去了SOCKS5协商交互过程。客户端与SOCKS5服务器间认证方式达成一致的方法,不再由客户端先通告能力再由SOCKS5服务器选取,而是采用最优方案尝试法,即客户端直接以自身认可的最优方案发起认证,SOCKS代理服务器将认证结果隐式地体现在业务承载报文是否发生代理的行为中,不仅将协议协商效率提高了6倍,还大大降低了SOCKS5代理关系建立的时间消耗与SOCKS5业务代理首包处理的时延。本方法是将协商报文与业务承载隧道封装报文深度整合的新的实现方案。
实施例三
基于同一发明构思,提出本发明协议协商方法的第三实施例,该协议协商方法应用于客户端。客户端是指能够实现网络连接的终端设备,可以是手机、电脑、平板电脑、嵌入式工控机等终端设备。所述方法可以包括以下步骤:
步骤S210:发送报文给代理服务器,其中,所述报文包括代理控制信息和业务载荷信息。
进一步地,所述方法还可以包括:
步骤S220:在接收到代理服务器发送的认证方式协商应答报文时,更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器。
上述方法步骤的具体实施方式中更多实施细节可参见实施例二中具体实施方式的描述,为了说明书的简洁,此处不再重复赘述。
实施例四
基于同一发明构思,参照图9,提出本发明协议协商装置的第一实施例,该协议协商装置可以为虚拟装置,应用于代理服务器。
下面结合图9所示的功能模块示意图,对本实施例提供的协议协商装置进行详细描述,所述装置可以包括:
报文接收模块,用于接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息;
认证匹配模块,用于根据所述代理控制信息,进行认证方式匹配和认证信息匹配;
建立连接模块,用于若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器。
进一步地,所述认证匹配模块,可以包括:
认证方式匹配单元,用于判断所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式是否一致;
认证信息匹配单元,用于若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式一致,判定认证方式匹配成功,则进一步判断所述代理控制信息中携带的认证信息是否正确;
认证方式匹配失败单元,用于若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式不一致,判定认证方式匹配失败,则反馈认证方式协商应答报文给客户端,以中止协议协商,和/或
以使所述客户端更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器;
认证信息匹配成功单元,用于若所述代理控制信息中携带的认证信息正确,判定认证信息匹配成功;
认证信息匹配失败单元,用于若所述代理控制信息中携带的认证信息不正确,判定认证信息匹配失败,则反馈认证应答报文给客户端,以终止协议协商。
进一步地,所述建立连接模块,可以包括:
连接请求单元,用于根据所述代理控制信息,生成代理业务连接请求发送到所述业务服务器,以建立所述代理服务器与所述业务服务器的连接;
连接成功单元,用于若所述代理服务器与所述业务服务器建立连接成功,则发送代理报文给所述业务服务器,其中,所述代理报文包括所述业务载荷信息;
连接失败单元,用于若所述代理服务器与所述业务服务器建立连接失败,则反馈代理连接应答报文给客户端,以终止协议协商。
需要说明,本实施例提供的协议协商装置中各个模块可实现的功能和对应达到的技术效果可以参照本发明协议协商方法各个实施例中具体实施方式的描述,为了说明书的简洁,此处不再赘述。
实施例五
基于同一发明构思,提出本发明协议协商装置的第二实施例,该协议协商装置可以为虚拟装置,应用于客户端。所述装置可以包括:
报文发送模块,用于发送报文给代理服务器,其中,所述报文包括代理控制信息和业务载荷信息;和/或
报文重装模块,用于在接收到代理服务器发送的认证方式协商应答报文时,更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器。
需要说明,本实施例提供的协议协商装置中各个模块可实现的功能和对应达到的技术效果可以参照本发明协议协商方法各个实施例中具体实施方式的描述,为了说明书的简洁,此处不再赘述。
实施例六
基于同一发明构思,参照图2,为本发明各实施例涉及的代理服务器的硬件结构示意图。本实施例提供了一种代理服务器,所述代理服务器可以包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现本发明协议协商方法第一或第二实施例的全部或部分步骤。
具体的,所述代理服务器是指能够实现网络连接的设备,可以是服务器、云平台等网络设备。
可以理解,所述代理服务器还可以包括通信总线,用户接口和网络接口。
其中,通信总线用于实现这些组件之间的连接通信。
用户接口用于连接管理终端,与管理终端进行数据通信,用户接口可以包括输出单元,如显示屏、输入单元,如键盘,可选的,用户接口还可以包括其他输入/输出接口,比如标准的有线接口、无线接口。
网络接口用于连接后台服务器,与后台服务器进行数据通信,网络接口可以包括输入/输出接口,比如标准的有线接口、无线接口,如Wi-Fi接口。
存储器用于存储各种类型的数据,这些数据例如可以包括该代理服务器中任何应用程序或方法的指令,以及应用程序相关的数据。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,简称SRAM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘,可选的,存储器还可以是独立于所述处理器的存储装置。
处理器用于调用存储器中存储的计算机程序,并执行如上述的协议协商方法,处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital SignalProcessing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件,用于执行如上述协议协商方法第一或第二实施例的全部或部分步骤。
实施例七
基于同一发明构思,本实施例提供了一种客户端,所述客户端可以包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现本发明协议协商方法第三实施例的全部或部分步骤。
所述客户端是指能够实现网络连接的终端设备,可以是手机、电脑、平板电脑、便携计算机等终端设备。
可以理解,所述客户端还可以包括通信总线,用户接口和网络接口。
其中,通信总线用于实现这些组件之间的连接通信。
用户接口用于连接其他终端,进行数据通信,用户接口可以包括输出单元,如显示屏、输入单元,如键盘,可选的,用户接口还可以包括其他输入/输出接口,比如标准的有线接口、无线接口。
网络接口用于连接后台服务器,与后台服务器进行数据通信,网络接口可以包括输入/输出接口,比如标准的有线接口、无线接口,如Wi-Fi接口。
存储器用于存储各种类型的数据,这些数据例如可以包括该客户端中任何应用程序或方法的指令,以及应用程序相关的数据。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,简称SRAM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘,可选的,存储器还可以是独立于所述处理器的存储装置。
处理器用于调用存储器中存储的计算机程序,并执行如上述的协议协商方法,处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital SignalProcessing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件,用于执行如上述协议协商方法第三实施例的全部或部分步骤。
实施例八
基于同一发明构思,本实施例提供了一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,所述存储介质上存储有计算机程序,所述计算机程序可被一个或多个处理器执行,所述计算机程序被处理器执行时可以实现本发明协议协商方法各个实施例的全部或部分步骤。
需要说明,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。

Claims (10)

1.一种协议协商方法,其特征在于,应用于代理服务器,所述方法包括:
接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;
若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器;
若所述认证方式匹配失败,则反馈认证方式协商应答报文给所述客户端,以中止协议协商,使所述客户端更换认证方式,对所述报文进行重新封装;
接收所述客户端发送的重装后的报文,以继续进行协议协商。
2.如权利要求1所述的协议协商方法,其特征在于,所述根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配的步骤,具体包括:
判断所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式是否一致;
若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式一致,判定认证方式匹配成功,则进一步判断所述代理控制信息中携带的认证信息是否正确;
若所述代理控制信息中携带的认证信息正确,判定认证信息匹配成功。
3.如权利要求2所述的协议协商方法,其特征在于,所述判断所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式是否一致的步骤之后,所述方法还包括:
若所述代理控制信息中标记的认证方式与所述代理服务器预设认证方式不一致,判定认证方式匹配失败。
4.如权利要求2所述的协议协商方法,其特征在于,所述进一步判断所述代理控制信息中携带的认证信息是否正确的步骤之后,所述方法还包括:
若所述代理控制信息中携带的认证信息不正确,判定认证信息匹配失败,则反馈认证应答报文给客户端,以终止协议协商。
5.如权利要求1所述的协议协商方法,其特征在于,所述根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器的步骤,具体包括:
根据所述代理控制信息,生成代理业务连接请求发送到所述业务服务器,以建立所述代理服务器与所述业务服务器的连接;
若所述代理服务器与所述业务服务器建立连接成功,则发送代理报文给所述业务服务器,其中,所述代理报文包括所述业务载荷信息;
若所述代理服务器与所述业务服务器建立连接失败,则反馈代理连接应答报文给客户端,以终止协议协商。
6.一种协议协商方法,其特征在于,应用于客户端,所述方法包括:
发送报文给代理服务器,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
以使所述代理服务器根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;在所述认证方式和所述认证信息均匹配成功时,根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器,以及在所述认证方式匹配失败时,反馈认证方式协商应答报文,以中止协议协商;
在接收到代理服务器发送的认证方式协商应答报文时,更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器,以继续进行协议协商。
7.一种协议协商装置,其特征在于,应用于代理服务器,所述装置包括:
报文接收模块,用于接收客户端发送的报文,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
认证匹配模块,用于根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;
建立连接模块,用于若所述认证方式和所述认证信息均匹配成功,则根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器;
所述认证匹配模块,还用于若所述认证方式匹配失败,则反馈认证方式协商应答报文给所述客户端,以中止协议协商,使所述客户端更换认证方式,对所述报文进行重新封装;
所述报文接收模块,还用于接收所述客户端发送的重装后的报文,以继续进行协议协商。
8.一种协议协商装置,其特征在于,应用于客户端,所述装置包括:
报文发送模块,用于发送报文给代理服务器,其中,所述报文包括代理控制信息和业务载荷信息,所述代理控制信息包括代理协议版本、认证方式和认证信息;
以使所述代理服务器根据所述代理控制信息,同时进行认证方式匹配和认证信息匹配;在所述认证方式和所述认证信息均匹配成功时,根据所述代理控制信息,建立所述代理服务器与业务服务器的连接,以将所述业务载荷信息转发给所述业务服务器,以及在所述认证方式匹配失败时,反馈认证方式协商应答报文,以中止协议协商;
报文重装模块,用于在接收到代理服务器发送的认证方式协商应答报文时,更换认证方式,对所述报文进行重新封装,并发送重装后的报文到所述代理服务器,以继续进行协议协商。
9.一种代理服务器,其特征在于,所述代理服务器包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如权利要求1至5中任一项所述的协议协商方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序可被一个或多个处理器执行,以实现如权利要求1至6中任一项所述的协议协商方法。
CN202110701225.XA 2021-06-23 2021-06-23 协议协商方法、装置、代理服务器及存储介质 Active CN113438230B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110701225.XA CN113438230B (zh) 2021-06-23 2021-06-23 协议协商方法、装置、代理服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110701225.XA CN113438230B (zh) 2021-06-23 2021-06-23 协议协商方法、装置、代理服务器及存储介质

Publications (2)

Publication Number Publication Date
CN113438230A CN113438230A (zh) 2021-09-24
CN113438230B true CN113438230B (zh) 2022-08-30

Family

ID=77753908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110701225.XA Active CN113438230B (zh) 2021-06-23 2021-06-23 协议协商方法、装置、代理服务器及存储介质

Country Status (1)

Country Link
CN (1) CN113438230B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992354A (zh) * 2021-09-28 2022-01-28 新华三信息安全技术有限公司 一种身份验证方法、装置、设备及机器可读存储介质
CN113992357A (zh) * 2021-09-29 2022-01-28 新华三信息安全技术有限公司 一种客户端认证方法、装置、设备及机器可读存储介质
CN115052056B (zh) * 2022-04-26 2024-06-07 深圳市云伽智能技术有限公司 工业控制通信方法、装置、设备及存储介质
CN117082134A (zh) * 2022-11-29 2023-11-17 中移(杭州)信息技术有限公司 一种代理连接方法、服务器、通信系统及存储介质
CN116418863B (zh) * 2023-06-09 2023-09-15 安徽华云安科技有限公司 基于socks5透明代理的通信方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002042861A2 (en) * 2000-11-13 2002-05-30 Ecutel, Inc. System and method for secure network mobility
US7979508B1 (en) * 1999-09-23 2011-07-12 International Business Machines Corporation System and method for improving gateway transparency
CN107171786A (zh) * 2017-05-19 2017-09-15 成都极玩网络技术有限公司 网络代理账户控制方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031571A1 (en) * 2004-04-29 2006-02-09 International Business Machines Corporation Data communications through a split connection proxy
US20060075114A1 (en) * 2004-09-30 2006-04-06 Citrix Systems, Inc. In-line modification of protocol handshake by protocol aware proxy
EP1806900A1 (en) * 2006-01-05 2007-07-11 Alcatel Lucent Method for allocating network resources and mediating network element
US20080168171A1 (en) * 2007-01-08 2008-07-10 International Business Machines Corporation Method, system and computer program product for implementing a surrogate client
CN101478576B (zh) * 2008-01-03 2012-02-15 华为技术有限公司 选择服务网络的方法、装置和系统
CN101729543B (zh) * 2009-12-04 2012-10-03 同济大学 利用异地Socks5技术改善移动SSL VPN性能的方法
US9264432B1 (en) * 2011-09-22 2016-02-16 F5 Networks, Inc. Automatic proxy device configuration
CN102882865B (zh) * 2012-09-19 2015-10-28 上海美琦浦悦通讯科技有限公司 基于socks5代理协议实现多媒体代理服务控制的方法
CN105991636B (zh) * 2015-05-27 2019-04-09 杭州迪普科技股份有限公司 基于ike协议的端口协商方法及装置
US11171999B2 (en) * 2016-07-21 2021-11-09 Qualcomm Incorporated Methods and apparatus for use of compact concurrent codecs in multimedia communications
CN107770138B (zh) * 2016-08-22 2020-12-25 阿里巴巴集团控股有限公司 指定ip地址的方法及代理服务器、客户端
US20180131525A1 (en) * 2016-11-07 2018-05-10 International Business Machines Corporation Establishing a secure connection across secured environments
US10356606B2 (en) * 2017-11-14 2019-07-16 Syniverse Technologies, Llc Proxy platform for inter-operator provisioning of eSIM profiles
CN111355695B (zh) * 2018-12-24 2022-07-01 中移(杭州)信息技术有限公司 一种安全代理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979508B1 (en) * 1999-09-23 2011-07-12 International Business Machines Corporation System and method for improving gateway transparency
WO2002042861A2 (en) * 2000-11-13 2002-05-30 Ecutel, Inc. System and method for secure network mobility
CN107171786A (zh) * 2017-05-19 2017-09-15 成都极玩网络技术有限公司 网络代理账户控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于SPI的数据包过滤转发的设计与实现;袁超等;《计算机技术与发展》;20060610(第06期);全文 *

Also Published As

Publication number Publication date
CN113438230A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN113438230B (zh) 协议协商方法、装置、代理服务器及存储介质
KR100574157B1 (ko) 컴퓨터 장치, 이동 전화, 서버 컴퓨터 시스템, 컴퓨터 장치와 원격 컴퓨터 사이의 데이터 통신 방법 및 컴퓨터 판독 가능 기록 매체
CN113452686B (zh) 数据处理方法、装置、代理服务器及存储介质
JP5986654B2 (ja) ウェブソケット通信の分散エミュレーションを通してウェブアプリケーションサポートを提供する企業クライアント/サーバーシステム及び方法
US7191248B2 (en) Communication stack for network communication and routing
EP3907973A1 (en) Method for establishing communication connection and proxy server
CN102771164B (zh) 针对旧版本应用和非旧版本应用提供智能无线模块选择的方法和装置
US20050259673A1 (en) Method and system for end-to-end communication between a universal integrated circuit card and a remote entity over an IP-based wireless wide area network and the internet
CN105162883A (zh) 网络负载均衡处理系统及其方法和装置
CN106790675A (zh) 一种集群内负载均衡方法、设备和系统
CN111786867B (zh) 一种数据传输方法及服务器
US20090030917A1 (en) Multimedia messaging service-based database synchronization
US10812421B2 (en) Conveying instant messages via HTTP
EP2353258B1 (en) Client - server communications in mobile radio communications device
CN111786869B (zh) 一种服务器之间的数据传输方法及服务器
WO2005041496A1 (en) Method and devices for relayed peer-to-peer communications between terminals in mobile networks
CN114125940A (zh) 数据报文发送方法、处理方法、装置、设备及数据报文
WO2001099360A1 (en) A method of communication
CN113542395B (zh) 报文处理方法和报文处理系统
US20140177575A1 (en) Method for establishing an application session, device and corresponding notification
CN112202780B (zh) 一种基于双套接字的数据传输方法、装置、设备及介质
CN102325187A (zh) 一种整合多种功能服务的系统及方法
CN109040040B (zh) 一种信息的发送方法、装置、存储介质及电子装置
JP7031842B2 (ja) 無線通信システム及び方法
CN118158080A (zh) 基于iOS17的通讯方法、装置、电子终端及存储介质

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