CN103685022B - 报文转发方法及服务提供商网络边缘设备 - Google Patents
报文转发方法及服务提供商网络边缘设备 Download PDFInfo
- Publication number
- CN103685022B CN103685022B CN201210344345.XA CN201210344345A CN103685022B CN 103685022 B CN103685022 B CN 103685022B CN 201210344345 A CN201210344345 A CN 201210344345A CN 103685022 B CN103685022 B CN 103685022B
- Authority
- CN
- China
- Prior art keywords
- vsi
- mac address
- vpls
- message
- label
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文转发方法及服务提供商网络边缘设备,其中,该方法应用于VPLS网络,所述VPLS网络包括多个PE,每个PE通过接入电路AC连接至CE,所述方法包括:第一PE从第一AC上接收到单播报文;所述第一PE在第一AC关联的第一虚拟交换实例VSI所对应的MAC地址转发表中,查找与所述单播报文中携带的目的MAC地址相匹配的转发表项;若未查找到相匹配的转发表项,则所述第一PE仅将所述单播报文向所述第一VSI内连接本地CE的其他AC泛洪。本发明对于从AC上接收到的目的MAC地址未知的单播报文,不再向骨干网络侧泛洪,而只在本地站点泛洪,节省了骨干网的带宽资源。
Description
技术领域
本发明涉及数据通信技术领域,特别涉及一种报文转发方法及服务提供商网络边缘设备。
背景技术
为了实现高可靠性和冗余部署,当今大多数企业网络及其数据中心跨越了位于不同地理位置的多个物理站点(Site),在这些站点部署类似的业务,并在这些站点之间进行二层互联。为了实现站点间的资源动态调配和管理,虚拟机在数据中心站点之间要能够自由迁移,由于虚拟机迁移过程对用户透明,不能改变IP地址,所以必须在分布于异地的站点之间实现二层网络互联。VPLS是一种主要的实现二层网络互联的技术。
VPLS(Virtual Private LAN Service,虚拟专用局域网服务)在传统MPLS(Multi-protocol Label Switching,多协议标签交换)L2VPN(Layer 2 Virtual PrivateNetwork,二层虚拟专用网络)方案的基础上发展而成,它可以实现多点到多点的VPN组网。VPLS为运营商提供了一种更加完备的解决方案。VPLS结合了以太网技术和MPLS技术的优势,是对传统LAN全部功能的仿真,其主要目的是通过运营商提供的IP/MPLS网络连接地域上隔离的多个由以太网构成的LAN(Local Area Network,局域网),使它们像一个LAN那样工作。
图1是现有技术的VPLS的典型组网图,首先对图1中涉及的技术术语进行解释:
MPLS:使用定长标签来封装分组报文,基于标签进行转发;
CE(Customer Edge,用户网络边缘设备):有接口直接与SP(ServiceProvider,服务提供商)相连,CE可以是路由器或交换机,也可以是一台主机,也不需要必须支持MPLS;
PE(Provider Edge,服务提供商网络边缘设备):与CE相连,主要负责VPN业务的接入,它完成报文从私网到公网隧道,并从公网隧道到私网的映射与转发;
VSI(Virtual Switch Instance,虚拟交换实例):VPLS实例在一个PE上的一个以太网桥功能实体,根据MAC地址和VLAN TAG(标签)进行二层报文转发,VSI是一台虚拟的边界设备Virtual Edge Device(VE);
PW(Pseudo Wire,伪线):两个PE上的VSI之间的一条双向虚拟连接,由一对方向相反的单向VC(Virtual Circuit,虚电路)LSP(Label Switched Path,标签交换路径)组成,也称为仿真电路,只有两个方向的VC LSP都up,PW才是up的;
Tunnel(隧道):用于承载PW,一条隧道上可以承载多条PW,隧道是本端PE与对端PE之间的一条直连通道,完成PE之间的数据透明传输,可以是MPLS或GRE(Generic RoutingEncapsulation,通用路由封装)隧道等;
AC(Attachment Circuit,接入电路):用户与服务提供商之间的连接,即连接CE与PE的链路,对应的接口只能是以太网接口。
如图1所示,用户网络可能包括分布在不同地理位置的多个站点(site)。每个站点包括CE及其下挂的大量的PC(Private Computer,个人电脑)和服务器等,CE通过PE接入骨干网。在骨干网上利用VPLS技术将这些站点连接起来,为用户提供一个VPN,这个VPN称为一个VPLS实例。在PE上,通过VSI来为特定的VPN分配资源。一个PE可以同时设置多个VSI,以同时支持多个VPLS实例。
如图2所示,VPLS通过数据平面的源MAC地址学习来获得可达性信息。PE为每一个VSI维护一张独立的MAC(Media Access Control,媒体访问控制)地址表。当一个PE从与其连接的CE(也即两者之间的AC)上收到报文时,需要将报文中的源MAC地址学习到与该CE直连的以太网接口(也即VSI的对应端口)上。另外,当一个PE从入方向的VC LSP上学习到一个原来未知的源MAC地址后,会将该源MAC地址学习到收到该报文的PW上,也就是将该源MAC地址与出方向的VC LSP形成映射关系。在图2中,实线箭头表示以太网报文:ARP(AddressResolution Protocol,地址解析协议)广播报文的转发路径,虚线表示ARP响应报文的转发路径。当PE2从PW1上收到ARP广播报文后,会在MAC地址转发表中添加出端口为PW1的MAC转发项。
VPLS实例中的数据转发是通过查找VSI对应的MAC地址转发表来完成的。报文在PW上发送时,需要打上内层的PW标签和外层的隧道标签。隧道标签主要用于通过隧道中间设备的标签交换,将报文送到对端PE,PW标签用于当报文达到对端PE后,对端PE能根据PW标签找到对应的VSI。
发明内容
有鉴于此,本发明实施例提供了一种报文转发方法及服务提供商网络边缘设备,以至少解决现有技术中存在的当PE从VSI的一个AC上收到目的MAC未知的单播报文时,会将该报文向骨干网侧的所有PW泛洪,从而导致浪费骨干网的带宽资源的问题。
本发明实施例的技术方案如下:
一方面,提供了一种报文转发方法,应用于VPLS网络,所述VPLS网络包括多个提供商网络边缘设备PE,每个PE通过接入电路AC连接至用户边界网络设备CE,该方法包括:
第一PE从第一AC上接收到单播报文;
所述第一PE在第一AC关联的第一虚拟交换实例VSI所对应的MAC地址转发表中,查找与所述单播报文中携带的目的MAC地址相匹配的转发表项;
若未查找到相匹配的转发表项,则所述第一PE仅将所述单播报文向所述第一VSI内连接本地CE的其他AC泛洪。
另一方面,还提供了一种第一PE,应用于VPLS网络中,该第一PE包括:接收模块,用于从第一接入电路AC上接收单播报文;
查找模块,用于在第一AC关联的第一虚拟交换实例VSI所对应的MAC地址转发表中,查找与所述单播报文中携带的目的MAC地址相匹配的转发表项;
发送模块,用于若未查找到相匹配的转发表项,则所述第一PE仅将所述单播报文向所述第一VSI内连接本地CE的其他AC泛洪。
本发明实施例的以上技术方案,对于从AC上接收到的目的MAC地址未知的单播报文,不再向骨干网络侧泛洪,而只在本地站点泛洪,以节省骨干网的带宽资源。
附图说明
图1是现有技术的VPLS的典型组网图;
图2是现有技术的VPLS源地址学习的示意图;
图3是根据本发明的实施例的建立了第一MP2MP LSP的一种网络架构示意图;
图4是根据本发明的实施例的建立了第一MP2MP LSP的另一种网络架构示意图;
图5是根据本发明的实施例的通告报文或撤销报文封装在G-ACH传送报文中时的报文格式示意图;
图6是根据本发明的实施例的从AC上接收到单播报文时的报文转发方法的流程图;
图7是根据本发明的实施例的从PW上接收到MPLS报文时的报文转发方法的流程图;
图8是根据本发明的实施例的建立了第二MP2MP LSP的一种网络架构示意图;
图9是根据本发明的实施例的PE的一种结构示意图;
图10是根据本发明的实施例的PE的另一种结构示意图;
图11是根据本发明的实施例的PE的硬件架构组成示意图。
具体实施方式
现有技术中,当PE从VSI的一个AC上收到目的MAC未知的单播报文(在VSI的MAC地址转发表中未找到匹配的MAC地址的单播报文)时,该PE会将该报文向该VSI内所有连接本地CE的AC和连接远端VSI的PW泛洪(即向骨干网侧的所有PW泛洪),这样会浪费骨干网的带宽资源。
另外,现有技术的基于数据平面的MAC地址学习,强调PW必须是双向的,当从入方向上收到报文时,PE将该报文的源MAC地址与出方向关联,从而实现MAC地址的学习。因此,需要为每一个PW分配一个唯一的标签作为入标签,由于通常一个VSI下会包含有大量的PW,例如包含几十个PW,为每一个PW分配一个唯一的标签,不仅会占用较多的标签资源,而且也会导致标签分配比较复杂。
为了解决现有技术中存在的当PE从VSI的一个AC上收到目的MAC未知的单播报文时,会将该报文向骨干网侧的所有PW泛洪,从而导致浪费骨干网的带宽资源的问题,本发明以下实施例提供了一种应用于如图1所示的采用了VPLS技术的MPLS网络中的数据转发方法以及可以使用该方法的PE。本发明实施例还可以进一步为每一个VSI分配一个唯一的标签,从而可以避免VSI占用较多的标签资源,简化标签分配。
本发明以下实施例有别于标准的VPLS技术,对骨干网进行了虚拟化,以支持各种基于MPLS的服务:
(1)本发明的一个实施例可以在骨干网中建立连接骨干网中的所有PE的MP2MP(Multi-point to Multi-point,多点到多点)LSP,在该MP2MP LSP通信通道上运行必要的MPLS协议,PE通过该MP2MP LSP向其他的PE通告MAC地址可达性信息,以及接收其他PE发送的MAC地址可达性信息;
(2)在进行MAC地址学习时,不是采用现有的数据平面的源MAC地址学习来获得可达性,而是依靠控制平面通告MAC地址可达性信息,即,由PE的控制平面学习MAC地址可达性;
(3)对于从AC上接收到的目的MAC地址未知的单播报文,不再向骨干网络侧泛洪,而只在本地站点泛洪,以节省骨干网的带宽资源;
(4)为PE上设置的不同的VSI分配不同的VSI标签,每一个VSI分配一个唯一的VSI标签,该VSI标签对应于该VSI的所有PW,从而,一个PE上同属于一个VSI的多个PW可以共同使用一个VSI标签,减少了标签资源的占用,而且也使得标签分配更加简单;
(5)本发明的另一实施例还进一步在骨干网中建立了用于连接属于同一个VPLS实例的所有PE的MP2MP LSP,该MP2MP LSP专门用于传送广播报文。
为了将(1)与(5)中建立的MP2MP LSP进行区别,以下将(1)中的MP2MP LSP称为第一MP2MP LSP,将(5)中的MP2MP LSP称为第二MP2MPLSP。
需要说明的是:下文中的第一PE可以是MP2MP LSP连接的任意一个作为叶子节点的PE,而不特指某一个PE,第二PE可以是不同于第一PE的任意一个作为叶子节点的PE,也不特指某一个PE。类似的,第一AC是指第一PE连接的任意一个AC,第二AC是指第二PE连接的任意一个AC。
本发明实施例的报文转发方法可以由VPLS网络中的任意一个PE执行(以下称为第一PE),该方法主要包括以下几个部分:
一、控制平面的源MAC地址学习
本发明实施例中,VPLS通过控制平面的源MAC地址学习来获得可达性。当PE从AC上学习到MAC地址(该学习过程同现有技术的MAC源地址学习,这里不再赘述)后,通过通告报文(也可称为MAC通告报文)将学习到的MAC地址信息通告给其他PE,同时也可接收其他PE发来的通告报文。同样,当MAC地址表中有MAC地址发生了老化时,也可将发生了老化的MAC地址携带在撤销报文(也可称为MAC撤销报文)中通告给其他PE,同时也可接收其他PE发来的撤销报文。通告报文和撤销报文通过部署在骨干网中的第一MP2MP LSP来传输,因此,本发明实施例中的控制平面的源MAC地址学习需要依赖于第一MP2MP LSP,如图3和4所示。
图3和图4是建立了MP2MP LSP的两种网络架构示意图。如图3和图4所示,在骨干网络中部署有一个连接所有PE的第一MP2MP LSP,该第一MP2MP LSP作为各个PE之间交互协议报文的通信通道。MP2MP LSP只用于承载PE之间的协议报文,包括通告报文和撤销报文,而不用于承载用户数据报文,是一条低负载的通信通道。
可以根据RFC提供的技术方案建立第一MP2MP LSP,指定骨干网中的一个节点作为根节点(根节点可以是P设备,也可以是PE),第一MP2MPLSP上除根节点以外的其他PE称为叶子节点。根节点是第一MP2MP LSP上的唯一组播复制节点,根节点对于从任意一个作为叶子节点的PE接收到的分组报文进行组播复制(也就是将分组报文的最外层的隧道标签分别替换为转发到不同PE所需要的标签),发给第一MP2MP LSP连接的其它PE。从而,作为叶子节点的PE之间可以通过第一MP2MP LSP交互通告报文和撤销报文。
图3中,根节点为P设备,图4中,根节点为PE。图3和图4中省略了除指定为根节点的P设备以外的所有其它P设备,虚线双向箭头表示连接根节点与叶子节点的双向的LSP片段(sub-LSP)。
本发明实施例的控制平面的源MAC地址学习由特别定义的VPLS MAC地址路由协议完成,该协议报文由第一MP2MP LSP转发,协议运行机制包括MAC地址信息通告和撤销两个过程,下面分别对这两个过程进行详细介绍:
1、MAC地址信息通告
本发明实施例的MAC地址信息通告的方法,应用于一VPLS网络,该VPLS网络包括多个PE,每个PE通过AC连接至CE;不同PE上配置的属于同一VPLS实例的VSI之间建立有PW连接,PE上的每个VSI分配有一个唯一的VSI标签,该VSI标签唯一对应于该PE上的一个VSI,并且该VSI的所有PW均使用该VSI标签,即该VSI标签对应于该VSI的所有PW;该VPLS网络中还部署有连接网络中所有PE的第一MP2MP LSP。上述MAC地址通告的方法,包括以下步骤:
步骤S402,第一PE从第一MP2MP LSP上接收到第二PE在从AC(为描述方便,假设该AC为第二AC)上学习到MAC地址后发送的通告报文,该通告报文中携带有第二PE从该第二AC上学习到的MAC地址以及与该第二AC关联的第二VSI的VSI标签(为描述方便,假设该VSI标签为第二VSI标签);
第一MP2MP LSP上连接的任意一个作为叶子节点的PE从AC(也即从与自己连接的CE)上学习到MAC地址(可以是一个或多个)之后,会通过第一MP2MP LSP发送携带有自身从AC上学习到的MAC地址以及与该AC关联的VSI标签的通告报文。因此,第一PE从AC(为描述方便,假设该AC为第一AC)上学习到MAC地址之后,会通过第一MP2MP LSP向其他PE发送携带有第一PE从该第一AC上学习到的该MAC地址以及与该第一AC关联的VSI标签的通告报文;同样,第二PE从第二AC上学习到MAC地址之后,也会通过第一MP2MP LSP向其他PE发送携带有第二PE从该第二AC上学习到的该MAC地址以及与该第二AC关联的VSI标签的通告报文。
对于单向流的应用,因为相反方向没有数据流,因此PE不能从AC上学习到MAC地址,可以手工在PE上配置静态MAC地址,然后再由PE通过第一MP2MP LSP向其他PE通告这个MAC地址。
步骤S404,第一PE判断本地是否存在与在步骤S402中接收到的通告报文中携带的VSI属于同一个VPLS实例的VSI,若存在,则进入步骤S406,否则,进入步骤S408;
在实际应用中,由于在PE上设置一个VSI时,会指定该VSI所属的VPLS实例的VPLSID。VPLS网络中不同VPLS实例对应不同的VPLS ID,因此VPLS ID可以标识了一个VSI所属的VPLS实例。本发明实施例中,PE从AC上学习到的MAC地址后,还可以在通告报文中可以携带与该AC关联的VSI所属的VPLS实例的VPLS ID。
因此,在步骤S404中,可以通过判断本地设置的VSI所属的VPLS实例的VPLS ID中是否与通告报文中携带的VPLS ID相同,来判断本地是否存在与该通告报文中携带的VSI属于同一个VPLS实例的VSI,若本地存在相同的VPLSID,则说明本地存在属于同一个VPLS实例的VSI,否则,说明本地不存在属于同一个VPLS实例的VSI。
步骤S406,若本地存在与在步骤S402中接收到的通告报文中携带的VSI属于同一个VPLS实例的VSI,则所述第一PE在该VSI对应的MAC地址转发表中新建一转发表项,该转发表项保存有第二MAC地址、第二VSI标签和所选隧道之间的对应关系,所述所选隧道是从第一PE到二PE的隧道中为第二VSI所选择的隧道。
例如,第一PE可以将该通告报文中携带的MAC地址添加到该VSI对应的控制平面的路径数据库中,然后根据该路径数据库更新该VSI对应的MAC地址转发表;
根据本发明的一个实施例,每一个PE中,在控制平面上,为每一个VSI维护和管理一个路径数据库,该路径数据库是控制平面的数据库,用于存储对应VSI下的MAC地址可达性信息(也可称为MAC地址信息),由于VPLS实例中的数据转发是通过查找VSI对应的MAC地址转发表来完成的。因此,需要在更新(包括增加、删除和修改)了一个VSI对应的路径数据库中的信息时,根据该路径数据库中的信息更新该VSI对应的MAC地址转发表,该MAC地址转发表是数据平面的。
在实际实施时,PE还需要针对本地设置的每一个VSI,为其上存在与该VSI属于同一个VPLS实例的VSI的每一个远端PE(简称为对端PE)按照预定的隧道选择规则,从自身到该对端PE的隧道(即可以达到该对端PE的隧道,可以是多个)中,为其选取至少一个隧道,用于传送该VSI所属的VPLS实例中的报文到该对端PE,该隧道可以是MPLS隧道或GRE隧道等。
因此,通告报文中还可以携带发送该通告报文的PE的PE ID,从而,在步骤S406中,第一PE还需要按照预定的隧道选择规则,从自身与第二PE之间的隧道中为接收到的通告报文中携带的VSI选取隧道,然后,第一PE建立该通告报文中携带的MAC地址与所选取的隧道的对应关系(也就建立了第二PE通告来的每一个MAC地址与所选取的隧道的隧道ID之间的对应关系),并将该MAC地址、VSI标签以及对应的隧道的隧道ID添加到该VSI对应的路径数据库中,之后根据该路径数据库更新该VSI对应的MAC地址转发表。
这里,第一PE可以在首次接收到一个对端PE发送的携带有VSI的通告报文时,针对该VSI,为该对端PE选取(或者针对该对端PE,为该VSI选取)隧道。后续,该对端PE再通告该VSI下学习到的新的MAC地址时,无需再进行隧道选取,直接使用上述所选取的隧道即可。当然,本发明实施例中,第一PE也可以针对该VSI下的每个新学习到的MAC地址,选取一个与之对应的隧道。
步骤S408,丢弃该通告报文。
本发明实施例中,改进了现有的VPLS技术,不是采用标准的LAN交换操作,而是裁剪了其中的数据平面的源MAC地址学习,依靠控制平面通告MAC地址可达性,避免因为数据平面对目的MAC地址未知的单播报文进行泛洪处理所导致的骨干网带宽的浪费。
此外,为了减少标签资源的占用,简化标签分配,本发明实施例中,为PE上设置的不同的VSI分配不同的VSI标签,每个VSI分配一个唯一的VSI标签,该VSI标签对应于该VSI的所有PW。那么,第一PE从第一AC上学习到MAC地址后发送的通告报文中除了可以携带其学习到的MAC地址、第一AC关联的VSI所属的VPLS实例(在实际实施时,可以用该第一AC关联的VSI所属的VPLS实例的VPLS ID来标识)、以及第一PE的PE ID以外,还可以携带有为该VSI分配的VSI标签,例如,通告报文中携带如下内容:
1)发送该通告报文的PE的PE ID;
2)AC关联的VSI所属的VPLS实例的VPLS ID;
3)AC关联的VSI的VSI标签;
4)MAC地址列表(PE从该AC上学习到MAC地址的列表)。
则,在步骤S406中,第一PE将接收到的通告报文中携带的MAC地址添加到路径数据库中的同时,还可以将该通告报文中携带的为该VSI分配的VSI标签、第二PE的PE ID、以及三者之间的对应关系添加到路径数据库中。
这样,在实际实施时,一个VSI对应的路径数据库可以采用如表1所示的形式。同样,该VSI对应的MAC地址转发表可以采用表2及表3的形式。
MAC | VSI标签 | 对端PE | 隧道选择规则 | 隧道标识 |
MAC 1 | VSI Label1 | PE3 | 首选Tunnel 5 | Tunnel5 |
表1
MAC | Port |
MAC 1 | 路径1 |
表2
表3
显然,一个VSI对应的控制平面的路径数据库和数据平面的MAC地址转发表也可以采用其他的格式,并且,还可以记录其他更多的信息,本发明对此不做限定。
类似的,第一PE从第一AC上学习到第一MAC地址之后,可以通过第一MP2MP LSP发送携带有第一MAC地址、第一VSI对应的第一VSI标签、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一通告报文,其中所述第一VSI是第一AC关联的VSI,以使得其他PE根据第一通告报文携带的第一MAC地址、第一VSI标签和第一PE的PE ID,在本地对应VSI的MAC地址转发表增加对应的转发表项,所述本地对应的VSI与第一VSI属于同一个VPLS实例。
2、MAC地址信息撤销
本发明实施例的MAC地址信息的撤销过程包括以下步骤:
步骤S502,第一PE从第一MP2MP LSP上接收到第二PE在MAC地址转发表中有MAC地址发生了老化后发送的撤销报文,撤销报文中携带有发生了老化的MAC地址、该MAC地址转发表所对应的VSI所属VPLS实例的VPLS ID、以及发送该撤销报文的PE的PE ID;
第二PE在本地的某个VSI(假设为第二VSI)的MAC地址转发表中的MAC表项被老化后,可以通过MP2MP LSP向所有其他PE发送撤销报文,与通告报文类似,撤销报文中可以携带如下内容:
1)发送该撤销报文的PE的PE ID;
2)第二VSI所属VPLS实例的VPLS ID;
3)MAC地址列表(发生了老化的MAC地址的列表)。
这样,在本地第二VSI的MAC地址转发表中有MAC地址发生了老化之后,第二PE会通过第一MP2MP LSP发送携带有发生了老化的MAC地址、第二VSI所属的VPLS实例的VPLS ID、以及自身的PE ID的撤销报文。同样,第一PE也会执行类似的操作。
步骤S504,第一PE判断本地是否存在与在步骤S402中接收到的撤销报文中携带的第二VSI属于同一个VPLS实例的VSI,若是,则进入步骤S506,否则,进入步骤S508;
该步骤的判断方法可以采用与步骤S404同样的方法,这里不再赘述。
步骤S506,第一PE根据撤销报文更新该VSI对应的MAC地址转发表,以将老化的MAC地址对应的转发表项删除。具体的,第一PE可以将该撤销报文中携带的MAC地址及其对应的第二PE的PE ID从该VSI对应的路径数据库中删除,并根据该路径数据库更新该VSI对应的MAC地址转发表。
在采用如表1所示的路径数据库格式时,可以将撤销报文中携带的MAC地址对应的MAC表项(即该MAC地址所在的一行)从对应的路径数据库中删除。
步骤S508,丢弃该撤销报文。
类似的,第一PE在第一VSI的MAC地址转发表中的MAC地址发生老化后,可以通过第一MP2MP LSP发送携带有老化的MAC地址、第一VSI所属VPLS实例的VPLS ID和第一PE的PEID的撤销报文,以使得其他PE根据该撤销报文携带的老化的MAC地址,删除本地对应VSI的MAC地址转发表中的对应表项。
在上述的MAC地址信息通告和撤销过程中,每一个VSI对应的路径数据库中的信息每一次发生了更新时,均需要对应地更新该VSI对应的MAC地址转发表,以确保MAC地址转发表中的信息的实时性和准确性。
在实际实施时,通告报文和撤销报文可以封装在各种现有协议报文中,例如,在IP/MPLS网络中,通告报文和撤销报文可以通过扩展现有的IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)协议报文来实现。在MPLS TP(TransportProfile,传输技术架构)网络中,可以通过G-ACH(MPLS Generic Associated Channel,MPLS通用随路信道)传送报文来实现通告报文和撤销报文,也就是定义新类型的MPLS TPACH Channel Type,用来承载通告报文和撤销报文。当通过G-ACH传送报文来实现通告报文和撤销报文时,报文格式可以如图5所示,其中:
Channel Type(信道类型)置为VPLS Code Point(VPLS编码点),用于表示是通告报文或撤销报文;
Message(消息):用于携带通告报文或撤销报文的具体内容。
本发明上述实施例中,为一个VSI分配一个唯一的标签,即VSI标签,从而,该VSI下的多个PW可以公用一个VSI标签,减少了标签资源的占用,并且,使得标签分配更加简单。
本发明以上实施例中,PE对于从AC上接收到的用户报文,仍然是采用现有技术的数据平面的MAC地址学习方式来学习AC上送的报文中的源MAC地址。但是,对于从PW上接收到的用户报文,不采用数据平面的MAC地址学习方式来学习,而是采用上述方法的控制平面通告的方式来通告MAC地址可达性信息,也就是说,PE从PW上接收到一个用户报文时,即使该用户报文中的源MAC地址是原来未知的,该PE也不会采用现有技术的数据平面的MAC地址学习方式来学习该MAC地址。
二、报文转发和泛洪
1、单播报文
如图6所示,PE从AC上接收到单播报文时的报文转发方法的流程包括以下步骤:
步骤S602,第一PE从AC上接收到单播报文;
步骤S604,第一PE在该AC关联的VSI对应的MAC地址转发表中,查找与步骤S602中接收到的单播报文中携带的目的MAC地址相匹配的转发表项;
步骤S606,第一PE判断是否查找到了相匹配的转发表项,若查找到了,则进入步骤S608,否则,说明该报文是目的MAC地址未知的单播报文,进入步骤S610;
步骤S608,第一PE利用查找到的转发表项对应的VSI标签和隧道标签对单播报文进行封装,具体可以将VSI标签和隧道标签先后添加到该单播报文中,然后转发出去,其中,该隧道标签为该转发表项中的隧道所对应的隧道标签,这里转发表项中的隧道是MPLS隧道。如果转发表项中的隧道为GRE隧道,则将VSI标签添加到单播报文后,再进行GRE封装后通过该GRE隧道发送出去。
步骤S610,第一PE仅将接收到的单播报文向VSI内连接本地CE的其他AC泛洪,而不向骨干网络侧的PW泛洪。从而节省了骨干网的带宽资源。
如图7所示,PE从PW上接收到MPLS报文时的报文转发方法的流程包括以下步骤:
步骤S702,第一PE从PW上接收到MPLS报文之后,从该MPLS报文中剥除(或弹出)隧道标签;
步骤S704,第一PE根据剥除了隧道标签后的MPLS报文中的VSI标签,确定对应VSI的MAC地址转发表;
步骤S706,第一PE在步骤S704中确定的MAC地址转发表中,查找与该MPLS报文中携带的目的MAC地址相匹配的转发表项;
步骤S708,第一PE判断是否在该MAC地址表中查找到了相匹配的转发表项,若查找到了,则进入步骤S710,否则,进入步骤S712;
步骤S710,第一PE将该VSI标签剥除后按照查找到的转发表项进行转发;
其中,MAC地址对应的信息可以包括:出接口、下一跳和出标签等。
步骤S712,第一PE将该VSI标签剥除后仅向该VSI内连接本地CE的AC泛洪,即,仅向本地站点内泛洪。
2、广播报文
为了支持广播,为每个VPLS实例单独部署一个MP2MP LSP(称为第二MP2MP LSP),第二MP2MP LSP与第一MP2MP LSP不同,第一MP2MP LSP的叶子节点包含了骨干网中的所有PE,用于传送通告报文和撤销报文;而第二MP2MP LSP的叶子节点只包含本VPLS实例涉及的PE,用于传送该VPLS实例内的广播报文。VPLS实例涉及的PE可以由运行在第一MP2MP LSP上的成员发现协议得到。
因此,第一PE从AC上接收到广播报文之后,在本地查找该AC关联的VSI,然后通过查找到的VSI所属的VPLS实例对应的第二MP2MP LSP发送该广播报文;并且,第一PE从第二MP2MP LSP上接收到广播报文之后,在本地查找属于该第二MP2MP LSP对应的VPLS实例的VSI,将该广播报文向查找到的VSI内连接本地CE的所有AC进行广播,即向本地站点内广播。从而,实现了基于MP2MP LSP的广播的支持。
例如,第一PE从AC上接收到广播报文之后,在本地设置的VSI中查找与该AC关联的VSI,例如为VSI1,然后就可以通过VSI1所属的VPLS实例对应的第二MP2MP LSP(即该第二MP2MP LSP用于连接VSI1所属的VPLS实例中的所有PE)向其他PE发送该广播报文。另外,第一PE从第二MP2MP LSP上接收到广播报文之后,查找属于该第二MP2MP LSP对应的VPLS实例的VSI,例如为VSI3,(即VSI3所属的VPLS实例对应于该第二MP2MP LSP),然后就可以将该广播报文向VSI1内连接本地CE的所有AC进行广播。
在实际实施过程中,网络中的PE开始执行上述实施例中的方法之前,需要首先部署第一MP2MP LSP和第二MP2MP LSP,两者的部署过程不相同,下面先介绍一下部署第一MP2MP LSP的过程。
步骤1,部署第一MP2MP LSP,具体可以包括以下步骤:
步骤11,在每一个PE上设置一个点到多点逻辑接口(Virtual Multi-castInterface,VMI)。该VMI是一个虚拟的多播接口,而不是实际的物理接口。
步骤12,在VMI接口下指定建立第一MP2MP LSP所需的参数,例如,根节点的ID(根节点的ID可以为其IP地址),从而在骨干网中建立一条以该ID所指示的设备为根节点,用于连接骨干网中所有PE的第一MP2MP LSP(即该PE加入到该第一MP2MP LSP),图3和图4示出了第一MP2MP LSP的两种可能的拓扑结构。
同时,也将VMI与第一MP2MP LSP进行了关联,具体的关联过程可以为:将VMI与第一MP2MP LSP对应的NHLFE(Next Hop Label Forwarding Entry,下一跳标签转发表项)建立对应关系(用于发送VPLS MAC地址路由协议报文),该NHLFE中记录的信息包括:出标签、出接口(实际的物理接口)和下一跳,以及将VMI与第一MP2MP LSP对应的入标签建立对应关系(用于接收VPLS MAC地址路由协议报文)。当要通过第一MP2MP LSP发送VPLS MAC地址路由协议报文时,首先查找到与VMI对应的NHLFE,然后,按照该NHLFE中的信息发送VPLS MAC地址路由协议报文,从而通过第一MP2MP LSP(具体为本PE与根节点之间的LSP片段)发送到根节点。当接收到了VPLS MAC地址路由协议报文时,根据该VPLS MAC地址路由协议报文中携带的标签,若从该对应关系中查找到了与接收到的报文中携带的标签相对应的VMI,则认为该报文是从查找到的VMI接收到的。这样,PE就可以从VMI接口向第一MP2MP LSP发送报文到根节点,并由根节点进行组播复制后,通过第一MP2MP LSP发送给其他PE;以及,从VMI接口上接收到第一MP2MP LSP上传送来的报文。
当一个PE作为第一MP2MP LSP的叶子节点加入第一MP2MP LSP时,该PE会发起与根节点之间的LSP片段的建立过程,依靠标签分发协议(LDP)发起本PE与根节点之间的双向的LSP片段的建立过程,双向的LSP片段由两个方向相反的单向LSP组成(上行LSP:用于发送报文;下行LSP:用于接收报文)。LSP片段建立后,VMI接口的状态进入运营(operational)状态。
步骤2,在VMI接口上使能VPLS MAC地址路由协议,从而实现在第一MP2MP LSP上传送通告报文和撤销报文。
在VMI上使能了VPLS MAC地址路由协议后,所有的VPLS MAC地址路由协议报文(包括:通告报文和撤销报文)都将通过这个VMI发送到第一MP2MP LSP,并且,通过该VMI接收第一MP2MP LSP上的MPLS协议报文。
下面介绍一下部署第二MP2MP LSP的过程。
步骤S1,部署第二MP2MP LSP,具体可以包括以下步骤:
步骤S 11,在PE上为每一个VSI设置一个点到多点逻辑接口(Virtual Multi-castInterface,VMI)。该VMI是一个虚拟的多播接口,而不是实际的物理接口。这个VMI可以在配置VSI时,由系统自动创建,而不需要人工配置创建。
步骤S12,在VMI接口下指定建立第二MP2MP LSP所需的参数,例如,根节点的ID(根节点的ID可以为其IP地址),从而在骨干网中建立一条以该ID所指示的设备为根节点,用于连接与该VMI接口对应的VSI所属的VPLS实例中的所有PE的第二MP2MP LSP(即该PE加入到该第二MP2MPLSP),第二MP2MP LSP如图8所示。
同时,也将VMI与第二MP2MP LSP进行了关联,具体的关联过程可以为:将VMI与第二MP2MP LSP对应的NHLFE(Next Hop Label Forwarding Entry,下一跳标签转发表项)建立对应关系(用于发送广播报文),该NHLFE中记录的信息包括:出标签、出接口(实际的物理接口)和下一跳,以及将VMI与第二MP2MP LSP对应的入标签建立对应关系(用于接收广播报文)。当要通过第二MP2MP LSP发送广播报文时,首先查找到与VMI对应的NHLFE,然后,按照该NHLFE中的信息发送广播报文,从而通过第二MP2MPLSP(具体为本PE与根节点之间的LSP片段)发送到根节点。当接收到了广播报文时,根据该广播报文中携带的标签,若从该对应关系中查找到了与接收到的报文中携带的标签相对应的VMI,则认为该报文是从查找到的VMI接收到的。这样,PE就可以从VMI接口向第二MP2MP LSP发送报文到根节点,并由根节点进行组播复制后,通过第二MP2MP LSP发送给其他PE;以及,从VMI接口上接收到第二MP2MPLSP上传送来的报文。
当一个特定的VPLS实例发现有新的PE作为第二MP2MP LSP的叶子节点加入第二MP2MP LSP时,该PE会发起与根节点之间的LSP片段的建立过程,依靠标签分发协议(LDP)发起本PE与根节点之间的双向的LSP片段的建立过程,双向的LSP片段由两个方向相反的单向LSP组成(上行LSP:用于发送报文;下行LSP:用于接收报文)。LSP片段建立后,VMI接口的状态进入运营(operational)状态。
针对上述的方法,本发明实施例还提供了一种可以应用于VPLS网络中的第一PE,请参照图9,该第一PE包括以下模块:接收模块10、查找模块20和发送模块30,其中:
接收模块10,用于从第一AC上接收单播报文;
查找模块20,用于在第一AC关联的第一VSI所对应的MAC地址转发表中,查找与所述单播报文中携带的目的MAC地址相匹配的转发表项;
发送模块30,用于在查找模块20未查找到相匹配的转发表项时,仅将接收模块10接收到的单播报文向该第一VSI内连接本地CE的其他AC泛洪;在所述查找模块20查找到相匹配的转发表项时,利用该转发表项对应的VSI标签和隧道标签,对所述单播报文进行封装,并转发出去,其中,所述隧道标签为该转发表项中的隧道所对应的隧道标签。
根据本发明的一个实施例,所述VPLS网络中部署有连接所述VPLS网络中的所有PE的第一MP2MP LSP;不同PE上配置的属于同一VPLS实例的VSI之间建立有PW连接,PE上的每个VSI分配有一个唯一的VSI标签,该VSI标签对应于该VSI的所有PW。请参照图10,此时第一PE还包括:判断模块40、路径数据管理模块50和转发数据管理模块60,其中,
所述接收模块10还用于从第一MP2MP LSP上接收到第二PE发送的第二通告报文,该第二通告报文中携带有第二PE从第二AC上学习到的第二MAC地址、第二VSI对应的第二VSI标签、第二VSI所属VPLS实例的VPLS ID和第二PE的PE ID,其中所述第二VSI是第二VC关联的VSI;
所述判断模块40用于根据第二通告报文中携带的VPLS ID,判断本地是否存在与所述第二VSI属于同一个VPLS实例的VSI;
所述路径数据管理模块50用于在所述判断模块40判断出本地存在与所述第二VSI属于同一个VPLS实例的VSI时,将第二MAC地址、第二VSI标签和所选隧道之间的对应关系添加到该VSI对应的控制平面的路径数据库中,所述所选隧道是从第一PE到第二PE的隧道中为第二VSI所选择的隧道;
所述转发数据管理模块60用于根据该VSI对应的路径数据库更新该VSI对应的MAC地址转发表。
根据本发明的一个实施例,所述发送模块30还用于在本PE从第一AC上学习到第一MAC地址之后,通过第一MP2MP LSP发送携带有第一MAC地址、第一VSI对应的第一VSI标签、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一通告报文,其中所述第一VSI是第一AC关联的VSI,以使得其他PE根据第一通告报文携带的第一MAC地址、第一VSI标签和第一PE的PEID,在本地对应VSI的MAC地址转发表增加对应的转发表项,所述本地对应的VSI与第一VSI属于同一个VPLS实例。
根据本发明的一个实施例,第一PE还包括有隧道封装剥除模块和VSI标签剥除模块,其中,
所述接收模块还用于从PW上接收到MPLS报文;
所述隧道封装剥除模块用于从所述接收模块接收到的MPLS报文中剥除隧道封装;
所述VSI标签剥除模块用于从剥除了隧道封装的MPLS报文中剥除VSI标签;
所述发送模块还用于根据该MPLS报文中携带的VSI标签,确定对应VSI的MAC地址转发表,并根据该MAC地址转发剥除了隧道封装以及VSI标签的MPLS报文。
根据本发明的一个实施例,所述接收模块还用于从第一MP2MP LSP上接收到第二PE在第二VSI的MAC地址转发表中的MAC地址发生老化后发送的第二撤销报文,第二撤销报文中携带有老化的MAC地址、第二VSI所属VPLS实例的VPLS ID、以及第二PE的PE ID;所述判断模块还用于判断本地是否存在与所述接收模块接收到的第二撤销报文中携带的第二VSI属于同一VPLS实例的VSI;所述路径数据管理模块还用于在本地存在与第二VSI属于同一VPLS实例的VSI时,将第二撤销报文中携带的MAC地址所关联的对应关系,从该VSI对应的路径数据库中删除,并通知所述转发数据管理模块根据该路径数据库更新该VSI对应的MAC地址转发表。
根据本发明的一个实施例,所述发送模块,还用于在第一VSI的MAC地址转发表中的MAC地址发生老化后,通过第一MP2MP LSP发送携带有老化的MAC地址、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一撤销报文,以使得其他PE根据第一撤销报文携带的老化的MAC地址,删除本地对应VSI的MAC地址转发表中的对应表项。
对于广播报文的转发,还可以在MPLS网络中部署连接属于同一个VPLS实例的所有PE的第二MP2MP LSP,第二MP2MP LSP用于传输广播报文;那么,接收模块还用于从AC上接收广播报文,以及,从第二MP2MP LSP上接收广播报文;发送模块还用于在接收模块从AC上接收广播报文之后,在本PE上查找该AC关联的VSI,通过查找到的VSI所属的VPLS实例对应的第二MP2MPLSP发送该广播报文,以及,在接收模块从第二MP2MP LSP上接收广播报文之后,在本PE上查找属于该第二MP2MP LSP对应的VPLS实例的VSI,将该广播报文向查找到的VSI内连接本地CE的所有AC进行广播。
本发明实施例中的模块或单元可以集成于一体,也可以分离部署;可以合并为一个模块或单元,也可以进一步拆分成多个子模块或子单元。本发明各实施例中的模块或单元可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
以上对本发明具体实施例中的PE进行了说明,下面给出本发明具体实施例中PE的硬件架构组成,该PE是可以软硬件结合的可编程设备,具体参见图11,图11是本发明具体实施例中PE的硬件架构组成示意图,该PE包括:存储器110,处理器120,报文处理芯片130,以及耦合存储器110、处理器120、报文处理芯片130的互联机构140;其中,
存储器110,用于存储指令代码和相关列表和路径数据库(包括每一个VSI对应的路径数据库和MAC地址转发表),可以由该存储器实现PE中的保存单元,当所述指令代码被执行时完成的操作主要为PE中的接收模块、查找模块、发送模块、判断模块、路径数据管理模块和转发数据管理模块等模块完成的功能,这里不再详述。
处理器120,用于与报文处理芯片130通信,进行数据报文(包括:从AC接收到的单播报文和广播报文,从PW上接收到的MPLS报文,以及,从第二MP2MP LSP上接收到的广播报文)和协议报文(包括通告报文和撤销报文)的收发;用于与存储器110通信,读取和执行存储器110中存储的所述指令代码,完成上述PE中的接收模块、查找模块、发送模块、判断模块、路径数据管理模块和转发数据管理模块等模块完成的功能,以及对从报文处理芯片130上送的报文的处理。
报文处理芯片130,用于通过该芯片上的端口连接到骨干网络中的其他PE和本站点内的CE,负责上述的数据报文和协议报文的收发处理,将处理器120发来的上述协议报文通过第一MP2MP LSP发送给该第一MP2MP LSP上的其他PE,将处理器120发来的广播报文(从AC上接收到的)通过相应的第二MP2MP LSP发送给该第二MP2MP LSP上的其他PE,将处理器120发来的封装好的MPLS报文(对从AC上接收到的单播报文进行封装后得到的MPLS报文)通过相应的PW发送出去,将处理器120发来的广播报文(从第二MP2MP LSP上接收到的)和解封装后的用户报文(对从PW上接收到的MPLS报文进行解封装后得到的用户报文)通过AC发送到本地站点内,并将接收到的上述协议报文和数据报文上送给处理器120。
互联机构140则提供各模块间的信息交互通道,可以是一根连接各模块的总线,也可以由上述各个模块间的多条线路组成。
需要说明的是,图11所示的PE只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器120可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本发明对PE的具体结构不作具体限定。
综上,本发明以上实施例可以达到以下技术效果:
(1)在进行MAC地址学习时,不是采用现有的数据平面的源MAC地址学习来获得可达性,而是依靠控制平面通告MAC地址可达性信息,即,由PE的控制平面学习MAC地址可达性,提高了MAC地址学习的效率;
(2)对于从AC上接收到的目的MAC地址未知的单播报文,不再向骨干网络侧泛洪,而只在本地站点泛洪,节省了骨干网的带宽资源;
(3)为PE上设置的每一个VSI分配一个唯一的VSI标签,不同的VSI分配不同的VSI标签,从而,同属于一个VSI的多个PW可以共同使用一个VSI标签,减少了标签资源的占用,而且也使得标签分配更加简单;
(4)在骨干网中建立了用于连接属于同一个VPLS实例的所有PE的MP2MP LSP,该MP2MP LSP专门用于传送广播报文,实现了基于MP2MPLSP的广播支持。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种报文转发方法,应用于虚拟专用局域网服务VPLS网络,所述VPLS网络包括多个提供商网络边缘设备PE,每个PE通过接入电路AC连接至用户边界网络设备CE,其特征在于,所述方法包括:
第一PE从第一AC上接收到单播报文;
第一PE在第一AC关联的第一虚拟交换实例VSI所对应的MAC地址转发表中,查找与所述单播报文中携带的目的MAC地址相匹配的转发表项;
若未查找到相匹配的转发表项,则所述第一PE仅将所述单播报文向所述第一VSI内连接本地CE的其他AC泛洪。
2.根据权利要求1所述的方法,其特征在于,所述VPLS网络中部署有连接所有PE的第一多点到多点MP2MP LSP;不同PE上配置的属于同一VPLS实例的VSI之间建立有PW连接;PE上的每个VSI分配有一个唯一的VSI标签,该VSI标签对应于该VSI的所有PW;所述方法还包括:
第一PE从第一AC上学习到第一MAC地址之后,通过第一MP2MP LSP发送携带有第一MAC地址、第一VSI对应的第一VSI标签、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一通告报文,其中所述第一VSI是第一AC关联的VSI,以使得其他PE根据第一通告报文携带的第一MAC地址、第一VSI标签和第一PE的PE ID,在本地对应VSI的MAC地址转发表增加对应的转发表项,所述本地对应的VSI与第一VSI属于同一个VPLS实例。
3.根据权利要求2所述的方法,其特征在于,还包括:
第一PE在第一VSI的MAC地址转发表中的MAC地址发生老化后,通过第一MP2MP LSP发送携带有老化的MAC地址、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一撤销报文,以使得其他PE根据第一撤销报文携带的老化的MAC地址,删除本地对应VSI的MAC地址转发表中的对应表项。
4.根据权利要求1所述的方法,其特征在于,还包括:
第一PE从第一MP2MP LSP上接收到第二PE发送的第二通告报文,该第二通告报文中携带有第二PE从第二AC上学习到的第二MAC地址、第二VSI对应的第二VSI标签、第二VSI所属VPLS实例的VPLS ID和第二PE的PE ID,其中所述第二VSI是第二VC关联的VSI;
第一PE根据第二通告报文中携带的VPLS ID,判断本地是否存在与第二VSI属于同一VPLS实例的VSI,若存在,则在该VSI对应的MAC地址转发表中新建一转发表项,该转发表项保存有第二MAC地址、第二VSI标签和所选隧道之间的对应关系,所述所选隧道是从第一PE到第二PE的隧道中为第二VSI所选择的隧道。
5.根据权利要求4所述的方法,其特征在于,还包括:
第一PE从第一MP2MP LSP上接收到第二PE在第二VSI的MAC地址转发表中的MAC地址发生老化后发送的第二撤销报文,第二撤销报文中携带有老化的MAC地址、第二VSI所属VPLS实例的VPLS ID、以及第二PE的PE ID;
第一PE根据第二撤销报文中携带的VPLS ID,判断本地是否存在与第二VSI属于同一VPLS实例的VSI,若存在,则根据所述第二撤销报文更新该VSI对应的MAC地址转发表,以将老化的MAC地址对应的转发表项删除。
6.根据权利要求4所述的方法,其特征在于,还包括:
若查找到与所述单播报文中携带的目的MAC地址相匹配的转发表项,则第一PE利用该转发表项对应的VSI标签和隧道标签,对所述单播报文进行封装,并转发出去,其中,所述隧道标签为该转发表项中的隧道所对应的隧道标签。
7.根据权利要求6所述的方法,其特征在于,还包括:
第一PE从PW上接收到MPLS报文后,剥除所述MPLS报文中的隧道封装;
第一PE进一步剥除所述MPLS报文中的携带的VSI标签,根据该VSI标签,确定对应VSI的MAC地址转发表,并根据该MAC地址转发表对所述MPLS报文进行查表转发。
8.根据权利要求2所述的方法,其特征在于,所述MPLS网络中还部署有连接属于同一个VPLS实例的所有PE的第二MP2MP LSP,所述第二MP2MPLSP用于传输广播报文;所述方法还包括:
第一PE从第一AC上接收到广播报文之后,查找第一AC关联的第一VSI,通过第一VSI所属VPLS实例所对应的第二MP2MP LSP发送该广播报文;
第一PE从第二MP2MP LSP上接收到广播报文之后,查找属于该第二MP2MP LSP对应的VPLS实例的VSI,将该广播报文向查找到的VSI内连接本地CE的所有AC进行广播。
9.一种第一服务提供商网络边缘设备PE,应用于虚拟专用局域网服务VPLS网络,其特征在于,包括:
接收模块,用于从第一接入电路AC上接收单播报文;
查找模块,用于在第一AC关联的第一虚拟交换实例VSI所对应的MAC地址转发表中,查找与所述单播报文中携带的目的MAC地址相匹配的转发表项;
发送模块,用于在查找模块未查找到相匹配的转发表项时,仅将接收模块接收到的单播报文向所述第一VSI内连接本地CE的其他AC泛洪。
10.根据权利要求9所述的第一PE,其特征在于,所述VPLS网络中部署有连接所述VPLS网络中的所有PE的第一多点到多点MP2MP LSP;不同PE上配置的属于同一VPLS实例的VSI之间建立有PW连接;PE上的每个VSI分配有一个唯一VSI标签,该VSI标签对应于该VSI的所有PW;
所述发送模块还用于在本PE从第一AC上学习到第一MAC地址之后,通过第一MP2MP LSP发送携带有第一MAC地址、第一VSI对应的第一VSI标签、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一通告报文,其中所述第一VSI是第一AC关联的VSI,以使得其他PE根据第一通告报文携带的第一MAC地址、第一VSI标签和第一PE的PE ID,在本地对应VSI的MAC地址转发表增加对应的转发表项,所述本地对应的VSI与第一VSI属于同一个VPLS实例。
11.根据权利要求10所述的第一PE,其特征在于,
所述发送模块,还用于在第一VSI的MAC地址转发表中的MAC地址发生老化后,通过第一MP2MP LSP发送携带有老化的MAC地址、第一VSI所属VPLS实例的VPLS ID和第一PE的PE ID的第一撤销报文,以使得其他PE根据第一撤销报文携带的老化的MAC地址,删除本地对应VSI的MAC地址转发表中的对应表项。
12.根据权利要求9所述的第一PE,其特征在于,还包括:判断模块、路径数据管理模块和转发数据管理模块,其中,
所述接收模块还用于从第一MP2MP LSP上接收到第二PE发送的第二通告报文,该第二通告报文中携带有第二PE从第二AC上学习到的第二MAC地址、第二VSI对应的第二VSI标签、第二VSI所属VPLS实例的VPLS ID和第二PE的PE ID,其中所述第二VSI是第二VC关联的VSI;
所述判断模块用于根据第二通告报文中携带的VPLS ID,判断本地是否存在与所述第二VSI属于同一个VPLS实例的VSI;
所述路径数据管理模块用于在所述判断模块判断出本地存在与所述第二VSI属于同一个VPLS实例的VSI时,将第二MAC地址、第二VSI标签和所选隧道之间的对应关系添加到该VSI对应的控制平面的路径数据库中,所述所选隧道是从第一PE到第二PE的隧道中为第二VSI所选择的隧道;
所述转发数据管理模块用于根据该VSI对应的路径数据库更新该VSI对应的MAC地址转发表。
13.根据权利要求12所述的第一PE,其特征在于,
所述接收模块还用于从第一MP2MP LSP上接收到第二PE在第二VSI的MAC地址转发表中的MAC地址发生老化后发送的第二撤销报文,第二撤销报文中携带有老化的MAC地址、第二VSI所属VPLS实例的VPLS ID、以及第二PE的PE ID;
所述判断模块还用于判断本地是否存在与所述接收模块接收到的第二撤销报文中携带的第二VSI属于同一VPLS实例的VSI;
所述路径数据管理模块还用于在本地存在与第二VSI属于同一VPLS实例的VSI时,将第二撤销报文中携带的MAC地址所关联的对应关系,从该VSI对应的路径数据库中删除,并通知所述转发数据管理模块根据该路径数据库更新该VSI对应的MAC地址转发表。
14.根据权利要求12所述的第一PE,其特征在于,
所述发送模块,还用于在所述查找模块查找到相匹配的转发表项时,利用该转发表项对应的VSI标签和隧道标签,对所述单播报文进行封装,并转发出去,其中,所述隧道标签为该转发表项中的隧道所对应的隧道标签。
15.根据权利要求14所述的第一PE,其特征在于,还包括隧道封装剥除模块和VSI标签剥除模块,其中,
所述接收模块还用于从PW上接收到MPLS报文;
所述隧道封装剥除模块用于从所述接收模块接收到的MPLS报文中剥除隧道封装;
所述VSI标签剥除模块用于从剥除了隧道封装的MPLS报文中剥除VSI标签;
所述发送模块还用于根据该MPLS报文中携带的VSI标签,确定对应VSI的MAC地址转发表,并根据该MAC地址转发剥除了隧道封装以及VSI标签的MPLS报文。
16.根据权利要求10所述的第一PE,其特征在于,所述MPLS网络中还部署有连接属于同一个VPLS实例的所有PE的第二MP2MP LSP,所述第二MP2MP LSP用于传输广播报文;
所述接收模块还用于从第一AC上接收广播报文,以及,从第二MP2MP LSP上接收广播报文;
所述发送模块还用于在所述接收模块从第一AC上接收广播报文之后,查找第一AC关联的第一VSI,通过第一VSI所属VPLS实例所对应的第二MP2MPLSP发送该广播报文,以及,在所述接收模块从第二MP2MP LSP上接收广播报文之后,查找属于该第二MP2MP LSP对应的VPLS实例的VSI,将该广播报文向查找到的VSI内连接本地CE的所有AC进行广播。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210344345.XA CN103685022B (zh) | 2012-09-17 | 2012-09-17 | 报文转发方法及服务提供商网络边缘设备 |
US14/399,963 US9509609B2 (en) | 2012-09-17 | 2013-09-17 | Forwarding packets and PE devices in VPLS |
PCT/CN2013/083605 WO2014040569A1 (en) | 2012-09-17 | 2013-09-17 | Forwarding packets and pe devices in vpls |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210344345.XA CN103685022B (zh) | 2012-09-17 | 2012-09-17 | 报文转发方法及服务提供商网络边缘设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685022A CN103685022A (zh) | 2014-03-26 |
CN103685022B true CN103685022B (zh) | 2016-12-21 |
Family
ID=50277650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210344345.XA Active CN103685022B (zh) | 2012-09-17 | 2012-09-17 | 报文转发方法及服务提供商网络边缘设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9509609B2 (zh) |
CN (1) | CN103685022B (zh) |
WO (1) | WO2014040569A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391641A (zh) * | 2014-09-03 | 2016-03-09 | 中兴通讯股份有限公司 | 一种专用网络内消息转发方法及装置 |
EP3068112B1 (en) * | 2015-03-11 | 2018-05-23 | Advanced Digital Broadcast S.A. | System and method for mac address acquisition |
WO2016175873A1 (en) * | 2015-04-29 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Client communications in multi-tenant data center networks |
US11070395B2 (en) * | 2015-12-09 | 2021-07-20 | Nokia Of America Corporation | Customer premises LAN expansion |
CN106101023B (zh) * | 2016-05-24 | 2019-06-28 | 华为技术有限公司 | 一种vpls报文处理方法及设备 |
CN107528700B (zh) * | 2016-06-22 | 2021-08-17 | 中兴通讯股份有限公司 | 跨域边缘设备、分层vpls网络及其广播流量处理方法 |
CN107800549B (zh) * | 2016-08-30 | 2020-01-03 | 新华三技术有限公司 | 基于交换设备的端口实现多租户设备环境mdc的方法和装置 |
CN108141392B (zh) | 2016-09-30 | 2020-04-28 | 华为技术有限公司 | 伪线负载分担的方法和设备 |
US10666459B1 (en) * | 2017-04-07 | 2020-05-26 | Cisco Technology, Inc. | System and method to facilitate interoperability between virtual private LAN service (VPLS) and ethernet virtual private network (EVPN) with all-active multi-homing |
CN107612738B (zh) * | 2017-09-22 | 2019-09-27 | 烽火通信科技股份有限公司 | Vpls双归属业务模型的上行流量快速切换系统及方法 |
CN108259350B (zh) * | 2017-10-24 | 2021-02-26 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
CN110417655B (zh) * | 2018-04-28 | 2021-07-02 | 中兴通讯股份有限公司 | 一种数据报文转发的方法及装置 |
EP3751532A1 (en) * | 2019-06-13 | 2020-12-16 | Rohde & Schwarz GmbH & Co. KG | Remote access and control system and corresponding method |
CN112887139B (zh) * | 2021-01-22 | 2022-05-27 | 新华三信息安全技术有限公司 | 报文处理方法及装置 |
CN113472665B (zh) * | 2021-06-17 | 2022-11-18 | 新华三信息安全技术有限公司 | Evpn下不同组网对接的实现方法及装置 |
CN113422730B (zh) * | 2021-06-23 | 2022-04-22 | 新华三信息安全技术有限公司 | 一种流量转发方法、装置、pe设备及存储介质 |
CN113660151B (zh) * | 2021-08-09 | 2023-03-14 | 中国电信股份有限公司 | L2vpn跨业务通信方法、装置、电子设备和可读介质 |
CN113676391A (zh) * | 2021-08-16 | 2021-11-19 | 上海地面通信息网络股份有限公司 | 一种数据传输方法、装置、通信节点和存储介质 |
CN113472699A (zh) * | 2021-08-23 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种网络表项同步方法及装置 |
CN114221834B (zh) * | 2021-11-24 | 2024-03-12 | 新华三技术有限公司合肥分公司 | 一种报文转发方法及装置 |
CN115426296B (zh) * | 2022-08-31 | 2023-10-13 | 杭州云合智网技术有限公司 | 在evpn vpws双归属双活下的连通确认方法、装置、设备及介质 |
CN115834287B (zh) * | 2022-11-28 | 2023-11-14 | 北京神经元网络技术有限公司 | 宽带现场总线的多域数据交换设备、网络系统及交换方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905509A (zh) * | 2006-08-03 | 2007-01-31 | 华为技术有限公司 | 用户接入虚拟专用局域网服务的方法和系统 |
CN101534209A (zh) * | 2009-04-20 | 2009-09-16 | 杭州华三通信技术有限公司 | 一种组播报文发送的方法和装置 |
US7830787B1 (en) * | 2001-09-25 | 2010-11-09 | Cisco Technology, Inc. | Flooding control for multicast distribution tunnel |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US20030065943A1 (en) | 2001-09-28 | 2003-04-03 | Christoph Geis | Method and apparatus for recognizing and reacting to denial of service attacks on a computerized network |
US7796611B2 (en) * | 2004-06-07 | 2010-09-14 | Alcatel | Method for providing efficient multipoint network services |
CN100512196C (zh) | 2007-09-12 | 2009-07-08 | 华为技术有限公司 | 清除介质访问控制地址的方法、系统和设备 |
CN101616082B (zh) | 2009-07-29 | 2011-09-07 | 杭州华三通信技术有限公司 | 一种虚拟专用局域网服务网络中报文处理的方法及设备 |
CN101610216B (zh) * | 2009-07-29 | 2012-10-17 | 华为技术有限公司 | 以太网报文转发方法、装置及系统 |
CN101719857B (zh) | 2009-12-16 | 2012-01-11 | 中兴通讯股份有限公司 | 一种基于非对称pw的vpls网络接入方法及系统 |
US8416775B2 (en) * | 2010-05-19 | 2013-04-09 | Juniper Networks, Inc. | Systems and methods for equal-cost multi-path virtual private LAN service |
US8908517B2 (en) * | 2011-03-10 | 2014-12-09 | Cisco Technology, Inc. | Traffic distribution across a plurality of attachment circuits of a multihome site with a computer network using hashing algorithm |
CN102932499B (zh) * | 2012-11-01 | 2015-05-13 | 杭州华三通信技术有限公司 | Vpls网络中的mac地址学习方法及设备 |
-
2012
- 2012-09-17 CN CN201210344345.XA patent/CN103685022B/zh active Active
-
2013
- 2013-09-17 WO PCT/CN2013/083605 patent/WO2014040569A1/en active Application Filing
- 2013-09-17 US US14/399,963 patent/US9509609B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7830787B1 (en) * | 2001-09-25 | 2010-11-09 | Cisco Technology, Inc. | Flooding control for multicast distribution tunnel |
CN1905509A (zh) * | 2006-08-03 | 2007-01-31 | 华为技术有限公司 | 用户接入虚拟专用局域网服务的方法和系统 |
CN101534209A (zh) * | 2009-04-20 | 2009-09-16 | 杭州华三通信技术有限公司 | 一种组播报文发送的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US9509609B2 (en) | 2016-11-29 |
US20150146727A1 (en) | 2015-05-28 |
CN103685022A (zh) | 2014-03-26 |
WO2014040569A1 (en) | 2014-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685022B (zh) | 报文转发方法及服务提供商网络边缘设备 | |
CN104009926B (zh) | Evi网络中的组播方法及边缘设备ed | |
US11539619B1 (en) | Local-bias forwarding of L2 multicast, unknown unicast, and broadcast traffic for an ethernet VPN | |
CN107135133B (zh) | 多家庭pbb-evpn网络中的水平分割数据包转发 | |
CN102971992B (zh) | 虚拟专用局域网设备、网络组件和数据帧转发方法 | |
CN103270736B (zh) | 一种网络设备 | |
CN104378297B (zh) | 一种报文转发方法及设备 | |
CN104869042B (zh) | 报文转发方法和装置 | |
CN102932499B (zh) | Vpls网络中的mac地址学习方法及设备 | |
CN107040469A (zh) | 网络设备及方法 | |
CN104168184B (zh) | 报文转发方法及设备 | |
CN110086714A (zh) | 在以太网vpn中通过多归属设备处理多播连接消息 | |
US8125926B1 (en) | Inter-autonomous system (AS) virtual private local area network service (VPLS) | |
CN102932254B (zh) | 报文转发方法及装置 | |
CN107566263A (zh) | 用于evpn链路故障的层3会聚的方法及网络设备 | |
US10291433B2 (en) | Signaling multicast information to a redundant multi-homing router for a layer 2 virtual private network | |
CN102739501B (zh) | 二三层虚拟私有网络中的报文转发方法和系统 | |
CN107040463A (zh) | 用于避免由于非对称mac获悉的流量泛洪的系统 | |
CN103546374A (zh) | 一种边缘二层网络中转发报文的方法和装置 | |
CN103731349B (zh) | 一种以太网虚拟化互联邻居间报文转发方法和边缘设备 | |
US10020954B2 (en) | Generic packet encapsulation for virtual networking | |
CN103139075A (zh) | 一种报文传输方法和设备 | |
CN103685007B (zh) | 一种边缘设备报文转发时的mac学习方法及边缘设备 | |
CN104009919A (zh) | 报文转发方法及装置 | |
CN103873339B (zh) | 一种虚拟网关路由器的分配方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |