CN113783957A - 一种网络端口复用方法、系统、设备及存储介质 - Google Patents
一种网络端口复用方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113783957A CN113783957A CN202111064426.XA CN202111064426A CN113783957A CN 113783957 A CN113783957 A CN 113783957A CN 202111064426 A CN202111064426 A CN 202111064426A CN 113783957 A CN113783957 A CN 113783957A
- Authority
- CN
- China
- Prior art keywords
- protocol
- identification code
- request
- tcp
- session
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000012795 verification Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 11
- 230000006872 improvement Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 102100036402 DAP3-binding cell death enhancer 1 Human genes 0.000 description 1
- 101000929221 Homo sapiens DAP3-binding cell death enhancer 1 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络端口复用方法、系统、设备及存储介质,该方法包括:接收TCP连接请求;检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;根据所述协议类型创建相应的协议处理器;所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。本发明实现了多种网络传输协议共享同一个TCP服务端口,节省代理服务器的网络通讯资源。
Description
技术领域
本发明属于数据处理技术领域,具体是一种网络端口复用方法、系统、设备及存储介质。
背景技术
在网络服务器的设计和实现中,一般为每个网络通讯端口定义一种应用层的通讯协议。但在代理服务器的设计中,需要支持多种网络传输协议,如果为每种协议提供一个端口,则可能需要在代理服务器上启动2~3个网络服务器来实现,这对于代理服务器是一种很大的资源浪费。为此,亟需一种单端口多协议支持的网络报文处理方法来解决该问题。
发明内容
为了解决上述问题,本发明提供了一种网络端口复用方法、系统、设备及存储介质,解决了多种网络传输协议共享同一个传输控制协议(Transmission ControlProtocol,简称TCP)服务端口的问题。
本发明采用如下技术方案来实现的:
一种网络端口复用方法,包括以下步骤:
接收TCP连接请求;
检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
一种网络端口复用方法,包括以下步骤:
接收TCP连接请求;
检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
根据所述协议类型创建相应的协议处理器;
所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
作为本发明的进一步改进,所述接收TCP连接请求为:
用一个线程监听一个TCP服务端口,接收TCP连接请求。
作为本发明的进一步改进,所述接收TCP连接请求具体包括:
当所述线程监听到有TCP连接请求接入时,为所述TCP连接请求分配一个唯一的连接标识码,并创建一个会话对象放入连接池;同时将所述会话对象纳入异步IO事件监听范围,则TCP通道处于就绪状态。
作为本发明的进一步改进,所述检索请求报文的协议标识码具体为:
POLLIN事件发生时,读取所述会话对象的第一次数据,依次按行检索第一次数据中前面几个字节是否包含程序中预定义的协议标识码;所述协议标识码是指能够初步区分报文数据采用的网络协议的几个字节。
作为本发明的进一步改进,所述根据协议标识码初步识别协议类型具体包括:
如果协议标识码是TCP自定义协议类型,则初步判断所述协议类型为自定义协议,升级会话为TCP自定义协议,则TCP通道处于就绪状态;
如果协议标识码属于HTTP的请求方法类型并满足HTTP请求报文的请求行规则,则初步判断所述协议类型为HTTP协议,会话升级为HPPT协议,则HTTP通道处于就绪状态;
如果协议标识码是TLS的ClientHello握手消息类型,则初步判断协议类型为TLS1.2协议,所述会话升级为TLS1.2协议,则TLS通道处于就绪状态。
作为本发明的进一步改进,所述根据后续握手成功后接收到的数据报文进一步识别协议类型,具体包括:
如果会话已升级为TLS1.2协议,则根据TLS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果所述协议标识码属于HTTP的请求方法类型并满足HTTP请求报文的请求行规则,判断所述协议类型为HTTPS协议,所述会话升级为HPPTS协议;
如果协议标识码属于TCP自定义协议类型,则判断所述协议类型为TCP自定义加密协议,所述会话升级为TCP自定义加密协议;
如果会话已升级为HTTP/HTTPS协议,则根据HTTP/HTTPS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果协议标识码符合RFC6455规范,则判定所述协议类型为WS/WSS协议,所述会话升级为WS/WSS协议,则WebSocket/WebSocket TLS通道处于就绪状态。
作为本发明的进一步改进,所述并返回响应数据包后还包括:
客户报文请求处理完成后,判断是否要断开连接;
若是,则断开连接,若否,则返回所述协议处理器接收后续数据包进行有效性验证。
一种网络端口复用系统,包括:
请求接收单元,用于接收TCP连接请求;
协议类型识别单元,用于检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
处理器创建单元,用于根据所述协议类型创建相应的协议处理器;
报文请求处理单元,用于所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述网络端口复用方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述网络端口复用方法的步骤。
本发明的有益效果体现在:
本发明通过多次检索请求报文的协议标识码,判定请求的传输协议类型,根据协议类型将请求分发到不同的协议处理器,完成客户请求的响应,实现了多种网络传输协议共享同一个TCP服务端口,节省代理服务器的网络通讯资源。本发明实现了多种网络传输协议共享同一个TCP服务端口,节省代理服务器的网络通讯资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明网络端口复用流程图;
图2是本发明实施例的基本流程示意图;
图3为本发明实施例识别协议类型流程示意图;
图4为本发明优选实施例网络端口复用系统结构示意图;
图5为本发明优选实施例电子设备结构示意图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
相关简称说明:
UCID,连接标识码;
TCP,传输控制协议(Transmission Control Protocol,简称TCP);
Request Line,HTTP请求报文的请求行;
ClientHello握手消息,为客户发送服务器信息。
结合图1所示,本发明第一个目的是提供一种网络端口复用方法,包括:
接收TCP连接请求;
检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
根据所述协议类型创建相应的协议处理器;
所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
本发明通过识别协议类型创建协议处理器,根据创建的处理器对报文请求进行处理,实现了多种网络传输协议共享同一个TCP服务端口,节省代理服务器的网络通讯资源。
如图2-3所示,本发明提供一种网络端口复用的方法,包括以下步骤:
步骤1:用一个线程监听一个TCP服务端口,接收TCP连接请求;
当所述线程监听到有TCP连接请求接入时,为该TCP连接请求分配一个唯一的连接标识码,并创建一个会话对象放入连接池;同时将该会话对象纳入异步IO事件监听范围,TCP通道处于就绪状态;
步骤2:检索请求报文的协议标识码;
当POLLIN事件发生,读取该会话的第一次数据,依次按行检索前面几个字节是否包含程序中预定义的协议标识码,检索成功则进行下一步,否则继续检索下一行数据。
所述协议标识码指的是能够初步区分报文数据采用的网络协议的几个字节。
比如:集合{“GET[space]”、“POST”、“HEAD”、“PUT[space]”、“DELE”、“TRAC”、“CONN”、“OPTI”}中的成员,是HTTP协议请求方法类型,这些字节就可以作为HTTP协议的协议标识码预设在检索程序中;
再比如“ClientHello”是TLS客户端发送的握手消息类型,则“ClientHello”可以作为TLS协议的协议标识码预设在检索程序中。
步骤3、根据协议标识码初步识别协议类型;
如果协议标识码是TCP自定义协议类型,则初步判断该协议类型为自定义协议,升级该会话为TCP自定义协议,TCP通道处于就绪状态;
如果协议标识码属于HTTP的请求方法类型并满足Request Line规则,则初步判断该协议类型为HTTP协议,该会话升级为HPPT协议,HTTP通道处于就绪状态;
如果协议标识码是TLS的ClientHello握手消息类型,则初步判断该协议类型为TLS1.2协议,该会话升级为TLS1.2协议,TLS通道处于就绪状态。
步骤4:根据后续握手成功后接收到的数据报文,在初步识别的协议类型基础上进一步识别协议类型;
如果会话已升级为TLS1.2协议,则根据TLS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果协议标识码属于HTTP的请求方法类型并满足请求行Request Line规则,判断该协议类型为HTTPS协议,该会话升级为HPPTS协议;如果协议标识码属于TCP自定义协议类型,则判断该协议类型为TCP自定义加密协议,该会话升级为TCP自定义加密协议;
如果会话已升级为HTTP/HTTPS协议,则根据HTTP/HTTPS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果协议标识码符合RFC6455规范,则判定协议类型为WS/WSS协议,该会话升级为WS/WSS协议,WebSocket/WebSocket TLS通道处于就绪状态。
步骤5:根据协议类型创建相应的协议处理器;
步骤6:协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求;
进行有效性验证具体包括:
如果有效,则解析数据包;如果无效,则断开连接。
步骤7:协议处理器向客户端返回响应数据包;
步骤8:客户报文处理完成后,断开连接。
在本发明所提供的实施例中,应该理解到,所揭露的设备,装置和方法,用于以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时用于以有另外的划分方式;所述作为分离部件说明的模块用于以是或者也用于以不是物理上分开的,作为模块显示的部件用于以是或者也用于以不是物理单元,即用于以位于一个地方,或者也用于以分布到多个网络单元上。用于以根据实际的需要选择其中的部分或者全部模块来实现本实施例方法的目的。
如图4所示,本发明的另一目的在于提出一种网络端口复用系统,包括:
请求接收单元,用于接收TCP连接请求;
协议类型识别单元,用于检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
处理器创建单元,用于根据所述协议类型创建相应的协议处理器;
报文请求处理单元,用于所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
所述请求接收单元具体用于:
当所述线程监听到有TCP连接请求接入时,为所述TCP连接请求分配一个唯一的连接标识码,并创建一个会话对象放入连接池;同时将所述会话对象纳入异步IO事件监听范围,则TCP通道处于就绪状态。
所述协议类型识别单元中所述检索请求报文的协议标识码具体用于:
POLLIN事件发生时,读取所述会话对象的第一次数据,依次按行检索第一次数据中前面几个字节是否包含程序中预定义的协议标识码;所述协议标识码是指能够初步区分报文数据采用的网络协议的几个字节。
所述协议类型识别单元中所述根据协议标识码初步识别协议类型具体用于:
如果协议标识码是TCP自定义协议类型,则初步判断所述协议类型为自定义协议,升级会话为TCP自定义协议,则TCP通道处于就绪状态;
如果协议标识码属于HTTP的请求方法类型并满足HTTP请求报文的请求行规则,则初步判断所述协议类型为HTTP协议,会话升级为HPPT协议,则HTTP通道处于就绪状态;
如果协议标识码是TLS的ClientHello握手消息类型,则初步判断协议类型为TLS1.2协议,所述会话升级为TLS1.2协议,则TLS通道处于就绪状态。
所述协议类型识别单元中所述根据后续握手成功后接收到的数据报文进一步识别协议类型,具体用于:
如果会话已升级为TLS1.2协议,则根据TLS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果所述协议标识码属于HTTP的请求方法类型并满足HTTP请求报文的请求行规则,判断所述协议类型为HTTPS协议,所述会话升级为HPPTS协议;
如果协议标识码属于TCP自定义协议类型,则判断所述协议类型为TCP自定义加密协议,所述会话升级为TCP自定义加密协议;
如果会话已升级为HTTP/HTTPS协议,则根据HTTP/HTTPS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果协议标识码符合RFC6455规范,则判定所述协议类型为WS/WSS协议,所述会话升级为WS/WSS协议,则WebSocket/WebSocket TLS通道处于就绪状态。
如图5所示,本发明第三个目的是提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述网络端口复用方法的步骤。
所述网络端口复用方法包括以下步骤:
接收TCP连接请求;
检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
根据所述协议类型创建相应的协议处理器;
所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
本发明第四个目的是提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述网络端口复用方法的步骤。
所述网络端口复用方法包括以下步骤:
接收TCP连接请求;
检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
根据所述协议类型创建相应的协议处理器;
所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明所提供的实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方法的目的。
另对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方法而非限制,最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种网络端口复用方法,其特征在于,包括以下步骤:
接收TCP连接请求;
检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
根据所述协议类型创建相应的协议处理器;
所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
2.根据权利要求1所述的网络端口复用方法,其特征在于,
所述接收TCP连接请求为:
用一个线程监听一个TCP服务端口,接收TCP连接请求。
3.根据权利要求2所述的网络端口复用方法,其特征在于,
所述接收TCP连接请求具体包括:
当所述线程监听到有TCP连接请求接入时,为所述TCP连接请求分配一个唯一的连接标识码,并创建一个会话对象放入连接池;同时将所述会话对象纳入异步IO事件监听范围,则TCP通道处于就绪状态。
4.根据权利要求3所述的网络端口复用方法,其特征在于,
所述检索请求报文的协议标识码具体为:
POLLIN事件发生时,读取所述会话对象的第一次数据,依次按行检索第一次数据中前面几个字节是否包含程序中预定义的协议标识码;所述协议标识码是指能够初步区分报文数据采用的网络协议的几个字节。
5.根据权利要求1所述的网络端口复用方法,其特征在于,
所述根据协议标识码初步识别协议类型具体包括:
如果协议标识码是TCP自定义协议类型,则初步判断所述协议类型为自定义协议,升级会话为TCP自定义协议,则TCP通道处于就绪状态;
如果协议标识码属于HTTP的请求方法类型并满足HTTP请求报文的请求行规则,则初步判断所述协议类型为HTTP协议,会话升级为HPPT协议,则HTTP通道处于就绪状态;
如果协议标识码是TLS的ClientHello握手消息类型,则初步判断协议类型为TLS1.2协议,所述会话升级为TLS1.2协议,则TLS通道处于就绪状态。
6.根据权利要求5所述的网络端口复用方法,其特征在于,
所述根据后续握手成功后接收到的数据报文进一步识别协议类型,具体包括:
如果会话已升级为TLS1.2协议,则根据TLS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果所述协议标识码属于HTTP的请求方法类型并满足HTTP请求报文的请求行规则,判断所述协议类型为HTTPS协议,所述会话升级为HPPTS协议;
如果协议标识码属于TCP自定义协议类型,则判断所述协议类型为TCP自定义加密协议,所述会话升级为TCP自定义加密协议;
如果会话已升级为HTTP/HTTPS协议,则根据HTTP/HTTPS通道处于就绪状态后第一次收到的数据报文继续检索协议标识码,如果协议标识码符合RFC6455规范,则判定所述协议类型为WS/WSS协议,所述会话升级为WS/WSS协议,则WebSocket/WebSocket TLS通道处于就绪状态。
7.根据权利要求1所述的网络端口复用方法,其特征在于,
所述并返回响应数据包后还包括:
客户报文请求处理完成后,判断是否要断开连接;
若是,则断开连接,若否,则返回所述协议处理器接收后续数据包进行有效性验证。
8.一种网络端口复用系统,其特征在于,包括:
请求接收单元,用于接收TCP连接请求;
协议类型识别单元,用于检索请求报文的协议标识码,根据协议标识码初步识别协议类型,根据后续握手成功后接收到的数据报文进一步识别协议类型;
处理器创建单元,用于根据所述协议类型创建相应的协议处理器;
报文请求处理单元,用于所述协议处理器接收后续数据包进行有效性验证,解析数据包并处理客户报文请求,并返回响应数据包。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述网络端口复用方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述网络端口复用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064426.XA CN113783957B (zh) | 2021-09-10 | 一种网络端口复用方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064426.XA CN113783957B (zh) | 2021-09-10 | 一种网络端口复用方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113783957A true CN113783957A (zh) | 2021-12-10 |
CN113783957B CN113783957B (zh) | 2024-07-09 |
Family
ID=
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114051060A (zh) * | 2022-01-11 | 2022-02-15 | 深圳市明源云科技有限公司 | 多协议共享端口代理转发方法、装置、设备及存储介质 |
CN114598755A (zh) * | 2022-02-23 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 网络协议启动顺序控制方法、装置、设备和存储介质 |
CN114900427A (zh) * | 2022-04-29 | 2022-08-12 | 网宿科技股份有限公司 | 端口复用方法、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288225B1 (en) * | 2013-04-17 | 2016-03-15 | Ca, Inc. | Server port sharing based on shared socket |
CN109889521A (zh) * | 2019-02-21 | 2019-06-14 | 北京航星永志科技有限公司 | 存储器、通信通道复用实现方法、装置和设备 |
CN110677432A (zh) * | 2019-10-14 | 2020-01-10 | 广州江南科友科技股份有限公司 | 一种网络协议内部代理转发方法、装置、介质及终端设备 |
US20200329074A1 (en) * | 2019-04-11 | 2020-10-15 | Netapp, Inc. | Methods for demultiplexing services over ports and devices thereof |
CN113242250A (zh) * | 2021-05-19 | 2021-08-10 | 苏州瑞立思科技有限公司 | 一种多路复用协议及传输方法 |
CN113328877A (zh) * | 2021-05-06 | 2021-08-31 | 北京天空卫士网络安全技术有限公司 | 一种端口协议的确定方法和装置 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288225B1 (en) * | 2013-04-17 | 2016-03-15 | Ca, Inc. | Server port sharing based on shared socket |
CN109889521A (zh) * | 2019-02-21 | 2019-06-14 | 北京航星永志科技有限公司 | 存储器、通信通道复用实现方法、装置和设备 |
US20200329074A1 (en) * | 2019-04-11 | 2020-10-15 | Netapp, Inc. | Methods for demultiplexing services over ports and devices thereof |
CN110677432A (zh) * | 2019-10-14 | 2020-01-10 | 广州江南科友科技股份有限公司 | 一种网络协议内部代理转发方法、装置、介质及终端设备 |
CN113328877A (zh) * | 2021-05-06 | 2021-08-31 | 北京天空卫士网络安全技术有限公司 | 一种端口协议的确定方法和装置 |
CN113242250A (zh) * | 2021-05-19 | 2021-08-10 | 苏州瑞立思科技有限公司 | 一种多路复用协议及传输方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114051060A (zh) * | 2022-01-11 | 2022-02-15 | 深圳市明源云科技有限公司 | 多协议共享端口代理转发方法、装置、设备及存储介质 |
CN114598755A (zh) * | 2022-02-23 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 网络协议启动顺序控制方法、装置、设备和存储介质 |
CN114598755B (zh) * | 2022-02-23 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 网络协议启动顺序控制方法、装置、设备和存储介质 |
CN114900427A (zh) * | 2022-04-29 | 2022-08-12 | 网宿科技股份有限公司 | 端口复用方法、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747093B2 (en) | Device driver aggregation in operating system deployment | |
CN112000355A (zh) | 用于固件升级的方法及装置、家电设备 | |
CN113157466A (zh) | 一种消息推送方法、装置、系统、电子设备和存储介质 | |
CN106571942B (zh) | 配置数据更新方法、客户端和服务器 | |
CN111258602A (zh) | 信息更新方法和装置 | |
CN112883011A (zh) | 实时数据处理方法和装置 | |
CN113342503B (zh) | 实时进度反馈方法、装置、设备及存储介质 | |
CN111161072A (zh) | 基于区块链的随机数生成方法、设备及存储介质 | |
CN109787963A (zh) | 业务办理方法、装置、计算机设备和存储介质 | |
CN108093048B (zh) | 一种用于获取应用交互数据的方法与装置 | |
CN113630418A (zh) | 一种网络服务识别方法、装置、设备及介质 | |
CN108833541A (zh) | 一种识别终端信息的方法及装置 | |
CN113783957A (zh) | 一种网络端口复用方法、系统、设备及存储介质 | |
CN113783957B (zh) | 一种网络端口复用方法、系统、设备及存储介质 | |
EP2690560A2 (en) | Method of benchmarking the behaviour of a replacement information system with the old system | |
EP2724489B1 (en) | Validating download success | |
CN114490100A (zh) | 一种消息队列遥测传输负载均衡方法、装置及服务器 | |
CN107026789B (zh) | 一种会话用户追踪的方法和装置 | |
CN105516319A (zh) | 管理http报文的方法和装置 | |
CN112333262A (zh) | 数据更新提示方法、装置、计算机设备及可读存储介质 | |
CN114363204A (zh) | 请求监控方法、网络设备及存储介质 | |
CN104281476B (zh) | 一种用于计算机系统的数据下载方法及其数据下载管理器 | |
CN113778709A (zh) | 接口调用方法、装置、服务器及存储介质 | |
CN110636114A (zh) | 一种客服接入方法及接入系统、业务系统、云平台 | |
CN114598561B (zh) | 群应用管理方法、装置、设备、存储介质及程序产品 |
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 |