一种网络协议内部代理转发方法、装置、介质及终端设备与流程

文档序号:19664348发布日期:2020-01-10 21:25阅读:149来源:国知局
一种网络协议内部代理转发方法、装置、介质及终端设备与流程

本发明涉及网络通信技术领域,尤其涉及一种网络协议内部代理转发方法、装置、介质及终端设备。



背景技术:

传统的服务端网络软件为每一种不同的网络协议提供一个访问端口,每个端口能够解析对应协议的报文格式,如http端口仅能提供http的服务请求,tcp端口仅能支持tcp的网络请求。服务端软件每增加一种网络协议的支持,都必须开放对应的端口作为服务的提供端口。每一种协议都实现在不同的端口下,给服务端带来资源的浪费;同时对于同时需要访问多种协议服务的客户端应用程序来说,带了配置的复杂度。这样的实现方式给客户端应用的开发和系统运维增大工作量,带来不便。

可见,传统的应用与服务端连接采用的是一对一的端口连接,应用需要对不同协议的端口分别进行创建连接。这样使得服务端程序需要开发多个端口以便支持不同的网络协议,而客户端应用程序需要确切知道本身所需要连接的端口,在某些特定情况下一个客户端应用程序可能需要访问服务端上的不同协议服务,这要的需求使得客户端的配置变的复杂,从而给客户端带来使用不便。



技术实现要素:

本发明提供了一种网络协议内部代理转发方法、装置、介质及终端设备,将多个协议支持在一个端口中完成,通过判断报文格式,区分所使用的协议,进行转发到不同的功能模块进行处理,以解决传统的应用与服务端连接采用一对一的端口连接方法复杂,用户使用不便利的技术问题,从而实现在同一端口上多报文协议的支持,进而实现提高用户的使用便利性。

为了解决上述技术问题,本发明实施例提供了一种网络协议内部代理转发方法,包括:

接收获取从客户端应用程序发送的请求报文;

对所述请求报文进行解析,得到报文格式;

根据所述报文格式,区分报文协议进行转发处理;

根据所述区分协议的内容进行业务处理。

作为优选方案,所述报文协议包括tcp、tls、http或https。

作为优选方案,所述区分报文协议进行转发处理,包括:

区分报文协议的报文类型,判断所述报文类型是否含有tls协议报文;

在区分报文类型后,区分报文中的数据域协议类型,根据不同的类型转发至相应的处理模块进行处理。

作为优选方案,所述区分报文中的数据域协议类型,根据不同的类型转发至相应的处理模块进行处理,包括:

判断当所述报文中的数据域采用的http协议时,转发至http模块处理;

判断当所述报文中的数据域采用的非http协议时,转发至tcp模块处理。

本发明实施例还提供了一种网络协议内部代理转发装置,包括:

报文获取模块,用于接收获取从客户端应用程序发送的请求报文;

报文解析模块,用于对所述请求报文进行解析,得到报文格式;

协议区分模块,用于根据所述报文格式,区分报文协议进行转发处理;

业务处理模块,用于根据所述区分协议的内容进行业务处理。

作为优选方案,所述报文协议包括tcp、tls、http或https。

作为优选方案,所述协议区分模块,包括:

报文判断单元,用于区分报文协议的报文类型,判断所述报文类型是否含有tls协议报文;

转发处理单元,用于在区分报文类型后,区分报文中的数据域协议类型,根据不同的类型转发至相应的处理模块进行处理。

作为优选方案,所述转发处理单元,包括:

第一处理子单元,用于判断当所述报文中的数据域采用的http协议时,转发至http模块处理;

第二处理子单元,用于判断当所述报文中的数据域采用的非http协议时,转发至tcp模块处理。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如上述任一项所述的网络协议内部代理转发方法。

本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上述任一项所述的网络协议内部代理转发方法。

相比于现有技术,本发明实施例具有如下有益效果:

本发明将多个协议支持在一个端口中完成,通过判断报文格式,区分所使用的协议,进行转发到不同的功能模块进行处理,以解决传统的应用与服务端连接采用一对一的端口连接方法复杂,用户使用不便利的技术问题,从而实现在同一端口上多报文协议的支持,进而实现提高用户的使用便利性。

附图说明

图1:为本发明网络协议内部代理转发方法的技术原理图;

图2:为本发明网络协议内部代理转发方法的步骤流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明技术方案中:tcp:传输控制协议(transmissioncontrolprotocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。tls:传输层安全性协议(transportlayersecurity),其前身是安全套接层(securesocketslayer,缩写作ssl)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。http:超文本传输协议(hypertexttransferprotocol),是一个基于请求与响应,无状态的,应用层的协议,常基于tcp/ip协议传输数据,互联网上应用最为广泛的一种网络协议。https:超文本传输安全协议(hypertexttransferprotocolsecure),是一种通过计算机网络进行安全通信的传输协议,经由http进行通信,利用ssl/tls建立全信道,加密数据包。端口复用:在系统已开放的端口上进行通讯,只对输入的信息进行字符匹配,不对网络数据进行任何拦截、复制类操作,所以对网络数据的传输性能丝毫不受影响。

请参照图1和图2,本发明优选实施例提供了一种网络协议内部代理转发方法,包括:

s1,接收获取从客户端应用程序发送的请求报文;在本实施例中,所述报文协议包括tcp、tls、http或https。

s2,对所述请求报文进行解析,得到报文格式;

s3,根据所述报文格式,区分报文协议进行转发处理;

在本实施例中,所述步骤s3包括:s31,区分报文协议的报文类型,判断所述报文类型是否含有tls协议报文;s32,在区分报文类型后,区分报文中的数据域协议类型,根据不同的类型转发至相应的处理模块进行处理。

在本实施例中,所述步骤s32包括:s321,判断当所述报文中的数据域采用的http协议时,转发至http模块处理;s322,判断当所述报文中的数据域采用的非http协议时,转发至tcp模块处理。

具体地:

a,报文含有tls协议报文进行tls解包,根据解包后得到数据域,区别报文中数据域采用的协议进行转发c或d流程;

b,报文无tls协议报文,区别报文中数据域采用的协议进行转发c或d流程;

c,报文中数据域采用的http协议,则转发至http模块处理;

d,报文中数据域非http协议报文,则转发至tcp模块处理。

s4,根据所述区分协议的内容进行业务处理。

下面结合具体实施例,对本发明技术方案进行详细说明。

实施例一,客户端应用程序向服务端发送含有tls域的采用https协议的报文;

则会经过以下步骤:

1、客户端应用程序发送请求https报文;

2、服务端应用程序接收到报文后,解析报文;

3、服务端应用程序根据报文格式,区分协议进行转发;

具体为:报文含有tls协议报文进行tls解包,解包后区别报文中数据域是采用http协议的报文;报文中数据域采用的http协议,则转发至http模块处理;

4、服务端应用程序进行业务处理。

实施例二,客户端应用程序向服务端发送tcp报文,不含有tls域的报文;

则会经过以下步骤:

1、客户端应用程序发送请求tcp报文;

2、服务端应用程序接收到报文后,解析报文;

3、服务端应用程序根据报文格式,区分协议进行转发;

具体地:报文无tls协议报文,区别报文中数据域是采用非http协议报文;报文中数据域非http协议报文,则转发至tcp模块处理;

4、服务端应用程序进行业务处理。

实施例三,客户端应用程序向服务端发送http报文,不含有tls域的报文;

则会经过以下步骤:

1、客户端应用程序发送请求http报文;

2、服务端应用程序接收到报文后,解析报文;

3、服务端应用程序根据报文格式,区分协议进行转发;

具体地,报文无tls协议报文,区别报文中数据域是采用http协议报文;报文中数据域采用的http协议,则转发至http模块处理;

4、服务端应用程序进行业务处理。

本发明技术实现的是将多个协议支持在一个端口中完成,应用程序只有知道服务端一个端口信息,就可以往这个端口发送不同协议的信息,服务端判断信息格式,区分所使用的协议,进行转发到不同的功能原始套接字端口进行处理。

本发明的优点在于:

1、在同一网络端口提供不同网络协议(tcp、tls、http)的网络服务,实现了网络端口的复用。

2、采用代理模式实现,通过外部端口网络代理对接收到的报文进行解析,从而转发给内部不同协议上的端口,这样的实现方式简化了实现,同时更有利于对老系统的扩展。

本发明实施例还提供了一种网络协议内部代理转发装置,包括:

报文获取模块,用于接收获取从客户端应用程序发送的请求报文;在本实施例中,所述报文协议包括tcp、tls、http或https。

报文解析模块,用于对所述请求报文进行解析,得到报文格式;

协议区分模块,用于根据所述报文格式,区分报文协议进行转发处理;

在本实施例中,所述协议区分模块,包括:报文判断单元,用于区分报文协议的报文类型,判断所述报文类型是否含有tls协议报文;转发处理单元,用于在区分报文类型后,区分报文中的数据域协议类型,根据不同的类型转发至相应的处理模块进行处理。

在本实施例中,所述转发处理单元,包括:第一处理子单元,用于判断当所述报文中的数据域采用的http协议时,转发至http模块处理;第二处理子单元,用于判断当所述报文中的数据域采用的非http协议时,转发至tcp模块处理。

业务处理模块,用于根据所述区分协议的内容进行业务处理。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一实施例所述的网络协议内部代理转发方法。

本发明实施例还提供了一种终端设备,所述终端设备包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一实施例所述的网络协议内部代理转发方法。

优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序、计算机程序),所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器也可以是任何常规的处理器,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接所述终端设备的各个部分。

所述存储器主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡和闪存卡(flashcard)等,或所述存储器也可以是其他易失性固态存储器件。

需要说明的是,上述终端设备可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,上述终端设备仅仅是示例,并不构成对终端设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1