CN104023095A - 一种虚拟网关媒质访问控制地址响应方法和设备 - Google Patents

一种虚拟网关媒质访问控制地址响应方法和设备 Download PDF

Info

Publication number
CN104023095A
CN104023095A CN201410282677.9A CN201410282677A CN104023095A CN 104023095 A CN104023095 A CN 104023095A CN 201410282677 A CN201410282677 A CN 201410282677A CN 104023095 A CN104023095 A CN 104023095A
Authority
CN
China
Prior art keywords
mac address
virtual gateway
list item
gateway mac
administrative message
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.)
Granted
Application number
CN201410282677.9A
Other languages
English (en)
Other versions
CN104023095B (zh
Inventor
孙策
沈岭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201410282677.9A priority Critical patent/CN104023095B/zh
Publication of CN104023095A publication Critical patent/CN104023095A/zh
Application granted granted Critical
Publication of CN104023095B publication Critical patent/CN104023095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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核心网的二层虚拟专用网络(Layer2Virtual Private 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表项进行数据报文的发送。
CN201410282677.9A 2014-06-23 2014-06-23 一种虚拟网关媒质访问控制地址响应方法和设备 Active CN104023095B (zh)

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 true CN104023095A (zh) 2014-09-03
CN104023095B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743993A (zh) * 2016-03-31 2016-07-06 杭州数梦工场科技有限公司 报文处理方法和系统
CN106101171A (zh) * 2016-05-24 2016-11-09 中国联合网络通信集团有限公司 服务器连接方法及装置
CN106982169A (zh) * 2017-03-30 2017-07-25 新华三技术有限公司 报文转发方法及装置
CN114760242A (zh) * 2022-03-30 2022-07-15 深信服科技股份有限公司 虚拟路由器的迁移方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1905488A (zh) * 2006-08-15 2007-01-31 华为技术有限公司 采用虚拟路由器冗余协议接入用户的方法和系统
US20090037607A1 (en) * 2007-07-31 2009-02-05 Cisco Technology, Inc. Overlay transport virtualization
CN102291320A (zh) * 2011-09-29 2011-12-21 杭州华三通信技术有限公司 Mac地址学习方法和边缘设备
CN103001868A (zh) * 2012-12-31 2013-03-27 杭州华三通信技术有限公司 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1905488A (zh) * 2006-08-15 2007-01-31 华为技术有限公司 采用虚拟路由器冗余协议接入用户的方法和系统
US20090037607A1 (en) * 2007-07-31 2009-02-05 Cisco Technology, Inc. Overlay transport virtualization
CN102291320A (zh) * 2011-09-29 2011-12-21 杭州华三通信技术有限公司 Mac地址学习方法和边缘设备
CN103001868A (zh) * 2012-12-31 2013-03-27 杭州华三通信技术有限公司 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743993A (zh) * 2016-03-31 2016-07-06 杭州数梦工场科技有限公司 报文处理方法和系统
CN105743993B (zh) * 2016-03-31 2019-03-05 杭州数梦工场科技有限公司 报文处理方法和系统
CN106101171A (zh) * 2016-05-24 2016-11-09 中国联合网络通信集团有限公司 服务器连接方法及装置
CN106101171B (zh) * 2016-05-24 2019-12-03 中国联合网络通信集团有限公司 服务器连接方法及装置
CN106982169A (zh) * 2017-03-30 2017-07-25 新华三技术有限公司 报文转发方法及装置
CN114760242A (zh) * 2022-03-30 2022-07-15 深信服科技股份有限公司 虚拟路由器的迁移方法、装置、电子设备及存储介质
CN114760242B (zh) * 2022-03-30 2024-04-09 深信服科技股份有限公司 虚拟路由器的迁移方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104023095B (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN102160328B (zh) 用于协调分布式虚拟网络交换环境中的多播消息传送的中央控制器
CN102801820B (zh) 一种evi网络中mac地址发布方法和装置
CN102263704A (zh) 一种支持数据中心二层互联的拓扑构建方法和装置
CN103873368B (zh) 以太网报文转发方法和接入设备
CN105262667A (zh) Overlay网络中控制组播传输的方法、装置
CN103516609B (zh) 一种业务报文的传输方法和设备
CN103338161A (zh) 一种实现跨设备聚合的方法和设备
CN104104570A (zh) Irf系统中的聚合处理方法及装置
US10382391B2 (en) Systems and methods for managing network address information
CN102333027B (zh) 基于vrrpe备份组的流量负载分担实现方法及其装置
CN108259635B (zh) 一种arp表项学习方法和dr设备
CN103259740B (zh) 一种负载均衡处理方法及装置
US10652145B2 (en) Managing data frames in switched networks
CN106130819B (zh) Vtep异常的检测方法及装置
US20220345331A1 (en) Two-layer private line network system, configuration method, and device
CN105187311B (zh) 一种报文转发方法及装置
CN103117935A (zh) 应用于多归属组网的组播数据转发方法和装置
CN104023095A (zh) 一种虚拟网关媒质访问控制地址响应方法和设备
CN106936943A (zh) 虚拟机地址的分配方法及系统
CN107147580A (zh) 一种隧道建立的方法及通信系统
CN100512318C (zh) 一种实现负载均衡的方法和系统及负载均衡设备
CN105991795A (zh) Arp表项更新方法以及装置
CN105721328A (zh) 一种vrrp负载均衡的方法、装置和路由器
CN103095584A (zh) 一种报文处理方法及交换设备
CN107547339A (zh) 一种网关媒体接入控制mac地址反馈方法及装置

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