CN113810259A - 报文处理方法、运营商边缘设备、计算机可读介质 - Google Patents
报文处理方法、运营商边缘设备、计算机可读介质 Download PDFInfo
- Publication number
- CN113810259A CN113810259A CN202010529672.7A CN202010529672A CN113810259A CN 113810259 A CN113810259 A CN 113810259A CN 202010529672 A CN202010529672 A CN 202010529672A CN 113810259 A CN113810259 A CN 113810259A
- Authority
- CN
- China
- Prior art keywords
- message
- port
- receiving port
- uni
- vlan tag
- 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.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 62
- 230000011218 segmentation Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 29
- 230000003993 interaction Effects 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 10
- 230000006854 communication Effects 0.000 description 15
- 238000006424 Flood reaction Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000002955 isolation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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]
- H04L12/4645—Details on frame tagging
- H04L12/4666—Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种报文处理方法,包括:对接收端口接收到的初始报文进行初次处理,其中,所述初始报文为未知单播报文;根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理;其中,当所述接收端口为网络侧端口NNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:将所述初始报文携带的VLAN标签剥离,以获得最终报文,所述VLAN标签为第一VLAN标签或第二VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的一者用作根VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的另一者用作叶VLAN标签;将所述最终报文进行泛洪。本公开还提供了一种运营商边缘设备、一种计算机可读介质。
Description
技术领域
本公开实施例涉及通信领域,特别涉及一种报文处理方法、一种运营商边缘设备、一种计算机可读介质。
背景技术
分组传送网(PTN,Packet Transport Network)是基于分组交换、支持多业务承载的传送技术。运营商边缘设备(PE,Provider Edge)是PTN网络中的一种主要设备,根据业务模型,PE设备分为用户侧接口(UNI,User Network Interface)和网络侧接口(NNI,Networkto Network Interface)。实际应用中,NNI侧可以采用多协议标签交换(MPLS,Multi-Protocol Label Switching)技术承载业务,也可以采用QinQ(802.1Q-in-802.1Q)技术承载。QinQ技术通过在802.1Q标签报文的基础上再增加一层虚拟局域网(VLAN,VirtualLocal Area Network)来扩展VLAN空间。
在PTN中,存在报文从一个PE设备的NNI侧发出后,业务无法正常进行的现象。
发明内容
本公开实施例提供一种报文处理方法,一种运营商边缘设备、一种计算机可读介质。
第一方面,本公开实施例提供一种报文处理方法,包括:
对接收端口接收到的初始报文进行初次处理,其中,所述初始报文为未知单播报文;
根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理;
其中,当所述接收端口为网络侧端口NNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
将所述初始报文携带的VLAN标签剥离,以获得最终报文,所述VLAN标签为第一VLAN标签或第二VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的一种用作根VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的另一种用作叶VLAN标签;
将所述最终报文进行泛洪。
在一些实施例中,所述初始报文的格式为QinQ报文,所述第一VLAN标签为QinQ报文的内层VLAN标签和外层VLAN标签中的一者,所述第二VLAN标签为QinQ报文的内层VLAN标签和外层VLAN标签中的另一者。
在一些实施例中,当所述接收端口为叶节点用户侧端口UNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
对所述初始报文进行泛洪;
当所述下级端口为NNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
为泛洪到所述下级端口的所述初始报文添加所述叶VLAN标签;
通过所述下级端口传输添加了所述叶VLAN标签的初始报文。
在一些实施例中,当所述接收端口为叶节点UNI时,当前运营商边缘设备PE的其他叶节点UNI为所述接收端口水平分割条件所约束的端口,当前PE的根节点UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为叶节点UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
将泛洪到所述下级端口的报文丢弃;
当所述下级端口为根节点UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述初始报文。
在一些实施例中,当所述接收端口为根节点UNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
对所述初始报文进行泛洪;
当所述下级端口为NNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
为泛洪到所述下级端口的所述初始报文添加所述根VLAN标签;
通过所述下级端口传输添加了所述根VLAN标签的初始报文。
在一些实施例中,当所述接收端口为根节点UNI时,当前PE的其他UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为当前PE的其他UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述初始报文。
在一些实施例中,当所述接收端口为NNI,所述初始报文携带的VLAN标签为所述根VLAN标签时,当前PE的UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述最终报文。
在一些实施例中,当所述接收端口为NNI,所述初始报文携带的VLAN标签为所述叶VLAN标签时,叶节点UNI为所述接收端口水平分割条件所约束的端口,根节点UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为根节点UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述最终报文;
当所述下级端口为叶节点UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
将泛洪到所述下级端口的所述最终报文丢弃。
在一些实施例中,当前PE的MAC转发表包括转发等价类FEC,所述FEC包括根FEC和叶FEC,当当前PE的MAC转发表中不包括所述初始报文中的源MAC地址时,所述报文处理方法还包括:
当所述接收端口为NNI、所述初始报文携带的VLAN标签为所述根VLAN标签时,将所述初始报文中的源MAC地址与所述叶FEC对应保存到所述MAC转发表中;
当所述接收端口为NNI、所述初始报文携带的VLAN标签为所述叶VLAN标签时,将所述初始报文中的源MAC地址与所述根FEC对应保存到所述MAC转发表中。
在一些实施例中,所述报文处理方法还包括:
当所述接收端口为UNI时,将所述源MAC地址与所述接收端口对应保存到所述MAC转发表中。
在一些实施例中,当当前PE的MAC转发表中包括所述接收端口接收到的报文中的源MAC地址时,所述报文处理方法包括:
根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理。
在一些实施例中,当所述接收端口为UNI、所述下级端口为NNI时,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理的步骤包括:
将所述报文转发到所述MAC转发表中与所述目的MAC地址对应的NNI;
根据所述MAC转发表中所述目标MAC地址对应的所述FEC,为所述报文添加VLAN标签;
通过所述NNI传输添加VLAN标签的所述报文。
在一些实施例中,根据所述MAC转发表中所述目标MAC地址对应的所述FEC,为所述报文添加VLAN标签的步骤包括:
当在所述MAC转发表中所述报文中的目标MAC地址对应所述根FEC时,为所述报文添加叶VLAN标签;
当在所述MAC转发表中所述目标MAC地址对应所述叶FEC时,为所述报文添加根VLAN标签。
在一些实施例中,当所述接收端口为NNI、所述下级端口为UNI时,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理的步骤包括:
根据所述目的MAC地址,将剥离VLAN标签的所述报文转发到当前PE的MAC转发表中与所述目的MAC地址对应的UNI;
通过与所述目的MAC地址对应的UNI传输剥离VLAN标签的所述报文。
在一些实施例中,当所述接收端口为UNI、所述下级端口为UNI时,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理的步骤包括:
根据所述目的MAC地址,将所述报文转发到当前PE的MAC转发表中与所述目的MAC地址对应、且非所述接收端口水平分割条件所约束的UNI;
通过与所述目的MAC地址对应、且非所述接收端口水平分割条件所约束的UNI传输剥离VLAN标签的所述报文。
第二方面,本公开实施例提供一种运营商边缘设备PE,包括:
存储模块,其上存储有可执行程序;
一个或多个处理器,所述一个或多个处理器能够调用所述可执行程序,以使得所述一个或多个处理器实现上述任意一种报文处理方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
第三方面,本公开实施例提供一种计算机可读介质,所述计算机可读介质上存储有可执行程序,所述可执行程序被执行时能够实现上述任意一种报文处理方法。
本公开实施例提供的报文处理方法,在PE的NNI侧是QinQ承载的业务场景中,结合以太树(E-Tree)中节点交互规则将水平分割扩展到PE的UNI侧和NNI侧之间,通过设置水平分割条件,使得同一PE中、以及不同PE中的作为根(Root)节点的UNI与作为叶(Leaf)节点的UNI之间的通信满足E-Tree中的节点交互规则,实现了NNI侧为QinQ接入方式时的E-Tree业务模型,从而使NNI侧采用QinQ技术承载的PTN网络能够应用于视频点播、客户隔离、负载分担等场景;此外,通过设置水平分割条件,使NNI接收到的未知单播报文不再从NNI发送出去,从而避免了广播风暴的产生。
附图说明
图1为本公开实施例提供的一种报文处理方法的流程图;
图2为本公开实施例提供的另一种报文处理方法中部分步骤流程图;
图3为本公开实施例提供的又一种报文处理方法中部分步骤流程图;
图4为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图5为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图6为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图7为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图8为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图9为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图10为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图11为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图12为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图13为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图14为本公开实施例提供的再一种报文处理方法中部分步骤流程图;
图15为本公开实施例中运营商边缘设备的一种通信过程示意图;
图16为本公开实施例中运营商边缘设备另一种通信过程示意图;
图17为本公开实施例中运营商边缘设备又一种通信过程示意图;
图18为本公开实施例中运营商边缘设备再一种通信过程示意图;
图19为本公开实施例提供的一种运营商边缘设备的组成框图;
图20为本公开实施例提供的一种计算机可读介质的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的报文处理方法、运营商边缘设备、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
经本公开的发明人研究发现,在PTN中,未知单播报文从本端PE设备的NNI侧发出后,进入对端PE设备的NNI侧,很有可能产生泛洪,当未知单播报文从对端PE设备的NNI侧返回本端PE设备的NNI侧时,就可能形成网络环路(或称为广播风暴),并导致业务无法正常进行。
第一方面,参照图1,本公开实施例提供一种报文处理方法,包括:
在步骤S100中,对接收端口接收到的初始报文进行初次处理,其中,所述初始报文为未知单播报文;
在步骤S200中,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理;
其中,当所述接收端口为网络侧端口NNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
将所述初始报文携带的VLAN标签剥离,以获得最终报文,所述VLAN标签为第一VLAN标签或第二VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的一种用作根VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的另一种用作叶VLAN标签;
将所述最终报文进行泛洪。
在本公开实施例中,所述接收端口是指报文进入PE时经过的端口,例如,接收端口可以是UNI,也可以是NNI;所述下级端口是指PE中除所述接收端口以外的任意一个端口,例如,所述下级端口可以是UNI,也可以是NNI。在PE中,UNI和第一VLAN标签、第二VLAN标签指代的NNI侧逻辑端口均加入到同一个虚拟交换接口(VSI,Virtual Switch Interface),或转发域/广播域。
本公开实施例主要应用于PE的NNI侧是QinQ承载的业务场景。当NNI侧为QinQ接入方式时,配置有第一VLAN标签和第二VLAN标签,其中,第一VLAN标签和第二VLAN标签分别指代不同的虚拟局域网VLAN,对于PE的一个NNI,第一VLAN标签和第二VLAN标签分别指代不同的NNI侧逻辑端口。
经本公开的发明人研究发现,目前,PTN设备已有的E-Tree业务模型实现主要针对于NNI侧是MPLS承载的场景。E-Tree可以用于视频点播、客户隔离、负载分担等场景。因此,针对实际应用中NNI侧是QinQ承载业务场景,实现E-Tree业务模型有着实际的应用需求。
E-Tree中的节点根据如下规则进行交互:Root节点可以和任意Root节点或Leaf节点进行通信,Leaf节点只能和Root节点进行通信,Leaf节点之间禁止通信。
在本公开实施例中,结合E-Tree的节点交互规则,对水平分割的使用范围进行了扩展,在PE中的各个端口之间设置了水平分割条件,使水平分割不仅仅作用于NNI侧,还作用于UNI侧与NNI侧之间的端口。具体来说,在PE的UNI和UNI之间、在UNI和第一VLAN标签、第二VLAN标签分别指代的NNI侧逻辑端口之间,设置了水平分割条件,使得作为Root节点的UNI与作为Leaf节点的UNI之间的通信满足上述E-Tree中的节点交互规则。在本公开实施例中,将作为Root节点的UNI称为根节点UNI,将作为Leaf节点的UNI称为叶节点UNI。
需要说明的是,在本公开实施例中,PE中的UNI可以是根节点UNI,也可以是叶节点UNI;同一E-Tree中,根节点UNI和叶节点UNI可以是同一PE中的不同UNI,也可以是不同PE设备中的UNI,本公开实施例对此不做特殊限定。
在本公开实施例中,当同一E-Tree中,根节点UNI和叶节点UNI是不同PE设备中的UNI时,由根节点UNI到叶节点UNI的报文传输路径与由叶节点UNI到根节点UNI的报文传输路径分别对应不同VLAN标签指代的NNI侧逻辑端口。在本公开实施例中,将由根节点UNI到叶节点UNI的报文传输路径所对应的VLAN标签称为根VLAN标签,将由叶节点UNI到根节点UNI的报文传输路径所对应的VLAN标签成为叶VLAN标签。例如,由根节点UNI到叶节点UNI的报文传输路径对应第一VLAN标签指代的NNI侧逻辑端口,由叶节点UNI到根节点UNI的报文传输路径对应第二VLAN标签指代的NNI侧逻辑端口,相应地,将第一VLAN标签作为根VLAN标签,将第二VLAN标签作为叶VLAN标签;或者,由根节点UNI到叶节点UNI的报文传输路径对应第二VLAN标签指代的NNI侧逻辑端口,由叶节点UNI到根节点UNI的报文传输路径对应第一VLAN标签指代的NNI侧逻辑端口,相应地,将第二VLAN标签作为根VLAN标签,将第一VLAN标签作为叶VLAN标签。本公开实施例对此不做特殊限定。
需要说明的是,本公开实施例中所述的初次处理,是指使得报文在PE中UNI侧的端口与NNI侧的端口之间进行传输所必要的处理;所述的最终处理,是指通过所述下级端口将报文传输到PE以外所必要的处理。在PE中,当所述接收端口接收到未知单播报文时,会将该未知单播报文泛洪到各个所述下级端口。需要说明的是,在步骤S100中,对接收端口接收到的初始报文进行初次处理,根据接收端口的性质,对未知单播报文进行相应的处理。例如,当所述接收端口为UNI时,所述初次处理包括将未知单播报文泛洪到各个下级端口;当所述接收端口为NNI时,所述初次处理包括对未知单播报文携带的VLAN标签进行处理。还需要说明的是,在步骤S200中,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理,是指根据各个下级端口的性质、以及接收端口与下级端口之间的水平分割条件,分别对泛洪至各个下级端口的报文进行处理。例如,当所述下级端口为UNI时,所述最终处理包括通过UNI将报文传输到PE以外;当所述下级端口为NNI时,所述最终处理包括对报文的VLAN标签进行处理,包括通过NNI将报文传输到PE以外;在接收端口到下级端口设置有水平分割时,所述最终处理还可以包括将接收端口到下级端口方向上的报文丢弃。上述示例仅用于对本公开实施例中的初次处理和最终处理进行解释说明,本公开实施例初次处理和最终处理包括但不限于上述示例所述的情况。
在本公开实施例中,当所述接收端口为NNI时,步骤S100中对接收端口接收到的初始报文进行初次处理包括,将NNI接收到的未知单播报文携带的VLAN标签剥离。需要说明的是,在本公开实施例中,将报文的VLAN标签剥离后,不再为该报文添加新的VLAN标签,并且,剥离VLAN标签后的报文既不携带第一VLAN标签、也不携带第二VLAN标签。因为只有携带VLAN标签的报文才能够通过NNI在该VLAN标签指代的VLAN空间中进行传输,在本公开实施例中,将NNI接收到的未知单播报文的VLAN标签剥离,能够使NNI接收到的未知单播报文不再从NNI发送出去,从而避免了广播风暴的产生。
本公开实施例提供的报文处理方法,在PE的NNI侧是QinQ承载的业务场景中,结合E-Tree中节点交互规则将水平分割扩展到PE的UNI侧和NNI侧之间,通过设置水平分割条件,使得同一PE中、以及不同PE中的作为Root节点的UNI与作为Leaf节点的UNI之间的通信满足E-Tree中的节点交互规则,实现了NNI侧为QinQ接入方式时的E-Tree业务模型,从而使NNI侧采用QinQ技术承载的PTN网络能够应用于视频点播、客户隔离、负载分担等场景;此外,通过设置水平分割条件,使NNI接收到的未知单播报文不再从NNI发送出去,从而避免了广播风暴的产生。
需要说明的是,在QinQ报文格式中,在802.1Q报文的VLAN标签之上再打一层VLAN标签,通常将原802.1Q报文的VLAN标签用作内层VLAN标签,将802.1Q报文的VLAN标签之上的VLAN标签作为外层VLAN标签。
相应地,在一些实施例中,所述初始报文的格式为QinQ报文,所述第一VLAN标签为QinQ报文的内层VLAN标签和外层VLAN标签中的一者,所述第二VLAN标签为QinQ报文的内层VLAN标签和外层VLAN标签中的另一者。
需要说明的是,在PE的NNI侧是QinQ承载的业务场景中,在NNI端口配置内层VLAN标签和外层VLAN标签,但是,NNI接收到的报文仅携带内层VLAN标签,或仅携带外层VLAN标签,而不会同时携带内存VLAN标签和外层VLAN标签。其中,在NNI侧,可以将内层VLAN标签作为根VLAN标签,将外层VLAN标签作为叶VLAN标签;也可以将外层VLAN标签作为根VLAN标签,将内层VLAN标签作为叶VLAN标签。本公开实施例对此不做特殊限定。
在本公开实施例中,当受水平分割条件的约束,接收端口无法向下级端口传输报文时,所述下级端口为所述接收端口的水平分割条件所约束的端口;当接收端口能够向下级端口传输报文时,所述下级端口非所述接收端口的水平分割条件所约束的端口。
还需要说明的是,在本公开实施例中,对水平分割的设计和实现方式不做特殊限定,作为一种可选的实施方式,当接收端口到下级端口的方向设置了水平分割,则将从所述接收端口传输到所述下级端口的报文丢弃。
在本公开实施例中,本端PE是指当前PE,对端PE是指与当前PE通过网络侧NNI连接的PE,本端PE和对端PE都按照本公开实施例提供的所述报文处理方法对报文进行处理。
还需要说明的是,在当前PE中,可以只包括根节点UNI,也可以只包括叶节点UNI,还可以既有根节点UNI、也有叶节点UNI。本公开对PE中包括的UNI的属性及不同属性的UNI的数量不做特殊限定。
在本公开实施例中,当所述接收端口为叶节点UNI时,非所述接收端口的水平分割条件所约束的端口包括本端PE中的根节点UNI,以及叶VLAN标签所指代的NNI侧逻辑端口;所述接收端口的水平分割条件所约束的端口包括本端PE中的叶节点UNI,以及根VLAN标签所指代的NNI侧逻辑端口。
在本公开实施例中,当作为所述接收端口的叶节点UNI接收到未知单播报文、且所述下级端口为NNI时,对该未知单播报文的处理包括:将所述未知单播报文进行泛洪;在NNI为所述未知单播报文添加叶VLAN标签,使得添加叶VLAN标签的未知单播报文能够通过NNI发送到对端PE。上述过程相当于将未知单播报文泛洪到非所述接收端口的水平分割条件所约束的叶VLAN标签指代的NNI侧逻辑端口,而将泛洪到所述接收端口的水平分割条件所约束的根VLAN标签指代的NNI侧逻辑端口的报文丢弃。
相应地,参照图2,在一些实施例中,步骤S100包括:
在步骤S111中,当所述接收端口为叶节点UNI时,对所述初始报文进行泛洪;
步骤S200包括:
在步骤S211中,当所述下级端口为NNI时,为泛洪到所述下级端口的所述初始报文添加所述叶VLAN标签;
在步骤S212中,通过所述下级端口传输添加了所述叶VLAN标签的所述初始报文。
相应地,参照图3,在一些实施例中,步骤S200包括:
在步骤S213中,当所述下级端口为叶节点UNI时,将泛洪到所述下级端口的报文丢弃;
在步骤S214中,当所述下级端口为根节点UNI时,通过所述下级端口传输泛洪到所述下级端口的所述初始报文。
在本公开实施例中,当所述接收端口为根节点UNI时,非所述接收端口的水平分割条件所约束的端口包括本端PE中的根节点UNI、叶节点UNI,以及根VLAN标签所指代的NNI侧逻辑端口;所述接收端口的水平分割条件所约束的端口包括叶VLAN标签所指代的NNI侧逻辑端口。
在本公开实施例中,当作为所述接收端口的根节点UNI接收到未知单播报文、且所述下级端口为NNI时,对该未知单播报文的处理包括:将所述未知单播报文进行泛洪;在NNI为所述未知单播报文添加根VLAN标签,使得添加根VLAN标签的未知单播报文能够通过NNI发送到对端PE。上述过程相当于将报文泛洪到非所述接收端口的水平分割条件所约束的根VLAN标签指代的NNI侧逻辑端口,而将泛洪到所述接收端口的水平分割条件所约束的叶VLAN标签指代的NNI侧逻辑端口的报文丢弃。
相应地,参照图4,在一些实施例中,步骤S100包括:
在步骤S121中,当所述接收端口为根节点UNI时,对所述初始报文进行泛洪;
步骤S200包括:
在步骤S221中,当所述下级端口为NNI时,为泛洪到所述下级端口的所述初始报文添加所述根VLAN标签;
在步骤S222中,通过所述下级端口传输添加了所述根VLAN标签的所述初始报文。
相应地,参照图5,在一些实施例中,步骤S200包括:
在步骤S223中,当所述下级端口为当前PE的其他UNI时,通过所述下级端口传输泛洪到所述下级端口的所述初始报文。
如上文所述,在本公开实施例步骤S100中,当所述接收端口为网络侧端口NNI时,将所述报文携带的VLAN标签剥离,以将所述报文转发到UNI侧,并防止所述报文从NNI侧再次转发出去而引起广播风暴。
在本公开实施例中,当本端PE的NNI接收到未知单播报文、且该未知单播报文携带的VLAN标签为根VLAN标签时,表明所述接收端口为根VLAN标签指代的NNI侧逻辑端口,非所述接收端口的水平分割条件所约束的端口包括本端PE中的叶节点UNI、根节点UNI;所述接收端口的水平分割条件所约束的端口包括叶VLAN标签指代的NNI侧逻辑端口。
相应地,参照图6,在一些实施例中,步骤S100包括:
在步骤S131中,当所述接收端口为NNI,所述初始报文携带的VLAN标签为所述根VLAN标签时,剥离所述初始报文的所述根VLAN标签,以得到所述最终报文;
步骤S200包括:
在步骤S231中,当所述下级端口为当前PE的UNI时,通过所述下级端口传输泛洪到所述下级端口的所述最终报文。
在本公开实施例中,当本端PE的NNI接收到未知单播报文、且该未知单播报文携带的VLAN标签为叶VLAN标签时,表明所述接收端口为叶VLAN标签指代的NNI侧逻辑端口,非所述接收端口的水平分割条件所约束的端口包括本端PE中的根节点UNI;所述接收端口的水平分割条件所约束的端口包括本端PE中的叶节点UNI、根VLAN标签指代的NNI侧逻辑端口。
相应地,参照图7,在一些实施例中,步骤S100包括:
在步骤S141中,当所述接收端口为NNI,所述初始报文携带的VLAN标签为所述叶VLAN标签时,剥离所述初始报文的所述叶VLAN标签,以得到所述最终报文;
步骤S200包括:
在步骤S241中,当所述下级端口为根节点UNI时,通过所述下级端口传输泛洪到所述下级端口的所述最终报文;
在步骤S242中,当所述下级端口为叶节点UNI时,将泛洪到所述下级端口的所述最终报文丢弃。
在本公开实施例中,对转发等价类(FEC,Forward Equivalence Class)进行了扩展。FEC是一组具有某些共性的数据流的集合,这些数据流被PTN设备以相同方式处理。每一个FEC都可以看做一个指针。
作为一种可选的实施方式,在本公开实施例中,定义了根FEC和叶FEC,所述根FEC和叶FEC分别与根VLAN标签和叶VLAN标签二者之一所指代的NNI侧逻辑端口关联,且所述根FEC和叶FEC的指向的NNI侧逻辑端口与根FEC和叶FEC各自关联的NNI侧逻辑端口相互交错。作为一种可选的实施方式,所述根FEC与根VLAN标签指代的NNI侧逻辑端口关联,所述叶FEC与叶VLAN标签指代的NNI侧逻辑端口关联;所述根FEC指向叶VLAN标签指代的NNI侧逻辑端口,所述叶FEC指向根VLAN标签指代的NNI侧逻辑端口。
在本公开实施例中,PE会进行媒体访问控制(MAC,Media Access Control)学习。
相应地,参照图8,在一些实施例中,当前PE的MAC转发表包括转发等价类FEC,所述FEC包括根FEC和叶FEC,
当当前PE的MAC转发表中不包括所述初始报文中的源MAC地址,即所述初始报文为未知单播报文时,除了上述步骤S100至步骤S200以外,所述报文处理方法包括:
在步骤S310中,当所述接收端口为NNI、所述初始报文携带的VLAN标签为所述根VLAN标签时,将所述初始报文中的源MAC地址与所述叶FEC对应保存到所述MAC转发表中;
在步骤S320中,当所述接收端口为NNI、所述初始报文携带的VLAN标签为所述叶VLAN标签时,将所述初始报文中的源MAC地址与所述根FEC对应保存到所述MAC转发表中。
在一些实施例中,参照图9,所述报文处理方法包括:
在步骤S330中,当所述接收端口为UNI时,将所述源MAC地址与所述接收端口对应保存到所述MAC转发表中。
在本公开实施例中,针对已知单播报文,根据MAC转发表项对报文进行转发。
相应地,参照图10,在一些实施例中,除了上述步骤S100、步骤S200、步骤S310、步骤S320、步骤S330以外,所述报文处理方法包括:
在步骤S400中,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理。
需要说明的是,步骤S400中,MAC转发表至少是根据步骤S310、步骤S320建立起来的。当通过步骤S400在PE中对报文进行处理时,PE中的各接口之间仍满足本公开实施例中水平分割条件所限定的交互规则;且在步骤S400中,报文仍按照步骤S100至步骤S200所建立的E-Tree进行转发。当根据已知单播报文中目的MAC地址确定的下级端口非所述接收端口的水平分割条件所约束的端口,对所述报文进行处理包括将所述报文转发到所述下级端口;当根据已知单播报文中目的MAC地址确定的下级端口为所述接收端口的水平分割条件所约束的端口,则将该报文丢弃。
如上文所述,在本公开实施例中,在PE的MAC转发表中存储FEC与目的MAC地址的对应关系,当所述接收端口为UNI时,根据MAC转发表中FEC与目的MAC地址的对应关系确定传输所述报文的NNI侧逻辑端口。
相应地,参照图11,在一些实施例中,所述接收端口为UNI,当前PE的MAC转发表包括转发等价类FEC;
步骤S400包括:
在步骤S410中,当所述接收端口为UNI、所述下级端口为NNI时,将所述报文转发到所述MAC转发表中与所述目的MAC地址对应的NNI;
在步骤S420中,根据所述MAC转发表中,所述目标MAC地址对应的所述FEC,为所述报文添加VLAN标签;
在步骤S430中,通过所述NNI传输添加VLAN标签的所述报文。
相应地,参照图12,在一些实施例中,步骤S420包括:
在步骤S421中,当在所述MAC转发表中所述报文中的目标MAC地址对应所述根FEC时,为所述报文添加叶VLAN标签;
在步骤S422中,当在所述MAC转发表中所述目标MAC地址对应所述叶FEC时,为所述报文添加根VLAN标签。
相应地,参照图13,在一些实施例中,步骤S400包括:
在步骤S450中,当所述接收端口为NNI、所述下级端口为UNI时,根据所述目的MAC地址,将剥离VLAN标签的所述报文转发到当前PE的MAC转发表中与所述目的MAC地址对应的UNI。
在本公开实施例中,如上文所述,PE中的各接口之间仍满足本公开实施例中水平分割条件所限定的交互规则。当作为所述接收端口的UNI接收到已知单播报文时,直接根据报文中的目的MAC地址将报文转发到对应的UNI,可以理解的是,目的MAC地址对应的UNI非作为所述接收端口的UNI水平分割条件所述约束的端口。
相应地,参照图14,在一些实施例中,步骤S400包括:
在步骤S461中,当所述接收端口为UNI、所述下级端口为UNI时,根据所述目的MAC地址,将所述报文转发到当前PE的MAC转发表中与所述目的MAC地址对应、且非所述接收端口水平分割条件所约束的UNI;
在步骤S462中,通过与所述目的MAC地址对应、且非所述接收端口水平分割条件所约束的UNI传输剥离VLAN标签的所述报文。
以下结合图15至18以及具体实施例对本公开实施例提供的报文处理方法做进一步解释和说明。
在图15至图18中,uni-root代表根节点UNI,uni-leaf代表叶节点UNI;将第一VLAN标签VLAN1作为根VLAN标签,将第二VLAN标签VLAN2作为叶VLAN标签;nni-root代表第一VLAN标签VLAN1(即根VLAN标签)指代的NNI侧逻辑端口,nni-leaf代表第二VLAN标签VLAN2(即叶VLAN标签)指代的NNI侧逻辑端口;nni-root关联的FEC为fec_out,fec_out指向nni-leaf,nni-leaf关联的FEC为fec_in,fec_in指向nni-root。
在图15至图18中,水平分割条件的约束如下:
uni-root不能转发给nni-leaf;
uni-leaf不能转发给nni-root;
nni-leaf不能转发给uni-leaf;
uni-leaf不能转发给uni-leaf;
nni-root不能转发给nni-leaf;
nni-leaf不能转发给nni-root。
需要说明的是,在图15至图18中,通过将设置了水平分割的路径上的报文丢弃实现上述水平分割条件。
实施例一
参照图15,针对未知单播报文,Root节点UNI1到Leaf节点UNI2、UNI3的报文转发过程如下:
Root节点UNI1(即nni-root)初次接收到未知单播报文,报文分别泛洪到VSI1中的nni-root1和nni-leaf1。由于上述水平分割条件的约束,转发至nni-leaf1的报文被丢弃。最终该报文被唯一的转发至PE1的nni-root1。为该报文添加第一VLAN标签VLAN1后转发至PE2的NNI侧。
PE2中的nni-root2收到报文后,剥除报文携带的VLAN1,将剥除了VLAN1的报文泛洪到PE2中的nni-leaf2、uni-leaf1和uni-leaf2。由于上述水平分割条件的约束,转发至nni-leaf2的报文被丢弃。最终报文被转发至PE2中UNI侧的uni-leaf1和uni-leaf2,即Leaf节点UNI2和UNI3。
参照图15,针对未知单播报文,Leaf节点UNI2到Root节点UNI1方向的报文转发过程如下:
当Leaf节点UNI2(即uni-leaf1)接收到未知单播报文报文后,将报文分别泛洪至VSI2中的nni-root2,nni-leaf2以及uni-leaf2。由于上述水平分割条件的约束,转发至nni-root2和uni-leaf2的报文被丢弃。最终,报文被唯一的转发至nni-leaf2。为该报文添加第一VLAN标签VLAN2后转发至PE1的NNI侧。
PE1中的nni-leaf1收到报文后,剥除报文携带的VLAN2,并将剥除了VLAN2的报文泛洪至uni-root和nni-root1。由于上述水平分割规则约束,转发至nni-root1的报文被丢弃。最终报文转发至uni-root,即Root节点UNI1。
在图15中,Leaf节点UNI3到Root节点UNI1方向的报文转发过程,与Leaf节点UNI2到Root节点UNI1方向的报文转发过程类似。
在本实施例一中,Root节点UNI1可以同Leaf节点UNI2和UNI3进行通信,Leaf节点UNI2可以同Root节点UNI1通信,Leaf节点UNI3也可以同Root节点UNI1通信,但Leaf节点UNI2和UNI3之间不能通信,满足E-Tree的报文转发规则。
实施例二
参照图15,Root节点UNI1到Leaf节点UNI2、UNI3的报文转发过程如下:
假设报文从PE1设备的UNI1(即uni-root)进入,报文的目的MAC地址是00:00:00:00:00:02,源MAC地址是00:00:00:00:00:01。根据报文的目的MAC地址在VSI1中查询MAC转发表。当未查找到与报文的目的MAC地址00:00:00:00:00:02对应的转发表项时,将报文分别泛洪到VSI1中的nni-root1和nni-leaf1。由于上述水平分割条件的约束,最终该报文被唯一的转发至PE1的nni-root1。为该报文添加第一VLAN标签VLAN1后转发至PE2的NNI侧。同时,在PE1的MAC转发表中增加一条转发表项,如表1所示。
表1
MAC地址 | 对象 |
00:00:00:00:00:01 | uni-root |
PE2中的nni-root2收到报文后,剥除报文携带的VLAN1,将剥除了VLAN1的报文泛洪到PE2中的nni-leaf2、uni-leaf1和uni-leaf2。由于上述水平分割条件的约束,转发至nni-leaf2的报文被丢弃。最终报文被转发至PE2中UNI侧的uni-leaf1和uni-leaf2,即Leaf节点UNI2和UNI3。同时,在PE2的MAC转发表中增加一条转发表项,如表2所示。其中,fec_out2指向nni-leaf2。
表2
MAC地址 | 对象 |
00:00:00:00:00:01 | fec_out2 |
参照图15,Leaf节点UNI2到Root节点UNI1方向的报文转发过程如下:
Leaf节点UNI2(即uni-leaf1)接收到报文,报文源MAC地址为00:00:00:00:00:02,目的MAC地址为00:00:00:00:00:01。根据报文的目的MAC地址在VSI2中查询MAC转发表,会查到如表2所示的转发表项。报文被唯一的转发到fec_out2指向的对象,即nni-leaf2。为该报文添加第一VLAN标签VLAN2后转发至PE1的NNI侧。同时,在PE2的MAC转发表中增加一条转发表项,如表3所示。
表3
MAC地址 | 对象 |
00:00:00:00:00:01 | fec_out2 |
00:00:00:00:00:02 | uni-leaf1 |
PE1中的nni-leaf1收到报文后,剥除报文携带的VLAN2。根据报文的目的MAC地址在VSI1中查询MAC转发表,会查到如表1所示的转发表项。报文被唯一的转发至uni-root,即Root节点UNI1。同时,在PE1的MAC转发表中增加一条转发表项,如表4所示。fec_in1指向nni-root1。
表4
至此,Root节点UNI1和Leaf节点UNI2已经建立起双向转发规则,在PE1和PE2的MAC转发表项未老化之前,UNI1和UNI2之间根据MAC转发表进行报文转发,不会再泛洪到其他端口。
在图15中,Leaf节点UNI3到Root节点UNI1方向的报文转发过程,与Leaf节点UNI2到Root节点UNI1方向的报文转发过程类似。
在本实施例二种,Root节点UNI1可以通过MAC转发表同Leaf节点UNI2和UNI3进行通信,Leaf节点UNI2可以通过MAC转发表同Root节点UNI1通信,Leaf节点UNI3也可以通过MAC转发表同Root节点UNI1通信,但Leaf节点UNI2和UNI3之间不能通信,满足E-Tree的报文转发规则。
实施例三
参照图16,PE1中有多个Root节点UNI,包括UNI1和UNI2,PE2中有多个Leaf节点UNI,包括UNI3和UNI4。
Root节点UNI1、UNI2到Leaf节点UNI3、UNI4方向的报文转发过程,以及Leaf节点UNI3、UNI4到Root节点UNI1、UNI2的报文转发过程参照实施例一。
需要说明的是,从UNI1进入的报文,UNI1在转发该报文时,会将该报文分别泛洪到UNI2;从UNI2进入的报文,UNI2在转发该报文时,会将该报文泛洪给UNI1。
在本实施例三中,Root节点UNI1、UNI2可以同Leaf节点UNI3和UNI4进行通信,Leaf节点UNI3、UNI4可以同Root节点UNI1、UNI2通信,Root节点UNI1和Root节点UNI2之间也可以通信,但Leaf节点UNI3和UNI4之间不能通信,满足E-Tree的报文转发规则。
实施例四
参照图16,PE1中有多个Root节点UNI,包括UNI1和UNI2,PE2中有多个Leaf节点UNI,包括UNI3和UNI4。
Root节点UNI1、UNI2到Leaf节点UNI3、UNI4方向的报文转发过程,以及Leaf节点UNI3、UNI4到Root节点UNI1、UNI2的报文转发过程参照实施例二。
需要说明的是,Root节点UNI1和Root节点UNI2之间的通信过程就是MAC学习和转发的过程。
在本实施例四中,Root节点UNI1、UNI2可以通过MAC转发表同Leaf节点UNI3、UNI4进行通信,Leaf节点UNI3、UNI4可以通过MAC转发表同Root节点UNI1、UNI2通信,Root节点UNI1和Root节点UNI2之间也可以通过MAC转发表进行通信,但Leaf节点UNI3和UNI4之间不能通信,满足E-Tree的报文转发规则。
实施例五
参照图17,PE1中有一个Root节点UNI1,有多个Leaf节点UNI,包括UNI2、UNI3,PE2中有多个Leaf节点UNI,包括UNI4、UNI5。
Root节点UNI1到Leaf节点UNI4、UNI5方向的报文转发过程,以及Leaf节点UNI4、UNI5到Root节点UNI1的报文转发过程参照实施例一。
从UNI1进入的报文,UNI1在转发该报文时,会将该报文分别泛洪到UNI2、UNI3。
从UNI2或UNI3进入的报文,UNI2或UNI3在转发该报文时,由于上述水平分割条件的约束,泛洪到nni-root1的报文被丢弃。最终报文被转发到UNI1和nni-leaf1。为该报文添加第一VLAN标签VLAN2后转发至PE2的NNI侧。
PE2中的nni-leaf2收到报文后,剥除报文携带的VLAN2,并将剥除了VLAN2的报文泛洪至nni-root2、Leaf节点UNI4、UNI5。由于上述水平分割规则约束,转发至泛洪至nni-root2、Leaf节点UNI4、UNI5的报文被丢弃。即,Leaf节点UNI2或UNI3不能将报文发送到Leaf节点UNI4、UNI5。
从Leaf节点UNI4或UNI5进入的报文,UNI4或UNI5在转发该报文时,由于上述水平分割条件的约束,泛洪到nni-root2的报文被丢弃。最终报文被转发到UNI2和nni-leaf2。为该报文添加第一VLAN标签VLAN2后转发至PE1的NNI侧。
PE1中的nni-leaf1收到报文后,剥除报文携带的VLAN2,并将剥除了VLAN2的报文泛洪至nni-root1、根节点UNI1、Leaf节点UNI2、UNI3。由于上述水平分割规则约束,转发至泛洪至nni-root1、Leaf节点UNI2、UNI3的报文被丢弃。即,Leaf节点UNI4或UNI5不能将报文发送到Leaf节点UNI2、UNI3。
在本实施例五中,Root节点UNI1可以同Leaf节点UNI2、UNI3以及UNI4、UNI5进行通信,Leaf节点UNI2、UNI3、UNI4、UNI5可以同Root节点UNI1通信,但Leaf节点UNI2、UNI3以及UNI4、UNI5之间不能通信,满足E-Tree的报文转发规则。
实施例六
参照图17,PE1中有一个Root节点UNI1,有多个Leaf节点UNI,包括UNI2、UNI3,PE2中有多个Leaf节点UNI,包括UNI4、UNI5。
Root节点UNI1到Leaf节点UNI4、UNI5方向的报文转发过程,以及Leaf节点UNI4、UNI5到Root节点UNI1的报文转发过程参照实施例二。
需要说明的是,Root节点UNI1和Leaf节点UNI2、UNI3之间的通信过程就是MAC学习和转发的过程。
由于上述水平分割条件的约束,Leaf节点UNI2与UNI3之间的通信报文在PE1中即被丢弃,Leaf节点UNI4与UNI5之间的通信报文在PE2中即被丢弃,Leaf节点UNI2、UNI3与Leaf节点UNI4、UNI5之间的报文叶因为上述水平分割条件的约束被丢弃。
在本实施例六中,Root节点UNI1可以通过MAC转发表同Leaf节点UNI2、UNI3以及UNI4、UNI5进行通信,Leaf节点UNI2、UNI3、UNI4、UNI5可以通过MAC转发表同Root节点UNI1通信,但Leaf节点UNI2、UNI3以及UNI4、UNI5之间不能通信,满足E-Tree的报文转发规则。
实施例七
参照图18,PE1中有一个Root节点UNI1,作为PE1的对端设备的PE包括PE2和PE3,PE2中有一个Leaf节点UNI2,PE3中有一个Leaf节点UNI3。
Root节点UNI1到Leaf节点UNI2、UNI3方向的报文转发过程参照实施例一。
假设报文从PE3设备Leaf节点UNI3进入,将报文分别泛洪至VSI3中的nni-root4,nni-leaf4。由于上述水平分割条件的约束,转发至nni-root4的报文被丢弃。最终,报文被唯一的转发至nni-leaf4。为该报文添加第一VLAN标签VLAN4后转发至PE1的NNI侧。
PE1中的nni-leaf2收到报文后,剥除报文携带的VLAN4,并将剥除了VLAN4的报文泛洪至uni-root和nni-root1、nni-leaf1、nni-root2。由于上述水平分割规则约束,转发至nni-root1、nni-root2的报文被丢弃。最终报文转发至uni-root和nni-leaf1。为转发到nni-leaf1报文添加第一VLAN标签VLAN2后转发至PE2的NNI侧。
PE2中的nni-leaf3收到报文后,剥除报文携带的VLAN2,并将剥除了VLAN2的报文泛洪至nni-root3、Leaf节点UNI2。由于上述水平分割规则约束,转发至泛洪至nni-root3、Leaf节点UNI2的报文被丢弃。即,Leaf节点UNI3不能将报文发送到Leaf节点UNI2。
从PE2设备Leaf节点UNI2进入的报文的转发过程,与从PE3设备Leaf节点UNI3进入的报文的转发过程类似,即,Leaf节点UNI2不能将报文发送到Leaf节点UNI3。
在本实施例七中,Root节点UNI1可以同Leaf节点UNI2和UNI3进行通信,Leaf节点UNI2、UNI3可以同Root节点UNI1通信,但Leaf节点UNI2和UNI3之间不能通信,满足E-Tree的报文转发规则。
实施例八
参照图18,PE1中有一个Root节点UNI1,作为PE1的对端设备的PE包括PE2和PE3,PE2中有一个Leaf节点UNI2,PE3中有一个Leaf节点UNI3。
Root节点UNI1到Leaf节点UNI2、UNI3方向的报文转发过程参照实施例二。
假设报文从PE2的UNI2进入,要传送至UNI3。报文的目的MAC地址是00:00:00:00:02:03,源MAC地址是00:00:00:00:02:02。根据报文的目的MAC地址在VSI2中查询MAC转发表。当未查找到与报文的目的MAC地址00:00:00:00:02:03对应的转发表项时,将报文分别泛洪到VSI2中的nni-root3和nni-leaf3。由于上述水平分割条件的约束,最终该报文被唯一的转发至PE2的nni-leaf3。为该报文添加第一VLAN标签VLAN2后转发至PE1的NNI侧。同时,在PE2的MAC转发表中增加一条转发表项,如表5所示。
表5
MAC地址 | 对象 |
00:00:00:00:02:02 | uni-leaf1 |
PE1中的nni-leaf1收到报文后,剥除报文携带的VLAN2,将剥除了VLAN2的报文在VSI1中泛洪。由于上述水平分割条件的约束,最终报文被转发至PE1中Root节点UNI1和nni-leaf2。为转发到nni-leaf2的报文添加第一VLAN标签VLAN4后转发至PE3的NNI侧同时,在PE1的MAC转发表中增加一条转发表项,如表6所示。其中,fec_in1指向nni-root1。
表6
MAC地址 | 对象 |
00:00:00:00:02:02 | fec_in1 |
由于上述水平分割条件的约束,转发到PE3的nni-leaf4的报文最终被丢弃,同时,在PE3的MAC转发表中增加一条转发表项,如表7所示。其中,fec_in4指向nni-root4。
表7
MAC地址 | 对象 |
00:00:00:00:02:02 | fec_in4 |
假设报文从PE3的UNI3进入,要传送至UNI2,源MAC地址是00:00:00:00:02:03,目的MAC地址是00:00:00:00:02:02。根据报文的目的MAC地址在VSI3中查询MAC转发表,会得到如表7所示的转发表项。按照表7所示的转发表项,报文应直接从fec_in4的指向,即nni-root4发出。由于上述水平分割条件的约束,报文被丢弃。
在本实施例八中,Root节点UNI1可以通过MAC转发表同Leaf节点UNI2和UNI3进行通信,Leaf节点UNI2、UNI3可以通过MAC转发表同Root节点UNI1通信,但Leaf节点UNI2和UNI3之间不能通信,满足E-Tree的报文转发规则。
第二方面,参照图19,本公开实施例提供一种运营商边缘设备PE,,包括:
存储模块101,其上存储有可执行程序;
一个或多个处理器102,所述一个或多个处理器能够调用所述可执行程序,以使得所述一个或多个处理器实现上述任意一种报文处理方法;
一个或多个I/O接口103,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
其中,处理器101为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器102为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)103连接在处理器101与存储器102间,能实现处理器101与存储器102的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器101、存储器102和I/O接口103通过总线104相互连接,进而与计算设备的其它组件连接。
上文已经对所述报文处理方法进行了详细的描述,此处不再赘述。
第三个方面,参照图20,本公开实施例提供一种计算机可读介质,所述计算机可读介质上存储有可执行程序,所述可执行程序被执行时能够实现上述任意一种报文处理方法。
上文已经对所述报文处理方法进行了详细的描述,此处不再赘述。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (17)
1.一种报文处理方法,包括:
对接收端口接收到的初始报文进行初次处理,其中,所述初始报文为未知单播报文;
根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理;
其中,当所述接收端口为网络侧端口NNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
将所述初始报文携带的VLAN标签剥离,以获得最终报文,所述VLAN标签为第一VLAN标签或第二VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的一者用作根VLAN标签,所述第一VLAN标签和所述第二VLAN标签中的另一者用作叶VLAN标签;
将所述最终报文进行泛洪。
2.根据权利要求1所述的报文处理方法,其中,所述初始报文的格式为QinQ报文,所述第一VLAN标签为QinQ报文的内层VLAN标签和外层VLAN标签中的一者,所述第二VLAN标签为QinQ报文的内层VLAN标签和外层VLAN标签中的另一者。
3.根据权利要求1所述的报文处理方法,其中,当所述接收端口为叶节点用户侧端口UNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
对所述初始报文进行泛洪;
当所述下级端口为NNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
为泛洪到所述下级端口的所述初始报文添加所述叶VLAN标签;
通过所述下级端口传输添加了所述叶VLAN标签的初始报文。
4.根据权利要求3所述的报文处理方法,其中,当所述接收端口为叶节点UNI时,当前运营商边缘设备PE的其他叶节点UNI为所述接收端口水平分割条件所约束的端口,当前PE的根节点UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为叶节点UNI时,根据接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
将泛洪到所述下级端口的报文丢弃;
当所述下级端口为根节点UNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述初始报文。
5.根据权利要求1所述的报文处理方法,其中,当所述接收端口为根节点UNI时,对接收端口接收到的初始报文进行初次处理的步骤包括:
对所述初始报文进行泛洪;
当所述下级端口为NNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
为泛洪到所述下级端口的所述初始报文添加所述根VLAN标签;
通过所述下级端口传输添加了所述根VLAN标签的初始报文。
6.根据权利要求5所述的报文处理方法,其中,当所述接收端口为根节点UNI时,当前PE的其他UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为当前PE的其他UNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述初始报文。
7.根据权利要求1所述的报文处理方法,其中,当所述接收端口为NNI,所述初始报文携带的VLAN标签为所述根VLAN标签时,当前PE的UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为UNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述最终报文。
8.根据权利要求1所述的报文处理方法,其中,当所述接收端口为NNI,所述初始报文携带的VLAN标签为所述叶VLAN标签时,叶节点UNI为所述接收端口水平分割条件所约束的端口,根节点UNI非所述接收端口水平分割条件所约束的端口,
当所述下级端口为根节点UNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
通过所述下级端口传输泛洪到所述下级端口的所述最终报文;
当所述下级端口为叶节点UNI时,根据所述接收端口与下级端口之间的水平分割条件对初次处理后的报文进行最终处理的步骤包括:
将泛洪到所述下级端口的所述最终报文丢弃。
9.根据权利要求1至8中任意一项所述的报文处理方法,其中,当前PE的媒体访问控制MAC转发表包括转发等价类FEC,所述FEC包括根FEC和叶FEC,当当前PE的MAC转发表中不包括所述初始报文中的源MAC地址时,所述报文处理方法还包括:
当所述接收端口为NNI、所述初始报文携带的VLAN标签为所述根VLAN标签时,将所述初始报文中的源MAC地址与所述叶FEC对应保存到所述MAC转发表中;
当所述接收端口为NNI、所述初始报文携带的VLAN标签为所述叶VLAN标签时,将所述初始报文中的源MAC地址与所述根FEC对应保存到所述MAC转发表中。
10.根据权利要求9所述的报文处理方法,其中,所述报文处理方法还包括:
当所述接收端口为UNI时,将所述源MAC地址与所述接收端口对应保存到所述MAC转发表中。
11.根据权利要求9所述的报文处理方法,其中,当当前PE的MAC转发表中包括所述接收端口接收到的报文中的目的MAC地址时,所述报文处理方法包括:
根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理。
12.根据权利要求11所述的报文处理方法,其中,当所述接收端口为UNI、所述下级端口为NNI时,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理的步骤包括:
将所述报文转发到所述MAC转发表中与所述目的MAC地址对应的NNI;
根据所述MAC转发表中所述目标MAC地址对应的所述FEC,为所述报文添加VLAN标签;
通过所述NNI传输添加VLAN标签的所述报文。
13.根据权利要求12所述的报文处理方法,其中,根据所述MAC转发表中所述目标MAC地址对应的所述FEC,为所述报文添加VLAN标签的步骤包括:
当在所述MAC转发表中所述报文中的目标MAC地址对应所述根FEC时,为所述报文添加叶VLAN标签;
当在所述MAC转发表中所述目标MAC地址对应所述叶FEC时,为所述报文添加根VLAN标签。
14.根据权利要求11所述的报文处理方法,其中,当所述接收端口为NNI、所述下级端口为UNI时,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理的步骤包括:
根据所述目的MAC地址,将剥离VLAN标签的所述报文转发到当前PE的MAC转发表中与所述目的MAC地址对应的UNI;
通过与所述目的MAC地址对应的UNI传输剥离VLAN标签的所述报文。
15.根据权利要求11所述的报文处理方法,其中,当所述接收端口为UNI、所述下级端口为UNI时,根据所述接收端口接收到的报文中的目的MAC地址,对所述报文进行处理的步骤包括:
根据所述目的MAC地址,将所述报文转发到当前PE的MAC转发表中与所述目的MAC地址对应、且非所述接收端口水平分割条件所约束的UNI;
通过与所述目的MAC地址对应、且非所述接收端口水平分割条件所约束的UNI传输剥离VLAN标签的所述报文。
16.一种运营商边缘设备PE,包括:
存储模块,其上存储有可执行程序;
一个或多个处理器,所述一个或多个处理器能够调用所述可执行程序,以使得所述一个或多个处理器实现根据权利要求1至15中任意一项所述的报文处理方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
17.一种计算机可读介质,所述计算机可读介质上存储有可执行程序,所述可执行程序被执行时能够实现根据权利要求1至15中任意一项所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010529672.7A CN113810259A (zh) | 2020-06-11 | 2020-06-11 | 报文处理方法、运营商边缘设备、计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010529672.7A CN113810259A (zh) | 2020-06-11 | 2020-06-11 | 报文处理方法、运营商边缘设备、计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113810259A true CN113810259A (zh) | 2021-12-17 |
Family
ID=78891859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010529672.7A Withdrawn CN113810259A (zh) | 2020-06-11 | 2020-06-11 | 报文处理方法、运营商边缘设备、计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810259A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929444A (zh) * | 2006-09-05 | 2007-03-14 | 华为技术有限公司 | 运营商边界节点、虚拟专用局域网服务通信方法及系统 |
US20070268817A1 (en) * | 2006-05-22 | 2007-11-22 | Nortel Networks Limited | Method and system for protecting a sub-domain within a broadcast domain |
CN101095316A (zh) * | 2003-11-17 | 2007-12-26 | 日本电气株式会社 | 通信系统以及通信方法 |
US20140119239A1 (en) * | 2012-10-30 | 2014-05-01 | Ciena Corporation | Systems and methods for constrained forwarding based packet network connectivity |
-
2020
- 2020-06-11 CN CN202010529672.7A patent/CN113810259A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095316A (zh) * | 2003-11-17 | 2007-12-26 | 日本电气株式会社 | 通信系统以及通信方法 |
US20070268817A1 (en) * | 2006-05-22 | 2007-11-22 | Nortel Networks Limited | Method and system for protecting a sub-domain within a broadcast domain |
CN1929444A (zh) * | 2006-09-05 | 2007-03-14 | 华为技术有限公司 | 运营商边界节点、虚拟专用局域网服务通信方法及系统 |
US20140119239A1 (en) * | 2012-10-30 | 2014-05-01 | Ciena Corporation | Systems and methods for constrained forwarding based packet network connectivity |
Non-Patent Citations (3)
Title |
---|
A. SAJASSI, ED.;F. BROCKNERS;CISCO SYSTEMS;D. MOHAN, ED.;NORTEL;Y. SERBEST;AT AMP;AMP;AMP;T;: "Virtual Private LAN Service (VPLS) Interoperability with Customer Edge (CE) Bridges", IETF RFC6246, 30 June 2011 (2011-06-30) * |
杜赟: "在MPLS-TP上VPLS的设计与实现", 中国优秀硕士学位论文全文数据库, 15 June 2014 (2014-06-15) * |
申静雅: "二层互联技术EVI在路由器上的设计与实现", 中国优秀硕士学位论文全文数据库, 15 June 2018 (2018-06-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11838396B2 (en) | Ethernet virtual private network using segment routing | |
US20220407736A1 (en) | Area-specific broadcasting using bit indexed explicit replication | |
US8509248B2 (en) | Routing frames in a computer network using bridge identifiers | |
US9565028B2 (en) | Ingress switch multicast distribution in a fabric switch | |
US7787480B1 (en) | Routing frames in a trill network using service VLAN identifiers | |
EP2264949B1 (en) | Forwarding frames in a computer network using shortest path bridging | |
US8867555B2 (en) | Method and system for transparent LAN services in a packet network | |
US9325636B2 (en) | Scaling interconnected IP fabric data centers | |
EP2282453B1 (en) | Routing frames in a shortest path computer network for a multi-homed legacy bridge node | |
US7672314B2 (en) | Scaling VLANs in a data network | |
US9806949B2 (en) | Transparent interconnection of Ethernet fabric switches | |
US8693478B2 (en) | Multiple shortest-path tree protocol | |
US9054982B2 (en) | Satellite controlling bridge architecture | |
EP4398542A1 (en) | Message sending method, network device and communication system | |
CN113472665A (zh) | Evpn下不同组网对接的实现方法及装置 | |
US20080212578A1 (en) | System and method for constrained machine address learning | |
CN113810259A (zh) | 报文处理方法、运营商边缘设备、计算机可读介质 | |
US10924395B2 (en) | Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211217 |
|
WW01 | Invention patent application withdrawn after publication |