CN104023095B - 一种虚拟网关媒质访问控制地址响应方法和设备 - Google Patents
一种虚拟网关媒质访问控制地址响应方法和设备 Download PDFInfo
- Publication number
- CN104023095B CN104023095B CN201410282677.9A CN201410282677A CN104023095B CN 104023095 B CN104023095 B CN 104023095B CN 201410282677 A CN201410282677 A CN 201410282677A CN 104023095 B CN104023095 B CN 104023095B
- Authority
- CN
- China
- Prior art keywords
- mac address
- virtual gateway
- management message
- list items
- gateway mac
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种虚拟网关媒质访问控制地址响应方法,该方法包括:ED在接收到ARP请求报文时,在VF表中对应端口类型为EVI‑LINK口之外的虚拟网关MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文。基于同样的发明构思,本发明还提出一种设备,能够减少对城域网的带宽占用,并且不会造成额外压力。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种虚拟网关媒质访问控制地址响应方法和设备。
背景技术
以太网虚拟化互联(Ethernet Virtualization Interconnection,EVI)是一种先进的"MAC in IP"技术,用于实现基于IP核心网的二层虚拟专用网络(Layer2VirtualPrivate Network,L2VPN)技术。EVI只是在站点的边缘设备上维护路由和转发信息,而无需改变站点内部和核心网络。EVI整体网络由核心网络、站点网络、交叠网络组成。
EVI技术是一种大二层技术,实际应用中二层网络要进行三层转发时,需要通过网关才能进行流量的转发。因为EVI站点的边缘设备是通过外部三层网络连接的,所以网关一般也设置在EVI站点的边缘设备(Edge Device,ED)上。
目前实现时,各ED作为网关设备在响应地址解析协议(ARP)请求报文时,对ARP请求报文的源MAC地址进行哈希运算,决定响应哪台ED的虚拟网关媒质访问控制(MAC)地址。
由于哈希运算无法预测该ARP请求报文的源MAC地址属于哪个EVI站点,通过虚拟路由器冗余协议(Virtual Router Redundancy Protocol,VRRP)负载分担后,可能将一个站点,如A站点,的虚拟网关MAC地址响应给另外一个站点,如B站点,的服务器,因此,一个站点(B站点)的服务器的流量还需要发送给另外一个站点(A站点),由另外一个站点(站点A)进行三层转发,占用城域网的带宽,给城域网带来了额外的压力。
发明内容
有鉴于此,本发明提供一种虚拟网关媒质访问控制地址响应方法和设备,能够减少对城域网的带宽占用,并且不会造成额外压力。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种虚拟网关媒质访问控制MAC地址响应方法,所述方法包括:
边缘设备ED在接收到地址解析协议ARP请求报文时,在虚拟转发器VF表中对应端口类型为以太网虚拟化互联链路EVI-LINK口之外的虚拟网关MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文;
其中,所述VF表包括:虚拟网关MAC地址和端口类型,该端口类型用于标识该虚拟网关MAC地址的来源。
一种设备,可应用为以太网虚拟化互联EVI组网中的边缘设备ED,该设备包括:接收单元、处理单元和发送单元;
所述接收单元,用于接收地址解析协议ARP请求报文;
所述处理单元,用于在所述接收单元接收到ARP请求报文时,在虚拟转发器VF表中对应端口类型为以太网虚拟化互联链路EVI-LINK口之外的虚拟网关媒质访问控制MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址;其中,所述VF表包括:虚拟网关MAC地址和端口类型,该端口类型用于标识该虚拟网关MAC地址的来源;
所述发送单元,用于将所述处理单元选择的虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文。
综上所述,本发明通过ED在接收到ARP请求报文时,根据VF表中的端口类型和MAC状态,通过负载分担方式选择一个虚拟网关MAC地址进行ARP响应,能够避免对一个站点内的服务器响应了其他站点的虚拟网关MAC地址,从而能够减少对城域网的带宽占用,并且不会造成额外压力。
附图说明
图1为本发明实施例中EVI组网示意图;
图2为本发明具体实施例中进行ARP响应流程示意图;
图3为本发明具体实施例中应用于上述技术的设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种虚拟网关媒质访问控制地址响应方法,ED在接收到ARP请求报文时,根据虚拟转发器(Virtual Forwarder,VF)表中的端口类型和MAC状态,通过负载分担方式选择一个虚拟网关MAC地址进行ARP响应,能够避免对一个站点内的服务器响应了其他站点的虚拟网关MAC地址,从而能够减少对城域网的带宽占用,并且不会造成额外压力。
将属于同一EVI实例内的各EVI站点ED配置为同一备份组的虚拟路由器冗余扩展协议(Virtual Router Redundancy Protocol Extand,VRRPE)网关设备。
参见图1,图1为本发明实施例中EVI组网示意图。图1中以ED1、ED2和ED3属于同一EVI实例1,构成一个大二层网络,需要进行三层转发,即需要与服务器M通信时,ED1、ED2和ED3作为VRRPE网关设备为例。
将ED1、ED2和ED3上分别配置为备份组1的VRRPE网关设备。
各ED通过EVI-LINK口和ETH口收发VRRP通告报文,与站点间和站点内的ED进行Master设备选举。
以ED1为例,ED1通过EVI-LINK口1向站点间ED3发送VRRP通告报文,通过ETH口1向站点内ED2发送VRRP通告报文;并且通过EVI-LINK口1接收站点间ED3发送的VRRP通告报文,通过ETH口1接收站点内ED2发送的VRRP通告报文。
ED1、ED2和ED3之间通过收发VRRP通告报文进行Master设备选举,假设ED1的优先级最大,选举为Master设备,则ED2和ED3为Backup设备。
一、各ED上生成VF表的过程,具体如下:
站点间和站点内的Backup设备发送Request报文向Master设备请求为其分配的虚拟网关MAC地址,Master设备通过Reply报文给Backup设备发送其分配的虚拟网关MAC地址。
各ED生成Master设备分配给本设备的虚拟网关MAC地址对应的VF表项时,端口类型为null,MAC状态为AVF,MAC优先级为255。
仍然以图1为例,ED2和ED3向ED1发送请求报文,请求ED1为其分配虚拟网关MAC地址,即作为网关设备的MAC地址。
ED1为本设备,以及ED2和ED3分别分配虚MAC地址,依次为000f-e2ff-0041、000f-e2ff-0042和000f-e2ff-0043;并通过Reply报文响应给ED2和ED3。
ED2和ED3接收到Reply报文时,获取ED1为其分配的虚拟网关MAC地址,在本地生成备份组1的VF表项,以ED2为例,具体包括:设备标识(VF2)、虚拟网关MAC地址(000f-e2ff-0042)、MAC优先级(255)、MAC状态(AVF)和端口类型(null),null标识该虚拟网关MAC地址的来源为Master设备分配给本ED的。
各ED以获取到的虚拟网关MAC地址作为源MAC地址向站点内和站点间的ED发送管理报文。
各ED根据接收到的管理报文,生成VF表项,本发明具体实现时,VF表项中增加了端口类型,并且MAC优先级的确定方法也不同现有实现,具体VF表项生成方法如下:
ED在向站点间ED发送管理报文时,只会携带端口类型为null和ETH口,且处于AVF状态的虚拟网关MAC地址,即不会携带端口类型为EVI-LINK口,以及处于LVF状态的虚拟网关MAC地址。
如ED3在向ED1和ED2发送管理报文时,只会携带自身的虚拟网关MAC地址(MAC000f-e2ff-0043),由于虚拟网关MAC地址(MAC000f-e2ff-0041和MAC000f-e2ff-0042)对应的端口均为EVI-LINK口,因此,不会携带这两个虚拟网关MAC地址。
ED2向ED3发送管理报文时,只会携带虚拟网关MAC地址(MAC000f-e2ff-0042)。
ED在向站点内ED发送管理报文时,只会携带处于AVF状态的虚拟网关MAC地址。
(1)、如果管理报文是从ETH口收到的,确定发送该管理报文的ED与本ED处于同一站点内设备,则确定该管理报文携带的虚拟MAC地址是否在本地已生成VF表项,如果是,若已生成的VF表项对应的端口类型为EVI-LINK口,则确定发送管理报文的ED的优先级高于本ED的优先级时,将该VF表项中的MAC状态修改为LVF;否则,生成该虚拟网关MAC地址对应VF表项,该VF表项包括:设备标识、虚拟网关MAC地址、MAC优先级和状态LVF,以及端口类型(ETH口)。
其中,通过ETH口接收到管理报文生成的VF表项中,虚拟网关MAC优先级为255/(AVF数+1),端口类型为ETH口,其中,AVF数为当前VF表中状态处于AVF的虚拟网关MAC地址的个数。
ED1向ED2通过ETH口1发送管理报文;在发送管理报文时携带本地VF表中处于AVF状态的虚拟网关MAC地址,如虚拟网关MAC地址(000f-e2ff-0041)和虚拟网关MAC地址(000f-e2ff-0043)。
ED2接收到该管理报文时,确定该管理报文中携带的各虚拟网关MAC地址在本地的VF表中是否存在对应的表项,对于虚拟网关MAC地址(000f-e2ff-0041),如果存在,维持原表项不变;如果不存在,生成VF1的VF表项,该VF表项包括:设备标识(VF1)、虚拟网关MAC地址(000f-e2ff-0041)、优先级(254)、状态(LVF)和端口类型(ETH口)。
对于虚拟网关MAC地址(000f-e2ff-0043),如果本地存在对应VF3的表项,且对应的端口类型为EVI-LINK口,对应的MAC状态为AVF,并确定ED1的优先级高于ED2的优先级,则将该VF3表项中的MAC状态修改为LVF状态。如果不存在000f-e2ff-0043对应的VF表项,则生成该虚拟网关MAC地址对应VF表项。设备标识(VF3)、虚拟网关MAC地址(000f-e2ff-0043)、优先级、状态(LVF)和端口类型(ETH口)。
(2)、如果管理报文是从EVI-LINK口收到的,确定发送该管理报文的ED与本ED为站点间设备,对于该管理报文中携带的任一虚拟网关MAC地址,如果本地不存在该虚拟网关MAC地址对应的VF表项,则生成该虚拟网关MAC地址对应的VF表项,其中,站点间的ED的虚拟网关MAC优先级都会被置为254,MAC状态设置为AVF,端口类型记录为EVI-LINK口。
如果本地存在该虚拟网关MAC地址对应的VF表项,若对应的端口类型为EVI-LINK口,保持表项不变;若对应的端口类型为ETH口,则将端口类型修改为EVI-LINK口,将MAC优先级置为254,并将MAC状态修改为AVF。
如ED3向ED1发送管理报文时,会携带EVI-LINK口之外的端口类型对应的虚拟网关MAC地址,如MAC000f-e2ff-0043。
ED1接收到该管理报文时,确定本地的VF表中是否存在该管理报文携带的虚拟网关MAC地址对应的VF表项;如果存在,若该虚拟网关MAC地址(000f-e2ff-0043)对应的端口类型为EVI-LINK口,维持该VF表项不变;若该虚拟网关MAC地址(000f-e2ff-0043)对应的端口类型为ETH口,则将端口类型修改为EVI-LINK口,将MAC状态修改为AVF,将MAC优先级修改为254。
如果本地的VF表中不存在该管理报文携带的虚拟网关MAC地址(000f-e2ff-0043)对应的VF表项,则生成新的VF表项,该表项包括:设备标识(VF3)、虚拟网关MAC地址(000f-e2ff-0043),MAC优先级(254)、MAC状态(AVF)和端口类型(EVI-LINK口)。
根据上述发送管理报文的规则,以及接收到管理报文后,各ED生成VF表的规则,ED1、ED2和ED3最终生成的VF表如下:
VF | 虚拟网关MAC地址 | MAC优先级 | MAC状态 | 端口类型 |
VF1 | 000f-e2ff-0041 | 255 | AVF | null |
VF2 | 000f-e2ff-0042 | 85 | LVF | ETH口1/1 |
VF3 | 000f-e2ff-0043 | 254 | AVF | EVI-LINK口1 |
表1
VF | 虚拟网关MAC地址 | MAC优先级 | MAC状态 | 端口类型 |
VF1 | 000f-e2ff-0041 | 127 | LVF | ETH口2/1 |
VF2 | 000f-e2ff-0042 | 255 | AVF | null |
VF3 | 000f-e2ff-0043 | 254 | LVF | EVI-LINK口2 |
表2
VF | 虚拟网关MAC地址 | MAC优先级 | MAC状态 | 端口类型 |
VF1 | 000f-e2ff-0041 | 254 | AVF | EVI-LINK口3 |
VF2 | 000f-e2ff-0042 | 254 | AVF | EVI-LINK口4 |
VF3 | 000f-e2ff-0043 | 255 | AVF | null |
表3
表1为ED1生成的VF表包含的内容;表2为ED2生成的VF表包含的内容;表3为ED3生成的VF表包含的内容。
由于图1中假设ED1的优先级最高,因此,ED1上虚拟网关MAC地址(MAC000f-e2ff-0043)对应的MAC状态为AVF;而在ED2上虚拟网关MAC地址(MAC000f-e2ff-0043)对应的MAC状态为LVF。
这为本发明具体实施例中给出的一种实现方法,在实际应用中,只要保存多归属EVI组网中有一个ED上生成的该虚拟网关MAC地址(MAC000f-e2ff-0043)对应的MAC状态为AVF,其他ED上生成的VF表项中虚拟网关MAC地址(MAC000f-e2ff-0043)对应的MAC状态为LVF即可。
ED的VF表项生成后,如果该VF表项对应的虚拟网关MAC地址的MAC状态为AVF时,同现有实现需要下发到本地MAC地址表项中进行生效,用于指导数据报文的转发。
各ED进行源MAC地址学习和普通的MAC地址学习机制保持一致,通过ARP的广播请求和单播响应学习主机的MAC地址。
各ED通过ISIS协议进行EVI远端MAC表项的学习。远端站点收到该EVI远端MAC地址后发现与本地MAC地址表中已存在,则将该EVI远端MAC地址处于非激活状态,即EVI远端MAC地址表中该MAC地址不生效。
本发明具体实施例中,在生成VF表项确定MAC优先级时,对于EVI-LINK口对应的MAC优先级的确定方法虽然与现有实现时不一致,但是MAC优先级所起的作用同现有实现,作用是在故障恢复时,按照MAC优先级拿回该MAC地址的主动权。
无论该EVI实例中有几个单归属EVI组网,其中的ED对应的虚拟网关MAC地址在多归属EVI组网中的各ED上MAC状态为AVF的VF表项在哪个ED上并不影响具体实现,由ARP响应规则确定,具体响应规则在下文详细描述。
二,各ED进行ARP响应的过程,具体如下:
参见图2,图2为本发明具体实施例中进行ARP响应流程示意图。具体步骤为:
步骤201,ED接收ARP请求报文。
步骤202,该ED在VF表中对应端口类型为EVI-LINK口之外的虚拟网关MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文。
对于多归属EVI组网,站点内ED之间通过发送管理报文,选举出一台ARP应答设备,只有该设备会进行ARP应答,多归属EVI组网中的其他设备不会进行ARP应答。
本步骤中的ED可能为多归属EVI组网中的ED,且该设备被选举为ARP应答设备,也可能为单归属EVI组网中的ED。具体应答过程如下:
选举为ARP应答设备的ED在接收到ARP请求报文时,根据该ARP请求报文的源MAC地址为其分配虚拟网关MAC地址,使后续流量负载分担到该虚拟网关MAC地址对应的ED。
该选举为ARP应答设备的设备在进行ARP应答时,不将本地VF表中端口类型为EVI-LINK口对应的虚拟网关MAC地址进行分配;并且进行应答后,不再广播该ARP请求报文。
对于单归属EVI组网中的ED,接收到ARP请求报文时,直接将对应端口不为EVI-LINK口的虚拟网关MAC地址响应给发送该ARP请求报文的服务器;并且不会广播该ARP请求报文。
总之,本发明具体实施例中进行ARP应答的设备,在应答时不使用端口类型为EVI-LINK的端口对应的虚拟网关MAC地址来应答,从而不会出现将一个站点的虚拟网关MAC地址应答给另外一个站点下的服务器,在网关备份设备正常时,对于EVI站点间城域网不会造成额外压力和带宽占用。
步骤202中的ED为选举为ARP应答设备的设备所执行的处理过程。
对于多归属EVI组网中未被选举为ARP应答设备的ED,则在接收到ARP应答报文时,不应答该ARP请求报文,且不广播该ARP请求报文。
仍然以图1为例,在ED1和ED2组成的多归属EVI组络中,如选举ED1为ARP应答设备,则ED1在接收到ARP请求报文时,只在虚拟网关MAC000f-e2ff-0041和虚拟网关MAC000f-e2ff-0042中选择一个虚拟网关MAC地址响应给发送ARP请求报文的服务器,选择规则可以使用哈希算法进行选择,以达到负载分担的目的,但是并不限制于该方法的实现。
ED2在接收到ARP请求报文时,不进行ARP应答,且不广播接收到的ARP请求报文。
ED3的VF表中只有对应端口类型不为EVI-LINK口的虚拟网关MAC地址(MAC000f-e2ff-0042),因此,直接将该虚拟网关MAC地址MAC000f-e2ff-0042响应给发送ARP请求报文的服务器。
任一服务器接收到ED响应的虚拟网关MAC地址时,在发送数据报文时,目的MAC地址为该虚拟网关MAC地址。
该EVI实例中任一ED接收到该数据报文时,根据该数据报文的目的MAC地址在MAC地址表项中匹配,根据匹配结果处理该数据报文。若匹配不到,再在远端MAC地址表项中匹配,根据匹配结果处理该数据报文。
三、网络中出现故障时,具体处理过程如下:
第一种情况,各ED会定期的发送管理报文进行虚拟网关MAC地址的通告,因此,ED启动第一定时器,如定时3个发送管理报文的周期。
ED在根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,具体处理过程如下:
(1)、如果未通过EVI-LINK口接收到远端ED发送的管理报文,启动第二定时器;
当第二定时器超时时,删除该管理报文通告的虚拟网关MAC地址对应的VF表项;若存在站点内ED,向站点内ED发送删除报文删除对应的VF表项。
如果删除的VF表项对应MAC状态为AVF状态,会对应的将MAC地址表中的MAC表项删除。
在第二定时器超时前,由于本地MAC地址表未做任何变动,因此,继续根据MAC表处理该数据报文。
(2)、如果未通过ETH口接收到站点内ED发送的管理报文,则在该管理报文携带的虚拟网关MAC地址对应MAC状态为LVF的ED上,选择一个ED将MAC地址状态修改为AVF;同时启动第二定时器和第三定时器;
在第二定时器超时时,将该管理报文携带的虚拟网关MAC地址对应的VF表项删除;并且向站点内ED发送删除报文删除对应的VF表项;
在第三定时器超时时,若本ED被选举为ARP应答设备,在接收到ARP请求报文时,不使用该管理报文携带的虚拟网关MAC地址进行ARP应答。
在第三定时器超时前,若本ED被选举为ARP应答设备,接收到ARP请求报文时,继续根据本地的VF表进行ARP应答。
若该ED未被选举为ARP应答设备,则一直不对ARP请求报文进行应答。
第二种情况,ED感知到上行链路故障时,具体处理过程如下:
(1)、如果本地VF表中存在ETH口对应的虚拟网关MAC地址,则说明站点内还有其他ED,则向站点内设备发送管理报文,由站点内ED接管这些对应优先级置为0的虚拟网关MAC地址。如果存在多个站点内ED,这些ED可以选择出一个接管。
(2)如果本地VF表中不存在ETH口对应的虚拟网关MAC地址,则删除对应状态为AVF的虚拟网关MAC地址对应的表项,激活同步过来的远端处于AVF的虚拟网关MAC地址,使数据报文通过EVI远端MAC地址表进行转发,从而数据报文通过EVI链路到达远端站点进行转发。
执行步骤(1)和(2)后,将本地VF表项中处于AVF状态的虚拟网关MAC地址的MAC地址优先级置为预设值,如0,并将MAC状态置为LVF。再接收到ARP请求报文时,不使用MAC优先级为预设值的虚拟网关MAC地址进行响应。
由上处理可见,本发明具体实施例中在某一备份设备上行链路故障时,不能再进行三层转发时,如果不存在站点间ED,则使用远端MAC地址表发送给远端ED进行数据报文的三层转发。
四、服务器上的虚拟机发生迁移时,具体处理过程如下:
当ED下的虚拟机迁移时,该虚拟机学习到的ARP表项不变,在迁移到其他ED下之后,按保存的ARP表项进行数据报文的发送。
如服务器A中的VM1学到的网关ARP为1.1.1.1/000f-e2ff-0041,当服务器A中的VM1以非停机方式动态迁移到服务器E中,VM1的缓存中ARP表项不需要刷新,即保持不变,按已学习到的网关ARP转发报文即可。
当ED3接收到VM1发送的目的MAC地址为000f-e2ff-0041的数据报文时,使用该数据报文的目的MAC地址在MAC表中进行匹配,由表3可见,虚拟网关MAC地址000f-e2ff-0041对应的MAC状态为AVF,因此,该虚拟网关MAC地址已被下发到MAC地址表中因此,该数据报文的目的MAC地址在MAC表中匹配成功,由ED3将该数据报文进行三层转发。
基于同样的发明构思,本发明具体实施例中还提出一种设备,可应用为EVI组网中的ED。参见图3,图3为本发明具体实施例中应用于上述技术的设备的结构示意图。该设备包括:接收单元301、处理单元302和发送单元303。
接收单元301,用于接收ARP请求报文;
处理单元302,用于在接收单元301接收到ARP请求报文时,在VF表中对应端口类型为EVI-LINK口之外的虚拟网关MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址;其中,所述VF表包括:虚拟网关MAC地址和端口类型,该端口类型用于标识该虚拟网关MAC地址的来源;
发送单元303,用于将处理单元302选择的虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文。
较佳地,所述设备进一步包括:生成单元304;
生成单元304,用于VF表的生成,其中,所述VF表还包括:MAC状态;在生成Master设备分配给本设备的虚拟网关MAC地址对应的VF表项时,端口类型为null,MAC状态为AVF;通过接收单元301接收到的管理报文,生成其他ED由Master设备分配的虚拟网关MAC地址对应的VF表项;
接收单元301,用于接收管理报文。
较佳地,
发送单元303,进一步用于向站点间ED发送管理报文时,只携带本地VF表中接口类型为ETH口和null口,且处于AVF状态的虚拟网关MAC地址;若本设备存在站点内ED,在向站点内ED发送管理报文时,只携带本地VF表中处于AVF状态的虚拟网关MAC地址;
生成单元304,具体用于当接收单元301通过EVI-LINK口接收到管理报文时,生成该管理报文携带的虚拟网关MAC地址对应的VF表项,该VF表项中该虚拟网关MAC地址对应的MAC状态为AVF,端口类型为EVI-LINK口;当通过ETH口接收到管理报文时,生成该管理报文携带的虚拟网关MAC地址对应的VF表项,该VF表项中该虚拟网关MAC地址对应的MAC状态为LVF,端口类型为ETH口。
较佳地,
生成单元304,进一步用于当接收单元301通过EVI-LINK口接收到管理报文时,确定该管理报文携带的虚拟网关MAC地址在本地VF表中是否已存在,如果是,若该虚拟网关MAC地址对应的端口类型为ETH口,则修改为EVI-LINK口;若本ED的优先级大于发送该管理报文的ED的优先级时,将该虚拟网关MAC地址对应的MAC状态修改为AVF;否则,生成该管理报文携带的虚拟网关MAC地址对应的VF表项;当通过ETH口接收到管理报文时,确定该管理报文携带的虚拟网关MAC地址在本地VF表中是否已存在,如果是,若该虚拟网关MAC地址对应的端口类型为EVI-LINK口,且本ED的优先级不高于发送该管理报文的ED的优先级,则将该虚拟MAC地址对应的MAC状态修改为LVF;否则,生成该管理报文携带的虚拟网关MAC地址对应的VF表项。
较佳地,
生成单元304,进一步用于当根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,若未通过EVI-LINK口接收到远端ED发送的管理报文,启动第二定时器;当第二定时器超时时,删除该管理报文通告的虚拟网关MAC地址对应的VF表项;
发送单元303,进一步用于生成单元304删除VF表项时,若本设备存在站点内ED,向站点内ED发送删除报文删除对应的VF表项。
较佳地,
生成单元304,进一步用于当根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,若未通过ETH口接收到站点内ED发送的管理报文,则在该管理报文携带的虚拟网关MAC地址对应MAC状态为LVF的ED上,选择一个ED将MAC地址状态修改为AVF;同时启动第二定时器和第三定时器;在第二定时器超时时,将该管理报文携带的虚拟网关MAC地址对应的VF表项删除;在第三定时器超时时,若本ED被选举为ARP应答设备,在接收到ARP请求报文时,不使用该管理报文携带的虚拟网关MAC地址进行ARP应答;
发送单元303,用于生成单元304删除VF表项时,向站点内ED发送删除报文删除对应的VF表项。
较佳地,所述VF表还包括:MAC优先级;
生成单元304,在生成的VF表项中,Master设备分配给本设备的虚拟网关MAC地址对应的MAC优先级的值设置为255;通过EVI-LINK口接收到的管理报文携带的虚拟网关MAC地址对应的优先级的值设置为254;通过ETH口接收到的管理报文携带的虚拟网关MAC地址对应的优先级的值设置为255/(AVF数+1)。
较佳地,
生成单元304,进一步用于若本设备的上行链路故障,当该VF表中不存在端口类型为ETH口对应的VF表项时,删除本地MAC地址表中对应VF表中MAC状态为AVF的MAC地址,并在远端MAC地址表中激活对应AVF的MAC地址;
发送单元303,进一步用于若本设备的上行链路故障,当该VF表中存在端口类型为ETH口的VF表项时,向站点内ED发送管理报文,使站点内其他ED将本地VF表中MAC状态为AVF的虚拟网关MAC地址对应的MAC状态修改为AVF;若站点内ED存在多个,则由该多个ED之间选择一个ED修改对应虚拟网关MAC地址的MAC状态。
较佳地,
生成单元304,进一步用于将本地VF表中MAC状态为AVF的虚拟网关MAC地址对应的MAC优先级的值设置为预设值,并将MAC状态修改为LVF;
发送单元303,进一步用于当接收单元301接收到ARP请求报文时,不使用MAC优先级的值为预设值的虚拟网关MAC地址进行ARP应答。
较佳地,
处理单元302,进一步用于当该本设备下的虚拟机迁移时,该虚拟机学习到的ARP表项不变,在迁移到其他ED下之后,按保存的ARP表项进行数据报文的发送。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中通过ED在接收到ARP请求报文时,根据VF表中的端口类型和MAC状态,通过负载分担方式选择一个虚拟网关MAC地址进行ARP响应,能够避免对一个站点内的服务器响应了其他站点的虚拟网关MAC地址,从而能够减少对城域网的带宽占用,并且不会造成额外压力。
虚拟机迁移时,无需更改ARP表项,网络侧能够保障无缝切换。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种虚拟网关媒质访问控制MAC地址响应方法,其特征在于,所述方法包括:
边缘设备ED在接收到地址解析协议ARP请求报文时,在虚拟转发器VF表中对应端口类型为以太网虚拟化互联链路EVI-LINK口之外的虚拟网关MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文;
其中,所述VF表包括:虚拟网关MAC地址和端口类型,该端口类型用于标识该虚拟网关MAC地址的来源。
2.根据权利要求1所述的方法,其特征在于,所述VF表还包括:MAC状态;
所述VF表的生成方法为:该ED生成主Master设备分配给本设备的虚拟网关MAC地址对应的VF表项时,端口类型为空null,MAC状态为处于激活状态的虚拟转发器AVF;
该ED通过接收到的管理报文,生成其他ED由Master设备分配的虚拟网关MAC地址对应的VF表项。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:该ED向站点间ED发送管理报文时,只携带本地VF表中接口类型为ETH口和null口,且处于AVF状态的虚拟网关MAC地址;
若该ED存在站点内ED,在向站点内ED发送管理报文时,只携带本地VF表中处于AVF状态的虚拟网关MAC地址;
所述该ED通过接收到的管理报文,生成其他ED由Master设备分配的虚拟网关MAC地址对应的VF表项,包括:
当通过EVI-LINK口接收到管理报文时,生成该管理报文携带的虚拟网关MAC地址对应的VF表项,该VF表项中该虚拟网关MAC地址对应的MAC状态为AVF,端口类型为EVI-LINK口;
当通过以太ETH口接收到管理报文时,生成该管理报文携带的虚拟网关MAC地址对应的VF表项,该VF表项中该虚拟网关MAC地址对应的MAC状态为LVF,端口类型为ETH口。
4.根据权利要求3所述的方法,其特征在于,所述当通过EVI-LINK口接收到管理报文时,所述生成该管理报文携带的虚拟网关MAC地址对应的VF表项,之前,所述方法进一步包括:确定该管理报文携带的虚拟网关MAC地址在本地VF表中是否已存在,如果是,若该虚拟网关MAC地址对应的端口类型为ETH口,则修改为EVI-LINK口;若本ED的优先级大于发送该管理报文的ED的优先级时,将该虚拟网关MAC地址对应的MAC状态修改为AVF;否则,执行生成该管理报文携带的虚拟网关MAC地址对应的VF表项的步骤;
所述当通过以太ETH口接收到管理报文时,所述生成该管理报文携带的虚拟网关MAC地址对应的VF表项,之前,所述方法进一步包括:确定该管理报文携带的虚拟网关MAC地址在本地VF表中是否已存在,如果是,若该虚拟网关MAC地址对应的端口类型为EVI-LINK口,且本ED的优先级不高于发送该管理报文的ED的优先级,则将该虚拟网关MAC地址对应的MAC状态修改为处于监听状态的虚拟转发器LVF;否则,执行所述生成该管理报文携带的虚拟网关MAC地址对应的VF表项的步骤。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法进一步包括:
当根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,如果未通过EVI-LINK口接收到远端ED发送的管理报文,启动第二定时器;
当第二定时器超时时,删除该管理报文通告的虚拟网关MAC地址对应的VF表项;若存在站点内ED,向站点内ED发送删除报文删除对应的VF表项。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法进一步包括:
当根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,如果未通过ETH口接收到站点内ED发送的管理报文,则在该管理报文携带的虚拟网关MAC地址对应MAC状态为LVF的ED上,选择一个ED将MAC地址状态修改为AVF;同时启动第二定时器和第三定时器;
在第二定时器超时时,将该管理报文携带的虚拟网关MAC地址对应的VF表项删除;并且向站点内ED发送删除报文删除对应的VF表项;
在第三定时器超时时,若接收到ARP请求报文,不使用该管理报文携带的虚拟网关MAC地址进行ARP应答。
7.根据权利要求1-4任意一项所述的方法,其特征在于,所述VF表还包括:MAC优先级;
在VF表项中,Master设备分配给本ED的虚拟网关MAC地址对应的MAC优先级的值设置为255;
通过EVI-LINK口接收到的管理报文携带的虚拟网关MAC地址对应的优先级的值设置为254;
通过ETH口接收到的管理报文携带的虚拟网关MAC地址对应的优先级的值设置为255/(AVF数+1)。
8.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法进一步包括:
若该ED的上行链路故障,当该VF表中不存在端口类型为ETH口对应的VF表项时,删除本地MAC地址表中对应VF表中MAC状态为AVF的MAC地址,并在远端MAC地址表中激活对应AVF的MAC地址;
当该VF表中存在端口类型为ETH口的VF表项时,向站点内ED发送管理报文,使站点内其他ED将本地VF表中MAC状态为AVF的虚拟网关MAC地址对应的MAC状态修改为AVF;
若站点内ED存在多个,则由多个站点内ED之间选择一个ED修改对应虚拟网关MAC地址的MAC状态。
9.根据权利要求8所述的方法,其特征在于,所述方法进一步包括:
该ED将本地VF表中MAC状态为AVF的虚拟网关MAC地址对应的MAC优先级的值设置为预设值,并将MAC状态修改为LVF;
当接收到ARP请求报文时,不使用MAC优先级的值为预设值的虚拟网关MAC地址进行ARP应答。
10.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法进一步包括:
当该ED下的虚拟机迁移时,该虚拟机学习到的ARP表项不变,在迁移到其他ED下之后,按保存的ARP表项进行数据报文的发送。
11.一种设备,可应用为以太网虚拟化互联EVI组网中的边缘设备ED,其特征在于,该设备包括:接收单元、处理单元和发送单元;
所述接收单元,用于接收地址解析协议ARP请求报文;
所述处理单元,用于在所述接收单元接收到ARP请求报文时,在虚拟转发器VF表中对应端口类型为以太网虚拟化互联链路EVI-LINK口之外的虚拟网关媒质访问控制MAC地址中,通过负载分担算法选择一个虚拟网关MAC地址;其中,所述VF表包括:虚拟网关MAC地址和端口类型,该端口类型用于标识该虚拟网关MAC地址的来源;
所述发送单元,用于将所述处理单元选择的虚拟网关MAC地址响应给发送该ARP请求报文的服务器,并且不广播该ARP请求报文。
12.根据权利要求11所述的设备,其特征在于,所述设备进一步包括:生成单元;
所述生成单元,用于VF表的生成,其中,所述VF表还包括:MAC状态;在生成主Master设备分配给本设备的虚拟网关MAC地址对应的VF表项时,端口类型为空null,MAC状态为处于激活状态的虚拟转发器AVF;通过所述接收单元接收到的管理报文,生成其他ED由Master设备分配的虚拟网关MAC地址对应的VF表项;
所述接收单元,用于接收管理报文。
13.根据权利要求12所述的设备,其特征在于,
所述发送单元,进一步用于向站点间ED发送管理报文时,只携带本地VF表中接口类型为以太ETH口和null口,且处于AVF状态的虚拟网关MAC地址;若本设备存在站点内ED,在向站点内ED发送管理报文时,只携带本地VF表中处于AVF状态的虚拟网关MAC地址;
所述生成单元,具体用于当所述接收单元通过EVI-LINK口接收到管理报文时,生成该管理报文携带的虚拟网关MAC地址对应的VF表项,该VF表项中该虚拟网关MAC地址对应的MAC状态为AVF,端口类型为EVI-LINK口;当通过ETH口接收到管理报文时,生成该管理报文携带的虚拟网关MAC地址对应的VF表项,该VF表项中该虚拟网关MAC地址对应的MAC状态为处于监听状态的虚拟转发器LVF,端口类型为ETH口。
14.根据权利要求13所述的设备,其特征在于,
所述生成单元,进一步用于当所述接收单元通过EVI-LINK口接收到管理报文时,确定该管理报文携带的虚拟网关MAC地址在本地VF表中是否已存在,如果是,若该虚拟网关MAC地址对应的端口类型为ETH口,则修改为EVI-LINK口;若本ED的优先级大于发送该管理报文的ED的优先级时,将该虚拟网关MAC地址对应的MAC状态修改为AVF;否则,生成该管理报文携带的虚拟网关MAC地址对应的VF表项;当通过ETH口接收到管理报文时,确定该管理报文携带的虚拟网关MAC地址在本地VF表中是否已存在,如果是,若该虚拟网关MAC地址对应的端口类型为EVI-LINK口,且本ED的优先级不高于发送该管理报文的ED的优先级,则将该虚拟网关MAC地址对应的MAC状态修改为LVF;否则,生成该管理报文携带的虚拟网关MAC地址对应的VF表项。
15.根据权利要求12-14任意一项所述的设备,其特征在于,
所述生成单元,进一步用于当根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,若未通过EVI-LINK口接收到远端ED发送的管理报文,启动第二定时器;当第二定时器超时时,删除该管理报文通告的虚拟网关MAC地址对应的VF表项;
所述发送单元,进一步用于所述生成单元删除VF表项时,若本设备存在站点内ED,向站点内ED发送删除报文删除对应的VF表项。
16.根据权利要求12-14任意一项所述的设备,其特征在于,
所述生成单元,进一步用于当根据接收到的管理报文生成VF表项时,启动第一定时器,当第一定时器超时时,若未通过ETH口接收到站点内ED发送的管理报文,则在该管理报文携带的虚拟网关MAC地址对应MAC状态为LVF的ED上,选择一个ED将MAC地址状态修改为AVF;同时启动第二定时器和第三定时器;在第二定时器超时时,将该管理报文携带的虚拟网关MAC地址对应的VF表项删除;在第三定时器超时时,若接收到ARP请求报文,不使用该管理报文携带的虚拟网关MAC地址进行ARP应答;
所述发送单元,用于所述生成单元删除VF表项时,向站点内ED发送删除报文删除对应的VF表项。
17.根据权利要求12-14任意一项所述的设备,其特征在于,所述VF表还包括:MAC优先级;
所述生成单元,在生成的VF表项中,Master设备分配给本设备的虚拟网关MAC地址对应的MAC优先级的值设置为255;通过EVI-LINK口接收到的管理报文携带的虚拟网关MAC地址对应的优先级的值设置为254;通过ETH口接收到的管理报文携带的虚拟网关MAC地址对应的优先级的值设置为255/(AVF数+1)。
18.根据权利要求12-14任意一项所述的设备,其特征在于,
所述生成单元,进一步用于若本设备的上行链路故障,当该VF表中不存在端口类型为ETH口对应的VF表项时,删除本地MAC地址表中对应VF表中MAC状态为AVF的MAC地址,并在远端MAC地址表中激活对应AVF的MAC地址;
所述发送单元,进一步用于若本设备的上行链路故障,当该VF表中存在端口类型为ETH口的VF表项时,向站点内ED发送管理报文,使站点内其他ED将本地VF表中MAC状态为AVF的虚拟网关MAC地址对应的MAC状态修改为AVF;若站点内ED存在多个,则由多个站点内ED之间选择一个ED修改对应虚拟网关MAC地址的MAC状态。
19.根据权利要求18所述的设备,其特征在于,
所述生成单元,进一步用于将本地VF表中MAC状态为AVF的虚拟网关MAC地址对应的MAC优先级的值设置为预设值,并将MAC状态修改为LVF;
所述发送单元,进一步用于当所述接收单元接收到ARP请求报文时,不使用MAC优先级的值为预设值的虚拟网关MAC地址进行ARP应答。
20.根据权利要求11-14任意一项所述的设备,其特征在于,
所述处理单元,进一步用于当本设备下的虚拟机迁移时,该虚拟机学习到的ARP表项不变,在迁移到其他ED下之后,按保存的ARP表项进行数据报文的发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410282677.9A CN104023095B (zh) | 2014-06-23 | 2014-06-23 | 一种虚拟网关媒质访问控制地址响应方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410282677.9A CN104023095B (zh) | 2014-06-23 | 2014-06-23 | 一种虚拟网关媒质访问控制地址响应方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104023095A CN104023095A (zh) | 2014-09-03 |
CN104023095B true CN104023095B (zh) | 2017-07-14 |
Family
ID=51439663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410282677.9A Active CN104023095B (zh) | 2014-06-23 | 2014-06-23 | 一种虚拟网关媒质访问控制地址响应方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104023095B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743993B (zh) * | 2016-03-31 | 2019-03-05 | 杭州数梦工场科技有限公司 | 报文处理方法和系统 |
CN106101171B (zh) * | 2016-05-24 | 2019-12-03 | 中国联合网络通信集团有限公司 | 服务器连接方法及装置 |
CN106982169B (zh) * | 2017-03-30 | 2020-01-03 | 新华三技术有限公司 | 报文转发方法及装置 |
CN114760242B (zh) * | 2022-03-30 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟路由器的迁移方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905488A (zh) * | 2006-08-15 | 2007-01-31 | 华为技术有限公司 | 采用虚拟路由器冗余协议接入用户的方法和系统 |
CN102291320A (zh) * | 2011-09-29 | 2011-12-21 | 杭州华三通信技术有限公司 | Mac地址学习方法和边缘设备 |
CN103001868A (zh) * | 2012-12-31 | 2013-03-27 | 杭州华三通信技术有限公司 | 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166205B2 (en) * | 2007-07-31 | 2012-04-24 | Cisco Technology, Inc. | Overlay transport virtualization |
-
2014
- 2014-06-23 CN CN201410282677.9A patent/CN104023095B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905488A (zh) * | 2006-08-15 | 2007-01-31 | 华为技术有限公司 | 采用虚拟路由器冗余协议接入用户的方法和系统 |
CN102291320A (zh) * | 2011-09-29 | 2011-12-21 | 杭州华三通信技术有限公司 | Mac地址学习方法和边缘设备 |
CN103001868A (zh) * | 2012-12-31 | 2013-03-27 | 杭州华三通信技术有限公司 | 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104023095A (zh) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102647355B (zh) | Lacp协商处理方法、中继节点及系统 | |
CN102859973B (zh) | 一种地址解析的方法,装置和系统 | |
CN102801820B (zh) | 一种evi网络中mac地址发布方法和装置 | |
CN102160328B (zh) | 用于协调分布式虚拟网络交换环境中的多播消息传送的中央控制器 | |
CN104023095B (zh) | 一种虚拟网关媒质访问控制地址响应方法和设备 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
CN105262667A (zh) | Overlay网络中控制组播传输的方法、装置 | |
CN104104570A (zh) | Irf系统中的聚合处理方法及装置 | |
CN103117935B (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
CN103338161A (zh) | 一种实现跨设备聚合的方法和设备 | |
CN103259740B (zh) | 一种负载均衡处理方法及装置 | |
US10382391B2 (en) | Systems and methods for managing network address information | |
CN104468151A (zh) | 一种集群切换时保持tcp会话的系统和方法 | |
CN107147580A (zh) | 一种隧道建立的方法及通信系统 | |
CN100512318C (zh) | 一种实现负载均衡的方法和系统及负载均衡设备 | |
US11418443B2 (en) | Method for distributing transmission path information and routing bridges | |
CN103401954B (zh) | 虚拟dhcp的实现方法 | |
CN107809386A (zh) | Ip地址转换方法、路由设备和通信系统 | |
CN104734952A (zh) | 一种数据报文转发方法以及装置 | |
CN105721328A (zh) | 一种vrrp负载均衡的方法、装置和路由器 | |
CN107547339A (zh) | 一种网关媒体接入控制mac地址反馈方法及装置 | |
CN102647360A (zh) | 一种在vrrpe中传输报文的方法和设备 | |
CN104243304B (zh) | 非全连通拓扑结构的数据处理方法、设备和系统 | |
CN103200119B (zh) | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 | |
CN103354567B (zh) | 一种同步媒体访问控制地址的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |