CN111585887B - 基于多个网络的通信方法、装置、电子设备及存储介质 - Google Patents
基于多个网络的通信方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111585887B CN111585887B CN202010193483.7A CN202010193483A CN111585887B CN 111585887 B CN111585887 B CN 111585887B CN 202010193483 A CN202010193483 A CN 202010193483A CN 111585887 B CN111585887 B CN 111585887B
- Authority
- CN
- China
- Prior art keywords
- gateway node
- session
- message
- packet
- network
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于多个网络的通信方法,所述方法包括:当第一网关节点接收到第一访问请求时,若第一网关节点未存储第一会话,确定管理第一报文的第二网关节点;当检测到第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了第二网关节点外的剩余网关节点;重新确定管理第一报文的第三网关节点;将第一报文发送至第三网关节点;若第三网关节点存储的多个会话包括第一会话,获取第一会话存储的第一网络地址以及第一端口;将第一报文的源地址映射为第一网络地址,以及将第一报文的源端口映射为第一端口,将第一报文发送至外部网络。本发明还提供一种基于多个网络的通信装置、电子设备以及存储介质。本发明能提高网络服务质量。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于多个网络的通信方法、装置、电子设备及存储介质。
背景技术
目前,内部网络访问外部网络时,需要通过NAT(Network AddressTranslation,网络地址转换)处理将内部网络请求的互联网协议地址映射为合法的地址,才可以访问外部网络。在访问的过程中,会建立一个与访问请求相关的Session(会话),通过会话来保存相关信息。但在实践中发现,如果在访问过程中的某个网关节点发生了故障,该网关节点就无法继续处理用户的访问请求,需要将用户的访问请求发送到其他网关节点,以由其他网关节点为用户处理该访问请求。但是由于其他网关节点没有与这个访问请求相关的会话,因此,无法使用其他网关节点来继续处理该访问请求的相关业务,导致网络服务质量较差。
因此,如何确保用户的访问请求的正常处理以提高网络服务质量是一个亟需解决的技术问题。
发明内容
鉴于以上内容,有必要提供一种基于多个网络的通信方法、装置、电子设备及存储介质,能够确保内部网络可以正常访问外部网络,提高了网络服务质量。
本发明的第一方面提供一种基于多个网络的通信方法,所述方法包括:
当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话;
若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点;
当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点;
根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点;
根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
在一种可能的实现方式中,所述根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络包括:
将所述第一报文发送至所述第三网关节点;
判断所述第三网关节点存储的多个会话是否包括所述第一会话;
若所述第三网关节点存储的多个会话包括所述第一会话,获取所述第一会话存储的第一网络地址以及第一端口;
通过地址资源转换算法,将所述第一报文的源地址映射为所述第一网络地址,以及将所述第一报文的源端口映射为所述第一端口,以使用所述第一网络地址以及所述第一端口,将所述第一报文发送至所述外部网络。
在一种可能的实现方式中,所述方法还包括:
若所述第三网关节点存储的多个会话未包括所述第一会话,从所述第三网关节点的可用网络地址资源中选择第二网络地址以及第二端口;
通过所述地址资源转换算法,将所述第一报文的源地址映射为所述第二网络地址,以及将所述第一报文的源端口映射为所述第二端口;
根据所述第一报文的源地址、所述第一报文的源端口、所述第二网络地址以及所述第二端口,生成与所述第一报文匹配的第二会话;
将所述第二会话同步至所有正常运行的网关节点。
在一种可能的实现方式中,所述方法还包括:
当第四网关节点接收到由所述外部网络发送至所述内部网络的第二访问请求时,判断所述第四网关节点是否存储有与所述第二访问请求携带的第二报文匹配的第三会话;
若所述第四网关节点存储有与所述第二访问请求携带的第二报文匹配的第三会话,将所述第二报文的目的地址映射为所述第三会话存储的第三网络地址,以及将所述第二报文的目的端口映射为所述第三会话存储的第三端口,并根据映射后的所述第二报文的第三网络地址以及所述第二报文的第一端口,将所述第二报文发送至所述内部网络。
在一种可能的实现方式中,所述方法还包括:
若所述第四网关节点未存储有与所述第二访问请求携带的第二报文匹配的第三会话,通过哈希算法,根据所述第二报文的源地址以及所述第二报文的源端口,确定管理所述第二报文的第五网关节点;
判断所述第五网关节点是否为所述第四网关节点;
若所述第五网关节点为所述第四网关节点,将所述第二报文丢弃。
在一种可能的实现方式中,所述确定管理所述第一报文的第二网关节点之后,所述方法还包括:
判断所述第二网关节点的超时心跳的次数是否大于预设次数阈值;
若所述第二网关节点的超时心跳的次数大于预设次数阈值,确定所述第二网关节点出现故障。
在一种可能的实现方式中,所述确定所述第二网关节点出现故障之后,所述方法还包括:
确定所述剩余网关节点的交集会话,其中,所述交集会话为每个所述剩余网关节点所共同存储的会话;
从每个所述剩余网关节点存储的会话中,删除所述交集会话之外的其他会话;
根据所述交集会话存储的网络地址以及所述剩余网关节点的网络地址资源,重新确定管理每个所述交集会话的网关节点。
本发明的第二方面提供一种基于多个网络的通信装置,所述装置包括:
判断模块,用于当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话;
确定模块,用于若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点;
分配模块,用于当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点;
所述确定模块,还用于根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点;
发送模块,用于根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的基于多个网络的通信方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于多个网络的通信方法。
由以上技术方案,本发明中,当第一网关节点接收到由内部网络发往外部网络的访问请求时,因为来自内部网络的访问请求携带的报文使用的互联网协议地址属于非法地址,不能访问外部网络,需要根据会话存储的信息,将报文的非法地址映射为合法地址,才可以访问外部网络,所以需要判断第一网关节点是否存储有与报文匹配的会话,若第一网关节点不存储有与报文匹配的会话,可能与该报文匹配的会话还没同步到第一网关节点或还没被创建,则需要将报文发送给管理该报文的第二网关节点,因为第二网关节点可以使用自身的网络地址资源来创建与该报文匹配的会话,若检测到第二网关节点发生故障了,可以重新分配网络地址资源,使得其他网关节点可以创建原本由第二网关节点创建的会话,然后,可以重新确定管理该报文的第三网关节点,并将该报文发送至第三网关节点,若第三网关节点存储有与该报文匹配的会话,则可以根据会话存储的相关信息,将该报文发送至外部网络,确保内部网络可以正常访问外部网络,提高了网络服务质量。
附图说明
图1是本发明公开的一种基于多个网络的通信方法的较佳实施例的流程图。
图2是本发明公开的一种基于多个网络的通信装置的较佳实施例的功能模块图。
图3是本发明实现基于多个网络的通信方法的较佳实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例的基于多个网络的通信方法应用在电子设备中,也可以应用在电子设备和通过网络与所述电子设备进行连接的服务器所构成的硬件环境中,由服务器和电子设备共同执行。网络包括但不限于:广域网、城域网或局域网。
所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络设备、多个网络设备组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络设备构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理PDA等。
请参见图1,图1是本发明公开的一种基于多个网络的通信方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,电子设备判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话,若否,执行步骤S12,若是,结束本流程。
其中,所述第一网关节点可以为任意一台网关设备。
其中,会话(Session)可以是一种数据结构,保存着进入网关节点前的IP(Internet Protocol,互联网协议地址)五元组和进入网关节点并经过NAT(NetworkAddress Translation,网络地址转换)处理后的IP五元组的映射关系。
其中,五元组可以指源IP地址,源端口,目的IP地址,目的端口,和传输层协议组成的一个集合。
本发明实施例中,当第一网关节点接收到有内部网络发往外部网络的第一访问请求时,因为第一访问请求携带的第一报文的源地址是内部网络使用的网络地址,无法访问外部网络,需要网关节点给第一报文分配一个合法网络地址以及一个端口,确保第一报文可以正常发送至外部网络,网关节点给第一报文分配合法地址以及端口后,相关的信息会保存在会话中,在通信连接断开前,凡是具有相同的源地址以及相同的源端口的报文都可以根据这个会话来进行网络地址转换,从而正常发往外部网络。因此,需要判断第一网关节点是否存储有与第一访问请求携带的第一报文匹配的会话。
S12、电子设备通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点。
本发明实施例中,若第一网关节点未存储有与第一访问请求携带的第一报文匹配的第一会话,可能第一会话还未被创建,或,第一会话还未同步至第一网关节点,可以通过哈希算法,根据第一报文的目的地址以及第一报文的目的端口,确定管理第一报文的第二网关节点,第二网关节点可以为第一报文分配用于访问外部网络的网络地址以及端口,并创建与第一报文匹配的会话,若第一会话已被创建,则第二网关节点会存储有第一会话,若第一会话未被创建,则第二网关节点可以创建第一会话。
可选的,若第一网关节点存储有与第一访问请求携带的第一报文匹配的第一会话,可以将第一报文的源地址映射为第一会话存储的用于访问外部网络的网络地址,以及将第一报文的源端口映射为第一会话存储的用于访问外部网络的端口。
作为一种可选的实施方式,步骤S12之后,所述方法还包括:
判断所述第二网关节点的超时心跳的次数是否大于预设次数阈值;
若所述第二网关节点的超时心跳的次数大于预设次数阈值,确定所述第二网关节点出现故障。
其中,心跳可以指主服务器与各设备之间通过周期性发送信息,判断设备的健康状况,判断对方是否“存活”的行为。如果在指定的时间内仍没有收到设备的心跳信息,就可以怀疑此设备发生故障。
本发明实施例中,可以预先设置一个判定设备故障的超时心跳的次数,比如3次,如果在指定时间内没有收到第二网关节点的心跳信息(超时心跳)的次数超过3次,则可以认为第二网关节点出现了故障,如果在指定时间没有收到第二网关节点的心跳信息的次数不超过3次,则可以认为第二网关节点处于正常运行的状态。
作为一种可选的实施方式,所述确定所述第二网关节点出现故障之后,所述方法还包括:
确定所述剩余网关节点的交集会话,其中,所述交集会话为每个所述剩余网关节点所共同存储的会话;
从每个所述剩余网关节点存储的会话中,删除所述交集会话之外的其他会话;
根据所述交集会话存储的网络地址以及所述剩余网关节点的网络地址资源,重新确定管理每个所述交集会话的网关节点。
在该可选的实施方式中,因为在确定第二网关节点出现故障后,为了保证网络间的通信连接可以正常通信,需要剩余网关节点同步会话,每个节点网关可以广播自己的会话的ID(唯一身份标识),进而确定剩余网关节点的交集会话,删除交集会话之外的其他会话,从而保证所有网关节点的会话都相同。因为会话关联的特定网络地址资源只在一个固定的网关节点上分配和释放,所有会话的创建和删除在同一个网关节点上。需要将所有的网络地址资源重新分配至剩余网关节点,使得剩余网关节点可以管理原本由第二网关节点管理的会话。因此还需要重新确定管理每个交集会话的网关节点。
可选的,当会话定时器超时的时侯,可以向管理该会话的网关节点发送会话删除请求,若管理该会话的网关节点接收到两个或两个以上的会话删除请求,则可以将该会话删除。
S13、当检测到所述第二网关节点出现故障时,电子设备将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点。
本发明实施例中,当检测到第二网关节点出现故障时,因为会话关联的特定网络地址资源只在一个固定的网关节点上分配和释放,所有会话的创建和删除在同一个网关节点上。需要将所有的网络地址资源重新分配至剩余网关节点,使得剩余网关节点可以管理原本由第二网关节点管理的会话。
S14、电子设备根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点。
本发明实施中,因为网络地址资源被重新分配了,因此,会话关联的特定网络地址资源可能会由别的的网关节点管理,因此,需要重新确定管理第一报文的第三网关节点。可以通过对第一报文的目标地址以及第一报文的目的端口进行哈希计算,确定管理第一报文的第三网关节点。其中,哈希计算用的算法可以是通用的地址哈希(IP HASH)算法,比如:假设有4个网关节点,可以使用地址加端口号对4取余数,得出的结果为网关节点的节点ID,若有一个网关节点故障了,剩3个网关节点,则调整哈希函数为地址加端口号对3取余数,得出的结果为网关节点的节点ID。
S15、电子设备根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
本发明实施例中,可以将第一报文发送至第三网关节点,因为第三网关节点在所有网络资源重新分配后,可以为第一报文分配用于访问外部网络的网络地址以及用于访问外部网络的端口,或,第三网关节点拥有并可以管理已分配给第一报文的用于访问外部网卡的网络地址以及用于访问外部网络的端口。
具体的,所述根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络包括:
将所述第一报文发送至所述第三网关节点;
判断所述第三网关节点存储的多个会话是否包括所述第一会话;
若所述第三网关节点存储的多个会话包括所述第一会话,获取所述第一会话存储的第一网络地址以及第一端口;
通过地址资源转换算法,将所述第一报文的源地址映射为所述第一网络地址,以及将所述第一报文的源端口映射为所述第一端口,以使用所述第一网络地址以及所述第一端口,将所述第一报文发送至所述外部网络。
在该可选的实施方式中,因为第一会话可能在之前已被创建并被存储至第三网关节点,第三网关节点接收到第一报文后,可以先查询自身是否存储有第一会话。
其中,所述第一网络地址为可以访问外部网络的合法地址,所述第一端口为可以访问外部网络的合法端口。
其中,地址资源转换(Network Address Translation,NAT)可以用来更换报文的网络地址以及端口。因为第一报文的源地址一源端口是在内部网络中使用,会被外部网络拦截,访问不了外部网络,所以需要通过地址资源转换,将第一报文的源地址映射为第一网络地址,以及将第一报文的源端口映射为第一端口,第一报文就可以属于合法报文,可以将第一报文发送至外部网络。若第三网关节点存储的多个会话包括第一会话,则可以直接读取第一会话,获取第一会话存储的第一网络地址以及第一端口。
作为一种可选的实施方式,所述方法还包括:
若所述第三网关节点存储的多个会话未包括所述第一会话,从所述第三网关节点的可用网络地址资源中选择第二网络地址以及第二端口;
通过所述地址资源转换算法,将所述第一报文的源地址映射为所述第二网络地址,以及将所述第一报文的源端口映射为所述第二端口;
根据所述第一报文的源地址、所述第一报文的源端口、所述第二网络地址以及所述第二端口,生成与所述第一报文匹配的第二会话;
将所述第二会话同步至所有正常运行的网关节点。
在该可选的实施方式中,若第三网关节点存储的多个会话没有包括第一会话,则可以认为第一会话还没被创建,可以从第三网关节点的可用网络地址资源中选取一个第二网络地址以及第二端口,通过地址资源转换,将第一报文的源地址映射为第二网络地址,以及将第一报文的源端口映射为第二端口,并可以创建第二会话,用于保存第一报文的源地址、第一报文的源端口、第二网络地址、第二端口、第一报文的目的地址以及第一报文的目的端口等信息。为了使任意一个正常运行的网关节点都可以进行转发都可以发送与第一报文具有相同源地址以及相同源端口的报文,需要将第二会话同步至所有正常运行的网关节点。
作为一种可选的实施方式,所述方法还包括:
当第四网关节点接收到由所述外部网络发送至所述内部网络的第二访问请求时,判断所述第四网关节点是否存储有与所述第二访问请求携带的第二报文匹配的第三会话;
若所述第四网关节点存储有与所述第二访问请求携带的第二报文匹配的第三会话,将所述第二报文的目的地址映射为所述第三会话存储的第三网络地址,以及将所述第二报文的目的端口映射为所述第三会话存储的第三端口,并根据映射后的所述第二报文的第三网络地址以及所述第二报文的第一端口,将所述第二报文发送至所述内部网络。
在该可选的实施方式中,当第四网关节点接收到来自外部网络的第二报文时,需要将第二报文能翻译成内部网络可以识别的网络地址和端口,才可以将第二报文发送至内部网络,可以查询自身是否存储由于第二报文匹配的第三会话,若第四网关节点存储有与第二报文匹配的第三会话,则可以将第二报文的目的地址映射为第三会话存储的第三网络地址,以及将第二报文的目的端口映射为第三会话存储的第三端口,让第二报文可以被内部网络识别,因此,可以将第二报文发送至内部网络。
作为一种可选的实施方式,所述方法还包括:
若所述第四网关节点未存储有与所述第二访问请求携带的第二报文匹配的第三会话,通过哈希算法,根据所述第二报文的源地址以及所述第二报文的源端口,确定管理所述第二报文的第五网关节点;
判断所述第五网关节点是否为所述第四网关节点;
若所述第五网关节点为所述第四网关节点,将所述第二报文丢弃。
在该可选的实施方式中,若第四网关节点未存储有与第二访问请求携带的第二报文匹配的第三会话,可能第三会话还未同步至第四网关节点,可以通过哈希算法,根据第二报文的源地址以及第二报文的源端口,确定管理第二报文的第五网关节点,若第三会话已被创建,则第五网关节点会存储有第三会话,若第五网关节点就是第四网关节点,则说明第三会话未被创建,或,第三会话已经结束,被删除了,表明第二报文不能翻译成内部网络可以识别的网络地址和端口,可以将第二报文丢弃。
作为一种可选的实施方式,所述方法还包括:
当第六网关节点上线时,将所有正常运行的网关节点中除了所述第六网关节点之外的网关节点存储的会话同步至所述第六网关节点;
判断所述第六网关节点存储的会话的数量是否大于预设数量阈值;
若所述第六网关节点存储的会话的数量大于预设数量阈值,将所有网络地址资源重新分配至所述第六网关节点以及所述所有正常运行的网关节点。
其中,所述预设数量阈值可以为所有正常运行的网关节点中除了第六网关节点之外的任意一个网关节点存储的会话的数量的90%。
在该可选的实施方式中,当第六网关节点上线时,可以将所有正常运行的网关节点中除了第六网关节点之外的网关节点存储的会话同步至第六网关节点,使得进入第六网关节点的报文可以被正常发送至外部网络或内部网络,若第六网关节点存储的会话的数量大于预设数量阈值时,可以将所有网络地址资源重新分配至第六网关节点以及所有运行正常的网关节点。因为总的网络地址资源是有限,每个网关节点都要拥有一部分网络地址资源,所以有新的网关节点上线,需要重新分配网络地址资源。
在图1所描述的方法流程中,当第一网关节点接收到由内部网络发往外部网络的访问请求时,因为来自内部网络的访问请求携带的报文使用的互联网协议地址属于非法地址,不能访问外部网络,需要根据会话存储的信息,将报文的非法地址映射为合法地址,才可以访问外部网络,所以需要判断第一网关节点是否存储有与报文匹配的会话,若第一网关节点不存储有与报文匹配的会话,可能与该报文匹配的会话还没同步到第一网关节点或还没被创建,则需要将报文发送给管理该报文的第二网关节点,因为第二网关节点可以使用自身的网络地址资源来创建与该报文匹配的会话,若检测到第二网关节点发生故障了,可以重新分配网络地址资源,使得其他网关节点可以创建原本由第二网关节点创建的会话,然后,可以重新确定管理该报文的第三网关节点,并将该报文发送至第三网关节点,若第三网关节点存储有与该报文匹配的会话,则可以根据会话存储的相关信息,将该报文发送至外部网络,确保内部网络可以正常访问外部网络,提高了网络服务质量。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
请参见图2,图2是本发明公开的一种基于多个网络的通信装置的较佳实施例的功能模块图。
在一些实施例中,所述基于多个网络的通信装置运行于电子设备中。所述基于多个网络的通信装置可以包括多个由程序代码段所组成的功能模块。所述中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的基于多个网络的通信方法中的部分或全部步骤。
本实施例中,所述基于多个网络的通信装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:判断模块201、确定模块202、分配模块203及发送模块204。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
判断模块201,用于当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话;
其中,所述第一网关节点可以为任意一台网关设备。
其中,会话(Session)可以是一种数据结构,保存着进入网关节点前的IP(Internet Protocol,互联网协议地址)五元组和进入网关节点并经过NAT(NetworkAddress Translation,网络地址转换)处理后的IP五元组的映射关系。
其中,五元组可以指源IP地址,源端口,目的IP地址,目的端口,和传输层协议组成的一个集合。
本发明实施例中,当第一网关节点接收到有内部网络发往外部网络的第一访问请求时,因为第一访问请求携带的第一报文的源地址是内部网络使用的网络地址,无法访问外部网络,需要网关节点给第一报文分配一个合法网络地址以及一个端口,确保第一报文可以正常发送至外部网络,网关节点给第一报文分配合法地址以及端口后,相关的信息会保存在会话中,在通信连接断开前,凡是具有相同的源地址以及相同的源端口的报文都可以根据这个会话来进行网络地址转换,从而正常发往外部网络。因此,需要判断第一网关节点是否存储有与第一访问请求携带的第一报文匹配的会话。
确定模块202,用于若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点。
本发明实施例中,若第一网关节点未存储有与第一访问请求携带的第一报文匹配的第一会话,可能第一会话还未被创建,或,第一会话还未同步至第一网关节点,可以通过哈希算法,根据第一报文的目的地址以及第一报文的目的端口,确定管理第一报文的第二网关节点,第二网关节点可以为第一报文分配用于访问外部网络的网络地址以及端口,并创建与第一报文匹配的会话,若第一会话已被创建,则第二网关节点会存储有第一会话,若第一会话未被创建,则第二网关节点可以创建第一会话。
可选的,若第一网关节点存储有与第一访问请求携带的第一报文匹配的第一会话,可以将第一报文的源地址映射为第一会话存储的用于访问外部网络的网络地址,以及将第一报文的源端口映射为第一会话存储的用于访问外部网络的端口。
分配模块203,用于当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点。
本发明实施例中,当检测到第二网关节点出现故障时,因为会话关联的特定网络地址资源只在一个固定的网关节点上分配和释放,所有会话的创建和删除在同一个网关节点上。需要将所有的网络地址资源重新分配至剩余网关节点,使得剩余网关节点可以管理原本由第二网关节点管理的会话。
所述确定模块202,还用于根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点。
本发明实施中,因为网络地址资源被重新分配了,因此,会话关联的特定网络地址资源可能会由别的的网关节点管理,因此,需要重新确定管理第一报文的第三网关节点。可以通过对第一报文的目标地址以及第一报文的目的端口进行哈希计算,确定管理第一报文的第三网关节点。其中,哈希计算用的算法可以是通用的地址哈希(IP HASH)算法,比如:假设有4个网关节点,可以使用地址加端口号对4取余数,得出的结果为网关节点的节点ID,若有一个网关节点故障了,剩3个网关节点,则调整哈希函数为地址加端口号对3取余数,得出的结果为网关节点的节点ID。
发送模块204,用于根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
本发明实施例中,可以将第一报文发送至第三网关节点,因为第三网关节点在所有网络资源重新分配后,可以为第一报文分配用于访问外部网络的网络地址以及用于访问外部网络的端口,或,第三网关节点拥有并可以管理已分配给第一报文的用于访问外部网卡的网络地址以及用于访问外部网络的端口。
作为一种可选的实施方式,所述发送模块204根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络的方式具体为:
将所述第一报文发送至所述第三网关节点;
判断所述第三网关节点存储的多个会话是否包括所述第一会话;
若所述第三网关节点存储的多个会话包括所述第一会话,获取所述第一会话存储的第一网络地址以及第一端口;
通过地址资源转换算法,将所述第一报文的源地址映射为所述第一网络地址,以及将所述第一报文的源端口映射为所述第一端口,以使用所述第一网络地址以及所述第一端口,将所述第一报文发送至所述外部网络。
在该可选的实施方式中,因为第一会话可能在之前已被创建并被存储至第三网关节点,第三网关节点接收到第一报文后,可以先查询自身是否存储有第一会话。
其中,所述第一网络地址为可以访问外部网络的合法地址,所述第一端口为可以访问外部网络的合法端口。
其中,地址资源转换(Network Address Translation,NAT)可以用来更换报文的网络地址以及端口。因为第一报文的源地址一源端口是在内部网络中使用,会被外部网络拦截,访问不了外部网络,所以需要通过地址资源转换,将第一报文的源地址映射为第一网络地址,以及将第一报文的源端口映射为第一端口,第一报文就可以属于合法报文,可以将第一报文发送至外部网络。若第三网关节点存储的多个会话包括第一会话,则可以直接读取第一会话,获取第一会话存储的第一网络地址以及第一端口。
作为一种可选的实施方式,所述基于多个网络的通信装置还可以包括:
选择模块,用于若所述第三网关节点存储的多个会话未包括所述第一会话,从所述第三网关节点的可用网络地址资源中选择第二网络地址以及第二端口;
映射模块,用于通过所述地址资源转换算法,将所述第一报文的源地址映射为所述第二网络地址,以及将所述第一报文的源端口映射为所述第二端口;
生成模块,用于根据所述第一报文的源地址、所述第一报文的源端口、所述第二网络地址以及所述第二端口,生成与所述第一报文匹配的第二会话;
第一同步模块,用于将所述第二会话同步至所有正常运行的网关节点。
在该可选的实施方式中,若第三网关节点存储的多个会话没有包括第一会话,则可以认为第一会话还没被创建,可以从第三网关节点的可用网络地址资源中选取一个第二网络地址以及第二端口,通过地址资源转换,将第一报文的源地址映射为第二网络地址,以及将第一报文的源端口映射为第二端口,并可以创建第二会话,用于保存第一报文的源地址、第一报文的源端口、第二网络地址、第二端口、第一报文的目的地址以及第一报文的目的端口等信息。为了使任意一个正常运行的网关节点都可以进行转发都可以发送与第一报文具有相同源地址以及相同源端口的报文,需要将第二会话同步至所有正常运行的网关节点。
作为一种可选的实施方式,所述方法还包括:
所述判断模块201,还用于当第四网关节点接收到由所述外部网络发送至所述内部网络的第二访问请求时,判断所述第四网关节点是否存储有与所述第二访问请求携带的第二报文匹配的第三会话;
所述发送模块204,还用于若所述第四网关节点存储有与所述第二访问请求携带的第二报文匹配的第三会话,将所述第二报文的目的地址映射为所述第三会话存储的第三网络地址,以及将所述第二报文的目的端口映射为所述第三会话存储的第三端口,并根据映射后的所述第二报文的第三网络地址以及所述第二报文的第一端口,将所述第二报文发送至所述内部网络。
在该可选的实施方式中,当第四网关节点接收到来自外部网络的第二报文时,需要将第二报文能翻译成内部网络可以识别的网络地址和端口,才可以将第二报文发送至内部网络,可以查询自身是否存储由于第二报文匹配的第三会话,若第四网关节点存储有与第二报文匹配的第三会话,则可以将第二报文的目的地址映射为第三会话存储的第三网络地址,以及将第二报文的目的端口映射为第三会话存储的第三端口,让第二报文可以被内部网络识别,因此,可以将第二报文发送至内部网络。
作为一种可选的实施方式,所述确定模块202,还用于若所述第四网关节点未存储有与所述第二访问请求携带的第二报文匹配的第三会话,通过哈希算法,根据所述第二报文的源地址以及所述第二报文的源端口,确定管理所述第二报文的第五网关节点;
所述判断模块201,还用于判断所述第五网关节点是否为所述第四网关节点;
所述基于多个网络的通信装置还可以包括:
丢弃模块,还用于若所述第五网关节点为所述第四网关节点,将所述第二报文丢弃。
在该可选的实施方式中,若第四网关节点未存储有与第二访问请求携带的第二报文匹配的第三会话,可能第三会话还未同步至第四网关节点,可以通过哈希算法,根据第二报文的源地址以及第二报文的源端口,确定管理第二报文的第五网关节点,若第三会话已被创建,则第五网关节点会存储有第三会话,若第五网关节点就是第四网关节点,则说明第三会话未被创建,或,第三会话已经结束,被删除了,表明第二报文不能翻译成内部网络可以识别的网络地址和端口,可以将第二报文丢弃。
作为一种可选的实施方式,所述判断模块201,还用于所述确定模块202确定管理所述第一报文的第二网关节点之后,判断所述第二网关节点的超时心跳的次数是否大于预设次数阈值;
所述确定模块202,还用于若所述第二网关节点的超时心跳的次数大于预设次数阈值,确定所述第二网关节点出现故障。
其中,心跳可以指主服务器与各设备之间通过周期性发送信息,判断设备的健康状况,判断对方是否“存活”的行为。如果在指定的时间内仍没有收到设备的心跳信息,就可以怀疑此设备发生故障。
本发明实施例中,可以预先设置一个判定设备故障的超时心跳的次数,比如3次,如果在指定时间内没有收到第二网关节点的心跳信息(超时心跳)的次数超过3次,则可以认为第二网关节点出现了故障,如果在指定时间没有收到第二网关节点的心跳信息的次数不超过3次,则可以认为第二网关节点处于正常运行的状态。
作为一种可选的实施方式,所述确定模块202,还用于确定所述剩余网关节点的交集会话,其中,所述交集会话为每个所述剩余网关节点所共同存储的会话;
所述基于多个网络的通信装置还可以包括:
删除模块,用于从每个所述剩余网关节点存储的会话中,删除所述交集会话之外的其他会话;
所述确定模块202,还用于根据所述交集会话存储的网络地址以及所述剩余网关节点的网络地址资源,重新确定管理每个所述交集会话的网关节点。
在该可选的实施方式中,因为在确定第二网关节点出现故障后,为了保证网络间的通信连接可以正常通信,需要剩余网关节点同步会话,每个节点网关可以广播自己的会话的ID(唯一身份标识),进而确定剩余网关节点的交集会话,删除交集会话之外的其他会话,从而保证所有网关节点的会话都相同。因为会话关联的特定网络地址资源只在一个固定的网关节点上分配和释放,所有会话的创建和删除在同一个网关节点上。需要将所有的网络地址资源重新分配至剩余网关节点,使得剩余网关节点可以管理原本由第二网关节点管理的会话。因此还需要重新确定管理每个交集会话的网关节点。
可选的,当会话定时器超时时,可以向管理该会话的网关节点发送会话删除请求,若管理该会话的网关节点接收到两个或两个以上的会话删除请求,则可以将该会话删除。
作为一种可选的实施方式,所述基于多个网络的通信装置还可以包括:
第二同步模块,用于当第六网关节点上线时,将所有正常运行的网关节点中除了所述第六网关节点之外的网关节点存储的会话同步至所述第六网关节点;
所述判断模块201,还用于判断所述第六网关节点存储的会话的数量是否大于预设数量阈值;
所述分配模块203,还用于若所述第六网关节点存储的会话的数量大于预设数量阈值,将所有网络地址资源重新分配至所述第六网关节点以及所述所有正常运行的网关节点。
其中,所述预设数量阈值可以为所有正常运行的网关节点中除了第六网关节点之外的任意一个网关节点存储的会话的数量的90%。
在该可选的实施方式中,当第六网关节点上线时,可以将所有正常运行的网关节点中除了第六网关节点之外的网关节点存储的会话同步至第六网关节点,使得进入第六网关节点的报文可以被正常发送至外部网络或内部网络,若第六网关节点存储的会话的数量大于预设数量阈值时,可以将所有网络地址资源重新分配至第六网关节点以及所有运行正常的网关节点。因为总的网络地址资源是有限,每个网关节点都要拥有一部分网络地址资源,所以有新的网关节点上线,需要重新分配网络地址资源。
在图2所描述的基于多个网络的通信装置中,当第一网关节点接收到由内部网络发往外部网络的访问请求时,因为来自内部网络的访问请求携带的报文使用的互联网协议地址属于非法地址,不能访问外部网络,需要根据会话存储的信息,将报文的非法地址映射为合法地址,才可以访问外部网络,所以需要判断第一网关节点是否存储有与报文匹配的会话,若第一网关节点不存储有与报文匹配的会话,可能与该报文匹配的会话还没同步到第一网关节点或还没被创建,则需要将报文发送给管理该报文的第二网关节点,因为第二网关节点可以使用自身的网络地址资源来创建与该报文匹配的会话,若检测到第二网关节点发生故障了,可以重新分配网络地址资源,使得其他网关节点可以创建原本由第二网关节点创建的会话,然后,可以重新确定管理该报文的第三网关节点,并将该报文发送至第三网关节点,若第三网关节点存储有与该报文匹配的会话,则可以根据会话存储的相关信息,将该报文发送至外部网络,确保内部网络可以正常访问外部网络,提高了网络服务质量。
如图3所示,图3是本发明实现基于多个网络的通信方法的较佳实施例的电子设备的结构示意图。所述电子设备3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
本领域技术人员可以理解,图3所示的示意图仅仅是所述电子设备3的示例,并不构成对所述电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备3的使用所创建的数据(比如音频数据等)等。此外,存储器31可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件等。
结合图1,所述电子设备3中的所述存储器31存储多个指令以实现一种基于多个网络的通信方法,所述处理器32可执行所述多个指令从而实现:
当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话;
若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点;
当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点;
根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点;
根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在图3所描述的电子设备3中,当第一网关节点接收到由内部网络发往外部网络的访问请求时,因为来自内部网络的访问请求携带的报文使用的互联网协议地址属于非法地址,不能访问外部网络,需要根据会话存储的信息,将报文的非法地址映射为合法地址,才可以访问外部网络,所以需要判断第一网关节点是否存储有与报文匹配的会话,若第一网关节点不存储有与报文匹配的会话,可能与该报文匹配的会话还没同步到第一网关节点或还没被创建,则需要将报文发送给管理该报文的第二网关节点,因为第二网关节点可以使用自身的网络地址资源来创建与该报文匹配的会话,若检测到第二网关节点发生故障了,可以重新分配网络地址资源,使得其他网关节点可以创建原本由第二网关节点创建的会话,然后,可以重新确定管理该报文的第三网关节点,并将该报文发送至第三网关节点,若第三网关节点存储有与该报文匹配的会话,则可以根据会话存储的相关信息,将该报文发送至外部网络,确保内部网络可以正常访问外部网络,提高了网络服务质量。
所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于多个网络的通信方法,其特征在于,所述方法包括:
当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话;
若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点;
当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点;
根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点;
根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络包括:
将所述第一报文发送至所述第三网关节点;
判断所述第三网关节点存储的多个会话是否包括所述第一会话;
若所述第三网关节点存储的多个会话包括所述第一会话,获取所述第一会话存储的第一网络地址以及第一端口;
通过地址资源转换算法,将所述第一报文的源地址映射为所述第一网络地址,以及将所述第一报文的源端口映射为所述第一端口,以使用所述第一网络地址以及所述第一端口,将所述第一报文发送至所述外部网络。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第三网关节点存储的多个会话未包括所述第一会话,从所述第三网关节点的可用网络地址资源中选择第二网络地址以及第二端口;
通过所述地址资源转换算法,将所述第一报文的源地址映射为所述第二网络地址,以及将所述第一报文的源端口映射为所述第二端口;
根据所述第一报文的源地址、所述第一报文的源端口、所述第二网络地址以及所述第二端口,生成与所述第一报文匹配的第二会话;
将所述第二会话同步至所有正常运行的网关节点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当第四网关节点接收到由所述外部网络发送至所述内部网络的第二访问请求时,判断所述第四网关节点是否存储有与所述第二访问请求携带的第二报文匹配的第三会话;
若所述第四网关节点存储有与所述第二访问请求携带的第二报文匹配的第三会话,将所述第二报文的目的地址映射为所述第三会话存储的第三网络地址,以及将所述第二报文的目的端口映射为所述第三会话存储的第三端口,并根据映射后的所述第二报文的第三网络地址以及所述第二报文的第一端口,将所述第二报文发送至所述内部网络。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第四网关节点未存储有与所述第二访问请求携带的第二报文匹配的第三会话,通过哈希算法,根据所述第二报文的源地址以及所述第二报文的源端口,确定管理所述第二报文的第五网关节点;
判断所述第五网关节点是否为所述第四网关节点;
若所述第五网关节点为所述第四网关节点,将所述第二报文丢弃。
6.根据权利要求1所述的方法,其特征在于,所述确定管理所述第一报文的第二网关节点之后,所述方法还包括:
判断所述第二网关节点的超时心跳的次数是否大于预设次数阈值,其中,所述超时心跳包括在指定时间内没有收到所述第二网关节点的心跳信息;
若所述第二网关节点的超时心跳的次数大于预设次数阈值,确定所述第二网关节点出现故障。
7.根据权利要求6所述的方法,其特征在于,所述确定所述第二网关节点出现故障之后,所述方法还包括:
确定所述剩余网关节点的交集会话,其中,所述交集会话为每个所述剩余网关节点所共同存储的会话;
从每个所述剩余网关节点存储的会话中,删除所述交集会话之外的其他会话;
根据所述交集会话存储的网络地址以及所述剩余网关节点的网络地址资源,重新确定管理每个所述交集会话的网关节点。
8.一种基于多个网络的通信装置,其特征在于,所述基于多个网络的通信装置包括:
判断模块,用于当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话;
确定模块,用于若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管理所述第一报文的第二网关节点;
分配模块,用于当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点;
所述确定模块,还用于根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点;
发送模块,用于根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至7中任意一项所述的基于多个网络的通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至7中任意一项所述的基于多个网络的通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010193483.7A CN111585887B (zh) | 2020-03-18 | 2020-03-18 | 基于多个网络的通信方法、装置、电子设备及存储介质 |
PCT/CN2020/093312 WO2021184551A1 (zh) | 2020-03-18 | 2020-05-29 | 基于多个网络的通信方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010193483.7A CN111585887B (zh) | 2020-03-18 | 2020-03-18 | 基于多个网络的通信方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585887A CN111585887A (zh) | 2020-08-25 |
CN111585887B true CN111585887B (zh) | 2022-07-15 |
Family
ID=72111478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010193483.7A Active CN111585887B (zh) | 2020-03-18 | 2020-03-18 | 基于多个网络的通信方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111585887B (zh) |
WO (1) | WO2021184551A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822262B (zh) * | 2021-01-04 | 2022-11-22 | 北京知道创宇信息技术股份有限公司 | 报文处理方法和装置、报文处理设备及存储介质 |
CN114143251B (zh) * | 2021-12-08 | 2023-10-13 | 北京天融信网络安全技术有限公司 | 智能选路方法、装置、电子设备及计算机可读存储介质 |
CN114785737A (zh) * | 2022-04-11 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 报文处理方法、网关设备、服务器及存储介质 |
CN115086274B (zh) * | 2022-06-10 | 2023-12-22 | 北京启明星辰信息安全技术有限公司 | 一种网络流量分配方法、装置、设备和存储介质 |
CN115633044B (zh) * | 2022-07-20 | 2024-01-19 | 广州汽车集团股份有限公司 | 报文的处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007181079A (ja) * | 2005-12-28 | 2007-07-12 | Mitsubishi Electric Corp | 通信経路制御システム |
CN101043447A (zh) * | 2007-04-23 | 2007-09-26 | 重庆大学 | 基于ddns和nat的服务器内外网动态映射方法 |
CN103888277A (zh) * | 2012-12-19 | 2014-06-25 | 中国移动通信集团公司 | 一种网关容灾备份方法、装置和系统 |
CN104247343A (zh) * | 2012-04-27 | 2014-12-24 | 日本电气株式会社 | 通信系统以及用于路径控制的方法 |
CN104426699A (zh) * | 2013-08-30 | 2015-03-18 | 华为技术有限公司 | 通信方法、服务器及通信系统 |
CN110166432A (zh) * | 2019-04-17 | 2019-08-23 | 平安科技(深圳)有限公司 | 对内网目标服务的访问方法、提供内网目标服务的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383778B (zh) * | 2008-10-27 | 2011-04-13 | 杭州华三通信技术有限公司 | 基于网络双出口的报文传输方法和出口路由器 |
CN101702657B (zh) * | 2009-12-04 | 2012-04-18 | 杭州华三通信技术有限公司 | 一种nat业务的热备份方法和设备 |
US20150244630A1 (en) * | 2014-02-23 | 2015-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | IPoE DUAL-STACK SUBSCRIBER FOR ROUTED RESIDENTIAL GATEWAY CONFIGURATION |
US20150304427A1 (en) * | 2014-04-22 | 2015-10-22 | Alcatel-Lucent Canada, Inc. | Efficient internet protocol security and network address translation |
CN106789141B (zh) * | 2015-11-24 | 2020-12-11 | 阿里巴巴集团控股有限公司 | 一种网关设备故障处理方法及装置 |
-
2020
- 2020-03-18 CN CN202010193483.7A patent/CN111585887B/zh active Active
- 2020-05-29 WO PCT/CN2020/093312 patent/WO2021184551A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007181079A (ja) * | 2005-12-28 | 2007-07-12 | Mitsubishi Electric Corp | 通信経路制御システム |
CN101043447A (zh) * | 2007-04-23 | 2007-09-26 | 重庆大学 | 基于ddns和nat的服务器内外网动态映射方法 |
CN104247343A (zh) * | 2012-04-27 | 2014-12-24 | 日本电气株式会社 | 通信系统以及用于路径控制的方法 |
CN103888277A (zh) * | 2012-12-19 | 2014-06-25 | 中国移动通信集团公司 | 一种网关容灾备份方法、装置和系统 |
CN104426699A (zh) * | 2013-08-30 | 2015-03-18 | 华为技术有限公司 | 通信方法、服务器及通信系统 |
CN110166432A (zh) * | 2019-04-17 | 2019-08-23 | 平安科技(深圳)有限公司 | 对内网目标服务的访问方法、提供内网目标服务的方法 |
Non-Patent Citations (1)
Title |
---|
谭志勇,李进生.《基于MSTP+VRRP的高可靠性园区网络设计与实现》.《计算机时代》.2018,(第2期), * |
Also Published As
Publication number | Publication date |
---|---|
CN111585887A (zh) | 2020-08-25 |
WO2021184551A1 (zh) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111585887B (zh) | 基于多个网络的通信方法、装置、电子设备及存储介质 | |
US11418512B2 (en) | Method for virtual machine to access physical server in cloud computing system, apparatus, and system | |
WO2020186909A1 (zh) | 虚拟网络业务处理方法、装置和系统,控制器,存储介质 | |
US8769269B2 (en) | Cloud data management | |
US7711900B2 (en) | Method, system and program product for equitable sharing of a CAM table in a network switch in an on-demand environment | |
CN109981493B (zh) | 一种用于配置虚拟机网络的方法和装置 | |
RU2653292C2 (ru) | Перенос служб через границы кластеров | |
CN108322325B (zh) | 一种虚拟机管理方法及装置 | |
US9940020B2 (en) | Memory management method, apparatus, and system | |
US11068461B1 (en) | Monitoring key access patterns for nonrelational databases | |
JP2014524056A (ja) | 大規模記憶システム | |
WO2014190791A1 (zh) | 一种网关设备身份设置的方法及管理网关设备 | |
CN110225146B (zh) | 内外网映射方法、装置、电子设备、介质及视频会议系统 | |
CN111338806B (zh) | 一种业务控制方法及装置 | |
US20100020818A1 (en) | Sharing buffer space in link aggregation configurations | |
CN104506654B (zh) | 云计算系统及动态主机配置协议服务器备份方法 | |
WO2023056797A1 (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN113361913A (zh) | 一种通信业务编排方法、装置、计算机设备及存储介质 | |
CN110636149B (zh) | 远程访问方法、装置、路由器及存储介质 | |
CN111683164B (zh) | 一种ip地址的配置方法及vpn服务系统 | |
CN110958326B (zh) | 一种负载均衡方法、装置、系统、设备及介质 | |
CN114257545A (zh) | 一种报文转发方法及装置 | |
US10990429B2 (en) | Rule-based reallocation of hosted compute resources | |
CN109510864A (zh) | 一种缓存请求的转发方法、传输方法及相关装置 | |
CN113127145B (zh) | 信息处理方法、装置以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40031268 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |