一种报文转发方法及装置与流程

文档序号:14879345发布日期:2018-07-07 09:20阅读:158来源:国知局

本申请涉及计算机通信领域,尤其涉及一种报文转发方法及装置。



背景技术:

evpn(ethernetvirtualprivatenetwork,以太网虚拟专用网络)是一种二层vpn技术,控制平面采用mp-bgp通告evpn路由信息,数据平面采用vxlan封装方式转发报文。租户的物理站点分散在不同位置时,evpn可以基于已有的服务提供商或企业ip网络,为同一租户的相同子网提供二层互联;通过evpn网关为同一租户的不同子网提供三层互联,并为其提供与外部网络的三层互联。

evpn多归属是一种支持ce(customeredge,用户网络边缘设备)连接到多个pe(provideredge,运营商网络边缘设备)的技术,例如ce1多归属至pe1和pe2,表示ce1分别与pe1和pe2相连。

当pe1接收到ce1的非单播报文后,pe1可对该非单播报文进行vxlan封装,然后将封装后的非单播报文广播给其他pe,若与该pe1设备共同连接ce1的pe2设备接收到该vxlan封装后的非单播报文后,由于该报文为非单播报文,所以pe2可对与本地相连的ce进行广播,这就使得发送该非单播报文的ce1又接收到该非单播报文,造成环路。



技术实现要素:

有鉴于此,本申请提供一种报文转发方法及装置,用于实现避免在基于vxlan的evpn组网中的bum报文转发的环路。

具体地,本申请是通过如下技术方案实现的:

根据本申请的第一方面,提供一种报文转发方法,所述方法应用于运营商网络边缘pe,包括:

接收从第一pe发送的第一可扩展虚拟局域网vxlan报文;

判断所述第一vxlan报文是否携带第一用户网络边缘设备ce标识,所述第一ce标识用于标识所述第一vxlan报文中封装的第一非单播报文的转发ce,所述转发ce多归属到所述第一pe和本pe;

当判定所述第一vxlan报文携带所述第一ce标识时,向第一广播域中第一指定ce转发所述第一非单播报文,且不向所述第一广播域中的pe转发所述第一非单播报文;

其中,所述第一广播域为所述第一vxlan报文携带的vxlan标识对应的广播域;所述第一指定ce包括仅与本pe相连的ce、以本pe为df的ce,且不包括所述转发ce。

根据本申请的第二方面,提供一种报文转发装置,所述装置应用于运营商网络边缘pe,包括:

第一接收单元,用于接收从第一pe发送的第一可扩展虚拟局域网vxlan报文;

判断单元,用于判断所述第一vxlan报文是否携带第一用户网络边缘设备ce标识,所述第一ce标识用于标识所述第一vxlan报文中封装的第一非单播报文的转发ce,所述转发ce多归属到所述第一pe和本pe;

第一转发单元,用于当判定所述第一vxlan报文携带所述第一ce标识时,向第一广播域中第一指定ce转发所述第一非单播报文,且不向所述第一广播域中的pe转发所述第一非单播报文;

其中,所述第一广播域为所述第一vxlan报文携带的vxlan标识对应的广播域;所述第一指定ce包括仅与本pe相连的ce、以本pe为df的ce,且不包括所述转发ce。

本申请提出一种报文转发方法,由于为每个具有多归属属性的ce的分配唯一对应的ce标识,当pe在接收到vxlan报文后,可以判断vxlan报文里是否携带的ce标识。该ce标识指示的ce转发了该vxlan报文中封装的非单播报文,且多归属连接到发送该vxlan报文的pe和本pe。若携带了ce标识,则禁止将该vxlan报文解封装后的bum报文转发给该ce标识对应的ce,所以避免了环路问题。

附图说明

图1是本申请一示例性实施例示出的一种基于vxlan的evpn组网示意图;

图2是本申请一示例性实施例示出的一种报文转发方法的流程图;

图3是本申请一示例性实施例示出的一种报文转发方法的示意图;

图4是本申请一示例性实施例示出的一种报文转发装置所在设备的硬件结构图;

图5是本申请一示例性实施例示出的一种报文转发装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,图1是本申请一示例性实施例示出的一种基于vxlan的evpn组网示意图。

在该基于vxlan的evpn组网中,pe之间通过vxlan隧道连接,ce与pe之间通过es链路连接。

例如pe11、pe12、pe13和pe14之间两两互相通过vxlan隧道连接。

ce11通过es链路多归属连接到pe11和pe12;ce12通过es链路多归属连接到pe11、pe12和pe13。ce13通过es链路仅与pe14相连。

为了对不同的ce进行区分,当ce接入pe的接入接口是二层接口时,可为ce配置唯一的es标识和vlan标识,该es标识和vlan标识可以唯一标识一个ce,该配置的es标识和vlan标识为该ce的接入接口所属的es标识和vlan标识。

假设ce11多归属连接到pe11和pe12的接入接口均为二层接口,则在pe11和pe12上可为ce11配置es标识11和vlan11。

当ce接入pe的接入接口是三层接口时,可为ce配置唯一的es标识,该es标识可以唯一标识一个ce,该配置的es标识为ce的接入接口所属的es标识。

例如,ce11多归属连接到pe11和pe12的接入接口为三层接口,则在pe11和pe12上可为ce11配置es标识11。

通常pe可通过基于bgp协议的evpn路由通告消息向其他pe通告本设备所连接的ce,例如,该evpn路由通告消息中可携带pe所连接的ce的es标识或es标识和vlan标识。其他pe在接收到evpn路由通告消息后,通过evpn路由通告消息获取到对端pe所连接的ce的es标识或es标识和vlan标识。

因此,每个pe上都可维护一个es标识和对端pe列表的对应关系、或者维护es标识+vlan标识和对端pe列表的对应关系。

以维护es标识和对端pe列表为例,在pe11上es标识11对应的es对端pe列表中记录了pe12。

pe12上es标识11对应的es对端pe列表中记录了pe11。

以维护es标识+vlan标识和对端pe列表为例,在pe11上的es标识11+vlan11对应的对端pe类表中记录了pe12。

pe12上es标识11+vlan11对应的es对端pe列表中记录了pe11。

此外,为了防止ce多归属连接的多个pe都向该ce发送相同的报文,通常要在该ce多归属连接的多个pe中选取出df(designatedforwarder,指定转发者)。由df来向ce转发报文。

假设,pe13是ce12所连接的多个pe(如pe11、pe12和pe13)中的df,pe11和pe12为bdf。pe12是ce11所连接的多个pe(如pe11和pe12)中的df,pe11是bdf(backupdesignatedforwarder,备用指定转发者)。

在相关bum报文转发方式中,当pe11接收到ce11发送的bum报文后,pe11可将该bum报文转发至仅与pe11相连的ce,以及不论pe11是否为df,都将该bum报文转发给与pe11相连的除ce11以外的其他ce。例如,pe11是ce12相连的多个pe中的bdf,pe11仍将该bum报文转发给ce12。此外,pe11还需要将该bum报文进行vxlan封装,形成vxlan报文,然后将该vxlan报文转发至其他pe,例如,将该封装有bum报文的vxlan报文转发至pe12、pe13和pe14。

其他pe在接收到pe11发送的vxlan报文后,可检查本pe与pe11设备是否共同连接有ce,如果本设备与pe11共同连接有ce,则禁止向该共同连接的ce转发该vxlan报文解封装后的bum报文,以及将该vxlan报文解封装后的bum报文转发至与仅与本设备相连的ce,以及以本pe为df的ce。

例如,pe12在接收到pe11发送的vxlan报文后,pe12可在pe12维护的所有对端pe列表中确定出pe11和pe12所共同连接的ce,例如,pe12确定出的ce为ce11和ce12。在对该vxlan报文解封装得到bum报文后,pe12禁止向该ce11和ce12转发该bum报文,以及pe12将该bum报文转发至仅与pe12相连的ce(图1中未示出),以及以pe12为df的ce(图1中未示出)。

然而,在上述bum报文转发机制中,由于ce是由pe通过vxlan报文的源pe、以及本pe上维护的对端pe列表所间接确定的,所以当pe接收到vxlan报文后,pe只能确定出发送该vxlan报文的pe和本pe所共同连接的ce,而无法确定出转发该vxlan报文中的以太网报文的ce。

例如,当pe12接收到该vxlan报文后,pe12确定该vxlan报文的源设备(假设为pe11)与本设备共同连接着ce12和ce11,而无法确定出转发该vxlan报文中以太网报文的ce(即ce11),使得pe12不将该bum报文转发至ce11和ce12,这就造成从ce11发送的bum报文没有转发至ce12,因此,为了实现将ce11发出的bum报文转发至除ce11之外的其他ce,pe11在接收到ce11最初发送的bum报文后,即使pe11为ce12的bdf时,pe11仍需要向ce12转发bum报文,这就与协议中由df向ce转发报文,bdf不向ce转发报文相违背。从而使得当vxlanevpn组网与mplsevpn组网融合时,bum报文的转发方式不一致。

有鉴于此,本申请提出一种报文转发方法,一方面,为每个具有多归属属性的ce的分配唯一对应的ce标识,当pe在接收到vxlan报文后,可以判断vxlan报文里是否携带的ce标识。该ce标识指示的ce转发了该vxlan报文中封装的非单播报文,且多归属连接到发送该vxlan报文的pe和本pe。若携带了ce标识,则禁止将该vxlan报文解封装后的bum报文转发给该ce标识对应的ce,所以避免了环路问题。

另一方面,在本申请中,pe在接收到ce发送的bum报文后,在向本地连接的ce转发bum报文的过程中,只需要向以本设备为df的ce转发该bum报文,而不需要向以本设备为bdf的ce转发该bum报文,这与协议相一致,使得当mplsevpn组网和vxlanevpn进行融合时,bum报文的转发机制相一致。

参见图2,图2是本申请一示例性实施例示出的一种报文转发方法的流程图。该报文转发方法可应用于pe,可包括步骤201至步骤203。

在介绍本申请的报文转发方法之前,先对本申请所提到的一些名词进行解释。

上述非单播报文,可以包括广播报文,未知单播报文或者组播报文,这三种类型的报文可以统称为bum((broadcast,unknownunicast,ormulticasttraffic,广播、未知单播或者组播))报文,下文为了方便叙述,将非单播报文称为bum报文。

上述ce标识,用于标识ce。

通常,为了对不同的ce进行区分,当ce接入pe的接入接口是二层接口时,可为ce配置唯一的es标识和vlan标识,该es标识和vlan标识可以唯一标识一个ce。当ce接入pe的接入接口是三层接口时,可为ce配置唯一的es标识,该es标识可以唯一标识一个ce。

1)在本申请提供的实施例1中,本申请的ce标识可以是vxlan标识。该vxlan标识并不是vsi的vxlan标识。而是由ce接入pe的接入接口所属的es标识或者es标识+vlan标识所映射出的vxlan标识。换句话来说,本申请为ce接入pe的接入接口所属的es标识或者es标识+vlan标识分配了唯一对应的vxlan标识,这里为了方便叙述,将该vxlan标识简称为es的vxlan标识。

2)在本申请提供的实施例2中,本申请的ce标识可以是ce接入pe的接入接口所属的es标识或者es标识+vlan标识。

下面介绍两个实施例来介绍下述步骤201至步骤203,步骤211至步骤213所提供的报文转发方法。

实施例1:在实施例1中,存在两种vxlan标识。

第一种vxlan标识,是用于标识vxlan网段,第一种vxlan标识与vsi唯一对应,这里为了方便叙述,简称为vsi的vxlan标识。

第二种vxlan标识,是为了标识具有多归属属性的ce的vxlan标识。在本申请中,为了支持vxlan报文的格式,为具有多归属属性的ce的es标识或es标识+vxlan标识分配了唯一对应的vxlan标识,即第二种vxlan标识。第二种vxlan标识与es标识或es标识和vxlan标识一一对应。当然,该vxlan标识也可以用具有多归属属性的ce的es标识所代替。这里为了方便叙述,将第二种vxlan标识简称为es的vxlan标识。

需要说明的是,在本例中,该es的vxlan标识也是ce标识。当vxlan报文里携带了ce标识时,该ce标识为vxlan报文中携带的vxlan标识,也是es的vxlan标识。

在本例中,pe上记录了多归属连接到本pe的ce的es标识或es标识和vlan标识与vxlan标识的对应关系。

例如,假设ce1多归属连接到pe的接入接口为三层接口时,且为ce1设备分配的es标识为es1,并且为该es1分配了vxlan1001,则该pe上记录了es1-vxlan1001的对应关系。

假设ce2多归属连接到pe的接入接口为二层接口时,且为ce2的es标识和vlan标识分别为es2和vlan2,并且为该es2和vlan2分配了vxlan1002,则该pe上记录了es2、vlan2-vxlan1001的对应关系。

pe上还记录了vsi与vxlan的对应关系。

例如,假设接收的以太网报文的入接口为三层接口时,可以通过接口与vsi的对应关系确定该以太网报文的入接口对应的vsi为vsi1,且该vsi1与vxlan1对应,则pe上记录了vsi1-vxlan1的对应关系。

例如,假设接收的以太网报文的入接口为二层接口时,可以通过接口+vlan标识与vsi的对应关系,确定该以太网报文的入接口和携带的vlan标识所共同对应的vsi为vsi2,且该vsi2与vxlan2对应,则pe上记录了vsi2-vxlan2的对应关系

此外pe上还记录了es的vxlan标识和vsi的vxlan标识的对应关系。例如,pe上记录了vxlan1001(es1的vxlan标识)与vxlan1(vsi1的vxlan标识)的对应关系,如vxlan1001-vxlan1。

此外,在本申请实施例中,pe可向对端pe发送evpn路由通告消息,用于向对端通告多归属于本pe的ce的es标识或es标识+vlan标识,同时pe还会接收到对端pe发送用于通告多归属于对端pe的ce的es标识或es标识+vlan标识。这里所述的多归属于本pe的ce是指,该具有多归属属性的ce不仅多归属连接到本pe,还多归属连接到其他pe。ce和pe做了多归属配置,通过将ce多归属连接到多个pe,实现流量的负载分担和链路备份等功能。如图1所示,当pe11为本设备时,多归属于与本pe的ce可包括ce11和ce12。

通过该机制,pe上记录有es标识或es标识+vlan标识与对端pe列表的对应关系。其中,该对应关系中的es标识或es标识+vlan标识为多归属连接到本pe的ce入接口所属的es标识或es标识+vlan标识,该对应关系中的对端pe列表记录了多归属于本pe的ce所归属的其他pe。

例如,如图1所示,假设,ce12多归属连接到pe11、pe12和pe13的入接口都是三层接口。ce12的es标识为es12。则pe11上记录的es标识与对端pe列表的对应关系如表2所示。

表1

再例如,假设ce12多归属连接到pe11、pe12和pe13的入接口都是二层接口。ce12的es标识为es12,vlan标识为vlan12。则pe11上记录的es标识与对端pe列表的对应关系如表2所示。

表2

下面从本pe接收到其他pe的vxlan报文、以及本pe接收到ce发送的bum报文两方面,来详细介绍本申请提出的bum报文转发机制。

1、对于从其他pe接收到的vxlan报文的转发,可通过步骤201至步骤203实现。

步骤201:接收从第一pe发送的第一vxlan报文。

pe可从vxlan隧道口接收到来自于其他pe(这里记为第一pe)的vxlan报文(这里记为第一vxlan报文)。

步骤202:判断所述第一vxlan报文是否携带第一ce标识,所述第一ce标识用于标识所述第一vxlan报文中封装的第一非单播报文的转发ce,所述转发ce多归属到所述第一pe和本pe。

pe可判断该第一vxlan报文是否携带第一ce标识。该第一ce标识用以标识该第一vxlan报文中封装的第一bum报文的转发ce。该第一ce标识可以是转发ce接入第一pe的入接口所属的es标识或es标识+vlan标识所共同对应的vxlan标识,即es的vxlan标识。当第一vxlan报文携带了第一ce标识,第一vxlan报文中的vxlan标识就是ce标识。

具体地判断过程如下:pe在预设的es标识或es标识+vlan标识与vxlan标识的对应关系中,以该第一vxlan报文的vxlan标识为关键字,查找是否存在与该关键字对应的es标识或es标识+vlan标识。如果存在对应的es标识或es标识+vlan标识,pe可确定所述第一vxlan报文携带第一ce标识。

步骤203:当判定所述第一vxlan报文携带所述第一ce标识时,向第一广播域中第一指定ce转发所述第一非单播报文,且不向所述第一广播域中的pe转发所述第一非单播报文。其中,所述第一广播域为所述第一vxlan报文携带的vxlan标识对应的广播域;所述第一指定ce包括仅与本pe相连的ce、以本pe为df的ce,且不包括所述转发ce。

pe可确定该第一vxlan报文的vxlan标识对应的第一广播域。

在实现时,pe可在预设的es的vxlan标识(即当第一vxlan报文里携带了ce标识时,该es的vxlan标识为第一vxlan报文里携带的vxlan标识)、以及vsi的vxlan标识二者对应关系中,以该第一vxlan报文中的vxlan标识作为关键字,查找与该关键字对应的vsi的vxlan标识。

然后,pe可将该第一vxlan报文中的vxlan标识修改为查找到的vsi的vxlan标识。该vxlan标识对应的vxlan就是第一广播域。

需要说明的是,同一个vxlan网段属于同一广播域,而vsi与vxlan网段唯一对应,所以vsi也唯一对应一个广播域。此外,同一vxlan网段中的设备,包括pe和ce等设备,可互相通告路由,使得pe上可记录该广播域中的设备,如pe和ce等设备。

然后,pe可对该第一vxlan报文解封装,当确定解封装后得到的以太网报文为bum报文(这里记为第一bum报文)且本地存在es标识或es标识+vlan标识后,pe可对该第一bum报文进行如下转发:

1)pe禁止将该第一bum报文转发至上述查找到的es标识或es标识+vlan标识指示的ce。

pe上常用的水平分割机制为源端口排除机制。对于该源端口排除机制,简单来说,pe在接收到报文后,可记录该报文的入接口,当对该报文进行广播时,可排除记录的入接口进行广播。

因此,在一种可选的实现方式中,pe在接收到上述第一vxlan报文后,通常也会记录该第一vxlan报文的入接口。此时,pe可将记录的接收该第一vxlan报文的入接口修改为pe上该es标识或es标识+vlan标识对应接口,以此通过常用的源端口排除机制,来禁止将该bum报文转发至该es标识对应接口接入的ce。

当然,pe还可采用其他方式来禁止将该bum报文转发至该es标识或es标识+vlan标识指示的ce,这里只是示例性地说明,不对其进行具体地限定。

2)pe可向第一广播域中的仅与本pe相连的ce转发该第一bum报文。

3)pe可向第一广播域中的以本pe为df的ce发送第一bum报文。

例如,如图1所示,假设pe11对该第一bum报文进行转发,且ce12在第一广播域中,如果pe11是ce12的df,则pe11可将该第一bum报文转发至ce12。

4)pe禁止将该第一bum报文转发给第一广播域中的pe。

在实现时,pe可为该第一bum报文添加禁止向远端pe转发标记。此外,也可通过vxlan隧道的水平分割机制来实现禁止将该第一bum报文转发给第一广播域中的pe。

在本申请实施例中,如果不存在对应的es标识或es标识+vlan标识,pe可确定该第一vxlan报文携带的vxlan标识对应的vxlan网段为待广播的广播域(这里记为第三广播域)。

然后,pe可对该第一vxlan报文解封装,在确定解封装后得到的以太网报文为bum报文(这里记为第三bum报文)时,pe可对该第三bum报文进行如下转发:

1)pe可向第三广播域中的仅与本pe相连的ce转发该第三bum报文。

2)pe可向第三广播域中的以本pe为df的ce发送该第三bum报文。

3)pe禁止将该第三bum报文转发给第三广播域中的其他pe。

2、对于从ce接收到的bum报文的转发,可通过步骤211至步骤214实现。

步骤211:接收从第二ce发送的第二bum报文。

当pe从第二ce接收到bum报文(这里记为第二bum报文)时,pe可确定该第二bum报文所属的vsi,然后确定该vsi对应的广播域。

在确定时,当第二bum报文的入接口为三层接口时,pe可根据预配置的接口与vsi的对应关系,确定接收该第二bum报文的入接口对应的vsi,作为该第二bum报文所属的vsi。

当第二bum报文的入接口为二层接口时,pe可根据预配置的接口+vlan标识与vsi的对应关系,确定第二bum报文的入接口和该第二bum报文携带的vlan标识共同对应的vsi,作为该第二bum报文所属的vsi。

然后在预设的vsi与vxlan标识的对应关系中,确定出第二bum报文所属的vsi对应的vxlan标识,该vxlan标识所标识的vxlan网段就是该第二bum报文所属的vsi对应的广播域。(这里记为第二广播域)。

步骤212:向第二广播域中的第二指定ce转发所述第二bum报文;所述第二指定ce包括仅与本pe相连的ce、以本pe为df的ce。

1)pe可将该第二bum报文转发至第二广播域中的仅与本设备相连的ce。

2)pe可将该第二bum报文转发至第二广播域中的以本pe为df的ce。例如,假设pe11从ce11接收到该第二bum报文进行转发,ce12在第二广播域中,如果pe11是ce12对应的多个pe中的df,则pe11将该第二bum报文转发至ce12。

步骤213:将所述第二bum报文封装为第二vxlan报文,将该第二ce的第二ce标识携带至所述第二vxlan报文,并将携带了第二ce标识的第二vxlan报文发送至所述第二广播域中所述第二ce所归属的其他pe。

pe可将所述第二bum报文封装为第二vxlan报文。此时,第二vxlan报文中的vxlan标识为第二bum报文所属vsi对应的vxlan标识。

然后,当第二bum报文的入接口为三层接口时,pe可根据es标识和vxlan标识(es的vxlan标识)的对应关系,确定该第二bum报文入接口关联的es标识所对应的vxlan标识,然后将该第二vxlan报文的vxlan标识修改为确定出的该vxlan标识。

当第二bum报文的入接口为二层接口时,pe可根据es标识+vlan标识和vxlan标识(es的vxlan标识)的对应关系,确定该第二bum报文入接口关联的es标识+第二bum报文携带的vlan标识所对应的vxlan标识,然后将该第二vxlan报文的vxlan标识修改为确定出的该vxlan标识。

然后,pe可确定第二广播域中所述第一ce所归属的其他pe和第二广播域中所述第一ce所归属的其他pe。

具体地,当该第二bum报文的入接口为三层接口时,pe可在上述本地记录的es标识与对端pe列表的对应关系中,查找与该查找到的es标识对应的对端pe列表。

当该第二bum报文的入接口为二层接口时,pe可在上述本地记录的es标识+vlan标识与对端pe列表的对应关系中,查找与该查找到的es标识+vlan标识对应的对端pe列表。

pe可将查找到的对端pe列表和第二广播域中共同存在的pe,作为所述第二广播域中所述第一ce所归属的其他pe。

此外,pe可将查找到的不在对端pe列表中,但在第二广播域中的pe,作为所述第二广播域中除所述第一ce所归属的pe之外的其他pe。

然后pe可将vxlan标识修改后的第二vxlan报文发送给该第二广播域中所述第一ce所归属的其他pe。

步骤214:将所述第二bum报文封装为第三vxlan报文,并将所述第三vxlan报文转发至所述第二广播域中除所述第二ce所归属的pe之外的其他pe;所述第三vxlan报文未携带第二ce标识。

在本例中,该第三vxlan报文里未携带第二ce的es标识或es标识+vlan标识所映射的vxlan标识。

实施例2:

1、对于从其他pe接收到的vxlan报文的转发,可通过步骤201至步骤203实现。

步骤201:接收从第一pe发送的第一vxlan报文。

在本例中,第一ce标识可以是第一ce接入第一pe的接入接口所属的es标识或者es标识+vlan标识。

步骤202:判断所述第一vxlan报文是否携带第一ce标识,所述第一ce标识用于标识所述第一vxlan报文中封装的第一非单播报文的转发ce,所述转发ce多归属到所述第一pe和本pe。

在本例中,本pe可判断第一vxlan报文的指定位置是否携带了es标识或es标识+vlan标识。如果携带了es标识或es标识+vlan标识,pe可确定第一vxlan报文中携带了第一ce标识,如果没有携带es标识或es标识+vlan标识,pe可确定第一vxlan报文中没有携带第一ce标识。

步骤203:当判定所述第一vxlan报文携带所述第一ce标识时,向第一广播域中第一指定ce转发所述第一非单播报文,且不向所述第一广播域中的pe转发所述第一非单播报文。其中,所述第一广播域为所述第一vxlan报文携带的vxlan标识对应的广播域;所述第一指定ce包括仅与本pe相连的ce、以本pe为df的ce,且不包括所述转发ce。

在本例中,pe可确定第一广播域。

确定第一广播域的方法如下:

pe可确定该第一vxlan报文里携带的vxlan标识对应的vxlan网段为第一广播域。

pe可对该第一vxlan报文解封装,当确定解封装后得到的以太网报文为bum报文(这里记为第一bum报文)且第一vxlan报文里携带了es标识或es标识+vlan标识后,pe可对该第一bum报文进行如下转发:

1)pe禁止将该第一bum报文转发至上述第一vxlan报文携带的es标识或es标识+vlan标识指示的ce。

2)pe可向第一广播域中的仅与本pe相连的ce转发该第一bum报文。

3)pe可向第一广播域中的以本pe为df的ce发送第一bum报文。

4)pe禁止将该第一bum报文转发给第一广播域中的pe。

在本例中,如果第一vxlan报文里未携带es标识或es标识+vlan标识,pe可对第一vxlan报文进行如下处理。

pe可确定对第一vxlan报文解封装后的bum报文广播的广播域(这里记为第三广播域)。

具体地,pe可确定该第一vxlan报文携带的vxlan标识对应的vxlan网段为第三广播域。

然后,pe可对该第一vxlan报文解封装,在确定解封装后得到的以太网报文为bum报文(这里记为第三bum报文)时,pe可对该第三bum报文进行如下转发:

1)pe可向第三广播域中的仅与本pe相连的ce转发该第三bum报文。

2)pe可向第三广播域中的以本pe为df的ce发送该第三bum报文。

3)pe禁止将该第三bum报文转发给第三广播域中的pe。

2、对于从ce接收到的bum报文的转发,可通过步骤211至步骤214实现。

步骤211:接收从第二ce发送的第二bum报文。

当pe从第二ce接收到bum报文(这里记为第二bum报文)时,pe可确定该第二bum报文所属的vsi,然后确定该vsi对应的广播域。

在确定时,当第二bum报文的入接口为三层接口时,pe可根据预配置的接口与vsi的对应关系,确定接收该第二bum报文的入接口对应的vsi,作为该第二bum报文所属的vsi。

当第二bum报文的入接口为二层接口时,pe可根据预配置的接口+vlan标识与vsi的对应关系,确定第二bum报文的入接口和该第二bum报文携带的vlan标识共同对应的vsi,作为该第二bum报文所属的vsi。

然后在预设的vsi与vxlan标识的对应关系中,确定出第二bum报文所属的vsi对应的vxlan标识,该vxlan标识所标识的vxlan网段就是该第二bum报文所属的vsi对应的广播域。(这里记为第二广播域)。

步骤212:向第二广播域中的第二指定ce转发所述第二bum报文;所述第二指定ce包括仅与本pe相连的ce、以本pe为df的ce。

1)pe可将该第二bum报文转发至第二广播域中的仅与本设备相连的ce。

2)pe可将该第二bum报文转发至第二广播域中的以本pe为df的ce。

步骤213:将所述第二bum报文封装为第二vxlan报文,将该第二ce的第二ce标识携带至所述第二vxlan报文,并将携带了第二ce标识的第二vxlan报文发送至所述第二广播域中所述第二ce所归属的其他pe。

在本例中,pe可在vxlan报文里定义一个指定字段,将该指定字段的取值设置为该第二ce接入本pe的接入接口所属es标识和es标识+vlan标识。

具体地,pe可将所述第二bum报文封装为第二vxlan报文。此时,第二vxlan报文中的vxlan标识为第二bum报文所属vsi对应的vxlan标识。

当第二bum报文的入接口为三层接口时,pe可在第二vxlan报文指定位置添加该第二bum报文入接口关联的es标识。

当第二bum报文的入接口为二层接口时,pe可在第二vxlan报文的指定位置添加该第二bum报文入接口关联的es标识和第二bum报文携带的vlan标识。

其中,该指定位置为该预设的指定字段对应的位置。

然后,pe可确定第二广播域中所述第一ce所归属的其他pe和第二广播域中所述第一ce所归属的其他pe。

具体地,当该第二bum报文的入接口为三层接口时,pe可在上述本地记录的es标识与对端pe列表的对应关系中,查找与该查找到的es标识对应的对端pe列表。

当该第二bum报文的入接口为二层接口时,pe可在上述本地记录的es标识+vlan标识与对端pe列表的对应关系中,查找与该查找到的es标识+vlan标识对应的对端pe列表。

pe可将查找到的对端pe列表和第二广播域中共同存在的pe,作为所述第二广播域中所述第一ce所归属的其他pe。

此外,pe可将查找到的不在对端pe列表中,但在第二广播域中的pe,作为所述第二广播域中除所述第一ce所归属的pe之外的其他pe。

然后pe可将vxlan标识修改后的第二vxlan报文发送给该第二广播域中所述第一ce所归属的其他pe。

步骤214:将所述第二bum报文封装为第三vxlan报文,并将所述第三vxlan报文转发至所述第二广播域中除所述第二ce所归属的pe之外的其他pe;所述第三vxlan报文未携带第二ce标识。

在本例中,该第三vxlan报文里未携带第二ce的es标识或es标识+vlan标识。

在本申请中,优选实施例为实施例1。原因如下:

1)通常ce接入pe的接入接口所属es标识或es标识+vlan标识(这里简称ce的es标识或es标识+vlan标识)的字节数很长,直接将该ce的es标识或es标识+vlan标识携带在第二vxlan报文中,会占用第二vxlan报头的很多字节。

2)直接将该ce的es标识或es标识+vlan标识携带在vxlan报文,需要在第二vxlan报文的报头中定义指定字段来使得pe可识别出ce的es标识或es标识+vlan标识等,操作较为复杂。

而实施例1,并没有直接将ce的es标识或es标识+vlan标识携带在vxlan报文中,而是为ce的es标识或es标识+vlan标识分配了唯一对应的es的vxlan标识。pe可将第二vxlan报文中的vxlan标识修改为es的vxlan标识。一方面,不会额外占用第二vxlan报文的报头的其他字节,另一方面,还不用定义指定字段,操作较为简单。

所以,实施例1为优先实施例。

下面结合图3,通过具体地例子,对本申请实施例1所提供的报文转发方法进行详细地说明。

在该基于vxlan的evpn组网中,pe之间通过vxlan隧道连接,ce与pe之间通过es链路连接。

例如pe31、pe32、pe33、pe34和pe35之间两两互相通过vxlan隧道连接。

ce31通过es链路多归属连接到pe31和pe32;ce32通过es链路多归属连接到pe31、pe32和pe33。ce33通过es链路多归属连接到pe31和pe34,ce34通过es链路仅与pe31相连,ce35通过es链路仅与pe35相连。

为了对不同的ce进行区分,当ce接入pe的接入接口是二层接口时,可为ce配置唯一的es标识和vlan标识,该es标识和vlan标识可以唯一标识一个ce。该配置的es标识和vlan标识为该ce的接入接口所属的es标识和vlan标识。

例如,ce31多归属到pe31和pe32且接入到pe31和pe32的接入接口为二层接口时,则可根据ce31接入接口所属es和vlan,在pe31和pe32上为ce31配置es31+vlan31。以es31+vlan31唯一标识ce31。

当ce接入pe的接入接口是三层接口时,可为ce配置唯一的es标识,该es标识可以唯一标识一个ce,该配置的es标识为ce的接入接口所属的es标识。

例如,ce31多归属到pe31和pe32且接入到pe31和pe32的接入接口为三层接口时,可根据ce31接入接口所属的es,在pe31和pe32上为ce31配置es31,以es31唯一标识ce31。

通常pe可通过基于bgp协议的evpn路由通告消息向其他pe通告本pe与ce之间的es链路是否可达。在该evpn路由通告消息中可携带本pe的es链路连接的ce的es标识或es标识+vlan标识。其他pe在接收到evpn路由通告消息后,通过evpn路由通告消息获取到对端pe所连接的ce的es标识或es标识+vlan标识。

因此,每个pe上都可维护一个es标识对端pe列表的对应关系,或es标识+vlan标识和对端pe列表的对应关系,其中,该对应关系中的es标识为多归属于本pe的ce的es标识或es标识+vlan标识,该对应关系中的对端pe列表记录了多归属于本pe的ce所归属的其他pe。

例如,当ce31多归属接入到pe31和pe32的接入接口为三层接口时,pe31上es31对应的对端pe列表中记录了pe32。

当ce31多归属接入到pe31和pe32的接入接口为二层接口时,pe31上es31+vlan31对应的对端pe列表中记录了pe32。

此外,为了防止ce多归属连接的多个pe都向该ce发送相同的报文,通常要在该ce多归属连接的多个pe中选取出df。由df来向ce转发报文。

假设,pe32是ce32所连接的多个pe(如pe31、pe32和pe33)中的df,pe31和pe32为bdf。pe32是ce31所连接的多个pe(如pe31和pe32)中的df,pe31是bdf。pe31是ce33所连接的多个pe(如pe31和pe34)中的df。

此外,在本申请提供的报文转发方法中,存在两种vxlan标识。

第一种vxlan标识,是用于标识vxlan网段,第一种vxlan标识与vsi唯一对应,这里为了方便叙述,简称为vsi的vxlan标识。

第二种vxlan标识,是为了标识具有多归属属性的ce的vxlan标识。在本申请中,为了支持vxlan报文的格式,为具有多归属属性的ce的es标识或es标识+vxlan标识分配了唯一对应的vxlan标识,即第二种vxlan标识。第二种vxlan标识与es标识一一对应。当然,该vxlan标识也可以用具有多归属属性的ce的es标识所代替。这里为了方便叙述,将该vxlan标识简称为es的vxlan标识(也是第一ce标识)。

在pe上记录了多归属连接到本pe的ce的es标识或es标识和vlan标识与vxlan标识的对应关系。

此外,当接口为三层接口时,pe上还配置有pe的接口与es标识的对应关系,es标识与vxlan标识(简述为es的vxlan标识)的对应关系,接口与vsi的对应关系,vsi与vxlan标识的对应关系,以及es的vxlan标识和vsi的vxlan二者的对应关系等。

三层接口举例如下:

假设pe31上的连接ce31的接口为rag0/1,接口rag0/1为三层接口时,pe31上的配置可如下所示:

pe31:

上述配置可以表明:接口rag0/1对应的es为es31。接口rag0/1对应的vsi为vsi1。es31的vxlan标识为vxlan1001。vsi1的vxlan标识为vxlan1。通过上述配置可确定vxlan1001(es31的vxlan标识)与vxlan1(vsi1的vxlan标识)对应,即vxlan1001-vxlan1。

同时,假设pe32上的连接ce31的接口为rag0/1,接口为rag0/1为三层接口,pe32上的配置可如下所示:

pe32:

上述配置可以表明:接口rag0/1对应的es为es31。接口rag0/1对应的vsi为vsi1。es31关联的vxlan标识为vxlan1001。与vsi1对应的vxlan为vxlan1。通过上述配置可确定vxlan1001(es31的vxlan标识)与vxlan1(vsi1的vxlan标识)对应,即vxlan1001-vxlan1。

当接口为二层接口时,pe上还配置有pe的接口与es标识的对应关系,es标识+vlan标识与vxlan标识(简述为es的vxlan标识)的对应关系,接口+vlan标识与vsi的对应关系,vsi与vxlan标识的对应关系,以及es的vxlan标识和vsi的vxlan二者的对应关系等。

二层接口举例如下:

假设pe31上的连接ce31的接口为rag0/1,接口rag0/1为二层接口时,pe31上的配置可如下所示:

pe31:

上述配置可以表明:接口rag0/1对应es31。

接口rag0/1+vlan10对应vsi1。接口rag0/1+vlan20对应vsi2。

es31+vlan10对应es的vxlan标识为vxlan1001。es31+vlan20对应es的vxlan标识为vxlan1002。

vsi1对应vxlan1。vsi2对应vxlan2。

vxlan1001(es31+vlan10的vxlan标识)与vxlan1(vsi1的vxlan标识)对应。

vxlan1002(es31+vlan20的vxlan标识)与vxlan2(vsi1的vxlan标识)对应。

假设pe32上的连接ce31的接口为rag0/1,接口rag0/1为二层接口时,pe32上的配置可如下所示:

pe32:

上述配置可以表明:接口rag0/1对应es31。

接口rag0/1+vlan10对应vsi1。接口rag0/1+vlan20对应vsi2。

es31+vlan10对应es的vxlan标识为vxlan1001。es31+vlan20对应es的vxlan标识为vxlan1002。

vsi1对应vxlan1。vsi2对应vxlan2。

vxlan1001(es31+vlan10的vxlan标识)与vxlan1(vsi1的vxlan标识)对应。

vxlan1002(es31+vlan20的vxlan标识)与vxlan2(vsi1的vxlan标识)对应。在介绍完上述基本配置后,下面详细介绍本申请提供的基于vxlanevpn组网下的bum报文转发机制。

当ce31在接收到该ce31下挂的某一vm的bum报文后,ce31可根据配置的负载均衡算法,将该bum报文转发至该负载均衡算法决策出的pe,假设为pe31。ce31可将该bum报文转发至pe31。

对于从ce接收的bum报文的处理方式如下:

假设,pe31可从rag0/1端口接收到该ce31发送的bum报文。假设该bum报文携带的vlan标识为vlan10。

pe31可确定该bum报文入接口对应的vsi的广播域(这里记为广播域1)。

在实现时,当ce31接入pe31的接入接口为三层接口时,pe31可在接口与vsi的对应关系,查找该bum报文的入接口rag0/1所对应的vsi(即vsi1)。

然后在预设的vsi与vxlan标识的对应关系中,确定出vsi1对应的vxlan标识(即vxlan1),该vxlan1网段就是该vsi1对应的广播域1。

当ce31接入pe31的接入接口为二层接口时,pe31可在接口+vlan标识与vsi的对应关系,查找该bum报文的入接口rag0/1和该bum报文携带的vlan标识vlan10所共同对应的vsi(即vsi1)。

然后在预设的vsi与vxlan标识的对应关系中,确定出vsi1对应的vxlan标识(即vxlan1),该vxlan1网段就是该vsi1对应的广播域1。

pe31可在广播域1中对该bum报文进行如下转发。

假设,pe31、pe32、pe33、pe34、pe35、ce31、ce32、ce33、ce34、ce35都在广播域1中。

1)pe31可将该bum报文转发至该广播域1中的仅与pe31相连的ce,如ce34。

2)在做源端口排除后,pe31可将该bum报文转发至该广播域1中以pe31为df的ce,如pe31是ce33连接的多个pe中的的df,pe31可将该bum报文转发至ce33。

需要说明的是,pe31不将该bum报文转发至以pe31为bdf的ce。例如,pe31是ce32连接的多个pe中的bdf,pe31不将该bum报文转发至ce32.

3)pe31可将该bum报文进行vxlan封装,形成vxlan报文,然后pe31可按照如下方式对vxlan报文进行转发。

在实现时,pe31可确定出广播域1中的ce31所归属的其他pe,以及广播域1中除ce31所归属的pe之外的其他pe。

具体地,

当rag0/1接口为三层接口时,pe31在从rag0/1接口接收到该bum报文后,pe31可基于接口与es标识的对应关系,确定出该转发该bum报文入接口rag0/1对应的es标识(即es31)。

pe31可在预设的es标识与对端pe列表的对应关系,查找es31对应的对端pe列表。

pe31可将可将查找到的对端pe列表和广播域1中共同存在的pe,作为广播域1中的ce31所归属的其他pe。将不在对端pe列表中,但在广播域1中的pe,作为广播域1中的除所述ce31所归属的pe之外的其他pe。

由于es31对应的对端pe列表里记录了pe32。vsi1的广播域1包括ce31、ce32、ce33、ce34、ce35、pe31、pe32、pe33、pe34、pe35。则pe32为广播域1中的ce31所归属的其他pe。pe33、pe34和pe35均为广播域1中的除所述ce31所归属的pe之外的其他pe。

当rag0/1接口为二层接口时,pe31在从rag0/1接口接收到该bum报文后,pe31可基于接口与es标识的对应关系,确定出该转发该bum报文入接口rag0/1对应的es标识(即es31)。

pe31可在预设的es标识+vlan标识与对端pe列表的对应关系,查找入接口rag0/1对应的es31+该bum报文携带的vlan标识(即vlan10)所共同对应的对端pe列表。

pe31可将可将查找到的对端pe列表和广播域1中共同存在的pe,作为广播域1中的ce31所归属的其他pe。将不在对端pe列表中,但在广播域1中的pe,作为广播域1中的除所述ce31所归属的pe之外的其他pe。

由于es31+vlan10对应的对端pe列表里记录了pe32。vsi1的广播域1包括ce31、ce32、ce33、ce34、ce35、pe31、pe32、pe33、pe34、pe35。则pe32为广播域1中的ce31所归属的其他pe。pe33、pe34和pe35均为广播域1中的除所述ce31所归属的pe之外的其他pe。

对于广播域1中的ce31所归属的其他pe,如pe32来说,pe31可将该bum报文进行vxlan封装,形成vxlan报文。该vxlan报文的vxlanid为vsi1所对应的vxlanid,如vxlan1。

当rag0/1接口为三层接口时,pe31可在预设的es标识与vxlan标识的对应关系中,查找es31所对应的vxlan标识(即vxlan1001)。此时,pe31可将该vxlan报文的vxlanid由vxlan1修改为vxlan1001。并将vxlanid为vxlan1001的vxlan报文发送给pe32。

当rag0/1接口为二层接口时,pe31可在预设的es标识+vlan标识与vxlan标识的对应关系中,查找es31+vlan10所对应的vxlan标识(即vxlan1001)。此时,pe31可将该vxlan报文的vxlanid由vxlan1修改为vxlan1001。并将vxlanid为vxlan1001的vxlan报文发送给pe32。

对于广播域1中的除所述ce31所归属的pe之外的其他pe,如pe33、pe34以及pe35。pe31可对该bum报文进行vxlan封装,将封装后的vxlan报文发送至pe33、pe34以及pe35。该vxlan报文的vxlanid为vsi1对应的vxlanid(即vxlan1)。

对于从其他pe接收到vxlan报文的处理方式:

假设,pe32在从vxlan隧道口接收到vxlan报文后,pe32可在预设es标识与vxlan标识的对应关系,或者es标识+vlan标识与vxlan标识的对应关系中,以该vxlan报文的vxlanid作为关键字,检查是否存在与该关键字对应的es标识或es标识+vlan标识。

在本例中,假设pe32接收到pe31发送的vxlan报文,则该vxlan报文携带的vxlanid为vxlan1001,pe32在预设的es标识与vxlan标识的对应关系中,找到该vxlan1001对应的es标识为es31。或者,pe32可在预设的es标识+vlan标识与vxlan标识的对应关系中,找到该vxlan1001对应的es标识(es31)+vlan标识(vlan10)。

pe32可在预设的es的vxlan标识和vsi的vxlan标识的对应关系中,查找该vxlan报文中的vxlan1001对应的vsi的vxlan标识(即vxlan1)。

然后,pe32可将该vxlan报文中的vxlanid由vxlan1001修改为vxlan1。

接着,pe32可确定vxlanid修改后的vxlan报文的vxlanid(即vxlan1)对应的vxlan网段就是广播域(这里记为广播域2)。

然后,pe32可对该vxlan报文进行vxlan解封装,得到以太网报文。pe32可查看以太网报文的目的地址,若该目的地址为bum地址,pe32可确定该以太网报文为bum报文。

在确定该以太网报文为bum报文后,pe32可在广播域2中对该bum报文进行如下转发:

1)pe32禁止将该bum报文转发至上述查找到的es31或es31+vlan10指示的ce(即ce31)。

pe上常用的水平分割机制为源端口排除机制。对于该源端口排除机制,简单来说,pe在接收到报文后,可记录该报文的入接口,当对该报文进行广播时,可排除记录的入接口进行广播。

因此,在一种可选的实现方式中,pe32在接收到上述vxlan报文后,通常也会记录该vxlan报文的入接口。此时,pe32设备可将记录的接收该vxlan报文的入接口修改为pe32设备上接口rag0/1,以此通过常用的源端口排除机制,来禁止将该bum报文转发至该es标识或es31+vlan10指示的ce。

当然,pe32还可采用其他方式来禁止将该bum报文转发至该ce31,这里只是示例性地说明,不对其进行具体地限定。

2)pe32将该bum报文转发至该广播域2中的仅与本设备相连的ce。

3)pe32可将该bum报文转发至该广播域2中的以pe32为df的ce。例如,pe32是ce32的df,pe32可将该bum报文转发至ce32。

需要说明的是,pe32不将该bum报文转发至以pe32为bdf的ce。

4)pe32禁止将该bum报文转发至广播域2中的pe。

例如,pe32可为该bum报文添加禁止向远端pe转发标记。当然,也可通过vxlan隧道的水平分割机制来实现禁止将该bum报文转发给广播域1中的其他pe。

在本申请实施例中,如果pe32检测到本pe上不存对应的es标识或es标识+vlan标识,pe32可确定该vxlan报文携带的vxlan标识对应的vxlan网段为待广播的广播域(这里记为广播域3)。

然后,pe可对该第一vxlan报文解封装,在确定解封装后得到的以太网报文为bum报文(这里记为第三bum报文)时,pe可对该第三bum报文进行如下转发:

1)pe可向广播域3中的仅与本pe相连的ce转发该bum报文。

2)pe可向广播域3中的以本pe为df的ce发送该bum报文。

3)pe禁止将该bum报文转发给广播域3中的pe。

当pe31接收到vxlan报文后,也可依据上述pe32接收到vxlan报文的处理方式,进行上述处理,这里不再赘述。

本申请提出一种报文转发方法,一方面,为每个具有多归属属性的ce的es标识或es标识+vlan标识分配唯一对应的vxlan标识,当pe在接收到vxlan报文后,可以在预设的es标识或es标识+vlan标识与vxlan标识的对应关系中,查找是否存在与该vxlan报文的vxlan标识对应的es标识或es标识+vlan标识,如果存在,本pe禁止将该vxlan报文解封装后的bum报文转发给该es标识或es标识+vlan标识指示的ce,所以避免了环路问题。

另一方面,在本申请中,pe在接收到ce发送的bum报文后,在向本地连接的ce转发bum报文的过程中,只需要向以本设备为df的ce转发该bum报文,而不需要向以本设备为bdf的ce转发该bum报文,这与协议相一致,使得当mplsevpn组网和vxlanevpn进行融合时,bum报文的转发机制相一致。

参见图4,本申请还提供一种报文转发装置所在设备,如pe的硬件架构图,该设备包括:通信接口401、处理器402、存储器403和总线404;其中,通信接口401、处理器402和存储器403通过总线404完成相互间的通信。

其中,通信接口401,用于与服务器通信。处理器402可以是一个cpu,存储器403可以是非易失性存储器(non-volatilememory),并且存储器403中存储有报文转发的逻辑指令,处理器402可以执行存储器403中存储的报文转发的逻辑指令,以实现上述报文转发的功能。

至此,完成图4所示的硬件结构描述。

参见图5,图5是本申请一示例性实施例示出的一种报文转发装置的框图。该装置可应用于pe,可包括如下所示单元。

第一接收单元501,用于接收从第一pe发送的第一可扩展虚拟局域网vxlan报文;

判断单元502,用于判断所述第一vxlan报文是否携带第一用户网络边缘设备ce标识,所述第一ce标识用于标识所述第一vxlan报文中封装的第一非单播报文的转发ce,所述转发ce多归属到所述第一pe和本pe;

第一转发单元503,用于当判定所述第一vxlan报文携带所述第一ce标识时,向第一广播域中第一指定ce转发所述第一非单播报文,且不向所述第一广播域中的pe转发所述第一非单播报文;

其中,所述第一广播域为所述第一vxlan报文携带的vxlan标识对应的广播域;所述第一指定ce包括仅与本pe相连的ce、以本pe为df的ce,且不包括所述转发ce。

可选的,所述第一ce标识为所述第一vxlan报文携带的vxlan标识,

所述vxlan标识由所述第一pe根据预设的所述转发ce的接入接口所属的es标识或es标识+vlan标识与所述vxlan标识之间的对应关系进行映射;

所述判断单元502,具体用于根据预设的es标识或es标识+vlan标识与vxlan标识的映射关系,确定本pe上是否存在与所述第一vxlan报文携带的vxlan标识对应的es标识或es标识+vlan标识;若存在,则判定所述第一vxlan报文携带第一ce标识;

所述不包括所述转发ce,通过如下方式确定:

不包括确定存在的es标识或es标识+vlan标识指示的ce。

可选的,所述第一ce标识为所述第一vxlan报文携带的es标识或es标识+vlan标识;

所述判断单元502,具体用于判断所述第一vxlan报文是否携带es标识或es标识+vlan标识;

所述不包括所述转发ce,通过如下方式确定:

不包括所述第一vxlan报文中携带的es标识或es标识+vlan标识指示的ce。

可选的,所述装置还包括:

第二接收单元504,用于接收从第二ce发送的第二非单播报文;

第二转发单元505,用于向第二广播域中的第二指定ce转发所述第二非单播报文;所述第二指定ce包括仅与本pe相连的ce、以本pe为df的ce;其中,所述第二广播域为该第二非单播报文入接口对应的vsi的广播域,或者第二非单播报文的入接口和vlan标识对应的vsi的广播域;将所述第二非单播报文封装为第二vxlan报文,将该第二ce的第二ce标识携带至所述第二vxlan报文,并将携带了第二ce标识的第二vxlan报文发送至所述第二广播域中所述第二ce所归属的其他pe;将所述第二非单播报文封装为第三vxlan报文,并将所述第三vxlan报文转发至所述第二广播域中除所述第二ce所归属的pe之外的其他pe;所述第三vxlan报文未携带第二ce标识。

可选的,所述第二ce标识为该第二ce的接入接口所属es标识或es标识+vlan标识对应的vxlan标识;

所述第二转发单元505,具体用于基于预设的es标识或es标识+vlan标识与vxlan标识的对应关系,查找该第二非单播报文入接口关联的es标识、或第二非单播报文入接口关联的es标识和携带的vlan标识所对应的vxlan标识;将所述第二vxlan报文的携带vxlan标识修改为查找到的vxlan标识。

可选的,所述第二ce标识为该第二ce的接入接口所属的es标识或es标识+vlan标识;

所述第二转发单元505,具体用于将所述所述第二非单播报文入接口关联的es标识、或第二非单播报文入接口关联的es标识和携带的vlan标识添加至所述第二vxlan报文的指定位置。

可选的,所述装置还包括:

修改单元506,用于基于预设的所述第一vxlan报文携带的vxlan标识和vsi的vxlan标识的对应关系,以所述第一vxlan报文携带的vxlan标识为关键字,确定与该关键字对应的vsi的vxlan标识;将所述第一vxlan报文携带的vxlan标识修改为确定出的所述vsi的vxlan标识;其中,确定第一vxlan报文携带的vxlan标识对应的广播域的方法包括:将确定出的vsi的vxlan标识对应的vxlan作为所述第一vxlan报文携带的vxlan标识对应的广播域。

可选的,所述第二广播域中所述第二ce所归属的其他pe,通过如下方式确定:

在预设的接口与es标识的对应关系中,查找所述第二非单播报文的入接口对应的es标识;

在本地记录的es标识或es标识+vlan标识与对端pe列表的对应关系中,确定该查找到的es标识、或查找到的es标识和第二非单播报文携带的vlan标识对应的对端pe列表;其中,所述对端pe列表记录了归属于本pe的ce所归属的其他pe;

将确定出的对端pe列表和所述第二广播域中共同存在的pe,作为所述第二广播域中所述第二ce所归属的其他pe。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1