一种跨数据中心的流量托管方法和装置的制作方法

文档序号:7965590阅读:260来源:国知局
专利名称:一种跨数据中心的流量托管方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及ー种跨数据中心的流量托管方法和装置。
背景技术
数据中心,是各种业务的提供中心,是数据处理、数据存储和数据交換的中心。为了提供更好的服务,提供商通常在异地部署多个数据中心,实现负载分担和高可靠性,并实现虚拟机在数据中心之间的自由迁移。由于虚拟机迁移过程对用户透明,不能改变IP地址,所以必须在分布于异地的数据中心之间实现ニ层网络互联。目前,华三的以太网虚拟互联(EVI)技术和思科公司的覆盖传输虚拟化(OTV)技术均可以实现数据中心ニ层互联。在实现数据中心ニ层互联之后,同一 VLAN对应于同一主控(Master)首跳网关,因此,各数据中心的该VLAN相关的三层流量均需通过该主控首跳网关转发到公网。现有技术对此进行了优化,通过在本地首跳网关上运行虚拟路由冗余协议 (VRRP)或热备份路由器协议(HSRP),并由边缘设备过滤VRRP协议报文和HSRP协议报文, 来优化进出数据中心的三层流量,下面以EVI技术为例进行说明。參见图1,图1是基于EVI技术的数据中心ニ层互联的组网中三层流量转发示意图,包括连接到公网的数据中心站点SiteU Site2和Site3,其中,数据中心站点Sitel中包括IP地址和MAC地址分别为IPl和MACl的主机1,边缘设备EDl,以及首跳网关GWl ;数据中心站点Site2中包括IP地址和MAC地址分别为IP2和MAC2的主机2,边缘设备ED2, 以及首跳网关GW2 ;数据中心站点Site3中包括IP地址和MAC地址分别为IP3和MAC3的主机3,边缘设备ED3,以及首跳网关GW3。GW1、GW2、GW3属于同一 VLAN的首跳网关。根据EVI技木,数据中心站点Sitel、Site2、Site3通过各自的边缘设备实现与其它数据中心的ニ层互联(如图1中ED1、ED2、ED3之间的虚线连接所示,表示各站点间的ニ 层连接)。在数据中心站点Site 1内的网关GWl上运行VRRP协议,且在边缘设备EDl上过滤VRRP协议报文,VRRP协议报文无法通过EDl与ED2的ニ层连接传输到Site2 (如图1中 EDl和ED2间的虚线连接上的“X”所示,表示VRRP协议报文无法通过该ニ层连接传输到对端站点,图1中其他ニ层连接上的“X”的含义与此处相同),也无法通过EDl与ED3的ニ层连接传输倒Site3,这样,首跳网关GWl就成为数据中心站点Sitel的主控首跳网关,Sitel 内部的三层流量都通过GWl转发到公网。同样的道理,GW2就成为数据中心站点Site2的主控首跳网关,Site2内部的三层流量都通过GW2转发到公网;GW3就成为数据中心站点 Site3的主控首跳网关,Site3内部的三层流量都通过GW3转发到公网。然而,由于数据中心站点的流量是通过站点内部的首跳网关发送出去,当首跳网关到公网的链路故障吋,会导致该数据中心站点的三层流量出口中断,无法与外界通信。如图2所示的现有技术基于图1所示的数据中心ニ层互联的组网中本地首跳网关失效时的三层流量转发示意图,其中,Gffl到公网的链路故障,Gffl失效,Sitel中的三层流量无法通过 Gffl转发出去,导致Sitel中的业务中断。

发明内容
有鉴于此,本发明的目的在于提供ー种垮数据中心的流量托管方法,该方法能够保证本地首跳网关失效时业务不中断。为了达到上述目的,本发明提供了ー种垮数据中心的流量托管方法,应用于实现了数据中心ニ层互联的网络中,该方法包括侦听本地首跳网关的首跳网关冗余协议(FHRP)报文,获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备;所述首跳网关信息包括虚拟IP地址、 虚拟MAC地址;接收远端站点的边缘设备通知的远端站点的首跳网关信息;当检测到本地首跳网关失效时,按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关,建立该虚拟MAC地址与该远端站点的边缘设备的关联关系,并代替该选择的首跳网关发送免费ARP消息;接收到目的MAC为本地首跳网关的虚拟MAC的数据报文吋,将该数据报文发送到该虚拟MAC关联的远端站点的边缘设备。本发明还提供了ー种边缘设备,该边缘设备包括收发单元、存储单元、检测单元、 控制单元;所述收发単元,用于侦听本地首跳网关的首跳网关冗余协议(FHRP)报文,获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备;所述首跳网关信息包括虚拟IP地址、虚拟MAC地址;用于接收远端站点的边缘设备通知的远端站点的首跳网关信息,并存储到存储单元;用于接收到目的MAC为本地首跳网关的虚拟MAC的数据报文时,将该数据报文发送到该虚拟MAC关联的远端站点的边缘设备;所述检测単元,用于检测本地首跳网关是否失效;所述控制単元,用于在检测单元检测到本地首跳网关失效时,按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关,建立该虚拟MAC地址与该远端站点的边缘设备的关联关系,并通知收发单元代替该选择的首跳网关发送免费ARP消息。由上面的技术方案可知,本发明中,边缘设备获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备,并接收远端站点通知的远端站点的首跳网关信息;在本地首跳网关失效时,选择远端站点的首跳网关进行三层流量托管,从而能够保证本地首跳网关失效时业务不中断。


图1是现有技术基于EVI技术的数据中心ニ层互联的组网中三层流量转发示意图;图2是现有技术基于图1所示的数据中心ニ层互联的组网中本地首跳网关失效时的三层流量转发示意图;图3是本发明实施例跨数据中心的流量托管方法流程图;图4是本发明实施例在图2所示的数据中心ニ层互联的组网中应用本发明后的三层流量转发示意图;图5是本发明实施例边缘设备的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例, 对本发明的技术方案进行详细说明。在实际应用中,数据中心站点内,不同的VLAN对应于不同的首跳网关,由于各 VLAN中流量托管方法相同,因此,下面只对ー个VLAN内的流量托管方法进行说明。參见图3,图3是本发明实施例跨数据中心的流量托管方法流程图,应用于实现了数据中心ニ层互联的网络中,包括以下步骤步骤301、边缘设备侦听本地首跳网关的首跳网关冗余协议(FHRP)报文,获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备。这里,所述的FHRP报文可以是VRRP协议报文或HSRP协议报文;所述首跳网关信息具体可以包括该首跳网关所属的VLAN,该首跳网关的虚拟IP地址和虚拟MAC地址,以及该首跳网关的优先级等。在获取得到本地首跳网关信息后,可以将本地首跳网关信息存储到本地首跳网关信息数据库中。将获取的本地首跳网关信息通知远端站点的边缘设备的方法具体可以为 将获取的本地首跳网关信息携帯在ISIS LSP报文中发送到所有远端站点的边缘设备。步骤302、边缘设备接收远端站点的边缘设备通知的远端站点的首跳网关信息。本实施例中,边缘设备在将本地首跳网关信息通知远端站点的边缘设备时,也会接收到远端站点的边缘设备通知的该远端站点的首跳网关信息,可以将远端站点的首跳网关信息存储在异地首跳网关信息数据库中。在存储远端站点的首跳网关信息时,还可以进一歩存储该首跳网关信息对应的远端站点的边缘设备。本步骤与步骤301不分先后。步骤303、边缘设备检测到本地首跳网关失效时,按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关,建立该虚拟MAC地址与该远端站点的边缘设备的关联关系,并代替该选择的首跳网关发送免费ARP 消息。本步骤中,由于本地首跳网关失效,因此需要选择与本地首跳网关具有相同虚拟 MAC地址的远端站点的首跳网关,当前站点内的三层数据流量由该远端站点的首跳网关托管转发到公网。边缘设备代替该选择的首跳网关发送免费ARP消息,该免费ARP消息的源IP地址和源MAC地址与选择的远端站点的首跳网关的虚拟IP地址以及虚拟MAC地址分别相同。实际上,由于同一 VLAN内的首跳网关具有相同的虚拟IP地址和虚拟MAC地址,因此,也可以说是代替本地首跳网关发送免费ARP消息。边缘设备代替该选择的首跳网关发送免费ARP报文后,相应的需要进行三层转发的报文不再被发送到本地首跳网关,而是被发送到边缘设备。步骤304、边缘设备接收到目的MAC为本地首跳网关的虚拟MAC的数据报文时,将该数据报文发送到该虚拟MAC关联的远端站点的边缘设备。这里,本地首跳网关失效后,边缘设备选择了与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关,建立该虚拟MAC地址与该远端站点的边缘设备的关联关系, 并通过代替该选择的远端站点的首跳网关发送免费ARP消息,将相应的需要进行三层转发的报文牵引到了边缘设备,这样,当边缘设备接收到目的MAC地址为本地首跳网关的虚拟 MAC地址的数据报文时,就可以根据该数据报文的目的MAC地址,确定关联的远端站点的边缘设备,将该数据报文发送到该关联的远端站点的边缘设备,最后通过该远端站点的首跳网关转发到公网。在实际应用中,本地首跳网关会周期性的发送FHRP报文,如果边缘设备超过一定时间未能接收到本地首跳网关的FHRP报文,则说明本地首跳网关可能已经失效,例如,本地首跳网关故障。如果不对本地首跳网关信息进行老化处理,则其他数据中心站点的边缘设备在自身的首跳网关失效时,可能会选择已经失效的本地首跳网关进行流量托管,进而导致流量丢失。因此,图3所示本发明实施例中,可以使用老化定时器对本地首跳网关信息进行老化处理,在获取本地首跳网关信息之后,如果边缘设备中还不存在本地首跳网关信息,则存储本地首跳网关信息,并设置本地首跳网关信息对应的老化定时器,如果边缘设备中已经存在本地首跳网关信息,则可以刷新本地首跳网关信息对应的老化定时器。这样,如果本地首跳网关信息对应的老化定时器超时时仍未接收到本地首跳网关发送的FHRP报文,则可以确定本地首跳网关失效,否则,确定本地首跳网关未失效。另外, 本地首跳网关失效时,也可能会发送优先级为0的FHRP报文,因此,如果接收到本地首跳网关发送的优先级为0的FHRP报文,也可以确定本地首跳网关失效。在本地首跳网关失效之后,可以删除该失效的本地首跳网关信息,并将该失效的本地首跳网关通知远端站点的边缘设备,用以使远端站点的边缘设备可以及时删除该失效的首跳网关信息,从而不会误选失效的首跳网关进行流量托管。同样的道理,远端站点的首跳网关失效后,也会将失效的首跳网关通知当前边缘设备,这样,当边缘设备接收到远端站点的边缘设备通知的失效的远端站点的首跳网关,可以删除该失效的远端站点的首跳网关 fn息ο图3所示本发明实施例中,当本地首跳网关失效后,需要选择远端站点的首跳网关进行流量托管。当本地首跳网关恢复后,则本地首跳网关会发送免费ARP报文,并重新开始周期性发送FHRP报文。边缘设备接收到本地首跳网关发送的FHRP报文后,可以确定本地首跳网关恢复,流量可以从本地首跳网关转发到公网,不再需要将本地首跳网关的虚拟 MAC地址关联到远端站点的边缘设备,因此,该方法进一步包括当检测到本地首跳网关恢复时,删除本地首跳网关的虚拟MAC地址与该虚拟MAC地址关联的远端站点的边缘设备的关联关系,并将本地首跳网关信息通知远端站点的边缘设备。此外,图3所示本发明实施例中,所述按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关的方法具体可以为 在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址,且优先级最高的远端站点的首跳网关;还可以是在远端站点的首跳网关信息中随机选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关。下面结合图4对图3所示本发明实施例进行举例说明。图4是本发明实施例在图2所示的数据中心二层互联的组网中应用本发明后的三层流量转发示意图,假设GW1、GW2、GW3为VLAN100的首跳网关,对应的虚拟IP地址为IPv,虚拟MAC地址为MACv,其中,GWl的优先级(Priority)为10、GW2的优先级为20、GW3的优先级为15。在Sitel中,Gffl周期性发送FHRP报文,EDl截获GWl发送的FHRP报文,获取得到本地首跳网关信息为VLAN100、IPv、MACv、Priority = 10 ;同理,GW2周期性发送FHRP报文,ED2截获GW2发送的FHRP报文,获取得到的本地首跳网关信息为VLAN100、IPv, MACv、 Priority = 20 ;GW3周期性发送FHRP报文,ED3截获GW3发送的FHRP报文,获取得到的本地首跳网关信息为 VLAN100、IPv、MACv、Priority = 15。EDI、ED2、ED3获取得到本地首跳网关信息后,均会将获取得到的本地首跳网关信息通知远端站点的边缘设备。因此,EDl会将获取得到的本地首跳网关信息通知ED2、ED3 ; ED2会将获取得到的本地首跳网关信息通知ED1、ED3 ;ED3会将获取得到的本地首跳网关信息通知ED1、ED2。这样,ED1、ED2、ED3也会获取得到远端站点的首跳网关信息。这样,ED1、 ED2、ED3中存储的本地首跳网关信息和远端站点的首跳网关信息如表一所示
权利要求
1.ー种跨数据中心的流量托管方法,应用于实现了数据中心ニ层互联的网络中,其特征在于,该方法包括侦听本地首跳网关的首跳网关冗余协议(FHRP)报文,获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备;所述首跳网关信息包括虚拟IP地址、虚拟 MAC地址;接收远端站点的边缘设备通知的远端站点的首跳网关信息;当检测到本地首跳网关失效时,按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关,建立该虚拟MAC地址与该远端站点的边缘设备的关联关系,并代替该选择的首跳网关发送免费ARP消息;接收到目的MAC为本地首跳网关的虚拟MAC的数据报文时,将该数据报文发送到该虚拟MAC关联的远端站点的边缘设备。
2.根据权利要求1所述的跨数据中心的流量托管方法,其特征在干,所述获取本地首跳网关信息之后,进ー步包括如果不存在本地首跳网关信息,则存储本地首跳网关信息, 并设置本地首跳网关信息对应的老化定时器,否则,刷新本地首跳网关信息对应的老化定时器;检测本地首跳网关是否失效的方法为如果接收到本地首跳网关发送的优先级为0的 FHRP报文,或者本地首跳网关信息对应的老化定时器超时时仍未接收到本地首跳网关发送的FHRP报文,则确定本地首跳网关失效,否则,确定本地首跳网关未失效。
3.根据权利要求2所述的跨数据中心的流量托管方法,其特征在干,检测到本地首跳网关失效之后,进ー步包括删除该失效的本地首跳网关信息,并将该失效的本地首跳网关通知远端站点的边缘设备;接收到远端站点的边缘设备通知的失效的远端站点的首跳网关吋,删除该失效的远端站点的首跳网关信息。
4.根据权利要求3所述的跨数据中心的流量托管方法,其特征在于,该方法进ー步包括当检测到本地首跳网关恢复时,删除本地首跳网关的虚拟MAC地址与该虚拟MAC地址关联的远端站点的边缘设备的关联关系。
5.根据权利要求1-4任ー权项所述的跨数据中心的流量托管方法,其特征在干, 所述首跳网关信息还包括该首跳网关的优先级;所述按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟 MAC地址的远端站点的首跳网关的方法为在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址,且优先级最高的远端站点的首跳网关。
6.根据权利要求1-4任ー权项所述的跨数据中心的流量托管方法,其特征在干, 所述FHRP报文是虚拟路由器冗余协议VRRP报文或热备份路由器HSRP协议报文。
7.根据权利要求1-4任ー权项所述的跨数据中心的流量托管方法,其特征在干, 将本地首跳网关信息通知远端站点的边缘设备的方法为将本地首跳网关信息携帯在ISIS LSP报文中发送到所有远端站点的边缘设备。
8.—种边缘设备,其特征在干,该边缘设备包括收发单元、存储单元、检测单元、控制单元;所述收发単元,用于侦听本地首跳网关的首跳网关冗余协议(FHRP)报文,获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备;所述首跳网关信息包括虚拟IP地址、虚拟MAC地址;用于接收远端站点的边缘设备通知的远端站点的首跳网关信息,并存储到存储单元;用于接收到目的MAC为本地首跳网关的虚拟MAC的数据报文吋, 将该数据报文发送到该虚拟MAC关联的远端站点的边缘设备;所述检测単元,用于检测本地首跳网关是否失效;所述控制単元,用于在检测单元检测到本地首跳网关失效时,按照预设规则在远端站点的首跳网关信息中选择与本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关, 建立该虚拟MAC地址与该远端站点的边缘设备的关联关系,并通知收发单元代替该选择的首跳网关发送免费ARP消息。
9.根据权利要求8所述的边缘设备,其特征在干,所述收发単元在获取本地首跳网关信息之后,进ー步用干如果存储単元中不存在本地首跳网关信息,则存储本地首跳网关信息,并设置本地首跳网关信息对应的老化定时器, 否则,刷新存储单元中存储的本地首跳网关信息对应的老化定时器;所述检测単元在检测本地首跳网关是否失效时,用于如果收发単元接收到本地首跳网关发送的优先级为0的FHRP报文,或者存储单元中存储的本地首跳网关信息对应的老化定时器超时时,收发单元仍未接收到本地首跳网关发送的FHRP报文,则确定本地首跳网关失效,否则,确定本地首跳网关未失效。
10.根据权利要求9所述的边缘设备,其特征在干,所述控制単元在检测单元检测到本地首跳网关失效之后,进ー步用于删除该失效的本地首跳网关信息,并将该失效的本地首跳网关通知收发单元;所述收发単元,用于接收到控制单元通知的失效的本地首跳网关后,将该失效的本地首跳网关通知远端站点的边缘设备;用于接收到远端站点的边缘设备通知的失效的远端站点的首跳网关时,删除该失效的远端站点的首跳网关信息。
11.根据权利要求10所述的边缘设备,其特征在干,所述检测単元,进ー步用于检测本地首跳网关是否恢复;所述控制単元,进ー步用干在检测单元检测到本地首跳网关恢复后,删除本地首跳网关的虚拟MAC地址与该虚拟MAC地址关联的远端站点的边缘设备的关联关系。
12.根据权利要求8-11任ー权项所述的边缘设备,其特征在干,所述首跳网关信息还包括该首跳网关的优先级;所述控制単元在按照预设规则在远端站点的首跳网关信息中选择与该本地首跳网关具有相同虚拟MAC地址的远端站点的首跳网关时,用于在远端站点的首跳网关信息中选择与该本地首跳网关具有相同虚拟MAC地址,且优先级最高的远端站点的首跳网关。
13.根据权利要求8-11任ー权项所述的边缘设备,其特征在干,所述收发単元接收到的本地首跳网关的FHRP报文是虚拟路由器冗余协议VRRP报文或热备份路由器HSRP协议报文。
14.根据权利要求8-11任ー权项所述的边缘设备,其特征在干,所述收发単元在将本地首跳网关信息通知远端站点的边缘设备时,用于将本地首跳网关信息携帯在ISIS LSP报文中发送到所有远端站点的边缘设备。
全文摘要
本发明提供了一种跨数据中心的流量托管方法和装置,该方法中,边缘设备获取本地首跳网关信息,将获取的本地首跳网关信息通知远端站点的边缘设备,并接收远端站点通知的远端站点的首跳网关信息;在本地首跳网关失效时,选择远端站点的首跳网关进行三层流量托管。本发明能够保证本地首跳网关失效时业务不中断。
文档编号H04L12/56GK102546389SQ20111034982
公开日2012年7月4日 申请日期2011年11月8日 优先权日2011年11月8日
发明者周万 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1