CN112887185B - 一种叠加网络的通信方法及装置 - Google Patents
一种叠加网络的通信方法及装置 Download PDFInfo
- Publication number
- CN112887185B CN112887185B CN201911206922.7A CN201911206922A CN112887185B CN 112887185 B CN112887185 B CN 112887185B CN 201911206922 A CN201911206922 A CN 201911206922A CN 112887185 B CN112887185 B CN 112887185B
- Authority
- CN
- China
- Prior art keywords
- host
- tunnel terminal
- message
- service request
- superposition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004891 communication Methods 0.000 title claims abstract description 55
- 230000036541 health Effects 0.000 claims abstract description 182
- 230000002159 abnormal effect Effects 0.000 claims abstract description 30
- 230000007366 host health Effects 0.000 claims abstract description 24
- 230000003862 health status Effects 0.000 claims description 34
- 238000001514 detection method Methods 0.000 claims description 31
- 230000005641 tunneling Effects 0.000 claims description 17
- 239000000523 sample Substances 0.000 claims description 3
- 238000013461 design Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000005538 encapsulation Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
-
- 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
- H04L2212/00—Encapsulation of packets
Abstract
本申请实施例提供一种叠加网络的通信方法及装置,涉及通信技术领域,解决了通信网络中对主机的健康检查占用较大的网络资源的问题。该方法包括:第一IP隧道终端向第二IP隧道终端发送第一叠加报文,第一叠加报文封装有业务请求报文;第二IP隧道终端接收第一叠加报文,对第一叠加报文解封装以获取业务请求报文,根据业务请求报文的目的IP地址查询本地主机健康状态表,在确认第二主机的健康状态为异常时,向第一IP隧道终端发送第二叠加报文,第二叠加报文封装有业务请求报文并携带有不可达信息;第一IP隧道终端接收第二叠加报文,解封装以获取业务请求报文和不可达信息,根据不可达信息记录第二主机的健康状态为异常。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种叠加网络的通信方法及装置。
背景技术
随着云服务理念和应用的普及,越来越多的企业、事业单位和机构团体选择将互联网业务通过云服务来实现。因此,云服务在越来越大规模的主机节点组网的场景下,面临着可靠性的问题,即如何高效地探测大量主机或者与其通信的网络路径的可用性,实现健康检查,并进行快速的自动选路。具体来说,作为请求访问的主机需要知道目标的响应主机,以及通信链路中转发节点的主机的健康状态。而当云服务组网的规模很大,例如主机结点达到10万、100万台时,每一台主机都向其他主机发送健康探测请求,健康探测流量将会快速增长,客户端、服务端和转发结点均无法承受如此多的探测任务,且通信网络充斥着健康探测流量,会使真正的业务流量受到挤压,网络资源使用率不高。
现有的解决方案,通过设立健康检查集群,实现集中式健康检查。健康检查集群通过对各个服务结点执行周期性的、主动健康检查,并将健康检查结果通告给各个结点。但是,健康探测请求的规模依旧很大,会占用额外的网络资源;且集中式健康检查只能检查设备的可用性,无法覆盖请求路径的连通性检查,因为集中式健康检查的网络路径与实际业务的网络路径不同;另外,健康检查集群其本身的可靠性也需要验证,因此,相当于引入了新的可能的故障节点。
发明内容
本申请提供一种叠加网络的通信方法及装置,解决了现有技术的健康检查占用较大的网络资源,且无法覆盖请求路径连通性检查的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种叠加网络的通信方法,该方法包括:第一IP隧道终端向第二IP隧道终端发送第一叠加报文,第一叠加报文封装有业务请求报文,业务请求报文的源IP地址是与第一IP隧道终端连接的第一主机的IP地址,业务请求报文的目的IP地址是与第二IP隧道终端连接的第二主机所绑定的虚拟IP地址VIP;第二IP隧道终端接收第一叠加报文,对第一叠加报文解封装以获取业务请求报文,根据业务请求报文的目的IP地址查询本地主机健康状态表,在确认第二主机的健康状态为异常时,向第一IP隧道终端发送第二叠加报文,第二叠加报文封装有业务请求报文并携带有不可达信息;第一IP隧道终端接收第二叠加报文,对第二叠加报文解封装以获取业务请求报文和不可达信息,根据不可达信息记录第二主机的健康状态为异常。
上述技术方案中,IP隧道终端当且仅当业务请求报文发送时,携带主机的健康状态,实现了被动健康检查,即不需要产生单独的、用于健康探测的流量,而是在正常的业务请求中携带和指示被请求的主机的健康状态。因此,被动健康检查的探测信息是由正常的业务流量捎带的,不会产生额外流量,从而提高网络资源的利用率。
在一种可能的设计方式中,第二IP隧道终端根据业务请求报文的目的IP地址查询本地主机健康状态表,当确认第二主机的健康状态为正常时,第二IP隧道终端向第二主机发送业务请求报文。上述可能的实现方式中,第二IP隧道终端可以通过查询主机健康状态表确定路径选择,将业务请求报文转发给状态正常的主机。同时,业务请求报文成功发送给第二主机,也能进一步确定第二主机的健康状态是正常的,从而达到被动健康检查的目的。
在一种可能的设计方式中,第二IP隧道终端接收第一叠加报文之前,该方法还包括:第二IP隧道终端向第二主机发送健康探测请求,健康探测请求用于探测第二主机的健康状态;第二主机响应健康探测请求向第二IP隧道终端发送健康状态信息;第二IP隧道终端根据健康状态信息在本地主机健康状态表中记录第二主机的VIP和第二主机的健康状态信息的对应关系。上述可能的实现方式中,每个IP隧道终端仅对其本地的主机实行主动的健康检查,维护健康状态表。主动健康检查局限于IP隧道终端内部,而不是由各个主机实现端到端的健康检查,从而解决对叠加网络中的海量主机设备进行主动健康检查而占用大量流量的问题,提高网络资源的利用率。
在一种可能的设计方式中,第二IP隧道终端接收第一叠加报文之前,该方法还包括:第二IP隧道终端根据第二主机接收和发送报文的数量或者序列号,确定第二主机的健康状态,在本地主机健康状态表中记录第二主机的VIP和第二主机的健康状态信息的对应关系。上述可能的实现方式中,每个IP隧道终端仅对其本地的主机实行被动的健康检查,通过检测进出主机的流量、报文的数量或者序列号,判断主机的健康状态,维护健康状态表,避免了主动探测所带来的资源浪费。
在一种可能的设计方式中,根据业务请求报文的目的IP地址查询本地主机健康状态表具体包括:第二IP隧道终端根据业务请求报文的目的IP地址从本地主机健康状态表获取第二主机的健康状态。上述可能的实现方式中,IP隧道终端通过查询主机健康状态表获取主机的健康状态,从而可以为路径选择作出准确的判断。
在一种可能的设计方式中,在确认第二主机的健康状态为异常时,第三IP隧道终端连接的第三主机绑定VIP,该方法还包括:第一IP隧道终端向第三IP隧道终端发送第三叠加报文,第三叠加报文封装有业务请求报文,业务请求报文的源网络地址是第一IP隧道终端中的第一主机的网络地址,业务请求报文的目的IP地址是VIP。上述可能的实现方式中,主用设备不可用的时候,备用设备绑定该VIP,从而请求服务的第一IP隧道终端可以根据该VIP,重新选择目的主机,向第三IP隧道终端发送封装有业务请求报文第三叠加报文。
在一种可能的设计方式中,第二主机中运行有负载均衡器。
在一种可能的设计方式中,第一叠加报文携带有请求回执信息,请求回执信息用于通知第二IP隧道终端向第一IP隧道终端发送第一叠加报文的回执信息,回执信息用于指示第二IP隧道终端是否成功接收第一叠加报文。上述可能的实现方式中,上述可能的实现方式中,请求服务的IP隧道终端可以通过设置请求回执信息,确定接收方的IP隧道终端是否成功接收到业务请求报文,从而确定接收方的健康状态,实现被动健康检测,避免了主动探测所带来的资源浪费,提高网络资源的利用率。
在一种可能的设计方式中,第一主机为第一虚拟机,第一IP隧道终端为第一VXLAN模块,第一虚拟机和第一VXLAN模块设置在第一物理机中,第二主机为第二虚拟机,第二IP隧道终端为第二VXLAN模块,第二虚拟机和第二VXLAN模块设置在第二物理机中,第一物理机和第二物理机通过网络连接。上述可能的实现方式中,可以通过软件模块实现上述叠加网络的通信方法,通过被动健康探测提高网络资源的利用率。
在一种可能的设计方式中,第一主机为第一物理机,第一IP隧道终端为第一VXLAN交换机,第一物理机接入第一VXLAN交换机,第二主机为第二物理机,第二IP隧道终端为第二物理机,第二物理机接入第二VXLAN交换机,第一VXLAN交换机和第二VXLAN交换机通过网络连接。上述可能的实现方式中,可以通过硬件的物理机实现上述叠加网络的通信方法,通过被动健康探测提高网络资源的利用率。
第二方面,提供一种叠加网络的通信系统,包括至少两个服务器、第一IP隧道终端和第二IP隧道终端,每个服务器上运行有至少一个虚拟机,系统包括:第一IP隧道终端向第二IP隧道终端发送第一叠加报文,第一叠加报文封装有业务请求报文,业务请求报文的源IP地址是与第一IP隧道终端连接的第一主机的IP地址,业务请求报文的目的IP地址是与第二IP隧道终端连接的第二主机所绑定的虚拟IP地址VIP;第二IP隧道终端接收第一叠加报文,对第一叠加报文解封装以获取业务请求报文,根据业务请求报文的目的IP地址查询本地主机健康状态表,在确认第二主机的健康状态为异常时,向第一IP隧道终端发送第二叠加报文,第二叠加报文封装有业务请求报文并携带有不可达信息;第一IP隧道终端接收第二叠加报文,对第二叠加报文解封装以获取业务请求报文和不可达信息,根据不可达信息记录第二主机的健康状态为异常。
在一种可能的设计方式中,第二IP隧道终端根据业务请求报文的目的IP地址查询本地主机健康状态表,当确认第二主机的健康状态为正常时,第二IP隧道终端向第二主机发送业务请求报文。
在一种可能的设计方式中,第二IP隧道终端接收第一叠加报文之前,第二IP隧道终端向第二主机发送健康探测请求,健康探测请求用于探测第二主机的健康状态;第二主机响应健康探测请求向第二IP隧道终端发送健康状态信息;第二IP隧道终端根据健康状态信息在本地主机健康状态表中记录第二主机的VIP和第二主机的健康状态信息的对应关系。
在一种可能的设计方式中,第二IP隧道终端接收第一叠加报文之前,第二IP隧道终端根据第二主机接收和发送报文的数量或者序列号,确定第二主机的健康状态,在本地主机健康状态表中记录第二主机的VIP和第二主机的健康状态信息的对应关系。
在一种可能的设计方式中,根据业务请求报文的目的IP地址查询本地主机健康状态表,具体包括:第二IP隧道终端根据业务请求报文的目的IP地址从本地主机健康状态表获取第二主机的健康状态。
在一种可能的设计方式中,在确认第二主机的健康状态为异常时,第三IP隧道终端连接的第三主机绑定VIP,第一IP隧道终端向第三IP隧道终端发送第三叠加报文,第三叠加报文封装有业务请求报文,业务请求报文的源网络地址是第一IP隧道终端中的第一主机的网络地址,业务请求报文的目的IP地址是VIP。
在一种可能的设计方式中,第二主机中运行有负载均衡器。
在一种可能的设计方式中,第一叠加报文携带有请求回执信息,请求回执信息用于通知第二IP隧道终端向第一IP隧道终端发送第一叠加报文的回执信息,回执信息用于指示第二IP隧道终端是否成功接收第一叠加报文。
在一种可能的设计方式中,第一主机为第一虚拟机,第一IP隧道终端为第一VXLAN模块,第一虚拟机和第一VXLAN模块设置在第一物理机中,第二主机为第二虚拟机,第二IP隧道终端为第二VXLAN模块,第二虚拟机和第二VXLAN模块设置在第二物理机中,第一物理机和第二物理机通过网络连接。
在一种可能的设计方式中,第一主机为第一物理机,第一IP隧道终端为第一VXLAN交换机,第一物理机接入第一VXLAN交换机,第二主机为第二物理机,第二IP隧道终端为第二物理机,第二物理机接入第二VXLAN交换机,第一VXLAN交换机和第二VXLAN交换机通过网络连接。
第三方面,提供一种服务器,该服务器上部署有第一IP隧道终端以及第一主机,使得第一IP隧道终端执行第一方面所提供的任一项叠加网络的通信方法中的第一IP隧道终端执行的步骤。
第四方面,提供另一种服务器,该服务器上部署有第二IP隧道终端以及第二主机,使得第二IP隧道终端执行第一方面所提供的任一项叠加网络的通信方法中的第二IP隧道终端执行的步骤。
可以理解地,上述提供的任一种叠加网络的通信方法、装置和通信系统,均可以由上文所提供的对应的方法来实现,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1A为本申请实施例提供的一种网络通信的系统架构图;
图1B为本申请实施例提供的另一种网络通信的系统架构图;
图2为本申请实施例提供的一种叠加网络的通信系统架构图;
图3为本申请实施例提供的一种叠加网络的IP隧道终端的界面示意图;
图4为本申请实施例提供的一种叠加网络的通信方法的流程示意图;
图5为本申请实施例提供的一种叠加网络的叠加报文的结构示意图;
图6为本申请实施例提供的另一种叠加网络的通信方法的流程示意图;
图7为本申请实施例提供的一种IP隧道终端的的结构示意图;
图8为本申请实施例提供的一种叠加网络的通信系统架构图;
图9为本申请实施例提供的一种叠加网络的计算机设备结构示意图;
图10为本申请实施例提供的另一种叠加网络的通信系统架构图。
具体实施方式
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请的实施例之前,先对涉及的技术做简单介绍:
云服务:是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且虚拟化的资源。云服务指通过网络以按需、易扩展的方式获得所需服务,这种服务可以是数据库管理、信息共享、软件应用或者互联网相关,也可是其他服务。
主机(host):是指通信网络环境中请求服务或者提供服务的实体,本申请所指的主机可以是物理机或者虚拟机。主机的角色可以包括客户端、服务端和转发节点。客户端就是主动发起服务请求的一类主机,服务端是指为客户端提供服务的一类主机,转发结点是指提供客户端和服务端的主机之间的通信转发服务的一类设备,例如地址转换设备、网关、路由器、负载均衡器、代理服务器或者安全设备等。
主机结点代理(Host Node Agent,HNA):是指通信网络环境中为主机提供网关、隧道封装、选路或者健康状态检查的实体,本申请所指的主机结点代理可以是IP隧道终端。主机结点代理为其上的主机提供IP地址,主机结点代理上连接的某一主机向通信网络中的其他主机请求数据,需要通过该主机结点代理进行IP隧道封装处理,转发路径选择,然后发送。
主动健康检查:是指通信网络的主机之间,主动发起健康状态的探测请求的通信。例如,由客户端或者转发结点向服务器主动发起网络通信的请求数据,根据返回的结果验证被请求的服务器或者网络路径的可用性,为服务器和转发路径选择提供依据。主动健康检查通常是周期性触发的,所述请求数据用于获取被请求主机的健康状态。
需要说明的是,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
如图1A所示,本申请提供一种网络通信的传统方法,客户端向服务端请求数据,服务端集群中的服务端1、服务端2或服务端3可以为客户端提供相同或者不同的网络数据服务。其中,客户端与服务端的网络通信需要通过负载均衡器进行网路路径的选择和业务请求报文的转发,通过控制器管理,负载均衡器集群中的负载均衡器1为主用设备,绑定有虚拟网络地址(Virtual Internet Protocol Address,VIP),负载均衡器2为备用设备。客户端可以根据广播的VIP向负载均衡器1发送业务请求报文,由负载均衡器1将该业务请求报文路由到可用的服务端设备。
如图1B所示,当负载均衡器1不可用,或者客户端到该负载均衡器1的网络路径故障时,控制器下发信令,负载均衡器2绑定该VIP,客户端可以根据VIP向负载均衡器2发送业务请求报文,由负载均衡器2将该业务请求报文路由到可用的服务端设备。
为确保网络通信的可靠性,上述网络通信的方法需要控制器向客户端、服务端和负载均衡器等主机下发主动的健康探测,从而获取主机的健康状态确定路径选择。而面对越来越大规模的主机节点组网的场景下,主动的健康探测需要占用大量的业务流量,从而使真正的业务流量受到挤压,影响通信质量,网络资源使用率不高。
本申请提供一种叠加网络的通信的方法,如图2所示,通过将客户端、服务端和负载均衡器等主机分别连接于不同的主机结点代理上,主机结点代理为主机提供网关、隧道封装、路径选择等服务。不同角色的主机之间通过主机结点代理建立通信,其中,主机结点代理拥有虚拟隧道终端(VTEP),因此,主机结点代理也称为IP隧道终端。
叠加网络,也称为重叠网,英文名称是Overlay Network。是一种运行在一个或多个已存在网络之上的独立的虚拟网络,提供特定的附加功能。重叠网的组成主要有三个部分:主机、路由器(Router)和隧道(Tunnel)。隧道是基于底层网络的路径,也是叠加网络的逻辑链路。每条链路由底层网络的若干个单跳组成。
隧道技术在两个隧道终端之间提供了一种报文封装手段,上层逻辑网络和下层物理网络在IP隧道终端(IP Tunnel End Point,IPTEP)处交界,由IP隧道终端完成逻辑网络和物理网络之间的地址转换。在本申请的下述实施例中,叠加网络中经过隧道封装处理后的报文称为叠加报文。
作为隧道起点的IP隧道终端将原始报文,例如业务请求报文,其报头包含业务请求报文发送者的源地址和业务请求报文接收者的目的地址作为数据载荷,封装在叠加报文中传输到隧道对端。原始报文中发送者的源地址和目的地的目的地址称为内部地址,叠加报文的地址称为外部地址,外部地址的源地址和目的地址是隧道两端的终端在建立隧道时使用的地址。作为隧道终点的IP隧道终端对叠加报文进行解封装,得到业务请求报文,根据业务请求报文目的地址将其向目的地的主机转发。
本申请上述叠加网络中的每个IP隧道终端可以实现对其本地的主机实行主动或被动健康状态检查,并维护本地的健康状态表。
其中,被动健康检查,即为被访问端的IP隧道终端向访问端的IP隧道终端被动地通告目标主机的健康状态,目标主机的健康状态是携带在业务流量中的,而非由访问者IP隧道终端主动探测健康状态。健康检查仅发生于业务流量实际发生时,而不是发生于业务流量可能发生前;且健康状态的探测信息是由业务流量捎带的,不会产生额外流量。
示例性的,当IP隧道终端接收到业务请求时,根据本地目标主机的健康状态,选择将业务请求数据包打回还是继续交给目标主机处理。如IP隧道终端将业务请求数据包打回,则发出业务请求的IP隧道终端将记录该目标主机的健康状态为异常,如目标主机成功接收该业务请求数据包,则发出业务请求的IP隧道终端将记录该目标主机的健康状态为正常,从而实现被动的健康检查。
主机与IP隧道终端的连接关系是在叠加网络的部署时决定的,有些主机运行公共服务,有些主机为最终租户私有,它们分别或同时扮演客户端、服务端、转发设备等角色。例如,客户端、服务端、网络地址转换(Network Address Translation,NAT)网关,或者负载均衡器可能连接于任一IP隧道终端上。
在一种可能的实施方式中,当上述叠加网络中的IP隧道终端涉及用户服务器,可以让用户自行选择和定义健康检查方法,例如设置为主动健康检查或被动健康检查,或者自定义健康健康方式。
基于上述叠加网络中发送报文的协议,例如传输控制协议(TransmissionControl Protocol,TCP)报文,或者用户数据报协议(User Datagram Protocol,UDP)报文等,如图3所示,用户可以在健康检查配置界面,选择将IP隧道终端设置为TCP被动健康检查、TCP主动健康检查、UDP被动健康检查、UDP主动健康检查、自定义被动健康检查和自定义主动健康检查中的一种。
其中,TCP主动健康检查和UDP主动健康检查,是指IP隧道终端向主机发送用于健康探测的TCP报文或者UDP报文,根据响应报文确定被检测主机的健康状态为正常或是异常。
TCP被动健康检查,是指IP隧道终端通过判断连接的主机其进出数据包个数,确定健康状态。对于TCP的握手报文,判断握手请求报文syn与握手响应报文sync-ack不配对,则证明该主机的健康状态为异常。对于已经建立TCP连接的主机,判断进出该主机的TCP报文的序列号变化也能够判断该主机的健康状态。
UDP被动健康检查:若主机有控制报文协议(Internet Control MessageProtocol,ICMP)不可达信息,则判定该主机健康状态为异常。对于大多数的进出主机的UDP报文,还能够通过判断进出主机的数据包个数是否配对儿,判定健康状态。
另外,自定义被动健康检查和自定义主动健康检查,是指支持用户自定义配置数据包特征检查,例如,根据主机发送或者接收数据包的速率、大小、方向、协议等进行判断。
本申请提供的叠加网络的通信方法,可以通过被动健康检查,或者被动健康检查和主动健康检查相结合的方式,解决对叠加网络中的节点进行健康检查而占用较大网络资源的问题。下面将结合图2所示的实施环境,对本申请实施例涉及的方法做详细说明。
示例性的,叠加网络可以为虚拟扩展局域网(Virtual Extensible Local AreaNetwork,VXLAN),VXLAN是一种叠加网络技术或隧道技术,VXLAN将虚拟机发出的数据包封装在UDP报文中,并使用物理网络的IP/MAC地址作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。
本申请实施例以VXLAN网络为例进行说明,如图4所示,该方法具体可以包括如下步骤:
S401:第一IP隧道终端向第二IP隧道终端发送第一叠加报文,第一叠加报文封装有业务请求报文。
其中,第一叠加报文可以为VXLAN报文,该VXLAN报文内层封装有业务请求报文。第一叠加报文的源网络地址是第一IP隧道终端,目的网络地址是第二IP隧道终端。第一叠加报文封装有业务请求报文,该业务请求报文的源IP地址是与第一IP隧道终端连接的第一主机的IP地址,业务请求报文的目的IP地址是与第二IP隧道终端连接的第二主机所绑定的虚拟IP地址VIP。
需要说明的是,本申请实施例中的叠加报文也可以是其他通用路由封装(GenericRouting Encapsulation,GRE)报文,本申请对此不做具体限定,本申请示例性的仅以VXLAN报文为例进行说明。
上述第一主机可以是客户端,第二主机可以是中间转发节点,例如,网络地址转换(Network Address Translation,NAT)网关,或者负载均衡器。示例性的,本申请实施例中以第二主机为负载均衡器为例进行说明。
可选的,第一IP隧道终端可以将第一叠加报文设置为携带有请求回执信息,该请求回执信息用于通知第二IP隧道终端向第一IP隧道终端发送第一叠加报文的回执信息。
其中,该回执信息是内层没有封装业务请求报文的VXLAN报文,以指示第二IP隧道终端或者第二主机是否成功接收第一叠加报文,例如,回执信息指示第二主机成功接收第一叠加报文中的业务请求报文,或者,回执信息指示第二主机没有成功接收第一叠加报文中的业务请求报文。另外,第一IP隧道终端可以通过回执信息确定第二IP隧道终端的健康状态,例如,第一IP隧道终端接收到第二IP隧道终端的回执信息,则可以确定第二IP隧道终端的健康状态为正常。
在一种实施方式中,可以将请求回执信息设置为在预设时间内接收回执信息,否则等待超时。例如,第一IP隧道终端未能在预设时间内接收到第二IP隧道终端的回执信息,则可以确定第二主机的健康状态为异常,或者,根据预先设置确定第二IP隧道终端的健康状态为异常。
S402:第二IP隧道终端接收第一叠加报文,对第一叠加报文解封装以获取业务请求报文。
第二IP隧道终端接收到第一叠加报文后,将第一叠加报文的外层封装剥离,也就是解封装以获取内层的业务请求报文,获取业务请求报文中携带的目的主机的VIP地址,根据VIP确定目的主机为第二主机。
S403:第二IP隧道终端根据业务请求报文的目的IP地址查询本地主机健康状态表,在确认第二主机的健康状态为异常时,执行步骤S404。
第二IP隧道终端根据业务请求报文的目的IP地址查询本地主机健康状态表中第二主机的健康状态。
其中,该主机健康状态表为记载叠加网络中各主机、IP隧道终端的健康状态,健康状态标记为异常的表示该主机或者IP隧道终端不可用,健康状态标记为正常的表示该主机或者IP隧道终端可用。
当第二IP隧道终端确认第二主机的健康状态为异常时,表示第二主机不可用,将上述业务请求报文返回第一IP隧道终端。
在一种实施方式中,每个IP隧道终端可以对其连接的多个主机进行主动健康检查或者被动健康检查,以获取主机的健康状态,记录到本地的主机健康状态表中。如,第一IP隧道终端确认第一主机的健康状态,第二IP隧道终端确认第二主机的健康状态。
示例性的,第二IP隧道终端接收第一叠加报文之前,第二IP隧道终端对其上的第二主机执行主动健康检查,具体执行过程可以为:
1、第二IP隧道终端向第二主机发送健康探测请求,健康探测请求用于探测第二主机的健康状态;
2、第二主机响应健康探测请求向第二IP隧道终端发送第二主机的健康状态信息;
3、第二IP隧道终端根据第二主机的健康状态信息,在本地主机健康状态表中记录第二主机的VIP和第二主机的健康状态信息的对应关系。
示例性的,第二IP隧道终端对其上的第二主机的被动健康检查,具体过程可以为:
第二IP隧道终端根据第二主机的流量和/或第二主机接收和发送数据包的数量,确定第二主机的健康状态,在本地主机健康状态表中记录第二主机的VIP和第二主机的所述健康状态信息的对应关系。具体可以根据前述的关于被动健康检查的相关设置进行数据包特征检查,以获取主机的健康状态,此处不再赘述。
S404:第二IP隧道终端向第一IP隧道终端发送第二叠加报文,第二叠加报文封装有业务请求报文并携带有不可达信息。
第二IP隧道终端将业务请求报文退回给第一IP隧道终端,第二IP隧道终端将业务请求报文携带不可达信息进行封装,向第一IP隧道终端发送第二叠加报文。其中,第二叠加报文的源网络地址是第二IP隧道终端,目的网络地址是第一IP隧道终端。
示例性的,本申请实施例中的叠加报文可能的格式可以为如图5所示,业务请求报文为原始以太帧,经过IP隧道终端封装处理,业务请求报文携带隧道封装部分即为叠加包文。其中,原始以太帧中的某些字段中配置有业务请求的源主机IP地址和目的主机的IP地址;隧道封装部分报文的某些字段中配置有源IP隧道终端的IP地址和目的IP隧道终端的IP地址。其中,不可达信息可以配置在图5的保留字段Reserved中,例如,Reserved为0表示不可达信息。
该实施例的场景可以为如图3所示,第一主机、第二主机分别部署于不同的第一IP隧道终端和第二IP隧道终端上。在另一种可能的实施方式中,第一主机和第二主机可以部署于相同的IP隧道终端上,例如,第一主机和第二主机都部署于不同的第一IP隧道终端,则第一主机请求第二主机的服务时,第一主机将业务请求报文发送到第一IP隧道终端,第一IP隧道终端接收业务请求报文,并对业务请求报文做隧道封装。此时,外层源和目的地址均为第一IP隧道终端的IP地址,因为第二主机也位于第一IP隧道终端上。进一步的,第一IP隧道终端可以在外层数据包加上请求回执的标记,第一IP隧道终端1收到自己发送的数据包,进行解封装得到业务请求报文。
S405:第一IP隧道终端接收第二叠加报文,对第二叠加报文解封装以获取业务请求报文和不可达信息,根据不可达信息记录第二主机的健康状态为异常。
第一IP隧道终端接收第二叠加报文,解封装后获取业务请求报文的不可达信息,确定第二主机的健康状态为异常,则第一IP隧道终端更新本地的健康状态信息表中第二主机的健康状态为异常。
S406:第三IP隧道终端连接的第三主机绑定VIP。
当确定第二主机为异常,则第二主机与所述VIP地址解除绑定关系。示例性的,第二IP隧道终端可以通过广播,将其通知给叠加网络中的其他IP隧道终端。
从而,用于提供同一类型网络服务的备用主机设备可以绑定该VIP,例如,第三IP隧道终端连接的第三主机可以绑定该VIP,用于根据VIP访问第三主机。
示例性的,第三IP隧道终端可以通过广播,通知叠加网络中的其他IP隧道终端,第三主机绑定该VIP,以使得其他IP隧道终端可以通过该VIP,请求访问第三主机。
S407:第一IP隧道终端向第三IP隧道终端发送第三叠加报文,第三叠加报文封装有业务请求报文。
第一IP隧道终端重新选路,向第三IP隧道终端发送第三叠加报文,第三叠加报文的源网络地址是第一IP隧道终端,目的网络地址是第三IP隧道终端。
其中,第三叠加报文封装有业务请求报文,该业务请求报文的源网络地址是第一IP隧道终端中的第一主机的网络地址,业务请求报文的目的IP地址是第三IP隧道终端中的第三主机的VIP。
S408:第三IP隧道终端接收第三叠加报文,对第三叠加报文解封装以获取业务请求报文。
S409:第三IP隧道终端向第三主机发送业务请求报文。
可选的,在执行该步骤之前,第三IP隧道终端可以根据业务请求报文的目的IP地址确定目标主机为第三主机,查询本地主机健康状态表中第三主机的健康状态。在第三IP隧道终端确认第三主机的健康状态为正常后,将业务请求报文发送给第三主机。
进一步的,如图2所示,第三主机路由到提供相同服务的主机有两条等价路径,第五主机和第六主机,则第三IP隧道终端可以根据本地的等价路径表项,查询默认的目的主机,例如第五主机,并根据主机健康状态表,查看第五主机的健康状态,将业务请求报文转发到正常工作的目的主机上。具体方法可以参照上述实施例的描述,此处不再赘述。
上述的本申请实施例,每个IP隧道终端实现对其本地的主机的主动或者被动健康检查,并维护健康状态表。主动健康检查局限于IP隧道终端内部,而不是由各个主机实现端到端的健康检查,从而解决对叠加网络中的海量主机设备进行主动健康检查而占用大量流量的问题,从而提高网络资源的利用率。
并且,IP隧道终端当且仅当业务请求报文发送时,携带主机的健康状态,实现了被动健康检查,即不需要产生单独的、用于健康探测的流量,而是在正常的业务请求中携带和指示被请求的主机的健康状态。因此,被动健康检查的探测信息是由正常的业务流量捎带的,不会产生额外流量,提高网络资源的利用率。
在另一种可能的实施例中,第二IP隧道终端查询本地主机健康状态表中的第二主机的健康状态为正常,则如图6所示,本申请实施例还可以包括如下步骤:
S601:第二IP隧道终端根据业务请求报文的目的IP地址查询本地主机健康状态表,在确认第二主机的健康状态为正常时,执行步骤S602。
S602:第二IP隧道终端向第二主机发送业务请求报文。
综上所述,本申请实施例中的IP隧道终端至少具备如下功能:
1、IP隧道终端可以为客户端角色的主机提供自动选路能力,根据IP隧道终端本地的健康状态表,查询可用的主机并转发请求。
2、IP隧道终端可以对服务端角色的主机执行主动健康检查或被动健康检查,并以被动健康检查的形式将主机的健康状态通知给访问者。
3、IP隧道终端可以对转发节点的主机同时提供上述两种能力,自动选路能力和主动、被动健康检查,并且可以与其他IP隧道终端共享主机的健康状态。
如图7所示,IP隧道终端可以由选路模块、健康检查模块、控制器代理模块、网桥和网络接口控制器(network interface controller,NIC)模块组成。
其中,选路模块可以用于从健康检查模块读取主机健康状态表,根据目标IP地址查询主机健康状态表,以获取目标主机的健康状态,为路径选择的方向提供选路能力。具体的选择路径体现在IP隧道终端业务请求数据包封装外层封包时,通过指定不同的外部目的地址实现选路。
健康检查模块用于执行本IP隧道终端上的主机的健康状态检查,并维护健康状态表。关于健康检查的具体方法来自于控制器的配置信息。
控制器代理模块用于接收控制器的消息,或者向控制器报告主机的健康状态,上报故障恢复等。控制器故障恢复流程,具体可以由业务请求的发起者IP隧道终端向控制器通告某主机异常。
示例性的,上述实施例中,第一IP隧道终端确认第二主机的健康状态为异常后,第一IP隧道终端向控制器上报第二主机故障。控制器对第二主机执行故障修复,修复问题完成后,反向通知第一IP隧道终端第二主机故障修复完成。另外,若第一IP隧道终端在规定时间无法收到故障修复完成的通知,会尝试自动恢复。
网桥用于将IP隧道终端连接到主机,如图7所示,IP隧道终端通过网桥与多个主机直接相连。
NIC模块是通信网络中进行通讯的计算机硬件模块。
在一种实施方式中,本申请上述实施例中的IP隧道终端和主机可以为虚拟机,如上述主机和IP隧道终端可以为VXLAN软件模块实现的,分别部署于物理机上。例如,第一主机为第一虚拟机,第一IP隧道终端为第一VXLAN模块,第一虚拟机和第一VXLAN模块设置在第一物理机中;第二主机为第二虚拟机,第二IP隧道终端为第二VXLAN模块,第二虚拟机和第二VXLAN模块设置在第二物理机中;第一物理机和第二物理机通过网络连接。
如图8所示,为本申请的实施例提供的一种叠加网络结构示意图,第一物理机和第二物理机分别通过物理机交换机1和物理交换机2接入下层物理网络。每个物理机被虚拟化成多台虚拟机,第一物理机上的第一虚拟机和第二物理机上的第二虚拟机分别通过本地部署的第一虚拟交换机和第二虚拟交换机接入上层虚拟网络。虚拟交换机向上生成针对VM的虚拟端口,向下将虚拟端口映射到物理端口,从而实现虚拟和物理网络的连接。第一物理机与第二物理机通过报文转发网络设备实现互通,上述报文转发网络设备可以为物理交换机或者网关。在本申请实施例中,虚拟网络由控制器进行集中控制。在一种可能的实现方式中,控制器可以采用分布式部署,多个控制器组成一个集群,对外呈现为一个逻辑控制器。结合上述的叠加网络结构示意图,第一服务器上的VM1与第二服务器上的VM2进行通信,VM1和VM2之间需要建立原生IP隧道。
在另一种实施方式中,本申请上述实施例中的IP隧道终端和主机可以为物理机,为VXLAN硬件实体实现的。例如,第一主机为第一物理机,第一IP隧道终端为第一VXLAN交换机,第一物理机接入第一VXLAN交换机;第二主机为第二物理机,第二IP隧道终端为第二VXLAN交换机,第二物理机接入第二VXLAN交换机,第一VXLAN交换机和第二VXLAN交换机通过网络连接。
本申请实施例提供的叠加网络的通信方法,可以应用于上述的VXLAN技术的公有云通信网络,或者其他包括下层underlay、上层overlay的叠加网络。本申请对此不做具体具体限定。
需要说明的是,第一IP隧道终端、第二IP隧道终端、网关以及控制器可以采用硬件/软件实现,示例性的,如图9所示,为本发明实施例提供的计算机设备示意图。计算机设备900包括至少一个处理器901,通信总线902,存储器903以及至少一个通信接口904。
处理器901可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线902可包括一通路,在上述组件之间传送信息。所述通信接口904,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器903用于存储执行本发明方案的应用程序代码,并由处理器901来控制执行。所述处理器901用于执行所述存储器903中存储的应用程序代码。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,例如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备900可以包括多个处理器,例如图9中的处理器901和处理器908。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备900还可以包括输出设备905和输入设备906。输出设备905和处理器901通信,可以以多种方式来显示信息。例如,输出设备905可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备906和处理器901通信,可以以多种方式接受用户的输入。例如,输入设备906可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备900可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备900可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图8中类似结构的设备。本发明实施例不限定计算机设备900的类型。
前述实施例中的第一物理机、第二物理机、第一IP隧道终端、第二IP隧道终端、网关以及控制器可以为图9所示的设备,存储器中存储了一个或多个软件模块,用于实现上述各设备的功能(例如:IP隧道终端的报文封装、解封装、路由等)。第一物理机、第二物理机、第一IP隧道终端、第二IP隧道终端、网关以及控制器可以通过处理器以及存储器中的程序代码来实现报文传输的方法。
需要说明的是,图9所示的计算机设备仅仅是给出了叠加网络中各部分的可能的硬件实现方式,根据系统各部分功能的不同或者变化,可以对计算机设备的硬件组件进行增删,以使得与系统各部分的功能进行匹配。
与前述方法实施例相对应,如图10所示,为本发明实施例提供的一种叠加网络的通信系统1000,包括至少两个服务器101和102、第一IP隧道终端1010和第二IP隧道终端1020,每个服务器上运行有至少一个虚拟机1011和1021。
第一IP隧道终端1010向第二IP隧道终端1020发送第一叠加报文,第一叠加报文封装有业务请求报文,业务请求报文的源IP地址是与第一IP隧道终端1010连接的第一虚拟机1011的IP地址,业务请求报文的目的IP地址是与第二IP隧道终端1020连接的第二虚拟机1021所绑定的虚拟IP地址VIP。
第二IP隧道终端1020接收第一叠加报文,对第一叠加报文解封装以获取业务请求报文,根据业务请求报文的目的IP地址查询本地主机健康状态表,在确认第二虚拟机1021的健康状态为异常时,向第一IP隧道终端1010发送第二叠加报文,第二叠加报文封装有业务请求报文并携带有不可达信息。
第一IP隧道终端1010接收第二叠加报文,对第二叠加报文解封装以获取业务请求报文和不可达信息,根据不可达信息记录第二虚拟机1021的健康状态为异常。
关于上述实施例中的计算机设备,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
虚拟机、第一IP隧道终端,以及第二IP隧道终端是以功能单元/功能模块的形式来呈现。这里的“单元/模块”可以指特定应用集成电路(application-specific integratedcircuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到虚拟机、第一IP隧道终端,以及第二IP隧道终端可以采用图9所示的形式。例如,第一IP隧道终端和第二IP隧道终端可以通过图9的处理器和存储器来实现。
本发明实施例还提供了一种计算机存储介质,用于储存为上述图9和10所示的设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现叠加网络的通信方法。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种叠加网络的通信方法,其特征在于,包括:
第一IP隧道终端向第二IP隧道终端发送第一叠加报文,所述第一叠加报文封装有业务请求报文,所述业务请求报文的源IP地址是与所述第一IP隧道终端连接的第一主机的IP地址,所述业务请求报文的目的IP地址是与所述第二IP隧道终端连接的第二主机所绑定的虚拟IP地址VIP;
所述第二IP隧道终端接收所述第一叠加报文,对所述第一叠加报文解封装以获取所述业务请求报文,根据所述业务请求报文的目的IP地址查询本地主机健康状态表获取所述第二主机的健康状态,在确认所述第二主机的健康状态为异常时,向所述第一IP隧道终端发送第二叠加报文,所述第二叠加报文封装有所述业务请求报文并携带有不可达信息;当确认所述第二主机的健康状态为正常时,所述第二IP隧道终端向所述第二主机发送所述业务请求报文;
所述第一IP隧道终端接收所述第二叠加报文,对所述第二叠加报文解封装以获取所述业务请求报文和所述不可达信息,根据所述不可达信息记录所述第二主机的健康状态为异常。
2.根据权利要求1所述的方法,其特征在于,所述第二IP隧道终端接收所述第一叠加报文之前,所述方法还包括:
所述第二IP隧道终端向所述第二主机发送健康探测请求,所述健康探测请求用于探测所述第二主机的健康状态;
所述第二主机响应所述健康探测请求向所述第二IP隧道终端发送健康状态信息;
所述第二IP隧道终端根据所述健康状态信息在所述本地主机健康状态表中记录所述第二主机的VIP和所述第二主机的所述健康状态信息的对应关系。
3.根据权利要求1或2所述的方法,其特征在于,所述第二IP隧道终端接收所述第一叠加报文之前,所述方法还包括:
所述第二IP隧道终端根据所述第二主机接收和发送报文的数量或者序列号,确定所述第二主机的健康状态,在所述本地主机健康状态表中记录所述第二主机的VIP和所述第二主机的健康状态信息的对应关系。
4.根据权利要求1或2所述的方法,其特征在于,在确认所述第二主机的健康状态为异常时,第三IP隧道终端连接的第三主机绑定所述VIP,所述方法还包括:
所述第一IP隧道终端向第三IP隧道终端发送第三叠加报文,所述第三叠加报文封装有所述业务请求报文,所述业务请求报文的源网络地址是所述第一IP隧道终端中的第一主机的网络地址,所述业务请求报文的目的IP地址是所述VIP。
5.根据权利要求1或2所述的方法,其特征在于,所述第二主机中运行有负载均衡器。
6.根据权利要求1或2所述的方法,其特征在于,所述第一叠加报文携带有请求回执信息,所述请求回执信息用于通知所述第二IP隧道终端向所述第一IP隧道终端发送所述第一叠加报文的回执信息,所述回执信息用于指示所述第二IP隧道终端是否成功接收所述第一叠加报文。
7.根据权利要求1或2所述的方法,其特征在于,所述第一主机为第一虚拟机,所述第一IP隧道终端为第一VXLAN模块,所述第一虚拟机和所述第一VXLAN模块设置在第一物理机中,所述第二主机为第二虚拟机,所述第二IP隧道终端为第二VXLAN模块,所述第二虚拟机和所述第二VXLAN模块设置在第二物理机中,所述第一物理机和所述第二物理机通过网络连接。
8.根据权利要求1或2所述的方法,其特征在于,所述第一主机为第一物理机,所述第一IP隧道终端为第一VXLAN交换机,所述第一物理机接入所述第一VXLAN交换机,所述第二主机为第二物理机,所述第二IP隧道终端为第二VXLAN交换机,所述第二物理机接入所述第二VXLAN交换机,所述第一VXLAN交换机和所述第二VXLAN交换机通过网络连接。
9.一种叠加网络的通信系统,其特征在于,包括至少两个服务器、第一IP隧道终端和第二IP隧道终端,每个服务器上运行有至少一个虚拟机,所述系统包括:
第一IP隧道终端向第二IP隧道终端发送第一叠加报文,所述第一叠加报文封装有业务请求报文,所述业务请求报文的源IP地址是与所述第一IP隧道终端连接的第一主机的IP地址,所述业务请求报文的目的IP地址是与所述第二IP隧道终端连接的第二主机所绑定的虚拟IP地址VIP;
所述第二IP隧道终端接收所述第一叠加报文,对所述第一叠加报文解封装以获取所述业务请求报文,根据所述业务请求报文的目的IP地址查询本地主机健康状态表获取所述第二主机的健康状态,在确认所述第二主机的健康状态为异常时,向所述第一IP隧道终端发送第二叠加报文,所述第二叠加报文封装有所述业务请求报文并携带有不可达信息;当确认所述第二主机的健康状态为正常时,所述第二IP隧道终端向所述第二主机发送所述业务请求报文;
所述第一IP隧道终端接收所述第二叠加报文,对所述第二叠加报文解封装以获取所述业务请求报文和所述不可达信息,根据所述不可达信息记录所述第二主机的健康状态为异常。
10.根据权利要求9所述的系统,其特征在于,所述第二IP隧道终端接收所述第一叠加报文之前,所述第二IP隧道终端向所述第二主机发送健康探测请求,所述健康探测请求用于探测所述第二主机的健康状态;
所述第二主机响应所述健康探测请求向所述第二IP隧道终端发送健康状态信息;
所述第二IP隧道终端根据所述健康状态信息在所述本地主机健康状态表中记录所述第二主机的VIP和所述第二主机的所述健康状态信息的对应关系。
11.根据权利要求9或10所述的系统,其特征在于,所述第二IP隧道终端接收所述第一叠加报文之前,所述第二IP隧道终端根据所述第二主机接收和发送报文的数量或者序列号,确定所述第二主机的健康状态,在所述本地主机健康状态表中记录所述第二主机的VIP和所述第二主机的健康状态信息的对应关系。
12.根据权利要求9或10所述的系统,其特征在于,在确认所述第二主机的健康状态为异常时,第三IP隧道终端连接的第三主机绑定所述VIP,所述第一IP隧道终端向第三IP隧道终端发送第三叠加报文,所述第三叠加报文封装有所述业务请求报文,所述业务请求报文的源网络地址是所述第一IP隧道终端中的第一主机的网络地址,所述业务请求报文的目的IP地址是所述VIP。
13.根据权利要求9或10所述的系统,其特征在于,所述第二主机中运行有负载均衡器。
14.根据权利要求9或10所述的系统,其特征在于,所述第一叠加报文携带有请求回执信息,所述请求回执信息用于通知所述第二IP隧道终端向所述第一IP隧道终端发送所述第一叠加报文的回执信息,所述回执信息用于指示所述第二IP隧道终端是否成功接收所述第一叠加报文。
15.根据权利要求9或10所述的系统,其特征在于,所述第一主机为第一虚拟机,所述第一IP隧道终端为第一VXLAN模块,所述第一虚拟机和所述第一VXLAN模块设置在第一物理机中,所述第二主机为第二虚拟机,所述第二IP隧道终端为第二VXLAN模块,所述第二虚拟机和所述第二VXLAN模块设置在第二物理机中,所述第一物理机和所述第二物理机通过网络连接。
16.根据权利要求9或10所述的系统,其特征在于,所述第一主机为第一物理机,所述第一IP隧道终端为第一VXLAN交换机,所述第一物理机接入所述第一VXLAN交换机,所述第二主机为第二物理机,所述第二IP隧道终端为第二VXLAN交换机,所述第二物理机接入所述第二VXLAN交换机,所述第一VXLAN交换机和所述第二VXLAN交换机通过网络连接。
17.一种服务器,其特征在于,所述服务器上部署有第一IP隧道终端以及第一主机,使得所述第一IP隧道终端执行如权利要求1-8中任一项所述的叠加网络的通信方法中的所述第一IP隧道终端执行的步骤。
18.一种服务器,其特征在于,所述服务器上部署有第二IP隧道终端以及第二主机,使得所述第二IP隧道终端执行如权利要求1-8中任一项所述的叠加网络的通信方法中的所述第二IP隧道终端执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911206922.7A CN112887185B (zh) | 2019-11-29 | 2019-11-29 | 一种叠加网络的通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911206922.7A CN112887185B (zh) | 2019-11-29 | 2019-11-29 | 一种叠加网络的通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887185A CN112887185A (zh) | 2021-06-01 |
CN112887185B true CN112887185B (zh) | 2024-03-15 |
Family
ID=76039149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911206922.7A Active CN112887185B (zh) | 2019-11-29 | 2019-11-29 | 一种叠加网络的通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887185B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472677B (zh) * | 2021-07-01 | 2024-02-09 | 华云数据控股集团有限公司 | 虚拟化环境负载均衡流量处理方法、系统及计算机介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043385A (zh) * | 2006-06-15 | 2007-09-26 | 华为技术有限公司 | 服务健康度检测系统及方法 |
CN101640620A (zh) * | 2009-09-01 | 2010-02-03 | 杭州华三通信技术有限公司 | 一种被均衡设备的健康检测方法及装置 |
CN104168140A (zh) * | 2014-08-14 | 2014-11-26 | 杭州华三通信技术有限公司 | Vtep异常情况处理方法及装置 |
CN104301184A (zh) * | 2014-10-31 | 2015-01-21 | 北京百度网讯科技有限公司 | 链路的健康检查方法和装置 |
CN105144633A (zh) * | 2013-03-15 | 2015-12-09 | 亚马逊科技公司 | 网络业务映射和性能分析 |
CN105490884A (zh) * | 2015-12-14 | 2016-04-13 | 迈普通信技术股份有限公司 | 一种vxlan隧道检测方法及装置 |
CN105591841A (zh) * | 2015-12-31 | 2016-05-18 | 盛科网络(苏州)有限公司 | 一种vxlan隧道的连通性检测方法 |
US9578126B1 (en) * | 2011-04-30 | 2017-02-21 | F5 Networks, Inc. | System and method for automatically discovering wide area network optimized routes and devices |
CN108156046A (zh) * | 2016-12-06 | 2018-06-12 | 中国移动通信有限公司研究院 | 分布式路由检测方法及装置 |
CN108449282A (zh) * | 2018-05-29 | 2018-08-24 | 华为技术有限公司 | 一种负载均衡方法及其装置 |
CN108616418A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 检测故障的方法及装置 |
CN108965092A (zh) * | 2018-07-24 | 2018-12-07 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
CN109245957A (zh) * | 2017-07-10 | 2019-01-18 | 中兴通讯股份有限公司 | 网络健康度的检测方法及装置 |
CN110022263A (zh) * | 2018-01-08 | 2019-07-16 | 华为技术有限公司 | 一种数据传输的方法及相关装置 |
CN110177028A (zh) * | 2019-05-30 | 2019-08-27 | 北京字节跳动网络技术有限公司 | 分布式健康检查方法及装置 |
WO2019175631A1 (en) * | 2018-03-14 | 2019-09-19 | Pratik Sharma | Passive centralised health check manager |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159487A1 (en) * | 2011-12-14 | 2013-06-20 | Microsoft Corporation | Migration of Virtual IP Addresses in a Failover Cluster |
US9253061B2 (en) * | 2012-09-12 | 2016-02-02 | International Business Machines Corporation | Tunnel health check mechanism in overlay network |
US10498622B2 (en) * | 2017-09-08 | 2019-12-03 | Vmware, Inc. | Tunnel state detection for overlay networks |
-
2019
- 2019-11-29 CN CN201911206922.7A patent/CN112887185B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043385A (zh) * | 2006-06-15 | 2007-09-26 | 华为技术有限公司 | 服务健康度检测系统及方法 |
CN101640620A (zh) * | 2009-09-01 | 2010-02-03 | 杭州华三通信技术有限公司 | 一种被均衡设备的健康检测方法及装置 |
US9578126B1 (en) * | 2011-04-30 | 2017-02-21 | F5 Networks, Inc. | System and method for automatically discovering wide area network optimized routes and devices |
CN105144633A (zh) * | 2013-03-15 | 2015-12-09 | 亚马逊科技公司 | 网络业务映射和性能分析 |
CN104168140A (zh) * | 2014-08-14 | 2014-11-26 | 杭州华三通信技术有限公司 | Vtep异常情况处理方法及装置 |
CN104301184A (zh) * | 2014-10-31 | 2015-01-21 | 北京百度网讯科技有限公司 | 链路的健康检查方法和装置 |
CN105490884A (zh) * | 2015-12-14 | 2016-04-13 | 迈普通信技术股份有限公司 | 一种vxlan隧道检测方法及装置 |
CN105591841A (zh) * | 2015-12-31 | 2016-05-18 | 盛科网络(苏州)有限公司 | 一种vxlan隧道的连通性检测方法 |
CN108156046A (zh) * | 2016-12-06 | 2018-06-12 | 中国移动通信有限公司研究院 | 分布式路由检测方法及装置 |
CN109245957A (zh) * | 2017-07-10 | 2019-01-18 | 中兴通讯股份有限公司 | 网络健康度的检测方法及装置 |
CN110022263A (zh) * | 2018-01-08 | 2019-07-16 | 华为技术有限公司 | 一种数据传输的方法及相关装置 |
WO2019175631A1 (en) * | 2018-03-14 | 2019-09-19 | Pratik Sharma | Passive centralised health check manager |
CN108616418A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 检测故障的方法及装置 |
CN108449282A (zh) * | 2018-05-29 | 2018-08-24 | 华为技术有限公司 | 一种负载均衡方法及其装置 |
CN108965092A (zh) * | 2018-07-24 | 2018-12-07 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
CN110177028A (zh) * | 2019-05-30 | 2019-08-27 | 北京字节跳动网络技术有限公司 | 分布式健康检查方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112887185A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US11050586B2 (en) | Inter-cloud communication method and related device, and inter-cloud communication configuration method and related device | |
US11399405B2 (en) | Session management method, device, and system | |
US20220078047A1 (en) | Virtual network communication method, device, and system | |
CN110113441B (zh) | 实现负载均衡的计算机设备、系统和方法 | |
EP2992644B1 (en) | Enhancing a mobile backup channel to address a node failure in a wireline network | |
US11398956B2 (en) | Multi-Edge EtherChannel (MEEC) creation and management | |
US8595378B1 (en) | Managing communications having multiple alternative destinations | |
CN112350918B (zh) | 一种业务流量调度方法、装置、设备及存储介质 | |
WO2023165137A1 (zh) | 一种跨集群的网络通信系统和方法 | |
EP3622670B1 (en) | Connectivity monitoring for data tunneling between network device and application server | |
WO2021254001A1 (zh) | 会话建立方法、装置、系统及计算机存储介质 | |
US20160205033A1 (en) | Pool element status information synchronization method, pool register, and pool element | |
WO2022143818A1 (zh) | 故障处理方法、控制面网元、切换决策网元及相关设备 | |
WO2022017099A1 (zh) | 通信方法、cp设备及nat设备 | |
CN112887185B (zh) | 一种叠加网络的通信方法及装置 | |
CN108271149B (zh) | 一种用户数据锚点迁移的方法、设备和系统 | |
CN114553707B (zh) | 网络的拓扑信息的生成和网络故障的定界方法、装置 | |
WO2022007861A1 (zh) | 通知故障的方法和电子设备 | |
US9763135B1 (en) | Load balancing with mobile resources | |
CN109417513B (zh) | 软件定义网络中动态检测对端的系统和方法 | |
JP7273130B2 (ja) | 通信方法および装置 | |
WO2023274087A1 (zh) | 报文转发的方法、装置及系统 | |
US11546244B1 (en) | Namespace-aware test agents for network performance measurement | |
CN115225634B (zh) | 虚拟网络下的数据转发方法、装置及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220215 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |