一种数据中心二层互联方法和装置的制作方法

文档序号:7930052阅读:301来源:国知局
专利名称:一种数据中心二层互联方法和装置的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种数据中心二层互联方法和装置。
背景技术
传统互联网数据中心(IDC)主要是以出售带宽及机柜空间,主机托管,提供网络连通性等服务,以机房为单位提供基础设施服务。随着IT行业的飞速发展,用户业务量呈爆炸式增涨,运营商IDC正面临着前所未有的困境,如空间资源的限制,高低端机房发展不均衡、硬件资源利用率较低,建设和运营成本较高、业务结构单一、业务竞争和技术发展压力大等。目前能够解决运营商困境的唯一办法就是实施云计算服务,提高设备的利用率、 降低运营成本,提高利润空间。目前,运营商实施云计算技术的主要方法就是“虚拟化”,通过虚拟化实现资源的灵活调度,尤其是计算资源的灵活调度。在同一个数据中心内部,计算资源灵活调度比较容易实现,难点在于在多个数据中心之间实现的资源的灵活调度,这需要建设一个大范围的二层网络。然而,建设大范围的二层网络,面临的问题很多,其中最棘手的就是MAC地址规模过大IDC云间二层互联会导致多个IDC的MAC地址翻倍,使得交换机难以负荷;超大范围的广播域IDC云间二层互联会导致多个IDC之间形成一个庞大的二层广播域,使得ARP 广播和未知单播进一步扩散,增加二层网络广播风暴的威胁。传统的MAC地址学习是基于硬件芯片的源MAC地址学习方式,实现简单,但是不能识别和区分报文,对收到的所有报文都会自动学习,因此会导致MAC表规模过大。目前,覆盖传输虚拟化(OTV)技术针对基于硬件芯片的源MAC地址学习方式的MAC 地址学习的不足,运用了一种称为基于数据平面“地址泛洪学习,,的方法,通过控制平面协议IS-IS路由协议来实现MAC地址学习。这样就可以控制MAC地址学习的规模,能够解决 MAC地址过大的问题。参见图1,图1是现有技术OTV的MAC地址学习过程示意图,其中,数据中心站点 A、B、C分别通过边缘设备1、2、3接入到骨干网,各数据中心内的拓扑未画出。各数据中心站点的边缘设备从数据中心站点内部学习到新的MAC地址时,会通过IS-IS路由协议将关联的VLAN ID和下一跳IP地址(边缘设备连接到骨干网的接口 IP)向外通告,并在骨干网中通过组播树复制转发到所有邻居。例如在图1中,虚线11表示边缘设备1将从数据中心站点A内部学习到的新的MAC地址通过骨干网中的组播树复制转发到数据中心站点B,虚线12表示边缘设备1将从数据中心站点A内部学习到的新的MAC地址通过骨干网中的组播树复制转发到数据中心站点C。但是,OTV的实现技术过于复杂,需要在二层网络中应用IS-IS路由协议,需要对现有的IS-IS路由协议做新的修改(其中涉及到IETF标准的修改、软件平面的大幅度修改等);另外,复杂的实现技术还导致其MAC地址学习数量有限,只能适用于某些企业数据中心互连的应用,无法应用于大规模数据中心互联,尤其是运营商IDC的云间互联。

发明内容
有鉴于此,本发明提供了一种数据中心二层互联方法,该方法能够解决MAC地址规模过大的问题。为了达到上述目的,本发明提供了一种数据中心二层互联方法,预先在边缘设备上配置并使能MFF ;该方法包括边缘设备在第一端口接收到用户设备的ARP请求时,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去,并在从第二端口接收到相应的ARP响应后,记录ARP信息,修改该ARP响应的源MAC地址为自身的MAC地址后从第一端口发送出去;边缘设备在第二端口接收到远端站点的边缘设备的ARP请求时,修改该ARP请求的源MAC地址为自身的MAC地址后从第一端口发送出去,并在从第一端口接收到相应的ARP 响应后,记录ARP信息,修改该ARP响应的源MAC地址为自身的MAC地址后从第二端口发送出去;边缘设备在第一端口接收到用户设备的业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP对应的ARP信息修改业务报文的目的MAC地址,将修改后的业务报文从第二端口发送出去;边缘设备在第二端口接收到远端站点的边缘设备的业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP对应的ARP信息修改业务报文的目的MAC地址,将修改后的业务报文从第一端口发送出去;其中,所述第一端口为连接站点内部的用户设备的端口 ;所述第二端口为连接远端站点的边缘设备的端口。本发明还提供了一种边缘设备,该边缘设备包括配置单元、第一收发单元、第二收发单元、处理单元;所述配置单元,用于预先配置并使能MFF ;所述第一收发单元,用于在第一端口接收用户设备的ARP请求时,向处理单元发送第一处理指示,并在处理单元根据第一处理指示对该ARP请求进行处理后,将该ARP请求从第二端口发送出去;用于将在第一端口接收到的ARP请求从第二端口发送出去后,如果在第二端口接收到相应的ARP响应,则向处理单元发送第二处理指示,并在处理单元根据第二处理指示对该ARP响应进行处理后,将该ARP响应从第一端口发送出去;用于在第二端口接收远端站点的边缘设备的ARP请求时,向处理单元发送第一处理指示,并在处理单元根据第一处理指示对该ARP请求进行处理后,将该ARP请求从第一端口发送出去;用于将在第二端口接收到的ARP请求从第一端口发送出去后,如果在第一端口接收到相应的ARP响应,则向处理单元发送第二处理指示,并在处理单元根据第二处理指示对该ARP响应进行处理后,将该ARP响应从第二端口发送出去;所述第二收发单元,用于在第一端口接收用户设备的业务报文时,向处理单元发送第三处理指示,并在处理单元根据第三处理指示对该业务报文进行处理后,将该业务报文从第二端口发送出去;用于在第二端口接收到远端站点的边缘设备的业务报文时,向处理单元发送第三处理指示,并在处理单元根据第三处理指示对该业务报文进行处理后,将该业务报文从第一端口发送出去;
所述处理单元,用于接收到第一收发单元的第一处理指示时,将第一收发单元接收到的ARP请求的源MAC地址为自身的MAC地址;用于接收到第一收发单元的第二处理指示时,记录ARP信息,并将该ARP响应的源MAC地址修改为自身的MAC地址;用于接收到第二收发单元的第三处理指示时,将第二收发单元接收到的业务报文的源MAC地址修改为自身的MAC地址,并根据该业务报文的目的IP对应的ARP信息修改业务报文的目的MAC地址;其中,所述第一端口为连接站点内部的用户设备的端口 ;所述第二端口为连接远端站点的边缘设备的端口。由上面的技术方案可知,本发明通过在数据中心站点的边缘设备上使能MFF,根据 MFF机制代理转发ARP请求和ARP响应,并根据接收到的ARP响应学习ARP信息;在接收到业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP地址查找对应的ARP信息,根据查找到的ARP信息修改业务报文的目的MAC地址,并将修改后的业务报文转发出去。应用本发明,各数据中心站点内部的MAC地址不会传播到其他数据中心站点,因而可以有效缩小MAC地址表的规模,解决数据中心二层互联时MAC地址规模过大的问题。


图1是现有技术OTV的MAC地址学习过程示意图;图2是本发明实施例数据中心二层互联组网的示例性示意图;图3是在基于图2所示的数据中心站点中划分多个二层广播域的示例性示意图;图4是本发明实施例数据中心二层互联方法流程图;图5是本发明实施例边缘设备的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例, 对本发明的技术方案进行详细说明。本发明的主要思想是在数据中心站点的边缘设备上使能MAC强制转发(MFF);根据MFF机制代理转发来自数据中心站点内部或来自远端数据中心站点的ARP请求和ARP响应,并根据接收到的ARP响应记录相应的ARP信息;当接收到数据中心站点内部或来自远端数据中心站点的业务报文时,根据业务报文的目的IP地址对应的ARP信息,修改并代理转发该业务报文,实现数据中心二层互联。这里,MFF最主要的功能是实现ARP代答以太网接入节点(EAN)截获用户设备的 ARP请求,通过ARP代答机制,将指定接入路由器(AR)的MAC地址作为回应的MAC地址,从而强制用户将所有的流量发送到指定AR。参见图2,图2是本发明实施例数据中心二层互联组网的示例性示意图,其中, EANU EAN2、EAN3分别是数据中心站点A、B、C的边缘设备。EANl的MAC地址为MAC_A,通过端口 Pll连接数据中心站点A内部的用户设备,通过端口 P12接入到骨干网;EAN2的MAC 地址为MAC_B,通过端口 P21连接数据中心站点B内部的用户设备,通过端口 P22接入到骨干网;EAN3的MAC地址为MAC_C,通过端口 P31连接数据中心站点C内部的用户设备,通过端口 P32接入到骨干网。站点A中包括用户设备HI、H2,用户设备Hl的IP地址、MAC地址分别为IP1、MAC1,用户设备H2的IP地址、MAC地址分别为IP2、MAC2 ;站点B中包括用户设备H3,用户设备H3的IP地址、MAC地址分别为IP3、MAC3 ;站点C中包括用户设备H4,用户设备H4的IP地址、MAC地址分别为IP4、MAC4。在EANl、EAN2、EAN3上使能了 MFF,EANl、 EAN2、EAN3同时还承载AR的功能。当站点A中的用户设备Hl要和站点C中的用户设备H3通信时,用户设备Hl首先需要获知用户设备H3的MAC地址,可以通过ARP请求获知。用 户设备Hl发送目的IP地址为IP3的ARP请求,由于使能了 MFF,EANl在端口 Pll截获该ARP请求后,将该ARP请求的源MAC =MACl,修改为自身的MAC地址MAC_A,并将该修改后的ARP请求通过端口 P12发送到骨干网;EAN2、EAN3均可以收到该ARP请求,但是,由于用户设备H3不在站点C中,因此, EAN3不会返回ARP响应。EAN2在端口 P22收到该ARP请求后,由于使能了 MFF,将该ARP请求的源MAC地址 MAC_A,修改为自身的MAC地址MAC_B,并将该修改后的ARP请求通过端口 P21在站点B内
广播;用户设备3收到该ARP请求后,发现目的IP地址为自身的IP地址,因此,学习该 ARP请求中携带的ARP信息IP1、MAC_B,并返回ARP响应,该ARP响应的源IP地址、源MAC 地址分别为IP3、MAC3 ;EAN2在端口 P21收到用户设备H3的ARP响应后,学习该ARP响应的ARP信息IP3、 MAC3,并将该ARP响应的源MAC地址修改为自身的MAC地址MAC_B,将修改后的ARP响应通过端口 P22返回到EANl ;EANl在端口 P12接收到该ARP响应后,学习该ARP响应的ARP信息IP3、MAC_B, 并将源MAC修改为自身的MAC地址MAC_A,将修改后的ARP响应通过端口 Pll返回到用户设备Hl ;用户设备Hl接收到该ARP响应后,记录该ARP响应的ARP信息IP3、MAC_A ;至此, 用户设备Hl获取得到用户设备H3的MAC地址。这里,由于EANl使能了 MFF,用户设备Hl获得的主机H3的MAC地址并非真正的用户设备H3的MAC地址,而是EANl的MAC地址。用户设备Hl获取得到用户设备H3的MAC地址后,可以开始和用户设备H3进行通信,具体通信过程如下用户设备Hl发送源IP地址为IP1,源MAC地址为MAC3,目的IP地址为IP3,目的 MAC地址MAC_A的业务报文;EANl在端口 Pll接收到该业务报文后,将业务报文的源MAC地址修改为MAC_A,并根据业务报文的目的IP地址IP3在ARP缓存中查找对应的ARP信息,根据查找到的ARP信息IP3、MAC_B,将该业务报文的目的MAC地址修改为MAC_B,然后将修改后的业务报文通过端口 P12发送到骨干网;EAN2在端口 P22接收到该业务报文后,将业务报文的源MAC地址修改为MAC_B,并根据业务报文的目的IP地址IP3在ARP缓存中查找对应的ARP信息,根据查找到的ARP信息IP3、MAC3,将该业务报文的目的MAC地址修改为MAC3,然后将修改后的业务报文通过端口 P21发送到用户设备H3;
用户设备H3接收到该业务报文后,发现该业务报文的目的IP地址和目的MAC地址分别为自身的IP地址和MAC地址,因此,接受并正常处理该业务报文。由此可见,上述过程中,各数据中心站点的边缘设备根据MFF机制截获用户设备间的ARP协议报文,并记录相应的ARP信息,用以在用户设备间通信过程中,对接收到的业务报文的源MAC地址和目的MAC地址进行修改,并代理发送修改后的业务报文,从而实现数据中心二层互联。在实际应用中,为了减少不必要的ARP广播,数据中心站点的边缘设备接收到ARP 请求时,还可以先判断是否已经存在该ARP请求的目的IP地址对应的ARP信息,如果已经存在,则可以直接返回自身的MAC地址。例如在图2中,用户设备Hl发送目的IP地址为 IP3的ARP请求,并收到相应的ARP响应后,EANl中已经记录了 IP3对应的ARP信息IP3、 MAC_B。此时,如果站点A中的用户设备H2需要和站点B中的用户设备H3通信,则可以先发送目的IP地址为IP3的ARP请求,用以获取用户设备H3的MAC地址;EANl截获该ARP请求后,查找ARP缓存确定已经存在IP3对应的ARP信息,因此,直接将自身的MAC地址MAC_A 返回给用户设备H2,这样,用户设备H2学习到的用户设备H3对应的ARP信息为IP3、MAC_ A0这样,用户设备H2根据获得到用户设备H3对应的ARP信息,可以发送目的IP地址为IP3,目的MAC地址为MAC_A的业务报文;EANl接收到该业务报文后,将该业务报文的源MAC修改为MAC_A,并根据IP3在ARP缓存中查找对应的ARP信息,根据查找到的ARP信息IP3、MAC_B,将该业务报文的目的MAC修改为MAC_B后发送到EAN2 ;EAN2将该业务报文的源MAC地址修改为MAC_B,并根据IP3在ARP缓存中查找对应的ARP信息IP3、MAC3,将该业务报文的目的MAC修改为MAC3后发送到用户设备H3。至此实现用户设备H2和用户设备H3的通信。另外,对于发送的ARP请求没有收到对应的ARP响应的情况,可以建立惩罚机制, 用以进一步减少不必要的ARP广播,减少网络中ARP广播报文的数量。例如,在图3中,如果用户设备Hl请求一个掉线的或者不存在的用户设备的MAC地址,则EANl截获该ARP请求后通过骨干网进行广播,EAN2、EAN3接收到该ARP请求后,将该ARP请求在各自所属的站点内广播。如果用户设备Hl连续多次发送该ARP请求,则会占用大量网络资源,造成不必要的资源浪费。为此,EANl可以针对该ARP请求或发送该ARP请求的用户设备Hl建立惩罚记录,如果在预设的时间内再次收到该ARP请求,或者收到用户设备Hl发送的ARP请求, 则直接丢弃,从而可以减少不必要的ARP广播。此外,在数据中心站点的边缘设备上使能MFF后,边缘设备还可以支持虚拟机在数据中心站点间的迁移,虚拟机迁移前后,其IP地址和MAC地址保持不变。仍以图2为例, 假设用户设备Hl上的虚拟机X迁移到了用户设备H3上,该虚拟机X的IP地址假设就是 IPl,MAC地址为MACl。则虚拟机X迁移过程如下虚拟机X在用户设备H3上重启后,可以发送源IP地址为IPl,源MAC地址为MACl 的免费ARP报文;EAN2截获该免费ARP报文,在ARP缓存中查找IPl对应的ARP信息,如果查找到, 则说明虚拟机X原本就在站点B中,未发生迁移,因此,只需更新该查找到的ARP信息即可;如果未查找到,则修改该免费ARP报文的源MAC地址为MAC_B后发送到骨干网;EANl接收到该免费ARP报文后,在ARP缓存中查找到了 IPl对应的ARP信息,说明虚拟机X从站点A迁移到了站点B中,因此,更新该ARP信息,并修改该免费ARP报文的源 MAC地址后在站点A内广播该免费ARP报文,使得站点A中的所有交换机根据接收到的该免费ARP报文进行MAC地址学习,用以重新学习该虚拟机的MAC地址以及对应 的出端口 ;EAN3接收到该免费ARP报文后,未在ARP缓存中查找到IPl对应的ARP信息,说明未发生虚拟机X从站点C迁移到站点B的迁移事件,因此,不需要做任何处理。从上述迁移过程可以看出,虚拟机迁移后,通过其迁移到的用户设备发送免费ARP 报文,数据中心站点的边缘设备接收到该免费ARP报文后,通过匹配ARP信息的方式来识别虚拟机迁移后的免费ARP报文,从而可以使得其迁移前所在的数据中心站点中各用户设备获知发生了虚拟机迁移,进而,虚拟机迁移前所在的数据中心站点中各用户设备可以根据该免费ARP报文更新各自对应的ARP信息,完成虚拟机迁移过程,实现业务的快速迁移。图2所示本发明实施例中,在各数据中心站点的边缘设备上使能MFF,根据MFF机制,对用户设备的ARP请求进行代答,并在此过程中基于交互业务,学习ARP信息,根据学习到的ARP信息对数据中心站点间的业务报文进行代理转发,从而实现了数据中心二层互联,并确保各数据中心站点内部的MAC地址不会通过骨干网传播到其他数据中心站点,各数据中心站点内部的交换机制能学习其所在站点内部的MAC地址,不会学习到其它数据中心站点中的MAC地址,因而大大缩小了 MAC地址表的规模。另外,上述实施例中,边缘设备只基于交互业务进行ARP信息学习,也即只在发送ARP请求后接收到对应的ARP响应时,才进行ARP信息学习,并将学习到的ARP信息下发到硬件,而不是学习所有的ARP请求的ARP 信息,因此,ARP表项也很少,不会对硬件转发性能造成影响。数据中心二层互联,实际上也就是数据中心站点构成的二层广播域间的二层互联。对于一些较为庞大的数据中心站点,还可以进一步将数据中心站点划分为多个二层广播域,为每个二层广播域配置与数据中心站点的边缘设备具有相同功能的边缘设备,从而实现多级MFF架构,进而可以减少每一级MFF架构中的MAC地址的数量,并进一步缩小ARP 广播的范围。图2所示实施例中,实际上也属于多级MFF架构两级MFF架构,数据中心站点间的用户设备通信时,ARP请求需要经过自身所在站点的边缘设备,以及对远端站点的边缘设备的代答,业务报文同样需要经过自身所在站点的边缘设备,以及对远端站点的边缘设备的代理转发才能实现通信。下面基于图2所示的数据中心站点,结合图3对将数据中心站点划分为多个二层广播域,形成多级MFF架构时的通信情况进行说明。参见图3,图3是在基于图2所示的数据中心站点中划分多个二层广播域的示例性示意图,如图3所示,将数据中心站点A划分为二层广播域Al和二层广播域A2,并分别配置了 MAC地址为MAC_A1的边缘设备EAN11、MAC地址为MAC_A2的边缘设备EAN12,其中二层广播域Al包括用户设备Hl,二层广播域A2包括用户设备H2 ;EANll和EAN12与EANl的具有相同的功能,且EANl 1、EANl2、EANl通过各自的端口接入到同一网络中。当用户设备Hl需要与用户设备H3通信时,首先通过发送ARP请求获取用户设备 H3的MAC地址,过程如下用户设备Hl发送目的IP地址为IP3的ARP请求;
EANl 1截获该ARP请求,根据MFF机制,将该ARP请求的源MAC地址修改为MAC_A1 后发送出去;EANl和EAN12均能接收到该ARP请求,由于用户设备H3不属于二层广播域A2,因此,EANl2不会返回ARP响应;EANl接收到该ARP请求后,将该ARP请求的源MAC地址修改为嫩(^\后发送到骨干网;EAN2接收到该ARP请求后,将该ARP请求的源MAC地址修改为MAC_B后在站点B 内广播;用户设备H3接收到该ARP请求后,学习ARP信息IP1,MAC_B,并返回源IP地址为 IP3,源MAC地址为MAC3的ARP响应;EAN2接收到该ARP响应后,学习ARP信息IP3、MAC3,并修改该ARP响应的源MAC 地址为MAC_B后返回给EANl ;EANl接收到该ARP响应后,学习ARP信息IP3、MAC_B,并修改该ARP响应的源MAC 地址为MAC_A后返回给EANll ;EANll接收到该ARP响应后,学习ARP信息IP3、MAC_A,并修改该ARP响应的源 MAC地址为MAC_A1后返回给用户设备Hl ;用户设备Hl接收到ARP响应后,学习ARP信息IP3、MAC_A1。然后用户设备Hl根据获得到主机H3的MAC地址(实际上是EANll的MAC地址) 可以开始与用户设备H3进行通信,通信过程如下用户设备Hl发送源IP地址为IP1,源MAC地址为MAC1,目的IP地址为IP3,目的 MAC地址为MAC_A1的业务报文;EANll接收到该业务报文后,将该业务报文的源MAC地址修改为MAC_A1,根据该业务报文的目的IP地址查找对应的ARP信息,并根据查找到的ARP信息IP3、MAC_A,将该业务报文的目的MAC地址修改为MAC_A后发送到EANl ;EANl接收到该业务报文后,将该业务报文的源MAC地址修改为MAC_A,根据该业务报文的目的IP地址查找对应的ARP信息,并根据查找到的ARP信息IP3、MAC_B,将该业务报文的目的MAC地址修改为MAC_B后发送到EAN2 ;EAN2接收到该业务报文后,将该业务报文的源MAC地址修改为MAC_B,根据该业务报文的目的IP地址查找对应的ARP信息,并根据查找到的ARP信息IP3、MAC3,将该业务报文的目的MAC地址修改为MAC3后发送到用户设备H3 ;至此,用户设备Hl和用户设备H3实现通信,由此可见,将数据中心站点划分为多个二层广播域,形成多级MFF架构后,仍然可以保证数据中心站点间用户设备的正常通信, 而且还可以进一步缩小ARP广播的范围。基于前文的原理性说明,本发明实施例中提供了一种数据中心二层互联方法、以及一种边缘设备。参见图4,图4是本发明实施例数据中心二层互联方法流程图,包括以下步骤步骤401、边缘设备在第一端口接收到用户设备的ARP请求消息时,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去,并在从第二端口接收到相应的 ARP响应后,记录ARP信息,修改该ARP响应的源MAC地址为自身的MAC地址后从第一端口发送出去。
12
这里,已经在边缘设备上预先使能了 MFF ;所述第一端口为连接站点内部的用户设备的端口 ;所述第二端口为连接远端站点的边缘设备的端口。步骤402、边缘设备在第二端口接收到远端站点的边缘设备的ARP请求时,修改该 ARP请求的源MAC地址为自身的MAC地址后从第一端口发送出去,并在从第一端口接收到相应的ARP响应后,记录ARP信息,修改该ARP响应的源MAC地址为自身的MAC地址后从第二端口发送出去。步骤403、边缘设备在第一端口接收到用户设备的目的MAC为自身MAC地址的业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP对应的 ARP信息修改业务报文的目的MAC地址,将修改后的业务报文从第二端口发送出去。这里,边缘设备丢弃目的MAC不是自身的MAC地址的业务报文。步骤404、边缘设备在第二端口接收到远端站点的边缘设备的目的MAC为自身MAC 地址的业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的 IP对应的ARP信息修改业务报文的目的MAC地址,将修改后的业务报文从第一端口发送出去。这里,边缘设备丢弃目的MAC不是自身的MAC地址的业务报文。图4所示本发明实施例中,当前EAN接收到ARP请求时,如果已经存在该ARP请求的目的IP对应的ARP信息,则可以不再代理转发该ARP请求,而是直接返回对应的ARP响应,从而可以大大减少二层网络中的ARP广播。因此,所述当前EAN在第一端口接收到用户设备的ARP请求之后,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之前,进一步包括根据该ARP请求的目的IP在ARP缓存中查找对应的ARP信息,如果查找到,则将自身的MAC地址返回给用户设备,如果未查找到,则修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去;所述当前EAN在第二端口接收到上级EAN的ARP请求之后,修改该ARP请求的源 MAC地址为自身的MAC地址后从第一端口发送出去之前,进一步包括根据该ARP请求的目的IP在ARP缓存中查找对应的ARP信息,如果查找到,则将自身的MAC地址返回给上级EAN, 如果未查找到,则修改该ARP请求的源MAC地址为自身的MAC地址后从第一端口发送出去。另外,对于发送的ARP请求没有接收到相应ARP响应的情况,还可以建立相应的惩罚机制,以进一步减少二层网络中的ARP广播。
可以针对该ARP请求建立惩罚记录,当在预设的时间内再次接收到该ARP请求时, 不再代理转发该ARP请求。具体实现可以如下所述修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之后,进一步包括如果未在预设时间内接收到相应的ARP响应,则针对该ARP请求设置惩罚标志和惩罚老化时间,超过老化时间则删除针对该ARP请求的惩罚标志;这样,则当前EAN在第一端口接收到用户设备的ARP请求之后,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之前,还可以进一步包括判断是否存在针对该ARP请求的惩罚标志,如果是,则不发送该ARP请求,否则,修改所述ARP请求的源 MAC地址为自身的MAC地址后从第二端口发送出去。还可以针对发送该ARP请求的用户设备建立惩罚记录,当在预设的时间内再次接收到该用户设备发送的ARP请求时,不再代理转发该ARP请求。具体实现可以如下所述修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之后,进一步包括如果未在预设时间内接收到相应的ARP响应,则针对发送该ARP请求的用户设备设置惩罚标志和惩罚老化时间,超过老化时间则删除针对发送该ARP请求的用户设备的惩罚标志;这样,则当前EAN在第一端口接收到用户设备的ARP请求之后,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之前,进一步包括判断是否存在针对发送该ARP请求的用户设备的惩罚标志,如果是,则不发送该ARP请求,否则,修改所述ARP 请求的源MAC地址为自身的MAC地址后从第二端口发送出去。图4所示本发明实施例,还可以支持虚拟机迁移,如果需要支持虚拟机迁移,则该方法还可以进一步包括当前EAN在第一端口接收到用户主机的免费ARP报文时,根据免费ARP报文的目的IP地址查找对应的ARP信息,如果查找到,则更新ARP信息,否则,修改免费ARP报文的源MAC地址为自身的MAC地址后从第二端口发送出去;当前EAN在第二端口接收到远端站点的边缘设备的免费ARP报文时,根据免费ARP 报文的目的IP地址查找对应的ARP信息,如果查找到,则更新ARP信息,并修改免费ARP报文的源MAC地址为自身的MAC地址后从第一端口发送出去,如果未查找到,则不作处理。图4所示的本发明实施例中,如果未在数据中心站点中划分多个二层广播域,则所述用户设备为所述数据中心的用户主机;如果数据中心站点被划分为多个二层广播域,且在每个二层广播域的边缘设备配置所述边缘设备的功能;则所述用户设备为与所述边缘设备具有相同功能的所述二层广播域的边缘设备。以上对本发明实施例数据中心二层互联方法进行了说明,本发明还提供了一种边缘设备。参见图5,图5是本发明实施例边缘设备的结构示意图,该边缘设备包括配置单元501、第一收发单元502、第二收发单元503、处理单元504 ;其中,配置单元501,用于预先配置并使能MFF;第一收发单元502,用于在第一端口接收用户设备的ARP请求时,向处理单元504 发送第一处理指示,并在处理单元504根据第一处理指示对该ARP请求进行处理后,将该 ARP请求从第二端口发送出去;用于将在第一端口接收到的ARP请求从第二端口发送出去后,如果在第二端口接收到相应的ARP响应,则向处理单元504发送第二处理指示,并在处理单元504根据第二处理指示对该ARP响应进行处理后,将该ARP响应从第一端口发送出去;用于在第二端口接收远端站点的边缘设备的ARP请求时,向处理单元504发送第一处理指示,并在处理单元504根据第一处理指示对该ARP请求进行处理后,将该ARP请求从第一端口发送出去;用于将在第二端口接收到的ARP请求从第一端口发送出去后,如果在第一端口接收到相应的ARP响应,则向处理单元504发送第二处理指示,并在处理单元504根据第二处理指示对该ARP响应进行处理后,将该ARP响应从第二端口发送出去;第二收发单元503,用于在第一端口接收用户设备的目的MAC为自身MAC地址的业务报文时,向处理单元504发送第三处理指示,并在处理单元504根据第三处理指示对该业
14务报文进行处理后,将该业务报文从第二端口发送出去;用于在第二端口接收到远端站点的边缘设备的目的MAC为自身MAC地址的业务报文时,向处理单元504发送第三处理指示, 并在处理单元504根据第三处理指示对该业务报文进行处理后,将该业务报文从第一端口发送出去;处理单元504,用于接收到第一收发单元502的第一处理指示时,将第一收发单元 502接收到的ARP请求的源MAC地址为自身的MAC地址;用于接收到第一收发单元502的第二处理指示时,记录ARP信息,并将该ARP响应的源MAC地址修改为自身的MAC地址;用于接收到第二收发单元503的第三处理指示时,将第二收发单元503接收到的业务报文的源MAC地址修改为自身的MAC地址,并根据该业务报文的目的IP对应的ARP信息修改业务报文的目的MAC地址;其中,所述第一端口为连接站点内部的用户设备的端口 ;所述第二端口为连接远端站点的边缘设备的端口。所述处理单元504在接收到第一收发单元502的第一处理指示后,将第一收发单元502接收到的ARP请求的源MAC地址为自身的MAC地址之前,进一步用于根据该ARP请求的目的IP在ARP缓存中查找对应的ARP信息,如果查找到, 则向第一收发单元502发送响应指示,如果未查找到,则修改该ARP请求的源MAC地址为自身的MAC地址;所述第一收发单元502在处理单元504根据第一处理指示对该ARP请求进行处理后,将在第一端口接收到的用户设备的ARP请求从第二端口发送出去之前,进一步用于判断是否接收到处理单元504的响应指示,如果是,则将自身的MAC地址返回给该用户设备, 否则,将在第一端口接收到的用户设备的ARP请求从第二端口发送出去;在处理单元504根据第一处理指示对该ARP请求进行处理后,将在第二端口接收到的远端站点的边缘设备的 ARP请求从第一端口发送出去之前,进一步用于判断是否接收到处理单元504的响应指示,如果是,则将自身的MAC地址返回给该远端站点的边缘设备,否则,将在第二端口接收到的远端站点的边缘设备的ARP请求从第一端口发送出去。所述第一收发单元502将在第一端口接收到的用户设备的ARP请求从第二端口发送出去之后,进一步用于如果未在预设时间内接收到相应的ARP响应,则针对该ARP请求设置惩罚标志和惩罚老化时间,超过老化时间则删除针对该ARP请求的惩罚标志;所述第一收发单元502在第一端口接收到用户设备的ARP请求之后,向处理单元 504发送第一处理指示之前,进一步用于判断是否存在针对该ARP请求的惩罚标志,如果是,则不向处理单元504发送第一处理指示,否则,向处理单元504发送第一处理指示。第一收发单元502将在第一端口接收到的用户设备的ARP请求从第二端口发送出去之后,进一步用于如果未在预设时间内接收到相应的ARP响应,则针对发送该ARP请求的用户设备设置惩罚标志和惩罚老化时间,超过老化时间则删除针对发送该ARP请求的用户设备的惩罚标志;所述第一收发单元502在第一端口接收到用户设备的ARP请求之后,向处理单元 504发送第一处理指示之前,进一步用于判断是否存在针对发送该ARP请求的用户设备的惩罚标志,如果是,则不向处理单元504发送第一处理指示,否则,向处理单元504发送第一处理指示。所述第一收发单元502,用于在第一端口接收到用户设备的免费ARP报文时,向处理单元504发送第四处理指示,并在处理单元504根据第四处理指示对该免费ARP报文进行处理后,如果接收到处理单元504的转发指示,则将该免费ARP报文从第二端口发送出去;用于在第二端口接收到远端站点的边缘设备的免费ARP报文时,向处理单元504发送第五处理指示,并在处理单元504根据第五处理指示对该免费ARP报文进行处理后,如果接收到处理单元504的转发指示,则将该免费ARP报文从第一端口发送出去;所述处理单元504,用于接收到第一收发单元502发来的第四处理指示后,根据第一收发单元502在第一端口接收到的免费ARP报文的目的IP地址查找对应的ARP信息,如果查找到,则更新ARP信息,否则,修改该免费ARP报文的源MAC地址为自身的MAC地址,并向第一收发单元502发送转发指示;用于接收到第一收发单元502发来的第五处理指示后, 根据第一收发单元502在第二端口接收到的免费ARP报文的目的IP地址查找对应的ARP 信息,如果查找到,则更新ARP信息,并修改该免费ARP报文的源MAC地址为自身的MAC地址,向第一收发单元502发送转发指示,如果未查找到,则不作处理。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种数据中心二层互联方法,其特征在于,预先在边缘设备上配置并使能MFF ;该方法包括边缘设备在第一端口接收到用户设备的ARP请求时,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去,并在从第二端口接收到相应的ARP响应后,记录 ARP信息,修改该ARP响应的源MAC地址为自身的MAC地址后从第一端口发送出去;边缘设备在第二端口接收到远端站点的边缘设备的ARP请求时,修改该ARP请求的源 MAC地址为自身的MAC地址后从第一端口发送出去,并在从第一端口接收到相应的ARP响应后,记录ARP信息,修改该ARP响应的源MAC地址为自身的MAC地址后从第二端口发送出去;边缘设备在第一端口接收到用户设备的目的MAC为自身MAC地址的业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP对应的ARP信息修改业务报文的目的MAC地址,将修改后的业务报文从第二端口发送出去;边缘设备在第二端口接收到远端站点的边缘设备的目的MAC为自身MAC地址的业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP对应的ARP 信息修改业务报文的目的MAC地址,将修改后的业务报文从第一端口发送出去;其中,所述第一端口为连接站点内部的用户设备的端口 ;所述第二端口为连接远端站点的边缘设备的端口。
2.根据权利要求1所述的数据中心二层互联的方法,其特征在于,所述边缘设备在第一端口接收到用户设备的ARP请求之后,修改该ARP请求的源MAC 地址为自身的MAC地址后从第二端口发送出去之前,进一步包括根据该ARP请求的目的 IP在ARP缓存中查找对应的ARP信息,如果查找到,则将自身的MAC地址返回给用户设备, 如果未查找到,则修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去;所述边缘设备在第二端口接收到远端站点的边缘设备的ARP请求之后,修改该ARP请求的源MAC地址为自身的MAC地址后从第一端口发送出去之前,进一步包括根据该ARP请求的目的IP在ARP缓存中查找对应的ARP信息,如果查找到,则将自身的MAC地址返回给远端站点的边缘设备,如果未查找到,则修改该ARP请求的源MAC地址为自身的MAC地址后从第一端口发送出去。
3.根据权利要求2所述的数据中心二层互联的方法,其特征在于,所述修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之后,进一步包括如果未在预设时间内接收到相应的ARP响应,则针对该ARP请求设置惩罚标志和惩罚老化时间,超过老化时间则删除针对该ARP请求的惩罚标志;所述当前EAN在第一端口接收到用户设备的ARP请求之后,修改该ARP请求的源MAC 地址为自身的MAC地址后从第二端口发送出去之前,进一步包括判断是否存在针对该ARP 请求的惩罚标志,如果是,则不发送该ARP请求,否则,修改所述ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去。
4.根据权利要求2所述的二层广播域间的二层互联的方法,其特征在于,所述修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之后,进一步包括如果未在预设时间内接收到相应的ARP响应,则针对发送该ARP请求的用户设备设置惩罚标志和惩罚老化时间,超过老化时间则删除针对发送该ARP请求的用户设备的惩罚标志;所述在第一端口接收到用户设备的ARP请求之后,修改该ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去之前,进一步包括判断是否存在针对发送该ARP请求的用户设备的惩罚标志,如果是,则不发送该ARP请求,否则,修改所述ARP请求的源MAC地址为自身的MAC地址后从第二端口发送出去。
5.根据权利要求1-4任一权项所述的数据中心二层互联的方法,其特征在于,该方法进一步包括边缘设备在第一端口接收到用户设备的免费ARP报文时,根据免费ARP报文的目的IP 地址查找对应的ARP信息,如果查找到,则更新ARP信息,否则,修改免费ARP报文的源MAC 地址为自身的MAC地址后从第二端口发送出去;边缘设备在第二端口接收到远端站点的边缘设备的免费ARP报文时,根据免费ARP报文的目的IP地址查找对应的ARP信息,如果查找到,则更新ARP信息,并修改免费ARP报文的源MAC地址为自身的MAC地址后从第一端口发送出去,如果未查找到,则不作处理。
6.根据权利要求1-4任一权项所述的数据中心二层互联的方法,其特征在于,所述用户设备为所述数据中心的用户主机;或者,数据中心被划分为多个二层广播域,在每个二层广播域的边缘设备配置所述边缘设备的功能;所述用户设备为与所述边缘设备具有相同功能的所述二层广播域的边缘设备。
7.—种边缘设备,应用于数据中心二层互联,其特征在于,该边缘设备包括配置单元、第一收发单元、第二收发单元、处理单元;所述配置单元,用于预先配置并使能MFF ;所述第一收发单元,用于在第一端口接收用户设备的ARP请求时,向处理单元发送第一处理指示,并在处理单元根据第一处理指示对该ARP请求进行处理后,将该ARP请求从第二端口发送出去;用于将在第一端口接收到的ARP请求从第二端口发送出去后,如果在第二端口接收到相应的ARP响应,则向处理单元发送第二处理指示,并在处理单元根据第二处理指示对该ARP响应进行处理后,将该ARP响应从第一端口发送出去;用于在第二端口接收远端站点的边缘设备的ARP请求时,向处理单元发送第一处理指示,并在处理单元根据第一处理指示对该ARP请求进行处理后,将该ARP请求从第一端口发送出去;用于将在第二端口接收到的ARP请求从第一端口发送出去后,如果在第一端口接收到相应的ARP响应, 则向处理单元发送第二处理指示,并在处理单元根据第二处理指示对该ARP响应进行处理后,将该ARP响应从第二端口发送出去;所述第二收发单元,用于在第一端口接收用户设备的目的MAC为自身MAC地址的业务报文时,向处理单元发送第三处理指示,并在处理单元根据第三处理指示对该业务报文进行处理后,将该业务报文从第二端口发送出去;用于在第二端口接收到远端站点的边缘设备的目的MAC为自身MAC地址的业务报文时,向处理单元发送第三处理指示,并在处理单元根据第三处理指示对该业务报文进行处理后,将该业务报文从第一端口发送出去;所述处理单元,用于接收到第一收发单元的第一处理指示时,将第一收发单元接收到的ARP请求的源MAC地址为自身的MAC地址;用于接收到第一收发单元的第二处理指示时,记录ARP信息,并将该ARP响应的源MAC地址修改为自身的MAC地址;用于接收到第二收发单元的第三处理指示时,将第二收发单元接收到的业务报文的源MAC地址修改为自身的 MAC地址,并根据该业务报文的目的IP对应的ARP信息修改业务报文的目的MAC地址;其中,所述第一端口为连接站点内部的用户设备的端口 ;所述第二端口为连接远端站点的边缘设备的端口。
8.根据权利要求7所述的边缘设备,其特征在于,所述处理单元在接收到第一收发单元的第一处理指示后,将第一收发单元接收到的 ARP请求的源MAC地址为自身的MAC地址之前,进一步用于根据该ARP请求的目的IP在 ARP缓存中查找对应的ARP信息,如果查找到,则向第一收发单元发送响应指示,如果未查找到,则修改该ARP请求的源MAC地址为自身的MAC地址;所述第一收发单元在处理单元根据第一处理指示对该ARP请求进行处理后,将在第一端口接收到的用户设备的ARP请求从第二端口发送出去之前,进一步用于判断是否接收到处理单元的响应指示,如果是,则将自身的MAC地址返回给该用户设备,否则,将在第一端口接收到的用户设备的ARP请求从第二端口发送出去;在处理单元根据第一处理指示对该ARP请求进行处理后,将在第二端口接收到的远端站点的边缘设备的ARP请求从第一端口发送出去之前,进一步用于判断是否接收到处理单元的响应指示,如果是,则将自身的 MAC地址返回给该远端站点的边缘设备,否则,将在第二端口接收到的远端站点的边缘设备的ARP请求从第一端口发送出去。
9.根据权利要求8所述的边缘设备,其特征在于,所述第一收发单元将在第一端口接收到的用户设备的ARP请求从第二端口发送出去之后,进一步用于如果未在预设时间内接收到相应的ARP响应,则针对该ARP请求设置惩罚标志和惩罚老化时间,超过老化时间则删除针对该ARP请求的惩罚标志;所述第一收发单元在第一端口接收到用户设备的ARP请求之后,向处理单元发送第一处理指示之前,进一步用于判断是否存在针对该ARP请求的惩罚标志,如果是,则不向处理单元发送第一处理指示,否则,向处理单元发送第一处理指示。
10.根据权利要求8所述的边缘设备,其特征在于,第一收发单元将在第一端口接收到的用户设备的ARP请求从第二端口发送出去之后, 进一步用于如果未在预设时间内接收到相应的ARP响应,则针对发送该ARP请求的用户设备设置惩罚标志和惩罚老化时间,超过老化时间则删除针对发送该ARP请求的用户设备的惩罚标志;所述第一收发单元在第一端口接收到用户设备的ARP请求之后,向处理单元发送第一处理指示之前,进一步用于判断是否存在针对发送该ARP请求的用户设备的惩罚标志,如果是,则不向处理单元发送第一处理指示,否则,向处理单元发送第一处理指示。
11.根据权利要求7-10任一权项所述的边缘设备,其特征在于,所述第一收发单元,用于在第一端口接收到用户设备的免费ARP报文时,向处理单元发送第四处理指示,并在处理单元根据第四处理指示对该免费ARP报文进行处理后,如果接收到处理单元的转发指示,则将该免费ARP报文从第二端口发送出去;用于在第二端口接收到远端站点的边缘设备的免费ARP报文时,向处理单元发送第五处理指示,并在处理单元根据第五处理指示对该免费ARP报文进行处理后,如果接收到处理单元的转发指示,则将该免费ARP报文从第一端口发送出去;所述处理单元,用于接收到第一收发单元发来的第四处理指示后,根据第一收发单元在第一端口接收到的免费ARP报文的目的IP地址查找对应的ARP信息,如果查找到,则更新ARP信息,否则,修改该免费ARP报文的源MAC地址为自身的MAC地址,并向第一收发单元发送转发指示;用于接收到第一收发单元发来的第五处理指示后,根据第一收发单元在第二端口接收到的免费ARP报文的目的IP地址查找对应的ARP信息,如果查找到,则更新 ARP信息,并修改该免费ARP报文的源MAC地址为自身的MAC地址,向第一收发单元发送转发指示,如果未查找到,则不作处理。
全文摘要
本发明提供了一种数据中心二层互联方法和装置,该方法中,预先在边缘设备上使能MFF,根据MFF机制代理转发ARP请求和ARP响应,并根据接收到的ARP响应学习ARP信息;在接收到业务报文时,修改业务报文的源MAC地址为自身的MAC地址,并根据业务报文的目的IP地址查找对应的ARP信息,根据查找到的ARP信息修改业务报文的目的MAC地址,将修改后的业务报文转发出去。本发明能够解决数据中心二层互联时MAC地址规模过大的问题。
文档编号H04L12/56GK102355417SQ201110300278
公开日2012年2月15日 申请日期2011年10月8日 优先权日2011年10月8日
发明者李蔚 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1