以太虚拟网络网关切换方法和服务商边缘节点设备的制造方法
【技术领域】
[0001]本发明涉及网络技术领域,特别涉及一种以太虚拟网络网关切换方法和服务商边缘节点设备。
【背景技术】
[0002]以太虚拟网络(英文:Ethernet Virtual Network,简称“EVN”)是建立在两个数据中心间IP网络上的二层网络,是一种IP隧道技术,负责两个数据中心间的二层流量传输。参见图1,第一数据中心A和第二数据中心B通过EVN网络连接,第一数据中心A中设有第一服务商边缘节点设备(英文:Provider Edge,简称:PE)和第一虚拟路由冗余协议(英文:Virtual Router Redundancy Protocol,简称:VRRP)网关,第二数据中心 B 中设有第二 PE和第二 VPRR网关,第一 VRRP网关和第二 VRRP网关共同分担转发两个数据中心的三层流量,第一数据中心A和第二数据中心B通过互联网协议(英文:Internet Protocol,简称:IP)隧道连接。第一 VRRP网关和第二 VRRP网关均采用VRRP协议构建,即第一 VRRP网关和第二 VRRP网关均是虚拟网关,即可以分别由一个网关或多个网关组成。具体地,当一个VRRP网关由多个网关组成时,该VRRP网关由一个主用状态的网关和多个备用状态的网关组成,功能上相当于一台网关,VRRP网关具有一个媒体访问控制(英文:Media AccessControl,简称:MAC)地址,称为虚拟MAC地址。VRRP网关的虚拟MAC地址的高40位值是固定的,用来标识VRRP协议,低8位是VRRP标识(英文:Identity,简称:ID)。
[0003]通常情况下,每个数据中心的用户流量由该数据中心内的PE直接转发至该数据中心中的VPRR网关,不跨越EVN网络转发流量。
[0004]当所述EVN中第一 VRRP网关故障时(易出现在一台网关构成的VRRP网关场景),例如,第一VRRP网关上行接口至无线局域网络(英文:Wireless Local Area Networks,简称“WLAN”)侧不通,或者第一 VRRP网关连接第一 PE侧的物理链路或者逻辑链路不通,所述第一 VRRP网关不能转发三层流量,此时第一 PE需要将第一数据中心的三层流量快速切换至第二 VRRP网关,保证三层流量不断流。
[0005]当所述EVN中第一 VRRP网关和第二 VRRP网关采用主备设置时,即一台VRRP网关作为主用网关同时转发两个数据中心的流量,另一台作为备用网关。但在此情况下,PE感知不到VRRP网关的主备用状态切换。例如,第一 VRRP网关为备用状态,第二 VRRP网关为主用状态时,第一 PE仍保留第一 VRRP网关的虚拟MAC地址,第一数据中心下的用户流量被第一 PE转发至第一 VRRP网关,而由于第一 VRRP网关为备用状态,不转发流量,造成用户流量被丢弃。因此,在此场景下,要求第一 PE可以将流量快速切换至第二 VRRP网关进行转发。
[0006]目前解决该问题的方案有两类:一、依赖于MAC地址的老化机制,第一PE上的第一VRRP网关的MAC地址老化掉之后流量切换至第二 VRRP网关上;二、在发生故障时,人为清除掉第一 PE上的MAC转发表,依赖MAC地址重新学习的方式来解决该问题。
[0007]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0008]无论是依赖MAC地址的老化机制实现流量切换还是人为清除PE上的MAC地址转发表,均有可能导致流量从第一 VRRP网关切换至第二 VRRP网关的速度慢,并进一步导致业务中断。
【发明内容】
[0009]为了解决现有技术的问题,本发明提供了一种以太虚拟网络网关切换方法和服务商边缘节点设备。所述技术方案如下:
[0010]一方面,本发实施例提供了一种以太虚拟网络网关切换方法,所述方法包括:
[0011]第一服务商边缘节点设备PE监听第一虚拟路由冗余协议VRRP网关的状态,所述第一 VRRP网关与所述第一 PE处于第一数据中心中;
[0012]当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述第一 PE上所述第一 VRRP网关的媒体访问控制MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过互联网协议IP隧道连接。
[0013]在本发明实施例的一种实现方式中,所述第一 PE监听第一 VRRP网关的状态,包括:
[0014]监听本地VRRP报文;
[0015]当监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为主用状态;
[0016]当超过设定时间未监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为异常状态或者备用状态。
[0017]在本发明实施例的另一种实现方式中,所述获取第二 PE发送的第二 VRRP网关的MAC路由,包括:
[0018]将所述第一 VRRP网关的虚拟局域网VLAN、VRRP标识ID和VRRP状态发送给所述第二 PE ;
[0019]接收所述第二 PE发送的所述第二 VRRP网关的MAC路由。
[0020]在本发明实施例的另一种实现方式中,所述将所述第一 VRRP网关的VLAN、VRRPID和VRRP状态发送给第二 PE,包括:
[0021 ] 将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态添加到边界网关协议BGP报文的扩展字段中;
[0022]将添加了所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态的BGP报文发送给所述第二 PE。
[0023]在本发明实施例的另一种实现方式中,所述方法还包括:
[0024]监听所述第二 VRRP网关的状态;
[0025]当所述第二 VRRP网关的状态为异常状态或者备用状态时,将所述第一 VRRP网关的MAC路由发送给所述第二 PE。
[0026]在本发明实施例的另一种实现方式中,所述将所述第一 VRRP网关的MAC路由发送给所述第二 PE,包括:
[0027]将所述第一 VRRP网关的MAC路由添加到BGP报文的扩展字段中;
[0028]将添加了所述第一 VRRP网关的MAC路由的BGP报文发送给所述第二 PE。
[0029]另一方面,本发实施例还提供了一种服务商边缘节点设备PE,所述PE包括:
[0030]监听模块,用于监听第一虚拟路由冗余协议VRRP网关的状态,所述第一VRRP网关与所述PE处于第一数据中心中;
[0031]处理模块,用于当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的媒体访问控制MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量;其中,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过互联网协议IP隧道连接。
[0032]在本发明实施例的一种实现方式中,所述监听模块具体用于:
[0033]监听本地VRRP报文;当监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为主用状态;
[0034]当超过设定时间未监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为异常状态或者备用状态。
[0035]在本发明实施例的另一种实现方式中,当获取所述第二 PE发送的所述第二 VRRP网关的MAC路由时,所述处理模块具体用于:
[0036]将所述第一 VRRP网关的虚拟局域网VLAN、VRRP标识ID和VRRP状态发送给所述第二 PE ;以及接收所述第二 PE发送的所述第二 VRRP网关的MAC路由。
[0037]在本发明实施例的另一种实现方式中,将所述第一VRRP网关的VLAN、VRRP标识ID和VRRP状态发送给所述第二 PE时,所述处理模块具体用于:
[0038]将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态添加到边界网关协议BGP报文的扩展字段中;以及
[0039]将添加了所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态的BGP报文发送给所述第二 PE。
[0040]在本发明实施例的另一种实现方式中,所述监听模块,还用于监听所述第二 VRRP网关的状态;
[0041]所述PE还包括:发送模块,用于当所述第二 VRRP网关的状态为异常状态或者备用状态时,将所述第一 VRRP网关的MAC路由发送给所述第二 PE。
[0042]在本发明实施例的另一种实现方式中,所述发送模块具体用于:
[0043]将所述第一 VRRP网关的MAC路由添加到BGP报文的扩展字段中;以及
[0044]将添加了所述第一 VRRP网关的MAC路由的BGP报文发送给所述第二 PE。
[0045]本发明提供的技术方案带来的有益效果是:
[0046]通过第一 PE监听第一 VRRP网关的状态,当第一 VRRP网关的状态为异常状态或者备用状态时,清除所述第一 PE上所述第一 VRRP网关的MAC路由,使用第二 VRRP网关的MAC路由转发流量,既避免了现有技术中依赖MAC地址老化机制造成的流量从第一 VRRP网关切换至第二 VRRP网关的速度慢,导致的业务中断的问题,又节省了人工切换的人力资源。
【附图说明】
[0047]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1是本发明【背景技术】中提供的网络示意图;
[0049]图2是本发明实施例提供的应用场景示意图;
[0050]图3是本发明实施例一提供的以太虚拟网络网关切换方法流程图;
[0051]图4是本发明实施例二提供的以太虚拟网络网关切换方法流程图;
[0052]图5是本发明实施例三提供的服务商边缘节点设备结构示意图;
[0053]图6是本发明实施例四提供的服务商边缘节点设备结构示意图;
[00
54]图7是本发明实施例五提供的服务商边缘节点设备结构示意图。
【具体实施方式】
[0055]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0056]为了便于实施例的描述,下面先简单介绍一下本发明中实施例的应用场景。参见图2,该场景涉及一种以太虚拟网络网关切换系统,包括第一数据中心10和第二数据中心20,在数据中心10中包括第一 VRRP网关11、第一 PE12和若干第一存储阵列13,在数据中心20中包括第二 VRRP网关21、第二 PE22和若干第二存储阵列23。第一数据中心10和第二数据中心20通过IP隧道连接,具体可以采用数据中心互联(英文:Data Centerinterconnect,简称:DCI)技术实现,即在两数据中心间建立隧道用于传输两数据中心间的二层流量。其中,DCI用来在公网上使用IP隧道承载EVN报文,第一 PE12负责对二层报文封装IP头,然后将二层报文通过隧道从第一数据中心转发发送到第二数据中心。
[0057]在配置方面,由于第一 VRRP网关11和第二 VRRP网关21可以同时为主用状态,此时两个数据中心的流量均从本地VRRP网关转发。当两个网关中一个为主用状态,另一个为备用状态时,两个数据中心的流量均从主用状态的网关转发。
[0058]需要说明的是,以上所述的设备种类仅为举例,本发明对此不作限制。
[0059]实施例一
[0060]本发明实施例提供了一种以太虚拟网络网关切换方法,参见图3,该方法包括:
[0061]步骤101:第一服务商边缘节点PE监听第一虚拟路由冗余协议VRRP网关的状态,所述第一 VRRP网关与所述第一 PE处于第一数据中心中。
[0062]当所述第一 VRRP网关的状态为主用状态时,所述第一 PE使用所述第一 VRRP网关的MAC路由转发流量。
[0063]步骤102:当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述第一PE上所述第一 VRRP网关的MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量。其中,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过IP隧道连接,所述MAC路由由虚拟局域网标识(英文:Virtual Local Area Network Identifier,简称:VLAN ID)、MAC 地址和下一跳的 IP 地址组成。如所述第二 VRRP网关的MAC路由中,VLAN ID为所述第二 VRRP网关的VLAN ID, MAC地址为所述第二 VRRP网关的虚拟MAC地址,下一跳的IP地址为所述第一 PE上接收到所述第二 VRRP网关的MAC路由的端口的IP地址。当然这里的MAC路由也可以采用传统的MAC地址转发表实现,即将下一跳的IP地址替换为出端口。
[0064]使用所述第二 VRRP网关的MAC路由转发流量是指,使用所述第二 VRRP网关的MAC路由将流量转发至所述第二 VRRP网关,以使所述第二 VRRP网关将流量转发出去。
[0065]本发明实施例通过第一 PE监听第一 VRRP网关的状态,当第一 VRRP网关的状态为异常状态或者备用状态时,清除所述第一 PE上所述第一 VRRP网关的MAC路由,使用第二VRRP网关的MAC路由转发流量,既避免了现有技术中依赖MAC地址老化机制造成的流量从第一VRRP网关切换至第二VRRP网关的速度慢,导致的业务中断的问题,又节省了人工切换的人力资源。
[0066]实施例二
[0067]基于图2所示的系统,本发明实施例还提供了一种以太虚拟网络网关切换方法,参见图4,该方法包括:
[0068]步骤201:第一 PE监听本地VRRP报文。
[0069]本实施例中,所述本地VRRP报文为所述第一 VRRP网关发送的VRRP报文,即与所述第一 PE处于同一个数据中心中的VRRP网关发送的VRRP报文。
[0070]状态为主用状态的VRRP网关会定时发送VRRP报文,即VRRP通告报文(VRRP报文只有一种类型),来通知处于备份状态的VRRP网关自己工作正常。VRRP报文中包括VRRPID和优先级,VRRP ID取值范围1?255,优先级取值范围0?255,优先级数值越大表明优先级越高。当然VRRP报文中还包括其他字段,如VLAN,认证数据,校验和等。
[0071]VRRP报文封装在IP报文中,发送到分配给VRRP的IP组播地址。在IP报文头中,源地址为VRRP网关发送报文的接口的IP地址,目的地址是IP组播地址224.0.0.18,存活时间(英文:Time To Live,简称:TTL)是255,协议号是112。
[0072]步骤202:当监听到所述本地VRRP报文时,所述第一 PE确定所述第一 VRRP网关的状态为主用状态;当超过设定时间未监听到所述本地VRRP报文时,所述第一 PE确定所述第一 VRRP网关的状态为异常状态或者备用状态。
[0073]其中,VRRP网关的状态可以通过选举发生改变。例如,在抢占方式下,当备用状态的VRRP网关收到VRRP报文后,会将自己的优先级与VRRP报文中的优先级进行比较。如果自己的优先级大于VRRP报文中的优先级,则成为主用状态的网关;否则将保持备用状态。另外,主用状态的VRRP网关发送VRRP报文的时间间隔是可以设置的,如果备用状态的VRRP网关在等待了设定数量的时间间隔后,依然没有收到VRRP报文,则认为自己是主用状态的VRRP网关,并对外发送VRRP报文。
[0074]为了避免VRRP网关频繁进行主备状态转换,备用状态的VRRP网关接收到优先级低于本地优先级的VRRP报文后,不会立即抢占成为主用状态,而是等待一定时间(即抢占延迟时间)后,才会对外发送VRRP报文取代原来的主用状态的VRRP网关。
[0075]通常情况下,两个数据中心中的分别设有主用状态的VRRP网关,主用状态的VRRP网关会定期地发送VRRP报文出去,该VRRP报文会被与VRRP网关处于同一数据中心的PE抓获,当所述PE在检测周期内持续接收到该VRRP网关的VRRP报文,且VRRP报文携带的参数正常,包括VRRP网关的VLAN、VRRP ID,则判断网关VRRP状态为主用状态,假设在检测周期内均接收不到VRRP报文,则认为其所在的数据中心中的VRRP网关的状态是备用状态或者故障状态。
[0076]步骤203:当所述第一 VRRP网关的状态为异常状态或者备用状态时,所述第一 PE清除所述第一 PE上所述第一 VRRP网关的MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量;当所述第一 VRRP网关的状态为主用状态时,使用所述第一 VRRP网关的MAC路由转发流量。
[0077]其中,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过IP隧道连接;所述MAC路由由VLAN ID、MAC地址和下一跳的IP地址组成。如所述第二 VRRP网关的MAC路由中,VLAN ID为所述第二 VRRP网关的VLAN ID, MAC地址为所述第二 VRRP网关的虚拟MAC地址,下一跳的IP地址为所述第一 PE上接收到所述第二 VRRP网关的MAC路由的端口的IP地址。当然这里的MAC路由也可以采用传统的MAC地址转发表实现,即将下一跳的IP地址替换为出端口。
[0078]使用所述第二 VRRP网关的MAC路由转发流量是指,采用所述第二 VRRP网关的MAC路由将流量转发至所述第二 VRRP网关,以使所述第二 VRRP网关将流量转发出去。
[0079]进一步地,获取所述第二 PE发送的所述第二 VRRP网关的MAC路由可以采用下述方式实现:
[0080]将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE ;
[0081]接收所述第二 PE发送的所述第二 VRRP网关的MAC路由。
[0082]通过将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE,使得所述第二 PE可以知道当前所述第一 VRRP网关处于异常状态或者备用状态,当所述第二PE知道所述第一 VRRP网关的状态后,将所述第二 VRRP网关的MAC路由发送到所述第一 PE上,使得所述第一 PE可以采用所述第二 VRRP网关的MAC路由转发流量,实现流量从所述第一VRRP网关快速切换至所述第二 VRRP网关,保证流量不中断。
[0083]具体地,将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE,可以采用下述方式实现:
[0084]将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态添加到边界网关协议(英文:Border Gateway Protocol,简称:BGP)报文的扩展字段中;
[0085]将添加了所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态的BGP报文发送给所述第二 PE。
[0086]EVN在控制面通过BGP协议来建立邻居关系和发布通告,即可以在所述第一 PE与所述第二 PE之间建立BGP邻居,当所述第一 PE监听到所述第一 VRRP网关的状态变为备用状态或者故障状态时,所述第一 PE需要把这个信息通告给所述第二 PE,这个通告过程通过在BGP的扩展字段中新增TLV的方式来实现,作为BGP的可选过渡属性。同时可在所述第二PE中配置监听功能,只有配置监听功能的设备才会处理BGP的可选过渡属性。如果所述第二 PE配置了反射器,允许所述第二 PE对BGP的可选过渡属性进行通告,但只有配置了监听功能的其他PE接收到该通告才会处理可选过渡属性。所述反射器指的是网络中各个数据中心的PE之间并不是两两相互配置邻居关系,而是指定其中一台PE作为反射器,其他PE均与该PE建立邻居关系,该PE负责从其中一台PE接收MAC路由,然后再把MAC路由发布给其他PE。在BGP的可选过渡属性中,通过在BGP报文中增加一个TLV的方式来通告第一VRRP网关的主备用状态,该TLV包括:类型(英文:type)、长度(英文:length)和值(英文:value)。其中type类型可以自定义,占用一个字节;length占用一个字节;value字段中携带VRRP ID、第一 VRRP网关的VLAN ID、VRRP状态(英文:statu
s)字段,占用8个字节。VRRP status用于标识VRRP网关的主备用状态。
[0087]EVN中依赖BGP协议在相邻数据中心的PE间建立邻居关系,如所述第一 PE与所述第二 PE间,在建立了邻居关系后,所述第一 PE不仅能够得到所述第一 VRRP网关的MAC路由,并且可以接收所述第二 PE发布过来的所述第二 VRRP网关的MAC路由。
[0088]步骤204:所述第一 PE监听所述第二 VRRP网关的状态。
[0089]具体地,监听第二 VRRP网关的状态既可以采用步骤201和步骤202中监听VRRP报文的方式实现。还可以通过接收所述第二 PE发送的BGP报文实现,BGP报文中添加了所述第二 VRRP网关的VRRP状态,即可根据该BGP报文确定所述第二 VRRP网关的状态。
[0090]步骤205:当所述第二 VRRP网关的状态为异常状态或者备用状态时,所述第一 PE将所述第一 VRRP网关的MAC路由发送给所述第二 PE。
[0091]通过将所述第一 VRRP网关的MAC路由发送给所述第二 PE,可以保证在所述第二VRRP网关处于异常状态或者备用状态时,所述第二 PE可以采用所述第一 VRRP网关的MAC路由进行流量转发,实现流量从所述第二 VRRP网关快速切换至所述第一 VRRP网关,保证流量不中断。
[0092]发送前,所述第一 PE通过所述第一 VRRP网关的VLAN字段、VRRP ID字段,查询是否有所述第一 VRRP网关MAC路由,若查询到对应的MAC路由,则将所述第一 VRRP网关的MAC路由发送给第二 PE ;若没有查询到,则不作处理。
[0093]具体地,将所述第一 VRRP网关的MAC路由发送给所述第二 PE可以包括:
[0094]将所述第一 VRRP网关的MAC路由添加到BGP报文的扩展字段中;
[0095]将添加了所述第一 VRRP网关的MAC路由的BGP报文发送给所述第二 PE。
[0096]具体方式可以与前述“将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE”的形式相同,这里不再赘述。
[0097]本发明实施例通过第一 PE监听第一 VRRP网关的状态,当第一 VRRP网关的状态为异常状态或者备用状态时,清除所述第一 PE上所述第一 VRRP网关的MAC路由,使用第二VRRP网关的MAC路由转发流量,既避免了现有技术中依赖MAC老化机制造成的流量从第一VRRP网关切换至第二 VRRP网关的速度慢,导致的业务中断的问题,又节省了人工切换的人力资源。
[0098]实施例三
[0099]本发明实施例提供了一种服务商边缘节点设备PE,参见图5,该PE包括:
[0100]监听模块301,用于监听第一虚拟路由冗余协议VRRP网关的状态,所述第一 VRRP网关与所述PE处于第一数据中心中;
[0101]处理模块302,用于当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过IP隧道连接。
[0102]所述处理模块302还用于当所述第一 VRRP网关的状态为主用状态时,使用所述第一 VRRP网关的MAC路由转发流量。
[0103]其中,MAC路由由VLAN ID、MAC地址和下一跳的IP地址组成。如所述第二 VRRP网关的MAC路由中,VLAN ID为所述第二 VRRP网关的VLAN ID, MAC地址为所述第二 VRRP网关的虚拟MAC地址,下一跳的IP地址为所述第一 PE上接收到所述第二 VRRP网关的MAC路由的端口的IP地址。当然这里的MAC路由也可以采用传统的MAC地址转发表实现,即将下一跳的IP地址替换为出端口。
[0104]使用所述第二 VRRP网关的MAC路由转发流量是指,采用所述第二 VRRP网关的MAC路由将流量转发至所述第二 VRRP网关,以使所述第二 VRRP网关将流量转发出去。
[0105]本发明实施例通过PE监听第一 VRRP网关的状态,当第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的MAC路由,使用第二 VRRP网关的MAC路由转发流量,既避免了现有技术中依赖MAC老化机制造成的流量从第一 VRRP网关切换至第二 VRRP网关的速度慢,导致的业务中断的问题,又节省了人工切换的人力资源。
[0106]实施例四
[0107]本发明实施例提供了一种服务商边缘节点设备PE,参见图6,该PE包括:
[0108]监听模块401,用于监听第一虚拟路由冗余协议VRRP网关的状态,所述第一 VRRP网关是与所述PE处于第一数据中心中;
[0109]处理模块402,用于当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过IP隧道连接。
[0110]所述处理模块402还用于当所述第一 VRRP网关的状态为主用状态时,使用所述第一VRRP网关的MAC路由转发流量。
[0111]其中,MAC路由由VLAN ID、MAC地址和下一跳的IP地址组成。如所述第二 VRRP网关的MAC路由中,VLAN ID为所述第二 VRRP网关的VLAN ID, MAC地址为所述第二 VRRP网关的虚拟MAC地址,下一跳的IP地址为所述第一 PE上接收到所述第二 VRRP网关的MAC路由的端口的IP地址。当然这里的MAC路由也可以采用传统的MAC地址转发表实现,即将下一跳的IP地址替换为出端口。
[0112]使用所述第二 VRRP网关的MAC路由转发流量是指,采用所述第二 VRRP网关的MAC路由将流量转发至所述第二 VRRP网关,以使所述第二 VRRP网关将流量转发出去。
[0113]在本实施例中,状态为主用状态的VRRP网关会定时发送VRRP报文,即VRRP通告报文(VRRP报文只有一种类型),来通知处于备份状态的VRRP网关自己工作正常。VRRP报文中包括VRRP ID和优先级,VRRP ID取值范围1?255,优先级取值范围0?255,数值越大表明优先级越高。当然VRRP报文中还包括其他字段,如VLAN,认证数据,校验和等。
[0114]VRRP报文封装在IP报文中,发送到分配给VRRP报文的IP组播地址。在IP报文头中,源地址为VRRP网关发送报文的接口的IP地址,目的地址是IP组播地址224.0.0.18,TTL是255,协议号是112。
[0115]具体地,监听模块401具体用于:
[0116]监听本地VRRP报文;以及
[0117]当监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为主用状态;
[0118]当超过设定时间未监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为异常状态或者备用状态。
[0119]其中,VRRP网关的状态可以通过选举发生改变。例如,在抢占方式下,当备用状态的VRRP网关收到VRRP报文后,会将自己的优先级与VRRP报文中的优先级进行比较。如果自己的优先级大于VRRP报文中的优先级,则成为主用状态的网关;否则将保持备用状态。另外,主用状态的VRRP网关发送VRRP报文的时间间隔是可以设置的,如果备用状态的VRRP网关在等待了设定数量的时间间隔后,依然没有收到VRRP报文,则认为自己是主用状态的VRRP网关,并对外发送VRRP报文。
[0120]为了避免VRRP网关频繁进行主备状态转换,备用状态的VRRP网关接收到优先级低于本地优先级的VRRP报文后,不会立即抢占成为主用状态,而是等待一定时间(即抢占延迟时间)后,才会对外发送VRRP报文取代原来的主用状态的VRRP网关。
[0121]通常情况下,两个数据中心中的分别设有主用状态的VRRP网关,主用状态的VRRP网关会定期地发送VRRP报文,该报文会被与VRRP网关处于同一数据中心的PE抓获,当PE在检测周期内持续接收到该VRRP的报文,且VRRP报文携带的参数正常,包括VRRP网关的VLAN、VRRP ID、接口索引,则判断网关VRRP状态为主用状态,假设在检测周期内均接收不到VRRP报文,则其所在的数据中心中的VRRP网关的状态是备用状态或者故障状态。
[0122]在一个实施方式中,当获取所述第二 PE发送的所述第二 VRRP网关的MAC路由时,处理模块402具体用于:
[0123]将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE ;以及接收所述第二 PE发送的第二 VRRP网关的MAC路由。
[0124]通过将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE,使得所述第二 PE可以知道当前所述第一 VRRP网关处于异常状态或者备用状态,当所述第二PE知道所述第一 VRRP网关的状态后,将所述第二 VRRP网关的MAC路由发送到所述第一 PE上,使得所述第一 PE可以采用所述第二 VRRP网关的MAC路由转发流量,实现流量从所述第一VRRP网关快速切换至所述第二 VRRP网关,保证流量不中断。
[0125]进一步地,将所述第一 VRRP网关的VLAN、VRRP标识ID和VRRP状态发送给所述第二PE时,处理模块402具体用于:
[0126]将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态添加到BGP报文的扩展字段中;以及
[0127]将添加了所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态的BGP报文发送给第二 PE。
[0128]EVN在控制面通过BGP协议来建立邻居关系和发布通告,即所述PE与所述第二 PE之间建立BGP邻居,当所述PE监听到所述第一 VRRP网关的状态变为备用状态或者故障状态时,所述PE需要把这个信息通告给所述第二 PE,这个通告过程我们通过在BGP报文的扩展字段中新增TLV的方式来实现,作为BGP的可选过渡属性。同时可在所述第二 PE中配置监听功能,只有配置监听功能的设
备才会处理BGP的可选过渡属性。如果所述第二 PE配置了反射器,允许所述第二 PE对BGP的可选过渡属性进行通告,但只有配置了监听功能的其他PE接收到该通告才会处理可选过渡属性。反射器指的是网络中各个数据中心的PE之间并不是两两相互配置邻居关系,而是指定其中一台PE作为反射器,其他PE均于该PE建立邻居关系,该PE负责从其中一台PE接收MAC路由,然后再把MAC路由发布给其他PE。在BGP的可选过渡属性中,增加TLV的方式来通告第一 VRRP网关的主备用状态,该TLV包括:type、length和value。其中type可以自定义,占用一个字节;length占用一个字节;value字段中携带VRRP ID、第一 VRRP网关的VLAN ID、VRRP status字段,占用8个字节。VRRPstatus用于标识VRRP网关的主备用状态。
[0129]EVN中依赖BGP协议在相邻数据中心的PE间建立邻居关系,如所述第一 PE与所述第二 PE间,在建立了邻居关系后,所述第一 PE不仅能够得到所述第一 VRRP网关的MAC路由,并且可以接收所述第二 PE发布过来的所述第二 VRRP网关的MAC路由。
[0130]进一步地,监听模块401,还用于监听所述第二 VRRP网关的状态;
[0131]该PE还包括:发送模块403,用于当所述第二 VRRP网关的状态为异常状态或者备用状态时,将所述第一 VRRP网关的MAC路由发送给所述第二 PE。
[0132]通过将所述第一 VRRP网关的MAC路由发送给所述第二 PE,可以保证在所述第二VRRP网关处于异常状态或者备用状态时,所述第二 PE可以采用所述第一 VRRP网关的MAC路由进行流量转发,实现流量从所述第二 VRRP网关快速切换至所述第一 VRRP网关,保证流量不中断。
[0133]发送前,所述PE通过所述第一 VRRP网关的VLAN字段、VRRP ID字段,查询是否有所述第一 VRRP网关的MAC路由,若查询到对应的MAC路由,则发送给所述第二 PE ;若没有查询到,则不作处理。
[0134]在一个实施方式中,发送模块403具体用于:
[0135]将所述第一 VRRP网关的MAC路由添加到BGP报文的扩展字段中;以及
[0136]将添加了所述第一 VRRP网关的MAC路由的BGP报文发送给所述第二 PE。
[0137]具体方式可以与前述“将第一 VRRP网关的VLAN、VRRP ID和VRRP状态发送给所述第二 PE”的形式相同,这里不再赘述。
[0138]本发明实施例通过PE监听第一 VRRP网关的状态,当第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的MAC路由,使用第二 VRRP网关的MAC路由转发流量,既避免了现有技术中依赖MAC老化机制造成的流量从第一 VRRP网关切换至第二 VRRP网关的速度慢,导致的业务中断的问题,又节省了人工切换的人力资源。
[0139]实施例五
[0140]本发明实施例提供了一种服务商边缘节点PE,参见图7,该PE包括处理器601、存储器602、总线603和通信接口 604。其中,存储器602用于存储程序代码,处理器601、存储器602、通信接口 604通过总线603连接,当所述PE运行时,处理器601执行存储器602存储的所述程序代码,以使所述PE执行实施例一或实施例二中的以太虚拟网络网关切换方法。
[0141]本发明实施例通过PE监听第一 VRRP网关的状态,当第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的MAC路由,使用第二 VRRP网关的MAC路由转发流量,既避免了现有技术中依赖MAC老化机制造成的流量从第一 VRRP网关切换至第二 VRRP网关的速度慢,导致的业务中断的问题,又节省了人工切换的人力资源。
[0142]需要说明的是:上述实施例提供的服务商边缘节点设备在切换网关时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务商边缘节点设备与以太虚拟网络网关切换方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0143]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0144]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0145]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种以太虚拟网络网关切换方法,其特征在于,所述方法包括: 第一服务商边缘节点设备PE监听第一虚拟路由冗余协议VRRP网关的状态,所述第一VRRP网关与所述第一 PE处于第一数据中心中; 当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述第一 PE上所述第一VRRP网关的媒体访问控制MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过互联网协议IP隧道连接。2.根据权利要求1所述的方法,其特征在于,所述第一PE监听第一 VRRP网关的状态,包括: 监听本地VRRP报文; 当监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为主用状态; 当超过设定时间未监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为异常状态或者备用状态。3.根据权利要求1或2所述的方法,其特征在于,所述获取第二PE发送的第二 VRRP网关的MAC路由,包括: 将所述第一 VRRP网关的虚拟局域网VLAN、VRRP标识ID和VRRP状态发送给所述第二PE ; 接收所述第二 PE发送的所述第二 VRRP网关的MAC路由。4.根据权利要求3所述的方法,其特征在于,所述将所述第一VRRP网关的VLAN、VRRPID和VRRP状态发送给所述第二 PE,包括: 将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态添加到边界网关协议BGP报文的扩展字段中; 将添加了所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态的BGP报文发送给所述第二PE。5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括: 监听所述第二 VRRP网关的状态; 当所述第二 VRRP网关的状态为异常状态或者备用状态时,将所述第一 VRRP网关的MAC路由发送给所述第二 PE。6.根据权利要求5所述的方法,其特征在于,所述将所述第一VRRP网关的MAC路由发送给所述第二 PE,包括: 将所述第一 VRRP网关的MAC路由添加到BGP报文的扩展字段中; 将添加了所述第一 VRRP网关的MAC路由的BGP报文发送给所述第二 PE。7.一种服务商边缘节点设备PE,其特征在于,所述PE包括: 监听模块,用于监听第一虚拟路由冗余协议VRRP网关的状态,所述第一VRRP网关与所述PE处于第一数据中心中; 处理模块,用于当所述第一 VRRP网关的状态为异常状态或者备用状态时,清除所述PE上所述第一 VRRP网关的媒体访问控制MAC路由,获取第二 PE发送的第二 VRRP网关的MAC路由,并使用所述第二 VRRP网关的MAC路由转发流量;其中,所述第二 VRRP网关与所述第二 PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过互联网协议IP隧道连接。8.根据权利要求7所述的PE,其特征在于,所述监听模块具体用于: 监听本地VRRP报文;当监听到本地VRRP报文时,确定所述第一 VRRP网关的状态为主用状态;当超过设定时间未监听到本地VRRP报文时,确定所述第一VRRP网关的状态为异常状态或者备用状态。9.根据权利要求7或8所述的PE,其特征在于,当获取所述第二PE发送的所述第二VRRP网关的MAC路由时,所述处理模块具体用于: 将所述第一 VRRP网关的虚拟局域网VLAN、VRRP标识ID和VRRP状态发送给所述第二PE ;以及接收所述第二 PE发送的所述第二 VRRP网关的MAC路由。10.根据权利要求9所述的PE,其特征在于,将所述第一VRRP网关的VLAN、VRRP标识ID和VRRP状态发送给所述第二 PE时,所述处理模块具体用于: 将所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态添加到边界网关协议BGP报文的扩展字段中;以及 将添加了所述第一 VRRP网关的VLAN、VRRP ID和VRRP状态的BGP报文发送给所述第二PE。11.根据权利要求7或8所述的PE,其特征在于,所述监听模块,还用于监听所述第二VRRP网关的状态; 所述PE还包括:发送模块,用于当所述第二 VRRP网关的状态为异常状态或者备用状态时,将所述第一 VRRP网关的MAC路由发送给所述第二 PE。12.根据权利要求11所述的PE,其特征在于,所述发送模块具体用于: 将所述第一 VRRP网关的MAC路由添加到BGP报文的扩展字段中;以及 将添加了所述第一 VRRP网关的MAC路由的BGP报文发送给所述第二 PE。
【专利摘要】本发明公开了一种以太虚拟网络网关切换方法和服务商边缘节点设备,属于网络技术领域。所述方法包括:第一服务商边缘节点设备PE监听第一虚拟路由冗余协议VRRP网关的状态,所述第一VRRP网关与所述第一PE处于第一数据中心中;当所述第一VRRP网关的状态为异常状态或者备用状态时,清除所述第一PE上所述第一VRRP网关的媒体访问控制MAC路由,获取第二PE发送的第二VRRP网关的MAC路由,并使用所述第二VRRP网关的MAC路由转发流量,所述第二VRRP网关与所述第二PE处于第二数据中心中,所述第二数据中心是所述第一数据中心相邻的数据中心,所述第一数据中心与所述第二数据中心通过互联网协议IP隧道连接。
【IPC分类】H04L12/713
【公开号】CN105490937
【申请号】CN201410475331
【发明人】尚旭祥
【申请人】华为技术有限公司
【公开日】2016年4月13日
【申请日】2014年9月17日