CN113794788B - 网关导流方法、系统、装置、设备、存储介质及产品 - Google Patents
网关导流方法、系统、装置、设备、存储介质及产品 Download PDFInfo
- Publication number
- CN113794788B CN113794788B CN202111073362.XA CN202111073362A CN113794788B CN 113794788 B CN113794788 B CN 113794788B CN 202111073362 A CN202111073362 A CN 202111073362A CN 113794788 B CN113794788 B CN 113794788B
- Authority
- CN
- China
- Prior art keywords
- port
- public network
- linked list
- access information
- logical address
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本公开提供了网关导流方法、系统、装置、设备、存储介质及产品,涉及计算机技术领域中的云计算领域。具体方案为:响应于任一内网用户设备发送的外网访问请求,获取内网用户设备对应的内网访问信息;根据预设选择策略,确定内网访问信息对应的公网逻辑地址以及端口链表标识;利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值;端口链表标识用于标识多个公网端口的取值组成的端口链表;基于节点标识值,将内网访问信息以及端口链表标识发送至目标网关节点,用于指示目标网关节点将内网访问信息转换为对应的外网访问信息,以将外网访问信息发送至外网服务器。本公开技术方案提高了内网向外网的访问处理效率。
Description
技术领域
本公开涉及计算机技术领域中的云计算领域,尤其涉及一种网关导流方法、系统、装置、设备、存储介质及产品。
背景技术
网络地址转换(英文为:Network Address Translation,简称为:NAT)网关可以把内网用户的内网网际互连协议(英文为:Internet Protocol,简称为:IP)地址转换为公网IP地址,为内网用户提供访问公网的能力。在内网用户数量较多时,可以通过源网络地址转换(英文为:Source Network Address Translation,简称为:SNAT)技术实现多个内网IP地址到一个公网IP地址的转换。在转换过程中需要创建会话对象(英文为:Session)以便于区别不同访问请求,在获取到反馈数据时,通过Session将反馈数据发送至发起相应访问请求的内网用户。为了提高SNAT的处理容量,通常可以采用分布式SNAT网关,实现内网IP地址与公网IP地址的相互转换。
但是,SANT网关由于网关节点较多,因此,存在同一条信息流的出向/入向信息不能命中同一个Session的现象,需要信息导流,现有的导流方案并不能实现均匀导流,导致外网的访问处理效率较低。
发明内容
本公开提供了一种用于对分布式网关进行导流的网关导流方法、系统、装置、设备、存储介质及产品。
根据本公开的第一方面,提供了一种网关导流方法,应用于分布式网关中任意一个第一网关节点,所述方法包括:
响应于任一内网用户设备发送的外网访问请求,获取所述内网用户设备对应的内网访问信息;
根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识;
利用所述公网逻辑地址以及端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
基于所述节点标识值,将所述内网访问信息以及所述端口链表标识发送至所述目标网关节点,用于指示所述目标网关节点将所述内网访问信息转换为对应的外网访问信息,以将所述外网访问信息发送至外网服务器。
根据本公开的第二方面,提供了一种网关导流方法,应用于分布式网关中的目标网关节点,所述方法包括:
接收第一网关节点发送的内网访问信息以及端口链表标识;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
确定所述内网访问信息对应的公网逻辑地址;
根据所述端口链表标识,确定公网端口值;
基于所述公网逻辑地址以及所述公网端口值,将所述内网访问信息转换为外网访问信息并发送至所述外网服务器,用于指示外网服务器基于所述外网访问信息中的公网逻辑地址以及所述公网端口值,生成反馈数据对应的外网反馈信息;
其中,所述公网逻辑地址以及所述端口链表标识由所述分布式网关中的第一网关节点获取内网用户设备提供的内网访问信息时为所述内网访问信息根据预设选择策略确定的;所述目标网关节点由所述分布式网关中的第一网关节点利用所述公网逻辑地址以及所述端口链表标识计算获得的节点标识值确定。
根据本公开的第三方面,提供了一种网关导流方法,应用于分布式网关中任意一个第二网关节点,所述方法包括:
获取外网服务器提供的外网访问信息对应的外网反馈信息;所述外网访问信息由所述分布式网关中的目标网关节点基于公网逻辑地址以及公网端口值将内网访问信息转换获得;所述公网逻辑地址由所述目标网关节点基于所述内网访问信息确定;所述公网端口值由所述目标网关节点根据端口链表标识确定;所述端口链表标识由所述分布式网关的第一网关节点根据预设选择策略确定并提供给所述目标网关节点;
确定所述公网端口值所在端口链表的所述端口链表标识;
利用所述公网逻辑地址以及所述端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;
基于所述节点标识值,将所述外网反馈信息以及所述端口链表标识发送至所述目标网关节点,用于指示所述目标网关节点将所述外网反馈信息转换为内网反馈信息,以发送至所述内网用户设备。
根据本公开的第四方面,提供了一种网关导流系统,包括分布式网关以及分别与所述分布式网关建立网络连接的内网用户设备以及外网服务器;所述分布式网关包括至少一个网关节点;
所述内网用户设备用于:向所述分布式网关中的第一网关节点发送内网用户提供的外网访问请求;
所述分布式网关中的第一网关节点用于:响应于所述内网用户设备发送的所述外网访问请求,获取所述内网用户设备对应的内网访问信息;根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识;利用所述公网逻辑地址以及所述端口链表标识,计算目标网关节点的节点标识值;基于所述节点标识值,将所述内网访问信息以及所述端口链表标识发送至所述目标网关节点;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
所述分布式网关的目标网关节点用于:接收第一网关节点发送的内网访问信息以及所述端口链表标识;确定所述内网访问信息对应的公网逻辑地址;根据所述端口链表标识,确定公网端口值;基于所述公网逻辑地址以及所述公网端口值,将所述外网访问信息转换为外网访问信息并发送至所述外网服务器;
所述外网服务器用于:反馈所述外网访问信息对应的外网反馈信息。
根据本公开的第五方面,提供了一种网关导流装置,配置于分布式网关中任一个第一网关节点,所述装置包括:
第一响应单元,用于响应于任一内网用户设备发起的外网访问请求,获取所述内网用户设备对应的内网访问信息;
端口选择单元,用于根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识;
节点计算单元,用于利用所述公网逻辑地址以及端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
第一发送单元,用于基于所述节点标识值,将所述内网访问信息以及所述端口链表标识发送至所述目标网关节点,用于指示所述目标网关节点基将所述内网访问信息转换为所述公网逻辑地址对应的外网访问信息,以将所述外网访问信息发送至外网服务器。
根据本公开的第六方面,提供了一种网关导流装置,配置于分布式网关中目标网关节点,所述装置包括:
信息接收单元,用于接收第一网关节点发送的内网访问信息以及端口链表标识;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
第一确定单元,用于确定所述内网访问信息对应的所述公网逻辑地址;
第二确定单元,用于根据所述端口链表标识,确定公网端口值;
第二发送单元,用于基于所述公网逻辑地址以及所述公网端口值,将所述内网访问信息转换为外网访问信息并发送至所述外网服务器,用于指示所述外网服务器基于所述外网访问信息中的公网逻辑地址以及所述公网端口值,生成反馈数据对应的外网反馈信息;
其中,所述公网逻辑地址以及所述端口链表标识由所述分布式网关中的第一网关节点获取内网用户设备提供的内网访问信息时为所述内网访问信息根据预设选择策略确定的;所述目标网关节点由所述分布式网关中的第一网关节点利用所述公网逻辑地址以及所述端口链表标识计算节点标识值确定。
根据本公开的第七方面,提供了一种网关导流装置,配置于分布式网关中第二网关节点,所述装置包括:
信息获取单元,用于获取外网服务器提供的外网访问信息对应的外网反馈信息;其中,所述外网访问信息由所述分布式网关中的目标网关节点基于公网逻辑地址以及公网端口值将内网访问信息转换获得;所述公网逻辑地址由所述目标网关节点基于所述内网访问信息确定;所述公网端口值由所述目标网关节点根据端口链表标识确定;所述端口链表标识由所述分布式网关的第一网关节点根据预设选择策略确定并提供给所述目标网关节点;
标识确定单元,用于确定所述公网端口值所在端口链表的所述端口链表标识;
标识计算单元,用于利用所述公网逻辑地址以及所述端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;
第三发送单元,用于基于所述节点标识值,将所述外网反馈信息发送至所述目标网关节点,用于指示所述目标网关节点将所述外网反馈信息转换为内网反馈信息,以发送至所述内网用户设备。
根据本公开的第八方面,提供了一种网关节点设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面、第二方面或者第三方面中任一项所述的方法。
根据本公开的第九方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面、第二方面或者第三方面中任一项所述的方法。
根据本公开的第十方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面、第二方面或者第三方面中任一项所述的方法。
根据本公开的技术解决了不能实现有效导流,导致访问处理效率过低的问题,通过公网逻辑地址以及端口链表标识,确定目标网关节点,通过计算端口链表标识以及公网逻辑地址计算目标网关节点的节点标识,实现对执行NAT转换的节点的选择,完成对信息流的引流。将访问请求引流到目标网关节点,由目标网关节点,基于端口链表标识,确定公网端口值,以将内网访问信息转换为公网逻辑地址以及公网端口值对应的外网访问信息,以将外网访问信息发送至外网服务器,以供外网服务器反馈对应的外网反馈信息。使用公网逻辑地址以及端口链表标识,实现对端口的均匀分配,实现均衡导流,提高分布式SANT网关的处理效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例提供的网关导流系统的第一网络架构示意图;
图2是根据本公开第二实施例提供的网关导流方法的流程示意图;
图3是根据本公开任一公网逻辑地址所对应端口字典的示例图;
图4是根据本公开第三实施例提供的网关导流方法的流程示意图;
图5是根据本公开第四实施例提供的网关导流方法的流程示意图;
图6是根据本公开第五实施例提供的网关导流装置的结构示意图;
图7是根据本公开第六实施例提供的网关导流装置的结构示意图;
图8是根据本公开第七实施例提供的网关导流装置的结构示意图;
图9是用来实现本公开实施例的网关导流方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案可以应用于分布式SNAT网关中,通过对访问请求进行导流,以实现访问的均衡导流,提高分布式SANT网关的处理效率。
相关技术中,分布式SNAT网关可以采用对网络端口的取值范围划分,将划分获得的多个端口范围分配给不同的网关节点。各个网关节点中可以配置端口划分策略,任一个网关节点接收到用户的访问请求时,并不做NAT转换,可以根据该访问请求对应的网络端口,按照端口划分策略查询该网络端口所属目标网关节点,以将请求调度值网关节点进行处理。但是这种划分方式的网络端口容量十分有限,不利于大数据流量的访问。另外一种导流方案中,可以不进行取值范围的划分,将多个网关节点配置直接公网IP地址的取值范围。当任一个用户发起访问请求时,接收该请求的网关节点,并不做NAT转换,可以根据NAT策略选择一个公网IP,并根据该公网IP选择目标网关节点,然后将用户请求导流到相应的目标网关节点,由目标网关节点进行NAT转换,然后将公网IP的访问请求发送至外网服务器。但是这种方式,所有访问均使用相同的NAT策略选择公网IP,然后根据公网IP选择目标网关节点的方案,容易将流量汇总到一台网关节点上,产生流量导流不均衡现象,导致外网的访问处理效率较低。
为了解决上述技术问题,发明人想到,信息流在转发过程中,都会用到五元组,五元组可以包括源IP,源端口,目的IP,目的端口,传输层协议。而分布式SNAT网关的作用即是将源内网IP转换为源公网IP。而在信转发过程中,某些特定信息,例如源公网IP以及源公网端口在转换过程中确定的,而源公网端口对占用要求,在一个端口例如,10000,被占用之后,后续的访问请求即不能再占用该端口。因此,发明人想到是否可以将源公网端口以及源公网IP均参与到节点选择,以对多个访问请求进行均衡导流,实现高效率的内外IP地址转换。
据此,发明人提出了本公开的技术方案。本公开提供一种网关导流方法、系统、装置、设备、介质及产品,可以应用于计算机领域中的云计算领域,以达到对网关访问请求的内网转换实现均衡导流,使得各个网关节点处理内网IP到外网IP的转换数量均衡,达到提高分布式SNAT网关的处理效率的目的。
在本公开实施例中,用户发起的外网访问请求,可以被分布式网关中的任一节点接收。假设该节点为第一网关节点,可以由第一网关节点计算公网逻辑地址以及端口链表标识,然后利用公网逻辑地址以及端口链表标识,确定目标网关节点,通过计算端口链表标识以及公网逻辑地址计算目标网关节点的节点标识,实现对执行NAT转换的节点的选择,完成对信息流的引流。将访问请求引流到目标网关节点,由目标网关节点,基于端口链表标识,确定公网端口值,以将内网访问信息转换为公网逻辑地址以及公网端口值对应的外网访问信息,以将外网访问信息发送至外网服务器,以供外网服务器反馈对应的外网反馈信息。使用公网逻辑地址以及端口链表标识,实现对端口的均匀分配,实现均衡导流,提高分布式SANT网关的处理效率。
下面将结合附图对本公开的技术方案进行详细介绍。
图1是根据本公开第一实施例提供的用于分布式SNAT网关的网关导流方法所对应的网关导流系统的第一网络架构示意图,如图1所示,该网络架构中包括一种典型的分布式网关1、内网用户设备2以及外网服务器3。该典型的分布式网关1可以包括至少一个网关节点,例如图1所示的网关节点11-网关节点15。分布式网关1和内网用户设备2之间通过局域网或广域网进行网络连接。分布式网关1和外网服务器3之间通过局域网或广域网进行网络连接。
其中,分布式网关中每个网关节点预先配置各个公网逻辑地址对应的端口字典;任一端口字典包括对端口取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
内网用户设备2用于:向分布式网关中的第一网关节点12发送内网用户提供的外网访问请求。
此时,分布式网关1中的第一网关节点12可以用于:响应于内网用户发起的外网访问请求,获取内网访问信息;根据预设选择策略,确定内网访问信息对应的公网逻辑地址以及端口链表标识;利用公网逻辑地址以及端口链表标识,计算目标网关节点的节点标识值;基于节点标识值,将内网访问信息以及端口链表标识发送至目标网关节点13。端口链表标识用于标识多个公网端口的取值组成的端口链表。
分布式网关的目标网关节点13可以用于:接收第一网关节点发送的内网访问信息以及端口链表标识;确定内网访问信息对应的公网逻辑地址;基于公网逻辑地址以及公网端口值,将外网访问信息转换为外网访问信息并发送至外网服务器3。
外网服务器3可以用于:反馈外网访问信息对应的外网反馈信息。
在一种可能的设计中,外网服务器3反馈外网访问信息对应的外网反馈信息具体可以包括:
接收外网访问信息,以确定外网访问信息对应的反馈数据;基于外网访问信息中的公网逻辑地址以及公网端口值,生成反馈数据对应的外网反馈信息;发送外网反馈信息至分布式网关的第二网关节点14。
此时,分布式网关的第二网关节点14可以用于:获取外网服务器提供的携带有公网逻辑地址以及公网端口值的外网反馈信息;确定公网端口值所在端口链表的端口链表标识;基于公网逻辑地址以及端口链表标识,计算目标网关节点的节点标识值;基于节点标识值,将外网反馈信息发送至目标网关节点13。
因此,分布式网关的目标网关节点13还用于:接收第二网关节点发送的外网反馈信息,以确定外网反馈信息对应的公网逻辑地址以及公网端口值;基于公网逻辑地址以及公网端口值,将外网反馈信息转换为内网反馈信息并发送至内网用户设备。
在图1所示的网络架构中,内网用户设备2可以检测用户发起的外网访问请求,并发送至分布式网关1,此时,该外网访问请求可以被分布式网关中的任一节点接收。假设该节点为第一网关节点12,可以由第一网关节点12计算公网逻辑地址以及端口链表标识,然后利用公网逻辑地址以及端口链表标识,确定目标网关节点13,具体可以利用计算端口链表标识以及公网逻辑地址准确计算目标网关节点13的节点标识。然后由目标网关节点13实现对执行NAT转换的节点的选择,完成对信息流的引流。将访问请求引流到目标网关节点13,由目标网关节点13,基于端口链表标识,确定公网端口值,以将内网访问信息转换为公网逻辑地址以及公网端口值对应的外网访问信息,以将外网访问信息发送至外网服务器3,以供外网服务器3反馈对应的外网反馈信息。使用公网逻辑地址以及端口链表标识,实现对端口的均匀分配,实现均衡导流,提高分布式SANT网关的处理效率。
其中,第一网关节点、第二网关节点以及目标网关节点均可以为分布式网关的任一个节点,在一些特殊的计算结果下,第一网关节点、第二网关节点以及目标网关节点可以为同一个网关节点,该网关节点可以实现本公开下述实施例中任一种网关导流方法。
图2是本公开第二实施例提供的网关导流方法的流程示意图,该方法可以应用于分布式网关中第一网关节点。可以方法包括:
201:响应于任一内网用户设备发送的外网访问请求,获取内网用户设备对应的内网访问信息。
内网用户设备可以为局域网内的内网用户设备,局域网内的内网用户设备并不能直接通过局域网访问互联网的服务器,需要使用SNTA技术将内网访问信息转换为外网访问信息,实现内网用户对互联网的正常访问。
内网用户设备可以检测用户提供的访问数据,并基于访问数据结合为此次内网用户的访问配置的内网的五元组信息生成内网访问信息。
内网访问信息中可以包括内网的五元组信息。
五元组信息可以包括源内网IP地址、源内网端口值、目的IP地址、目的端口值和传输层协议。
202:根据预设选择策略,确定内网访问信息对应的公网逻辑地址以及端口链表标识。
公网逻辑地址可以为在对内网访问信息进行访问转换时源内网IP地址对应的源公网IP地址。
端口链表标识可以为在对内网访问信息进行访问转换时源外网端口所在的端口链表所对应的标识。
公网逻辑地址可以作为源公网IP地址,以使用公网IP地址访问对应的目的IP地址以及目的端口对应的外网服务器。
203:利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值。
其中,端口链表标识用于标识多个公网端口的取值组成的端口链表。
可选地,目标网关节点的节点标识值可以根据公网逻辑地址以及端口链表标识选择获得。目标网关节点为对内网访问信息进行外网访问转换的节点,也即目标网关节点是通过公网逻辑地址以及端口链表标识的两个参数的影响下确定的。在实际应用中,公网逻辑地址的重复度很高,但是端口链表标识的重复度不高,因此结合公网逻辑地址以及端口链表标识可以对目标网关节点的选择进行有效导流,实现目标网关节点的高效选择。
204:基于节点标识值,将内网访问信息以及端口链表标识发送至目标网关节点,用于指示目标网关节点将内网访问信息转换为对应的外网访问信息,以将外网访问信息发送至外网服务器。
其中,内网访问信息以及端口链表标识可以指示目标网关节点基于端口链表标识,确定公网端口值;将内网访问信息转换为对应的外网访问信息,根据公网逻辑地址以及公网端口值,将外网访问信息发送至外网服务器,以供外网服务器反馈对应的外网反馈信息。
节点标识值可以用于确定目标网关节点的IP地址。基于节点标识值对应的目标网关节点IP地址,将内网访问信息以及端口链表标识至目标网关节点具体可以是将内网访问信息以及端口链表标识同时发送至节点标识值对应的目标网关节点。
可选地,在实际应用中,内网访问信息可以为报文,将内网访问信息以及端口链表标识发送至目标网关节点时,可以基于端口链表标识以及目标网关节点IP地址,生成外层报文,以内网访问信息作为内层报文,将外层报文以及内层报文组合得到出向导流报文,并将出向导流报文发送至目标网关节点。目标网关节点接收到出向导流报文时,即可以读取出向导流报文中的端口链表标识,并执行后续的公网端口值确定以及内外访问信息的转换以及发送工作。
为了便于理解,下述表格为一种出向导流报文的报文格式:
表1:出向导流报文
此外,表1中的内层报文仅示出了源内网IP地址、源内网端口值、目的IP地址以及目标端口值,对于五元组信息中的协议信息,例如虚拟局域网扩展协议头文件(英文:Virtual eXtensible Local Area Network Header,简写:vxlan header),并未示出,具体可以参考现有技术中包含完整五元组信息的报文格式,在此不再赘述。
本实施例中,内网用户可以通过内网用户设备发起的外网访问请求,可以内网用户设备发送的外网访问请求可以被分布式网关中的任一第一网关节点接收。第一网关节点可以根据预设选择策略,确定公网逻辑地址以及端口链表标识,然后利用公网逻辑地址以及端口链表标识,确定目标网关节点,通过计算端口链表标识以及公网逻辑地址计算目标网关节点的节点标识,实现对执行NAT转换的节点的选择,完成对信息流的引流。将访问请求引流到目标网关节点,由目标网关节点,基于端口链表标识,确定公网端口值,以将内网访问信息转换为公网逻辑地址以及公网端口值对应的外网访问信息,以将外网访问信息发送至外网服务器,以供外网服务器反馈对应的外网反馈信息。使用公网逻辑地址以及端口链表标识,实现对端口的均匀分配,实现均衡导流,提高分布式SANT网关的处理效率。
作为一个实施例,根据预设选择策略,确定内网访问信息对应的公网逻辑地址以及端口链表标识,可以包括:
根据预设地址选择策略,确定内网访问信息对应的公网逻辑地址。
根据预设端口链表选择策略,确定内网访问信息对应的端口链表标识。
公网逻辑地址可以为公网IP地址。公网IP地址可以作为源公网IP地址向外网服务器发送访问请求。
地址选择策略以及端口链表选择策略可以预先设置。
本实施例中,通过预设的地址选择策略实现公网逻辑地址的准确选择,通过预设的链表选择策略实现端口链表标识的准确选择。利用设置的地址选择策略以及链表选择策略,提高选择策略的选择效率以及选择精度。
其中,可选地,根据预设地址选择策略,确定内网访问信息对应的公网逻辑地址,包括:
基于内网访问信息中的五元组信息,按照地址选择策略,确定内网访问信息对应的公网逻辑地址。
本实施例中,按照地址选择策略,对内网访问信息对应公网逻辑地址进行选择时,具体是利用内网访问信息中的五元组信息选择获得,选择依据于每个内网访问信息的五元组信息,不同内网访问信息的公网逻辑地址选择基础不同,实现公网逻辑地址的独立均衡选择,实现内网访问信息的首次分流。
作为一种可能的实现方式,基于内网访问信息中的五元组信息,按照地址选择策略,确定内网访问信息对应的公网逻辑地址,可以包括:
获得地址选择策略中至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系;
根据地址对应关系,确定与内网访问信息的五元组信息中内网逻辑地址匹配的外网逻辑地址。
可选地,可以为每个内网逻辑地址分配相应的外网逻辑地址,以获得至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系,以查询内网访问信息的五元组信息中内网逻辑地址对应的外网逻辑地址。
本实施例中,地址选择策略中即包括至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系,在确定内网访问信息对应的公网逻辑地址时,即是利用该地址对应关系,确定与内网访问信息的五元组信息中内网逻辑地址相匹配的外网逻辑地址。通过地址对应关系可以快速而准确地实现外网逻辑地址的准确选择。
作为一个实施例,第一网关节点中预先配置各个公网逻辑地址对应的端口字典;任一个端口字典包括对公网端口的取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
其中,根据预设端口链表选择策略,确定内网访问信息对应的端口链表标识,可以包括:
基于内网访问信息中的五元组信息,计算哈希值;
根据预设的端口链表选择策略中哈希值与链表标识的匹配关系,确定哈希值为端口链表标识。
可选地,端口链表选择策略可以为哈希值与链表标识的匹配关系,该匹配关系可以为哈希值与链表标识相同。例如哈希值为“100”,则链表标识为“100”。
在实际应用中,每个公网逻辑地址可以对应有一个端口字典。任一个端口字典为该字典对应的公网逻辑地址所对应的公网端口的取值范围所分配获得的多个哈希桶。通常,任一个公网逻辑地址的公网端口的取值范围为0-65535。每个公网端口的取值范围可以被划分至多个哈希桶中。多个哈希桶的数量可以预先设置,例如,可以设置划分为100个哈希桶。每个哈希桶中可以对应一个端口标识,该端口标识可以使用标识定义规则设置,例如可以使用每个哈希桶的第一个端口值作为端口链表标识,每个哈希桶中的端口链表标识为哈希桶数量以及端口标识作为余数,进行数列计算获得,也即端口值=(p-1)*N+C,其中,p为端口在链表的次序,N为哈希桶数量,C为端口标识对应的数值。例如,假设划分为100个哈希桶,每个哈希桶的端口链表标识分别为0、1、2、3、.....、99,则,任一个哈希桶内的端口值包含0-65535内满足(p-1)*100+C的所有数值,如图3所示,标识为0个哈希桶内的端口值包括:0、100、.....、65400、65500;标识为1的哈希桶内的端口值包括:1、101、.....、65401、65501;标识为2的哈希桶内的端口值包括:2、102、.....、65402、65502;依次类推,标识为99的哈希桶内的端口值包括:99、199、.....、65399、65499。
本实施例中,利用内网访问信息中的五元组信息,计算哈希值,以利用哈希值与链表标识的匹配关系,确定哈希值为端口链表标识,通过哈希值计算,可以快速而准确地确定端口链表标识。
作为又一个实施例,利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值,包括:
确定分布式网关中所有网关节点的节点数量;
对公网逻辑地址进行数值转换,将转换值与端口链表标识相加,获得结果值。
计算结果值与节点数量相除获得的余数。
确定余数为分布式网关中目标网关节点的节点标识值。
可选地,对公网逻辑地址进行数值转换,具体可以是将公网逻辑地址转换为十进制数据,获得转换值。其中,公网逻辑地址可以为源公网IP地址,可以采用现有的IP地址转换为十进制的转换算法进行转换,在此不再赘述。
本实施例中,在计算分布式网关中目标网关节点的节点标识值时,可以利用分布式网关中所有网关节点的节点数量以及端口链表标识相加,获得的结果值作为节点的选择基础,与节点数量相除,获得余数。由于公网逻辑地址以及端口链表标识两个数据的作用,使得在节点数量的确定下,余数的计算结果精确度更高,实现节点的均衡分配,实现有效导流。
图4是本公开第三实施例提供的网关导流方法的流程示意图,该方法可以应用于分布式网关中目标网关节点。该方法可以包括:
401:接收第一网关节点发送的内网访问信息以及端口链表标识。
端口链表标识用于标识多个公网端口的取值组成的端口链表。
402:确定内网访问信息对应的公网逻辑地址。
403:根据端口链表标识,确定公网端口值。
404:基于公网逻辑地址以及公网端口值,将内网访问信息转换为外网访问信息并发送至外网服务器,用于指示外网服务器基于外网访问信息中的公网逻辑地址以及公网端口值,生成反馈数据对应的外网反馈信息。
其中,公网逻辑地址以及端口链表标识由分布式网关中的第一网关节点获取内网用户设备提供的内网访问信息时为内网访问信息根据预设选择策略确定的;目标网关节点由分布式网关中的第一网关节点利用公网逻辑地址以及端口链表标识计算获得的节点标识值确定。
本实施例中目标网关节点与图2所示实施例中的目标网关节点的作用相同,为了描述的简洁性考虑,与前述实施例中相同步骤在此不再赘述。
可选地,将内网访问信息转换为外网访问信息可以包括:以公网逻辑地址作为源公网IP地址,以公网端口值作为源公网端口值,结合内网访问信息的五元组信息中目的公网IP地址、目的公网端口值以及协议信息,生成外网五元组信息,以利用外网五元组信息以及内网访问信息中的访问数据,生成外网访问信息。
本实施例中,目标网关节点可以接收第一网关节点发送的内网访问信息以及端口链表标识,并基于端口链表标识对应链表,实现端口的选择,获得公网端口值,以利用公网逻辑地址以及公网端口值,将内网访问信息转换为外网访问信息,实现内网用户对外网的正常访问。利用目标网关节点对内网访问信息进行转换,获得准确的转换结果。每个网关节点均可以作为相应的目标网关节点进行内外访问信息的转换,可以实现网关转换的均衡分配,提高分配效率,以促进网关节点的处理效率的提升。
作为一个实施例,将内网访问信息转换为外网访问信息并发送至外网服务器之后,还可以包括:
接收第二网关节点发送的外网反馈信息以及端口链表标识;其中,外网反馈信息以及端口链表标识由第二网关节点基于公网逻辑地址以及端口链表标识,计算目标网关节点的节点标识值后基于节点标识值发送的。
确定外网反馈信息对应的公网逻辑地址以及公网端口值。
基于公网逻辑地址以及公网端口值,将外网反馈信息转换为内网反馈信息并发送至内网用户设备。
本实施例中,目标网关节点还可以接收第二网关节点发送的外网反馈信息,然后确定外网反馈信息中的公网逻辑地址以及公网端口值,以基于公网逻辑地址以及公网端口值,将外网反馈信息转换为内网反馈信息,将内网反馈信息发送至内网用户设备。利用公网逻辑地址以及公网端口值,实现用户信息的准确反馈,使得目标网关节点继续执行节点的内外处理以及发送,确保导入与导出均由同一节点执行,实现节点的一致性选择,确保反馈信息能够被正常反馈至相应的内网用户节点。
在一种可能的设计中,目标网关节点中预先配置各个公网逻辑地址对应的端口字典;任一端口字典包括对端口取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
其中,根据端口链表标识,确定公网端口值可以包括:
根据端口链表标识,从端口字典中获取对应的哈希桶中的端口链表。
在对应的端口链表中为内网访问信息选择公网端口值。
本实施例中,在确定公网端口值时,可以根据端口链表标识,从端口字典中获取对应哈希桶中的端口链表,以从对应的端口链表中,为内网访问信息选择公网端口值。通过从端口链表为内网访问信息选择公网端口值,可以实现公网端口值的单独选择,可以选择不冲突的端口链表,实现高效率选择。
作为又一个实施例,确定内网访问信息对应的公网逻辑地址,包括:
根据预设地址选择策略,确定内网访问信息对应的公网逻辑地址。
本实施例中部分步骤与图2所示实施例中部分步骤相同,为了描述的简洁性考虑在此不再赘述。
本实施例中,通过预设的地址选择策略实现公网逻辑地址的准确选择,通过预设的链表选择策略实现端口链表标识的准确选择。利用设置的地址选择策略以及链表选择策略,提高选择策略的选择效率以及选择精度。
进一步,可选地,根据预设地址选择策略,确定内网访问信息对应的公网逻辑地址,包括:
基于内网访问信息中的五元组信息,按照地址选择策略,确定内网访问信息对应的公网逻辑地址。
本实施例中,按照地址选择策略,对内网访问信息对应公网逻辑地址进行选择时,具体是利用内网访问信息中的五元组信息选择获得,选择依据于每个内网访问信息的五元组信息,不同内网访问信息的公网逻辑地址选择基础不同,实现公网逻辑地址的独立均衡选择,实现内网访问信息的首次分流。
为了获得准确的公网逻辑地址,基于内网访问信息中的五元组信息,按照地址选择策略,确定内网访问信息对应的公网逻辑地址,可以包括:
获得地址选择策略中多个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系;
根据地址对应关系,确定与内网访问信息中内网逻辑地址匹配的外网逻辑地址。
可选地,可以为每个内网逻辑地址分配相应的外网逻辑地址,以获得至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系,以查询内网访问信息的五元组信息中内网逻辑地址对应的外网逻辑地址。
本实施例中,地址选择策略中即包括至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系,在确定内网访问信息对应的公网逻辑地址时,即是利用该地址对应关系,确定与内网访问信息的五元组信息中内网逻辑地址相匹配的外网逻辑地址。通过地址对应关系可以快速而准确地实现外网逻辑地址的准确选择。
在一种可能的设计中,基于公网逻辑地址以及公网端口值,将内网访问信息转换为外网访问信息并发送至外网服务器,可以包括:
以公网端口值以及公网逻辑地址作为文件头,生成内网访问信息对应的外网访问信息。
基于公网逻辑地址以及公网端口值,为内网访问信息的访问过程生成会话对象。其中,会话对象保存外网访问信息中公网端口值以及公网逻辑地址与内网访问信息中内网逻辑地址以及内网端口值的对应关系。
通过会话对象,将外网访问信息发送至外网服务器。
本实施例中,在将内网访问信息转换为外网访问信息并发送至外网服务器时,可以以公网端口值以及公网逻辑地址作为文件头,生成内网访问信息对应的外网访问信息,并基于公网逻辑地址以及公网端口值,为内网访问信息的访问过程生成会话对象。通过会话对象将外网访问信息发送至外网服务器,实现基于会话对象的准确信息发送,使得外网访问信息与内网访问信息的准确对应,获得准确的对应关系。
作为又一个实施例,基于公网逻辑地址以及公网端口值,将外网反馈信息转换为内网反馈信息并发送至内网用户设备,可以包括:
将外网反馈信息中以公网端口值以及公网逻辑地址对应文件头进行去除,获得外网反馈信息对应的内网反馈信息;
通过会话对象中保存的外网访问信息中公网端口值以及公网逻辑地址与内网访问信息中内网逻辑地址以及内网端口值的对应关系,查询内网反馈信息对应的内网逻辑地址以及内网端口值;
将内网反馈信息发送至内网逻辑地址以及内网端口值对应的内网用户设备。
本实施例中,利用会话对象对内网用户设备的访问过程进行记录,以便于实现用户的正确反馈,实现精确反馈。
图5是本公开第四实施例提供的网关导流方法的流程示意图,该方法可以应用于分布式网关中任意一个第二网关节点。该方法可以包括:
501:获取外网服务器提供的外网访问信息对应的外网反馈信息。
外网访问信息由分布式网关中的目标网关节点基于公网逻辑地址以及公网端口值将内网访问信息转换获得;公网逻辑地址由目标网关节点基于内网访问信息确定;公网端口值由目标网关节点根据端口链表标识确定;端口链表标识由分布式网关的第一网关节点根据预设选择策略确定并提供给目标网关节点。
其中,外网反馈信息包括公网端口值以及公网逻辑地址。
502:确定公网端口值所在端口链表的端口链表标识。
确定外网反馈信息中的公网端口值所在端口链表的端口链表标识。
503:利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值。
504:基于节点标识值,将外网反馈信息以及端口链表标识发送至目标网关节点,用于指示目标网关节点将外网反馈信息转换为内网反馈信息,以发送至内网用户设备。
外网反馈信息可以由外网服务器基于外网访问信息,结合公网逻辑地址以及公网端口值生成并发送至第二网关节点。
本实施例中,第二网关节点可以获取外网服务器提供的外网访问信息对应的外网反馈信息,以确定外网反馈信息中公网端口值以所在端口链表的端口链表标识。通过端口链表标识,可以结合公网逻辑地址,计算分布式网关中目标网关节点的节点标识值,实现目标网关节点的准确确定。进而基于节点标识值,将外网反馈信息以及端口链表标识发送至目标网关节点,指示目标网关节点将外网反馈信息转换为内网反馈信息,发送至内网用户设备,实现外网反馈信息的准确导流,避免出现流入信息集中到一个网关节点,提高导流效果以及处理效率。
可选地,在实际应用中,外网反馈信息可以为报文。外网访问信息中的源IP地址:源公网IP地址以及源端口值:源公网端口值,可以作为外网反馈信息的目的IP地址以及目的端口值;外网访问信息中的目的IP地址:目的IP地址以及目的端口值:目的端口值,可以作为外网反馈信息的源IP地址以及源端口值。外网访问信息与外网反馈信息的源IP地址以及源端口值与目的IP地址以及目的端口值恰好相反。
第二网关节点,基于节点标识值,将外网反馈信息以及端口链表标识发送至目标网关节点,具体是,可以基于端口链表标识以及目标网关节点IP地址,生成外层报文,以外网反馈信息作为内层报文,将外层报文以及内层报文组合得到入向导流报文,并将入向导流报文发送至目标网关节点。目标网关节点接收到入向导流报文时,即可以读取入向导流报文中的端口链表标识以及外网反馈信息,并执行后续的公网端口值确定以及内外反馈信息的转换以及发送工作。
为了便于理解,下述表格为一种入向导流报文的报文格式:
此外,表2中的内层报文仅示出了源内网IP地址、源内网端口值、目的IP地址以及目标端口值,对于五元组信息中的协议信息,例如虚拟局域网扩展协议头文件(英文:Virtual eXtensible Local Area Network Header,简称:vxlan header),并未示出,具体可以参考现有技术中包含完整五元组信息的报文格式,在此不再赘述。
表2:入向导流报文
作为一个实施例,利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值,可以包括:
确定分布式网关中所有网关节点的节点数量;
对公网逻辑地址进行数值转换,获得的转换值与公网端口值相加,获得结果值;
计算结果值与节点数量相除获得的余数,以确定余数为分布式网关中目标网关节点的节点标识值。
本实施例中部分步骤与前述实施例中部分步骤相同,在此不再赘述。
本实施例中,在计算分布式网关中目标网关节点的节点标识值时,可以利用分布式网关中所有网关节点的节点数量以及端口链表标识相加,获得的结果值作为节点的选择基础,与节点数量相除,获得余数。由于公网逻辑地址以及端口链表标识两个数据的作用,使得在节点数量的确定下,余数的计算结果精确度更高,实现节点的均衡分配,实现有效导流。
在一种可能的设计中,第二网关节点中预先配置各个公网逻辑地址对应的端口字典;任一个端口字典包括对公网端口的取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
确定公网端口值所在端口链表的端口链表标识,可以包括:
从端口字典的多个哈希桶各自的端口链表中,查询公网端口字典所在目标端口链表。
获取目标端口链表的链表标识为端口链表标识。
本实施例中部分步骤与前述实施例中部分步骤相同,在此不再赘述。
本实施例中,确定公网端口值所在端口链表的端口链表标识时,可以从端口字典的多个哈希桶各自的端口链表中,查询公网端口字典所在目标端口链表,以获取目标端口链表的链表标识为端口链表标识。通过查询端口目标端口链表以对端口链表标识准确确定,实现端口链表标识快速而准确的查询。
图6是本公开第五实施例提供的网关导流装置的结构示意图,该装置可以位于分布式网关中任意一个第一网关节点。该装置600可以包括:
第一响应单元601:用于响应于任一内网用户设备发起的外网访问请求,获取内网用户设备对应的内网访问信息;
端口选择单元602:用于根据预设选择策略,确定内网访问信息对应的公网逻辑地址以及端口链表标识;
节点计算单元603:用于利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值;端口链表标识用于标识多个公网端口的取值组成的端口链表;
第一发送单元604:用于基于节点标识值,将内网访问信息以及端口链表标识发送至目标网关节点,用于指示目标网关节点基将内网访问信息转换为公网逻辑地址对应的外网访问信息,以将外网访问信息发送至外网服务器。
本实施例中,内网用户可以通过内网用户设备发起的外网访问请求,可以内网用户设备发送的外网访问请求可以被分布式网关中的任一第一网关节点接收。第一网关节点可以根据预设选择策略,确定公网逻辑地址以及端口链表标识,然后利用公网逻辑地址以及端口链表标识,确定目标网关节点,通过计算端口链表标识以及公网逻辑地址计算目标网关节点的节点标识,实现对执行NAT转换的节点的选择,完成对信息流的引流。将访问请求引流到目标网关节点,由目标网关节点,基于端口链表标识,确定公网端口值,以将内网访问信息转换为公网逻辑地址以及公网端口值对应的外网访问信息,以将外网访问信息发送至外网服务器,以供外网服务器反馈对应的外网反馈信息。使用公网逻辑地址以及端口链表标识,实现对端口的均匀分配,实现均衡导流,提高分布式SANT网关的处理效率。
作为一个实施例,端口选择单元可以包括:
第一选择模块,用于根据预设地址选择策略,确定内网访问信息对应的公网逻辑地址;
第二选择模块,用于根据预设端口链表选择策略,确定内网访问信息对应的端口链表标识。
在一种可能的设计中,第一选择模块可以包括:
第一选择子模块,用于基于内网访问信息中的五元组信息,按照地址选择策略,确定内网访问信息对应的公网逻辑地址。
作为一种可能的实现方式,第一选择子模块具体可以用于:
获得地址选择策略中至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系;
根据地址对应关系,确定与内网访问信息的五元组信息中内网逻辑地址匹配的外网逻辑地址。
在又一种可能的设计中,第一网关节点中预先配置各个公网逻辑地址对应的端口字典;任一个端口字典包括对公网端口的取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
其中,第二选择模块可以包括:
哈希计算子模块,用于基于内网访问信息中的五元组信息,计算哈希值;
第二计算子模块,用于根据预设的端口链表选择策略中哈希值与链表标识的匹配关系,确定哈希值为端口链表标识。
作为又一个实施例,节点计算单元可以包括:
数量确定模块,用于确定分布式网关中所有网关节点的节点数量。
数值计算模块,用于对公网逻辑地址进行数值转换,将转换值与端口链表标识相加,获得结果值。
余数计算模块,用于计算结果值与节点数量相除获得的余数。
标识确定模块,用于确定余数为分布式网关中目标网关节点的节点标识值。
本实施例提供的基于网关导流装置可以执行前述图2所示方法实施例的技术方案,其实现原理和技术效果与前述图2等所示方法实施例类似,在此不再一一赘述。
图7是本公开第六实施例提供的网关导流装置的结构示意图,该装置可以位于分布式网关中任意一个目标网关节点。该装置700可以包括:
信息接收单元701:用于接收第一网关节点发送的内网访问信息以及端口链表标识。
端口链表标识用于标识多个公网端口的取值组成的端口链表。
第一确定单元702:用于确定内网访问信息对应的公网逻辑地址;
第二确定单元703:用于根据端口链表标识,确定公网端口值。
第二发送单元704:用于基于公网逻辑地址以及公网端口值,将内网访问信息转换为外网访问信息并发送至外网服务器,用于指示外网服务器基于外网访问信息中的公网逻辑地址以及公网端口值,生成反馈数据对应的外网反馈信息。
其中,公网逻辑地址以及端口链表标识由分布式网关中的第一网关节点获取内网用户设备提供的内网访问信息时为内网访问信息根据预设选择策略确定的;目标网关节点由分布式网关中的第一网关节点利用公网逻辑地址以及端口链表标识计算节点标识值确定。
本实施例中,目标网关节点可以接收第一网关节点发送的内网访问信息以及端口链表标识,并基于端口链表标识对应链表,实现端口的选择,获得公网端口值,以利用公网逻辑地址以及公网端口值,将内网访问信息转换为外网访问信息,实现内网用户对外网的正常访问。利用目标网关节点对内网访问信息进行转换,获得准确的转换结果。每个网关节点均可以作为相应的目标网关节点进行内外访问信息的转换,可以实现网关转换的均衡分配,提高分配效率,以促进网关节点的处理效率的提升。
作为一个实施例,还可以包括:
反馈接收单元,用于接收第二网关节点发送的外网反馈信息。
其中,外网反馈信息由所述第二网关节点基于所述公网逻辑地址以及所述端口链表标识,计算所述目标网关节点的节点标识值后基于所述节点标识值发送的。
第三确定单元,用于确定外网反馈信息对应的公网逻辑地址以及公网端口值。
第一转换单元,用于基于公网逻辑地址以及公网端口值,将外网反馈信息转换为内网反馈信息并发送至内网用户设备。
作为一个实施例,目标网关节点中预先配置各个公网逻辑地址对应的端口字典;任一端口字典包括对端口取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
其中,第二确定单元可以包括:
链表确定模块,用于根据端口链表标识,从端口字典中获取对应的哈希桶中的端口链表。
端口确定模块,用于在对应的端口链表中为内网访问信息选择公网端口值。
在一种可能的设计中,第一确定单元可以包括:
第一确定模块,用于根据预设地址选择策略,确定内网访问信息对应的公网逻辑地址。
作为一种可选方式,第一确定模块可以包括:
地址确定子模块,用于基于内网访问信息中的五元组信息,按照地址选择策略,确定内网访问信息对应的公网逻辑地址。
进一步,可选地,地址确定子模块具体可以用于:
获得地址选择策略中多个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系;根据地址对应关系,确定与内网访问信息中内网逻辑地址匹配的公网逻辑地址。
作为一个实施例,第二发送单元可以包括:
第一生成模块,用于以公网端口值以及公网逻辑地址作为文件头,生成内网访问信息对应的外网访问信息。
第二生成模块,用于基于公网逻辑地址以及公网端口值,为内网访问信息的访问过程生成会话对象。
其中,会话对象保存外网访问信息中公网端口值以及公网逻辑地址与内网访问信息中内网逻辑地址以及内网端口值的对应关系。
第一发送模块,用于通过会话对象,将外网访问信息发送至外网服务器。
在某些实施例中,第二发送单元可以包括:
信息转换模块,用于将外网反馈信息中以公网端口值以及公网逻辑地址对应文件头进行去除,获得外网反馈信息对应的内网反馈信息;
端口查询模块,用于通过会话对象中保存的外网访问信息中公网端口值以及公网逻辑地址与内网访问信息中内网逻辑地址以及内网端口值的对应关系,查询内网反馈信息对应的内网逻辑地址以及内网端口值;
第二发送模块,用于将内网反馈信息发送至内网逻辑地址以及内网端口值对应的内网用户设备。
本实施例提供的基于网关导流装置可以执行前述图4所示方法实施例的技术方案,其实现原理和技术效果与前述图4等所示方法实施例类似,在此不再一一赘述。
图8是本公开第七实施例提供的网关导流装置的结构示意图,该装置可以位于分布式网关中任意一个第二网关节点。该装置可以包括:
信息获取单元801:用于获取外网服务器提供的外网访问信息对应的外网反馈信息。
其中,外网访问信息由分布式网关中的目标网关节点基于公网逻辑地址以及公网端口值将内网访问信息转换获得;公网逻辑地址由目标网关节点基于内网访问信息确定;公网端口值由目标网关节点根据端口链表标识确定;端口链表标识由分布式网关的第一网关节点根据预设选择策略确定并提供给目标网关节点。
标识确定单元802:用于确定公网端口值所在端口链表的端口链表标识。
标识计算单元803:用于利用公网逻辑地址以及端口链表标识,计算分布式网关中目标网关节点的节点标识值。
第三发送单元804:用于基于节点标识值,将外网反馈信息发送至目标网关节点,用于指示目标网关节点将外网反馈信息转换为内网反馈信息,以发送至内网用户设备。
本实施例中,第二网关节点可以获取外网服务器提供的外网访问信息对应的外网反馈信息,以确定外网反馈信息中公网端口值以所在端口链表的端口链表标识。通过端口链表标识,可以结合公网逻辑地址,计算分布式网关中目标网关节点的节点标识值,实现目标网关节点的准确确定。进而基于节点标识值,将外网反馈信息以及端口链表标识发送至目标网关节点,指示目标网关节点将外网反馈信息转换为内网反馈信息,发送至内网用户设备,实现外网反馈信息的准确导流,避免出现流入信息集中到一个网关节点,提高导流效果以及处理效率。
作为一个实施例,标识计算单元可以包括:
数量确定模块,用于确定分布式网关中所有网关节点的节点数量。
数值计算模块,用于对公网逻辑地址进行数值转换,将转换值与端口链表标识相加,获得结果值。
余数计算模块,用于计算结果值与节点数量相除获得的余数。
标识确定模块,用于确定余数为分布式网关中目标网关节点的节点标识值。
在一种可能的设计中,第二网关节点中预先各个公网逻辑地址对应的端口字典;任一个端口字典包括对公网端口的取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及端口链表的链表标识。
标识确定单元,可以包括:
目标查询模块,用于从端口字典的多个哈希桶各自的端口链表中,查询公网端口字典所在目标端口链表;
第二确定模块,用于获取目标端口链表的链表标识为端口链表标识。
需要说明的是,本实施例中的外网访问请求并不是针对某一特定用户的请求,并不能反映出某一特定用户的个人信息。需要说明的是,本实施例中的访问请求来自于公开数据集。
本实施例提供的基于网关导流装置可以执行前述图5所示方法实施例的技术方案,其实现原理和技术效果与前述图5等所示方法实施例类似,在此不再一一赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本公开所涉及的内网用户设备以及各个网关节点,均可以为图9所示的电子设备。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如上述任一种网关道流方法。例如,在一些实施例中,上述任一种网关导流方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM903并由计算单元901执行时,可以执行上文描述的任一种网关导流方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述任一种网关导流方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (22)
1.一种网关导流方法,应用于分布式网关中任意一个第一网关节点,所述方法包括:
响应于任一内网用户设备发送的外网访问请求,获取所述内网用户设备对应的内网访问信息;
根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识;
利用所述公网逻辑地址以及端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
基于所述节点标识值,将所述内网访问信息以及所述端口链表标识发送至所述目标网关节点,用于指示所述目标网关节点将所述内网访问信息转换为对应的外网访问信息,以将所述外网访问信息发送至外网服务器;
其中,所述利用所述公网逻辑地址以及端口链表标识,计算所述分布式网关中目标网关节点的节点标识值,包括:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述分布式网关中目标网关节点的节点标识值。
2.根据权利要求1所述的方法,其中,所述根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识,包括:
根据预设地址选择策略,确定所述内网访问信息对应的所述公网逻辑地址;
根据预设端口链表选择策略,确定所述内网访问信息对应的所述端口链表标识。
3.根据权利要求2所述的方法,其中,所述根据预设地址选择策略,确定所述内网访问信息对应的公网逻辑地址,包括:
基于所述内网访问信息中的五元组信息,按照所述地址选择策略,确定所述内网访问信息对应的所述公网逻辑地址。
4.根据权利要求3所述的方法,其中,所述基于所述内网访问信息中的五元组信息,按照所述地址选择策略,确定所述内网访问信息对应的所述公网逻辑地址,包括:
获得所述地址选择策略中至少一个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系;
根据所述地址对应关系,确定与所述内网访问信息的五元组信息中内网逻辑地址匹配的外网逻辑地址。
5.根据权利要求2-4任一项所述的方法,其中,所述第一网关节点中预先配置各个公网逻辑地址对应的端口字典;任一个端口字典包括对公网端口的取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及所述端口链表的链表标识;
所述根据预设端口链表选择策略,确定所述内网访问信息对应的所述端口链表标识,包括:
基于所述内网访问信息中的五元组信息,计算哈希值;
根据所述预设的端口链表选择策略中哈希值与链表标识的匹配关系,确定所述哈希值为所述端口链表标识。
6.一种网关导流方法,应用于分布式网关中的目标网关节点,所述方法包括:
接收第一网关节点发送的内网访问信息以及端口链表标识;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
确定所述内网访问信息对应的公网逻辑地址;
根据所述端口链表标识,确定公网端口值;
基于所述公网逻辑地址以及所述公网端口值,将所述内网访问信息转换为外网访问信息并发送至所述外网服务器,用于指示外网服务器基于所述外网访问信息中的公网逻辑地址以及所述公网端口值,生成反馈数据对应的外网反馈信息;
其中,所述公网逻辑地址以及所述端口链表标识由所述分布式网关中的第一网关节点获取内网用户设备提供的内网访问信息时为所述内网访问信息根据预设选择策略确定的;所述目标网关节点由所述分布式网关中的第一网关节点利用所述公网逻辑地址以及所述端口链表标识计算获得的节点标识值确定;
利用所述公网逻辑地址以及所述端口链表标识计算获得的节点标识值为通过以下方式计算获得的节点标识值:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述节点标识值。
7.根据权利要求6所述的方法,还包括:
接收第二网关节点发送的外网反馈信息以及所述端口链表标识;其中,所述外网反馈信息以及所述端口链表标识由所述第二网关节点基于所述公网逻辑地址以及所述端口链表标识,计算所述目标网关节点的节点标识值后基于所述节点标识值发送的;
确定所述外网反馈信息对应的所述公网逻辑地址以及所述公网端口值;
基于所述公网逻辑地址以及所述公网端口值,将所述外网反馈信息转换为内网反馈信息并发送至所述内网用户设备。
8.根据权利要求6所述的方法,其中,所述目标网关节点中预先配置各个公网逻辑地址对应的端口字典;任一端口字典包括对端口取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及所述端口链表的链表标识;
所述根据所述端口链表标识,确定公网端口值包括:
根据所述端口链表标识,从所述端口字典中获取对应的哈希桶中的端口链表;
在对应的端口链表中为所述内网访问信息选择公网端口值。
9.根据权利要求6-8任一项所述的方法,其中,所述确定所述内网访问信息对应的公网逻辑地址,包括:
根据预设地址选择策略,确定所述内网访问信息对应的所述公网逻辑地址。
10.根据权利要求9所述的方法,其中,所述根据预设地址选择策略,确定所述内网访问信息对应的公网逻辑地址,包括:
基于所述内网访问信息中的五元组信息,按照所述地址选择策略,确定所述内网访问信息对应的所述公网逻辑地址。
11.根据权利要求10所述的方法,其中,所述基于所述内网访问信息中的五元组信息,按照所述地址选择策略,确定所述内网访问信息对应的所述公网逻辑地址,包括:
获得所述地址选择策略中多个内网逻辑地址以及至少一个外网逻辑地址的地址对应关系;
根据所述地址对应关系,确定与所述内网访问信息中内网逻辑地址匹配的公网逻辑地址。
12.根据权利要求6-8任一项所述的方法,其中,所述基于所述公网逻辑地址以及所述公网端口值,将所述内网访问信息转换为外网访问信息并发送至所述外网服务器,包括:
以所述公网端口值以及所述公网逻辑地址作为文件头,生成所述内网访问信息对应的外网访问信息;
基于所述公网逻辑地址以及所述公网端口值,为所述内网访问信息的访问过程生成会话对象;其中,所述会话对象保存所述外网访问信息中所述公网端口值以及所述公网逻辑地址与所述内网访问信息中内网逻辑地址以及内网端口值的对应关系;
通过所述会话对象,将所述外网访问信息发送至所述外网服务器。
13.根据权利要求6-8任一项所述的方法,其中,所述基于所述公网逻辑地址以及所述公网端口值,将所述外网反馈信息转换为内网反馈信息并发送至所述内网用户设备,包括:
将所述外网反馈信息中以所述公网端口值以及所述公网逻辑地址对应文件头进行去除,获得所述外网反馈信息对应的内网反馈信息;
通过会话对象中保存的所述外网访问信息中所述公网端口值以及所述公网逻辑地址与所述内网访问信息中内网逻辑地址以及内网端口值的对应关系,查询所述内网反馈信息对应的所述内网逻辑地址以及所述内网端口值;
将所述内网反馈信息发送至所述内网逻辑地址以及所述内网端口值对应的内网用户设备。
14.一种网关导流方法,应用于分布式网关中任意一个第二网关节点,所述方法包括:
获取外网服务器提供的外网访问信息对应的外网反馈信息;所述外网访问信息由所述分布式网关中的目标网关节点基于公网逻辑地址以及公网端口值将内网访问信息转换获得;所述公网逻辑地址由所述目标网关节点基于所述内网访问信息确定;所述公网端口值由所述目标网关节点根据端口链表标识确定;所述端口链表标识由所述分布式网关的第一网关节点根据预设选择策略确定并提供给所述目标网关节点;
确定所述公网端口值所在端口链表的所述端口链表标识;
利用所述公网逻辑地址以及所述端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;
基于所述节点标识值,将所述外网反馈信息以及所述端口链表标识发送至所述目标网关节点,用于指示所述目标网关节点将所述外网反馈信息转换为内网反馈信息,以发送至所述内网用户设备;
其中,所述利用所述公网逻辑地址以及所述端口链表标识,计算所述分布式网关中目标网关节点的节点标识值,包括:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述分布式网关中目标网关节点的节点标识值。
15.根据权利要求14所述的方法,其中,所述利用所述公网逻辑地址以及所述端口链表标识,计算所述分布式网关中目标网关节点的节点标识值,包括:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将获得的转换值与所述公网端口值相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述分布式网关中目标网关节点的节点标识值。
16.根据权利要求15所述的方法,其中,所述第二网关节点中预先各个所述公网逻辑地址对应的端口字典;任一个端口字典包括对公网端口的取值范围分配获得的多个哈希桶,任一个哈希桶包括顺序排列的多个公网端口的取值组成的端口链表以及所述端口链表的链表标识;
所述确定所述公网端口值所在端口链表的端口链表标识,包括:
从所述端口字典的多个哈希桶各自的端口链表中,查询所述公网端口字典所在目标端口链表;
获取所述目标端口链表的链表标识为所述端口链表标识。
17.一种网关导流系统,包括分布式网关以及分别与所述分布式网关建立网络连接的内网用户设备以及外网服务器;所述分布式网关包括至少一个网关节点;
所述内网用户设备用于:向所述分布式网关中的第一网关节点发送内网用户提供的外网访问请求;
所述分布式网关中的第一网关节点用于:响应于所述内网用户设备发送的所述外网访问请求,获取所述内网用户设备对应的内网访问信息;根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识;利用所述公网逻辑地址以及所述端口链表标识,计算目标网关节点的节点标识值;基于所述节点标识值,将所述内网访问信息以及所述端口链表标识发送至所述目标网关节点;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
所述分布式网关的目标网关节点用于:接收第一网关节点发送的内网访问信息以及所述端口链表标识;确定所述内网访问信息对应的公网逻辑地址;根据所述端口链表标识,确定公网端口值;基于所述公网逻辑地址以及所述公网端口值,将所述外网访问信息转换为外网访问信息并发送至所述外网服务器;
所述外网服务器用于:反馈所述外网访问信息对应的外网反馈信息;
其中,所述利用所述公网逻辑地址以及所述端口链表标识,计算目标网关节点的节点标识值,包括:
确定所述分布式网关中所有网关节点的节点数量;对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;计算所述结果值与所述节点数量相除获得的余数;确定所述余数为所述分布式网关中目标网关节点的节点标识值。
18.一种网关导流装置,配置于分布式网关中任一个第一网关节点,所述装置包括:
第一响应单元,用于响应于任一内网用户设备发起的外网访问请求,获取所述内网用户设备对应的内网访问信息;
端口选择单元,用于根据预设选择策略,确定所述内网访问信息对应的公网逻辑地址以及端口链表标识;
节点计算单元,用于利用所述公网逻辑地址以及端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
第一发送单元,用于基于所述节点标识值,将所述内网访问信息以及所述端口链表标识发送至所述目标网关节点,用于指示所述目标网关节点基将所述内网访问信息转换为所述公网逻辑地址对应的外网访问信息,以将所述外网访问信息发送至外网服务器;
所述节点计算单元,具体用于:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述分布式网关中目标网关节点的节点标识值。
19.一种网关导流装置,配置于分布式网关中目标网关节点,所述装置包括:
信息接收单元,用于接收第一网关节点发送的内网访问信息以及端口链表标识;所述端口链表标识用于标识多个公网端口的取值组成的端口链表;
第一确定单元,用于确定所述内网访问信息对应的所述公网逻辑地址;
第二确定单元,用于根据所述端口链表标识,确定公网端口值;
第二发送单元,用于基于所述公网逻辑地址以及所述公网端口值,将所述内网访问信息转换为外网访问信息并发送至所述外网服务器,用于指示所述外网服务器基于所述外网访问信息中的公网逻辑地址以及所述公网端口值,生成反馈数据对应的外网反馈信息;
其中,所述公网逻辑地址以及所述端口链表标识由所述分布式网关中的第一网关节点获取内网用户设备提供的内网访问信息时为所述内网访问信息根据预设选择策略确定的;所述目标网关节点由所述分布式网关中的第一网关节点利用所述公网逻辑地址以及所述端口链表标识计算获得的节点标识值确定;
利用所述公网逻辑地址以及所述端口链表标识计算获得的节点标识值为通过以下方式计算获得的节点标识值:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述节点标识值。
20.一种网关导流装置,配置于分布式网关中第二网关节点,所述装置包括:
信息获取单元,用于获取外网服务器提供的外网访问信息对应的外网反馈信息;其中,所述外网访问信息由所述分布式网关中的目标网关节点基于公网逻辑地址以及公网端口值将内网访问信息转换获得;所述公网逻辑地址由所述目标网关节点基于所述内网访问信息确定;所述公网端口值由所述目标网关节点根据端口链表标识确定;所述端口链表标识由所述分布式网关的第一网关节点根据预设选择策略确定并提供给所述目标网关节点;
标识确定单元,用于确定所述公网端口值所在端口链表的所述端口链表标识;
标识计算单元,用于利用所述公网逻辑地址以及所述端口链表标识,计算所述分布式网关中目标网关节点的节点标识值;
第三发送单元,用于基于所述节点标识值,将所述外网反馈信息发送至所述目标网关节点,用于指示所述目标网关节点将所述外网反馈信息转换为内网反馈信息,以发送至所述内网用户设备;
所述标识计算单元,具体用于:
确定所述分布式网关中所有网关节点的节点数量;
对所述公网逻辑地址进行数值转换,将转换值与所述端口链表标识相加,获得结果值;
计算所述结果值与所述节点数量相除获得的余数;
确定所述余数为所述分布式网关中目标网关节点的节点标识值。
21. 一种网关节点设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5、6-13或者14-16中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5、6-13或者14-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111073362.XA CN113794788B (zh) | 2021-09-14 | 2021-09-14 | 网关导流方法、系统、装置、设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111073362.XA CN113794788B (zh) | 2021-09-14 | 2021-09-14 | 网关导流方法、系统、装置、设备、存储介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113794788A CN113794788A (zh) | 2021-12-14 |
CN113794788B true CN113794788B (zh) | 2023-07-25 |
Family
ID=78880273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111073362.XA Active CN113794788B (zh) | 2021-09-14 | 2021-09-14 | 网关导流方法、系统、装置、设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113794788B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363418A (zh) * | 2022-01-07 | 2022-04-15 | 北京金山云网络技术有限公司 | 访问内网数据库的方法、装置、存储介质以及电子设备 |
CN114745169A (zh) * | 2022-04-06 | 2022-07-12 | 北京天融信网络安全技术有限公司 | 基于nat映射的多端口访问方法、装置、设备、介质和产品 |
CN115086274B (zh) * | 2022-06-10 | 2023-12-22 | 北京启明星辰信息安全技术有限公司 | 一种网络流量分配方法、装置、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118147A (zh) * | 2013-01-24 | 2013-05-22 | 中国联合网络通信集团有限公司 | 内网服务器访问方法、设备和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058973B1 (en) * | 2000-03-03 | 2006-06-06 | Symantec Corporation | Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses |
CN102355479B (zh) * | 2011-07-19 | 2014-05-07 | 杭州华三通信技术有限公司 | 一种多nat网关流量转发的方法和设备 |
CN103200281A (zh) * | 2013-01-24 | 2013-07-10 | 中国联合网络通信集团有限公司 | 内网服务器访问方法、设备和系统 |
CN104092593B (zh) * | 2014-07-31 | 2017-03-22 | 王征 | 基于内外网识别器实现的智能终端自动识别的内外网自动接入系统及其接入方法 |
CN112333135B (zh) * | 2020-07-16 | 2022-09-06 | 北京京东尚科信息技术有限公司 | 网关确定方法、装置、服务器、分发器、系统及存储介质 |
-
2021
- 2021-09-14 CN CN202111073362.XA patent/CN113794788B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118147A (zh) * | 2013-01-24 | 2013-05-22 | 中国联合网络通信集团有限公司 | 内网服务器访问方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113794788A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113794788B (zh) | 网关导流方法、系统、装置、设备、存储介质及产品 | |
CN106533890B (zh) | 一种报文处理方法、装置及系统 | |
WO2019227883A1 (zh) | 地址转换方法、装置及系统 | |
US10511534B2 (en) | Stateless distributed load-balancing | |
CN114253979B (zh) | 一种报文处理方法、装置及电子设备 | |
CN106170956A (zh) | 一种路由方法和设备 | |
CN114629816B (zh) | 公网ip网络状态探测方法及系统 | |
CN108471384B (zh) | 用于端到端通信的报文转发的方法和装置 | |
CN113162835B (zh) | 访问服务资源的方法、装置、设备以及存储介质 | |
CN112019492B (zh) | 访问控制方法、装置及存储介质 | |
CN112311672B (zh) | 一种路由表项获得方法、装置及设备 | |
US20230081696A1 (en) | Methods for Shunting Clustered Gateways | |
CN115484233B (zh) | 数通芯片中链路聚合报文的转发方法、装置、设备及介质 | |
CN114157633A (zh) | 一种报文转发方法及装置 | |
JP7384952B2 (ja) | ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム | |
CN117014371A (zh) | 网络流量的处理方法、装置、电子设备及存储介质 | |
CN116032883B (zh) | 域名解析请求的处理方法、装置、设备及存储介质 | |
CN114793234B (zh) | 消息处理方法、装置、设备和存储介质 | |
CN113992760B (zh) | 回源流量的调度方法、装置、设备以及存储介质 | |
CN116599838A (zh) | 变电站设备信息配置管理方法、装置、设备及存储介质 | |
CN114827055B (zh) | 数据镜像的方法、装置、电子设备及交换机集群 | |
CN114615273B (zh) | 基于负载均衡系统的数据发送方法、装置和设备 | |
CN116074320A (zh) | 一种同代理集群通信方法、装置、电子设备和存储介质 | |
EP3893122A1 (en) | Network processor and message processing method | |
CN117729006A (zh) | 基于vpc网络的路由风险分析方法、装置、电子设备和介质 |
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 |