logo好方法网

基于多个网络的通信方法、装置、电子设备及存储介质


技术摘要:
一种基于多个网络的通信方法,所述方法包括:当第一网关节点接收到第一访问请求时,若第一网关节点未存储第一会话,确定管理第一报文的第二网关节点;当检测到第二网关节点出现故障时,将所有网络地址资源重新分配至所有网关节点中除了第二网关节点外的剩余网关节点;  全部
背景技术:
目前,内部网络访问外部网络时,需要通过NAT(Network  AddressTranslation,网 络地址转换)处理将内部网络请求的互联网协议地址映射为合法的地址,才可以访问外部 网络。在访问的过程中,会建立一个与访问请求相关的Session(会话),通过会话来保存相 关信息。但在实践中发现,如果在访问过程中的某个网关节点发生了故障,该网关节点就无 法继续处理用户的访问请求,需要将用户的访问请求发送到其他网关节点,以由其他网关 节点为用户处理该访问请求。但是由于其他网关节点没有与这个访问请求相关的会话,因 此,无法使用其他网关节点来继续处理该访问请求的相关业务,导致网络服务质量较差。 因此,如何确保用户的访问请求的正常处理以提高网络服务质量是一个亟需解决 的技术问题。
技术实现要素:
鉴于以上内容,有必要提供一种基于多个网络的通信方法、装置、电子设备及存储 介质,能够确保内部网络可以正常访问外部网络,提高了网络服务质量。 本发明的第一方面提供一种基于多个网络的通信方法,所述方法包括: 当第一网关节点接收到由内部网络发往外部网络的第一访问请求时,判断所述第 一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会话; 若所述第一网关节点未存储有与所述第一访问请求携带的第一报文匹配的第一 会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目的端口,确定管 理所述第一报文的第二网关节点; 当检测到所述第二网关节点出现故障时,将所有网络地址资源重新分配至所有网 关节点中除了所述第二网关节点外的剩余网关节点; 根据所述剩余网关节点的网络地址资源以及所述第一报文的目的地址以及所述 第一报文的目的端口,重新确定管理所述第一报文的第三网关节点; 根据所述第三网关节点存储的多个会话,将所述第一报文发送至所述外部网络。 在一种可能的实现方式中,所述根据所述第三网关节点存储的多个会话,将所述 第一报文发送至所述外部网络包括: 将所述第一报文发送至所述第三网关节点; 判断所述第三网关节点存储的多个会话是否包括所述第一会话; 若所述第三网关节点存储的多个会话包括所述第一会话,获取所述第一会话存储 的第一网络地址以及第一端口; 通过地址资源转换算法,将所述第一报文的源地址映射为所述第一网络地址,以 4 CN 111585887 A 说 明 书 2/15 页 及将所述第一报文的源端口映射为所述第一端口,以使用所述第一网络地址以及所述第一 端口,将所述第一报文发送至所述外部网络。 在一种可能的实现方式中,所述方法还包括: 若所述第三网关节点存储的多个会话未包括所述第一会话,从所述第三网关节点 的可用网络地址资源中选择第二网络地址以及第二端口; 通过所述地址资源转换算法,将所述第一报文的源地址映射为所述第二网络地 址,以及将所述第一报文的源端口映射为所述第二端口; 根据所述第一报文的源地址、所述第一报文的源端口、所述第二网络地址以及所 述第二端口,生成与所述第一报文匹配的第二会话; 将所述第二会话同步至所有正常运行的网关节点。 在一种可能的实现方式中,所述方法还包括: 当第四网关节点接收到由所述外部网络发送至所述内部网络的第二访问请求时, 判断所述第四网关节点是否存储有与所述第二访问请求携带的第二报文匹配的第三会话; 若所述第四网关节点存储有与所述第二访问请求携带的第二报文匹配的第三会 话,将所述第二报文的目的地址映射为所述第三会话存储的第三网络地址,以及将所述第 二报文的目的端口映射为所述第三会话存储的第三端口,并根据映射后的所述第二报文的 第三网络地址以及所述第二报文的第一端口,将所述第二报文发送至所述内部网络。 在一种可能的实现方式中,所述方法还包括: 若所述第四网关节点未存储有与所述第二访问请求携带的第二报文匹配的第三 会话,通过哈希算法,根据所述第二报文的源地址以及所述第二报文的源端口,确定管理所 述第二报文的第五网关节点; 判断所述第五网关节点是否为所述第四网关节点; 若所述第五网关节点为所述第四网关节点,将所述第二报文丢弃。 在一种可能的实现方式中,所述确定管理所述第一报文的第二网关节点之后,所 述方法还包括: 判断所述第二网关节点的超时心跳的次数是否大于预设次数阈值; 若所述第二网关节点的超时心跳的次数大于预设次数阈值,确定所述第二网关节 点出现故障。 在一种可能的实现方式中,所述确定所述第二网关节点出现故障之后,所述方法 还包括: 确定所述剩余网关节点的交集会话,其中,所述交集会话为每个所述剩余网关节 点所共同存储的会话; 从每个所述剩余网关节点存储的会话中,删除所述交集会话之外的其他会话; 根据所述交集会话存储的网络地址以及所述剩余网关节点的网络地址资源,重新 确定管理每个所述交集会话的网关节点。 本发明的第二方面提供一种基于多个网络的通信装置,所述装置包括: 判断模块,用于当第一网关节点接收到由内部网络发往外部网络的第一访问请求 时,判断所述第一网关节点是否存储有与所述第一访问请求携带的第一报文匹配的第一会 话; 5 CN 111585887 A 说 明 书 3/15 页 确定模块,用于若所述第一网关节点未存储有与所述第一访问请求携带的第一报 文匹配的第一会话,通过哈希算法,根据所述第一报文的目的地址以及所述第一报文的目 的端口,确定管理所述第一报文的第二网关节点; 分配模块,用于当检测到所述第二网关节点出现故障时,将所有网络地址资源重 新分配至所有网关节点中除了所述第二网关节点外的剩余网关节点; 所述确定模块,还用于根据所述剩余网关节点的网络地址资源以及所述第一报文 的目的地址以及所述第一报文的目的端口,重新确定管理所述第一报文的第三网关节点; 发送模块,用于根据所述第三网关节点存储的多个会话,将所述第一报文发送至 所述外部网络。 本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述 处理器用于执行所述存储器中存储的计算机程序时实现所述的基于多个网络的通信方法。 本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存 储有计算机程序,所述计算机程序被处理器执行时实现所述的基于多个网络的通信方法。 由以上技术方案,本发明中,当第一网关节点接收到由内部网络发往外部网络的 访问请求时,因为来自内部网络的访问请求携带的报文使用的互联网协议地址属于非法地 址,不能访问外部网络,需要根据会话存储的信息,将报文的非法地址映射为合法地址,才 可以访问外部网络,所以需要判断第一网关节点是否存储有与报文匹配的会话,若第一网 关节点不存储有与报文匹配的会话,可能与该报文匹配的会话还没同步到第一网关节点或 还没被创建,则需要将报文发送给管理该报文的第二网关节点,因为第二网关节点可以使 用自身的网络地址资源来创建与该报文匹配的会话,若检测到第二网关节点发生故障了, 可以重新分配网络地址资源,使得其他网关节点可以创建原本由第二网关节点创建的会 话,然后,可以重新确定管理该报文的第三网关节点,并将该报文发送至第三网关节点,若 第三网关节点存储有与该报文匹配的会话,则可以根据会话存储的相关信息,将该报文发 送至外部网络,确保内部网络可以正常访问外部网络,提高了网络服务质量。 附图说明 图1是本发明公开的一种基于多个网络的通信方法的较佳实施例的流程图。 图2是本发明公开的一种基于多个网络的通信装置的较佳实施例的功能模块图。 图3是本发明实现基于多个网络的通信方法的较佳实施例的电子设备的结构示意 图。
下载此资料需消耗2积分,
分享到:
收藏