发现vpls实例的对端pe设备的方法及设备的制作方法
【专利摘要】本发明公开了一种发现VPLS实例的对端PE设备的方法及设备,网络中部署有连接各个PE设备的MP2MP?LSP,该方法包括:第一PE设备从MP2MP?LSP上接收到第二PE设备发送的携带有第二PE设备上设置的VSI的通告报文;针对第二PE设备上设置的每一个VSI,第一PE设备判断本地是否存在与该VSI属于同一个VPLS实例的VSI;若存在属于同一个VPLS实例的VSI,则第一PE设备确定第二PE设备为该VPLS实例的对端PE设备。本发明避免了使用原理复杂的BGP协议,运行机制比较简单。
【专利说明】发现VPLS实例的对端PE设备的方法及设备
【技术领域】
[0001]本发明涉及网络【技术领域】,特别涉及一种发现VPLS实例的对端PE设备的方法及设备。
【背景技术】
[0002]当今IP (Internet Protocol,因特网协议)网络已经遍布全球,利用现有IP网络为企业提供低成本专网逐渐成为各大运营商的关注点。因此,一种在IP网上提供VPN(Virtual Private Network,虚拟专用网络)服务、可方便设定速率、配置简单的技术应运而生,这种技术即MPLS (Mult1-protocol Label Switching,多协议标签交换)VPN技术。基于 MPLS 的 VPN 技术有两种,分别是 MPLS L3VPN (Layer 3Virtual Private Network,三层虚拟专用网)和MPLS L2VPN (Layer 2Virtual Private Network, 二层虚拟专用网络)。传统的MPLS L2VPN,在公网中提供一种点到点的L2VPN业务,可以让两个站点之间的连接效果像直接用链路连接一样,但它不能直接在服务提供者处进行多点间的交换。VPLS(Virtual Private LAN Service,虚拟专用局域网服务)在传统MPLS L2VPN方案的基础上发展而成,它可以实现多点到多点的VPN组网。VPLS为运营商提供了一种更加完备的解决方案。VPLS结合了以太网技术和MPLS技术的优势,是对传统LAN全部功能的仿真,其主要目的是通过运营商提供的IP/MPLS网络连接地域上隔离的多个由以太网构成的LAN(LocalArea Network,局域网),使它们像一个LAN那样工作。
[0003]图1是现有技术的VPLS的典型组网图,首先对图1中涉及的技术术语进行解释:
[0004]MPLS:使用定长标签来封装分组报文,基于标签进行转发;
[0005]CECCustomer Edge,用户网络边缘设备):有接口直接与 SP(Service Provider,服务提供商)相连,CE可以是路由器或交换机,也可以是一台主机,也不需要必须支持MPLS ;
[0006]PE (Provider Edge,服务提供商网络边缘设备):与CE相连,主要负责VPN业务的接入,它完成报文从私网到公网隧道,并从公网隧道到私网的映射与转发;
[0007]VSI (Virtual Switch Instance,虚拟交换实例):VPLS实例在一个PE设备上的一个以太网桥功能实体,根据MAC地址和VLAN TAG进行二层报文转发,VSI是一台虚拟的边界设备 Virtual Edge Device (VE);
[0008]Pff (Pseudo Wire,伪线):两个PE设备上的VSI之间的一条双向虚拟连接,由一对方向相反的单向VC (Virtual Circuit,虚电路)LSP (Label Switched Path,标签交换路径)组成,也称为仿真电路,只有两个方向的VC LSP都up,Pff才是up的;
[0009]Tunnel (隧道):用于承载PW,一条隧道上可以承载多条PW,隧道是一条本端PE设备与对端PE设备之间的直连通道,完成PE设备之间的数据透明传输,可以是MPLS或GRE(Generic Routing Encapsulation,通用路由封装)隧道等;
[0010]AC (Attachment Circuit,接入电路):用户与服务提供商之间的连接,即连接CE设备与PE设备的链路,对应的接口只能是以太网接口。
[0011]如图1所示,用户网络可能包括分布在不同地理位置的多个站点(site)。每个站点包括CE设备及其下挂的大量的PC (Private Computer,个人电脑)和服务器等,CE设备通过PE设备接入骨干网。在骨干网上利用VPLS技术将这些站点连接起来,为用户提供一个VPN,这个VPN称为一个VPLS实例。在PE设备上,通过VSI来为特定的VPN分配资源。一个PE设备可以同时设置多个VSI,以同时支持多个VPLS实例。
[0012]如图2所示,VPLS通过数据平面的源MAC地址学习来获得可达性。PE设备为每一个VSI维护一张独立的MAC (Media Access Control,媒体访问控制)地址转发表。当从入方向的VC LSP上收到一个分组报文时,将该分组报文的源MAC地址与出方向的VC LSP形成映射关系。在图2中,实线箭头表示以太网报文:ARP (Address Resolution Protocol,地址解析协议)广播报文的转发路径,虚线表示ARP响应报文的转发路径。当PE2从PWl上收到ARP广播报文后,会在MAC地址转发表中添加出端口为PWl的MAC转发项。
[0013]报文在PW上发送时,需要打上内层的PW标签和外层的隧道标签。隧道标签主要用于通过隧道中间设备的标签交换,将报文送到对端PE设备,PW标签用于当报文达到对端PE设备后,对端PE设备能根据PW标签找到对应的VSI。
[0014]由上可知,PW是VPLS在公网上的通信通道,它建立在MPLS或GRE等隧道之上。仓【J建PW需要执行以下步骤:
[0015]步骤I,在本端PE设备和对端PE设备之间建立MPLS或GRE等隧道;
[0016]步骤2,确定VPLS实例的对端PE设备的地址。即,本端PE设备针对配置的特定VSI发现哪些远端PE设备上存在属于同一个VPLS实例的VSI。可以通过手工配置来指定其上存在与本端的特定VSI属于同一个VPLS实例的VSI的对端PE设备的地址,也可以通过自动发现的方式确定其上存在本端的特定VSI属于同一个VPLS实例的VSI的对端PE设备。前一种方式是由 设备的网络管理员手工配置指定,后一种方式通常通过一些自动发现协议来发现,目前主要利用BGP (Border Gateway Protocol,边界网关协议)信令协议来实现VPLS实例的对端(或远端)PE设备的自动发现。
[0017]步骤3,本端PE设备上的特定VSI发现远端PE设备上存在属于同一个VPLS实例的VSI后,需要通过标签分发协议(Label Distribution Protocol, LDP)向发现的那个PE设备的VSI通告连接本端VSI和远端VSI的PW的入方向VC LSP的PW标签,建立单向的VC,从而创建PW。
[0018]其中,在上述步骤2中,利用BGP信令协议来自动发现VPLS实例的对端PE设备的流程如下:
[0019]步骤21,本端PE设备与网络内部署的其他PE设备建立BGP协议的全连接;
[0020]步骤22,本端PE设备利用BGP的Update (更新)消息向其他PE设备进行标签通告,其中,该Update消息中携带有BGP扩展团体属性、VE ID和标签块信息。VE ID为与PE设备相连的每个Site在VPN内的唯一编号,由服务供应商统一规划;标签块包含一组连续的标签;BGP扩展团体属性(一个VSI下配置有一个BGP扩展团体属性)中包含有路由目标属性(rout target),路由目标属性又进一步包括导出(export)和输入(import)两种方式。[0021 ] 步骤23,本端PE设备接收到其他PE设备发来的Update消息之后,将接收的Update消息中携带的导出方式的BGP扩展团体属性与本地的输入方式的BGP扩展团体属性进行匹配,若匹配成功,则确定发送该Update消息的PE设备上的该VSI与自己的VSI是属于同一个VPLS实例,即,本端VSI与对端VSI属于同一个VPLS实例,该Update消息的PE设备为该VPLS实例的对端PE设备。
[0022]但是,现有的自动发现VPLS实例的对端PE设备的方法中,引入了 BGP协议,BGP协议本身原理比较复杂,从而使得现有的自动发现方法的实现也比较复杂;并且,现有的自动发现方法的配置也比较多,例如,每一个PE设备都需要配置与其他设备的BGP全连接,每一个PE设备上的每一个VSI下都需要配置一个BGP扩展团体属性等。
【发明内容】
[0023]有鉴于此,本发明提供了一种发现VPLS实例的对端PE设备的方法及设备,以至少解决现有的自动发现方法的实现比较复杂的问题。
[0024]本发明的技术方案如下:
[0025]一方面,提供了一种发现VPLS实例的对端PE设备的方法,网络中部署有连接各个PE设备的MP2MP LSP,方法包括:第一 PE设备从MP2MP LSP上接收到第二 PE设备发送的携带有第二 PE设备上设置的虚拟交换实例VSI的通告报文;针对第二 PE设备上设置的每一个VSI,第一 PE设备判断本地是否存在与该VSI属于同一个VPLS实例的VSI ;若存在属于同一个VPLS实例的VSI,则第一 PE设备确定第二 PE设备为该VPLS实例的对端PE设备。
[0026]另一方面,还提供了一种PE设备,该PE设备所在的网络中部署有连接各个PE设备的MP2MP LSP,该PE设备包括:接收模块,用于从MP2MP LSP上接收第二 PE设备发送的携带有第二 PE设备上设置的虚拟交换实例VSI的通告报文;判断模块,用于针对接收模块接收到的第二 PE设备上设置的每一个VSI,判断本PE设备上是否存在与该VSI属于同一个VPLS实例的VSI ;确定模块,用于在判断模块的判断结果为存在属于同一个VPLS实例的VSI时,确定第二 PE设备为该VPLS实例的对端PE设备。
[0027]本发明的以上技术方案,网络中部署了连接各个PE设备的MP2MP LSP,每一个PE设备都会通过MP2MP LSP向其他PE设备发送携带有自身上设置的VSI的通告报文,并且,在接收到其他PE设备,例如第二 PE设备发送的通告报文之后,针对通告报文中携带的第二PE设备上设置的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,若本地存在属于同一个VPLS实例的VSI,就可以确定第二 PE设备即为该VPLS实例的对端PE设备,从而实现了 VPLS实例的对端PE设备的自动发现。本方法依赖于网络中部署的MP2MPLSP通信通道传送携带有PE设备上设置的VSI的通告报文,避免了使用原理复杂的BGP协议,运行机制比较简单。
【专利附图】
【附图说明】
[0028]图1是现有技术的VPLS的典型组网图;
[0029]图2是现有技术的VPLS源地址学习的示意图;
[0030]图3是根据本发明的实施例的建立了 MP2MP LSP的一种网络架构示意图;
[0031]图4是根据本发明的实施例的建立了 MP2MP LSP的另一种网络架构示意图;
[0032]图5是根据本发明的实施例的发现VPLS实例的对端PE设备的方法中VSI通告过程的流程图;
[0033]图6是根据本发明的实施例的发现VPLS实例的对端PE设备的方法中VSI撤销过程的流程图;[0034]图7是根据本发明的实施例的VEDP协议报文封装在没有IP封装的MPLS TP报文的ACH头中时的报文格式示意图;
[0035]图8是根据本发明的实施例的发现VPLS实例的对端PE设备的网络架构图;
[0036]图9是根据本发明的实施例的PE设备的一种结构示意图;
[0037]图10是根据本发明的实施例的PE设备的另一种结构示意图;
[0038]图11是根据本发明的具体实施例中PE设备的硬件架构组成示意图。
【具体实施方式】
[0039]现有技术的自动发现VPLS实例的对端PE设备的方法中,引入了 BGP协议,BGP协议本身原理比较复杂,从而使得现有的自动发现方法的实现也比较复杂。为了解决现有技术存在的上述问题,本发明以下实施例提供了一种新的自动发现VPLS实例的对端PE设备的方法以及可以应用该方法的PE设备,该方法基于MP2MP(Mult1-point to Mult1-point,多点到多点)LSP,也就是说,本发明以下实施例依赖于网络中部署的MP2MP LSP来实现。
[0040]图3和图4是建立了 MP2MP LSP的两种网络架构示意图。如图3和图4所示,在骨干网络中部署有一个连接各个PE设备(可以是所有PE设备或部分PE设备)的MP2MP LSP,该MP2MP LSP作为各个PE设备之间交互协议报文的通信通道。MP2MP LSP只用于承载PE设备之间的协议报文,而不用于承载用户数据报文,是一条低负载的通信通道。
[0041]建立MP2MP LSP时,指定骨干网中的一个节点作为根节点(根节点可以是P设备,也可以是PE设备),MP2MP LSP上除根节点以外的其他PE设备称为叶子节点。根节点是MP2MP LSP上的唯一组播复制节点,根节点对于从任意一个作为叶子节点的PE设备接收到的分组报文进行组播复制(也就是将分组报文的最外层的隧道标签分别替换为转发到不同PE设备所需要的标签),发给MP2MP LSP连接的其它PE设备。从而,作为叶子节点的PE设备之间可以通过MP2MP LSP交互协议报文。
[0042]图3中,根节点为P设备,图4中,根节点为PE设备。图3和图4中省略了除指定为根节点的P设备以外的所有其它P设备,虚线双向箭头表示连接根节点与叶子节点的双向的 LSP 片段(SUb-LSP)。
[0043]图5是根据本发明的实施例的发现VPLS实例的对端PE设备的方法,本方法中PE设备之间交互的协议报文(包括通告报文和撤销报文)通过如图3和4所示的MP2MP LSP传送。本方法由MP2MP LSP连接的任意一个PE设备来执行。
[0044]需要说明的是:下文中的第一PE设备可以是MP2MP LSP连接的任意一个作为叶子节点的PE设备,而不特指某一个PE设备,第二 PE设备可以是不同于第一 PE设备的任意一个作为叶子节点的PE设备,也不特指某一个PE设备。
[0045]本方法包括两个过程:VSI通告(也可称为VE通告)过程和VSI撤销(也可称为VE撤销)过程,这两个过程在进行时没有先后顺序,下面分别对这两个过程进行描述。
[0046]一、VSI 通告
[0047]如图5所示,本方法中的VSI通告过程包括以下步骤:
[0048]步骤S502,第一 PE设备从MP2MP LSP上接收到第二 PE设备发送的携带有第二 PE设备上设置的VSI的通告报文(也可称为VE通告报文);
[0049]MP2MP LSP上连接的每一个PE设备会通过MP2MP LSP向其他PE设备发送携带有本地设置的所有VSI的通告报文(也可称为VE通告报文),因此,第一 PE设备会通过MP2MPLSP向其他PE设备发送携带有自身上设置的VSI的通告报文,这样,其他PE设备从MP2MPLSP上接收到第一 PE设备发送的携带有第一 PE设备上设置的VSI的通告报文之后,就可以针对第一 PE设备上设置的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定第一 PE设备为该VPLS实例的对端PE设备(即步骤S502?S506)。同样,第二 PE设备也会通过MP2MP LSP向其他PE设备发送携带有自身上设置的VSI的通告报文。
[0050]步骤S504,针对步骤S502中接收到的通告报文中携带的第二 PE设备上设置的每一个VSI,第一 PE设备判断本地是否存在与该VSI属于同一个VPLS实例的VSI,若判断出本地存在属于同一个VPLS实例的VSI,则进入步骤S506,否则,返回步骤S504判断下一个VSI,直至第二 PE设备上设置的所有VSI均判断完毕;
[0051]由于在PE设备上设置一个VSI时,会指定该VSI所属的VPLS实例的VPLS ID,因此该VPLS ID即标识了一个VSI,这样,通告报文中可以携带有:发送该通告报文的PE设备的ID(标识)以及发送该通告报文的PE设备上设置的VSI所属的VPLS实例的VPLS ID。从而,任意一个PE设备可以通过MP2MP LSP向其他PE设备发送携带有上述信息的通告报文,来通告自身上设置的所有VSI。这样,在步骤S502中,第一 PE设备会从MP2MP LSP上接收到第二 PE设备发来的通告报文,该通告报文中携带有第二 PE设备的ID以及第二 PE设备上设置的VSI所属的VPLS实例的VPLS ID。
[0052]因此,在步骤S504中,第一 PE设备可以针对接收到的通告报文中携带的每一个VPLS ID (记为VPLS IDi (i = 1,2,...N,N为第二 PE设备上设置的VSI的总数)),判断本地设置的VSI所属的VPLS实例的VPLS ID中是否存在与该VPLS IDi相同的VPLS ID。
[0053]步骤S506,第一 PE设备确定第二 PE设备是该VPLS实例的对端PE设备,然后,返回步骤S504判断下一个VSI,直至第二 PE设备上设置的所有VSI均判断完毕;
[0054]在实际实施过程中,在PE设备上可以为其上设置的每一个VSI建立一个对应的远端成员列表,该远端成员列表用于记录该VSI所属的VPLS实例的对端PE设备的PE ID。本端PE设备在发现了一个VPLS实例的对端PE设备之后,就可以将该对端PE设备的PE ID记录到与对应VSI对应的远端成员列表中。
[0055]这样,针对接收到的第二 PE设备发来的通告报文中携带的每一个VSI,若第一 PE设备在步骤S504中本地存在与该VSI属于同一个VPLS实例的VSI,则第一 PE设备将接收到的通告报文中携带的第二 PE设备的PE ID增加到该VSI对应的远端成员列表中。显然,在该远端成员列表中尚未记录第二 PE设备的PE ID时才会记录,在已经记录了第二 PE设备的PE ID时,就无需再记录了。
[0056]在使用VSI所属的VPLS实例对应的VPLS ID来标识该VSI时,针对接收到的第二PE设备发来的通告报文中携带的每一个VPLS ID (记为VPLS IDi ),若第一 PE设备在步骤S504中判断出本地存在与该VPLS IDi相同的VPLS ID,则第一 PE设备将接收到的通告报文中携带的第二 PE设备的PE ID记录到第一 VSI (第一 VSI对应的VPLS ID为VPLS IDi)对应的第一远端成员列表中。若第一 PE设备在步骤S504中判断出本地不存在与该VPLSIDi相同的VPLS ID,那么,说明第一 PE设备上未设置该VSI,继续执行步骤S504判断下一个VSI (即令i i+Ι,并返回步骤S504),直至所有VSI均判断完毕(即i = N)。[0057]本发明实施例中的发现VPLS实例的对端PE设备的方法中,网络中部署了连接各个PE设备的MP2MP LSP,每一个PE设备会通过MP2MP LSP向其他PE设备发送携带有自身上设置的VSI的通告报文,并且,在接收到其他PE设备,例如第二 PE设备发送的通告报文之后,针对通告报文中携带的第二 PE设备上设置的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,若本地存在属于同一个VPLS实例的VSI,就可以确定第二 PE设备即为该VPLS实例的对端PE设备,从而实现了 VPLS实例的对端PE设备的自动发现。本方法依赖于网络中部署的MP2MP LSP通信通道传送携带有PE设备上设置的VSI的通告报文,避免了使用原理复杂的BGP协议,运行机制比较简单。
[0058]二、VSI 撤销
[0059]当任意一台PE设备上有VSI被删除时,也需要将被删除的VSI通知到其他PE设备,其他PE设备在判断出本地存在与被删除的VSI属于同一个VPLS实例的VSI之后,就可以确定出该PE设备不再是该VPLS实例的对端PE设备。
[0060]如图6所示,本方法中的VSI撤销过程包括以下步骤:
[0061]步骤S602,第一 PE设备从MP2MP LSP上接收到第二 PE设备发送的携带有第二 PE设备上被删除的VSI的撤销报文(也可称为VE撤销报文),其中,第二 PE设备在本地有VSI被删除时,通过MP2MP LSP向其他PE设备发送携带有第二 PE设备上被删除的VSI的撤销报文,与通告报文类似,撤销报文中还携带有发送该撤销报文的PE设备的PE ID。
[0062]MP2MP LSP上连接的每一个PE设备在本地有VSI被删除时,会通过MP2MP LSP向其他PE设备发送携带有本地被删除的VSI的撤销报文,因此,第一 PE设备在本地有VSI被删除时,会通过MP2MP LSP向其他PE设备发送携带有第一 PE设备上被删除的VSI的撤销报文,以便其他PE设备从MP2MP LSP上接收到第一 PE设备发送的携带有第一 PE设备上被删除的VSI的撤销报文之后,针对该撤销报文中携带的第一PE设备上被删除的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定第一 PE设备不再是该VPLS实例的对端PE设备(即步骤S602?S606)。同样,第二 PE设备在本地有VSI被删除时,也会通过MP2MP LSP向其他PE设备发送携带有自身上被删除的VSI的撤销报文。
[0063]在使用VSI所属的VPLS实例的VPLS标识该VSI时,撤销报文中携带有:发送该撤销报文的PE设备的标识ID、发送该撤销报文的PE设备上被删除的VSI所属的VPLS实例的VPLS ID。这样,在步骤S602中,第一 PE设备会从MP2MP LSP上接收到第二 PE设备在本地有VSI被删除时发来的撤销报文,该撤销报文中携带有第二 PE设备的ID以及第二 PE设备上被删除的VSI所属的VPLS实例的VPLS ID。
[0064]在实际实施过程中,每一个PE设备在发送通告报文时,可以周期性地发送并在发送次数达到第三预定数量(该值可以预先设定,可以根据实际需要设置具体数值)时,停止发送;也可以不按照周期性的方式发送,本发明对此不做限定。
[0065]步骤S604,针对步骤S602中接收到的撤销报文中携带的第二 PE设备上被删除的每一个VSI,第一 PE设备判断本地是否存在与该VSI属于同一个VPLS实例的VSI,若判断出本地存在与该VSI属于同一个VPLS实例的VSI,则进入步骤S606,否则,返回步骤S602判断下一个VSI,直至第二 PE设备上被删除的所有VSI均判断完毕;
[0066]第一 PE设备可以针对接收到的撤销报文中携带的每一个VPLS ID(记为VPLS IDj(j = 1,2,...M,M≤N,M为撤销报文中携带的VPLS ID的总数)),第一 PE设备判断本地设置的VSI所属的VPLS实例的VPLS ID中是否存在与该VPLSIDj相同的VPLS ID。
[0067]步骤S606,第一 PE设备确定第二 PE设备不再是该VPLS实例的对端PE设备,并将接收到的撤销报文中携带的第二 PE设备的PE ID从该VSI对应的远端成员列表中删除,然后,返回步骤S602判断下一个VSI,直至撤销报文中携带的第二 PE设备上被删除的所有VSI均判断完毕。
[0068]在实际实施过程中,在PE设备上可以为其上设置的每一个VSI建立一个对应的远端成员列表,该远端成员列表用于记录该VSI所属的VPLS实例的对端PE设备的PE ID。本端PE设备在发现了某一个VPLS实例的对端PE设备之后,就可以将该对端PE设备的PE ID增加到对应VSI的远端成员列表中。在发现某一个PE设备不再是某一个VPLS实例的对端PE设备之后,就可以将该PE设备的PE ID从对应VSI的远端成员列表中删除。
[0069]这样,针对接收到的第二 PE设备发来的撤销报文中携带的每一个VPLS ID (记为VPLS IDj),若第一 PE设备在步骤S604中判断出本地存在与该VPLS IDj相同的VPLS ID,则第一 PE设备将第二 PE设备的PE ID从第二 VSI(第二 VSI对应的VPLS ID为VPLS IDj)对应的第二远端成员列表中删除。显然,如果第二远端成员列表中已经没有第二 PE设备的PE ID 了,那么就无需再删除了。若第一 PE设备在步骤S604中判断出本地不存在与该VPLSIDj相同的VPLS ID,那么,说明第一 PE设备上未设置该VSI,继续执行步骤S604判断下一个VSI (即令j = j+1,并返回步骤S604),直至撤销报文中携带的被第二 PE设备删除的所有VSI均判断完毕(即j=M)。
[0070]本发明实施例中,每一个PE设备在本地有VSI被删除时,也会通过MP2MP LSP向其他PE设备发送携带有自身上被删除的VSI的撤销报文,并且,在接收到其他PE设备,例如为第二 PE设备发送的撤销报文之后,针对撤销报文中携带的第二 PE设备上被删除的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,若本地存在属于同一个VPLS实例的VSI,就可以确定第二 PE设备不再是该VPLS实例的对端PE设备,从而实现了VPLS实例的对端PE设备的自动发现。本方法依赖于网络中部署的MP2MP LSP通信通道传送携带有PE设备上被删除的VSI的撤销报文,避免了使用原理复杂的BGP协议,运行机制比较简单。
[0071]另外,本发明上述实施例的方法由于在已经部署好的MP2MP LSP上传送相关报文,因此对于PE设备的配置也比较简单。
[0072]在上述实施例中,每一个PE设备通过MP2MP LSP发送通告报文时,可以是一直不停地发送,也可以是发送预定数量个通告报文后即停止发送,这样,能够减少通告报文的发送量,特别是在PE设备上设置的VSI比较多的情况下,能够减少网络带宽的占用。在实际实施时,可以采用周期性地方式发送,也可以按照其他规则间隔一定时间发送,本发明对此不做限定。
[0073]本发明另一种实施例中,当采用发送预定数量个通告报文后即停止发送的方式时,可以在通告报文中增加一个预定标记:R (Request)标记,R标记用于请求重新发送通告报文。这样,任意一个PE设备(包括第一 PE设备和第二 PE设备)在本地设置了新的VSI时,才会向其他PE设备发送携带有R标记以及自身上设置的VSI的通告报文,并在发送的通告报文达到了自身上设置的预定数量时停止发送,并且,在接收到其他PE设备发来的携带有该R标记的通告报文后,根据该R标记向其他PE设备发送不携带R标记的通告报文,并在达到自身上设置的预定数量时停止发送。
[0074]此时,当本地设置了新的VSI时,第一 PE设备才发送携带有自身上设置的VSI和R标记的通告报文,并在发送次数达到第一预定数量时停止发送,以便其他PE设备从MP2MPLSP上接收到第一 PE设备发送的携带有R标记的通告报文之后,根据该R标记发送携带有自身设置的VS1、且不携带R标记的通告报文。
[0075]另外,第一 PE设备在上述实施例的步骤S502中从MP2MP LSP上接收到第二 PE设备发来的通告报文之后,首先会判断接收的通告报文中是否携带有R标记,若是,则第一 PE设备会根据R标记,通过MP2MP LSP向其他PE设备发送携带有自身上设置的VSI的、且不携带R标记的通告报文,并且在发送次数达到第二预定数量时停止发送。与此同时还会执行步骤S504和S506。
[0076]本发明上述实施例中的发现VPLS实例的对端PE设备的方法可以作为一种自动发现协议,例如,可以命名为虚拟边界发现协议(Virtual Edge Discovery Protocol, VEDP),通过在网络中的PE设备上运行VEDP,PE设备就可以执行上述实施例中的方法来自动发现VPLS实例的对端PE设备(即,发现VPLS成员)。
[0077]在网络中的PE设备开始执行上述实施例中的方法之前,需要在部署有MP2MP LSP的网络中的各个PE设备上运行VEDP,下面首先介绍一下部署MP2MP LSP以及在PE设备上运行VEDP的过程。
[0078]步骤I,部署用于协议通信的MP2MP LSP,可以具体包括以下步骤:
[0079]步骤11,在每一个PE设备上设置一个点到多点逻辑接口(Virtual Mult1-castInterface, VMI )。该VMI是一个虚拟的多播接口,而不是实际的物理接口。
[0080]步骤12,在VMI接口下指定建立MP2MP LSP所需的参数,例如,根节点的ID (根节点的ID可以为其IP地址),从而在骨干网中建立一条以该ID所指示的设备为根节点,用于连接各个PE设备的MP2MP LSP (即该PE设备加入到该MP2MP LSP),该MP2MP LSP作为PE设备之间协议报文交互的通信信道,是骨干网提供给所有的VPLS实例共用的协议通信通道,如图3和图4所示。
[0081]同时,也将VMI与MP2MP LSP进行了关联,具体的关联过程可以为:将VMI与MP2MPLSP对应的NHLFE (Next Hop Label Forwarding Entry,下一跳标签转发表项)建立对应关系(用于发送VEDP协议报文),该NHLFE中记录的信息包括:出标签、出接口(实际的物理接口)和下一跳,以及将VMI与MP2MP LSP对应的入标签建立对应关系(用于接收VEDP协议报文)。当要通过MP2MP LSP发送VEDP协议报文时,首先查找到与VMI对应的NHLFE,然后,按照该NHLFE中的信息发送VEDP协议报文,从而通过MP2MP LSP(具体为本PE设备与根节点之间的LSP片段)发送到根节点。当接收到了 VEDP协议报文时,根据该VEDP协议报文中携带的标签,若从该对应关系中查找到了与接收到的报文中携带的标签相对应的VMI,则认为该报文是从查找到的VMI接收到的。这样,PE设备就可以从VMI接口向MP2MP LSP发送协议报文到根节点,并由根节点进行组播复制后,通过MP2MP LSP发送给其他PE设备;以及,从VMI接口上接收到MP2MP LSP上传送来的协议报文。
[0082]当一个PE设备作为MP2MP LSP的叶子节点加入MP2MP LSP时,该PE设备会发起与根节点之间的LSP片段的建立过程,依靠标签分发协议(LDP)发起本PE设备与根节点之间的双向的LSP片段的建立过程,双向的LSP片段由两个方向相反的单向LSP组成(上行LSP:用于发送报文;下行LSP:用于接收报文)。LSP片段建立后,VMI接口的状态进入运营(operational)状态。
[0083]步骤2,在VMI接口上使能VEDP协议,从而实现在MP2MP LSP上传送VEDP协议(即,在MP2MP LSP通信通道上运行VEDP协议,用于发现哪些PE设备上存在属于同一个VPLS实例的VSI )。在VMI接口上使能VEDP协议的具体命令可以如下:
[0084]interface vmi I
[0085]rp rp-node-1d
[0086]vedp enable
[0087]在VMI上使能了 VEDP协议后,所有的VEDP协议报文(包括:通告报文和撤销报文)都将通过这个VMI发送到MP2MP LSP,并且,通过该VMI接收MP2MP LSP上的VEDP协议报文。
[0088]后续,MP2MP LSP上连接的任意作为叶子节点的PE设备就可以运行VEDP协议,即执行上述的实施例中的方法来自动发现VSI的对端PE设备。主要包括以下两个过程:
[0089]过程一、VSI通告
[0090]具体参见上述 实施例,这里不再赘述。
[0091]其中,PE设备通过MP2MP LSP发送通告报文时,具体是通过VMI向MP2MP LSP发送通告报文到根节点,然后由根节点进行组播复制,转发给MP2MP LSP连接的其他PE设备。PE设备从MP2MP LSP上接收通告报文时,具体是通过VMI从MP2MP LSP上接收根节点转发来的通告报文。
[0092]在实际实施时,通告报文中的主要信息可以包括:
[0093](I)发送通告报文的PE设备的ID,PE设备的ID具体为LSR IDCLabel SwitchingRouter ID,标签交换路由器ID)。
[0094](2) VE类型,可以有两种类型:
[0095]> VSI,用于 VPLS ;
[0096]^ VRF (Virtual VPN Routing&Forwarding),用于 L3VPN,本发明实施例中不涉及该种类型。
[0097](3)VPN ID list (列表),该列表中可以包括I个或多个VPN ID,当VE类型为VSI时,VPN ID list中携带的是发送通告报文的PE设备上设置的所有VSI对应的VPLS ID。其中,VPLS ID是为每一个VPLS实例设置的骨干网范围内唯一的VPLS ID,作为骨干网提供给一个特定VPLS实例的唯一标识,在PE设备上设置一个特定VSI时需要指定该VSI所属的VPLS实例的VPLS ID,因此,一个VSI对应于一个VPLS ID。
[0098]在PE设备本地还可以保存有一个用于记录发现的远端PE设备的远端PE列表,这样,网络中的任意一个PE设备在从MP2MP LSP上接收到其他PE设备发来的通告报文之后,还可以判断该通告报文中携带的PE设备的PEID是否是首次发现(即,该PE ID是否已经记录在远端PE列表,若是,则表明不是首次发现,否则,说明是首次发现),则将该PE ID记录到远端PE列表中。
[0099]过程二、VSI撤销
[0100]具体参见上述实施例,这里不再赘述。[0101]与通告报文类似,撤销报文中的主要信息可以包括:
[0102]( I)发送撤销报文的PE设备的ID ;
[0103](2) VE 类型;
[0104](3) VPN ID list,当VE类型为VSI时,VPN ID list中携带的是发送通告报文的PE设备上被删除的所有VSI对应的VPLS ID。
[0105]同样,网络中的任意一个PE设备在从MP2MP LSP上接收到其他PE设备发来的撤销报文之后,针对该撤销报文中携带的每一个被删除的VPLS ID,判断本地设置的VSI所属的VPLS实例的VPLS ID中是否存在与该被删除的VPLS ID相同的VPLS ID,若存在,则将该撤销报文中携带的PE ID从VPLSID相同的VSI对应的远端成员列表中删除;该撤销报文中携带的所有VSI均判断完毕之后,判断本地设置的所有VSI对应的远端成员列表中是否还存在该PE ID,若均不存在该PE ID 了,则将远端PE列表中记录的该PE ID清除。
[0106]在实际实施的过程中,VEDP协议报文(包括通告报文和撤销报文)可以封装在各种现有协议报文中,例如,可以封装在UDP (User Datagram Protocol,用户数据报协议)报文、IP报文、或者没有IP封装的MPLS TP (Transport Profile,传输技术架构)报文的ACH(Associated Channel Header,随路信道头)中。
[0107]当封装在UDP报文中时,UDP头中需要一个全局知名端口作为目的端口,从而表示该报文是VEDP协议报文;
[0108]当封装在IP报文中时,IP头中的协议类型需要置为特定值,用于表示该报文是VEDP协议报文;
[0109]当封装在没有IP封装的MPLS TP报文的ACH中时,报文格式可以如图7所示,其中:
[0110]VEDP Code Point (VEDP编码点):表示协议报文;
[0111]VEDP Control Packet (VEDP控制报文):表示报文的具体内容。
[0112]如图8所示,骨干网中共存在两个VPLS实例,通过在PE设备上运行VEDP,PE2发现远端的PEl和PE4上存在同属于VPLS实例A的VSI (B卩,发现PEl和PE4是同属于VPLS实例A的VSI的对端PE设备),PE3和PE4上存在同属于VPLS实例B的VSI(即,PE3和PE4是同属于VPLS实例B的VSI的对端PE设备)。
[0113]PE设备在发现了 VPLS实例的对端PE设备之后,就可以通过LDP向发现的对端PE设备通告PW标签以建立与该PE设备之间的PW。现有的LDP协议中,在通告PW标签前需要先建立基于TCP连接的LDP会话,要建立这个LDP会话,需要先通过LDP Hello消息交互,发现建立LDP会话的Peer (对等体)。由于在VMI上也可以使能LDP,也就是LDP协议报文也可以在MP2MP LSP上传送,因此,发现LDP会话的peer可以有以下两种方法:
[0114]方法一,PE设备获得了远端PE列表后,向远端PE列表中的各个PE设备分别发送Targeted (目标)Hello报文,这个过程与现有技术相同,这里不再赘述;
[0115]方法二,在引入MP2MP LSP后,可以直接在MP2MP LSP通信通道上向MP2MP LSP上连接的其他PE设备发送Link (链路)Hello报文,也就是在VMI接口上运行LDP协议。收到Link Hello报文的PE设备根据该报文中携带的传输地址和LDP ID就可以直接发起LDP会话的建立过程。
[0116]针对上述实施例中的方法,本发明一个实施例提供了一种可以应用该方法的PE设备,如图3和4所示,该PE设备所在的网络中部署有连接各个PE设备的MP2MP LSP。
[0117]如图9所示,该PE设备可以包括以下模块:接收模块10、判断模块20、确定模块30和发送模块40。
[0118]一、在VSI通告过程中:
[0119]接收模块10用于从MP2MP LSP上接收第二 PE设备发送的携带有所述第二 PE设备上设置的虚拟交换实例VSI的通告报文;
[0120]判断模块20用于针对接收模块10接收到的第二 PE设备上设置的每一个VSI,判断本PE设备上是否存在与该VSI属于同一个VPLS实例的VSI ;
[0121]确定模块30,用于在判断模块20的判断结果为存在属于同一个VPLS实例的VSI时,确定第二 PE设备为该VPLS实例的对端PE设备。
[0122]发送模块40用于通过MP2MP LSP发送携带有本PE设备上设置的VSI的通告报文,以便其他PE设备从所述MP2MP LSP上接收到本PE设备发送的通告报文之后,针对本PE设备上设置的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定本PE设备为该VPLS实例的对端PE设备。
[0123]如图10所示,发送模块40可以进一步包括以下单元:通告报文发送单元402和计数单元404,其中:
[0124]通告报文发送单元402用于在本PE设备上设置了新的VSI时,发送携带有自身设置的VSI和预定标记的通告报文,并在计数单元404的计数值达到第一预定数量时停止发送,以便其他PE设备从所述MP2MP LSP上接收到本PE设备发送的携带有预定标记的通告报文之后,根据预定标记发送携带有自身设置的VS1、且不携带所述预定标记的通告报文;
[0125]计数单元404用于对通告报文发送单元402发送携带有预定标记的通告报文的次数进行计数,,以及对通告报文发送单元402发送不携带预定标记的通告报文的发送次数进行计数;
[0126]判断模块20还用于在接收模块10从MP2MP LSP上接收到第二 PE设备发送的携带有第二 PE设备上设置的VSI的通告报文之后,判断第二 PE设备发送的通告报文中是否携带有预定标记,并在判断出携带有预定标记时,通知通告报文发送单元402发送携带有本PE设备上设置的VS1、且不携带预定标记的通告报文并在计数单元404的计数值达到第
二预定数量时停止发送。
[0127]每一个VSI可以通过该VSI所属的VPLS实例的VPLS ID来标识,这样,判断模块20具体用于通过针对通告报文中携带的每一个VSI所属的VPLS实例的VPLS ID,判断本PE设备上设置的VSI所属的VPLS实例的VPLS ID中是否存在与该VPLS ID相同的VPLS ID,来判断本PE设备上是否存在与该VSI属于同一个VPLS实例的VSI。
[0128]通告报文中还携带有发送该通告报文的PE设备的PE ID ;则,如图9所示,确定模块30包括:
[0129]记录单元302,用于在判断模块20判断出本PE设备上存在与该VSI属于同一个VPLS实例的VSI时,将接收模块10接收到的通告报文中携带的第二 PE设备的PE ID增加到该VSI对应的远端成员列表中;
[0130]保存单元304,用于存储本PE设备上设置的VSI对应的远端成员列表,其中,远端成员列表用于记录一个VSI所属的VPLS实例的对端PE设备的PE ID。[0131]二、在VSI撤销过程中:
[0132]在图9和10所示的PE设备中,接收模块10还用于从MP2MP LSP上接收第二PE设备发送的携带有第二 PE设备上被删除的VSI的撤销报文,其中,第二 PE设备在本地有VSI被删除时,通过MP2MP LSP向其他PE设备发送撤销报文。与通告报文类似,撤销报文中还携带有发送该撤销报文的PE设备的PEID ;
[0133]判断模块20还用于针对接收模块10接收到的撤销报文中携带的第二 PE设备上被删除的每一个VSI,判断本PE设备上是否存在与该被删除的VSI属于同一个VPLS实例的VSI ;
[0134]确定模块30还用于在判断模块20的判断结果为本PE设备上存在与该被删除的VSI属于同一个VPLS实例的VSI时,确定第二 PE设备不再是该VPLS实例的对端PE设备。因此,如图10所示,确定模块30还包括删除单元306,用于在判断模块20判断出本PE设备上存在与该被删除的VSI属于同一个VPLS实例的VSI时,将接收模块10接收到的撤销报文中携带的第二 PE设备的PE ID从该VSI对应的远端成员列表中删除。
[0135]发送模块40还用于在本PE设备上有VSI被删除时,通过MP2MP LSP向其他PE设备发送携带有本PE设备上被删除的VSI的撤销报文,以便其他PE设备从所述MP2MP LSP上接收到本PE设备发送的所述撤销报文之后,针对本PE设备上被删除的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定本PE设备不再是该VPLS实例的对端PE设备,并将本PE设备的PE ID从该VSI对应的远端成员列表中删除。
[0136]由于在执行发现VPLS实例的对端PE设备的方法之前,PE设备需要作为叶子节点加入到MP2MP LSP,因此,PE设备中还需要包括:创建模块,用于在本PE设备上创建一 VMI ;指定模块,用于指定创建模块创建的VMI关联的根节点,根节点用于对从各个PE设备接收到的分组报文进行组播复制后转发到MP2MP LSP所连接的其他PE设备;建立模块,用于基于标签分发协议,建立本PE设备与根节点之间的双向LSP片段。
[0137]本发明实施例中的模块或单元可以集成于一体,也可以分离部署;可以合并为一个模块或单元,也可以进一步拆分成多个子模块或子单元。本发明各实施例中的硬件模块或单元可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
[0138]以上对本发明具体实施例中的PE设备进行了说明,下面给出本发明具体实施例中PE设备的硬件架构组成,该PE设备是可以软硬件结合的可编程设备,具体参见图11,图11是本发明具体实施例中PE设备的硬件架构组成示意图,该PE设备包括:存储器510,处理器520,报文处理芯片530,以及耦合存储器510、处理器520、报文处理芯片530的互联机构540 ;其中,
[0139]存储器510,用于存储指令代码和相关列表(包括每一个VSI对应的远端成员列表和远端PE列表),可以由该存储器实现PE设备中的保存单元,当所述指令代码被执行时完成的操作主要为PE设备中的发送模块、接收模块、判断模块、确定模块中的记录单元、创建模块、指定模块和建立模块完成的功能,这里不再详述。
[0140]处理器520,用于与报文处理芯片530通信,进行通告报文和撤销报文的收发;用于与存储器510通信,读取和执行存储器510中存储的所述指令代码,完成上述PE设备中的发送模块、接收模块、判断模块、确定模块中的记录单元、创建模块、指定模块和建立模块完成的功能,以及对从报文处理芯片530上送的报文的处理。
[0141]报文处理芯片530,用于通过该芯片上的端口连接到骨干网络中的其他PE设备和本站点内的CE设备,负责通告报文和撤销报文的收发处理,将处理器520发来的通告报文和撤销报文通过MP2MP LSP发送给其他PE设备,并将接收到的通告报文和撤销报文上送给处理器520。
[0142]互联机构540则提供各模块间的信息交互通道,可以是一根连接各模块的总线,也可以由上述各个模块间的多条线路组成。
[0143]需要说明的是,图11所示的PE设备只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器520可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本发明对PE设备的具体结构不作具体限定。
[0144]本发明上述实施例可以应用于IP网络、IP/MPLS网络、或者MPLS TP网络等网络中,本发明对此不做限定。
[0145]综上,本发明以上实施例可以达到以下技术效果:
[0146]本发明实施例提出了一种新的简单的自动发现VPLS实例的对端PE设备的方法和协议,相关协议报文通过MP2MP LSP通信通道进行传送,避免了使用复杂的BGP协议,运行机制简单、有效。
[0147]另外,本发明实施例的方法的配置也比较简单,甚至全局缺省为不需要任何配置,例如,PE设备上缺省存在VMIO,VMIO上缺省使能VEDP。
[0148]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种发现虚拟专用局域网服务VPLS实例的对端服务提供商网络边缘设备PE设备的方法,其特征在于,网络中部署有连接各个PE设备的多点到多点MP2MP标签交换路径LSP,所述方法包括: 第一 PE设备从所述MP2MP LSP上接收到第二 PE设备发送的携带有所述第二 PE设备上设置的虚拟交换实例VSI的通告报文; 针对所述第二 PE设备上设置的每一个VSI,所述第一 PE设备判断本地是否存在与该VSI属于同一个VPLS实例的VSI ; 若存在属于同一个VPLS实例的VSI,则所述第一 PE设备确定所述第二 PE设备为该VPLS实例的对端PE设备。
2.根据权利要求1所述的方法,其特征在于,还包括: 所述第一 PE设备通过所述MP2MP LSP发送携带有所述第一 PE设备上设置的VSI的通告报文,以便其他PE设备从所述MP2MP LSP上接收到所述第一 PE设备发送的通告报文之后,针对所述第一 PE设备上设置的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定所述第一 PE设备为该VPLS实例的对端PE设备。
3.根据权利要求2所述的方法,其特征在于, 所述第一 PE设备通过所述MP2MP LSP发送携带有所述第一 PE设备上设置的VSI的通告报文包括:当本地设置了新的VSI时,所述第一 PE设备发送携带有自身设置的VSI和预定标记的通告报文,并在发送次数达到第一预定数量时停止发送,以便其他PE设备从所述MP2MP LSP上接收到所述第一 PE 设备发送的携带有所述预定标记的通告报文之后,根据所述预定标记发送携带有自身设置的VS1、且不携带所述预定标记的通告报文; 在第一 PE设备从所述MP2MP LSP上接收到第二 PE设备发送的携带有所述第二 PE设备上设置的虚拟交换实例VSI的通告报文之后,还包括:所述第一 PE设备判断所述第二 PE设备发送的通告报文中是否携带有所述预定标记,若是,则发送携带有自身设置的VS1、且不携带所述预定标记的通告报文,并在发送次数达到第二预定数量时停止发送。
4.根据权利要求1或2所述的方法,其特征在于,每一个VSI通过该VSI所属的VPLS实例的VPLS ID来标识;则,所述判断本地是否存在与该VSI属于同一个VPLS实例的VSI包括: 针对所述通告报文中携带的每一个VPLS ID,判断本地设置的VSI所属的VPLS实例的VPLS ID中是否存在与该VPLS ID相同的VPLS ID。
5.根据权利要求1或2所述的方法,其特征在于,所述通告报文中还携带有发送该通告报文的PE设备的PE ID ;则,若存在属于同一个VPLS实例的VSI,则所述第一 PE设备确定所述第二 PE设备为该VPLS实例的对端PE设备包括: 若本地存在与该VSI属于同一个VPLS实例的VSI,则所述第一 PE设备将接收到的所述通告报文中携带的所述第二 PE设备的PE ID增加到该VSI对应的远端成员列表中,其中,远端成员列表用于记录一个VSI所属的VPLS实例的对端PE设备的PE ID。
6.根据权利要求5所述的方法,其特征在于,还包括: 所述第一 PE设备从所述MP2MP LSP上接收到所述第二 PE设备发送的携带有所述第二PE设备上被删除的VSI的撤销报文,其中,所述第二 PE设备在本地有VSI被删除时,通过所述MP2MP LSP发送所述撤销报文,撤销报文中还携带有发送该撤销报文的PE设备的PEID ; 针对所述第二 PE设备上被删除的每一个VSI,所述第一 PE设备判断本地是否存在与该VSI属于同一个VPLS实例的VSI ; 若存在属于同一个VPLS实例的VSI,则所述第一 PE设备确定所述第二 PE设备不再是该VPLS实例的对端PE设备,并将接收到的所述撤销报文中携带的所述第二 PE设备的PEID从该VSI对应的远端成员列表中删除。
7.根据权利要求6所述的方法,其特征在于,还包括: 当本地有VSI被删除时,所述第一 PE设备通过所述MP2MP LSP发送携带有所述第一 PE设备上被删除的VSI的撤销报文,以便其他PE设备从所述MP2MP LSP上接收到所述第一 PE设备发送的所述撤销报文之后,针对所述第一 PE设备上被删除的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定所述第一 PE设备不再是该VPLS实例的对端PE设备,并将所述第一 PE设备的PE ID从该VSI对应的远端成员列表中删除。
8.根据权利要求1或2所述的方法,其特征在于,在所述第一PE设备从所述MP2MPLSP上接收到第二 PE设备发送的携带有所述第二 PE设备上设置的虚拟交换实例VSI的通告报文之前,还包括: 在所述第一 PE设备上创建一虚拟的点到多点接口 VMI ; 指定所述VMI关联的根节点,所述根节点用于对从各个PE设备接收到的分组报文进行组播复制后转发到所述MP2MP LSP所连接的其他PE设备; 基于标签分发协议,建立所述第一 PE设备与所述根节点之间的双向LSP片段。
9.一种服务提供商网络边缘设备PE设备,其特征在于,所述PE设备所在的网络中部署有连接各个PE设备的多点到多点MP2MP标签交换路径LSP,所述PE设备包括: 接收模块,用于从所述MP2MP LSP上接收第二 PE设备发送的携带有所述第二 PE设备上设置的虚拟交换实例VSI的通告报文; 判断模块,用于针对所述接收模块接收到的所述第二 PE设备上设置的每一个VSI,判断本PE设备上是否存在与该VSI属于同一个VPLS实例的VSI ; 确定模块,用于在所述判断模块的判断结果为存在属于同一个VPLS实例的VSI时,确定所述第二 PE设备为该VPLS实例的对端PE设备。
10.根据权利要求9所述的设备,其特征在于,还包括: 发送模块,用于通过所述MP2MP LSP发送携带有本PE设备上设置的VSI的通告报文,以便其他PE设备从所述MP2MP LSP上接收到本PE设备发送的通告报文之后,针对本PE设备上设置的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定本PE设备为该VPLS实例的对端PE设备。
11.根据权利要求10所述的设备,其特征在于,所述发送模块包括:通告报文发送单元,用于在本PE设备上设置了新的VSI时,发送携带有自身设置的VSI和预定标记的通告报文,并在计数单元的计数值达到第一预定数量时停止发送,以便其他PE设备从所述MP2MP LSP上接收到本PE设备发送的携带有所述预定标记的通告报文之后,根据所述预定标记发送携带有自身设置的VS1、且不携带所述预定标记的通告报文;所述计数单元,用于对所述通告报文发送单元发送携带有所述预定标记的通告报文的发送次数进行计数,以及对所述通告报文发送单元发送不携带所述预定标记的通告报文的发送次数进行计数; 所述判断模块还用于在所述接收模块从所述MP2MP LSP上接收到所述第二 PE设备发送的携带有所述第二 PE设备上设置的VSI的通告报文之后,判断所述第二 PE设备发送的通告报文中是否携带有所述预定标记,并在判断出携带有所述预定标记时,通知所述通告报文发送单元发送携带有本PE设备上设置的VS1、且不携带所述预定标记的通告报文并在所述计数单元的计数值达到第二预定数量时停止发送。
12.根据权利要求9或10所述的设备,其特征在于,每一个VSI通过该VSI所属的VPLS实例的VPLS ID来标识;则,所述判断模块具体用于通过针对所述通告报文中携带的每一个VSI所属的VPLS实例的VPLS ID,判断本PE设备上设置的VSI所属的VPLS实例的VPLSID中是否存在与该VPLS ID相同的VPLS ID,来判断本PE设备上是否存在与该VSI属于同一个VPLS实例的VSI。
13.根据权利要求9或10所述的设备,其特征在于,所述通告报文中还携带有发送该通告报文的PE设备的PE ID ;则,所述确定模块包括: 记录单元,用于在所述判断模块判断出本PE设备上存在与该VSI属于同一个VPLS实例的VSI时,将所述接收模块接收到的所述通告报文中携带的所述第二 PE设备的PE ID增加到该VSI对应的远端成员列表中; 保存单元,用于存储本PE设备上设置的VSI对应的远端成员列表,其中,远端成员列表用于记录 一个VSI所属的VPLS实例的对端PE设备的PEID。
14.根据权利要求13所述的设备,其特征在于, 所述接收模块还用于从所述MP2MP LSP上接收所述第二 PE设备发送的携带有所述第二 PE设备上被删除的VSI的撤销报文,其中,所述第二 PE设备在本地有VSI被删除时,通过所述MP2MP LSP发送所述撤销报文,撤销报文中还携带有发送该撤销报文的PE设备的PEID ; 所述判断模块还用于针对所述接收模块接收到的所述撤销报文中携带的所述第二 PE设备上被删除的每一个VSI,判断本PE设备上是否存在与该被删除的VSI属于同一个VPLS实例的VSI ; 所述确定模块还用于在所述判断模块的判断结果为本PE设备上存在与该被删除的VSI属于同一个VPLS实例的VSI时,确定所述第二 PE设备不再是该VPLS实例的对端PE设备,并将所述撤销报文中携带的第二PE设备的PE ID从该VSI对应的远端成员列表中删除。
15.根据权利要求14所述的设备,其特征在于, 所述发送模块还用于在本PE设备上有VSI被删除时,通过所述MP2MPLSP发送携带有本PE设备上被删除的VSI的撤销报文,以便其他PE设备从所述MP2MP LSP上接收到本PE设备发送的所述撤销报文之后,针对本PE设备上被删除的每一个VSI,判断本地是否存在与该VSI属于同一个VPLS实例的VSI,并在存在属于同一个VPLS实例的VSI时,确定本PE设备不再是该VPLS实例的对端PE设备,并将本PE设备的PE ID从该VSI对应的远端成员列表中删除。
16.根据权利要求9或10所述的设备,其特征在于,还包括: 创建模块,用于在本PE设备上创建一虚拟的点到多点接口 VMI ;指定模块,用于指定所述创建模块创建的所述VMI关联的根节点,所述根节点用于对从各个PE设备接收到的分组报文进行组播复制后转发到所述MP2MP LSP所连接的其他PE设备; 建立模块,用于基 于标签分发协议,建立本PE设备与所述根节点之间的双向LSP片段。
【文档编号】H04L12/723GK103634210SQ201210308948
【公开日】2014年3月12日 申请日期:2012年8月28日 优先权日:2012年8月28日
【发明者】叶金荣 申请人:杭州华三通信技术有限公司