发明内容
本发明实施例提供了一种虚拟服务器迁移的报文转发方法,能够确保虚拟服务器迁移后报文转发路径不会绕行。
一种虚拟服务器迁移的报文转发方法,预先在第一数据中心的网络地址转换NAT服务设备上配置NAT服务策略,该NAT服务策略包含重定向目的IP地址,以及所述虚拟服务器在第一数据中心的公网IP地址和私网IP地址;所述NAT服务设备与第一数据中心的网关设备连接,作为第一数据中心接入互联网的出口设备;该方法还包括:
第一数据中心的NAT服务设备周期性探测该数据中心内虚拟服务器的私网IP地址,当接收不到虚拟服务器的响应后,确认虚拟服务器从第一数据中心迁移到第二数据中心;
第一数据中心的NAT服务设备接收客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文,根据NAT服务策略中配置的重定向目的IP地址,向客户端返回携带所述重定向目的IP地址的重定向报文,要求客户端以所述目的IP地址重新发送WEB请求报文;所述重定向目的IP地址为虚拟服务器迁移到第二数据中心的公网IP地址。
本发明实施例还提供了一种网络地址转换服务设备,能够确保虚拟服务器迁移后报文转发路径不会绕行。
一种第一网络地址转换NAT服务设备,与第一数据中心的网关设备连接,作为第一数据中心接入互联网的出口设备;该设备包括:
NAT配置模块,用于配置NAT服务策略,该NAT服务策略包含重定向目的IP地址,以及所述虚拟服务器在第一数据中心的公网IP地址和私网IP地址;
接收模块,用于接收客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文;
探测模块,用于周期性探测第一数据中心内虚拟服务器的私网IP地址,当接收不到虚拟服务器的响应后,确认虚拟服务器从第一数据中心迁移到第二数据中心;
NAT控制模块,用于接收到探测模块确认虚拟服务器发生数据中心间的迁移的通知后,根据NAT配置模块中的重定向目的IP地址,向发送WEB请求报文的客户端返回携带所述重定向目的IP地址的重定向报文,要求客户端以所述目的IP地址重新发送WEB请求报文;所述重定向目的IP地址为虚拟服务器迁移到第二数据中心的公网IP地址。
本发明实施例还提供了一种数据中心系统,能够确保虚拟服务器迁移后报文转发路径不会绕行。
一种第一数据中心系统,包括虚拟服务器、第一网关设备和第一NAT服务设备;
所述虚拟服务器,用于根据自身配置的私网IP地址对第一NAT服务设备的探测报文进行响应,当该虚拟服务器从第一数据中心迁移到第二数据中心后,不对第一NAT服务设备进行响应;
所述第一网关设备,用于转发第一NAT服务设备向虚拟服务器发送的探测报文;或者转发虚拟服务器向第一NAT服务设备发送的探测报文响应;
所述第一NAT服务设备,预先配置NAT服务策略,该NAT服务策略包含重定向目的IP地址,以及所述虚拟服务器在第一数据中心的公网IP地址和私网IP地址;所述第一NAT服务设备与第一网关设备连接,作为第一数据中心接入互联网的出口设备;
还用于周期性探测该数据中心内虚拟服务器的私网IP地址,当接收不到虚拟服务器的响应后,确认虚拟服务器从第一数据中心迁移到第二数据中心;
还用于接收客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文,根据NAT服务策略中配置的重定向目的IP地址,向客户端返回携带所述重定向目的IP地址的重定向报文,要求客户端以所述目的IP地址重新发送WEB请求报文;所述重定向目的IP地址为虚拟服务器迁移到第二数据中心的公网IP地址。
本发明实施例在NAT服务设备上配置WEB重定向功能,即NAT服务策略包含重定向目的IP地址,在虚拟服务器发生数据中心间的迁移后,客户端能够根据重定向目的IP地址,找到虚拟服务器迁移后的位置,将WEB请求报文直接发送给该虚拟服务器。本发明实施例不但不需要全局负载均衡设备和虚拟机管理服务器,而且也实现了虚拟服务器迁移前后下行流量路径不会绕行,从而达到本发明的目的。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本文提出了一种NAT服务策略结合Web重定向的方式,可以根据Web虚拟服务器的位置动态的调整客户端访问的目的地址,实现客户访问路径的优化。
本发明一种虚拟服务器迁移的报文转发方法,如图2所示,该方法包括以下步骤:
步骤21、预先在第一数据中心的网络地址转换NAT服务设备上配置NAT服务策略,该NAT服务策略包含重定向目的IP地址,以及所述虚拟服务器在第一数据中心的公网IP地址和私网IP地址;所述NAT服务设备与第一数据中心的网关设备连接,作为第一数据中心接入互联网的出口设备;
步骤22、第一数据中心的NAT服务设备周期性探测该数据中心内虚拟服务器的私网IP地址,当接收不到虚拟服务器的响应后,确认虚拟服务器从第一数据中心迁移到第二数据中心;
其中,该步骤中NAT服务设备周期性探测该数据中心内虚拟服务器的私网IP地址的探测手段不限,例如可以是网络质量分析(NQA)报文,也可以是双向转发检测(BFD)报文,探测周期可以由用户指定。探测报文携带的源IP为该NAT服务设备,目的IP为所探测的虚拟服务器;虚拟服务器对其进行响应时,响应报文携带的源IP为该虚拟服务器,目的IP为发送探测报文的NAT服务设备。
步骤23、第一数据中心的NAT服务设备接收客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文,根据NAT服务策略中配置的重定向目的IP地址,向客户端返回携带所述重定向目的IP地址的重定向报文,要求客户端以所述目的IP地址重新发送WEB请求报文;所述重定向目的IP地址为虚拟服务器迁移到第二数据中心的公网IP地址。
以下结合一个具体的应用场景,对本发明提供的路径优化方法进行详细说明。如图3所示,为本发明提供的方法原理示意图。虚拟服务器在第一数据中心和第二数据中心之间通过DCI二层网络自由迁移,DCI二层网络通过第一数据中心的网关设备和第二数据中心的网关设备将两个数据中心联通起来。本发明实施例假设VM节点1从第一数据中心迁移到第二数据中心。
为了确保VM节点1从第一数据中心迁移到第二数据中心之后,其自身的私网IP地址不变,首先需要配置VM节点1在第一数据中心的私网IP地址与迁移到第二数据中心的私网IP地址相同,例如配置为:10.1.1.100。
为了确保VM节点1从第一数据中心迁移到第二数据中心之后,网关IP地址不变,则预先将第一数据中心的网关设备配置为第一VRRP组,将第二数据中心的网关设备配置为第二VRRP组,所述第一VRRP组和第二VRRP组的配置相同。在VRRP标准模式中,第一VRRP组和第二VRRP组的配置相同,指的是,将两个组的虚拟IP地址(VIP)和虚拟媒体接入控制地址(VMAC)配置相同,例如两个组的VIP都为10.1.1.1,VMAC都为a.a.a.a.a.a。这样,VM节点1将10.1.1.1配置为网关的IP地址,迁移到第二数据中心之后,网关IP地址仍然为10.1.1.1。
本发明的关键点在于在NAT服务设备上配置NAT服务策略,该NAT服务策略具体为:
nat server protocol tcp global202.38.1.1008080inside10.1.1.100wwwredirect203.58.1.200
其中,202.38.1.100所在的字段为该NAT服务策略的公网IP地址,10.1.1.100所在的字段为该NAT服务策略的私网IP地址,私网IP地址为WEB服务器的IP地址,所以www表示要访问的WEB服务器。当客户端向VM节点1发送的WEB请求报文到了NAT服务设备时,该WEB请求报文中携带的目的IP地址,就由在公网上选路的虚拟服务器在第一数据中心的公网IP地址202.38.1.100转换为在该数据中心内部的私网IP地址10.1.1.100。
相比于现有技术,本发明的NAT服务策略增加了redirect字段,该字段具体表示这条NAT服务策略需要根据私网IP地址10.1.1.100是否有响应来决定是否重定向目的IP地址(203.58.1.200),该重定向目的IP地址为VM节点1迁移到第二数据中心的公网IP地址。
基于上述配置,从虚拟服务器迁移后和迁移前两种情况对本发明实施例提供的方法进行详细描述。
第一种情况:虚拟服务器从第一数据中心迁移到第二数据中心
步骤41、第一数据中心的NAT服务设备周期性探测该数据中心内VM节点1的私网IP地址10.1.1.100,当接收不到VM节点1的响应后,确认VM节点1从第一数据中心迁移到第二数据中心;
步骤42、第一数据中心的NAT服务设备接收客户端的WEB请求报文,根据redirect203.58.1.200字段,向客户端返回携带重定向目的IP地址为203.58.1.200的重定向报文,要求客户端以203.58.1.200为目的IP地址重新发送WEB请求报文;
其中,该WEB请求报文中携带的目的IP地址为VM节点1在第一数据中心的公网IP地址202.38.1.100,这是客户端从DNS服务器获取的,具体为:DNS服务器中记录VM节点1的域名和VM节点1在第一数据中心对应的公网IP地址,即www.aaa.com202.38.1.100,客户端根据输入的域名www.aaa.com从DNS服务器中获取VM节点1在第一数据中心的公网IP地址202.38.1.100后,向第一数据中心的NAT服务设备发送携带所述公网IP地址202.38.1.100的WEB请求报文。
步骤43、客户端再次发送WEB请求报文时,会以203.58.1.200为目的IP地址直接发送到第二数据中心的NAT服务设备,第二数据中心的NAT服务设备根据其上配置的NAT服务策略对再次发送的WEB请求报文进行NAT处理,然后直接发送到迁移到第二数据中心的VM节点1上。第二数据中心的NAT服务设备上配置的NAT服务策略为:nat server protocol tcp global203.58.1.2008080inside10.1.1.15www。因此,NAT处理就是将VM节点1在第二数据中心的公网目的IP地址203.58.1.200转换为私网IP地址10.1.1.100。
从上述描述可以看出,VM节点1迁移到第二数据中心,客户端再次发送给VM节点1的WEB请求报文,可以直接通过第二数据中心的NAT服务设备发送给迁移到第二数据中心的VM节点1,而不需要绕行。
第二种情况:虚拟服务器未发生迁移
步骤51、第一数据中心的NAT服务设备周期性探测该数据中心内VM节点1的私网IP地址10.1.1.100,当第一数据中心的NAT服务设备接收到VM节点1的响应后,确认VM节点1未发生数据中心间的迁移;
其中,第一数据中心的NAT服务设备能够接收到VM节点1对探测报文的响应,则意味着VM节点1还处于第一数据中心内,因此就不需要重定向目的IP地址。
步骤52、第一数据中心的NAT服务设备接收到客户端的WEB请求报文,根据NAT服务策略:nat server protocol tcp global202.38.1.1008080inside10.1.1.100www,对WEB请求报文进行NAT处理,将WEB请求报文中作为目的地址的公网IP地址202.38.1.100转换为私网IP地址10.1.1.100,向VM节点1发送经过处理之后的WEB请求报文。
其中,该WEB请求报文中携带的目的IP地址为VM节点1在第一数据中心的公网IP地址202.38.1.100,这是客户端从DNS服务器获取的,具体为:DNS服务器中记录VM节点1的域名和VM节点1在第一数据中心对应的公网IP地址,即www.aaa.com202.38.1.100,客户端根据输入的域名www.aaa.com从DNS服务器中获取VM节点1在第一数据中心的公网IP地址202.38.1.100后,向第一数据中心的NAT服务设备发送携带所述公网IP地址202.38.1.100的WEB请求报文。
需要注意的是,为确保第一数据中心的探测报文只在本中心内有效,不会出现在第二数据中心,本发明实施例在第一数据中心网关设备(图中的汇聚网关)与DCI连接的接口上配置访问控制列表(ACL),将NAT服务设备经由网关设备发送给虚拟服务器的探测报文在该接口上过滤掉。
VM节点2从第二数据中心迁移到第一数据中心的报文转发原理与上述相同,在此不再赘述。
对应上述实施例,本发明实施例还提供了一种第一NAT服务设备,与第一数据中心的网关设备连接,作为第一数据中心接入互联网的出口设备;该NAT服务设备的各个功能模块与方法是相对应的,其结构示意图如图4所示,该NAT服务设备包括:
NAT配置模块401,用于配置NAT服务策略,该NAT服务策略包含重定向目的IP地址,以及所述虚拟服务器在第一数据中心的公网IP地址和私网IP地址;
接收模块402,用于接收客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文;
探测模块403,用于周期性探测第一数据中心内虚拟服务器的私网IP地址,当接收不到虚拟服务器的响应后,确认虚拟服务器从第一数据中心迁移到第二数据中心;
NAT控制模块404,用于接收到探测模块确认虚拟服务器发生数据中心间的迁移的通知后,根据NAT配置模块中的重定向目的IP地址,向发送WEB请求报文的客户端返回携带所述重定向目的IP地址的重定向报文,要求客户端以所述目的IP地址重新发送WEB请求报文;所述重定向目的IP地址为虚拟服务器迁移到第二数据中心的公网IP地址。
所述探测模块403,还用于接收到虚拟服务器的响应后,确认虚拟服务器未发生数据中心间的迁移;
所述NAT控制模块404,还用于接收到探测模块确认虚拟服务器未发生数据中心间的迁移的通知后,根据NAT服务策略,对客户端发送的WEB请求报文进行NAT处理,将WEB请求报文中作为目的地址的公网IP地址转换为私网IP地址,向所述虚拟服务器发送经过处理之后的WEB请求报文。
本发明还提供了一种第一数据中心系统,包括虚拟服务器、第一网关设备和第一NAT服务设备;
所述虚拟服务器,用于根据自身配置的私网IP地址对第一NAT服务设备的探测报文进行响应,当该虚拟服务器从第一数据中心迁移到第二数据中心后,不对第一NAT服务设备进行响应;
所述第一网关设备,用于转发第一NAT服务设备向虚拟服务器发送的探测报文;或者转发虚拟服务器向第一NAT服务设备发送的探测报文响应;
所述第一NAT服务设备,预先配置NAT服务策略,该NAT服务策略包含重定向目的IP地址,以及所述虚拟服务器在第一数据中心的公网IP地址和私网IP地址;所述第一NAT服务设备与第一网关设备连接,作为第一数据中心接入互联网的出口设备;
还用于周期性探测该数据中心内虚拟服务器的私网IP地址,当接收不到虚拟服务器的响应后,确认虚拟服务器从第一数据中心迁移到第二数据中心;
还用于接收客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文,根据NAT服务策略中配置的重定向目的IP地址,向客户端返回携带所述重定向目的IP地址的重定向报文,要求客户端以所述目的IP地址重新发送WEB请求报文;所述重定向目的IP地址为虚拟服务器迁移到第二数据中心的公网IP地址。
所述虚拟服务器,还用于当该虚拟服务器未发生数据中心间的迁移时,对第一NAT服务设备进行响应;
所述第一NAT服务设备,还用于接收到虚拟服务器的响应后,确认虚拟服务器未发生数据中心间的迁移;
还用于接收到客户端的带有虚拟服务器在第一数据中心的公网IP地址的WEB请求报文,根据NAT服务策略,对WEB请求报文进行NAT处理,将WEB请求报文中作为目的地址的公网IP地址转换为私网IP地址,向所述虚拟服务器发送经过处理之后的WEB请求报文。
所述第一网关设备,还用于在与数据中心网络DCI连接的接口上配置访问控制列表ACL,将第一NAT服务设备经由第一网关设备发送给虚拟服务器的探测报文在该接口上过滤掉。
其中,本发明设备的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。而且,本发明为描述清楚起见,主要对第一数据中心中的设备进行了定义,所以有第一网关设备,第一NAT服务设备。第二数据中心中的设备与第一中心中的设备相对应,且具有相同的功能,在此不再赘述。
通过使用本发明实施例提供的上述方法和设备,将NAT服务设备上的NAT服务策略与WEB重定向动态关联,使得客户端访问虚拟服务器,一般为WEB虚拟服务器的下行流量,可以动态地跟随WEB虚拟服务器的位置,保证WEB虚拟服务器迁移前后流量路径不会绕行。而且本发明不需要全局负载均衡设备和虚拟机管理服务器,不存在现有技术中所存在的问题,因此简单易实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。