一种报文转发方法、hub-pe和hub-ce的制作方法

文档序号:7985336阅读:599来源:国知局
一种报文转发方法、hub-pe和hub-ce的制作方法
【专利摘要】本申请公开了一种报文转发方法,该方法包括:HUB-PE为同一HUB-Spoke组网中的各Spoke-PE分配相同的私网标签,仅用来区分哪个HUB-Spoke组网中的报文;为各Spoke-PE分配不同的服务标识来区分报文来自于哪个Spoke-PE来进行报文转发。基于同样的发明构思,本申请还提出了一种HUB-PE和HUB-CE,能够解决私网标签不够用的问题。
【专利说明】一种报文转发方法、HUB-PE和HUB-CE
【技术领域】
[0001]本申请涉及通信【技术领域】,特别涉及一种报文转发方法、HUB-PE和HUB-CE。
【背景技术】
[0002]虚拟专用局域网服务(Virtual Private LAN Service, VPLS)是在公用网络中提供的一种点到多点的二层虚拟专用网络(Layer 2 Virtual Private Network, L2VPN)业务。VPLS通过MPLS或IP骨干网连接地域上分离的用户网络站点,形成一个跨越骨干网的用户网络。骨干网模拟了一台将多个用户网络站点连接在一起的虚拟交换机,服务提供商可以通过在骨干网上为不同的用户网络模拟不同的虚拟交换机来为不同的用户网络提供VPLS服务。骨干网对于用户网络的站点来说是透明的,用户网络的各个站点就像工作在一个局域网中一样。
[0003]中心(Hub)-分支(Spoke)组网是指网络中存在一个HUB站点和多个Spoke站点的组网方式。在Hub-Spoke组网方式中,各Spoke-服务提供商网络边缘设备(PE)之间不能直接通信,必须通过HUB-PE通信,以实现HUB-PE对数据流量进行统一管理。
[0004]在这种HUB-Spoke组网中,HUB-PE需要为每个Spoke-PE分配不同的私网标签来区别发送报文的Spoke-PE,当Spoke-PE较多时,一个HUB-Spoke组网需要占用较多标签,这样就会出现私网标签不够用的问题。

【发明内容】

[0005]有鉴于此,本申请提供一种报文转发方法、HUB-PE和HUB-CE,能够解决私网标签不够用的问题。
[0006]为解决上述技术问题,本申请的技术方案是这样实现的:
[0007]一种报文转发方法,应用于HUB-Spoke组网,该组网中的HUB-PE与各Spoke-PE建立伪线PW连接,为各Spoke-PE分配接入电路AC,并将与任一 Spoke-PE建立的PW连接,同为该Spoke-PE分配的AC绑定,HUB-PE为各Spoke-PE分配相同的私网标签,并将为各Spoke-PE分配的AC的虚拟局域网标识VLAN ID作为服务标识分配给各Spoke-PE,使所述Spoke-PE向HUB-PE发送报文时将该服务标识作为报文的外层VLAN tag封装,包括:
[0008]HUB-PE接收到Spoke-PE发送的将该HUP-PE为该Spoke-ΡΕ分配的服务标识作为外层虚拟局域网标签VLAN tag的报文时,弹出该报文的公网标签和私网标签,并通过该HUB-Spoke组网中该HUB-PE与HUB-CE相连的端口转发给HUB-CE,使HUB-CE学习到该报文的外层VLAN tag的值。
[0009]其中,所述方法进一步包括:
[0010]HUB-PE接收到HUB-CE发送的报文时,根据接收报文的外层VLAN tag的值确定对应的AC,并为该报文封装分配的私网标签和公网标签,通过与确定的AC绑定的PW转发,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的。[0011]所述方法进一步包括:
[0012]所述HUB-PE将为各Spoke-PE分配的服务标识携带在向各Spoke-ΡΕ发送的PW元素信息中,使各Spoke-PE获取该PW元素信息中携带的HUB-PE为该Spoke-PE分配的服务标识。
[0013]所述方法进一步包括:
[0014]该HUB-Spoke组网中的所有PE都配置为HUB-PE,并将与之通信的各PE作为Spoke-ΡΕ,所有CE从PE接收到报文时,不再向该PE转发。
[0015]一种报文转发方法,应用于HUB-Spoke组网,该组网中的HUB-PE与各Spoke-ΡΕ建立伪线PW连接,为各Spoke-ΡΕ分配接入电路AC,并将与任一 Spoke-ΡΕ建立的PW连接,同为该Spoke-ΡΕ分配的AC绑定,HUB-PE为各Spoke-ΡΕ分配相同的私网标签,并为各Spoke-PE分配不同的服务标识,使所述Spoke-ΡΕ向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签VLAN tag封装,包括:
[0016]HUB-PE接收到Spoke-ΡΕ发送的将该HUB-PE为该Spoke-ΡΕ分配的服务标识作为外层VLAN tag的报文时,弹出该报文的公网标签和私网标签,根据弹出标签的报文的外层VLAN tag确定发送报文的Spoke-ΡΕ,根据确定的Spoke-ΡΕ确定对应的AC,将该弹出标签的报文的VLANtag的值修改为确定的AC的虚拟局域网标识VLAN ID,并在确定的AC的端口上的VLAN内转发给HUB-CE,使HUB-CE学习到该报文的外层VLAN tag的值。
[0017]其中,所述方法进一步包括:
[0018]HUB-PE接收到HUB-CE发送的报文时,根据接收报文的外层VLAN tag的值确定对应的AC,并为该报文封装分配的私网标签和公网标签,通过与确定的AC绑定的PW转发,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的。
[0019]所述方法进一步包括:
[0020]所述HUB-PE将为各Spoke-ΡΕ分配的服务标识携带在向各Spoke-ΡΕ发送的PW元素信息中,使各Spoke-ΡΕ获取该PW元素信息中携带的HUB-PE为该Spoke-ΡΕ分配的服务标识。
[0021]所述方法进一步包括:
[0022]该HUB-Spoke组网中的所有PE都配置为HUB-PE,并将与之通信的各PE作为Spoke-ΡΕ,所有CE从PE接收到报文时,不再向该PE转发。
[0023]一种报文转发方法,应用于HUB-Spoke组网,该方法包括:
[0024]该HUB-Spoke组网中的HUB-CE为每个用户创建一个用户实例,并为每个用户实例分配VLAN ID和上行端口 ;
[0025]该HUB-CE接收到HUB-PE发送的报文时,根据接收报文的外层VLAN tag进行用户实例MAC地址表项学习,该用户实例MAC地址表项包含用户实例ID、VLAN ID、MAC地址和出端口,其中,所述VLAN ID为接收报文的外层VLAN tag的值;
[0026]HUB-CE弹出接收报文的外层VLAN tag,当接收报文为广播或组播报文时,将该弹出外层VLAN tag的报文向该报文的内层VLAN tag对应的VLAN内的所有端口,以及用户实例的上行端口上除外层VLAN tag对应的VLAN之外的VLAN发送,并且在上行端口发送报文时,将对应VLAN ID作为外层VLAN tag封装所述弹出外层VLAN tag的报文;[0027]当接收报文为单播报文时,在内层VLAN tag内查找MAC地址转发表项,如果查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发;如果未查找到对应的目的MAC地址,则根据报文的外层VLAN tag确定用户实例,在确定的用户实例对应的用户实例MAC地址表项中查找,若查找到对应的目的MAC地址,则将该目的MAC地址对应的VLANID作为外层VLAN tag封装该弹出外层VLAN tag的报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该弹出外层VLAN tag的报文。
[0028]其中,所述方法进一步包括:所述HUB-CE为各用户实例分配对应的下行端口 ;
[0029]该HUB-CE从用户侧接收到报文时,进行源MAC地址学习,生成MAC地址转发表项;
[0030]当接收到的报文为广播或组播报文时,向该报文内层VLAN tag对应VLAN的报文来源端口之外的所有端口上,以及对应的用户实例上行端口上所有VLAN发送该报文,且在上行端口发送的报文封装对应的VLAN作为外层VLAN tag,其中,对应的用户实例根据接收报文的端口确定;
[0031]当接收到的报文为单播报文时,HUB-CE在接收报文的VLAN内查找MAC地址转发表项,若查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发该接收的报文;若未查找到对应的目的MAC地址,在根据接收报文的端口确定用户实例,在确定的用户实例对应的用户实例MAC地址表项中查找,若查找到对应目的MAC地址,则将目的MAC地址对应的VLAN ID作为外层VLAN tag封装该接收报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该接收报文。
[0032]一种HUB-PE,可应用于还包含多个Spoke-PE的HUB-Spoke组网中,该HUB-PE与各Spoke-PE建立伪线PW连接,为各Spoke-PE分配接入电路AC,并将与任一 Spoke-PE建立的PW连接,同为该Spoke-PE分配的AC绑定,所述HUB-PE包括:配置单元、接收单元、处理单元和发送单元;
[0033]所述配置单元,用于为各Spoke-PE分配相同的私网标签,并将为各Spoke-PE分配的AC的虚拟局域网标识VLAN ID作为服务标识分配给各Spoke-PE,使所述Spoke-PE向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签VLANtag封装;
[0034]所述接收单元,用于接收Spoke-PE发送的所述配置单元为其分配的服务标识作为外层VLAN tag的报文;
[0035]所述处理单元,用于当所述接收单元接收到Spoke-PE发送的所述配置单元为其分配的服务标识作为外层VLAN tag的报文时,弹出该报文的公网标签和私网标签;
[0036]所述发送单元,用于将所述处理单元处理的报文通过与HUB-CE相连的端口转发给HUB-CE,使HUB-CE学习到该报文的外层VLAN tag的值。
[0037]其中,所述接收单元,进一步用于接收HUB-CE发送的报文;
[0038]所述处理单元,进一步用于根据所述接收单元接收的报文的外层VLAN tag的值确定对应的AC,并为该报文封装公网标签和所述配置单元分配的私网标签,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的;
[0039]所述发送单元,进一步用于将所述处理单元封装私网标签和公网标签的报文通过与确定的AC绑定的PW转发。
[0040]所述发送单元,进一步用于将所述配置单元为各Spoke-PE分配的服务标识携带在向各Spoke-ΡΕ发送的PW元素信息中,使各Spoke-ΡΕ获取该PW元素信息中携带的HUB-PE为该Spoke-ΡΕ分配的服务标识。
[0041 ] 一种HUB-PE,可应用于还包含多个Spoke-ΡΕ的HUB-Spoke组网中,该HUB-PE与各Spoke-ΡΕ建立伪线PW连接,为各Spoke-ΡΕ分配接入电路AC,并将与任一 Spoke-ΡΕ建立的PW连接,同为该Spoke-ΡΕ分配的AC绑定,所述HUB-PE包括:配置单元、接收单元、处理单元和发送单元;
[0042]所述配置单元,用于为各Spoke-ΡΕ分配相同的私网标签,并为各Spoke-ΡΕ分配不同的服务标识,使所述Spoke-ΡΕ向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签VLAN tag封装;
[0043]所述接收单元,用于接收Spoke-ΡΕ发送的将所述配置单元为该Spoke-ΡΕ分配的服务标识作为外层VLAN tag的报文;
[0044]所述处理单元,用于当所述接收单元接收到Spoke-ΡΕ发送的将所述配置单元为该Spoke-ΡΕ分配的服务标识作为外层VLAN tag的报文时,弹出该报文的公网标签和私网标签,根据弹出标签的报文的外层VLAN tag确定发送报文的Spoke-PE,根据确定的Spoke-ΡΕ确定对应的AC,将该弹出标签的报文的VLAN tag的值修改为确定的AC的虚拟局域网标识VLAN ID;
[0045]所述发送单元,用于将所述处理单元处理后的报文在所述处理单元确定的AC的端口上的VLAN内转发给HUB-CE,使HUB-CE学习到该报文的外层VLAN tag的值。
[0046]其中,
[0047]所述接收单元,进一步用于接收HUB-CE发送的报文;
[0048]所述处理单元,进一步用于根据所述接收单元接收的报文的外层VLAN tag的值确定对应的AC,并为该报文封装公网标签和所述配置单元分配的私网标签,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的;
[0049]所述发送单元,进一步用于将所述处理单元封装私网标签和公网标签的报文通过与确定的AC绑定的PW转发。
[0050]所述发送单元,进一步用于将所述配置单元为各Spoke-ΡΕ分配的服务标识携带在向各Spoke-ΡΕ发送的PW元素信息中,使各Spoke-ΡΕ获取该PW元素信息中携带的HUB-PE为该Spoke-ΡΕ分配的服务标识。
[0051]一种HUB-CE,可应用于HUB-Spoke组网中,该HUB-CE包含:配置单元、接收单元、学习单元和处理单元;
[0052]所述配置单元,用于为每个用户创建一个用户实例,并为每个用户实例分配虚拟局域网标识VLAN ID和上行端口 ;
[0053]所述接收单元,用于接收HUB-PE发送的报文;
[0054]所述学习单元,用于根据所述接收单元接收的报文的外层虚拟局域网标签VLANtag进行用户实例MAC地址表项学习,该用户实例MAC地址表项包含用户实例ID、VLANID、MAC地址和出端口,其中,所述VLAN ID为接收报文的外层VLAN tag的值;
[0055]所述处理单元,用于弹出所述接收单元接收报文的外层VLAN tag,当接收报文为广播或组播报文时,将该弹出外层VLAN tag的报文向该报文的内层VLAN tag对应的VLAN内的所有端口,以及用户实例的上行端口上除外层VLAN tag对应的VLAN之外的VLAN发送,并且在上行端口发送报文时,将对应VLAN ID作为外层VLAN tag封装所述弹出外层VLANtag的报文;当接收报文为单播报文时,在内层VLAN tag内查找MAC地址转发表项,如果查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发;如果未查找到对应的目的MAC地址,则根据报文的外层VLAN tag在所述配置单元中确定用户实例,在确定的用户实例对应的所述学习单元中的用户实例MAC地址表项中查找,若查找到对应的目的MAC地址,则将该目的MAC地址对应的VLAN ID作为外层VLAN tag封装该弹出外层VLAN tag的报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该弹出外层VLAN tag的报文。
[0056]其中,
[0057]所述配置单元,进一步用于为各用户实例分配对应的下行端口 ;
[0058]所述接收单元,进一步用于从用户侧接收报文;
[0059]所述学习单元,进一步用于对所述接收单元从用户侧接收的报文进行源MAC地址学习,生成MAC地址转发表项;
[0060]所述处理单元,进一步用于当所述接收单元接收到的报文为广播或组播报文时,向该报文内层VLAN tag对应VLAN的报文来源端口之外的所有端口上,以及对应的用户实例上行端口上所有VLAN发送该报文,且在上行端口发送的报文封装对应的VLAN作为外层VLAN tag,其中,对应的用户实例根据接收报文的端口确定;当所述接收单元接收到的报文为单播报文时,在接收报文的VLAN内查找MAC地址转发表项,若查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发该接收的报文;若未查找到对应的目的MAC地址,在根据接收报文的端口在所述配置单元中确定用户实例,在确定的用户实例对应的所述学习单元中的用户实例MAC地址表项中查找,若查找到对应目的MAC地址,则将目的MAC地址对应的VLAN ID作为外层VLAN tag封装该接收报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该接收报文。
[0061 ] 综上所述,本申请通过HUB-PE为同一 HUB-Spoke组网中分配相同的私网标签,仅用来区分HUB-Spoke组网,即用于区分报文是来自哪个HUB-Spoke组网中的报文;为各Spoke-PE分配不同的服务标识来区分报文来自于哪个Spoke-PE来进行报文转发,能够解决私网标签不够用的问题。
【专利附图】

【附图说明】
[0062]图1为本申请实施例中在发送PW信息时携带的服务标识字段结构示意图;
[0063]图2为本申请实施例一中实现HUB-PE中报文转发方法流程示意图;
[0064]图3为本申请具体实施例中HUB-Spoke组网结构示意图;
[0065]图4为本申请实施例二中HUB-PE转发报文的方法流程示意图;
[0066]图5为本申请实施例三中HUB-PE转发报文的方法流程示意图;
[0067]图6为本申请实施例四中HUB-CE转发报文的方法流程示意图;
[0068]图7为本申请实施例五中HUB-CE转发报文的方法流程示意图;
[0069]图8为本申请应用于实施例一中技术的HUB-PE结构示意图;
[0070]图9为本申请应用于实施例三中技术的HUB-PE结构示意图;[0071]图10为应用于实施例四和五技术中的HUB-CE的结构示意图。
【具体实施方式】
[0072]为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请所述方案作进一步地详细说明。
[0073]本申请实施例中提出了一种报文转发方法,应用于HUB-Spoke组网中,通过为各Spoke-ΡΕ分配不同的服务标识来区分各Spoke-PE,为各Spoke-ΡΕ分配相同的私网标签仅用来区分HUB-Spoke网络,即用于区分报文是来自哪个HUB-Spoke组网中的报文,能够解决私网标签不够用的问题。
[0074]为了描述清楚、简便,本申请实施例中均以一个HUB-Spoke组网为例。在该HUB-Spoke组网中实现报文转发之前,需要对HUB-PE进行如下配置:
[0075]该组网中的HUB-PE与各Spoke-PE建立伪线(Pseudowire, Pff)连接,为各Spoke-ΡΕ分配接入电路(Attachment Circuit, AC),并将与任一 Spoke-PE建立的PW连接,同为该Spoke-ΡΕ分配的AC绑定,其中,分配AC与建立PW连接的方法同现有实现,HUB-PE为各Spoke-ΡΕ分配AC,即为各Spoke-ΡΕ分配端口以及VLAN,端口为连接HUB-CE的端口,VLAN为该端口上的一个或多个VLAN。HUB-PE为各Spoke-ΡΕ分配相同的私网标签用来实现使各Spoke-ΡΕ处于一个HUB-Spoke组网中,且该Spoke-ΡΕ向HUB-PE发送的报文为该HUB-Spoke组网中的报文;HUB-PE将为各Spoke-ΡΕ分配的AC的虚拟局域网标识(VLAN ID)作为服务标识分配给各Spoke-PE,使所述Spoke-ΡΕ向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签(VLAN tag)封装,在HUB-PE接收到Spoke-ΡΕ发送的报文时,能够根据该报文的外层VLAN tag识别出是哪个Spoke-ΡΕ发送的报文。
[0076]当HUB-PE为Spoke-ΡΕ分配的AC的VLAN ID有多个时,任选其中的一个作为服务标识分配给Spoke-PE,或者都分配给Spoke-PE,使Spoke-ΡΕ自行选择一个作为外层VLANtag封装报文。
[0077]Spoke-ΡΕ如何获得HUB-PE为其分配的服务标识,有如下两种方式:
[0078]第一种方式为:各Spoke-ΡΕ在本地配置HUB-PE为其分配的服务标识。
[0079]第二种方式为=HUB-PE将为各Spoke-ΡΕ分配的服务标识携带在向各Spoke-ΡΕ发送的PW元素信息中,各Spoke-ΡΕ接收到HUB-PE发送的PW元素信息时,获取该信息中携带的HUB-PE为自身分配的服务标识。
[0080]HUB-PE与Spoke-ΡΕ之间运行远程标签分发协议(Label DistributionProtocoI,LDP ),以协商L2VPN信息。在以LDP方式进行L2VPN协商过程中,HUB-PE向Spoke-ΡΕ发送的PW元素信息中增加服务标识(Service-1D)字段。
[0081]参见图1,图1为本申请实施例中在发送PW信息时携带的服务标识字段结构示意图。图1中S-1D表明此TLV为Service-1D信息;Length:长度字段;VLAN ID:HUB-PE为该Spoke-ΡΕ分配的服务标识。
[0082]下面结合附图以具体实施例详细说明本申请如何实现HUB-Spoke组网中报文转发的。
[0083]实施例一
[0084]参见图2,图2为本申请实施例一中实现HUB-PE中报文转发方法流程示意图。具体步骤为:
[0085]步骤201 ,HUB-PE接收到Spoke-ΡΕ发送的将该HUB-PE为该Spoke-ΡΕ分配的服务标识作为外层VLAN tag的报文。
[0086]本申请实施例中通过如上配置后,Spoke-ΡΕ向HUB-PE发送报文时,会将获得的服务标识作为外层VLAN tag封装。
[0087]步骤202,HUB-PE弹出该报文的公网标签和私网标签,并通过该HUB-Spoke组网中与HUB-CE相连的端口将报文转发给HUB-CE,使HUB-CE学习到该报文的外层VLAN tag的值。
[0088]Spoke-ΡΕ向HUB-PE发送报文时,需要封装公网标签和私网标签,同现有实现,封装的私网标签为HUB-PE分配给该Spoke-ΡΕ的私网标签,只是本申请的实施例中各Spoke-ΡΕ封装的私网标签均相同而已。
[0089]本申请的具体实施例都是基于一个HUB-Spoke组网的实例,一个HUB-Spoke组网中HUB-PE与HUB-用户边缘设备(Customer Edge, CE)通信的端口只有一个,可以直接通过该端口转发。当存在多个HUB-Spoke组网时,可以根据本申请中在每个组网中为各Spoke-ΡΕ分配的私网标签区分HUB-Spoke组网,进而确定与HUB-CE相连的端口。
[0090]当然,在该实施例中只是通过一个端口转发,并没区分在该端口的哪个VLAN上转发,由于该报文的外层VLANtag中携带的是服务标识,且该服务标识同对应的AC的VLAN ID相同,因此,使HUB-CE可以获得AC的VLAN ID,因此这里可以不用确定出在端口上的哪个VLAN内转发。
[0091]具体实施时,也可以通过该报文的外层VLAN tag的值确定对应的AC,在确定的AC的端口的VLAN内转发该报文。
[0092]参见图3,图3为本申请具体实施例中HUB-Spoke组网结构示意图。图3中,Spoke-CE 311 通过 VLAN 2 接入 Spoke_PE301 ;HUB-PE300 上与 HUB-CE310 相连端 口 I 的VLAN 3 分配给 Spoke-PE301 做 AC,HUB_PE300 为 Spoke_PE301 分配 VLAN 3 作为服务标识;同样 Spoke-CE 321 通过 VLAN 4 接入 Spoke_PE302 ;HUB-PE300 上与 HUB-CE310 相连端口 I的 VLAN 4 分配给 Spoke-PE302 做 AC,HUB-PE300 为 Spoke_PE302 分配 VLAN 4 作为服务标识。HUB-PE300为Spoke-PE301和Spoke_PE302分配的私网标签均为26。
[0093]以HUB-PE300接收到Spoke_PE301发送的VLAN3作为外层VLAN tag的报文时,HUB-PE300弹出该报文的公网标签和私网标签,其中,私网标签为26,并通过该HUB-Spoke组网中自身与HUB-CE相连的端口 I转发给HUB-CE310,使HUB-CE310学习到该报文的外层VLAN tag 的值 3。
[0094]实施例二
[0095]参见图4,图4为本申请实施例二中HUB-PE转发报文的方法流程示意图。具体步骤为:
[0096]步骤401 ,HUB-PE接收到HUB-CE发送的报文时,根据接收报文的外层VLAN tag的值确定对应的AC,该报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的。
[0097]由实施例一中可知,HUB-PE向HUB-CE发送的报文的外层VLAN tag中封装的是与对应AC的VLAN ID相同的服务标识,因此,HUB-CE接收到报文时,对该报文进行学习时,能够学习到AC的VLAN ID,在向HUB-PE发送报文时,会在外层VLANtag中封装该VLAN ID。HUB-PE接收到HUB-CE发送的报文时,根据报文的外层VLAN tag的值能够确定对应的AC。
[0098]步骤402,HUB-PE为该报文封装分配的私网标签和公网标签,通过与确定的AC绑定的PW转发。
[0099]步骤402中,HUB-CE将报文转发之前,将接收到的HUB-CE发送的报文的外层VLANtag的值修改为O。
[0100]这样的操作,使Spoke-ΡΕ接收到报文后,同现有处理一致,不影响Spoke-ΡΕ处理报文的流程。
[0101]继续以图3为例,HUB-PE300接收到HUB-CE发送的报文时,若该报文的外层VLANtag的值为3,则确定对应的AC为分配给Spoke-PE301的,再根据该AC确定与之绑定的PW,并为报文封装公网标签和私网标签26,通过确定的PW将报文转发。为了使Spoke-PE311对处理报文的简便,可以将该报文的外层VLAN tag的值修改为0,这样使Spoke-PE301接收到该报文时,对该报文的处理完全同现有实现。
[0102]实施例三
[0103]HUB-PE为各Spoke-ΡΕ分配不同的服务标识,即HUB-PE为各Spoke-PE分配的服务标识的值同分配的AC的VLAN ID的值无关,其他配置同实施例一中的配置。具体处理过程参见图5,图5为本申请实施例三中HUB-PE转发报文的方法流程示意图。具体步骤为:
[0104]步骤501,HUB_PE接收到Spoke-ΡΕ发送的将该HUB-PE为该Spoke-ΡΕ分配的服务标识作为外层VLAN tag的报文时,将该报文的公网标签和私网标签弹出。
[0105]步骤502,HUB-PE根据弹出标签的报文的外层VLAN tag确定发送报文的Spoke-PE,并根据确定的Spoke-ΡΕ确定对应的AC。
[0106]步骤503,HUB-PE修改该弹出标签的报文的外层VLANtag的值为确定的AC的VLANID,并在确定的AC的端口上的VLAN内转发给HUB-CE,使HUB-CE学习到该报文的外层VLANtag的值。
[0107]本实施例中,由于分配的服务标识和分配的AC的VLAN ID无关,为了发送给HUB-CE的报文携带AC的VLAN ID,需要将外层VLAN ID进行修改。
[0108]仍然以图3所示的组网为例,Spoke-CE 311通过VLAN 2接入Spoke_PE301 ;HUB-PE300 上与 HUB-CE310 相连端口 I 的 VLAN 3 分配给 Spoke_PE301 做 AC,HUB-PE300为Spoke-PE301分配VLANlO作为服务标识;同样Spoke-CE 321通过VLAN 4接入Spoke-PE302 ;HUB-PE300 上与 HUB-CE310 相连端口 I 的 VLAN 4 分配给 Spoke_PE302 做 AC,HUB-PE300为Spoke-PE302分配VLAN 4作为服务标识,这里虽然分配的服务标识同AC的VLAN ID相同,但是并没有必然联系。HUB-PE300为Spoke_PE301和Spoke_PE302分配的私网标签均为I。
[0109]以HUB-PE300接收到Spoke_PE301发送的以VLANlO作为外层VLAN tag的报文时,HUB-PE300弹出该报文的公网标签和私网标签,其中,私网标签为1,通过VLANlO确定该报文为Spoke-PE301发送的,且为该Spoke_PE301分配的AC的端口为端口 I,VLAN ID为VLAN3时,将该弹出标签的报文的外层VLAN tag的值修改为VLAN 3,并通过该端口 I在VLAN 3内转发给HUB-CE310,使HUB-CE310学习到该报文的外层VLAN tag的值3。
[0110]实施例四[0111]由实施例一到三可见,本申请具体实现时,不通过私网标签确定发送报文的Spoke-PE,在HUB-PE上未进行源MAC地址学习,也未进行MAC地址表项的查找,解决了HUB-PE上MAC表项容量不够的问题。如此实现HUB-Spoke组网中报文转发,还需改造HUB-CE。
[0112]HUB-CE可以是用户自己的设备,也可以是L2VPN服务商的设备。HUB-CE为每个用户创建一个用户实例,并为每个用户实例分配VLAN ID和上行端口,使该上行端口具有能够接收、发送两层VLAN tag的能力。HUB-CE连接HUB-PE的端口,称为HUB-CE上行端口。上行端口可以按照端口 +VLAN的形式被多个用户实例共享使用,例如用户实例A可以使用上行端口上的VLAN I到100,用户实例B使用上行端口上的VLAN 101到200。HUB-CE为各用户实例分配对应的下行端口。
[0113]每个用户实例都有两张表:正常的MAC地址转发表和用户实例MAC地址表。正常的MAC地址转发表是以MAC+VLAN为索引,即报文只能在VLAN内转发。用户实例MAC地址表中是以MAC为索引,使用此表示不同VLAN内的报文可以互相转发。每个用户实例之间的MAC地址表是隔离的,不同的用户实例有不同标识。
[0114]通过如上配置后,HUB-CE在接收到HUB-PE发送的报文时,HUB-CE根据接收报文的外层VLAN tag进行用户实例MAC地址表项学习。该用户实例MAC地址表项包含用户实例标识、VLAN ID、MAC地址和出端口,其中,所述VLAN ID为接收报文的外层VLAN tag的值。HUB-CE从用户侧接收到报文时,进行源MAC地址学习,生成MAC地址转发表项,同现有实现。
[0115]参见图6,图6为本申请实施例四中HUB-CE转发报文的方法流程示意图。具体步骤为:
[0116]步骤601,HUB-CE接收HUB-PE发送的报文,并将该接收报文的外层VLAN tag弹出。
[0117]步骤602,HUB-CE确定该弹出外层VLAN tag的报文是否为单播报文,如果是,执行步骤603 ;否则,执行步骤607。
[0118]步骤603,HUB-CE在内层VLAN tag内查找MAC地址转发表项,是否查找到该报文的目的MAC地址,如果是,执行步骤604 ;否则,执行步骤605。
[0119]步骤604,HUB-CE通过查找到的目的MAC地址对应的出端口转发该弹出标签的报文,结束本流程。
[0120]步骤605,HUB-CE根据报文的外层VLAN tag确定用户实例,在确定的用户实例对应的用户实例MAC地址表项中查找,是否查找到对应的目的MAC地址,如果是,执行步骤606 ;否则,执行步骤607。
[0121 ] 步骤606,HUB-CE将该目的MAC地址对应的VLAN ID作为外层VLAN tag封装该弹出外层VLAN tag的报文,并通过该目的MAC地址对应的出端口转发,结束本流程。
[0122]步骤607,HUB-CE将该弹出外层VLAN tag的报文向该报文的内层VLAN tag对应的VLAN内的所有端口,以及用户实例的上行端口上除外层VLAN tag对应的VLAN之外的VLAN发送,并且在上行端口发送报文时,将对应VLAN ID作为外层VLAN tag封装所述弹出外层VLAN tag的报文。
[0123]仍然以图3的HUB-Spoke组网为例,HUB-CE310为用户I创建用户实例I,为用户2创建用户实例2,为用户实例I分配VLAN3,为用户实例2分配VLAN4,并为两个用户实例分配的上行端口均为端口 1,为用户实例I分配的下行端口为端口 2,为用户实例2分配的下行端口为端口 3。
[0124]以对接收到HUB-PE300发送的报文的处理为例。HUB-CE310接收到HUB-PE300发送的报文时,假设该报文VLAN tag值为VLAN3,根据接收报文的外层VLAN tag进行用户实例MAC地址表项学习,该用户实例MAC地址表项包含用户实例ID、VLANID, MAC地址和出端口号,其中,所述VLAN ID为接收报文的外层VLAN tag的值。参见表1,表1为HUB-CE学习到的用户实例MAC地址转发表项包含的信息。
[0125]
【权利要求】
1.一种报文转发方法,应用于中心HUB-分支Spoke组网,该组网中的HUB-服务提供商网络边缘设备PE与各Spoke-PE建立伪线PW连接,为各Spoke-PE分配接入电路AC,并将与任一 Spoke-PE建立的PW连接,同为该Spoke-PE分配的AC绑定,其特征在于,HUB-PE为各Spoke-PE分配相同的私网标签,并将为各Spoke-PE分配的AC的虚拟局域网标识VLAN ID作为服务标识分配给各Spoke-PE,使所述Spoke-PE向HUB-PE发送报文时将该服务标识作为报文的外层VLAN tag封装,包括: HUB-PE接收到Spoke-PE发送的将该HUP-PE为该Spoke-PE分配的服务标识作为外层虚拟局域网标签VLAN tag的报文时,弹出该报文的公网标签和私网标签,并通过该HUB-Spoke组网中该HUB-PE与HUB-CE相连的端口转发给HUB-用户边缘设备CE,使HUB-CE学习到该报文的外层VLAN tag的值。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: HUB-PE接收到HUB-CE发送的报文时,根据接收报文的外层VLAN tag的值确定对应的AC,并为该报文封装分配的私网标签和公网标签,通过与确定的AC绑定的PW转发,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的。
3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括: 所述HUB-PE将为各Spoke-PE分配的服务标识携带在向各Spoke-PE发送的PW元素信息中,使各Spoke-PE获取该PW元素信息中携带的HUB-PE为该Spoke-PE分配的服务标识。
4.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括: 该HUB-Spoke组网中的所有PE都配置为HUB-PE,并将与之通信的各PE作为Spoke-PE,所有CE从PE接收到报文时,不再向该PE转发。
5.一种报文转发方法,应用于中心HUB-分支Spoke组网,该组网中的HUB-服务提供商网络边缘设备PE与各Spoke-PE建立伪线PW连接,为各Spoke-PE分配接入电路AC,并将与任一 Spoke-PE建立的PW连接,同为该Spoke-PE分配的AC绑定,其特征在于,HUB-PE为各Spoke-PE分配相同的私网标签,并为各Spoke-PE分配不同的服务标识,使所述Spoke-PE向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签VLAN tag封装,包括: HUB-PE接收到Spoke-PE发送的将该HUB-PE为该Spoke-PE分配的服务标识作为外层VLAN tag的报文时,弹出该报文的公网标签和私网标签,根据弹出标签的报文的外层VLANtag确定发送报文的Spoke-PE,根据确定的Spoke-PE确定对应的AC,将该弹出标签的报文的VLAN tag的值修改为确定的AC的虚拟局域网标识VLAN ID,并在确定的AC的端口上的VLAN内转发给HUB-用户边缘设备CE,使HUB-CE学习到该报文的外层VLAN tag的值。
6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括: HUB-PE接收到HUB-CE发送的报文时,根据接收报文的外层VLAN tag的值确定对应的AC,并为该报文封装分配的私网标签和公网标签,通过与确定的AC绑定的PW转发,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的。
7.根据权利要求5或6所述的方法,其特征在于,所述方法进一步包括: 所述HUB-PE将为各Spoke-PE分配的服务标识携带在向各Spoke-PE发送的PW元素信息中,使各Spoke-PE获取该PW元素信息中携带的HUB-PE为该Spoke-PE分配的服务标识。
8.根据权利要求5或6所述的方法,其特征在于,所述方法进一步包括: 该HUB-Spoke组网中的所有PE都配置为HUB-PE,并将与之通信的各PE作为Spoke-PE,所有CE从PE接收到报文时,不再向该PE转发。
9.一种报文转发方法,应用于中心HUB-分支Spoke组网,其特征在于,包括: 该HUB-Spoke组网中的HUB-用户边缘设备CE为每个用户创建一个用户实例,并为每个用户实例分配虚拟局域网标识VLAN ID和上行端口 ; 该HUB-CE接收到HUB-PE发送的报文时,根据接收报文的外层虚拟局域网标签VLANtag进行用户实例媒质访问控制MAC地址表项学习,该用户实例MAC地址表项包含用户实例ID、VLAN ID、MAC地址和出端口,其中,所述VLAN ID为接收报文的外层VLAN tag的值; HUB-CE弹出接收报文的外层VLAN tag,当接收报文为广播或组播报文时,将该弹出外层VLAN tag的报文向该报文的内层VLAN tag对应的VLAN内的所有端口,以及用户实例的上行端口上除外层VLAN tag对应的VLAN之外的VLAN发送,并且在上行端口发送报文时,将对应VLAN ID作为外层VLAN tag封装所述弹出外层VLAN tag的报文; 当接收报文为单播报文时,在内层VLAN tag内查找MAC地址转发表项,如果查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发;如果未查找到对应的目的MAC地址,则根据报文的外层VLAN tag确定用户实例,在确定的用户实例对应的用户实例MAC地址表项中查找,若查找到对应的目的MAC地址,则将该目的MAC地址对应的VLAN ID作为外层VLAN tag封装该弹出外层VLAN tag的报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报 文或组播报文处理该弹出外层VLAN tag的报文。
10.根据权利要9所述的方法,其特征在于,所述方法进一步包括:所述HUB-CE为各用户实例分配对应的下行端口; 该HUB-CE从用户侧接收到报文时,进行源MAC地址学习,生成MAC地址转发表项; 当接收到的报文为广播或组播报文时,向该报文内层VLAN tag对应VLAN的报文来源端口之外的所有端口上,以及对应的用户实例上行端口上所有VLAN发送该报文,且在上行端口发送的报文封装对应的VLAN作为外层VLAN tag,其中,对应的用户实例根据接收报文的端口确定; 当接收到的报文为单播报文时,HUB-CE在接收报文的VLAN内查找MAC地址转发表项,若查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发该接收的报文;若未查找到对应的目的MAC地址,在根据接收报文的端口确定用户实例,在确定的用户实例对应的用户实例MAC地址表项中查找,若查找到对应目的MAC地址,则将目的MAC地址对应的VLAN ID作为外层VLAN tag封装该接收报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该接收报文。
11.一种中心HUB-服务提供商网络边缘设备PE,可应用于还包含多个分支Spoke-PE的HUB-Spoke组网中,该HUB-PE与各Spoke-PE建立伪线PW连接,为各Spoke-PE分配接入电路AC,并将与任一 Spoke-PE建立的PW连接,同为该Spoke-PE分配的AC绑定,其特征在于,所述HUB-PE包括:配置单元、接收单元、处理单元和发送单元; 所述配置单元,用于为各Spoke-PE分配相同的私网标签,并将为各Spoke-PE分配的AC的虚拟局域网标识VLAN ID作为服务标识分配给各Spoke-PE,使所述Spoke-PE向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签VLANtag封装;所述接收单元,用于接收Spoke-PE发送的所述配置单元为其分配的服务标识作为外层虚拟局域网标签VLAN tag的报文; 所述处理单元,用于当所述接收单元接收到Spoke-PE发送的所述配置单元为其分配的服务标识作为外层VLAN tag的报文时,弹出该报文的公网标签和私网标签; 所述发送单元,用于将所述处理单元处理的报文通过与HUB-用户边缘设备CE相连的端口转发给HUB-CE,使HUB-CE学习到该报文的外层VLAN tag的值。
12.根据权利要求11所述的HUB-PE,其特征在于, 所述接收单元,进一步用于接收HUB-CE发送的报文; 所述处理单元,进一步用于根据所述接收单元接收的报文的外层VLAN tag的值确定对应的AC,并为该报文封装公网标签和所述配置单元分配的私网标签,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的;所述发送单元,进一步用于将所述处理单元封装私网标签和公网标签的报文通过与确定的AC绑定的PW转发。
13.根据权利要求11或12所述的HUB-PE,其特征在于, 所述发送单元,进一步用于将所述配置单元为各Spoke-PE分配的服务标识携带在向各Spoke-PE发送的PW元素信息中,使各Spoke-PE获取该PW元素信息中携带的HUB-PE为该Spoke-PE分配的服务标识。
14.一种中心HUB-服务提供商网络边缘设备PE,可应用于还包含多个分支Spoke-PE的HUB-Spoke组网中,该HUB-PE与各Spoke-PE建立伪线PW连接,为各Spoke-PE分配接入电路AC,并将与任一 Spoke-PE建立的PW连接,同为该Spoke-PE分配的AC绑定,其特征在于,所述HUB-PE包括:配置单 元、接收单元、处理单元和发送单元; 所述配置单元,用于为各Spoke-PE分配相同的私网标签,并为各Spoke-PE分配不同的服务标识,使所述Spoke-PE向HUB-PE发送报文时将该服务标识作为报文的外层虚拟局域网标签VLAN tag封装; 所述接收单元,用于接收Spoke-PE发送的将所述配置单元为该Spoke-PE分配的服务标识作为外层VLAN tag的报文; 所述处理单元,用于当所述接收单元接收到Spoke-PE发送的将所述配置单元为该Spoke-PE分配的服务标识作为外层VLAN tag的报文时,弹出该报文的公网标签和私网标签,根据弹出标签的报文的外层VLAN tag确定发送报文的Spoke-PE,根据确定的Spoke-PE确定对应的AC,将该弹出标签的报文的VLAN tag的值修改为确定的AC的虚拟局域网标识VLAN ID ; 所述发送单元,用于将所述处理单元处理后的报文在所述处理单元确定的AC的端口上的VLAN内转发给HUB-CE,使HUB-用户边缘设备CE学习到该报文的外层VLAN tag的值。
15.根据权利要求14所述的HUB-PE,其特征在于, 所述接收单元,进一步用于接收HUB-CE发送的报文; 所述处理单元,进一步用于根据所述接收单元接收的报文的外层VLAN tag的值确定对应的AC,并为该报文封装公网标签和所述配置单元分配的私网标签,其中,所述HUB-CE发送的报文的外层VLAN tag的值为HUB-CE通过对HUB-PE发送的报文进行学习获得的;所述发送单元,进一步用于将所述处理单元封装私网标签和公网标签的报文通过与确定的AC绑定的PW转发。
16.根据权利要求14或15所述的HUB-PE,其特征在于, 所述发送单元,进一步用于将所述配置单元为各Spoke-PE分配的服务标识携带在向各Spoke-PE发送的PW元素信息中,使各Spoke-PE获取该PW元素信息中携带的HUB-PE为该Spoke-PE分配的服务标识。
17.一种中心HUB-用户边缘设备CE,可应用于HUB-分支Spoke组网中,其特征在于,该HUB-CE包含:配置单元、接收单元、学习单元和处理单元; 所述配置单元,用于为每个用户创建一个用户实例,并为每个用户实例分配虚拟局域网标识VLAN ID和上行端口 ; 所述接收单元,用于接收HUB-PE发送的报文; 所述学习单元,用于根据所述接收单元接收的报文的外层虚拟局域网标签VLANtag进行用户实例媒质访问控制MAC地址表项学习,该用户实例MAC地址表项包含用户实例ID、VLAN ID、MAC地址和出端口,其中,所述VLAN ID为接收报文的外层VLAN tag的值; 所述处理单元,用于弹出所述接收单元接收报文的外层VLAN tag,当接收报文为广播或组播报文时,将该弹出外层VLAN tag的报文向该报文的内层VLAN tag对应的VLAN内的所有端口,以及用户实例的上行端口上除外层VLAN tag对应的VLAN之外的VLAN发送,并且在上行端口发送报文时,将对应VLAN ID作为外层VLAN tag封装所述弹出外层VLAN tag的报文;当接收报文为单播报文时,在内层VLAN tag内查找MAC地址转发表项,如果查找到对应的目的MAC地址 ,则通过该目的MAC地址对应的出端口转发;如果未查找到对应的目的MAC地址,则根据报文的外层VLAN tag在所述配置单元中确定用户实例,在确定的用户实例对应的所述学习单元中的用户实例MAC地址表项中查找,若查找到对应的目的MAC地址,则将该目的MAC地址对应的VLAN ID作为外层VLAN tag封装该弹出外层VLAN tag的报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该弹出外层VLAN tag的报文。
18.根据权利要17所述的HUB-CE,其特征在于, 所述配置单元,进一步用于为各用户实例分配对应的下行端口 ; 所述接收单元,进一步用于从用户侧接收报文; 所述学习单元,进一步用于对所述接收单元从用户侧接收的报文进行源MAC地址学习,生成MAC地址转发表项; 所述处理单元,进一步用于当所述接收单元接收到的报文为广播或组播报文时,向该报文内层VLAN tag对应VLAN的报文来源端口之外的所有端口上,以及对应的用户实例上行端口上所有VLAN发送该报文,且在上行端口发送的报文封装对应的VLAN作为外层VLANtag,其中,对应的用户实例根据接收报文的端口确定;当所述接收单元接收到的报文为单播报文时,在接收报文的VLAN内查找MAC地址转发表项,若查找到对应的目的MAC地址,则通过该目的MAC地址对应的出端口转发该接收的报文;若未查找到对应的目的MAC地址,在根据接收报文的端口在所述配置单元中确定用户实例,在确定的用户实例对应的所述学习单元中的用户实例MAC地址表项中查找,若查找到对应目的MAC地址,则将目的MAC地址对应的VLAN ID作为外层VLAN tag封装该接收报文,并通过该目的MAC地址对应的出端口转发;否则,按广播报文或组播报文处理该接收报文。
【文档编号】H04L12/46GK103812773SQ201210443911
【公开日】2014年5月21日 申请日期:2012年11月8日 优先权日:2012年11月8日
【发明者】赵昌峰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1