CN109962849A - 传输组播报文的方法和相关设备 - Google Patents
传输组播报文的方法和相关设备 Download PDFInfo
- Publication number
- CN109962849A CN109962849A CN201711408924.5A CN201711408924A CN109962849A CN 109962849 A CN109962849 A CN 109962849A CN 201711408924 A CN201711408924 A CN 201711408924A CN 109962849 A CN109962849 A CN 109962849A
- Authority
- CN
- China
- Prior art keywords
- equipment
- label
- p2mp tree
- node
- corresponding relationship
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/16—Multipoint routing
-
- 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/48—Routing tree calculation
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种传输组播报文的方法和相关设备,该方法包括:第一设备接收软件定义网络SDN控制器发送的点到多点P2MP树的标签;该第一设备接收第二设备发送的上下文标签;该第一设备保存基于组播地址、该P2MP树的标签和该上下文标签的对应关系;该第一设备接收携带该组播地址的组播报文;该第一设备根据该组播报文中的该组播地址和该对应关系为该组播报文确定该P2MP树的标签和该上下文标签;该第一设备根据该P2MP树的标签和该上下文标签对该组播报文进行封装,得到经过封装的组播报文;该第一设备将该经过封装的组播报文发送至该第二设备。上述技术方案,可以减少该第一设备与该控制器节点之间的信息交互。
Description
技术领域
本申请涉及通信技术领域,更具体地,涉及传输组播报文的方法和相关设备。
背景技术
多协议标签交换(Multi-Protocol Label Switching,MPLS)是新一代的互联网协议(Internet Protocol,IP)高速骨干网络交换标准。MPLS是利用标签(label),也可以称为标记,进行组播报文转发的。当组播报文进入网络时,需要为该组播报文分配标签。在整个转发过程中,网络中的节点根据该标签对该组播报文进行转发。
更具体地,软件定义网络(Software Defined Network,SDN)中通常会包括SDN控制器以及多个节点设备。该SDN控制器会建立一个P2MP树。进入该P2MP树的组播报文会由该P2MP树中的节点转发。
目前,该SDN控制器为该每个节点确定的标签都是根据该每个节点上报的段路由局部块(Segment Routing Local Block,SRLB)确定的。下面将结合图1对确定标签的过程进行进一步描述。
图1示出了网络100的结构框图。网络100包括SDN控制器101,运营商边缘(Provider Edge,PE)设备110,运营商(Provider,P)设备120、PE设备131和PE设备132。SDN控制器101建立的P2MP树中,PE设备110为根节点,P设备120为中间节点,PE设备131和PE设备132为叶子节点。
PE设备110、P设备120、PE设备131和PE设备132会将各自的SRLB发送至SDN控制器101。SDN控制器101可以从每个节点发送的SRLB中为该节点确定一个标签。例如,PE设备110和P设备120的SRLB包括的标签为14000至14999,PE设备131和PE设备132的SRLB包括的标签为14000至14199。SDN控制器101为PE设备110确定的标签可以是14000,为P设备120确定的标签可以是14002,为PE设备131确定的标签可以是14100,为PE设备132确定的标签可以是14102。
上述技术方案需要P2MP树中的每个节点将各自支持的标签发送至SDN控制器,SDN控制器还要将确定好的标签发送至该每个节点。这样增加了SDN控制器与节点之间的信息交互。因此,如何简化基于标签的组播报文发送方式是一个亟待解决的问题。
发明内容
本申请提供一种传输组播报文的方法和相关设备,可以减少该第一设备与该控制器节点之间的信息交互。
第一方面,本申请实施例提供一种传输组播报文的方法,该方法包括:第一设备接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,该P2MP树包括该第一设备;该第一设备接收第二设备发送的上下文标签,该第二设备为该第一设备在该P2MP树中的下游设备;该第一设备保存基于组播地址、该P2MP树的标签和该上下文标签的对应关系;该第一设备接收携带该组播地址的组播报文;该第一设备根据该组播报文中的该组播地址和该对应关系为该组播报文确定该P2MP树的标签和该上下文标签;该第一设备根据该P2MP树的标签和该上下文标签对该组播报文进行封装,得到经过封装的组播报文;该第一设备将该经过封装的组播报文发送至该第二设备。上述技术方案中该第一设备可以直接从该第二设备获取该第二设备的上下文标签,而无需从控制器获取该第二设备的上下文标签。
这样可以减少该第一设备与该控制器节点之间的信息交互,降低第一设备与控制器交互过程的复杂程度。该P2MP树中的各个节点也无需将可以支持的标签范围发送至控制器。控制器也无需负责为该P2MP树中的各个节点分配标签,从而可以减少该控制器与该P2MP树中的各个节点之间的信息交互并降低控制器的负担。
结合第一方面,在第一方面的第一种可能的实现方式中,该第一设备是该P2MP树的根节点,该第一设备是运营商边缘设备PE。
结合第一方面,在第一方面的第二种可能的实现方式中,该对应关系包括组播地址和该P2MP树的标签之间的第一子对应关系和该组播地址和该第二设备的上下文标签之间的第二子对应关系。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该第一子对应关系包括该组播地址和该P2MP树的标识之间的对应关系和该P2MP树的标识和该P2MP树的标签之间的对应关系,该第二子对应关系包括该组播地址和该P2MP树的标识之间的对应关系和该P2MP树的标识和该上下游标签之间的对应关系,其中该P2MP树的标识与该P2MP树的标签不同。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第四种可能的实现方式中,该组播地址包括组播源地址和组播组地址,该P2MP树的标签和该上下文标签均为多协议标签交换MPLS标签。
第二方面,本申请实施例提供一种传输组播报文的方法,该方法包括:第一设备接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,该P2MP树包括该第一设备;该第一设备接收第二设备发送的第一上下文标签,该第二设备为该第一设备在该P2MP树中的下游设备;该第一设备保存该第一上下文标签、该P2MP树的标签和第二上下文标签之间的对应关系;该第一设备接收组播报文,该组播报文封装有该第二上下文标签和该P2MP树的标签;该第一设备根据该组播报文中封装的该第二上下文标签、该P2MP树的标签和该对应关系为该组播报文确定该第一上下文标签;该第一设备根据该第一上下文标签对该组播报文进行封装,得到经过封装的组播报文;该第一设备将该经过封装的组播报文发送至该第二设备。上述技术方案中该第一设备可以直接从该第二设备获取该第二设备的上下文标签,而无需从控制器获取该第二设备的上下文标签。
这样可以减少该第一设备与该控制器节点之间的信息交互。该P2MP树中的各个节点也无需将可以支持的标签范围发送至控制器。控制器也无需负责为该P2MP树中的各个节点分配标签,从而可以减少该控制器与该P2MP树中的各个节点之间的信息交互并降低控制器的负担。
结合第二方面,在第二方面的第一种可能的实现方式中,该对应关系包括该第二上下文标签、该P2MP树的标签和第一标识之间的第一子对应关系和该第一标识和该第一上下文标签之间的第二子对应关系。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,该P2MP树的标签、该第一上下文标签和该第二上下文标签均为多协议标签交换MPLS标签。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第三种可能的实现方式中,其中该组播报文是该第一设备从第三设备接收到的,该第二上下文标签是该第一设备发送给该第三设备的。
第三方面,本申请实施例还提供一种路由设备,该路由设备包括用于实现第一方面或第一方面的任一种可能的实现方式的单元。
第四方面,本申请实施例还提供一种路由设备,该路由设备包括用于实现第二方面或第二方面的任一种可能的实现方式的单元。
第五方面,本申请实施例提供一种路由设备,该路由设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行第一方面或第一方面的任一种可能的实现方式所述的方法。
第六方面,本申请实施例提供一种路由设备,该路由设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行第二方面或第二方面的任一种可能的实现方式所述的方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述各个方面所述的方法。
第八方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1示出了网络100的结构框图。
图2是根据本申请实施例提供的传输数据的方法的示意性流程图。
图3根据本申请实施例提供的传输数据的方法的示意性流程图。
图4是根据本申请实施例提供的路由设备的结构框图。
图5根据本申请实施例提供的路由设备的结构框图。
图6是根据本申请实施例提供的另一路由设备的结构框图。
图7是根据本申请实施例提供的另一路由设备的结构框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例中所称的上下文标签(context label)是用于标识一个标签表的一个标签,该上下文标签下层的标签应该在该上下文标签中查找。
图2是根据本申请实施例提供的传输数据的方法的示意性流程图。
201,SDN控制器建立第一P2MP树。该第一P2MP树包括一个根节点和至少一个叶子节点,还可以包括至少一个中间节点。第一PE设备为该根节点,第一P设备为该至少一个中间节点中的任一个中间节点,第二PE设备为该至少一个叶子节点中的任一个叶子节点。该根节点也可以称为入节点,该叶子节点也可以成为出节点。
进一步,为了便于对本申请的技术方案进行描述,假设存在第二P设备、第一下游节点和第一上游节点。该第二P设备是该第一PE设备在该第一P2MP树中的下游设备。该第一下游节点是该第一P设备在该第一P2MP树中的下游设备。该第一上游节点是该第一P设备在该第一P2MP树中的上游设备。
可选的,在一些实施例中,该下游设备是指下一个节点,该上游设备是指上一个节点。例如,该第二P设备可以是该第一P2MP树中的该第一PE设备的下一个节点。又如,该第一下游节点可以是该第一P2MP树中的该第一P设备的下一个节点。又如,该第一上游节点可以是该第一P2MP树中的该第一P设备的上一个节点。
可选的,在一些实施例中,该第二P设备与该第一P设备可以是相同的设备。例如,若该第一P2MP树中仅包括一个中间节点,那么该第一P2MP树中的该第一PE设备的下一个节点即为该唯一一个中间节点。在此情况下,该第一P设备和该第二P设备是同一个设备。可选的,在另一些实施例中,该第二P设备与该第一P设备可以是不同的设备。例如,若该第一P2MP树中包括两个或两个以上的中间节点,那么该第二P设备与该第一P设备可以不是同一个设备。
可选的,在一些实施例中,该第一下游节点可以是一个中间节点。例如,若该第一P2MP树中包括两个或两个以上的中间节点,则该第一下游节点可以是一个中间节点。可选的,在另一些实施例中,该第一下游节点可以是一个叶子节点。例如,若该第一P2MP树中仅包括一个中间节点,那么该中间节点的下一个节点为叶子节点。在此情况下,该第一下游节点为叶子节点。
可选的,在一些实施例中,该第一上游节点可以是一个中间节点。例如,若该第一P2MP树中包括两个或两个以上中间节点,则该第一上游节点可以是一个中间节点。可选的,在另一些实施例中,该第一上游节点可以是一个根节点。例如,若该第一P2MP树中仅包括一个中间节点,则该第一上游节点为根节点。
202,该SDN控制器向该第一PE设备发送该第一P2MP树的标签;该SDN控制器向该第一P设备发送该第一P2MP树的标签;该SND控制器向该第二PE设备发送该第一P2MP树的标签。
该第一P2MP树由该SDN控制器建立的。因此,该SDN控制器可以为该第一P2MP树分配一个标签。
可以理解的是,在该第一P2MP树中包括多个中间节点的情况下,该SDN控制器可以将该多个中间节点中的每个中间节点均发送该P2MP树的标签。为了便于描述,本申请实施例中以第一P设备为例进行描述。
类似的,在该第一P2MP树中包括多个叶子节点的情况下,该SDN控制器可以将该多个叶子节点中的每个叶子节点均发送该P2MP树的标签。为了便于描述,本申请实施例中以第二PE设备为例进行描述。
此外,该第一P2MP树中的各个节点的连接关系以及组播报文在该第一P2MP树中的传输路径对于该SDN控制器是已知的。换句话说,该SDN控制器知晓该第一P2MP树中的每个节点的下一个节点是哪个设备,也知晓该每个节点的上一个节点是哪一个设备。
可选的,在一些实施例中,该SDN控制器可以向该第一P2MP树中的每个节点发送对应于该每个节点的路径信息。
可选的,在另一些实施例中,该SDN控制器可以将该第一P2MP树中的每个节点的路径信息发送至该第一P2MP树中的一个或多个节点,然后由该一个或多个节点将每个节点的路径信息发送至对应的节点。例如,该SDN控制器可以将该第一P2MP树中的每个节点的路径信息发送至该第一PE设备,该第一PE设备可以将每个节点对应的路径信息发送至该每个节点。
可选的,在另一些实施例中,该SDN控制器可以将该第一P2MP树中的每个节点的路径信息发送至该第一P2MP树中的一个或多个设备。该第一P2MP树中的未接收到路径信息的节点可以通过该第一P2MP树的标签查找该节点对应的路径信息。例如,该SDN控制器可以将该第一P2MP树中的每个节点的路径信息发送至该第一PE设备。该第一P设备向该第一PE设备发送路径查询信息,该路径查询信息用于查询该第一P设备对应的路径信息。该路径查询信息中可以包括该第一P2MP树的标签。更具体地,在一些实施例中,该路径查询信息可以仅包括该第一P2MP树的标签。在此情况下,该第一PE设备可以将该第一P2MP树中的所有路径信息均发送至该第一P设备。该第一P设备可以从该所有路径信息中确定出对应于该第一P设备的路径信息。在另一些实施例中,该路径查询信息中可以包括该第一P2MP树的标签和该第一P设备的身份信息,例如互联网协议(Internet Protocol,IP)地址,节点段标识(Segment Identifier,SID)。在此情况下,该第一PE设备可以直接将该第一P设备对应的路径信息发送至该第一P设备。该第二PE设备获取对应于该第二PE设备的路径信息的方式类似,在此就不必赘述。
可以理解的是,在另一些实施例中,该第一P2MP树中的每个节点也可以从该第一P2MP树以外的设备查询该每个节点对应的路径信息。具体查询方式与从该第一PE设备处查询的方式是相似的,在此就不必赘述。
为方便描述,以下将对应于该第一PE设备的路径信息称为第一路径信息,将对应于第二PE设备的路径信息称为第二路径信息,将对应于第一P设备的路径信息称为第三路径信息。
该第一路径信息可以包括该第一PE设备的下一跳信息。可选的,在一些实施例中,该第一PE设备的下一跳信息可以包括该第一P2MP树中该第一PE设备的下一个节点(即该第二P设备)的身份信息。不同设备的身份信息是不同的。例如,该身份信息可以是IP地址。又如,该身份信息可以是节点SID。
该第二路径信息可以包括该第二PE设备的下一跳信息。由于该第二PE设备是叶子节点,因此该第二PE设备的下一跳信息为空。
该第三路径信息可以包括该第一P设备的下一跳信息。该第一P设备的下一跳信息可以包括该第一P2MP树中的该第一P设备的下一个节点(即该第一下游节点)的身份信息。
可以理解的是,该第一P设备是至少一个中间节点中的任意一个中间节点。该SDN控制器会向该第一P设备发送对应于该第一P设备的路径信息。也就是说,在该第一P2MP树包括两个或两个以上中间节点的情况下,该SDN控制器会向该两个或两个以上的中间节点中的任意一个节点都发送各自对应的路径信息。换句话说,在该第一P2MP树包括两个或两个以上中间节点的情况下,该SDN控制器会向每个中间节点发送对应于该中间节点的路径信息。该SDN控制器向该至少一个中间节点中的每个中间节点发送的该每个中间节点对应的路径信息的内容都是相似的。例如,在一些实施例中,该每个中间节点对应的路径信息中都会包括该每个中间节点的下一跳信息。但是由于每个中间节点的下一个节点是不同的,因此下一跳信息的具体内容也不同。为了避免重复,本申请实施例以第一P设备作为例子进行描述。
类似的,该第二PE设备是至少一个叶子节点中的任一个叶子节点。该SDN控制器会向该第二PE设备发送对应于该第二PE设备的路径信息。也就是说,在该第一P2MP树包括两个或两个以上叶子节点的情况下,该SDN控制器会向该两个或两个以上的叶子节点中的任一个节点都发送各自对应的路径信息。换句话说,该SDN控制器会向该两个或两个以上的叶子节点中的每个叶子节点发送对应于该每个叶子节点的路径信息。该SDN控制器向该两个或两个以上的叶子节点中的每个叶子节点发送的该每个叶子节点对应的路径信息的内容都是相似的或者完全相同的。为了避免重复,本申请实施例以第二PE设备作为例子进行描述。
该第一P2MP树中的两个相邻的节点是逻辑上相邻的两个节点。该两个相邻的节点的物理路径中可能还包括至少一个节点。这里所称的物理路径中的至少一个节点是两个相邻节点之间的节点。换句话说,该至少一个节点并不包括该两个相邻的节点。因此,该物理路径中总共包括的节点为该两个相邻的节点以及该至少一个节点。为方便描述,以下该物理路径中属于该第一P2MP树的两个节点中的一个称为起始节点,另一个称为终结节点。组播报文在该物理路径中的传输方向是从该起始节点向该终结节点传输。
可选的,在一些实施例中,该物理路径中的每个节点还可以包括邻接(Adjacency)SID。邻接SID用于指示组播报文在该物理路径中的下一个节点。该物理路径中的每个节点都可以根据邻接SID将接收到的组播报文发送至下一个节点。例如,该第一PE设备与该第二P设备之间还包括设备1。该第一PE设备的邻接SID为1101,该设备1的邻接SID为102。1101可以指示下一个节点为设备1,102可以指示下一个节点为第二P设备。这样,若该第一PE设备接收到包括有1101标签的组播报文,则该第一PE设备会将该组播报文发送至设备1;若该设备1接收到包括有102标签的组播报文,则该设备1会将该组播报文发送至该第二P设备。
可选的,在一些实施例中,该物理路径中的每个节点都可以通过泛洪的方式将该每个节点的邻接SID发送至网络中的每个节点。可以理解的是,这里所称的网络是包括该每个节点的网络。
可选的,在一些实施例中,该第一PE设备与该第二P设备之间的物理路径除该第一PE设备与该第二P设备外还包括N个节点,该第一PE设备的下一跳信息包括该第一PE设备的邻接SID,该第一PE设备的下一跳信息还包括该N个节点中的每个节点的邻接SID,N为大于或等于1的正整数。为方便描述,以下将该第一PE设备的邻接SID以及该N个节点中的每个节点的邻接SID称为第一邻接SID信息。
可选的,在另一些实施例中,该第一P设备与该第一下游节点之间的物理路径除该第一P设备与该第一下游节点外还包括M个节点,该第一P设备的下一跳信息还包括该第一P设备的邻接SID,该第一P设备的下一跳信息还包括该M个节点中的每个节点的邻接SID,M为大于或等于1的正整数。为方便描述,以下将该第一P设备的邻接SID以及该M个节点中的每个节点的邻接SID称为第二邻接SID信息。
可选的,在一些实施例中,该第一路径信息还包括该第一PE设备的上一跳信息。由于该第一PE设备为根节点,因此该第一PE设备的上一跳信息可以为空。该第二路径信息还包括该第二PE设备的上一跳信息,该第二PE设备的上一跳信息包括该第一P2MP树中的该第二PE设备的上一个节点的身份信息。该第三路径信息还包括该第一P设备的上一跳信息,该第一P设备的上一跳信息包括该第一P2MP树中的该第一P设备的上一个节点(即第一下游节点)的身份信息。与下一跳信息中的身份信息类似,该上一跳信息所包括的身份信息也可以是IP地址或者节点SID等。可以理解的是,该上一跳信息中的身份信息与下一跳信息中的身份信息的类型是相同的。例如,该上一跳信息所包括的身份信息为IP地址,该下一跳信息所包括的身份信息也为IP地址。又如,若该上一跳信息所包括的身份信息为节点SID,该下一跳信息所包括的身份信息也为节点SID。
综上所述,该第一路径信息可以包括多种方案。具体地,该第一路径信息的方案1:该第一路径信息包括该第一PE设备的下一跳信息,且该第一PE设备的下一跳信息为该第一P2MP树中该第一PE设备的下一个节点的身份信息;该第一路径信息的方案2:该第一路径信息包括该第一PE设备的下一跳信息和该第一PE设备的上一跳信息,且该第一PE设备的下一跳信息为该第一P2MP树中该第一PE设备的下一个节点的身份信息;该第一路径信息的方案3:该第一路径信息包括该第一PE设备的下一跳信息,且该第一PE设备的下一跳信息包括为该第一P2MP树中该第一PE设备的下一个节点的身份信息和第一邻接SID信息。
类似的,该第三路径信息也可以包括与该第一路径信息的方案1至方案3类似的方案。具体地,该第三路径信息的方案1:该第三路径信息包括该第一P设备的下一跳信息,且该第一P设备的下一跳信息为该第一P2MP树中该第一P设备的下一个节点的身份信息;该第三路径信息的方案2:该第三路径信息包括该第一P设备的下一跳信息和该第一P设备的上一跳信息,且该第一P设备的下一跳信息为该第一P2MP树中该第一P设备的下一个节点的身份信息;该第三路径信息的方案3:该第一路径信息包括该第一P设备的下一跳信息,且该第一PE设备的下一跳信息包括该第一P2MP树中该第一P设备的下一个节点的身份信息和第二邻接SID信息。
类似的,该第二路径信息也可以包括与该第一路径信息的方案1和方案2类似的方案。具体地,该第二路径信息的方案1:该第二路径信息包括该第二PE设备的下一跳信息,且该第二PE设备的下一跳信息为空;该第二路径信息的方案2:该第二路径信息包括该第二PE设备的下一跳信息和该第二PE设备的上一跳信息,且该第二PE设备的下一跳信息为空。该第二路径信息也可以包括方案3:但是由于该第二PE设备为叶子节点,因此该第二PE设备并不需要获取邻接SID。因此,该第二路径信息的方案3可以与该第二路径信息的方案1相同。
可选的,在一些实施例中,该第一P2MP树中的每个节点可以支持上述三种方案中的两种或三种方案。在此情况下,该SDN控制器还可以向每个节点发送方案指示信息,该方案指示信息用于指示目标方案。可选的,在一些实施例中,该路径信息中可以包括该方案指示信息。可选的,在另一些实施例中,该方案指示信息和该路径信息可以分别发送给该第一P2MP树中的各个节点。该目标方案为该第一P2MP树中每个节点均支持的至少一种方案中的一种。可以理解的是,在该第一P2MP树中的每个节点支持上述三种方案中的两种方案的情况下,不同的节点所支持的两种方案可以完全相同也可以不完全相同。但是该SDN控制器向同一个第一P2MP树中的每个节点发送的方案指示信息所指示的目标方案是相同的。例如,第一P2MP树的中间节点可以支持方案1和方案2,第一P2MP树的根节点和叶子节点可以支持方案2和方案3。在此情况下,该目标方案可以为方案2。又如,第一P2MP树的中间节点可以支持方案1和方案2,第一P2MP树的根节点和叶子节点可以支持方案1、方案2和方案3。在此情况下,该目标方案可以为方案2或者方案1。
可选的,在另一些实施例中,该第一P2MP树中的每个节点仅支持上述三种方案中的一种方案。在此情况下,该SDN控制器无需向该每个节点发送该方案指示信息。可以理解的是,在每个节点仅支持一种方案的情况下,不同节点所支持的方案是相同的。例如,该第一P2MP树中共的每个节点仅支持方案1。又如,该第一P2MP树中的每个节点仅支持方案2。又如,该第一P2MP树中的每个节点仅支持方案3。为了方便描述,以下所称的目标方案也可以是每个节点仅支持的方案。
可选的,在一些实施例中,该路径信息中还可以包括根节点信息。该根节点信息可以是该根节点的身份信息。例如,该第一PE设备的IP地址,该第一PE设备的节点SID等。
假设该目标方案为方案1。此外,还假设该第一P2MP树中包括的另一个叶子节点为第三PE设备且该第一P设备是该第一P2MP树中的唯一一个中间节点,即该第一P设备和该第二P设备是同一个设备。在此情况下,该第一路径信息可以包括Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<P2>,其中,Type=Context_Based_P2MP表示该目标方案为方案1,TreeLabe=20表示该第一P2MP树的标签为20,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<P2>表示下一跳信息为该第二P设备的身份信息。为方便下文引用,以下将路径信息Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<P2>统为信息1-1。
该第二路径信息可以包括:Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<null>,其中,TreeLabe=20表示该第一P2MP树的标签为20,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<null>表示下一跳信息为空。路径信息Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<null>统为信息2-1。
该第三路径信息可以包括Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<PE2><PE3>,其中,TreeLabe=20表示该第一P2MP树的标签为20,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<PE2><PE3>表示下一跳信息为该第二PE设备和该第三PE设备的身份信息。为方便下文引用,以下将路径信息Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<PE2><PE3>称为信息3-1。
假设该目标方案为方案2。此外,还假设该第一P2MP树中包括的另一个叶子节点为第三PE设备且该第一P设备是该第一P2MP树中的唯一一个中间节点,即该第一P设备和该第二P设备是同一个设备。在此情况下,该第一路径信息可以包括Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=null,NH=<P2>,其中,Type=Context_Nbr_P2MP表示该目标方案为方案2,TreeLabe=21表示该第一P2MP树的标签为21,FECroot=PE1表示根节点信息为第一PE设备的身份信息,UH=null表示上一跳信息为空,NH=<P2>表示下一跳信息为该第二P设备的身份信息。为方便下文引用,以下将路径信息Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=null,NH=<P2>称为信息1-2。
该第二路径信息可以包括:Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=P2,NH=<null>,其中,TreeLabe=21表示该第一P2MP树的标签为21,FECroot=PE1表示根节点信息为第一PE设备的身份信息,UH=P2表示上一跳信息为该第二P设备的身份信息,NH=<null>表示下一跳信息为空。为方便下文引用,以下将路径信息Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=P2,NH=<null>称为信息2-2。
该第三路径信息可以包括:Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UN=PE1,NH=<PE2><PE3>,其中,TreeLabe=21表示该第一P2MP树的标签为21,FECroot=PE1表示根节点信息为第一PE设备的身份信息,UH=PE1表示上一跳信息为该第一PE设备的身份信息,NH=<PE2><PE3>表示下一跳信息为该第二PE设备和该第三PE设备的身份信息。为方便下文引用,以下将路径信息Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UN=PE1,NH=<PE2><PE3>称为信息3-2。
假设该目标方案为方案3。此外,还假设该第一PE设备与该第二P设备之间包括一个设备1,该第一P2MP树中包括的另一个叶子节点为第三PE设备且该第二P设备是该第一P2MP树中的唯一一个中间节点,即该第一P设备和该第二P设备是同一个设备。同时,还假设该第二P设备与该第三PE设备之间包括一个设备2。在此情况下,该第一路径信息可以包括:Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<P2,PathLastack=1101/102>,其中,Type=Context_Tnl_P2MP表示该目标方案为方案3,TreeLabe=22表示该第一P2MP树的标签为22,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<P2,PathLastack=1101/102>表示下一跳信息为该第二P设备的身份信息,以及第一PE设备的邻接SID为1101,设备1的邻接SID为102。为方便下文引用,以下将路径信息Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<P2,PathLastack=1101/102>为信息1-3。
该第二路径信息可以包括:Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<null>,其中,TreeLabe=22表示该第一P2MP树的标签为22,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<null>表示下一跳信息为空。为方便下文引用,以下将路径信息Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<null>称为信息2-3。
该第三路径信息可以包括:Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<PE2,PathLstack=2012><PE3,PathLstack=203/3013>,其中,TreeLabe=22表示该第一P2MP树的标签为22,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<PE2,PathLstack=2012><PE3,PathLstack=203/3013>表示下一跳信息包括该第二PE设备和该第三PE设备的身份信息,以及该第二P设备的邻接SID为2012,该第二P设备的邻接SID包括203和3013。为方便下文引用,以下将路径信息Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<PE2,PathLstack=2012><PE3,PathLstack=203/3013>称为信息3-3
上述实施例中,第一P2MP树中的两个节点之间最多包括一个设备。可以理解的是,该第一P2MP树中的两个相邻的节点还可以包括多个设备。例如,假设该第一PE设备与该第二P设备之间还包括设备1和设备2。换句话说,N的取值为2。设备1为该N个节点中的第一个节点,设备2为该N个节点中的第2个节点。该第一PE设备邻接SID为1101,该设备1的邻接SID为102,设备2的邻接SID为202,其中1101用于指示下一个节点为设备1,102用于指示下一个节点为设备2,202用于指示下一个节点为第二P设备。假设该目标方案为方案3,则该第一路径信息可以包括TreeLabel=22,FECroot=PE1,NH=<P2,PathLastack=1101/102/202>。
该第一P2MP树中的除叶子节点外的每个节点还可以接收到该每个节点的下一个节点的身份信息。
203,该第一PE设备接收该第二P设备的上下文标签。
可选的,在一些实施例中,该第二P设备可以通过泛洪的方式将该第二P设备的上下文标签发送至该第一PE设备。本领域技术人员可以理解的是,通过泛洪方式发送该上下文标签可以使得网络中的每个节点均接收到个第二P设备的上下文标签。可以理解的是,这里所称的网络是指包括该第二P设备的网络。
可选的,在另一些实施例中,该第二P设备可以直接将该第二P设备的上下文标签发送至该第二P设备在该第一P2MP树中的上一个节点(即该第一PE设备)。也就是说,该第二P设备可以向该第一PE设备发送该第二P设备的上下文标签。可选的,在另一些实施例中,该第一PE设备可以请求该第一P2MP树中的该第一PE设备的下一个节点将上下文标签发送至该第一PE设备。也就是说,该第一PE设备可以请求该第二P设备将该第二P设备的上下文标签发送至该第一PE设备。
此外,该第二P设备还可以将该第二P设备的上下文标签与该第二P设备的身份信息同时发送至该第一PE设备。在此情况下,该第一PE设备可以确定出该第二P设备的上下文标签与该第二P设备的身份信息的对应关系。这样,该第一PE设备在接收到包括有该第二P设备的身份信息的路径信息后,可以根据该对应关系确定出该第二P设备的上下文标签。
204,该第一P设备接收该第一下游节点发送的该第一下游节点的上下文标签。
该第一P设备接收该第一下游节点发送的上下文标签的具体实现方式与该第一PE设备接收该第二P设备发送的该第二P设备的上下文标签的具体实现方式类似,即该第一下游节点可以通过泛洪或直接发送的方式将该第一下游节点的上下文标签发送至该第一P设备,为避免重复,在此就不详细描述。
可选的,在一些实施例中,还可以包括步骤205。例如,在该目标方案为方案2的情况下,可以包括步骤205。
205,该第一P设备获取该第一上游节点的节点SID。
该第一P设备获取该第一上游节点的节点SID的方式与该第一PE设备获取该第二P设备的上下文标签的方式类似,即该第一上游节点可以通过泛洪或者直接发送的方式将该第一上游节点的节点SID发送至该第一P设备,为避免重复,在此就不详细描述。此外,该第一上游节点在发送该第一上游节点的节点SID的时候,也可以同时将该第一上游节点的身份信息发送至该第一P设备。
类似的,在一些实施例中,该第二PE设备也可以获取该第二PE设备的上一跳节点的节点SID。该第二PE设备获取该第二PE设备的上一跳节点的节点SID的方式与步骤205类似,为避免重复,在此就不必赘述。
206,该第一PE设备保存第一对应关系。
可选的,在一些实施例中,该第一对应关系为组播地址、该第一P2MP树的标签和该第二P设备的上下文标签的对应关系。该组播地址可以包括组播源地址和组播组地址。
可选的,在一些实施例中,该第一对应关系包括该组播地址与该第一P2MP树的标签之间的第一子对应关系,该第一对应关系还包括该组播地址与该第二P设备的上下文标签之间的第二子对应关系。
可选的,在一些实施例中,该第一子对应关系可以包括:该组播地址和该第一P2MP树的标识之间的对应关系。该第一子对应关系还可以包括:该第一P2MP树的标识与该第一P2MP树的标签之间的对应关系。
可选的,在一些实施例中,该第二子对应关系可以包括:该组播地址与该第一P2MP树的标识之间的对应关系。该第二子对应关系还可以包括:该第一P2MP树的标识与该第二P设备的上下文之间的对应关系。
可选的,在一些实施例中,该SDN控制器可以将该组播地址与该第一P2MP树的标签之间的对应关系发送至该第一PE设备。
可选的,在另一些实施例中,该第一PE设备还可以通过其他方式获取该第一P2MP树的标签与该组播地址之间的对应关系。
类似的,该组播地址与该第一P2MP树的标识之间的对应关系可以是由该SDN控制器发送至该第一PE设备的。该组播地址与该第一P2MP树的标识之间的对应关系也可以是由该第一PE设备自行获取的。该第一P2MP树的标识与该第一P2MP树的标签之间的对应关系可以是由该SDN控制器发送至该第一PE设备的。该第一P2MP树的标识与该第一P2MP树的标签之间的对应关系也可以是由该第一PE设备自行获取的。该第一P2MP树的标识与该第二P设备的上下文之间的对应关系可以是由该SDN控制器发送至该第一PE设备的。该第一P2MP树的标识与该第二P设备的上下文之间的对应关系也可以是由该第一PE设备自行获取的。
可选的,在一些实施例中,该第一PE设备自行获取该组播地址与该第一P2MP树的标识之间的对应关系的方式可以是该第一PE设备利用该第一P2MP树的标签从其他设备(例如该第一P2MP树中的其他节点)获取该组播地址与该第一P2MP树的标识之间的对应关系。例如,该SDN控制器可以将该组播地址与该第一P2MP树的标识之间的对应关系发送至该第一P2MP树中的一个节点。该第一PE设备可以将该第一P2MP树的标签发送至该其他设备。该其他设备在接收到该第一P2MP树的标签的情况下,可以将该组播地址与该第一P2MP树的标识之间的对应关系发送至该第一PE设备。
可选的,在另一些实施例中,该第一PE设备自行获取该组播地址与该第一P2MP树的标识之间的对应关系的方式也可以是该第一PE设备预先保存该组播地址与该第一P2MP树的标识之间的对应关系。例如,该第一PE设备可以预先保存该组播地址与该第一P2MP树的标识之间的对应关系以及该第一P2MP树的标识与该第一P2MP树的标签之间的对应关系。该第一PE设备在从该SDN控制器接收到该第一P2MP树的标签的情况下,可以根据该第一P2MP树的标签与该第一P2MP树的标识之间的对应关系确定该第一P2MP树的标识。在确定了该第一P2MP树的标识后,该第一PE设备就可以确定出该组播地址与该第一P2MP树的标识之间的对应关系。
可选的,在另一些实施例中,该第一PE设备自行获取该组播地址与该第一P2MP树的标识之间的对应关系的方式也可以是该第一PE设备根据预设规则确定该组播地址与该第一P2MP树的标识之间的对应关系。例如,该预设规则可以预先规定组播地址的范围与该第一P2MP树的标识之间的对应关系。该第一PE设备可以先根据该第一P2MP树的标签确定该第一P2MP树的标识,然后就可以根据确定好的该第一P2MP树的标识确定出该第一P2MP树的标识与该组播地址的对应关系。
该第一PE设备自行获取该第一P2MP树的标识与该第一P2MP树的标签之间的对应关系以及该第一P2MP树的标识与该第二P设备的上下文之间的对应关系的具体实现方式与该第一PE设备自行获取该组播地址与该第一P2MP树的标识之间的对应关系的方式类似,在此就不必赘述。
可选的,在一些实施例中,该第一对应关系可以为组播地址、该第一P2MP树的标签、该第二P设备的上下文标签和该第一PE设备的节点SID的对应关系。
可选的,在一些实施例中,该第二子对应关系还可以包括该第一PE设备的节点SID和该第一P2MP树的标签之间的对应关系。该第二子对应关系还可以包括该第一PE设备的节点SID和该第一P2MP树的标识之间的对应关系。
可选的,在一些实施例中,该第一对应关系可以为组播地址、该第一P2MP树的标签、该第二P设备的上下文标签和第一邻接标签的对应关系。
可选的,在一些实施例中,该第二子对应关系还可以包括第一邻接标签和该第一P2MP树的标签之间的对应关系。该第二子对应关系还可以包括第一邻接标签和该第一P2MP树的表示之间的对应关系。该第一邻接标签可以包括N个邻接SID。该N个邻接SID为该第一PE设备与该第二P设备之间包括的N个节点的邻接SID。
可选的,在一些实施例中,该第一P2MP树的标签与该第一P2MP树的标识可以相同。
可选的,在另一些实施例中,该第一P2MP树的标签与该第一P2MP树的标识可以不同。
在目标方案不同的情况下,该第一PE设备构造该第一对应关系所需的信息也是不同的。该第一PE设备可以根据该目标方案,确定构造该第一对应关系所需的信息以及该第一对应关系。
具体地,若该目标方案为方案1,则该第一对应关系可以包括以下信息:该第二P设备的上下文标签、该第一P2MP树的标签、该组播地址和该第一P2MP树的标识之间的对应关系。
可选的,在一些实施例中,该第一对应关系可以与第一相关信息以转发表的形式呈现。该第一相关信息可以包括该第一PE设备的上下文标签和第一动作等。该第一动作可以是将接收到的组播报文发送至该第二P设备。
例如,假设该第一PE设备的上下文标签为10001;该第一PE设备获取到的该第二P设备的上下文标签为10002。同时假设该第一PE设备获取到的信息为信息1-1。在此情况下,该第一PE设备可以确定如表1所示的第一转发表。
Context<default> | ILM:(inLabel<10001>,act=Cxt10001) |
TreeLeaf | Tree<Blue>leaf(10002/20,intf<toP2>) |
MFIB | MFIB:(S,G,Tree<Blue>) |
表1
如表1所示,Context<default>表项包括该第一PE设备的上下文标签。TreeLeaf表项包括该第一P2MP树的标识,该第一P2MP树的标签,该第二P设备的上下文标签以及该第一动作。具体地,Tree<Blue>表示该第一P2MP树标识为Blue。Leaf(10002/20,intf<toP2>)中的10002表示该第二P设备的上下文标签,20表示该第一P2MP树的标签,toP2表示该第一动作为将接收到的组播报文发送至该第二P设备。MFIB表项包括该组播地址和该第一P2MP树的标签。具体地,S,G表示该组播地址,Tree<Blue>表示该第一P2MP树标识为Blue。
可以看出,表项TreeLeaf反映了该第一P2MP树的标识、该第一P2MP树的标签以及该第二P设备的上下文标签之间的对应关系。表项MFIB反映出了该组播地址和该第一P2MP树的标识之间的对应关系。
可选的,在一些实施例中,可以将表1中的表项MFIB中的该第一P2MP树的标识更改为该第一P2MP树的标签。这样,表项MFIB就可以反映该组播地址和该第一P2MP树的标签之间的对应关系。
可选的,在一些实施例中,可以将表1中的表项MFIB中增加该第一P2MP树的标签。这样,表项MFIB就可以反映该组播地址、该第一P2MP树的标识以及该第一P2MP树的标签之间的对应关系。
可选的,在一些实施例中,可以将表1中的表项TreeLeaf中的该第一P2MP树的标识删除。表项TreeLeaf反映了该第一P2MP树的标签和该第二P设备的上下文标签之间的对应关系。
此外,表项TreeLeaf还可以反映出第一动作与该第一P2MP树的标识、该第一P2MP树的标签以及该第二P设备的上下文标签之间的对应关系。
若该目标方案为方案2,则该第一对应关系可以包括以下信息:该第二P设备的上下文标签、该第一P2MP树的标签、该组播地址、该第一P2MP树的标识和该第一PE设备的节点SID之间的对应关系。
类似的,该第一对应关系也可以与该第一相关信息与以转发表的形式呈现。
例如,假设该第一PE设备的上下文标签为10001,该第一PE设备的节点SID为23001;该第二PE设备的上下文标签为10002。同时假设该第一PE设备获取到的信息为信息1-2。在此情况下,该第一PE设备可以确定如表2所示的第一转发表。
Context<default> | ILM:(inLabel<10001>,act=Cxt10001) |
TreeLeaf | Tree<Blue>leaf(10002/23001/21,intf<toP2>) |
MFIB | MFIB:(S,G,Tree<Blue>) |
表2
如表2所示,Context<default>表项包括该第一PE设备的上下文标签。TreeLeaf表项包括该第一P2MP树的标识,该第一P2MP树的标签,该第二P设备的上下文标签以及该第一动作。具体地,Tree<Blue>表示该第一P2MP树标识为Blue。Leaf(10002/23001/21,intf<toP2>)中的10002表示该第二P设备的上下文标签,23001表示该第一PE设备的节点SID,21表示该第一P2MP树的标签,toP2表示该第一动作为将接收到的组播报文发送至该第二P设备。MFIB表项包括该组播地址和该第一P2MP树的标签。具体地,S,G表示该组播地址,Tree<Blue>表示该第一P2MP树标识为Blue。
若该目标方案为方案3,则该第一对应关系可以包括以下信息:该第二P设备的上下文标签、该第一P2MP树的标签、该组播地址、该第一P2MP树的标识和第一邻接标签之间的对应关系。
类似的,该第一对应关系也可以与该第一相关信息与以转发表的形式呈现。
例如,假设该第一PE设备的上下文标签为10001;该第二PE设备的上下文标签为10002。此外,还假设该第一PE设备与该第二P设备之间包括一个设备1,且该设备1的邻接SID为102。同时假设该第一PE设备获取到的信息为信息1-3。在此情况下,该第一PE设备可以确定如表3所示的第一转发表。
表3
如表3所示,Context<default>表项包括该第一PE设备的上下文标签。TreeLeaf表项包括该第一P2MP树的标识,该第一P2MP树的标签,该第二P设备的上下文标签以及该第一动作。具体地,Tree<Blue>表示该第一P2MP树标识为Blue。leaf(102/10002/22,intf<toP2>)中的,102表示该第一邻接标签(即该设备1的邻接SID),10002表示该第二P设备的上下文标签,22表示该第一P2MP树的标签,toP2表示该第一动作为将接收到的组播报文发送至该第二P设备。MFIB表项包括该组播地址和该第一P2MP树的标签。具体地,S,G表示该组播地址,Tree<Blue>表示该第一P2MP树标识为Blue。
207,该第一P设备保存第二对应关系。
可选的,在一些实施例中,该第二对应关系包括:该第一下游节点的上下文标签,该第一P2MP树的标签,以及该第一P设备的上下文标签。该第一P设备的上下文标签即为该第一P设备发送给该第一上游节点的上下文标签。例如,若该第一P设备为该第一P2MP树中的唯一一个中间节点,则该第一P设备的上下文标签即为该第一P设备发送给该第一PE设备的上下文标签。
为了便于描述,以下将该第一下游节点的上下文标签称为第一上下文标签,将该第一P设备的上下文标签称为第二上下文标签。
可选的,在一些实施例中,该第二对应关系可以包括该第二上下文标签、该第一P2MP树的标签和第一标识之间的第一子对应关系。该第二对应关系还可以包括该第一标识和该第一上下文标签之间的第二子对应关系。
可选的,在一些实施例中,该第一标识可以是该第一P2MP树的标识。
该第一P设备获取该第二对应关系的方式与该第一PE设备获取该第一对应关系的方式类似,在此就不必赘述。
可选的,在一些实施例中,该第二对应关系还可以包括该第一上游节点的节点SID和该第二上下文标签之间的对应关系。该第一子对应关系还可以为该第二上下文标签、该第一P2MP树的标签、该第一标识和该第一P设备的节点SID之间的对应关系。
可选的,该第一子对应关系还可以为该第二上下文标签、该第一P2MP树的标签、该第一标识和第二邻接标签的对应关系。该第二邻接标签包括M邻接SID。该M个邻接SID为该第一P设备与该第一下游节点之间包括的M个节点的邻接SID。
在目标方案不同的情况下,该第一P设备构造该第二对应关系所需的信息也是不同的。该第一P设备可以根据该目标方案,确定构造该第二对应关系所需的信息以及该第二对应关系。
具体地,若该目标方案为方案1,则该第二对应关系可以包括以下信息:该第二上下文标签、该第一P2MP树的标签、第一标识和该第一上下文标签之间的对应关系。
可选的,在一些实施例中,该第二对应关系可以与第二相关信息以转发表的形式呈现。该第二关信息可以包括该第一P设备的上下文标签和第二动作等。该第二动作可以是将接收到的组播报文发送至该第一下一条节点。
假设该第一P设备为该第一P2MP树中唯一一个中间节点。该第一P2MP树中包括两个叶子节点:第二PE设备和第三PE设备。假设该第一P设备的上下文标签为10002,该第二PE设备的上下文标签为10002,该第三PE设备的上下文标签为10003。同时假设该该第一P设备获取到的信息为信息2-1。在此情况下,该第一P设备可以确定如表4所示的第二转发表。
表4
如表4所示,Context<default>表项包括该第二上下文标签。TreeLeaf表项包括该第一P2MP树的标识,该第一P2MP树的标签,该第一上下文标签以及该第二动作。具体地,Tree<Blue>表示该第一P2MP树标识为Blue。leaf(10002/20,intf<toPE2>)中的10002表示该第二PE设备的上下文标签,20表示该第一P2MP树的标签,toPE2表示该第二动作为将接收到的组播报文发送至该第二PE设备。leaf(10003/20,intf<to PE3>)中的10003表示该第三PE设备的上下文标签,20表示该第一P2MP树的标签,toPE3表示该第二动作为将接收到的组播报文发送至该第三PE设备。Context<10002>表项包括该第一P2MP树的标签和该第一P2MP树的标识。
若该目标方案为方案2,则则该第二对应关系可以包括以下信息:该第二上下文标签、该第一P2MP树的标签、第一标识、该第一P设备的节点SID和该第一上下文标签之间的对应关系。
类似的,该第二对应关系也可以与该第二相关信息与以转发表的形式呈现。该第二相关信息还可以进一步包括该第一上游节点的节点SID。
假设该第一P设备为该第一P2MP树中唯一一个中间节点。该第一P2MP树中包括两个叶子节点:第二PE设备和第三PE设备。假设该第一P设备的上下文标签为10002,该第一P设备的节点SID为23002,该第一PE设备的节点SID为23001,该第二PE设备的上下文标签为10002,该第三PE设备的上下文标签为10003。同时假设该第一P设备获取到的信息为信息2-2。在此情况下,该第一P设备可以确定如表5所示的第二转发表。
表5
如表5所示,Context<default>表项包括该第二上下文标签。TreeLeaf表项包括该第一P2MP树的标识,该第一P2MP树的标签,该第一上下文标签以及该第二动作。具体地,Tree<Blue>表示该第一P2MP树标识为Blue。leaf(10002/23002/21,intf<toPE2>)中的10002表示该第二PE设备的上下文标签,23002表示该第一P设备的节点SID,21表示该第一P2MP树的标签,toPE2表示该第二动作为将接收到的组播报文发送至该第二PE设备。leaf(10003/23002/21,intf<to PE3>)中的10003表示该第三PE设备的上下文标签,23002表示该第一P设备的节点SID,21表示该第一P2MP树的标签,toPE3表示该第二动作为将接收到的组播报文发送至该第三PE设备。Context<10002>表项包括该第一P2MP树的标签和该第一P2MP树的标识。
若该目标方案为方案3,则该第二对应关系可以包括以下信息:该第二上下文标签、该第一P2MP树的标签、第一标识、该第二邻接标签和该第一上下文标签之间的对应关系。
假设该第一P设备的上下文标签为10002。该第一P设备为该第一P2MP树中唯一一个中间节点。该第一P2MP树中包括两个叶子节点:第二PE设备和第三PE设备。假设该第二PE设备的上下文标签为10002,该第三PE设备的上下文标签为10003。此外,还假设该第一P设备与该第三PE设备之间包括一个设备2,该设备2的邻接SID为3013。同时假设该第一P设备获取到的信息为信息2-3。在此情况下,该第一P设备可以确定如表6所示的第二转发表。
表6
如表6所示,Context<default>表项包括该第二上下文标签。TreeLeaf表项包括该第一P2MP树的标识,该第一P2MP树的标签,该第一上下文标签以及该第二动作。具体地,Tree<Blue>表示该第一P2MP树标识为Blue。leaf(10002/22,intf<toPE2>)中的10002表示该第二PE设备的上下文标签,22表示该第一P2MP树的标签,toPE2表示该第二动作为将接收到的组播报文发送至该第二PE设备。leaf(3013/10003/21,intf<to PE3>)中的3013表示该第二邻接标签(即该设备2的邻接SID),10003表示该第三PE设备的上下文标签,22表示该第一P2MP树的标签,toPE3表示该第二动作为将接收到的组播报文发送至该第三PE设备。Context<10002>表项包括该第一P2MP树的标签和该第一P2MP树的标识。
208,该第二PE设备可以构造转发表。
该转发表可以包括该第二PE设备的上下文标签和第三动作,该第三动作为将获取到的组播报文从该第一P2MP树中输出。
在目标方案不同的情况下,该第二PE设备构造该转发表所需的信息、该转发表中的信息和/或该转发表中所包括的表的数目也是不同的。
具体地,若该目标方案为方案1,则该转发表可以包括上下文默认表、第一上下文表。该转发表可以包括以下信息:该第二PE设备的上下文标签、该第一P2MP树的标签以及该第三动作。
假设该第二PE设备的上下文标签为10002。同时假设该第二PE设备获取到的信息为信息3-1。在此情况下,该第二PE设备可以确定如表7所示的转发表。
Context<default> | ILM:(inLabel<10002>,act=Cxt10002) |
Context<10002> | ILM:(inLabel<20>,act=POP) |
表7
如表7所示,Context<default>表项包括该第二PE设备的上下文标签。Context<10002>表项包括该第一P2MP树的标签以及第三动作。该第三动作为将获取到的组播报文从该第一P2MP树中输出。
若该目标方案为方案2,则该转发表可以包括上下文默认表、第一上下文表以及第二上下文表。该转发表可以包括以下信息:该第二PE设备的上下文标签、该第一P2MP树的标签、该第二PE设备的上一个节点的节点SID以及该第三动作。
假设该第一P设备为该第二PE设备的上一个节点,该第一P设备的节点SID为23002。该第二PE设备的上下文标签为10002。同时假设该第二PE设备获取到的信息为信息3-2。在此情况下,该第二PE设备可以确定如表8所示的转发表。
Context<default> | ILM:(inLabel<10002>,act=Cxt10002) |
Context<10002> | ILM:(inLabel<23002>,act=cxt10002_23002) |
Context<10002_23002> | IML:(inLabel<21>,act=POP) |
表8
如表8所示,Context<default>表项包括该第二PE设备的上下文标签。Context<10002>表项包括该第一P设备的节点SID。表项Context<10002_23002>表项包括该第一P2MP树的标签以及第三动作。该第三动作为将获取到的组播报文从该第一P2MP树中输出。
若该目标方案为方案3,则该转发表可以包括上下文默认表、第一上下文表。该转发表可以包括以下信息:该第二PE设备的上下文标签、该第一P2MP树的标签以及该第三动作。
假设该第二PE设备的上下文标签为10002。同时假设该第二PE设备获取到的信息为信息3-3。在此情况下,该第二PE设备可以确定如表9所示的转发表。
Context<default> | ILM:(inLabel<10002>,act=Cxt10002) |
Context<10002> | ILM:(inLabel<22>,act=POP) |
表9
如表9所示,,Context<default>表项包括该第二PE设备的上下文标签。Context<10002>表项包括该第一P2MP树的标签以及第三动作。该第三动作为将获取到的组播报文从该第一P2MP树中输出。
该P2MP中其余的中间节点确定相应的对应关系和转发表的方式与该第一P设备确定该第一对应关系和转发表的方式类似,为避免重复,在此就不必赘述。
该P2MP中其余的叶子节点确定相应的转发表的方式与该第二PE设备确定该第二PE设备的转发表的方式类似,为避免重复,在此就不必赘述。
步骤201至步骤208描述了SDN控制器建立第一P2MP树,SDN控制器下发路径信息以及第一P2MP树中的不同节点所保存的对应关系的过程。为了便于描述,将上述建立第一P2MP树、下发路径信息以及所保存的对应关系的整个过程统称为初始化过程。在初始化过程完成后,该第一P2MP树中的根节点可以从接收组播报文。该第一P2MP树中的每个节点可以根据所保存的对应关系处理接收到的组播报文。
209,该第一PE设备接收组播报文。该第一PE设备是第一P2MP树中的一个根节点。
可选的,在一些实施例中,该第一PE设备可以从用户边缘(Customer Edge,CE)设备接收该组播报文。
210,该第一PE设备为组播报文确定第一标签,该第一标签包括第二P设备的上下文标签和该第一P2MP树的标签,该第二P设备为该第一P2MP树中该第一PE设备的下一个节点,该第二P设备的上下文标签是该第一PE设备从该第二P设备获取的。
该第一PE设备可以根据该第一对应关系确定该第一标签包括的内容。如上所述,第一对应关系中的内容与目标方案相关。若目标方案不同,则第一对应关系中的内容也不同。该第一标签包括的内容是根据该第一对应关系项确定的。因此,若目标方案不同,该第一标签的内容也不同。
若该目标方案为方案1,则该第一标签可以包括以下内容:该第二P设备的上下文标签和该第一P2MP树的标签。
若该第一PE设备确定的该第一对应关系为组播地址、该第一P2MP树的标签和该第二P设备的上下文标签的对应关系,则该第一标签可以包括该第一P2MP树的标签和该第二P设备的上下文标签。
具体地,在该第一PE设备接收到来自于CE设备的组播报文的情况下,该第一PE设备可以根据该第一对应关系,确定对应于该组播地址的该第一P2MP树的标签和该第二P设备的上下文标签。这样,该第一PE设备就可以确定出该第一标签所包括的内容。
假设该第一对应关系如表1中包括的对应关系,则该第一标签可以包括该第二P设备的上下文标签,且该上下文标签为10002。此外,该第一标签还可以包括该第一P2MP树的标签,该第一P2MP树的标签为20。
该第一标签可以通过多层标签的形式呈现。该第一标签可以包括两层标签,第一层标签(或称上层标签)可以是该第二P设备的上下文标签,第二层标签(或称下层标签)可以是该第一P2MP树的标签。
例如,表10是一个两层第一标签的示意。
P2-Context<10002> |
TreeLabel<20> |
表10
如表10所示的P2-Context<10002>表示该第二P设备的上下文标签为10002,TreeLabel<20>表示该第一P2MP树的标签为20。
若该目标方案为方案2,则该第一标签可以包括以下内容:该第二P设备的上下文标签、该第一PE设备的节点SID以及该第一P2MP树的标签。
若该第一PE设备确定的该第一对应关系为组播地址、该第一P2MP树的标签、该第一PE设备的节点SID和该第二P设备的上下文标签的对应关系,则该第一标签可以包括该第一P2MP树的标签、该第一PE设备的节点SID以及该第二P设备的上下文标签。
具体地,在该第一PE设备接收到来自于CE设备的组播报文的情况下,该第一PE设备可以根据该第一对应关系,确定对应于该组播地址的该第一P2MP树的标签、该第一PE设备的节点SID和该第二P设备的上下文标签。这样,该第一PE设备就可以确定出该第一标签所包括的内容。
假设该第一对应关系如表2中所包括的对应关系,则该第一标签可以包括该第二P设备的上下文标签,且该上下文标签为10002。该第一标签还可以包括该第一PE设备的节点SID,该节点SID为23001。此外,该第一标签还可以包括该第一P2MP树的标签,该第一P2MP树的标签为21。
表11是该第一PE设备确定的该第一标签。
P2-Context<10002> |
NbrLabel<23001> |
TreeLabel<21> |
表11
表11共包括三层标签,第一层标签(或称上层标签)是该第二P设备的上下文标签,第二层标签(或称中层标签)是该第一PE设备的节点SID,第三层标签(或称下层标签)可以是该第一P2MP树的标签。更具体地,如表11所示的P2-Context<10002>表示该第二P设备的上下文标签为10002,NbrLabe<23001>表示该第一PE设备的节点SID为23001,TreeLabel<21>表示该第一P2MP树的标签为21。
若该目标方案为方案3,则该第一标签可以包括以下内容:该第二P设备的上下文标签、该第一邻接标签以及该第一P2MP树的标签。
若该第一PE设备确定的该第一对应关系为组播地址、该第一P2MP树的标签、该第一邻接标签和该第二P设备的上下文标签的对应关系,则该第一标签可以包括该第一P2MP树的标签、该第一邻接标签以及该第二P设备的上下文标签。
具体地,在该第一PE设备接收到来自于CE设备的组播报文的情况下,该第一PE设备可以根据该第一对应关系,确定对应于该组播地址的该第一P2MP树的标签、该第一邻接标签和该第二P设备的上下文标签。这样,该第一PE设备就可以确定出该第一标签所包括的内容。
假设该第一对应关系如表3中所包括的对应关系,则该第一标签可以包括该第二P设备的上下文标签,且该上下文标签为10002。此外,该第一PE设备还可以确定该第一邻接标签,该第一邻接标签包括该设备1的邻接SID,该邻接SID为102。表12是一个该第一标签的示意。
102 |
P2-Context<10002> |
TreeLabel<22> |
表12
如表12所示的102表示该第一邻接标签,P2-Context<10002>表示该第二P设备的上下文标签为10002,TreeLabel<22>表示该第一P2MP树的标签为22。
又如,假设该第一PE设备与该第二P设备之间还包括设备1和设备2。换句话说,N的取值为2。设备1为该N个节点中的第一个节点,设备2为该N个节点中的第2个节点。该第一PE设备的邻接SID为1101,该设备1的邻接SID为102,设备2的邻接SID为1022。在此情况下,该第一邻接标签中包括取值为102和1022的邻接SID。表13是一个该第一标签示意。
102 |
1022 |
P2-Context<10002> |
TreeLabel<21> |
表13
如表13所示的102表示设备1的邻接SID,1022表示设备2的邻接SID,P2-Context<10002>表示该第二P设备的上下文标签为10002,TreeLabel<21>表示该第一P2MP树的标签为21。
可以理解的是,该N个设备中的每个设备将接收到的封装有该第一标签的组播报文继续发送至下一节点时,该每个设备可以将该第一标签中自己的邻接SID剥离。例如表14是一个该设备1向该设备2发送的第一标签示意。表14所示中的标签包括剥离了设备1的邻接SID的该第一标签。
1022 |
P2-Context<10002> |
TreeLabel<21> |
表14
如表14所示的1022表示设备2的邻接SID,P2-Context<10002>表示该第二P设备的上下文标签为10002,TreeLabel<21>表示该第一P2MP树的标签为21。
依然假设第一标签包括该第二P设备的上下文标签。在此情况下,该设备2向该第二P设备发送的标签与表10类似,不同之处仅在于设备2向该第二P设备发送的第一P2MP树的标签为21,即TreeLabel<21>。
211,该第一PE设备根据该第一标签对该组播报文进行封装,得到经过封装的组播报文。
如前所述,在一些实施例中,该第一标签可以包括该第一P2MP树的标签和该第二P设备的上下文标签。在另一些实施例中,该第一标签可以包括该第一P2MP树的标签、该第一PE设备的节点SID以及该第二P设备的上下文标签。在另一些实施例中,该第一标签可以包括该第二P设备的上下文标签、该第一邻接标签以及该第一P2MP树的标签
212该第一PE设备将该经过封装的组播报文发送至该第二P设备。
为便于描述,除非特殊声明外,步骤211至步骤218中均假设该第二P设备为该第一P2MP树中的唯一一个中间节点。在此情况下,该第二P设备与该第一P设备为同一个设备。换句话说,步骤212的描述也可以是:该第一PE设备将该经过封装的组播报文发送至该第一P设备。
可选的,在一些实施例中,该第一PE设备与该第二P设备之间可以直接通信。在此情况下,该第一PE设备可以直接将该第一标签和该组播报文发送至该第二P设备。
此外,该第一PE设备可以根据第一动作确定将该第一标签和该组播报文发送至该第二P设备。
可选的,在一些实施例中,该第一动作可以如表1或表2所示与对应关系一同以转发表的形式保存。
可选的,在另一些实施例中,该第一动作可以是预先设置好的动作。换句话说,该第一动作可以不与该第一对应关系一起以转发表的形式保存。
该第一动作可以是由该SDN控制器设置的,也可以是该第一PE设备从其他设备上获取的,或者,该第一动作也可以是直接设置在该第一PE设备上的。
本申请实施例中所称的根据该第一标签对该组播报文进行封装是指将该第一标签插入到组播报文的包头中。这样,该第一标签可以随着该组播报文一起被发送至下一个设备。
可选的,在一些实施例中,该第一PE设备与该第二P设备之间的物理路径除该第一PE设备与该第二P设备外还包括N个节点。在此情况下,该第一标签可以包括该第一邻接标签,该第一邻接标签包括该N个节点的邻接SID。
如前所述,邻接SID用于指示组播报文在该物理路径中的下一个节点。该物理路径中的每个节点都可以根据邻接SID将接收到的组播报文发送至下一个节点。因此,该第一PE设备可以将携带有该N个节点中的每个节点的邻接SID的第一标签与该组播报文封装并发送至该N个节点中的第一个节点。这样,该N个节点中的每个节点可以结合该邻接SID将该第一标签和该组播报文发送至下一个节点。此外,可以理解的是,在n=N的情况下,第N个节点的下一个节点即为该第二P设备。进一步,该N个节点中的每个节点在向下一个节点发送该第一标签和该组播报文时,还应同时将上一个节点的邻接SID剥离,并将剩余邻接SID发送至下一个节点。
这样,该N个节点可以只需要获取最外层标签的内容,而无需感知深层标签的内容。
213,该第一P设备接收第一上游节点发送的经过封装的组播报文。如上所述,步骤211至步骤218中假设该第二P设备为该第一P2MP树中的唯一一个中间节点。在此情况下,该第一上游节点即为该第一PE设备。该组播报文封装有该第一标签。
214,该第一P设备根据该第一标签和该第二对应关系为该组播报文确定第二标签。
与确定该第一标签的方式类似,该第二标签包括的内容也与该目标方案相关。例如,若该目标方案为方案1,则该第二标签可以包括该第一下游节点的上下文标签。又如,若该目标方案为方案2,则该第二标签可以包括该第一下游节点的上下文标签和该第一P设备的节点SID。又如,若该目标方案为方案3,则该第二标签可以包括该第一下游节点的上下文标签和第二邻接标签。
215,该第一P设备根据该第二标签对该组播报文进行封装,得到该经过封装的组播报文。
为了便于区分,以下将该第一PE设备根据该第一标签对组播报文进行封装得到的经过封装的组播报文称为第一组播报文;将该第一P设备根据该第二标签对该组播报文进行封装,得到的经过封装的组播报文称为第二组播报文。
可以理解的是,该第一P设备在确定该第二组播报文时,可以无需将该第一组播报文中的该第一P2MP树的标签从该第一组播报文中解封装出来。换句话说,该第一P设备可以保留该第一组播报文中的第一P2MP树的标签,并根据该第二标签对该组播报文进行封装,得到该第二组播报文。
当然,该第一P设备可以将该第一标签从该第一组播报文中解封装处理,然后根据该第二标签和该第一P2MP树的标签对该组播报文进行封装,得到该第二组播报文。
216,该第一P设备将该经过封装的组播报文发送至该第一下游节点。
如上所述,步骤212至步骤218中假设该第二P设备为该第一P2MP树中的唯一一个中间节点。因此,该第一下游节点应为该第一P2MP树的叶子节点。可以假设该第一P2MP树共包括两个叶子节点。该两个叶子节点为该第二PE节点和第三PE节点。
217,该第一下游节点确定该第二标签包括该第一下游节点的上下文标签。
218,该第一下游节点将该组播报文从该第一P2MP树中输出。
步骤216至步骤218中的该第一下游节点可以为该第二PE设备。
可以看出,通过步骤210至步骤218,该第一P2MP树中的每个节点可以将获取到的组播报文发送至下一个节点或者从该第一P2MP树中输出。
图3根据本申请实施例提供的传输数据的方法的示意性流程图。
301,SDN控制器建立第二P2MP树。该第二P2MP树包括一个根节点和至少一个叶子节点。该第二P2MP树可以不包括中间节点。第一PE设备为该根节点,第二PE设备为该至少一个叶子节点中的任一个叶子节点。
302,该SDN控制器向该第一PE设备发送该第二P2MP树的标签;该SND控制器向该第二PE设备发送该第二P2MP树的标签。
该第二P2MP树由该SDN控制器建立的。因此,该SDN控制器可以为该第二P2MP树分配一个标签。
可以理解的是,在该第二P2MP树中包括多个叶子节点的情况下,该SDN控制器可以将该多个叶子节点、点中的每个叶子节点均发送该P2MP树的标签。为了便于描述,本申请实施例中以第二PE设备为例进行描述。
此外,该第二P2MP树中的各个节点的连接关系以及组播报文在该第二P2MP树中的传输路径对于该SDN控制器是已知的。换句话说,该SDN控制器知晓该第一P2MP树中的每个节点的下一个节点是哪个设备,也知晓该每个节点的上一个节点是哪一个设备。
可选的,在一些实施例中,该SDN控制器可以向该第二P2MP树中的每个节点发送对应于该每个节点的路径信息。
可选的,在另一些实施例中,该SDN控制器可以将该第二P2MP树中的每个节点的路径信息发送至该第二P2MP树中的一个或多个节点,然后由该一个或多个节点将每个节点的路径信息发送至对应的节点。例如,该SDN控制器可以将该第二P2MP树中的每个节点的路径信息发送至该第一PE设备,该第一PE设备可以将每个节点对应的路径信息发送至该每个节点。
可选的,在另一些实施例中,该SDN控制器可以将该第二P2MP树中的每个节点的路径信息发送至该第二P2MP树中的一个或多个设备。该第二P2MP树中的未接收到路径信息的节点可以通过该第二P2MP树的标签查找该节点对应的路径信息。例如,该SDN控制器可以将该第二P2MP树中的每个节点的路径信息发送至该第一PE设备。该第二PE设备向该第一PE设备发送路径查询信息,该路径查询信息用于查询该第二PE设备对应的路径信息。该路径查询信息中可以包括该第二P2MP树的标签。更具体地,在一些实施例中,该路径查询信息可以仅包括该第二P2MP树的标签。在此情况下,该第一PE设备可以将该第一P2MP树中的所有路径信息均发送至该第二PE设备。该第二PE设备可以从该所有路径信息中确定出对应于该第二PE设备的路径信息。在另一些实施例中,该路径查询信息中可以包括该第二P2MP树的标签和该第二PE设备的身份信息,例如IP地址,SID。在此情况下,该第一PE设备可以直接将该第二PE设备对应的路径信息发送至该第二PE设备。
可以理解的是,在另一些实施例中,该第二P2MP树中的每个节点也可以从该第二P2MP树以外的设备查询该每个节点对应的路径信息。具体查询方式与从该第二PE设备处查询的方式是相似的,在此就不必赘述。
为方便描述,以下将对应于该第一PE设备的路径信息称为第一路径信息,将对应于第二PE设备的路径信息称为第二路径信息。
该第一路径信息可以包括该第一PE设备的下一跳信息。可选的,在一些实施例中,该第一PE设备的下一跳信息可以包括该第一P2MP树中该第一PE设备的下一个节点(即该第二P设备)的身份信息。不同设备的身份信息是不同的。例如,该身份信息可以是IP地址。又如,该身份信息可以是节点SID。
该第二路径信息可以包括该第二PE设备的下一跳信息。由于该第二PE设备是叶子节点,因此该第二PE设备的下一跳信息为空。
可以理解的是,由于该第二P2MP树中不包括中间节点。因此,该第一PE设备的第一下游节点可以是该第二PE设备。相应的,该第二PE设备的上一跳节点可以是该第一PE设备。
该第二P2MP树中的两个相邻的节点是逻辑上相邻的两个节点。该两个相邻的节点的物理路径中可能还包括至少一个节点。这里所称的物理路径中的至少一个节点是两个相邻节点之间的节点。换句话说,该至少一个节点并不包括该两个相邻的节点。因此,该物理路径中总共包括的节点为该两个相邻的节点以及该至少一个节点。为方便描述,以下该物理路径中属于该第二P2MP树的两个节点中的一个称为起始节点,另一个称为终结节点。组播报文在该物理路径中的传输方向是从该起始节点向该终结节点传输。
可选的,在一些实施例中,该物理路径中的每个节点还可以包括邻接(Adjacency)SID。邻接SID用于指示组播报文在该物理路径中的下一个节点。该物理路径中的每个节点都可以根据邻接SID将接收到的组播报文发送至下一个节点。例如,该第一PE设备与该第二PE设备之间还包括设备1。该第一PE设备的邻接SID为1101,该设备1的邻接SID为102。1101可以指示下一个节点为设备1,102可以指示下一个节点为第二PE设备。这样,若该第一PE设备接收到包括有1101标签的组播报文,则该第一PE设备会将该组播报文发送至设备1;若该设备1接收到包括有102标签的组播报文,则该设备1会将该组播报文发送至该第二PE设备。
可选的,在一些实施例中,该第一PE设备与该第二PE设备之间的物理路径除该第一PE设备与该第二PE设备外还包括N个节点,该第一PE设备的下一跳信息包括该第一PE设备的邻接SID,该第一PE设备的下一跳信息还包括该N个节点中的每个节点的邻接SID,N为大于或等于1的正整数。为方便描述,以下将该下一跳信息中所包括的该第一PE设备的邻接SID以及该N个节点中的每个节点的邻接SID称为第一邻接SID信息。
可选的,在一些实施例中,该第一路径信息还包括该第一PE设备的上一跳信息。由于该第一PE设备为根节点,因此该第一PE设备的上一跳信息可以为空。该第二路径信息还包括该第二PE设备的上一跳信息,该第二PE设备的上一跳信息包括该第二P2MP树中的该第二PE设备的上一个节点的身份信息(即该第一PE设备的身份信息)。与下一跳信息中的身份信息类似,该上一跳信息所包括的身份信息也可以是IP地址或者节点SID等。可以理解的是,该上一跳信息中的身份信息与下一跳信息中的身份信息的类型是相同的。例如,该上一跳信息所包括的身份信息为IP地址,该下一跳信息所包括的身份信息也为IP地址。又如,若该上一跳信息所包括的身份信息为节点SID,该下一跳信息所包括的身份信息也为节点SID。
综上所述,该第一路径信息可以包括多种方案。具体地,该第一路径信息的方案1:该第一路径信息包括该第一PE设备的下一跳信息,且该第一PE设备的下一跳信息为该第二P2MP树中该第一PE设备的下一个节点的身份信息;该第一路径信息的方案2:该第一路径信息包括该第一PE设备的下一跳信息和该第一PE设备的上一跳信息,且该第一PE设备的下一跳信息为该第二P2MP树中该第一PE设备的下一个节点的身份信息;该第一路径信息的方案3:该第一路径信息包括该第一PE设备的下一跳信息,且该第一PE设备的下一跳信息包括为该第二P2MP树中该第一PE设备的下一个节点的身份信息和第一邻接SID信息。
类似的,该第二路径信息也可以包括与该第一路径信息的方案1和方案2类似的方案。具体地,该第二路径信息的方案1:该第二路径信息包括该第二PE设备的下一跳信息,且该第二PE设备的下一跳信息为空;该第二路径信息的方案2:该第二路径信息包括该第二PE设备的下一跳信息和该第二PE设备的上一跳信息,且该第二PE设备的下一跳信息为空。该第二路径信息也可以包括方案3:但是由于该第二PE设备为叶子节点,因此该第二PE设备并不需要获取邻接SID。因此,该第二路径信息的方案3可以与该第二路径信息的方案1相同。
可选的,在一些实施例中,该第二P2MP树中的每个节点可以支持上述三种方案中的两种或三种方案。在此情况下,该SDN控制器向每个节点发送方案指示信息,该方案指示信息用于指示目标方案。可选的,在一些实施例中,该路径信息中可以包括该方案指示信息。可选的,在另一些实施例中,该方案指示信息和该路径信息可以分别发送给该第一P2MP树中的各个节点。该目标方案为该第二P2MP树中每个节点均支持的至少一种方案中的一种。可以理解的是,在该第二P2MP树中的每个节点支持上述三种方案中的两种方案的情况下,不同的节点所支持的两种方案可以完全相同也可以不完全相同。但是该SDN控制器向同一个第二P2MP树中的每个节点发送的方案指示信息所指示的目标方案是相同的。例如,第二P2MP树的叶子节点可以支持方案1和方案2,第二P2MP树的根节点可以支持方案2和方案3。在此情况下,该目标方案可以为方案2。又如,第一P2MP树的叶子节点可以支持方案1和方案2,第二P2MP树的根节点可以支持方案1、方案2和方案3。在此情况下,该目标方案可以为方案2或者方案1。
可选的,在另一些实施例中,该第二P2MP树中的每个节点仅支持上述三种方案中的一种方案。在此情况下,该SDN控制器无需向该每个节点发送方案指示信息。可以理解的是,在每个节点仅支持一种方案的情况下,不同节点所支持的方案是相同的。例如,该第二P2MP树中共的每个节点仅支持方案1。又如,该第二P2MP树中的每个节点仅支持方案2。又如,该第二P2MP树中的每个节点仅支持方案3。为了方便描述,以下所称的目标方案也可以是每个节点仅支持的方案。
可选的,在一些实施例中,该第一路径信息中还可以包括根节点信息。该根节点信息可以是该根节点的身份信息。例如,该第一PE设备的IP地址,该第一PE设备的节点SID等。
假设该目标方案为方案1。此外,还假设该第二P2MP树中仅包括一个叶子节点,即该第二PE设备。在此情况下,该第一路径信息可以包括Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<PE2>,其中,Type=Context_Based_P2MP表示该目标方案为方案1,TreeLabe=20表示该第二P2MP树的标签为20,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<PE2>表示下一跳信息为该第二PE设备的身份信息。为方便下文引用,以下将路径信息Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<PE2>称为信息1-1。
该第二路径信息可以包括:Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<null>,其中,TreeLabe=20表示该第二P2MP树的标签为20,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<null>表示下一跳信息为空。为方便下文引用,以下将路径信息Type=Context_Based_P2MP,TreeLabel=20,FECroot=PE1,NH=<null>称为信息2-1。
假设该目标方案为方案2。此外,还假设该第二P2MP树中仅包括一个叶子节点,即该第二PE设备。在此情况下,该第一路径信息可以包括Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=null,NH=<P2>,其中,Type=Context_Nbr_P2MP表示该目标方案为方案2,TreeLabe=21表示该第二P2MP树的标签为21,FECroot=PE1表示根节点信息为第一PE设备的身份信息,UH=null表示上一跳信息为空,NH=<P2>表示下一跳信息为该第二P设备的身份信息。为方便下文引用,以下将路径信息Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=null,NH=<P2>统称为信息1-2。
该第二路径信息可以包括:Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=P2,NH=<null>,其中,TreeLabe=21表示该第二P2MP树的标签为21,FECroot=PE1表示根节点信息为第一PE设备的身份信息,UH=PE1表示上一跳信息为该第二PE设备的身份信息,NH=<null>表示下一跳信息为空。为方便下文引用,以下将路径信息Type=Context_Nbr_P2MP,TreeLabel=21,FECroot=PE1,UH=PE1,NH=<null>统称为信息2-2。
假设该目标方案为方案3。此外,还假设该第一PE设备与该第二PE设备之间包括一个设备1。同时,还假设该第二P2MP树中仅包括一个叶子节点,即该第二PE设备。在此情况下,该第一路径信息可以包括:Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<P2,PathLastack=1101/102>,其中,Type=Context_Tnl_P2MP表示该目标方案为方案3,TreeLabe=22表示该第二P2MP树的标签为22,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<PE2,PathLastack=1101/102>表示下一跳信息为该第二PE设备的身份信息,以及第一PE设备的邻接SID为1101,设备1的邻接SID为102。为方便下文引用,以下将路径信息Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<PE2,PathLastack=1101/102>称为信息1-3。
该第二路径信息可以包括:Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<null>,其中,TreeLabe=22表示该第一P2MP树的标签为22,FECroot=PE1表示根节点信息为第一PE设备的身份信息,NH=<null>表示下一跳信息为空。为方便下文引用,以下将路径信息Type=Context_Tnl_P2MP,TreeLabel=22,FECroot=PE1,NH=<null>称为信息2-3。
上述实施例中,第二P2MP树中的两个节点之间最多包括一个设备。可以理解的是,该第二P2MP树中的两个相邻的节点还可以包括多个设备。例如,假设该第一PE设备与该第二PE设备之间还包括设备1和设备2。换句话说,N的取值为2。设备1为该N个节点中的第一个节点,设备2为该N个节点中的第2个节点。该第一PE设备的邻接SID为1101,该设备1的邻接SID为102,设备2的邻接SID为202。假设该目标方案为方案3,则该第一路径信息中的NH=<PE2,PathLastack=1101/102/202>。
303,该第一PE设备接收该第二PE设备的上下文标签。
可选的,在一些实施例中,该第二PE设备可以通过泛洪的方式将该第二PE设备的上下文标签发送至该第一PE设备。本领域技术人员可以理解的是,通过泛洪方式发送该上下文标签可以使得网络中的每个节点均接收到个第二PE设备的上下文标签。可以理解的是,这里所称的网络是指包括该第二PE设备的网络。
可选的,在另一些实施例中,该第二PE设备可以直接将该第二PE设备的上下文标签发送至该第二PE设备在该第二P2MP树中的上一个节点(即该第一PE设备)。也就是说,该第二PE设备可以向该第一PE设备发送该第二PE设备的上下文标签。可选的,在另一些实施例中,该第一PE设备可以请求该第二P2MP树中的该第一PE设备的下一个节点将上下文标签发送至该第一PE设备。也就是说,该第一PE设备可以请求该第二PE设备将该第二PE设备的上下文标签发送至该第一PE设备。
此外,该第二PE设备还可以将该第二PE设备的上下文标签与该第二PE设备的身份信息同时发送至该第一PE设备。在此情况下,该第一PE设备可以确定出该第二PE设备的上下文标签与该第二PE设备的身份信息的对应关系。这样,该第一PE设备在接收到包括有该第二PE设备的身份信息的路径信息后,可以根据该对应关系确定出该第二PE设备的上下文标签。
304,该第二PE设备获取该第一上游节点的节点SID。
该第二PE设备获取该第一上游节点的节点SID的方式与该第一PE设备获取该第二PE设备的上下文标签的方式类似,即该第一上游节点可以通过泛洪或者直接发送的方式将该第一上游节点的节点SID发送至该第二PE设备,为避免重复,在此就不必详细描述。此外,该第一上游节点在发送该第一上游节点的节点SID的时候,也可以同时将该第一上游节点的身份信息发送至该第二PE设备。可以理解的是,由于该第二P2MP树中并不包括中间节点,因此,该第一上游节点可以是该第一PE设备。
305,该第一PE设备保存第一对应关系。
可选的,在一些实施例中,该第一对应关系为组播地址、该第二P2MP树的标签和该第二PE设备的上下文标签的对应关系。该组播地址可以包括组播源地址和组播组地址。
可选的,在一些实施例中,该第一对应关系包括该组播地址与该第二P2MP树的标签之间的第一子对应关系,该第一对应关系还包括该组播地址与该第二PE设备的上下文标签之间的第二子对应关系。
可选的,在一些实施例中,该第一子对应关系可以包括:该组播地址和该第二P2MP树的标识之间的对应关系。该第一子对应关系还可以包括:该第二P2MP树的标识与该第二P2MP树的标签之间的对应关系。
可选的,在一些实施例中,该第二子对应关系可以包括:该组播地址与该第二P2MP树的标识之间的对应关系。该第二子对应关系还可以包括:该第二P2MP树的标识与该第二PE设备的上下文之间的对应关系。
可选的,在一些实施例中,该SDN控制器可以将该组播地址与该第二P2MP树的标签之间的对应关系发送至该第一PE设备。
可选的,在另一些实施例中,该第一PE设备还可以通过其他方式获取该第二P2MP树的标签与该组播地址之间的对应关系。
类似的,该组播地址与该第二P2MP树的标识之间的对应关系可以是由该SDN控制器发送至该第一PE设备的。该组播地址与该第二P2MP树的标识之间的对应关系也可以是由该第一PE设备自行获取的。该第二P2MP树的标识与该第二P2MP树的标签之间的对应关系可以是由该SDN控制器发送至该第一PE设备的。该第二P2MP树的标识与该第二P2MP树的标签之间的对应关系也可以是由该第一PE设备自行获取的。该第二P2MP树的标识与该第二PE设备的上下文之间的对应关系可以是由该SDN控制器发送至该第一PE设备的。该第二P2MP树的标识与该第二PE设备的上下文之间的对应关系也可以是由该第一PE设备自行获取的。
可选的,在一些实施例中,该第一PE设备自行获取该组播地址与该第二P2MP树的标识之间的对应关系的方式可以是该第一PE设备利用该第二P2MP树的标签从其他设备(例如该第二P2MP树中的其他节点)获取该组播地址与该第二P2MP树的标识之间的对应关系。例如,该SDN控制器可以将该组播地址与该第二P2MP树的标识之间的对应关系发送至该第二P2MP树中的一个节点。该第一PE设备可以将该第二P2MP树的标签发送至该其他设备。该其他设备在接收到该第二P2MP树的标签的情况下,可以将该组播地址与该第二P2MP树的标识之间的对应关系发送至该第一PE设备。
可选的,在另一些实施例中,该第一PE设备自行获取该组播地址与该第二P2MP树的标识之间的对应关系的方式也可以是该第一PE设备预先保存该组播地址与该第二P2MP树的标识之间的对应关系。例如,该第一PE设备可以预先保存该组播地址与该第二P2MP树的标识之间的对应关系以及该第二P2MP树的标识与该第二P2MP树的标签之间的对应关系。该第一PE设备在从该SDN控制器接收到该第二P2MP树的标签的情况下,可以根据该第二P2MP树的标签与该第二P2MP树的标识之间的对应关系确定该第二P2MP树的标识。在确定了该第二P2MP树的标识后,该第一PE设备就可以确定出该组播地址与该第二P2MP树的标识之间的对应关系。
可选的,在另一些实施例中,该第一PE设备自行获取该组播地址与该第二P2MP树的标识之间的对应关系的方式也可以是该第一PE设备根据预设规则确定该组播地址与该第二P2MP树的标识之间的对应关系。例如,该预设规则可以预先规定组播地址的范围与该第二P2MP树的标识之间的对应关系。该第一PE设备可以先根据该第二P2MP树的标签确定该第二P2MP树的标识,然后就可以根据确定好的该第二P2MP树的标识确定出该第二P2MP树的标识与该组播地址的对应关系。
该第一PE设备自行获取该第二P2MP树的标识与该第二P2MP树的标签之间的对应关系以及该第二P2MP树的标识与该第二PE设备的上下文之间的对应关系的具体实现方式与该第一PE设备自行获取该组播地址与该第二P2MP树的标识之间的对应关系的方式类似,在此就不必赘述。
可选的,在一些实施例中,该第一对应关系可以为组播地址、该第二P2MP树的标签、该第二PE设备的上下文标签和该第一PE设备的节点SID的对应关系。
可选的,在一些实施例中,该第二子对应关系还可以包括该第一PE设备的节点SID和该第二P2MP树的标签之间的对应关系。该第二子对应关系还可以包括该第一PE设备的节点SID和该第二P2MP树的标识之间的对应关系。
可选的,在一些实施例中,该第一对应关系可以为组播地址、该第二P2MP树的标签、该第二PE设备的上下文标签和第一邻接标签的对应关系。
可选的,在一些实施例中,该第二子对应关系还可以包括第一邻接标签和该第二P2MP树的标签之间的对应关系。该第二子对应关系还可以包括第一邻接标签和该第二P2MP树的表示之间的对应关系。该第一邻接标签可以包括N个邻接SID。该N个邻接SID为该第一PE设备与该第二PE设备之间包括的N个节点的邻接SID。
在目标方案不同的情况下,该第一PE设备构造该第一对应关系所需的信息也是不同的。该第一PE设备可以根据该目标方案,确定构造该第一对应关系所需的信息以及该第一对应关系。
具体地,若该目标方案为方案1,则该第一对应关系可以包括以下信息:该第二PE设备的上下文标签、该第二P2MP树的标签、该组播地址和该第二P2MP树的标识之间的对应关系。
可选的,在一些实施例中,该第一对应关系可以与第一相关信息以转发表的形式呈现。该第一相关信息可以包括该第一PE设备的上下文标签和第一动作等。该第一动作可以是将接收到的组播报文发送至该第二PE设备。
例如,假设该第一PE设备的上下文标签为10001;该第一PE设备获取到的该第二PE设备的上下文标签为10002。同时假设该第一PE设备获取到的信息为信息1-1。在此情况下,该第一PE设备可以确定如表15所示的第一转发表。
Context<default> | ILM:(inLabel<10001>,act=Cxt10001) |
TreeLeaf | Tree<Blue>leaf(10002/20,intf<toPE2>) |
MFIB | MFIB:(S,G,Tree<Blue>) |
表15
如表15所示,Context<default>表项包括该第一PE设备的上下文标签。TreeLeaf表项包括该第二P2MP树的标识,该第二P2MP树的标签,该第二PE设备的上下文标签以及该第一动作。具体地,Tree<Blue>表示该第二P2MP树标识为Blue。Leaf(10002/20,intf<toP2>)中的10002表示该第二PE设备的上下文标签,20表示该第二P2MP树的标签,toPE2表示该第一动作为将接收到的组播报文发送至该第二PE设备。MFIB表项包括该组播地址和该第二P2MP树的标签。具体地,S,G表示该组播地址,Tree<Blue>表示该第二P2MP树标识为Blue。
可以看出,表项TreeLeaf反映了该第二P2MP树的标识、该第二P2MP树的标签以及该第二PE设备的上下文标签之间的对应关系。表项MFIB反映出了该组播地址和该第二P2MP树的标识之间的对应关系。
可选的,在一些实施例中,可以将表1中的表项MFIB中的该第二P2MP树的标识更改为该第二P2MP树的标签。这样,表项MFIB就可以反映该组播地址和该第二P2MP树的标签之间的对应关系。
可选的,在一些实施例中,可以将表1中的表项MFIB中增加该第二P2MP树的标签。这样,表项MFIB就可以反映该组播地址、该第二P2MP树的标识以及该第二P2MP树的标签之间的对应关系。
可选的,在一些实施例中,可以将表1中的表项TreeLeaf中的该第二P2MP树的标识删除。表项TreeLeaf反映了该第二P2MP树的标签和该第二PE设备的上下文标签之间的对应关系。
此外,表项TreeLeaf还可以反映出第一动作与该第二P2MP树的标识、该第二P2MP树的标签以及该第二PE设备的上下文标签之间的对应关系。
若该目标方案为方案2,则该第一对应关系可以包括以下信息:该第二PE设备的上下文标签、该第二P2MP树的标签、该组播地址、该第二P2MP树的标识和该第一PE设备的节点SID之间的对应关系。
类似的,该第一对应关系也可以与该第一相关信息与以转发表的形式呈现。
例如,假设该第一PE设备的上下文标签为10001,该第一PE设备的节点SID为23001;该第二PE设备的上下文标签为10002。同时假设该第一PE设备获取到的信息为信息1-2。在此情况下,该第一PE设备可以确定如表16所示的第一转发表。
Context<default> | ILM:(inLabel<10001>,act=Cxt10001) |
TreeLeaf | Tree<Blue>leaf(10002/23001/21,intf<toPE2>) |
MFIB | MFIB:(S,G,Tree<Blue>) |
表16
如表16所示,Context<default>表项包括该第一PE设备的上下文标签。TreeLeaf表项包括该第二P2MP树的标识,该第二P2MP树的标签,该第二PE设备的上下文标签以及该第一动作。具体地,Tree<Blue>表示该第二P2MP树标识为Blue。Leaf(10002/23001/21,intf<toP2>)中的10002表示该第二PE设备的上下文标签,23001表示该第一PE设备的节点SID,21表示该第二P2MP树的标签,toPE2表示该第一动作为将接收到的组播报文发送至该第二PE设备。MFIB表项包括该组播地址和该第二P2MP树的标签。具体地,S,G表示该组播地址,Tree<Blue>表示该第二P2MP树标识为Blue。
若该目标方案为方案3,
则该第一对应关系可以包括以下信息:该第二PE设备的上下文标签、该第二P2MP树的标签、该组播地址、该第二P2MP树的标识和第一邻接标签之间的对应关系。
类似的,该第一对应关系也可以与该第一相关信息与以转发表的形式呈现。
例如,假设该第一PE设备的上下文标签为10001;该第二PE设备的上下文标签为10002。此外,还假设该第一PE设备与该第二PE设备之间包括一个设备1,且该设备1的邻接SID为102。同时假设该第一PE设备获取到的信息为信息1-3。在此情况下,该第一PE设备可以确定如表17所示的第一转发表。
Context<default> | ILM:(inLabel<10001>,act=Cxt10001) |
TreeLeaf | Tree<Blue>leaf(102/10002/22,intf<toP2>) |
MFIB | MFIB:(S,G,Tree<Blue>) |
表17
如表17所示,Context<default>表项包括该第一PE设备的上下文标签。TreeLeaf表项包括该第二P2MP树的标识,该第二P2MP树的标签,该第二PE设备的上下文标签以及该第一动作。具体地,Tree<Blue>表示该第二P2MP树标识为Blue。leaf(102/10002/22,intf<toP2>)中的,102表示该第一邻接标签(即该设备1的邻接SID),10002表示该第二PE设备的上下文标签,22表示该第二P2MP树的标签,toPE2表示该第一动作为将接收到的组播报文发送至该第二PE设备。MFIB表项包括该组播地址和该第二P2MP树的标签。具体地,S,G表示该组播地址,Tree<Blue>表示该第二P2MP树标识为Blue。
306,该第二PE设备可以构造转发表。
该转发表可以包括该第二PE设备的上下文标签和第二动作,该第二动作为将获取到的组播报文从该第二P2MP树中输出。
在目标方案不同的情况下,该第二PE设备构造该转发表所需的信息、该转发表中的信息和/或该转发表中所包括的表的数目也是不同的。
具体地,若该目标方案为方案1,则该转发表可以包括上下文默认表、第一上下文表。该转发表可以包括以下信息:该第二PE设备的上下文标签、该第二P2MP树的标签以及该第二动作。
假设该第二PE设备的上下文标签为10002。同时假设该第二PE设备获取到的信息为信息2-1。在此情况下,该第二PE设备可以确定如表18所示的转发表。
Context<default> | ILM:(inLabel<10002>,act=Cxt10002) |
Context<10002> | ILM:(inLabel<20>,act=POP) |
表18
如表18所示,Context<default>表项包括该第二PE设备的上下文标签。Context<10002>表项包括该第二P2MP树的标签以及第二动作。该第二动作为将获取到的组播报文从该第二P2MP树中输出。
若该目标方案为方案2,则该转发表可以包括上下文默认表、第一上下文表以及第二上下文表。该转发表可以包括以下信息:该第二PE设备的上下文标签、该第二P2MP树的标签、该第二PE设备的上一个节点的节点SID以及该第二动作。
假设该第一PE设备为该第二PE设备的上一个节点,该第一PE设备的节点SID为23002。该第二PE设备的上下文标签为10002。同时假设该第二PE设备获取到的信息为信息2-2。在此情况下,该第二PE设备可以确定如表19所示的转发表。
Context<default> | ILM:(inLabel<10002>,act=Cxt10002) |
Context<10002> | ILM:(inLabel<23002>,act=cxt10002_23002) |
Context<10002_23002> | IML:(inLabel<21>,act=POP) |
表19
如表19所示,Context<default>表项包括该第二PE设备的上下文标签。Context<10002>表项包括该第一P设备的节点SID。表项Context<10002_23002>表项包括该第二P2MP树的标签以及第二动作。该第二动作为将获取到的组播报文从该第二P2MP树中输出。
若该目标方案为方案3,则该转发表可以包括上下文默认表、第一上下文表。该转发表可以包括以下信息:该第二PE设备的上下文标签、该第二P2MP树的标签以及该第二动作。
假设该第二PE设备的上下文标签为10002。同时假设该第二PE设备获取到的信息为信息2-3。在此情况下,该第二PE设备可以确定如表20所示的转发表。
Context<default> | ILM:(inLabel<10002>,act=Cxt10002) |
Context<10002> | ILM:(inLabel<22>,act=POP) |
表20
如表20所示,Context<default>表项包括该第二PE设备的上下文标签。Context<10002>表项包括该第二P2MP树的标签以及第二动作。该第二动作为将获取到的组播报文从该第二P2MP树中输出。
若该第二P2MP树中还包括其余叶子节点,则该其余叶子节点确定相应的转发表的方式与该第二PE设备确定该第二PE设备的转发表的方式类似,为避免重复,在此就不必赘述。
步骤301至步骤306描述了SDN控制器建立第二P2MP树,SDN控制器下发路径信息以及第二P2MP树中的不同节点所保存的对应关系的过程。为了便于描述,将上述建立第二P2MP树、下发路径信息以及所保存的对应关系的整个过程统称为初始化过程。在初始化过程完成后,该第二P2MP树中的根节点可以从接收组播报文。该第二P2MP树中的每个节点可以根据所保存的对应关系处理接收到的组播报文。
307,该第一PE设备接收组播报文。该第一PE设备是第一P2MP树中的一个根节点。
可选的,在一些实施例中,该第一PE设备可以从用户边缘(Customer Edge,CE)设备接收该组播报文。
308,该第一PE设备确定第一标签,该第一标签包括第二PE设备的上下文标签和该第二P2MP树的标签,该第二PE设备为该第二P2MP树中该第一PE设备的下一个节点,该第二PE设备的上下文标签是该第一PE设备从该第二PE设备获取的。
该第一PE设备可以根据该第一对应关系确定该第一标签包括的内容。如上所述,第一对应关系中的内容与目标方案相关。若目标方案不同,则第一对应关系中的内容也不同。该第一标签包括的内容是根据该第一对应关系项确定的。因此,若目标方案不同,该第一标签的内容也不同。
若该目标方案为方案1,则该第一标签可以包括以下内容:该第二PE设备的上下文标签和该第二P2MP树的标签。
若该第一PE设备确定的该第一对应关系为组播地址、该第二P2MP树的标签和该第二PE设备的上下文标签的对应关系,则该第一标签可以包括该第二P2MP树的标签和该第二PE设备的上下文标签。
具体地,在该第一PE设备接收到来自于CE设备的组播报文的情况下,该第一PE设备可以根据该第一对应关系,确定对应于该组播地址的该第二P2MP树的标签和该第二PE设备的上下文标签。这样,该第一PE设备就可以确定出该第一标签所包括的内容。
假设该第一对应关系如表15中包括的对应关系,则该第一标签可以包括该第二PE设备的上下文标签,且该上下文标签为10002。此外,该第一标签还可以包括该第二P2MP树的标签,该第二P2MP树的标签为20。
该第一标签可以通过多层标签的形式呈现。多层标签的具体形式与图2所示实施例类似,在此就不必赘述。
若该目标方案为方案2,则该第一标签可以包括以下内容:该第二PE设备的上下文标签、该第一PE设备的节点SID以及该第二P2MP树的标签。
若该第一PE设备确定的该第一对应关系为组播地址、该第二P2MP树的标签、该第一PE设备的节点SID和该第二PE设备的上下文标签的对应关系,则该第一标签可以包括该第二P2MP树的标签、该第一PE设备的节点SID以及该第二PE设备的上下文标签。
具体地,在该第一PE设备接收到来自于CE设备的组播报文的情况下,该第一PE设备可以根据该第一对应关系,确定对应于该组播地址的该第二P2MP树的标签、该第一PE设备的节点SID和该第二PE设备的上下文标签。这样,该第一PE设备就可以确定出该第一标签所包括的内容。
假设该第一对应关系如表16中所包括的对应关系,则该第一标签可以包括该第二PE设备的上下文标签,且该上下文标签为10002。该第一标签还可以包括该第一PE设备的节点SID,该节点SID为23001。此外,该第一标签还可以包括该第二P2MP树的标签,该第二P2MP树的标签为21。
若该目标方案为方案3,则该第一标签可以包括以下内容:该第二PE设备的上下文标签、该第一邻接标签以及该第二P2MP树的标签。
若该第一PE设备确定的该第一对应关系为组播地址、该第二P2MP树的标签、该第一邻接标签和该第二PE设备的上下文标签的对应关系,则该第一标签可以包括该第二P2MP树的标签、该第一邻接标签以及该第二PE设备的上下文标签。
具体地,在该第一PE设备接收到来自于CE设备的组播报文的情况下,该第一PE设备可以根据该第一对应关系,确定对应于该组播地址的该第二P2MP树的标签、该第一邻接标签和该第二PE设备的上下文标签。这样,该第一PE设备就可以确定出该第一标签所包括的内容。
假设该第一对应关系如表17中所包括的对应关系,则该第一标签可以包括该第二PE设备的上下文标签,且该上下文标签为10002。此外,该第一PE设备还可以确定该第一邻接标签,该第一邻接标签包括该设备1的邻接SID,该邻接SID为102。
309,该第一PE设备根据该第一标签对该组播报文进行封装,得到经过封装的组播报文。
如前所述,在一些实施例中,该第一标签可以包括该第二P2MP树的标签和该第二PE设备的上下文标签。在另一些实施例中,该第一标签可以包括该第二P2MP树的标签、该第一PE设备的节点SID以及该第二PE设备的上下文标签。在另一些实施例中,该第一标签可以包括该第二PE设备的上下文标签、该第一邻接标签以及该第二P2MP树的标签。
310,该第一PE设备将该经过封装的组播报文发送至该第二PE设备。
可选的,在一些实施例中,该第一PE设备与该第二PE设备之间可以直接通信。在此情况下,该第一PE设备可以直接将该第一标签和该组播报文发送至该第二PE设备。
此外,该第一PE设备可以根据第一动作确定将该第一标签和该组播报文发送至该第二PE设备。
可选的,在一些实施例中,该第一动作可以如表1或表2所示与对应关系一同以转发表的形式保存。
可选的,在另一些实施例中,该第一动作可以是预先设置好的动作。换句话说,该第一动作可以不与该第一对应关系一起以转发表的形式保存。
该第一动作可以是由该SDN控制器设置的,也可以是该第一PE设备从其他设备上获取的,或者,该第一动作也可以是直接设置在该第一PE设备上的。
本申请实施例中所称的根据该第一标签对该组播报文进行封装是指将该第一标签插入到组播报文的包头中。这样,该第一标签可以随着该组播报文一起被发送至下一个设备。
可选的,在一些实施例中,该第一PE设备与该第二PE设备之间的物理路径除该第一PE设备与该第二PE设备外还包括N个节点。在此情况下,该第一标签可以包括该第一邻接标签,该第一邻接标签包括该N个节点的邻接SID。
如前所述,邻接SID用于指示组播报文在该物理路径中的下一个节点。该物理路径中的每个节点都可以根据邻接SID将接收到的组播报文发送至下一个节点。因此,该第一PE设备可以将携带有该N个节点中的每个节点的邻接SID的第一标签与该组播报文封装并发送至该N个节点中的第一个节点。这样,该N个节点中的每个节点可以结合该邻接SID将该第一标签和该组播报文发送至下一个节点。此外,可以理解的是,在n=N的情况下,第N个节点的下一个节点即为该第二PE设备。进一步,该N个节点中的每个节点在向下一个节点发送该第一标签和该组播报文时,还应同时将上一个节点的邻接SID剥离,并将剩余邻接SID发送至下一个节点。
这样,该N个节点可以只需要获取最外层标签的内容,而无需感知深层标签的内容。
311,该第二PE设备确定该第一标签包括该第二PE设备的上下文标签。
312,该第二PE设备点将该组播报文从该第二P2MP树中输出。
可以看出,通过步骤307至步骤312,该第二P2MP树中的每个节点可以将获取到的组播报文发送至下一个节点或者从该第二P2MP树中输出。
图2和图3实施例中的该第一P2MP树的标签、该第二P2MP树的标签、该第一上下文标签、该第一P设备的上下文标签、该第二PE设备的上下文标签、该第二上下文标签等均可以为MPLS标签。
图4是根据本申请实施例提供的路由设备的结构框图。如图4所示,路由设备400包括接收单元401,存储单元402,处理单元403和发送单元404。
接收单元401用于接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,所述P2MP树包括所述路由设备。
接收单元401还用于接收第二设备发送的上下文标签,所述第二设备为所述路由设备在所述P2MP树中的下游设备。
接收单元401还用于接收携带所述组播地址的组播报文。
存储单元402用于保存基于组播地址、所述P2MP树的标签和所述上下文标签的对应关系。
处理单元403用于根据所述组播报文中的所述组播地址和所述对应关系为所述组播报文确定所述P2MP树的标签和所述上下文标签。
处理单元403还用于根据所述P2MP树的标签和所述上下文标签对所述组播报文进行封装,得到经过封装的组播报文。
发送单元404用于将所述经过封装的组播报文发送至所述第二设备。
路由设备400可以是如图2或图3所示实施例中的第一PE设备。接收单元401,存储单元402,处理单元403和发送单元404的具体功能和有益效果,可以参见图2或图3所示的实施例,在此就不必赘述。
接收单元401可以由接收器实现,存储单元402可以由存储器实现,处理单元403可以由处理器实现,发送单元404可以由发送器实现。
图5根据本申请实施例提供的路由设备的结构框图。如图5示,路由设备500包括接收单元501,存储单元502,处理单元503和发送单元504。
接收单元501用于接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,所述P2MP树包括所述路由设备。
接收单元501还用于接收第二设备发送的第一上下文标签,所述第二设备为所述路由设备在所述P2MP树中的下游设备。
存储单元502用于保存所述第一上下文标签、所述P2MP树的标签和第二上下文标签之间的对应关系。
接收单元501还用于接收组播报文,所述组播报文封装有所述第二上下文标签和所述P2MP树的标签。
处理单元503,用于根据所述组播报文中封装的所述第二上下文标签、所述P2MP树的标签和所述对应关系为所述组播报文确定所述第一上下文标签。
处理单元503,还用于根据所述第一上下文标签对所述组播报文进行封装,得到经过封装的组播报文。
发送单元504,用于将所述经过封装的组播报文发送至所述第二设备。
路由设备500可以是如图2或图3所示实施例中的第一P设备或第二P设备。接收单元501,存储单元502,处理单元503和发送单元504的具体功能和有益效果,可以参见图2或图3所示的实施例,在此就不必赘述。
接收单元501可以由接收器实现,存储单元502可以由存储器实现,处理单元503可以由处理器实现,发送单元504可以由发送器实现。
图6是根据本申请实施例提供的另一路由设备的结构框图。如图6所示的路由设备600包括存储器601、处理器602、接收器603和发送器604。
存储器601,用于存储程序。
处理器602,用于结合接收器603和发送器604执行存储器601存储的程序,当程序被执行时,使得路由设备600可以实现上述图2或图3实施例提供的方法中第一PE设备执行的步骤。
利用路由设备600可以将图2或图3所示的方法中第一PE设备执行的步骤的部分或全部通过软件来实现。
存储器601可以是物理上独立的单元,也可以与处理器602集成在一起。
可选的,当图2或图3所示的方法中第一PE设备执行的步骤的部分或全部通过软件实现时,路由设备600也可以只包括处理器602。用于存储程序的存储器601位于装置600之外,处理器602通过电路/电线与存储器601连接,用于读取并执行存储器601中存储的程序。类似的,用于与其他设备通信的接收器603和发送器604位于装置600之外,处理器602通过电路/电线与接收器603和发送器604连接,用于获取接收器603接收到的信息并将需要发送的信息发送至发送器604。
处理器602可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器601可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器601还可以包括上述种类的存储器的组合。
图7是根据本申请实施例提供的另一路由设备的结构框图。如图7所示的路由设备700包括存储器701、处理器702、接收器703和发送器704。
存储器701,用于存储程序。
处理器702,用于结合接收器703和发送器704执行存储器701存储的程序,当程序被执行时,使得路由设备700可以实现上述图2或图3实施例提供的方法中第一P设备或第二P设备执行的步骤。
利用路由设备700可以将图2或图3实施例提供的方法中第一P设备或第二P设备执行的步骤的部分或全部通过软件来实现。
存储器701可以是物理上独立的单元,也可以与处理器702集成在一起。
可选的,当图2或图3实施例提供的方法中第一P设备或第二P设备执行的步骤的部分或全部通过软件实现时,路由设备700也可以只包括处理器702。用于存储程序的存储器701位于装置700之外,处理器702通过电路/电线与存储器701连接,用于读取并执行存储器601中存储的程序。类似的,用于与其他设备通信的接收器703和发送器704位于装置700之外,处理器702通过电路/电线与接收器703和发送器704连接,用于获取接收器703接收到的信息并将需要发送的信息发送至发送器704。
处理器702可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器701可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器701也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器701还可以包括上述种类的存储器的组合。
本申请的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行图2或图3实施例提供的方法中第一PE设备执行的步骤。
本申请的又一方面提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如图2或图3实施例提供的方法中第一PE设备执行的步骤。
本申请的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行图2或图3实施例提供的方法中第一P设备或第二P设备执行的步骤。
本申请的又一方面提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行图2或图3实施例提供的方法中第一P设备或第二P设备执行的步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种传输组播报文的方法,其特征在于,所述方法包括:
第一设备接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,所述P2MP树包括所述第一设备;
所述第一设备接收第二设备发送的上下文标签,所述第二设备为所述第一设备在所述P2MP树中的下游设备;
所述第一设备保存组播地址、所述P2MP树的标签和所述上下文标签的对应关系;
所述第一设备接收携带所述组播地址的组播报文;
所述第一设备根据所述组播报文中的所述组播地址和所述对应关系为所述组播报文确定所述P2MP树的标签和所述上下文标签;
所述第一设备根据所述P2MP树的标签和所述上下文标签对所述组播报文进行封装,得到经过封装的组播报文;
所述第一设备将所述经过封装的组播报文发送至所述第二设备。
2.根据权利要求1所述的方法,其特征在于,所述第一设备是所述P2MP树的根节点,所述第一设备是运营商边缘设备PE。
3.根据权利要求1所述的方法,其特征在于,所述对应关系包括组播地址和所述P2MP树的标签之间的第一子对应关系和所述组播地址和所述第二设备的上下文标签之间的第二子对应关系。
4.根据权利要求3所述的方法,其特征在于,所述第一子对应关系包括所述组播地址和所述P2MP树的标识之间的对应关系和所述P2MP树的标识和所述P2MP树的标签之间的对应关系,所述第二子对应关系包括所述组播地址和所述P2MP树的标识之间的对应关系和所述P2MP树的标识和所述上下游标签之间的对应关系,其中所述P2MP树的标识与所述P2MP树的标签不同。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述组播地址包括组播源地址和组播组地址,所述P2MP树的标签和所述上下文标签均为多协议标签交换MPLS标签。
6.一种传输组播报文的方法,其特征在于,所述方法包括:
第一设备接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,所述P2MP树包括所述第一设备;
所述第一设备接收第二设备发送的第一上下文标签,所述第二设备为所述第一设备在所述P2MP树中的下游设备;
所述第一设备保存所述第一上下文标签、所述P2MP树的标签和第二上下文标签之间的对应关系;
所述第一设备接收组播报文,所述组播报文封装有所述第二上下文标签和所述P2MP树的标签;
所述第一设备根据所述组播报文中封装的所述第二上下文标签、所述P2MP树的标签和所述对应关系为所述组播报文确定所述第一上下文标签;
所述第一设备根据所述第一上下文标签对所述组播报文进行封装,得到经过封装的组播报文;
所述第一设备将所述经过封装的组播报文发送至所述第二设备。
7.根据权利要求6所述的方法,其特征在于,所述对应关系包括所述第二上下文标签、所述P2MP树的标签和第一标识之间的第一子对应关系和所述第一标识和所述第一上下文标签之间的第二子对应关系。
8.根据权利要求6或7所述的方法,其特征在于,所述P2MP树的标签、所述第一上下文标签和所述第二上下文标签均为多协议标签交换MPLS标签。
9.根据权利要求6至8中任一项所述的方法,其中所述组播报文是所述第一设备从第三设备接收到的,所述第二上下文标签是所述第一设备发送给所述第三设备的。
10.一种路由设备,其特征在于,所述设备包括:
接收单元,用于接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,所述P2MP树包括所述路由设备;
所述接收单元,还用于接收第二设备发送的上下文标签,所述第二设备为所述路由设备在所述P2MP树中的下游设备;
所述接收单元,还用于接收携带所述组播地址的组播报文;
存储单元,用于保存组播地址、所述P2MP树的标签和所述上下文标签的对应关系;
处理单元,用于根据所述组播报文中的所述组播地址和所述对应关系为所述组播报文确定所述P2MP树的标签和所述上下文标签;
所述处理单元,还用于根据所述P2MP树的标签和所述上下文标签对所述组播报文进行封装,得到经过封装的组播报文;
发送单元,用于将所述经过封装的组播报文发送至所述第二设备。
11.根据权利要求10所述的路由设备,其特征在于,所述路由设备是所述P2MP树的根节点,所述路由设备是运营商边缘设备PE。
12.根据权利要求10所述的路由设备,其特征在于,所述对应关系包括组播地址和所述P2MP树的标签之间的第一子对应关系和所述组播地址和所述第二设备的上下文标签之间的第二子对应关系。
13.根据权利要求12所述的路由设备,其特征在于,所述第一子对应关系包括所述组播地址和所述P2MP树的标识之间的对应关系和所述P2MP树的标识和所述P2MP树的标签之间的对应关系,所述第二子对应关系包括所述组播地址和所述P2MP树的标识之间的对应关系和所述P2MP树的标识和所述上下游标签之间的对应关系,其中所述P2MP树的标识与所述P2MP树的标签不同。
14.根据权利要求10至13中任一项所述的路由设备,其特征在于,所述组播地址包括组播源地址和组播组地址,所述P2MP树的标签和所述上下文标签均为多协议标签交换MPLS标签。
15.一种路由设备,其特征在于,所述路由设备包括:
接收单元,用于接收软件定义网络SDN控制器发送的点到多点P2MP树的标签,所述P2MP树包括所述路由设备;
所述接收单元,还用于接收第二设备发送的第一上下文标签,所述第二设备为所述路由设备在所述P2MP树中的下游设备;
存储单元,用于保存所述第一上下文标签、所述P2MP树的标签和第二上下文标签之间的对应关系;
所述接收单元,还用于接收组播报文,所述组播报文封装有所述第二上下文标签和所述P2MP树的标签;
处理单元,用于根据所述组播报文中封装的所述第二上下文标签、所述P2MP树的标签和所述对应关系为所述组播报文确定所述第一上下文标签;
所述处理单元,还用于根据所述第一上下文标签对所述组播报文进行封装,得到经过封装的组播报文;
发送单元,用于将所述经过封装的组播报文发送至所述第二设备。
16.根据权利要求15所述的路由设备,其特征在于,所述对应关系包括所述第二上下文标签、所述P2MP树的标签和第一标识之间的第一子对应关系和所述第一标识和所述第一上下文标签之间的第二子对应关系。
17.根据权利要求15或16所述的路由设备,其特征在于,所述P2MP树的标签、所述第一上下文标签和所述第二上下文标签均为多协议标签交换MPLS标签。
18.根据权利要求15至17中任一项所述的路由设备,其中所述组播报文是所述路由设备从第三设备接收到的,所述第二上下文标签是所述路由设备发送给所述第三设备的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711408924.5A CN109962849B (zh) | 2017-12-22 | 2017-12-22 | 传输组播报文的方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711408924.5A CN109962849B (zh) | 2017-12-22 | 2017-12-22 | 传输组播报文的方法和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109962849A true CN109962849A (zh) | 2019-07-02 |
CN109962849B CN109962849B (zh) | 2021-09-14 |
Family
ID=67019705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711408924.5A Active CN109962849B (zh) | 2017-12-22 | 2017-12-22 | 传输组播报文的方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109962849B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020172155A1 (en) * | 2001-05-15 | 2002-11-21 | Kasvand-Harris Angelica Grace Emelie | Method and system for allocating and controlling labels in multi-protocol label switched networks |
CN1716904A (zh) * | 2004-06-30 | 2006-01-04 | 华为技术有限公司 | 一种基于多业务传输平台的组播实现方法 |
CN101002437A (zh) * | 2004-08-13 | 2007-07-18 | 松下电器产业株式会社 | 在应用点到多点多协议标记交换的网络中向移动主机提供移动性的方法 |
CN101133607A (zh) * | 2005-04-05 | 2008-02-27 | 思科技术公司 | 建立多点到多点标签交换路径 |
CN101207559A (zh) * | 2006-12-18 | 2008-06-25 | 中兴通讯股份有限公司 | 多协议标签交换网络中组播树的建立装置 |
CN101383769A (zh) * | 2007-09-03 | 2009-03-11 | 阿尔卡特朗讯公司 | 建立双向点到点连接的方法 |
EP2028789A4 (en) * | 2006-06-09 | 2009-10-21 | Huawei Tech Co Ltd | METHOD, SYSTEM AND DEVICE FOR LABEL ASSIGNMENT |
CN102045178A (zh) * | 2009-10-16 | 2011-05-04 | 中兴通讯股份有限公司 | 虚拟专用局域网服务组播保护的方法及装置 |
CN102308519A (zh) * | 2009-02-19 | 2012-01-04 | 华为技术有限公司 | 适用于点至多点域间多协议标签交换流量工程路径计算的系统和方法 |
CN103236973A (zh) * | 2005-04-05 | 2013-08-07 | 思科技术公司 | 建立多点到多点标签交换路径 |
CN107204867A (zh) * | 2016-03-18 | 2017-09-26 | 中兴通讯股份有限公司 | 一种信息传输方法、装置和系统 |
-
2017
- 2017-12-22 CN CN201711408924.5A patent/CN109962849B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020172155A1 (en) * | 2001-05-15 | 2002-11-21 | Kasvand-Harris Angelica Grace Emelie | Method and system for allocating and controlling labels in multi-protocol label switched networks |
CN1716904A (zh) * | 2004-06-30 | 2006-01-04 | 华为技术有限公司 | 一种基于多业务传输平台的组播实现方法 |
CN101002437A (zh) * | 2004-08-13 | 2007-07-18 | 松下电器产业株式会社 | 在应用点到多点多协议标记交换的网络中向移动主机提供移动性的方法 |
CN101133607A (zh) * | 2005-04-05 | 2008-02-27 | 思科技术公司 | 建立多点到多点标签交换路径 |
CN103236973A (zh) * | 2005-04-05 | 2013-08-07 | 思科技术公司 | 建立多点到多点标签交换路径 |
EP2028789A4 (en) * | 2006-06-09 | 2009-10-21 | Huawei Tech Co Ltd | METHOD, SYSTEM AND DEVICE FOR LABEL ASSIGNMENT |
CN101207559A (zh) * | 2006-12-18 | 2008-06-25 | 中兴通讯股份有限公司 | 多协议标签交换网络中组播树的建立装置 |
CN101383769A (zh) * | 2007-09-03 | 2009-03-11 | 阿尔卡特朗讯公司 | 建立双向点到点连接的方法 |
CN102308519A (zh) * | 2009-02-19 | 2012-01-04 | 华为技术有限公司 | 适用于点至多点域间多协议标签交换流量工程路径计算的系统和方法 |
CN102045178A (zh) * | 2009-10-16 | 2011-05-04 | 中兴通讯股份有限公司 | 虚拟专用局域网服务组播保护的方法及装置 |
CN107204867A (zh) * | 2016-03-18 | 2017-09-26 | 中兴通讯股份有限公司 | 一种信息传输方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109962849B (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103748835B (zh) | 标签交换路径的动态更新 | |
RU2541940C2 (ru) | Способ применения экземпляра службы к сети mpls (варианты) и сеть mpls | |
US8547976B2 (en) | Upstream label allocation on Ethernets for MP2MP LSPS | |
CN101155130B (zh) | 学习mac地址的方法及传送vpls客户数据的系统及设备 | |
CN106656794B (zh) | 一种报文传输方法及装置 | |
CN103795631B (zh) | 部署了以太网虚拟连接的网络中的流量转发方法及设备 | |
CN107040462A (zh) | 路由方法和中间路由器 | |
CN102150148A (zh) | 层2拓扑中针对单播帧和多播帧的差别化服务 | |
CN107592262A (zh) | 报文发送方法和装置、报文跨域转发的网络架构 | |
CN101960785A (zh) | 在链路状态协议受控以太网网络上实现vpn | |
CN114465946B (zh) | 获取转发表项的方法、装置以及系统 | |
CN107026796A (zh) | 一种vpn路由通告方法、数据流转发方法及相关设备 | |
US9112711B2 (en) | Optimizing OTV multicast traffic flow for site local receivers | |
CN103733576A (zh) | 通过信号指示标签交换路径(lsp)隧穿模型 | |
CN103117925A (zh) | 数据报文转发处理方法及装置 | |
CN107483338A (zh) | 一种确定跨域标签交换路径隧道的方法、设备和系统 | |
CN103841013B (zh) | Trill网络中的报文转发方法及设备 | |
CN103326915A (zh) | 实现三层虚拟专用网络的方法、设备及系统 | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
US9503272B2 (en) | Fast convergence with multicast source mobility | |
CN105493454B (zh) | 用于实现双活接入trill园区边缘的方法和设备 | |
US20190394115A1 (en) | Area abstraction extensions to routing protocols | |
CN106230730B (zh) | 一种组播传输方法和装置 | |
CN102244615B (zh) | 转发表项下发方法、装置、系统和自治系统边界路由器 | |
CN108199960A (zh) | 组播数据报文转发方法、入口路由桥、出口路由桥及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |