CN113395309A - 一种通信方法及计算机网络 - Google Patents
一种通信方法及计算机网络 Download PDFInfo
- Publication number
- CN113395309A CN113395309A CN202010178185.0A CN202010178185A CN113395309A CN 113395309 A CN113395309 A CN 113395309A CN 202010178185 A CN202010178185 A CN 202010178185A CN 113395309 A CN113395309 A CN 113395309A
- Authority
- CN
- China
- Prior art keywords
- gateway
- server
- address
- message
- network 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.)
- Granted
Links
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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- 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/1004—Server selection for load balancing
Abstract
本公开实施例公开了一种通信方法及计算机网络,所述通信方法包括通过第二网关从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址,将所述访问消息发送到所述服务器;接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;将所述响应消息发送到所述第一网关。本公开实施例避免了网关通过公网直接将响应消息发送给通过其他网关接入的访问发起端所引起的响应消息的传输速度较慢的技术问题,加快了响应消息回程的传输速度,从而适用于服务器向访问发起端实时发送大量数据的应用场景。
Description
技术领域
本公开涉及计算机应用技术领域,具体涉及一种通信方法及计算机网络。
背景技术
随着互联网技术的发展,扩大了用户终端接入互联网服务的地域范围,使公有云用户(租户)的业务越来越趋向于全国化乃至全球化。公网任播(anycast)技术可以满足遍布全球的用户终端的接入需求,现有技术中的公网任播服务通常在一个或者多个地域部署后端服务器,用户终端的访问消息进入接入点之后,被路由到本地或者最近的后端服务器进行处理,响应消息由后端服务端经过公网发送给用户终端,即响应消息不一定经过接入点。如果公有云用户只在一个地域部署服务,由于后端服务端返回的响应消息是经过公网直接返回给用户终端,对于跨地域甚至跨境的传输无法保障时延和稳定性;如果公有云用户在多个地域部署服务,虽然后端服务端可以就近处理访问消息,缩短了消息的传输距离,但是提高了互联网平台(云平台)的成本。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种通信方法及计算机网络。
第一方面,本公开实施例中提供了一种通信方法。
具体地,所述通信方法,包括:
通过第二网关从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址,将所述访问消息发送到所述服务器;
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
结合第一方面,本公开在第一方面的第一种实现方式中,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
结合第一方面,本公开在第一方面的第二种实现方式中,还包括,通过第一网关:
从访问发起端接收对服务器的访问消息;
根据所述访问消息确定所述服务器的网络地址,根据所述服务器的网络地址确定与所述服务器相对应的第二网关的网络地址;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将所述响应消息发送到所述访问发起端。
结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述服务器的网络地址是所述服务器的公网任播地址;和/或
所述第二网关与所述服务器位于同一局域网内。
结合第一方面,本公开在第一方面的第四种实现方式中,所述将所述访问消息发送到所述服务器,包括:
将所述第一网关的网络地址转换为特殊地址段SIP地址,其中,所述第二网关用于转发去往所述SIP地址的消息;
将所述访问消息和所述第一网关的SIP地址发送到与所述服务器相对应的第一交换机。
结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,还包括:
通过所述第一交换机,将所述访问消息发送到所述服务器,并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址。
结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,还包括,通过所述第一交换机:
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
结合第一方面,本公开在第一方面的第七种实现方式中,所述将所述访问消息发送到所述服务器,包括:
将所述第一网关的网络地址转换为特殊地址段SIP地址,其中,所述第二网关用于转发去往所述SIP地址的消息;
将所述访问消息和所述第一网关的SIP地址发送到与所述服务器相对应的第一负载均衡器。
结合第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,还包括:
通过所述第一负载均衡器,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址。
结合第一方面的第八种实现方式,本公开在第一方面的第九种实现方式中,还包括,通过所述第一负载均衡器:
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述SIP地址和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
结合第一方面的第四种实现方式或第七种实现方式,本公开在第一方面的第十种实现方式中,所述根据所述响应消息获取所述第一网关的网络地址,包括:
通过所述第二网关,根据与所述响应消息关联的所述第一网关的SIP地址,获取所述第一网关的网络地址。
结合第一方面,本公开在第一方面的第十一种实现方式中,所述将所述访问消息发送到所述服务器,包括:
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二交换机;
通过所述第二交换机,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的网络地址。
结合第一方面的第十一种实现方式,本公开在第一方面的第十二种实现方式中,所述根据所述响应消息获取所述第一网关的网络地址,包括:
通过所述第二交换机,接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的网络地址。
结合第一方面的第十二种实现方式,本公开在第一方面的第十三种实现方式中,所述将所述响应消息发送到所述第一网关,包括:
通过所述第二交换机,将所述响应消息发送到所述第一网关而不经过所述第二网关。
结合第一方面,本公开在第一方面的第十四种实现方式中,所述将所述访问消息发送到所述服务器,包括:
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二负载均衡器;
通过所述第二负载均衡器,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的网络地址。
结合第一方面的第十四种实现方式,本公开在第一方面的第十五种实现方式中,所述根据所述响应消息获取所述第一网关的网络地址,包括:
通过所述第二负载均衡器,接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的网络地址。
结合第一方面的第十五种实现方式,本公开在第一方面的第十六种实现方式中,所述将所述响应消息发送到所述第一网关,包括:
通过所述第二负载均衡器,将所述响应消息发送到所述第一网关而不经过所述第二网关。
第二方面,本公开实施例中提供了一种计算机网络。
具体地,所述计算机网络,包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
结合第二方面,本公开在第二方面的第一种实现方式中,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
结合第二方面,本公开在第二方面的第二种实现方式中,还包括:
第一交换机,包括第三处理器和第三存储器,所述第三存储器存储有第三计算机可执行指令,所述第三计算机可执行指令在被所述第三处理器执行时,使得所述第三处理器实现:
从所述第二网关接收所述访问消息;
将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址,其中,所述第一网关的SIP地址是从所述第一网关的网络地址转换得到的,所述第二网关用于转发去往所述SIP地址的消息;
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
结合第二方面,本公开在第二方面的第三种实现方式中,还包括:
第一负载均衡器,包括第四处理器和第四存储器,所述第四存储器存储有第四计算机可执行指令,所述第四计算机可执行指令在被所述第四处理器执行时,使得所述第四处理器实现:
从所述第二网关接收所述访问消息;
将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址,其中,所述第一网关的SIP地址是从所述第一网关的网络地址转换得到的,所述第二网关用于转发去往所述SIP地址的消息;
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
结合第二方面、第二方面的第一种实现方式、第二种实现方式或第三种实现方式,本公开在第二方面的第四种实现方式中,还包括:
第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
第三方面,本公开实施例中提供了一种计算机网络。
具体地,所述计算机网络,包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
第二交换机,包括第五处理器和第五存储器,所述第五存储器存储有第五计算机可执行指令,所述第五计算机可执行指令在被所述第五处理器执行时,使得所述第五处理器实现:
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
结合第三方面,本公开在第三方面的第一种实现方式中,
所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
结合第三方面或第三方面的第一种实现方式,本公开在第二方面的第二种实现方式中,还包括:
第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
第四方面,本公开实施例中提供了一种计算机网络。
具体地,所述计算机网络,包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
第二负载均衡器,包括第六处理器和第六存储器,所述第六存储器存储有第六计算机可执行指令,所述第六计算机可执行指令在被所述第六处理器执行时,使得所述第六处理器实现:
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
结合第四方面,本公开在第四方面的第一种实现方式中,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
结合第四方面或第四方面的第一种实现方式,本公开在第四方面的第二种实现方式中,还包括:
第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
根据本公开实施例提供的技术方案,通过第二网关从第一网关接收来自访问发起端的对服务器的访问消息,确定第一网关的网络地址,将访问消息发送到服务器,并接收来自服务器的对访问消息的响应消息,获取第一网关的网络地址,将响应消息发送到第一网关。本公开实施例避免了网关通过公网直接将响应消息发送给通过其他网关接入的访问发起端所引起的响应消息的传输速度较慢的技术问题,加快了响应消息回程的传输速度,从而适用于服务器向访问发起端实时发送大量数据的应用场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出现有技术的公网任播服务系统的架构图;
图2示出根据本公开的实施例的通信方法的流程图;
图3示出根据本公开的实施例的通信方法的应用场景图;
图4示出根据本公开的实施例的通信方法的应用场景图;
图5示出根据本公开的实施例的通信方法的应用场景图;
图6示出根据本公开的实施例的通信方法的应用场景图;
图7示出根据本公开的实施例的通信方法的应用场景图;
图8示出根据本公开的实施例的通信方法的应用场景图;
图9示出根据本公开的实施例的第二网关的结构框图;
图10示出适于用来实现根据本公开实施例的通信方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出现有技术的公网任播服务系统的架构图。如图1所示,假设公网任播服务系统包括多个,例如但不限于两个数据中心,分别为数据中心101和数据中心102,其中,数据中心101包括公网网关101B、负载均衡器101C、服务器101D和专线网关101E,数据中心102包括公网网关102B、负载均衡器102C、服务器102D和专线网关102E。用户终端通过公网从最近的数据中心的公网网关接入,然后负载均衡器将访问消息路由到本地的服务器进行处理,响应消息经原路返回到公网网关,再经过当地的公网返回到发起请求的用户终端。例如,用户终端101A通过公网从最近的数据中心101的公网网关101B接入,然后负载均衡器101C将访问消息路由到本地的服务器101D进行处理,响应消息经过负载均衡器101C返回到公网网关101B,再经过当地的公网返回到发起请求的用户终端101A;又例如,用户终端102A通过公网从最近的数据中心102的公网网关102B接入,然后负载均衡器102C将访问消息路由到本地的服务器102D进行处理,响应消息经过负载均衡器102C返回到公网网关102B,再经过当地的公网返回到发起请求的用户终端102A。上述公网任播服务系统中,由于互联网平台需要在多个地域的数据中心部署服务器,导致互联网平台的部署成本较高。
此外,一些公有云用户对外提供的服务可能要求用户终端实现全球同服,即无论用户终端处于何地,要求用户终端访问同一台服务器,例如,要求用户终端101A和102A访问同一台服务器101D。由于用户终端102A和服务器101D处于不同的地域,当用户终端102A访问服务器101D时,用户终端102A先把访问消息发送给数据中心102中的公网网关102B,公网网关102B把访问消息转发给专线网关102E,专线网关102E把访问消息路由至数据中心101中的专线网关101E,专线网关101E通过负载均衡器101C将访问消息分发给服务器101D。响应消息经过负载均衡器101C返回到公网网关101B,公网网关101B将响应消息通过数据中心101与数据中心102之间的公网传输给发起请求的用户终端102A。上述公网任播服务系统中,由于数据中心101的公网网关101B以及服务器101D不能识别用户终端102A的来源地域,因此,响应消息需要通过数据中心101与数据中心102之间的公网传输给用户终端102A,无法加速响应消息的传输速度,不适用于服务器向用户终端实时发送大量数据的应用场景。
图2示出根据本公开的实施例的通信方法的流程图。如图2所示,所述通信方法包括以下步骤S201-S203:
在步骤S201中,通过第二网关从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址,将所述访问消息发送到所述服务器;
在步骤S202中,接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
在步骤S203中,将所述响应消息发送到所述第一网关。
根据本公开的实施例,访问发起端可以为用户终端,例如:手持终端设备、笔记本电脑、蜂窝电话、智能电话、平板型电脑、机器类型通信终端或是其他具有通信功能的设备。第一网关可以处于距离访问发起端地域最近、或路由最短、或数据传输延迟最小的数据中心,访问发起端需要访问服务器时,可以先将访问消息发送给第一网关,第一网关可以将来自于访问发送端的对服务器的访问消息发送给第二网关,第二网关接收访问消息并确定第一网关的网络地址,其中,第二网关可以与第一网关处于不同的数据中心。第二网关可以根据访问消息获取服务器的地址,并根据服务器的地址将访问消息发送至服务器。
根据本公开的实施例,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址。
根据本公开的实施例,第一网关将访问消息发送给第二网关的同时,还可以将第一网关的网络地址也发送给第二网关,例如第一网关将访问消息与第一网关的网络地址相关联地发送给第二网关,以便于第二网关在接收到访问消息的同时可以确定第一网关的网络地址。
根据本公开的实施例,访问消息可以包括第一预设标识,其中,第一预设标识与第一网关的网络地址存在映射关系,以便于第二网关通过第一预设标识可以确定第一网关的网络地址。
根据本公开的实施例,服务器对访问消息进行处理之后可以获取访问消息的响应消息,并将响应消息返回给第二网关,第二网关接收响应消息并获取第一网关的网络地址。例如,由于第二网关已知访问消息来源于第一网关以及第一网关的网络地址,并且已知响应消息是对访问消息的响应,因此,第二网关在接收到响应消息时,可以相应地获取第一网关的网络地址。
根据本公开的实施例,所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
根据本公开的实施例,第二网关可以将访问消息与第一网关的网络地址一起发送到服务器,服务器将响应消息发送给第二网关的同时,还可以将第一网关的网络地址也发送给第二网关,例如服务器将响应消息与第一网关的网络地址相关联地发送给第二网关,以便于第二网关在接收到响应消息的同时可以确定第一网关的网络地址。
根据本公开的实施例,响应消息可以包括第二预设标识,第二预设标识与第一网关的网络地址存在映射关系,以便于第二网关通过第二预设标识可以确定第一网关的网络地址。
例如,第二网关可以通过会话来转发访问消息和接收对于访问消息的响应消息,并且将第一网关的网络地址或用于确定第一网关的网络地址的信息(例如,第二预设标识)与所述会话相关联地存储,这样,当通过会话接收到对于访问消息的响应消息时,可以通过会话查找到第一网关的网络地址或用于确定第一网关的网络地址的信息。或者,第二网关在转发访问消息时,可以把第一网关的网络地址或用于确定第一网关的网络地址的信息与访问消息一起向服务器转发,响应消息中可以包含所述第一网关的网络地址或用于确定第一网关的网络地址的信息,于是第二网关在接收到响应消息时,就可以相应地获取第一网关的网络地址。
根据本公开的实施例,为了避免第二网关通过公网直接将响应消息发送给访问发起端所引起的响应消息的传输速度较慢的技术问题,第二网关可以根据第一网关的网络地址将响应消息发送给第一网关,以便于第一网关将响应消息返回给访问发起端,从而提高了响应消息回程的传输速度。
根据本公开实施例提供的技术方案,通过第二网关从第一网关接收来自访问发起端的对服务器的访问消息,确定第一网关的网络地址,将访问消息发送到服务器,并接收来自服务器的对访问消息的响应消息,获取第一网关的网络地址,将响应消息发送到第一网关。本公开实施例避免了网关通过公网直接将响应消息发送给通过其他网关接入的访问发起端所引起的响应消息的传输速度较慢的技术问题,加快了响应消息回程的传输速度,从而适用于服务器向访问发起端实时发送大量数据的应用场景。
根据本公开的实施例,所述通信方法还包括,通过第一网关:
从访问发起端接收对服务器的访问消息;
根据所述访问消息确定所述服务器的网络地址,根据所述服务器的网络地址确定与所述服务器相对应的第二网关的网络地址;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将所述响应消息发送到所述访问发起端。
图3示出根据本公开的实施例的通信方法的应用场景图。如图3所示,为了描述的方便,图3的应用场景中仅绘制了一个访问发起端302A、一个第一网关302B,一个第二网关301B和一个服务器301D,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的访问发起端302A、第一网关302B,第二网关301B和服务器301D的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。
根据本公开的实施例,访问发起端302A需要访问服务器301D时,可以先将访问消息发送给第一网关302B。第一网关302B从访问发起端302A接收对服务器301D的访问消息之后,可以根据访问消息确定服务器301D的网络地址,例如,访问消息中可以指定服务器301D的网络地址。第一网关302B根据服务器301D的网络地址确定与服务器301D相对应的第二网关301B的网络地址,其中,通过第二网关301B可以访问服务器301D,第二网关301B可以与服务器301D处于相同局域网中,例如,第二网关301B可以是服务器301D所在的数据中心的接入网关。或者,第二网关301B也可以与服务器301D处于不同局域网中,但是第二网关301B可以将数据或消息路由到服务器301D。
根据本公开的实施例,在获取了第二网关301B的网络地址之后,第一网关302B可以将访问消息和第一网关302B的网络地址发送到与服务器301D相对应的第二网关301B,以便于服务器301D对访问消息进行处理之后获取响应消息,并将响应消息返回给第二网关301B,第二网关301B接收响应消息并获取第一网关302B的网络地址,从而使第二网关301B可以根据第一网关302B的网络地址,将响应消息发送给第一网关302B。第一网关302B可以将响应消息发送到访问发起端302A。
根据本公开的实施例,所述服务器的网络地址是所述服务器的公网任播地址(anycast-ip);和/或所述第二网关与所述服务器位于同一局域网内。
图4示出根据本公开的实施例的通信方法的应用场景图。如图4所示,为了描述的方便,图4的应用场景中仅绘制了数据中心401和数据中心402,其中,数据中心401包括一个第二网关401B和两个服务器401C、401D,数据中心402包括一个第一网关402B,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的第一网关402B,第二网关401B和服务器的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。
根据本公开的实施例,服务器401C和服务器401D可以绑定不同的公网任播地址,访问发起端402A可以通过公网任播地址访问数据中心401中相应的服务器。例如,如果访问发起端在访问消息中指定服务器401C的公网任播地址,则该访问消息将被转发到服务器401C进行处理。
根据本公开的实施例,一个数据中心可以为一个局域网,即第二网关401B和服务器401C、401D可以位于同一个局域网中。SDN控制器400可以建立服务器的公网任播地址与服务器所对应的第二网关的网络地址的映射关系表(anycast-ip表),例如,假设服务器401C的公网任播地址为100.1.1.1,服务器401D的公网任播地址为100.1.1.2,假设第二网关401B的网络地址为10.1.1.1,anycast-ip表可以表示如表1所示:
公网任播地址 | 服务器所对应的第二网关的网络地址 |
100.1.1.1 | 10.1.1.1 |
100.1.1.2 | 10.1.1.1 |
根据本公开的实施例,SDN控制器400可以将上述anycast-ip表发送给宣告了公网任播地址的各个数据中心的网关,例如,SDN控制器400可以将上述anycast-ip表发送给数据中心401中的第二网关401B和数据中心402中的第一网关402B。当访问发起端402A需要访问服务器401D时,数据中心402中的第一网关402B查询anycast-ip表,根据服务器401D的网络地址即公网任播地址100.1.1.2,确定与服务器401D相对应的第二网关401B的网络地址10.1.1.1,从而将访问消息发送给第二网关401B。
根据本公开的实施例,所述将所述访问消息发送到所述服务器,包括:
将所述第一网关的网络地址转换为特殊地址段SIP地址,其中,所述第二网关用于转发去往所述SIP地址的消息;
将所述访问消息和所述第一网关的SIP地址发送到与所述服务器相对应的第一交换机。
图5示出根据本公开的实施例的通信方法的应用场景图。如图5所示,为了描述的方便,图5的应用场景中仅绘制了数据中心501和数据中心502,其中,数据中心501包括一个第二网关501B、一个第一交换机501F和一个服务器501D,数据中心502包括一个第一网关502B,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的第一网关502B,第二网关501B、第一交换机501F和服务器501D的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。根据本公开的实施例,第一交换机501F可以是与服务器501D位于同一宿主机上的交换机。
根据本公开的实施例,假设访问发起端502A的网络地址为123.1.2.1,假设服务器501D的网络地址为公网任播地址100.1.1.1,假设第二网关501B的网络地址为10.1.1.1,假设第一网关502B的网络地址为10.2.1.1,SDN控制器可以建立anycast-ip表,表中记录公网任播地址100.1.1.1与第二网关501B的网络地址10.1.1.1相对应,并将anycast-ip表发送给第一网关502B和第二网关501B。当访问发起端502A需要访问公网任播地址100.1.1.1时,访问消息的内层源地址为访问发起端502A的网络地址123.1.2.1,访问消息的内层目的地址为服务器501D的公网任播地址100.1.1.1。
数据中心502中的第一网关502B查询anycast-ip表,根据公网任播地址100.1.1.1,确定与服务器501D相对应的第二网关501B的网络地址10.1.1.1。第一网关502B可以将访问消息封装为第一VxLAN隧道访问消息,其中,第一VxLAN隧道访问消息的虚拟网络标识(VNI)为公网任播隧道的VNI,第一VxLAN隧道访问消息的外层源地址为第一网关502B的网络地址10.2.1.1,第一VxLAN隧道访问消息的外层目的地址为第二网关501B的网络地址10.1.1.1。第一网关502B可以将第一VxLAN隧道访问消息发送给第二网关501B,第二网关501B可以根据第一VxLAN隧道访问消息的外层源地址获取第一网关502B的网络地址10.2.1.1。
根据本公开的实施例,SDN控制器可以给公网任播地址100.1.1.1相对应的第二网关501B分配26位掩码的特殊地址段SIP地址,并向数据中心501宣告特殊地址段SIP地址,第二网关501B可以建立SIP地址与接入点网关的网络地址的映射关系表(sip-mapping表),本公开将以第一网关502B为接入点网关为例进行说明,sip-mapping表可以表示如表2所示:
SIP地址 | 接入点网关的网络地址 |
10.10.10.1 | 10.2.1.1 |
通过上述sip-mapping表,可以将第一网关502B的网络地址10.2.1.1转换为特殊地址段SIP地址10.10.10.1,第二网关501B用于转发去往SIP地址10.10.10.1的消息,例如,从第二网关所在局域网内的设备发往SIP地址的消息都要由第二网关501B转发。
根据本公开的实施例,假设第一交换机501F的网络地址为10.1.1.2,第二网关501B可以根据第一VxLAN隧道访问消息的内层目的地址查询服务器501D所对应的第一交换机501F,并基于第一VxLAN隧道访问消息获取第二VxLAN隧道访问消息,例如将第一VxLAN隧道访问消息解封装后封装为第二VxLAN隧道访问消息,从而可以通过第二网关501B与第一交换机501F之间的隧道进行传输。其中,第二VxLAN隧道访问消息的VNI为分配给服务器501D的公网任播地址的租户的隧道ID,第二VxLAN隧道访问消息的外层源地址为第一网关502B的SIP地址10.10.10.1,第二VxLAN隧道访问消息的外层目的地址为第一交换机501F的网络地址10.1.1.2。第二网关501B可以将第二VxLAN隧道访问消息发送到与服务器501D相对应的第一交换机501F,其中,第二VxLAN隧道访问消息的外层源地址为第一网关502B的SIP地址10.10.10.1,即第一交换机501F可以获取第一网关502B的SIP地址。
根据本公开的实施例的通信方法还包括:
通过所述第一交换机,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址。
根据本公开的实施例,如图5所示,第一交换机501F接收到第二VxLAN隧道访问消息之后,可以对第二VxLAN隧道访问消息进行解封装,获取访问消息以及访问消息的标识信息,其中,访问消息的标识信息可以包括第二VxLAN隧道访问消息的内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议。或者,标识信息也可以是用于识别该访问消息的任何信息。
根据本公开的实施例,第一交换机501F可以根据内层目的地址即服务器501D的网络地址100.1.1.1,将访问消息发送到服务器501D。
根据本公开的实施例,第一交换机501F可以将访问消息的标识信息与第二VxLAN隧道访问消息的外层地址信息相关联地存储,例如,可以将访问消息相关联的标识信息与第二VxLAN隧道访问消息的外层源地址即第一网关502B的SIP地址10.10.10.1相关联地存储,从而可以根据标识信息获取第一网关502B的SIP地址10.10.10.1。
根据本公开的实施例,第一交换机501F接收到第二VxLAN隧道访问消息之后,可以根据第二VxLAN隧道访问消息的六元组信息(包括内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议)查找从第一交换机501F到服务器501D的会话,如果没有与该六元组信息相对应的会话,则建立该会话,通过会话将访问消息发送到服务器501D,并且与会话相关联地存储第一网关502B的SIP地址10.10.10.1。由于可以通过上述标识信息来识别会话,所以与会话相关联地存储第一网关的SIP地址10.10.10.1可以实施为与标识信息相关联地存储第一网关的SIP地址10.10.10.1。
根据本公开的实施例的通信方法还包括,通过所述第一交换机:
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
根据本公开的实施例,如图5所示,服务器501D对访问消息进行处理之后,可以获取访问消息的响应消息,服务器501D可以将响应消息发送给第一交换机501F。响应消息中可以包括内层地址信息(内层源地址、内层目的地址)、内层端口信息(内层源端口、内层目的端口)、内层协议,第一交换机501F可以从发送响应消息的服务器接口和接收响应消息的第一交换机501F接口确定第二VxLAN隧道访问消息的VNI,即第一交换机501F可以从响应消息确定标识信息,由于标识信息与第一网关502B的SIP地址10.10.10.1已经相关联存储,第一交换机501F可以根据标识信息获取第一网关502B的SIP地址10.10.10.1。根据本公开的实施例,第一交换机501F可以对响应消息以及标识信息进行封装获取第一VxLAN隧道响应消息,其中,第一VxLAN隧道响应消息的VNI为分配给服务器501D的公网任播地址的租户的隧道ID,第一VxLAN隧道响应消息的外层源地址为第一交换机501F的网络地址10.1.1.2,第一VxLAN隧道响应消息的外层目的地址为第一网关502B的SIP地址10.10.10.1。
根据本公开的实施例,由于去往第一网关502B的SIP地址10.10.10.1的消息由第二网关501B负责转发,因此,第一交换机501F根据第一网关502B的SIP地址10.10.10.1,确定第一VxLAN隧道响应消息应该发送给第二网关501B。第一交换机501F将第一VxLAN隧道响应消息发送给第二网关501B,第二网关501B从第一VxLAN隧道响应消息中可以获取响应消息以及第一网关502B的SIP地址10.10.10.1。
根据本公开的实施例,第二网关501B根据第一网关502B的SIP地址10.10.10.1,查询sip-mapping表,可以获取第一网关502B的网络地址10.2.1.1。第二网关501B可以根据第一网关502B的网络地址10.2.1.1,对响应消息进行封装获取第二VxLAN隧道响应消息,其中,第二VxLAN隧道响应消息的VNI为公网任播隧道的VNI,第二VxLAN隧道响应消息的外层源地址为第二网关501B的网络地址10.1.1.1,第二VxLAN隧道响应消息的外层目的地址为第一网关502B的网络地址为10.2.1.1。第二网关501B将第二VxLAN隧道响应消息发送给第一网关502B。
根据本公开的实施例,第一网关502B接收到第二VxLAN隧道响应消息之后,对第二VxLAN隧道响应消息进行解封装获取响应消息,并根据响应消息的内层地址即访问发起端502A的网络地址123.1.2.1,将响应消息返回给访问发起端502A。
根据本公开的实施例,在发送消息和信息(例如,地址信息)时,可以包括将信息与消息封装在一起发送,也可以将信息形成为消息的一部分,也可以将消息与信息分开发送。
根据本公开的实施例,消息在不同的通信链路中传输时可以采取相同或不同的封装形式。例如,访问消息在访问发起端与第一网关之间、第一网关与第二网关之间、第二网关与第一交换机之间、第一交换机与服务器之间传输时,可以采取相同或不同的封装形式。
根据本公开的实施例,采用六元组作为标识信息,可以利用消息本身携带的地址等信息实现SIP地址的存储和识别,而无需引入新的信息,避免了通信资源的浪费。
根据本公开的实施例,通过在第二网关处进行第一网关的网络地址到SIP地址的转换,可以使得响应消息必须经过第二网关传输,从而便于在第二网关处实现流量限速、计费、清洗、负载均衡等功能,对网络总体使用情况进行有效的监督和管控。
根据本公开的实施例,所述将所述访问消息发送到所述服务器,包括:
将所述第一网关的网络地址转换为特殊地址段SIP地址,其中,所述第二网关用于转发去往所述SIP地址的消息;
将所述访问消息和所述第一网关的SIP地址发送到与所述服务器相对应的第一负载均衡器。
图6示出根据本公开的实施例的通信方法的应用场景图。如图6所示,为了描述的方便,图6的应用场景中仅绘制了数据中心601和数据中心602,其中,数据中心601包括一个第二网关601B、一个第一负载均衡器601C和两个服务器601D、601F,数据中心602包括一个第一网关602B,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的第一网关602B,第二网关601B、第一负载均衡器601C和服务器601D、601F的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。根据本公开的实施例,第一负载均衡器601C可以通过与服务器601D相对应的交换机,例如与服务器601D位于同一宿主机上的交换机连接到服务器601D,和/或通过与服务器601F相对应的交换机,例如与服务器601F位于同一宿主机上的交换机连接到服务器601F。
根据本公开的实施例,假设访问发起端602A的网络地址为123.1.2.1,假设第一负载均衡器601C连接的两个服务器601D、601F的网络地址为公网任播地址100.1.1.1,假设第二网关601B的网络地址为10.1.1.1,假设第一网关602B的网络地址为10.2.1.1,SDN控制器可以建立anycast-ip表,表中记录服务器601D、601F的公网任播地址100.1.1.1与第二网关601B的网络地址10.1.1.1相对应,并将anycast-ip表发送给第一网关602B和第二网关601B。当访问发起端602A需要访问公网任播地址100.1.1.1时,访问消息的内层源地址为访问发起端602A的网络地址123.1.2.1,访问消息的内层目的地址为服务器601D、601F的公网任播地址100.1.1.1。
数据中心602中的第一网关602B查询anycast-ip表,根据公网任播地址100.1.1.1,确定与公网任播地址100.1.1.1相对应的第二网关601B的网络地址10.1.1.1。第一网关602B可以将访问消息封装为第三VxLAN隧道访问消息,其中,第三VxLAN隧道访问消息的虚拟网络标识(VNI)为公网任播隧道的VNI,第三VxLAN隧道访问消息的外层源地址为第一网关602B的网络地址10.2.1.1,第三VxLAN隧道访问消息的外层目的地址为第二网关601B的网络地址10.1.1.1。第一网关602B可以将第三VxLAN隧道访问消息发送给第二网关601B,第二网关601B可以根据第三VxLAN隧道访问消息的外层源地址获取第一网关602B的网络地址10.2.1.1。
根据本公开的实施例,SDN控制器可以给服务器601D相对应的第二网关601B分配26位掩码的特殊地址段SIP地址,并向数据中心601宣告特殊地址段SIP地址,第二网关601B可以建立SIP地址与接入点网关的网络地址的映射关系表(sip-mapping表),本公开将以第一网关602B为接入点网关为例进行说明,sip-mapping表可以表示如表3所示:
SIP地址 | 接入点网关的网络地址 |
10.10.10.1 | 10.2.1.1 |
通过上述sip-mapping表,可以将第一网关602B的网络地址10.2.1.1转换为特殊地址段SIP地址10.10.10.1,第二网关601B用于转发去往SIP地址10.10.10.1的消息,例如,从第二网关所在局域网内的设备发往SIP地址的消息都要由第二网关601B转发。
根据本公开的实施例,假设第一负载均衡器601C的网络地址为10.1.1.3,第二网关601B可以根据第三VxLAN隧道访问消息的内层目的地址查询服务器601D、601F所对应的第一负载均衡器601C,并基于第三VxLAN隧道访问消息获取第四VxLAN隧道访问消息,例如将第三VxLAN隧道访问消息解封装后封装为第四VxLAN隧道访问消息,从而可以通过第二网关601B与第一负载均衡器601C之间的隧道进行传输。其中,第四VxLAN隧道访问消息的VNI为分配给服务器601D、601F的公网任播地址的租户的隧道ID,第四VxLAN隧道访问消息的外层源地址为第一网关602B的SIP地址10.10.10.1,第四VxLAN隧道访问消息的外层目的地址为第一负载均衡器601C的网络地址10.1.1.3。第二网关601B可以将第四VxLAN隧道访问消息发送到与服务器601D相对应的第一负载均衡器601C,其中,第四VxLAN隧道访问消息的外层源地址为第一网关602B的SIP地址10.10.10.1,即第一负载均衡器601C可以获取第一网关602B的SIP地址。
根据本公开的实施例的通信方法还包括:
通过所述第一负载均衡器,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址。
根据本公开的实施例,如图6所示,第一负载均衡器601C接收到第四VxLAN隧道访问消息之后,可以对第四VxLAN隧道访问消息进行解封装,获取访问消息以及访问消息的标识信息,其中,访问消息的标识信息可以包括第四VxLAN隧道访问消息的内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议。或者,标识信息也可以是用于识别该访问消息的任何信息。
根据本公开的实施例,第一负载均衡器601C可以根据内层目的地址网络地址100.1.1.1,将访问消息发送到服务器601D或服务器601F。根据本公开的实施例,第一负载均衡器601C可以根据服务器601D和601F的当前负载决定将访问消息发送到二者之一。
根据本公开的实施例,第一负载均衡器601C可以将访问消息的标识信息与第四VxLAN隧道访问消息的外层地址信息相关联地存储,例如,可以将访问消息相关联的标识信息与第四VxLAN隧道访问消息的外层源地址即第一网关602B的SIP地址10.10.10.1相关联地存储,从而可以根据标识信息获取第一网关602B的SIP地址10.10.10.1。
根据本公开的实施例,第一负载均衡器601C接收到第四VxLAN隧道访问消息之后,可以先确定要转发到哪个服务器。例如,假设第一负载均衡器601C决定将访问消息转发到服务器601D,则第一负载均衡器601C根据第四VxLAN隧道访问消息的六元组信息(包括内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议)查找从第一负载均衡器601C到服务器601D(或到服务器601D对应的交换机)的会话,如果没有与该六元组信息相对应的会话,则建立该会话,通过会话将访问消息发送到服务器601D,或通过会话将访问消息发送到服务器601D对应的交换机,服务器601D对应的交换机再将访问消息发送到服务器601D。第一负载均衡器601C与会话相关联地存储第一网关602B的SIP地址10.10.10.1。由于可以通过上述标识信息来识别会话,所以与会话相关联地存储第一网关的SIP地址10.10.10.1可以实施为与标识信息相关联地存储第一网关的SIP地址10.10.10.1。
根据本公开的实施例的通信方法还包括,
通过所述第一负载均衡器:
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述SIP地址和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
根据本公开的实施例,如图6所示,服务器601D对访问消息进行处理之后,可以获取访问消息的响应消息,服务器601D可以将响应消息发送给第一负载均衡器601C。响应消息中可以包括内层地址信息(内层源地址、内层目的地址)、内层端口信息(内层源端口、内层目的端口)、内层协议,第一负载均衡器601C可以从发送响应消息的服务器接口(或发送响应消息的服务器601D对应的交换机接口)和接收响应消息的第一负载均衡器601C接口确定第四VxLAN隧道访问消息的VNI,即第一负载均衡器601C可以从响应消息确定标识信息,由于标识信息与第一网关602B的SIP地址10.10.10.1已经相关联存储,第一负载均衡器601C可以根据标识信息获取第一网关602B的SIP地址10.10.10.1。根据本公开的实施例,第一负载均衡器601C可以对响应消息以及标识信息进行封装获取第三VxLAN隧道响应消息,其中,第三VxLAN隧道响应消息的VNI为分配给服务器601D、601F的公网任播地址的租户的隧道ID,第三VxLAN隧道响应消息的外层源地址为第一负载均衡器601C的网络地址10.1.1.3,第三VxLAN隧道响应消息的外层目的地址为第一网关602B的SIP地址10.10.10.1。
根据本公开的实施例,由于去往第一网关602B的SIP地址10.10.10.1的消息由第二网关601B负责转发,因此,第一负载均衡器601C根据第一网关602B的SIP地址10.10.10.1,确定第三VxLAN隧道响应消息应该发送给第二网关601B。第一负载均衡器601C将第三VxLAN隧道响应消息发送给第二网关601B,第二网关601B从第三VxLAN隧道响应消息中可以获取响应消息以及第一网关602B的SIP地址10.10.10.1。
根据本公开的实施例,第二网关601B根据第一网关602B的SIP地址10.10.10.1,查询sip-mapping表,可以获取第一网关602B的网络地址10.2.1.1。第二网关601B可以根据第一网关602B的网络地址10.2.1.1,对响应消息进行封装获取第四VxLAN隧道响应消息,其中,第四VxLAN隧道响应消息的VNI为公网任播隧道的VNI,第四VxLAN隧道响应消息的外层源地址为第二网关601B的网络地址10.1.1.1,第四VxLAN隧道响应消息的外层目的地址为第一网关602B的网络地址为10.2.1.1。第二网关601B将第四VxLAN隧道响应消息发送给第一网关602B。
根据本公开的实施例,第一网关602B接收到第四VxLAN隧道响应消息之后,对第四VxLAN隧道响应消息进行解封装获取响应消息,并根据响应消息的内层地址即访问发起端602A的网络地址123.1.2.1,将响应消息返回给访问发起端602A。
根据本公开的实施例,在发送消息和信息(例如,地址信息)时,可以包括将信息与消息封装在一起发送,也可以将信息形成为消息的一部分,也可以将消息与信息分开发送。
根据本公开的实施例,消息在不同的通信链路中传输时可以采取相同或不同的封装形式。例如,访问消息在访问发起端与第一网关之间、第一网关与第二网关之间、第二网关与第一负载均衡器之间、第一负载均衡器与服务器(或服务器对应的网关)之间传输时,可以采取相同或不同的封装形式。
根据本公开的实施例,采用六元组作为标识信息,可以利用消息本身携带的地址等信息实现SIP地址的存储和识别,而无需引入新的信息,避免了资源浪费。
根据本公开的实施例,通过在第二网关处进行第一网关的网络地址到SIP地址的转换,可以使得响应消息必须经过第二网关传输,从而便于在第二网关处实现流量限速、计费、清洗、负载均衡等功能,对网络总体使用情况进行有效的监督和管控。
根据本公开的实施例,通过第一负载均衡器可以将访问发起端向服务器的访问请求在多个服务器之间进行均匀分流,从而适用于访问请求较多以及在同一个数据中心部署多个服务器的应用场景。
根据本公开的实施例,所述根据所述响应消息获取所述第一网关的网络地址,包括:
通过所述第二网关,根据与所述响应消息关联的所述第一网关的SIP地址,获取所述第一网关的网络地址。
根据本公开的实施例,SDN控制器可以给服务器相对应的第二网关分配26位掩码的特殊地址段SIP地址,并向服务器以及第二网关所在的数据中心宣告特殊地址段SIP地址,第二网关可以建立SIP地址与第一网关的网络地址的映射关系表(sip-mapping表)。根据与响应消息关联的第一网关的SIP地址,通过查询sip-mapping,可以获取第一网关的网络地址。
根据本公开的实施例,所述将所述访问消息发送到所述服务器,包括:
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二交换机;
通过所述第二交换机,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的网络地址。
图7示出根据本公开的实施例的通信方法的应用场景图。如图7所示,为了描述的方便,图7的应用场景中仅绘制了数据中心701和数据中心702,其中,数据中心701包括一个第二网关701B、一个第二交换机701F和一个服务器701D,数据中心702包括一个第一网关702B,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的第一网关702B,第二网关701B、第二交换机701F和服务器701D的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。根据本公开的实施例,第二交换机701F可以是与服务器701D位于同一宿主机上的交换机。
根据本公开的实施例,假设访问发起端702A的网络地址为123.1.2.1,假设服务器701D的网络地址为公网任播地址100.1.1.1,假设第二网关701B的网络地址为10.1.1.1,假设第一网关702B的网络地址为10.2.1.1,SDN控制器可以建立anycast-ip表,表中记录服务器701D的公网任播地址100.1.1.1与第二网关701B的网络地址10.1.1.1相对应,并将anycast-ip表发送给第一网关702B和第二网关701B。当访问发起端702A需要访问公网任播地址100.1.1.1时,访问消息的内层源地址为访问发起端702A的网络地址123.1.2.1,访问消息的内层目的地址为服务器701D的公网任播地址100.1.1.1。
数据中心702中的第一网关702B查询anycast-ip表,根据服务器701D的公网任播地址100.1.1.1,确定与服务器701D相对应的第二网关701B的网络地址10.1.1.1。第一网关702B可以将访问消息封装为第五VxLAN隧道访问消息,其中,第五VxLAN隧道访问消息的虚拟网络标识(VNI)为公网任播隧道的VNI,第五VxLAN隧道访问消息的外层源地址为第一网关702B的网络地址10.2.1.1,第五VxLAN隧道访问消息的外层目的地址为第二网关701B的网络地址10.1.1.1。第一网关702B可以将第五VxLAN隧道访问消息发送给第二网关701B,第二网关701B可以根据第五VxLAN隧道访问消息的外层源地址获取第一网关702B的网络地址10.2.1.1。
根据本公开的实施例,假设第二交换机701F的网络地址为10.1.1.4,第二网关701B可以根据第五VxLAN隧道访问消息的内层目的地址查询服务器701D所对应的第二交换机701F,并基于第五VxLAN隧道访问消息获取第六VxLAN隧道访问消息,例如将第五VxLAN隧道访问消息解封装后封装为第六VxLAN隧道访问消息,从而可以通过第二网关701B与第二交换机701F之间的隧道进行传输。其中,第六VxLAN隧道访问消息的VNI为分配给服务器701D的公网任播地址的租户的隧道ID,第六VxLAN隧道访问消息的外层源地址为第一网关702B的网络地址10.2.1.1,第六VxLAN隧道访问消息的外层目的地址为第二交换机701F的网络地址10.1.1.4。第二网关701B可以将第六VxLAN隧道访问消息发送到与服务器701D相对应的第二交换机701F,其中,第六VxLAN隧道访问消息的外层源地址为第一网关702B的网络地址10.2.1.1,即第二交换机701F可以获取第一网关702B的网络地址10.2.1.1。
根据本公开的实施例,第二交换机701F接收到第六VxLAN隧道访问消息之后,可以对第六VxLAN隧道访问消息进行解封装,获取访问消息以及访问消息的标识信息,其中,访问消息的标识信息可以包括第六VxLAN隧道访问消息的内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议。或者,标识信息也可以是用于识别该访问消息的任何信息。
根据本公开的实施例,第二交换机701F可以根据内层目的地址即服务器701D的网络地址100.1.1.1,将访问消息发送到服务器701D。
根据本公开的实施例,第二交换机701F可以将访问消息的标识信息与第六VxLAN隧道访问消息的外层地址信息相关联地存储,例如,可以将访问消息相关联的标识信息与第六VxLAN隧道访问消息的外层源地址即第一网关702B的网络地址10.2.1.1相关联地存储,从而可以根据标识信息获取第一网关702B的网络地址10.2.1.1。
根据本公开的实施例,第二交换机701F接收到第六VxLAN隧道访问消息之后,可以根据第六VxLAN隧道访问消息的六元组信息(包括内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议)查找从第二交换机701F到服务器701D的会话,如果没有与该六元组信息相对应的会话,则建立该会话,通过会话将访问消息发送到服务器701D,并且与会话相关联地存储第一网关702B的网络地址10.2.1.1。由于可以通过上述标识信息来识别会话,所以与会话相关联地存储第一网关的网络地址10.2.1.1可以实施为与标识信息相关联地存储第一网关的网络地址10.2.1.1。
根据本公开的实施例,所述根据所述响应消息获取所述第一网关的网络地址,包括:
通过所述第二交换机,接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的网络地址。
根据本公开的实施例,如图7所示,服务器701D对访问消息进行处理之后,可以获取访问消息的响应消息,服务器701D可以将响应消息发送给第二交换机701F。响应消息中可以包括内层地址信息(内层源地址、内层目的地址)、内层端口信息(内层源端口、内层目的端口)、内层协议,第二交换机701F可以从发送响应消息的服务器701D接口和接收响应消息的第二交换机701F接口确定第六VxLAN隧道访问消息的VNI,即第二交换机701F可以从响应消息确定标识信息,由于标识信息与第一网关702B的网络地址10.2.1.1已经相关联存储,第二交换机701F可以根据标识信息获取第一网关702B的网络地址10.2.1.1。
根据本公开的实施例,第二交换机701F可以对响应消息以及标识信息进行封装获取第五VxLAN隧道响应消息,其中,第五VxLAN隧道响应消息的VNI为分配给服务器701D的公网任播地址的租户的隧道ID,第五VxLAN隧道响应消息的外层源地址为第二交换机701F的网络地址10.1.1.4,第五VxLAN隧道响应消息的外层目的地址为第一网关702B的网络地址10.2.1.1。即第二交换机701F根据第一网关702B的网络地址10.2.1.1,确定第五VxLAN隧道响应消息应该发送给第一网关702B。
根据本公开的实施例,所述将所述响应消息发送到所述第一网关,包括:
通过所述第二交换机,将所述响应消息发送到所述第一网关而不经过所述第二网关。
根据本公开的实施例,第二交换机701F可以根据第一网关702B的网络地址10.2.1.1,将第五VxLAN隧道响应消息发送给第一网关702B,而不用经过第二网关701B。第一网关702B接收到第五VxLAN隧道响应消息之后,对第五VxLAN隧道响应消息进行解封装获取响应消息,并根据响应消息的内层地址即访问发起端702A的网络地址123.1.2.1,将响应消息返回给访问发起端702A。
根据本公开的实施例,在发送消息和信息(例如,地址信息)时,可以包括将信息与消息封装在一起发送,也可以将信息形成为消息的一部分,也可以将消息与信息分开发送。
根据本公开的实施例,消息在不同的通信链路中传输时可以采取相同或不同的封装形式。例如,访问消息在访问发起端与第一网关之间、第一网关与第二网关之间、第二网关与第二交换机之间、第二交换机与服务器之间传输时,可以采取相同或不同的封装形式。
根据本公开的实施例,采用六元组作为标识信息,可以利用消息本身携带的地址等信息实现接入点网关地址的存储和识别,而无需引入新的信息,避免了资源浪费。
根据本公开的实施例,通过第二交换机获取接入点网关即第一网关的网络地址,从而可以将响应消息由第二交换机发送给第一网关,而不需要经过第二网关,从而加快了响应消息的传输速度,适用于服务器向访问发起端实时发送大量数据的应用场景。
根据本公开的实施例,所述将所述访问消息发送到所述服务器,包括:
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二负载均衡器;
通过所述第二负载均衡器,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的网络地址。
图8示出根据本公开的实施例的通信方法的应用场景图。如图8所示,为了描述的方便,图8的应用场景中仅绘制了数据中心801和数据中心802,其中,数据中心801包括一个第二网关801B、一个第二负载均衡器801C和两个服务器801D、801F,数据中心802包括一个第一网关802B,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的第一网关802B,第二网关801B、第二负载均衡器801C和服务器801D、801F的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。
根据本公开的实施例,假设访问发起端802A的网络地址为123.1.2.1,假设服务器801D、801F的网络地址为公网任播地址100.1.1.1,假设第二网关801B的网络地址为10.1.1.1,假设第一网关802B的网络地址为10.2.1.1,SDN控制器可以建立anycast-ip表,表中记录服务器801D、801F的公网任播地址100.1.1.1与第二网关801B的网络地址10.1.1.1相对应,并将anycast-ip表发送给第一网关802B和第二网关801B。当访问发起端802A需要访问公网任播地址100.1.1.1时,访问消息的内层源地址为访问发起端802A的网络地址123.1.2.1,访问消息的内层目的地址为服务器801D、801F的公网任播地址100.1.1.1。
数据中心802中的第一网关802B查询anycast-ip表,根据服务器801D的公网任播地址100.1.1.1,确定与公网任播地址100.1.1.1相对应的第二网关801B的网络地址10.1.1.1。第一网关802B可以将访问消息封装为第七VxLAN隧道访问消息,其中,第七VxLAN隧道访问消息的虚拟网络标识(VNI)为公网任播隧道的VNI,第七VxLAN隧道访问消息的外层源地址为第一网关802B的网络地址10.2.1.1,第七VxLAN隧道访问消息的外层目的地址为第二网关801B的网络地址10.1.1.1。第一网关802B可以将第七VxLAN隧道访问消息发送给第二网关801B,第二网关801B可以根据第七VxLAN隧道访问消息的外层源地址获取第一网关802B的网络地址10.2.1.1。
根据本公开的实施例,假设第二负载均衡器801C的网络地址为10.1.1.5,第二网关801B可以根据第七VxLAN隧道访问消息的内层目的地址查询服务器801D、801F所对应的第二负载均衡器801C,并基于第七VxLAN隧道访问消息获取第八VxLAN隧道访问消息,例如将第七VxLAN隧道访问消息解封装后封装为第八VxLAN隧道访问消息,从而可以通过第二网关801B与第二负载均衡器801C之间的隧道进行传输。其中,第八VxLAN隧道访问消息的VNI为分配给服务器801D的公网任播地址的租户的隧道ID,第八VxLAN隧道访问消息的外层源地址为第一网关802B的网络地址10.2.1.1,第八VxLAN隧道访问消息的外层目的地址为第二负载均衡器801C的网络地址10.1.1.5。第二网关801B可以将第八VxLAN隧道访问消息发送到与服务器801D相对应的第二负载均衡器801C,其中,第八VxLAN隧道访问消息的外层源地址为第一网关802B的网络地址10.2.1.1,即第二负载均衡器801C可以获取第一网关802B的网络地址10.2.1.1。
根据本公开的实施例,第二负载均衡器801C接收到第八VxLAN隧道访问消息之后,可以对第八VxLAN隧道访问消息进行解封装,获取访问消息以及访问消息的标识信息,其中,访问消息的标识信息可以包括第八VxLAN隧道访问消息的内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议。或者,标识信息也可以是用于识别该访问消息的任何信息。
根据本公开的实施例,第二负载均衡器801C可以根据内层目的地址即服务器801D、801F的网络地址100.1.1.1,将访问消息发送到服务器801D、801F之一。根据本公开的实施例,第二负载均衡器801C可以根据服务器801D、801F的负载情况,将访问消息发送到二者之一。
根据本公开的实施例,第二负载均衡器801C可以将访问消息的标识信息与第八VxLAN隧道访问消息的外层地址信息相关联地存储,例如,可以将访问消息相关联的标识信息与第八VxLAN隧道访问消息的外层源地址即第一网关802B的网络地址10.2.1.1相关联地存储,从而可以根据标识信息获取第一网关802B的网络地址10.2.1.1。
根据本公开的实施例,第二负载均衡器801C接收到第八VxLAN隧道访问消息之后,可以先确定要转发到哪个服务器。例如,假设第二负载均衡器801C决定将访问消息转发到服务器801D,则第二负载均衡器801C根据第八VxLAN隧道访问消息的六元组信息(包括内层地址信息(内层源地址、内层目的地址)、VNI、内层端口信息(内层源端口、内层目的端口)、内层协议)查找从第二负载均衡器801C到服务器801D(或到服务器801D对应的交换机)的会话,如果没有与该六元组信息相对应的会话,则建立该会话,通过会话将访问消息发送到服务器801D,或通过会话将访问消息发送到服务器801D对应的交换机,服务器801D对应的交换机再将访问消息发送到服务器801D。第二负载均衡器801C与会话相关联地存储第一网关802B的网络地址10.2.1.1。由于可以通过上述标识信息来识别会话,所以与会话相关联地存储第一网关的网络地址10.2.1.1可以实施为与标识信息相关联地存储第一网关的网络地址10.2.1.1。
根据本公开的实施例,所述根据所述响应消息获取所述第一网关的网络地址,包括:
通过所述第二负载均衡器,接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的网络地址。
根据本公开的实施例,如图8所示,服务器801D对访问消息进行处理之后,可以获取访问消息的响应消息,服务器801D可以将响应消息发送给第二负载均衡器801C。响应消息中可以包括内层地址信息(内层源地址、内层目的地址)、内层端口信息(内层源端口、内层目的端口)、内层协议,第二负载均衡器801C可以从发送响应消息的服务器801D接口(或发送响应消息的服务器801D对应的交换机接口)和接收响应消息的第二负载均衡器801C接口确定第八VxLAN隧道访问消息的VNI,即第二负载均衡器801C可以从响应消息确定标识信息,由于标识信息与第一网关802B的网络地址10.2.1.1已经相关联存储,第二负载均衡器801C可以根据标识信息获取第一网关802B的网络地址10.2.1.1。
根据本公开的实施例,第二负载均衡器801C可以对响应消息以及标识信息进行封装获取第六VxLAN隧道响应消息,其中,第六VxLAN隧道响应消息的VNI为分配给服务器801D、801F的公网任播地址的租户的隧道ID,第六VxLAN隧道响应消息的外层源地址为第二负载均衡器801C的网络地址10.1.1.5,第六VxLAN隧道响应消息的外层目的地址为第一网关802B的网络地址10.2.1.1。即第二负载均衡器801C根据第一网关802B的网络地址10.2.1.1,确定第六VxLAN隧道响应消息应该发送给第一网关802B。
根据本公开的实施例,所述将所述响应消息发送到所述第一网关,包括:
通过所述第二负载均衡器,将所述响应消息发送到所述第一网关而不经过所述第二网关。
根据本公开的实施例,第二负载均衡器801C可以根据第一网关802B的网络地址10.2.1.1,将第六VxLAN隧道响应消息发送给第一网关802B,而不用经过第二网关801B。第一网关802B接收到第六VxLAN隧道响应消息之后,对第六VxLAN隧道响应消息进行解封装获取响应消息,并根据响应消息的内层地址即访问发起端802A的网络地址123.1.2.1,将响应消息返回给访问发起端802A。
根据本公开的实施例,在发送消息和信息(例如,地址信息)时,可以包括将信息与消息封装在一起发送,也可以将信息形成为消息的一部分,也可以将消息与信息分开发送。
根据本公开的实施例,消息在不同的通信链路中传输时可以采取相同或不同的封装形式。例如,访问消息在访问发起端与第一网关之间、第一网关与第二网关之间、第二网关与第二负载均衡器之间、第二负载均衡器与服务器之间传输时,可以采取相同或不同的封装形式。
根据本公开的实施例,采用六元组作为标识信息,可以利用消息本身携带的地址等信息实现接入点网关地址的存储和识别,而无需引入新的信息,避免了资源浪费。
根据本公开的实施例,通过第二负载均衡器获取接入点网关即第一网关的网络地址,从而可以将响应消息由第二负载均衡器发送给第一网关,而不需要经过第二网关,从而加快了响应消息的传输速度。同时,通过第二负载均衡器可以将访问发起端向服务器的访问请求在多个服务器之间进行均匀分流,适用于服务器向访问发起端实时发送大量数据的应用场景。
本公开还公开了一种计算机网络,所述计算机网络包括第二网关900,图9示出根据本公开的实施例的第二网关的结构框图。
如图9所示,所述第二网关,包括第二存储器901和第二处理器902;其中,所述第二存储器901存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器902执行时,使得所述第二处理器902实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
根据本公开的实施例,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
根据本公开的实施例,所述计算机网络,还包括:
第一交换机,包括第三处理器和第三存储器,所述第三存储器存储有第三计算机可执行指令,所述第三计算机可执行指令在被所述第三处理器执行时,使得所述第三处理器实现:
从所述第二网关接收所述访问消息;
将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址,其中,所述第一网关的SIP地址是从所述第一网关的网络地址转换得到的,所述第二网关用于转发去往所述SIP地址的消息;
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
根据本公开的实施例,所述计算机网络,还包括:第一负载均衡器,包括第四处理器和第四存储器,所述第四存储器存储有第四计算机可执行指令,所述第四计算机可执行指令在被所述第四处理器执行时,使得所述第四处理器实现:
从所述第二网关接收所述访问消息;
将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址,其中,所述第一网关的SIP地址是从所述第一网关的网络地址转换得到的,所述第二网关用于转发去往所述SIP地址的消息;
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
根据本公开的实施例,所述计算机网络,还包括:第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
本公开还公开了一种计算机网络,所述计算机网络包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
第二交换机,包括第五处理器和第五存储器,所述第五存储器存储有第五计算机可执行指令,所述第五计算机可执行指令在被所述第五处理器执行时,使得所述第五处理器实现:
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
根据本公开的实施例,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
根据本公开的实施例,所述计算机网络,还包括:第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
本公开还公开了一种计算机网络,所述计算机网络包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
第二负载均衡器,包括第六处理器和第六存储器,所述第六存储器存储有第六计算机可执行指令,所述第六计算机可执行指令在被所述第六处理器执行时,使得所述第六处理器实现:
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
根据本公开的实施例,所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
根据本公开的实施例,所述计算机网络,还包括:第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
图10示出适于用来实现根据本公开实施例的通信方法的计算机系统的结构示意图。
根据本公开的实施例,图10所示的计算机系统可以用于实现第一网关、第二网关、第一交换机、第二交换机、第一负载均衡器、第二负载均衡器、服务器中的任意一个或多个所执行的方法。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行上述实施例中的各种处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述对象类别确定方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (26)
1.一种通信方法,其特征在于,包括:
通过第二网关从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址,将所述访问消息发送到所述服务器;
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
2.根据权利要求1所述的方法,其特征在于:
所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
3.根据权利要求1所述的方法,其特征在于,还包括,通过第一网关:
从访问发起端接收对所述服务器的访问消息;
根据所述访问消息确定所述服务器的网络地址,根据所述服务器的网络地址确定与所述服务器相对应的第二网关的网络地址;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将所述响应消息发送到所述访问发起端。
4.根据权利要求3所述的方法,其特征在于:
所述服务器的网络地址是所述服务器的公网任播地址;和/或
所述第二网关与所述服务器位于同一局域网内。
5.根据权利要求1所述的方法,其特征在于,所述将所述访问消息发送到所述服务器,包括:
将所述第一网关的网络地址转换为特殊地址段SIP地址,其中,所述第二网关用于转发去往所述SIP地址的消息;
将所述访问消息和所述第一网关的SIP地址发送到与所述服务器相对应的第一交换机。
6.根据权利要求5所述的方法,其特征在于,还包括:
通过所述第一交换机,将所述访问消息发送到所述服务器,并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址。
7.根据权利要求6所述的方法,其特征在于,还包括,通过所述第一交换机:
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
8.根据权利要求1所述的方法,其特征在于,所述将所述访问消息发送到所述服务器,包括:
将所述第一网关的网络地址转换为特殊地址段SIP地址,其中,所述第二网关用于转发去往所述SIP地址的消息;
将所述访问消息和所述第一网关的SIP地址发送到与所述服务器相对应的第一负载均衡器。
9.根据权利要求8所述的方法,其特征在于,还包括:
通过所述第一负载均衡器,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址。
10.根据权利要求9所述的方法,其特征在于,还包括,通过所述第一负载均衡器:
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
11.根据权利要求5或8所述的方法,其特征在于,所述获取所述第一网关的网络地址,包括:
通过所述第二网关,根据与所述响应消息关联的所述第一网关的SIP地址,获取所述第一网关的网络地址。
12.根据权利要求1所述的方法,其特征在于,所述将所述访问消息发送到所述服务器,包括:
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二交换机;
通过所述第二交换机,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的网络地址。
13.根据权利要求12所述的方法,其特征在于,所述获取所述第一网关的网络地址,包括:
通过所述第二交换机,接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的网络地址。
14.根据权利要求13所述的方法,其特征在于,所述将所述响应消息发送到所述第一网关,包括:
通过所述第二交换机,将所述响应消息发送到所述第一网关而不经过所述第二网关。
15.根据权利要求1所述的方法,其特征在于,所述将所述访问消息发送到所述服务器,包括:
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二负载均衡器;
通过所述第二负载均衡器,将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的网络地址。
16.根据权利要求15所述的方法,其特征在于,所述获取所述第一网关的网络地址,包括:
通过所述第二负载均衡器,接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的网络地址。
17.根据权利要求16所述的方法,其特征在于,所述将所述响应消息发送到所述第一网关,包括:
通过所述第二负载均衡器,将所述响应消息发送到所述第一网关而不经过所述第二网关。
18.一种计算机网络,其特征在于,包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
19.根据权利要求18所述的计算机网络,其特征在于:
所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
20.根据权利要求18所述的计算机网络,其特征在于,还包括:
第一交换机,包括第三处理器和第三存储器,所述第三存储器存储有第三计算机可执行指令,所述第三计算机可执行指令在被所述第三处理器执行时,使得所述第三处理器实现:
从所述第二网关接收所述访问消息;
将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址,其中,所述第一网关的SIP地址是从所述第一网关的网络地址转换得到的,所述第二网关用于转发去往所述SIP地址的消息;
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
21.根据权利要求18所述的计算机网络,其特征在于,还包括:
第一负载均衡器,包括第四处理器和第四存储器,所述第四存储器存储有第四计算机可执行指令,所述第四计算机可执行指令在被所述第四处理器执行时,使得所述第四处理器实现:
从所述第二网关接收所述访问消息;
将所述访问消息发送到所述服务器并且与所述访问消息的标识信息相关联地存储所述第一网关的SIP地址,其中,所述第一网关的SIP地址是从所述第一网关的网络地址转换得到的,所述第二网关用于转发去往所述SIP地址的消息;
接收来自所述服务器的所述响应消息,根据所述响应消息确定所述标识信息,根据所述标识信息获取所述第一网关的SIP地址;
根据所述第一网关的SIP地址确定将所述响应消息发送到所述第二网关;
将所述响应消息和所述第一网关的SIP地址彼此关联地发送到所述第二网关。
22.一种计算机网络,其特征在于,包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定第一网关的网络地址;
将所述访问消息发送到所述服务器;
第二交换机,包括第五处理器和第五存储器,所述第五存储器存储有第五计算机可执行指令,所述第五计算机可执行指令在被所述第五处理器执行时,使得所述第五处理器实现:
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
23.根据权利要求22所述的计算机网络,其特征在于:
所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
24.一种计算机网络,其特征在于,包括:
第二网关,包括第二处理器和第二存储器,所述第二存储器存储有第二计算机可执行指令,所述第二计算机可执行指令在被所述第二处理器执行时,使得所述第二处理器实现:
从第一网关接收来自访问发起端的对服务器的访问消息,确定所述第一网关的网络地址;
将所述访问消息发送到所述服务器;
第二负载均衡器,包括第六处理器和第六存储器,所述第六存储器存储有第六计算机可执行指令,所述第六计算机可执行指令在被所述第六处理器执行时,使得所述第六处理器实现:
接收来自所述服务器的对所述访问消息的响应消息,获取所述第一网关的网络地址;
将所述响应消息发送到所述第一网关。
25.根据权利要求24所述的计算机网络,其特征在于:
所述确定所述第一网关的网络地址,包括:通过所述第二网关从所述第一网关与所述访问消息相关联地接收所述第一网关的网络地址;或者根据所述访问消息确定所述第一网关的网络地址;和/或
所述获取所述第一网关的网络地址,包括:根据所述响应消息确定所述第一网关的网络地址;或者与所述响应消息相关联地接收所述第一网关的网络地址。
26.根据权利要求18~25中任一项所述的计算机网络,其特征在于,还包括:
第一网关,包括第一处理器和第一存储器,所述第一存储器存储有第一计算机可执行指令,所述第一计算机可执行指令在被所述第一处理器执行时,使得所述第一处理器实现:
从访问发起端接收对服务器的访问消息;
将所述访问消息和所述第一网关的网络地址发送到与所述服务器相对应的第二网关;
将来自所述服务器的对所述访问消息的响应消息发送到所述访问发起端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010178185.0A CN113395309B (zh) | 2020-03-14 | 2020-03-14 | 一种通信方法及计算机网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010178185.0A CN113395309B (zh) | 2020-03-14 | 2020-03-14 | 一种通信方法及计算机网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113395309A true CN113395309A (zh) | 2021-09-14 |
CN113395309B CN113395309B (zh) | 2023-09-26 |
Family
ID=77616446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010178185.0A Active CN113395309B (zh) | 2020-03-14 | 2020-03-14 | 一种通信方法及计算机网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113395309B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785670A (zh) * | 2022-04-21 | 2022-07-22 | 中国建设银行股份有限公司 | 一种专线接入方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527549A (zh) * | 2003-03-06 | 2004-09-08 | 昱源科技股份有限公司 | 跨区转传装置及跨区转传系统 |
CN101400032A (zh) * | 2007-09-29 | 2009-04-01 | 中兴通讯股份有限公司 | 一种短信网关及其系统和实现方法 |
US8812727B1 (en) * | 2011-06-23 | 2014-08-19 | Amazon Technologies, Inc. | System and method for distributed load balancing with distributed direct server return |
CN105704036A (zh) * | 2014-11-27 | 2016-06-22 | 华为技术有限公司 | 报文转发方法、装置和系统 |
CN106713524A (zh) * | 2016-12-28 | 2017-05-24 | 迈普通信技术股份有限公司 | 一种ap设备、网络地址转换方法及通信系统 |
CN108769292A (zh) * | 2018-06-29 | 2018-11-06 | 北京百悟科技有限公司 | 报文数据处理方法及装置 |
CN109245984A (zh) * | 2018-07-13 | 2019-01-18 | 华为技术有限公司 | 一种报文传输方法、一种信息处理方法及其相关设备 |
-
2020
- 2020-03-14 CN CN202010178185.0A patent/CN113395309B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527549A (zh) * | 2003-03-06 | 2004-09-08 | 昱源科技股份有限公司 | 跨区转传装置及跨区转传系统 |
CN101400032A (zh) * | 2007-09-29 | 2009-04-01 | 中兴通讯股份有限公司 | 一种短信网关及其系统和实现方法 |
US8812727B1 (en) * | 2011-06-23 | 2014-08-19 | Amazon Technologies, Inc. | System and method for distributed load balancing with distributed direct server return |
CN105704036A (zh) * | 2014-11-27 | 2016-06-22 | 华为技术有限公司 | 报文转发方法、装置和系统 |
CN106713524A (zh) * | 2016-12-28 | 2017-05-24 | 迈普通信技术股份有限公司 | 一种ap设备、网络地址转换方法及通信系统 |
CN108769292A (zh) * | 2018-06-29 | 2018-11-06 | 北京百悟科技有限公司 | 报文数据处理方法及装置 |
CN109245984A (zh) * | 2018-07-13 | 2019-01-18 | 华为技术有限公司 | 一种报文传输方法、一种信息处理方法及其相关设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785670A (zh) * | 2022-04-21 | 2022-07-22 | 中国建设银行股份有限公司 | 一种专线接入方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113395309B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830538B (zh) | 一种消息传输方法、装置及存储介质 | |
US20220103990A1 (en) | Communication Method, Apparatus, and System | |
CN109983736A (zh) | 一种nf组件异常的处理方法、设备及系统 | |
CN112740642B (zh) | 通信方法及多接入边缘计算服务器 | |
US20220330355A1 (en) | Service Processing Method, Apparatus, and System | |
CN113301079B (zh) | 一种数据的获取方法、系统、计算设备及存储介质 | |
CN112533177A (zh) | 一种提供、发现移动边缘计算的方法及设备、装置、介质 | |
CN109996196A (zh) | 路由寻址方法、短消息下行处理方法、设备和系统 | |
CN113746928A (zh) | 跨云服务调用方法、装置和系统 | |
CN112866413A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
CN110012107B (zh) | 一种数据通信方法、设备、装置、系统及存储介质 | |
CN113395309B (zh) | 一种通信方法及计算机网络 | |
CN105897542B (zh) | 一种隧道建立方法及视频监控系统 | |
CN114765600B (zh) | 一种IPv6地址的配置方法及路由设备 | |
CN113162836A (zh) | 虚拟局域网联通方法、装置、云服务器、介质和电子设备 | |
EP3503484A1 (en) | Message transmission method, device and network system | |
US20200403963A1 (en) | Method and System for Processing Network Request, Entry Network Device and Exit Network | |
CN110868762B (zh) | 一种数据流处理方法、装置及系统 | |
CN113424608B (zh) | 用于为网络提供外部服务的实体 | |
CN109582242B (zh) | 级联存储阵列系统的地址确定方法、装置、电子设备 | |
WO2017000583A1 (zh) | 一种终端接入方法及相应的终端、基站和主核心网 | |
CN115567521A (zh) | 局域网与公有云之间的通信方法及装置、计算设备 | |
CN110324435B (zh) | 一种网络请求处理方法及系统 | |
CN110474781B (zh) | 一种组播数据转发的方法及装置 | |
CN113114670A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059859 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |