具体实施方式
针对现有技术存在的问题,本发明实施例对现有VLL技术进行扩展,以实现在一个VLL PW连接中支持本地AC与对端AC的多点接入。
在多点AC接入的MPLS L2 VPN网络架构中,PW两端的PE设备中至少有一端PE设备存在有至少2个AC。本发明实施例中,分别为PW两端PE设备的AC分配唯一的AC接入标识(以下称为A-TAG),并建立该两端PE设备的A-TAG的映射关系,其中,存在映射关系的两个A-TAG所对应的两个AC分别为报文收发端的AC。当PW一端的PE设备从本端AC接收到报文时,根据本端配置的A-TAG映射关系,获取与该本端AC对应的对端PE设备的A-TAG,并将其添加到报文中发送到PW;当对端PE设备从PW接收到该报文后,根据该报文中携带的A-TAG查询对应的AC,并通过该AC的出接口转发该报文,从而实现在一个VLL PW中支持本地AC与对端AC的多点接入。
下面分别以不同组网架构为例,结合附图对本发明实施例进行详细描述。
实施例一
本实施例描述了支持本端的多个AC与对端的多个AC的接入到同一ALL实例的实现方式。本实施例中,一个VLL公网连接支持本地的多个AC与对端的多个AC互连,且本地AC数量与对端AC数量相同,一个本地AC与一个对端AC绑定,构成固定的点到点连接,而公网侧则只有一个公用的PW,这种组网就如同将多个普通的VLL连接在公网侧直接聚合起来一样。
本实施例的组网架构可如图2所示。PE1和PE2之间建立有VLL PW连接,PE1上下挂了三个用户接入设备CE10、CE11和CE12,且对应存在三个AC:AC10、AC11和AC12,PE2上下挂了三个用户接入设备CE20、CE21和CE22,且对应存在三个AC:AC20、AC21和AC22。本实施例的目标是:分别在AC10和AC20、AC11和AC21、AC12和AC22之间建立远程连接,这三个远程AC连接使用同一VLL实例,共用同一个PW远程连接来传输报文。
现有技术中,在PE设备的用户侧存在多个AC侧接入的情况下,在相同的入端口之下,通过外层业务VLAN标签(S-TAG)来区分本AC属于哪一个VLL实例,其中,每个AC的S-TAG都不相同,若S-TAG相同则认为是同一个AC接入。本实施例中,仍然通过外层S-TAG标识VLL实例,此外,还引入了AC接入标识(A-TAG),即为每个AC分配A-TAG,并针对需要共用一个PW传输报文的两个AC,分别在该PW的两端PE设备上建立本端AC与对端AC的A-TAG映射关系。该映射关系中的两个A-TAG一一对应,即,本端PE设备的A-TAG在VLL实例内唯一的和对端PE设备上的A-TAG对应。与现有技术不同的是,在引入A-TAG后,S-TAG仍然用来标识所属的VLL实例,A-TAG用来标识所属的AC接入,对于同一S-TAG,可能会存在多个A-TAG。一般情况下,每个AC所分配的A-TAG均不相同。
基于上述建立的A-TAG映射关系,以图2所示的组网架构为例,图3示出了报文传输流程。其中,PE1和PE2上分别配置有如表1和表2所示的A-TAG映射关系:
表1、PE1上配置的A-TAG映射关系:
Local A-TAG(本端A-TAG) |
Remote A-TAG(对端A-TAG) |
A-TAG_10(对应于AC10) |
A-TAG_20(对应于AC20) |
A-TAG_11(对应于AC11) |
A-TAG_21(对应于AC21) |
A-TAG_12(对应于AC12) |
A-TAG_22(对应于AC22) |
表2、PE2上配置的A-TAG映射关系:
Local A-TAG(本端A-TAG) |
Remote A-TAG(对端A-TAG) |
A-TAG_20(对应于AC20) |
A-TAG_10(对应于AC10) |
A-TAG_21(对应于AC21) |
A-TAG_11(对应于AC11) |
A-TAG_22(对应于AC22) |
A-TAG_12(对应于AC12) |
如图3所示,在PE1到PE2的方向上,该流程可包括:
步骤301,PE1接收用户CE侧的报文。
该步骤中,用户CE侧报文进入PE1时可携带至少两层服务TAG,其中外层服务TAG为S-TAG,内层服务TAG为A-TAG,该A-TAG为报文发送端CE和PE1之间的AC所对应的A-TAG,即PE1本端AC的A-TAG。根据报文的来源不同,该A-TAG也不同。例如,如果报文来自于AC10,则该报文中携带有A-TAG_10;如果报文来自于AC11,则该报文中携带有A-TAG_11;如果报文来自于AC12,则该报文中携带有A-TAG_12。
考虑到用户侧可以根据自己需要决定报文中的服务TAG数量的情况,用户CE侧报文进入PE1的报文也可以只有一层服务TAG,此种情况下,认为报文外层S-TAG为接入侧端口的PVID(Port VLAN ID,也就是端口的虚拟局域网ID号),而报文自身携带的服务TAG为A-TAG;用户CE侧报文进入PE1的报文也可以不携带服务TAG,此种情况下,认为S-TAG和A-TAG都为接入侧端口的PVID。当报文携带多于两层TAG时,则认为S-TAG和A-TAG之后的VLAN TAG都是用户TAG,在转发过程中对这些用户TAG不作修改。
步骤302,PE1根据其上配置的A-TAG映射关系,查询到与报文中的本端AC的A-TAG对应的对端AC的A-TAG。
以用户CE10侧报文从AC10进入PE1为例,PE1根据其上配置的如表1所示的A-TAG映射关系,查询到与AC10的A-TAG_10存在映射关系的对端A-TAG为A-TAG_20。
步骤303,PE1将对端A-TAG携带于该报文,并将该报文发送到PW中传输。
具体的,PE1对接收的报文进行如下处理后发送到PW中:根据报文的入接口和S-TAG属性识别其所属的VLL实例,将S-TAG替换成RP-TAG,同时根据公网侧PW的封装模式决定是否携带RP-TAG;若封装模式为RAW(即原始的,不携带TAG标记)则不携带RP-TAG,此时用户报文只有A-TAG和用户自己的C-TAG(即用户TAG);若封装模式为TAGGED(即被标记的,携带TAG标记)则携带RP-TAG,此时用户报文有RP-TAG、A-TAG和C-TAG。值得注意的是,现有协议实现中两端PE设备的PW封装模式必须是相同的,否则PW的信令协议无法协商成功,VLL连接将无法正常建立。报文进入公网时,PE1为其打上VC标签和公网隧道标签,在公网上按照公网隧道标签进行转发,到达对端PE2。以用户CE10侧报文从AC10进入PE1为例,PE1修改标签后的报文中携带的A-TAG为A-TAG_20。
步骤304,PE2从PW接收到该报文后,根据其中携带的A-TAG将该报文从对应的出接口发送到对应的AC。
具体的,PE2从公网侧接收到流量是一个携带了一层VC标签的MPLS报文,PE2根据VC标签识别报文所属的VLL实例,弹掉VC标签,并根据PW封装模式识别是否存在RP-TAG,存在则删除之,获取报文的A-TAG,根据该A-TAG获取本地AC出接口(PE2上针对每个本地A-TAG设置有相应的出接口),并将报文送到AC OUTLIF出接口进行AC侧的用户TAG修改,根据本地AC侧接入方式决定是否增加本地的S-TAG标记,之后将报文送到用户侧。仍以用户CE10侧报文从AC10进入PE1为例,PE2从PW接收到的该报文中携带的A-TAG为A-TAG_20,然后通过A-TAG_20对应的AC20,将该报文发送到CE20。
同理,在CE20到CE10的方向上,报文的传输过程与上述流程类似,在此不再赘述。
通过本发明实施例的上述描述可以看出,通过在PW两端的PE设备配置本端AC与对端AC的A-TAG映射关系,其中,PW一端的PE设备的A-TAG在VLL实例内唯一的与另一端PE设备上的A-TAG对应,使本端PE设备向对端PE设备发送报文时,能够根据该映射关系获取到对端PE设备的AC的A-TAG,并封装在PW隧道报文中发送给对端PE设备,从而使对端PE设备能够根据报文中携带的A-TAG,从对应的本端AC转发该报文,进而实现了在一个VLL PW连接中支持本地AC与对端AC的多点接入。
实施例二
实施例二是通过对实施例一进行改进得到的,针对图2所示的网络架构,即PW两端的PE设备AC侧的AC数量相等的情况下,可以分别为本端AC到对端AC的各连接分配对应的A-TAG,这样就可以不在该PW两端的PE设备上配置A-TAG的映射关系表了。例如,对于如图2所示的网络架构,可以为AC10与AC20之间的连接分配A-TAG_0,为AC11与AC21之间的连接分配A-TAG_1,为AC12与AC22之间的连接分配A-TAG_2。以用户CE10侧报文从AC10进入PE1为例,其报文传输过程主要包括:
当用户CE10侧报文(该报文中携带有A-TAG,该A-TAG为A-TAG_0)进入PE1后,PE1对该报文进行必要的封装处理后将该报文发送到PW,其中,该报文中携带的A-TAG为A-TAG_0;该PW的对端设备PE2从该PW接收到该报文后,根据其中携带到A-TAG_0,获取对应的出接口(PE2上针对每个A-TAG设置有相应的出接口),然后根据A-TAG_0对应的AC20,将该报文发送到CE20。
通过本发明的上述实施例的描述可以看出,本发明实施例除了可以实现实施例一的技术效果以外,还可以简化实现流程。事实上,本实施例虽然不用设置A-TAG映射关系表,但通过为本端PE设备的一个AC与对端PE设备的一个AC分配相同的A-TAG,也体现了这两个AC的对应关系。
实施例三
本实施例描述了本端的一个AC与对端的多个AC接入到同一VLL实例的实现方式。本实施例中,具有多个AC的PE设备收发报文的处理方式与实施例一类似,而在具有一个AC的PE设备上需要将多个A-TAG绑定同一个AC上。同样,为了提供更加灵活的接入,需要在各个PE设备的AC侧建立LOCALA-TAG和Remote A-TAG的映射表,从而使报文发送端PE设备通过映射表决定报文发送到对端的哪一个AC,或者使报文接收端PE设备通过映射表决定从对端接收到报文发送给本地的哪一个AC。
本实施例的组网架构可如图4所示。以PE2设备为例进行说明。PE1和PE2为PW两端的PE设备,PE1上下挂了三个用户接入设备CE10、CE11和CE12,且对应存在三个AC:AC10、AC11和AC12,PE2上下挂了一个用户接入设备CE20,且对应存在一个AC:AC20。本实施例的目标是:分别在AC10和AC20、AC11和AC20、AC12和AC20之间建立远程连接,这三个远程AC连接使用同一VLL实例,共用同一个PW远程连接来传输报文。
PE1侧的每个AC都有唯一的A-TAG标识,PE2侧只有一个AC侧接入,该AC存在多个A-TAG标识,并与PE1上的A-TAG对应。在PE1和PE2的AC侧建立LOCAL A-TAG和Remote A-TAG的映射表。其中,PE1和PE2上的LOCALA-TAG和Remote A-TAG的映射表可分别如表3和表4所示:
表3、PE1上配置的A-TAG映射关系:
Local A-TAG(本端A-TAG) |
Remote A-TAG(对端A-TAG) |
A-TAG_10(对应于AC10) |
A-TAG_201(对应于AC20) |
A-TAG_11(对应于AC11) |
A-TAG_202(对应于AC20) |
A-TAG_12(对应于AC12) |
A-TAG_203(对应于AC20) |
表4、PE2上配置的A-TAG映射关系:
Local A-TAG(本端A-TAG) |
Remote A-TAG(对端A-TAG) |
A-TAG_201(对应于AC20) |
A-TAG_10(对应于AC10) |
A-TAG_202(对应于AC20) |
A-TAG_11(对应于AC11) |
A-TAG_203(对应于AC20) |
A-TAG_12(对应于AC12) |
基于上述建立的A-TAG映射关系,以图4所示的组网架构为例,图5示出了报文传输流程。如图5所示,在PE2到PE1的方向上,该流程可包括:
步骤501,PE2接收用户CE侧的报文。
同图3所示流程的步骤301,PE2从AC接收到的报文中携带有本端的A-TAG。根据该报文的目的CE不同,该A-TAG也不同。例如,如果报文的目的CE为CE10,则该报文中携带有A-TAG_201;如果报文的目的CE为CE11,则该报文中携带有A-TAG_202;如果报文的目的CE为CE12,则该报文中携带有A-TAG_203。
步骤502,PE2根据其上配置的A-TAG映射关系,查询到与报文中的本端AC的A-TAG对应的对端AC的A-TAG。
以用户CE20侧报文进入PE2且目的CE为CE10为例,PE2根据其上配置的如表1所示的A-TAG映射关系,查询到与AC20的A-TAG_201存在映射关系的对端A-TAG为A-TAG_10。
步骤503,PE2将对端A-TAG携带于该报文,并将该报文发送到PW中传输。
同图3所示流程的步骤303,PE2根据报文的入接口和S-TAG属性识别其所属的VLL实例,将S-TAG替换成RP-TAG,根据公网侧PW的封装模式决定是否携带RP-TAG,若封装模式为RAW则不携带,此时用户报文只有A-TAG和用户自己的C-TAG,若封装模式为TAGGED则携带,此时用户报文有RP-TAG、A-TAG和C-TAG。值得注意的是,对于从用户设备CE20进入的报文,PE2通过上述步骤503执行Local A-TAG和Remote A-TAG的映射,将内层的服务TAG替换成Remote A-TAG,此时进入公网传输的报文A-TAG被修改。以用户CE20侧报文进入PE2且目的CE为CE10为例,PE2修改标签后的报文中携带的A-TAG为A-TAG_10。
步骤504,PE1从PW接收到该报文后,根据其中携带的A-TAG将该报文从对应的出接口发送到对应的AC。
同图3所示流程的步骤304,PE1从公网侧接收到流量是一个携带了一层VC标签的MPLS报文,PE1根据VC标签识别报文所属的VLL实例,弹掉VC标签,并根据PW封装模式识别是否存在RP-TAG,存在则删除之,获取报文的A-TAG,根据该A-TAG获取本地AC出接口(PE1上针对每个本地A-TAG设置有相应的出接口),并将报文送到AC OUTLIF出接口进行AC侧的用户TAG修改,根据本地AC侧接入方式决定是否增加本地的S-TAG标记,之后将报文送到用户侧。仍以用户CE20侧报文进入PE2且目的CE为CE10为例,PE1从PW接收到的该报文中携带的A-TAG为A-TAG_10,然后根据A-TAG_10对应的AC10,将该报文发送到CE10。
在PE1到PE2的方向上,其报文传输流程基本与图2所示流程或上述流程类似。以用户CE10侧报文从AC10进入PE1为例,其报文传输过程主要包括:
当用户CE10侧报文(该报文中携带有A-TAG,该A-TAG为A-TAG_10)进入PE1后,PE1通过查询其上配置的如表2所示的ATAG映射关系表,将该报文中本端的A-TAG_10修改为对端的A-TAG_201,并对该报文进行必要的封装处理后将该报文发送到PW;该PW的对端设备PE2从该PW接收到该报文后,根据其中携带到A-TAG_201,获取对应的出接口(PE2上针对AC20的每个A-TAG设置有相同的出接口),然后根据A-TAG_201对应的AC20,将该报文发送到CE20。
以上流程中,在需要进行A-TAG转换时,均由本端PE设备(即报文发送端PE设备)将本端的A-TAG修改为对端的A-TAG。基于相同的原理,该A-TAG转换操作也可以在对端PE设备(即报文接收端)执行,即本端PE设备不进行A-TAG转换,这样在PW中传输的报文中携带的A-TAG为发送端的A-TAG;当报文到达对端PE设备后,该对端PE设备根据其上的A-TAG映射表,将发送端的A-TAG映射为本端的A-TAG。具体的,接收端PE设备的处理过程包括:接收端PE设备从公网侧接收到流量是一个携带了一层VC标签的MPLS报文,根据VC标签识别报文所属的VLL实例,弹掉VC标签,并根据PW封装模式识别是否存在RP-TAG,存在则删除之,获取报文的A-TAG,查询本地的A-TAG映射表,将Remote A-TAG映射成Local A-TAG,然后根据新的A-TAG获取本地AC出接口,并将报文送到AC OUTLIF出接口进行AC侧的用户TAG修改,根据本地AC侧接入方式决定是否增加本地的S-TAG标记,之后将报文送到用户侧。
通过本发明的上述实施例的描述可以看出,通过在PW两端的PE设备配置本端AC与对端AC的A-TAG映射关系,其中,PW一端的PE设备的A-TAG在VLL实例内唯一的与另一端PE设备上的A-TAG对应,使在本端PE设备向对端PE设备发送报文时,能够根据该映射关系获取到对端PE设备的AC的A-TAG,并封装在PW隧道报文中发送给对端PE设备,从而使对端PE设备能够根据报文中携带的A-TAG,从对应的本端AC转发该报文,进而实现了在一个VLL PW连接中支持本地AC与对端AC的多点接入。
实施例四
本实施例在上述各实施例的基础上进行了进一步扩展,实现了多点接入的组播传输方式。
具体的,本实施例中对PE设备上存在的多个AC进行划分,得到一个或多个组,称为接入组,每个接入组中包括一个或多个AC。同一个VLL实例的用户侧AC中可存在多个接入组。PE设备可以按照接入组处理从对端接收到的组播流量,将组播流量组播到指定的接入组中,接入组中每个AC都能够接收对端的组播流量,而不属于该接入组的AC则无法接收流量。
下面以图6所示的组网架构进一步说明本实施例的实现方式。
如图6所示,PE1和PE2建立有一个VLL远程连接,PE1上存在五个AC,PE2上存在一个AC。其中,PE1上的五个AC中,CE10和CE11属于接入组1,CE12属于接入组2,CE13和CE14属于接入组3。PE1和PE2上的A-TAG映射表可如表5和表6所示:
表5、PE1上配置的A-TAG映射关系:
表6、PE2上配置的A-TAG映射关系:
表5、表6中的“广播/组播属性标识”为TRUE,表示对应的Local A-TAG所对应的AC为接入组成员AC,若“广播/组播属性标识”为FALSE,则表示对应的LocalA-TAG所对应的AC不属于任何接入组,当然,用于表示是否具有广播/组播属性的标识也可以采用其它取值。Table_n表示广播/组播表索引值,其中,Table_1为接入组1的表索引,Table_2为接入组2的表索引,Table_3为接入组3的表索引。此外,在PE1和PE2上还配置有广播/组播表,该广播/组播表可如表7所示:
表7、PE1和PE2上配置的广播/组播表:
广播/组播表索引 |
出接口 |
Table_1 |
AC10、AC11的出接口 |
Table_2 |
AC12的出接口 |
Table_3 |
AC13、AC14的出接口 |
当然,表7也可以分别于表5、表6结合在一起,即在表5、表6中,对应于本端A-TAG,记录其所属的接入组。本领域技术人员应该能够理解,以上通过A-TAG映射表查询到接入组成员AC出接口的数据组织形式仅为一种实现方式,其它能够通过A-TAG映射表查询到接入组成员AC出接口的数据组织形式也应该包含在本发明的保护范围之内。
基于上述组网架构以及接入组的划分情况,以从CE20向接入组1发送组播报文为例,其组播实现过程可如图7所示,包括:
步骤701,用户侧CE20设备发送组播报文,要求在对端PE1下的接入组1内的所有CE设备都能接收该流量。
具体的,CE20设备发送的组播报文中携带有A-TAG,该A-TAG取值为接入组1内的一个或全部AC的A-TAG,如A-TAG_201或A-TAG_202。
步骤702,PE2接收用户CE20的报文后,根据其上配置的A-TAG映射关系,查询到与报文中的本端AC的A-TAG对应的对端AC的A-TAG,将对端A-TAG携带于该报文,并将该报文发送到PW中传输。
具体的,PE2从用户CE20接收到组播报文后,根据报文的入接口和S-TAG属性识别其所属的VLL实例封装VC标签,根据PW传输模式设置RP-TAG。从用户设备CE20进入的报文,在PE2上执行Local A-TAG和Remote A-TAG的映射,将内层的服务TAG替换成Remote A-TAG,此时进入公网传输的报文A-TAG被修改。例如,如果报文中携带的A-TAG为A-TAG_201,则通过LocalA-TAG和Remote A-TAG映射后得到的A-TAG为A-TAG_10。
步骤703,PE1从PW接收到该报文后,根据其中携带的A-TAG确定其所属的接入组,将该报文从该接入组的成员AC发送到对应的CE。
具体的,PE1从公网侧接收到流量是一个携带了一层VC标签的MPLS报文,根据VC标签识别报文所属的VLL实例,弹掉VC标签,根据PW传输模式删除RP-TAG,获取报文的A-TAG;判断该A-TAG是否具有广播/组播属性,若有,则根据对应的广播/组播表索引查询对应的广播/组播表,从而确定相应接入组内的所有成员AC的出接口,然后依次向这些成员AC的出接口复制报文并发送;否则,按照该A-TAG从相应AC的出接口发送报文。
例如,如果PE1接收到的报文中携带的A-TAG为A-TAG_10,则由于A-TAG_10具有广播/组播属性,因此根据对应的广播/组播表索引Table_1查询对应广播/组播表,确定出该接入组的所有成员AC的出接口:AC10和AC11的出接口;然后,复制报文,并分别通过AC10和AC11发送给对应的CE10和CE11。
值得注意的是,进入到PE2的需要组播的流量并不一定是真正的组播流量,也可以是单播业务。用户可以根据需要对VLL对端流量进行单播或者组播处理,若不需要组播则在A-TAG映射表中标识非组播,否则就标识组播并给出广播表索引,根据对应的广播表获取AC出接口列表,根据该出接口列表进行AC出接口复制发送。
通过本发明的上述实施例的描述可以看出,通过在PE设备上设置接入组,将本端的多个AC加入到接入组中作为该组的成员AC,这样,当该PE设备从PW接收到报文后,就可以根据该报文中携带的该PE设备本端AC的A-TAG确定该AC所属的接入组,并将该报文通过该接入组中的所有成员AC发送,从而扩展了VLL接入方式,提供了更加灵活的多点接入,提供了基于AC接入的组播复制实现。
需要说明的是,本实施例是以发送端PE设备根据A-TAG映射表进行A-TAG修改操作为例描述的,对于由接收端PE设备根据A-TAG映射表进行A-TAG修改的情况,其实现过程与此类似,在此不再赘述。
另外需要说明的是,本发明实施例的上述技术方案适用于各种情况的MPLS L2VPN的AC多点接入组网架构,不仅仅限于PW的两端PE设备存在有相等数量AC的组网架构,也不仅仅限于一端PE设备上存在多个AC而另一端PE设备上存在一个AC的组网架构。
基于相同的技术构思,本发明实施例还提供了一种可应用于上述流程的PE设备。
参见图8,为本发明实施例提供的PE设备的结构示意图,如图所示,该PE设备包括:
映射模块801,用于本端设备的AC分配AC接入标签A-TAG,并在本端设备上配置A-TAG映射关系,其中,本端设备的A-TAG在VLL实例内唯一的与PW另一端的PE设备上的A-TAG对应;
第一处理模块802,用于当本端设备从本端AC接收到报文后,获取本端AC的A-TAG,根据本端设备配置的所述A-TAG映射关系,获取与本端AC的A-TAG对应的对端PE设备的A-TAG,将所述报文封装为PW隧道报文,其中携带有所述对端PE设备的A-TAG,并通过所述PW向对端PE设备发送所述PW隧道报文;
第二处理模块803,用于当从PW接收到对端设备发送的PW隧道报文后进行解封装,并根据其中携带的A-TAG,通过本端设备对应的AC转发解封装后的报文。
上述PE设备中,映射模块801可具体用于:在本端设备上的1个AC需要与对端设备上的N个AC之间传输报文的情况下,为该1个AC分配N个A-TAG;在所述A-TAG映射关系中包括该1个AC的N个A-TAG与N个AC的A-TAG之间的一一对应的映射关系;其中N>1。
上述PE设备中,映射模块801可具体用于:在本端的N个AC需要与对端的对应N个AC之间传输报文的情况下,分配给本端的每个AC的A-TAG,与对端对应的AC的A-TAG相同;其中N>1;相应的,第一处理模块802可用于:当从本端AC接收到报文后,获取本端AC的A-TAG,将所述报文封装为PW隧道报文,其中携带有本端设备的A-TAG,并通过所述PW向对端PE设备发送所述PW隧道报文。
上述PE设备中,还可包括:接入组设置模块804,用于在本端设备上设置接入组,所述接入组中的成员AC包括本端的一个或多个AC。相应的,第二处理模块803可具体用于:从PW接收到PW隧道报文并解封装后,根据其中携带的A-TAG确定其所属的接入组,通过该接入组中的所有成员AC转发解封装后的报文。
此外,上述各功能模块的功能的具体实现方式,可参考前述流程中的相应处理过程,在此不再赘述。
参见图9,为本发明另一实施例提供的PE设备的结构示意图,如图所示,该PE设备可包括:
映射模块901,用于本端设备的AC分配AC接入标签A-TAG,并在本端设备上配置A-TAG映射关系,其中,本端设备的A-TAG在VLL实例内唯一的与PW另一端的PE设备上的A-TAG对应;
第一处理模块902,用于当本端设备从本端AC接收到报文后,将所述报文封装为PW隧道报文,其中携带有所述本端AC的A-TAG,并通过所述PW向对端PE设备发送所述PW隧道报文;
第二处理模块903,用于当本端设备从PW接收到PW隧道报文后进行解封装,根据本端配置的所述A-TAG映射关系,获取与所述报文中携带的对端PE设备的A-TAG对应的对端PE设备的A-TAG,通过本端对应的AC转发解封装后的报文。
上述PE设备中,映射模块901可具体用于:在本端设备上的1个AC需要与对端设备上的N个AC之间传输报文的情况下,为该1个AC分配N个A-TAG;在所述A-TAG映射关系中包括该1个AC的N个A-TAG与N个AC的A-TAG之间的一一对应的映射关系;其中N>1。
上述PE设备中,映射模块901可具体用于:在本端的N个AC需要与对端的对应N个AC之间传输报文的情况下,分配给本端的每个AC的A-TAG,与对端对应的AC的A-TAG相同;其中N>1;
所述第二处理模块用于,当从PW接收到PW隧道报文后进行解封装,获取与所述报文中携带的对端PE设备的A-TAG对应的对端PE设备的A-TAG,通过本端对应的AC转发解封装后的报文。
上述PE设备中,还可包括:接入组设置模块904,用于在本端设置接入组,所述接入组中的成员AC包括本端的一个或多个AC。相应的,第二处理模块903可具体用于:在获取到与所述PW封装报文中携带的对端PE设备的A-TAG对应的对端PE设备的A-TAG后,根据所述A-TAG确定其所属的接入组,并通过该接入组中的所有成员AC转发解封装后的报文。
此外,上述各功能模块的功能的具体实现方式,可参考前述流程中的相应处理过程,在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。