一种改进spbm网络转发策略的方法和装置制造方法

文档序号:7781803阅读:231来源:国知局
一种改进spbm网络转发策略的方法和装置制造方法
【专利摘要】本发明提供一种SPBM网络中的报文转发方法和装置,应用于SPBM网络中任一BEB节点上,所述SPBM网络中包括一策略服务实例,所述策略服务实例包括一个服务节点、若干客户节点和若干与客户节点相连的用户侧主机,当所述BEB节点作为所述客户节点时,包括:为所述策略服务实例创建一个CID转发表项;收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对第一报文进行Mac-in-Mac封装后,发往所述服务节点。相较于已有方案,本发明能够对SPBM网络中服务实例内主机之间的流量互访进行集中控制,并可灵活调节SPBM网络中各个节点之间的转发负荷。
【专利说明】一种改进SPBM网络转发策略的方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种SPBM网络中的报文转发方法和装置。
【背景技术】
[0002]SPB (Shortest Path Bridging,最短路径桥接)是 MSTP (Multiple SpanningTree Protocol,多生成树协议)的进一步延伸,使用IS-1S协议(IntermediateSystem-to-1ntermediate System,中间系统到中间系统)来共享网络中的链路状态,网络各个节点并行计算各节点之间的最短路径。SPB有两种实现模式:VLAN (Virtual LocalArea Network,虚拟局域网)模式称为 SPBV (Shortest Path Bridging VLAN Mode,VLAN模式的最短路径桥),协议复杂,目前基本无应用;MAC-1n-MAC模式称为SPBM(Shortest PathBridging MAC Mode, M_in_M模式的最短路径桥),是目前的主要推荐模式。本专利描述的是在SPBM模式的基础上实现的技术。
[0003]参见图1,图1为SPBM网络的基本组网模型的示意图;BEB (Backbone EdgeBridge,骨干网边缘网桥)设备是骨干网络的边缘设备,它负责将来自用户网络的报文进行Mac-1n-Mac封装,并将得到的Mac-1n-Mac报文转发到骨干网络中,或者将来自骨干网络的Mac-1n-Mac报文进行解封装,并转发到用户网络中。Mac_in_Mac封装是指在用户报文的外层再增加一层封装,该封装为运营商的MAC地址和VLAN,经过Mac-1n-Mac封装的报文简称为 Mac-1n-Mac 报文。
[0004]BCB (Backbone Core Bridge,骨干网核心网桥)设备是骨干网络的核心设备,它负责按照 B-MAC (Backbone MAC,骨干网 MAC)和 B-VLAN (Backbone VLAN,骨干网 VLAN)转发Mac-1n-Mac报文。BCB设备只需要转发报文和学习骨干网中的MAC(Media Access Control,媒体访问控制)地址,不需要学习用户网络中大量的MAC地址,从而降低了网络部署的成本,也为骨干网络提供了更好的可扩展性。用户报文中的MAC称作用户MAC(C-MAC),包括用户目的MAC和用户源MAC。BEB设备在对用户报文进行Mac-1n-Mac封装时,会为在用户报文的外层打上运营商分配的MAC地址和VLAN (这个由运营商分配的MAC地址和VLAN就分别称为B-MAC和B-VLAN),得到Mac-1n-Mac报文。用户报文中的用户MAC可以称作Mac-1n-Mac报文的内层MAC,B-MAC可以称作Mac-1n-Mac报文的外层MAC。
[0005]在骨干网络中,BCB设备就是按照B-MAC和B-VLAN转发Mac-1n-Mac报文的。B-MAC包括源B-MAC和目的B-MAC,BEB设备在对用户报文进行Mac-1n-Mac封装时,会将自己的MAC作为源B-MACJf SPBM隧道目的端的BEB设备的MAC作为目的B-MAC进行封装。BEB设备与BCB设备之间、以及BCB设备之间的链路称为骨干链路,BEB设备连接用户网络的链路为接入链路。来自用户网络的用户报文被封装成Mac-1n-Mac报文后,会通过BEB设备相应的骨干链路转发出去;而来自骨干网络的Mac-1n-Mac报文被解封装后,会按照用户目的MAC地址通过BEB设备相应的接入链路转发出去。在骨干网络中,一个服务实例代表一类业务或者用户,1-SID (Backbone Service Instance Identifier,骨干网服务实例编号)是服务实例的唯一编号。[0006]在一个SPBM区内,以每个SPB桥为根计算SPT (Shortest Path Tree,最短路径树),这些SPT称为SPTs集合,SPT集合中任意两个节点之间的最短路径在不同的SPT是对称的,对于SPBM网络中的某个服务实例,其转发树是某个SPTs的子集,实现多层次拓扑路径,基于组播的泛洪流量只会到达存在1-SID的设备。对于SPBM网络中的单播流量,BEB设备根据物理端口或逻辑端口映射BVLAN和1-SID,在BVLAN内不动态学习MAC,未知地址报文不泛洪。对于SPBM网络中的组播流量,组播转发方式有两种模式,头端复制和核心复制。头端复制模式中,核心设备BCB无需维护组播表项,BEB设备复制组播报文单播发往所有存在1-SID的成员。核心复制模式中,核心设备BCB构建组播地址,在众多的BCB上进行组播剪枝计算生成组播表项。在SPBM模式网络的任一区(Region)中,对于组播流转发,广播、未知单播、未知组播需要沿着基于服务实例的转发树转发到存在服务实例的SPBM桥,但在某些情况下,为了保证某个服务实例内的主机之间的访问控制,需要严格监控各个主机之间的流量访问,进行策略的集中控制。但是SPBM骨干网络中的设备不会检查M-1n-M报文内部的用户报文信息,从而无法实现。对于组播流,需要在众多的BCB上利用组播剪枝算法计算生成组播表项,如果存在1-SID的成员很多,这样会增加BCB的计算负担,其实对于组播流量不大的网络来说是没有必要的。但如果通过设置服务实例的头端复制功能来减少组播计算负担,又会增加头端节点的复制功能,一般很多头端节点是低端设备,骨干节点是高端设备,这样转发的负担在设备间的分配不大合理。

【发明内容】

[0007]有鉴于此,本发明提供一种SPBM网络中的报文转发方法,应用于SPBM网络中任
一BEB节点上,所述SPBM网络中包括一策略服务实例,所述策略服务实例包括一个服务节点、若干客户节点和若干与客户节点相连的用户侧主机,当所述BEB节点作为所述客户节点时,所述方法包括:
[0008]为所述策略服务实例创建一个CID转发表项;所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为服务节点的MAC地址;
[0009]收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对第一报文进行Mac-1n-Mac封装后,发往所述服务节点。
[0010]优选地,当所述BEB节点作为所述服务节点时,所述方法还包括:
[0011]分别创建与各个所述客户节点之间的CID转发表项,所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为所述客户节点的MAC地址;
[0012]当收到来自客户节点的Mac-1n-Mac封装的第二报文后,对第二报文解Mac-1n-Mac 封装;
[0013]在对应策略服务实例的CID转发表项中,根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项,当第二报文的内层源MAC与查找到的CID转发表项未关联时,将第二报文的内层源MAC与查找到的CID转发表项关联;
[0014]判断所述第二报文的内层目的MAC是否已关联了 CID转发表项,若是,则使用该CID转发表项中的SPBM封装信息对所述第二报文重新进行Mac-1n-Mac封装并转发;否则,遍历对应策略服务实例的所有CID转发表项,利用每个CID转发表项分别对所述第二报文重新进行Mac-1n-Mac封装并转发。
[0015]优选地,所述BEB节点作为所述策略服务实例的服务节点或客户节点具体为通过
选举产生;
[0016]所述选举过程具体为:所述策略服务实例在所述BEB节点上配置完成后,所述BEB节点将自身的优先级信息以及1-SID分别通告到该策略服务实例内其他各BEB节点上,同时接收所述其他各BEB节点通告的优先级信息和1-SID ;
[0017]所述BEB节点在本端进行服务节点选举,选举所述策略服务实例内当前优先级最高的BEB节点为服务节点,其他BEB节点为客户节点。
[0018]优选地,所述根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项具体为:以Mac-1n-Mac封装中的外层源MAC地址和1-SID为索引进行查找。
[0019]优选地,当所述BEB节点作为客户节点时,所述方法还包括:
[0020]所述客户节点接收到外层源MAC为其他客户节点的报文时,将所述报文丢弃。
[0021]本发明还提供一种SPBM网络中的报文转发装置,应用于SPBM网络中任一 BEB节点上,所述SPBM网络中包括一个策略服务实例,所述策略服务实例包括一个服务节点、若干客户节点和若干与客户节点相连的用户侧主机,所述装置包括:
[0022]创建模块,当所述BEB节点作为所述客户节点时,用于为所述策略服务实例创建一个CID转发表项;所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为服务节点的MAC地址;
[0023]发送模块,当所述BEB节点作为所述客户节点时,用于收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对第一报文进行Mac-1n-Mac封装后,发往所述服务节点。
[0024]优选地,当所述BEB节点作为所述服务节点时,所述创建模块进一步用于分别创建与各个所述客户节点之间的CID转发表项,所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为所述客户节点的MAC地址;
[0025]所述发送模块进一步用于收到来自客户节点的Mac-1n-Mac封装的第二报文后,对第二报文解Mac-1n-Mac封装;在对应策略服务实例的CID转发表项中,根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项,当第二报文的内层源MAC与查找到的CID转发表项未关联时,将第二报文的内层源MAC与查找到的CID转发表项关联;
[0026]所述发送模块进一步用于判断所述第二报文的内层目的MAC是否已关联了 CID转发表项,若是,则使用该CID转发表项中的SPBM封装信息对所述第二报文重新进行Mac-1n-Mac封装并转发;否则,遍历对应策略服务实例的所有CID转发表项,利用每个CID转发表项分别对所述第二报文重新进行Mac-1n-Mac封装并转发。
[0027]优选地,所述装置还包括:
[0028]选举模块,用于当所述策略服务实例在所述BEB节点上配置完成后,将所述BEB设备的优先级信息以及1-SID分别通告到该策略服务实例内其他各BEB节点上,同时接收所述其他各BEB节点通告的优先级信息和1-SID ;
[0029]所述选举模块进一步用于在所述BEB节点上进行服务节点选举,选举所述策略服务实例内当前优先级最高的BEB节点为服务节点,其他BEB节点为客户节点。
[0030]优选地,所述根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项具体为:以Mac-1n-Mac封装中的外层源MAC地址和1-SID为索引进行查找。[0031 ] 优选地,所述装置还包括:
[0032]丢弃模块,该模块当所述BEB节点作为客户节点时使能,用于将接收到的外层源MAC为其他客户节点的报文丢弃。
[0033]相较于已有的方案而言,本发明通过减少客户节点创建的CID转发表项,只创建客户节点与服务节点之间的CID转发表项,能够对SPBM网络中的服务实例内主机之间的流量互访进行集中控制,并可以灵活调节SPBM网络中各个节点之间的转发负荷。
【专利附图】

【附图说明】
[0034]图1是SPBM网络的基本组网模型的示意图;
[0035]图2是本发明一种实施方式中改进SPBM网络转发策略的方法流程图;
[0036]图3是本发明一种实施方式中组播流的策略集中控制示意图;
[0037]图4是本发明一种实施方式中单播流的策略集中控制示意图;
[0038]图5是本发明一种实施方式中一种改进SPBM网络转发策略的装置的逻辑结构图。
【具体实施方式】
[0039]在SPBM网络中,当BEB设备收到来自用户侧主机的报文时,在本端维护的FDB(Forwarding Database,转发数据库,即MAC转发表)表中进行目的MAC的查找,如果该MAC地址关联了 Connection-1D(以下简称CID)转发表项,此时该报文为已知单播,则使用该CID转发表项中的目的MAC作为B-DA (Backbone Destination MAC address,骨干网络目的MAC地址);如果该MAC地址未关联CID转发表项时,则使用骨干网服务实例的组播地址作为B-DA,那么该报文将被泛洪处理,发送到该服务实例内除源端口以外的所有其他端口,即对于组播流会沿着基于服务实例的转发树转发到该服务实例中所有的SPBM桥。CID转发表项的作用是将用户MAC (C-MAC)与骨干网MAC (B-MAC)关联起来(详参802.lah-2008),即一个CID转发表项代表一条连接,对于一个服务实例中的BEB设备来说,在本端的FDB表中保存了与该服务实例中其他BEB节点之间的CID转发表项。
[0040]在SPBM网络的任一区(Region)中,对于组播流的转发,即广播、未知单播、未知组播需要沿着基于服务实例的转发树转发到存在服务实例的SPBM桥,但在某些情况下,为了保证某个服务实例内的主机之间的访问控制,需要严格监控各个主机之间的流量访问,进行策略的集中控制。但是SPBM骨干网络中的设备不会检查Mac-1n-Mac报文内部的用户报文信息,从而无法实现。参见图3,需要设置1-SID (Backbone Service InstanceIdentifier,骨干网服务实例编号)1000内的主机1,2,3,4之间访问进行严格的安全策略检查,可以将策略控制节点设置在节点I上,然而某些流量不会经过I节点,比如主机3到主机4的流量,因为主机3到主机4的流量的最短路径线路并不经过节点I。对于组播流,如果使用核心复制组播转发,需要在众多的BCB上利用组播剪枝算法计算生成组播表项,如果服务实例中存在1-SID的成员很多,这样会增加BCB的计算负担。但如果通过设置服务实例的头端复制功能来减少组播计算负担,又会增加头端节点的复制功能,一般很多头端节点是低端设备,骨干节点是高端设备,这样转发的负担在设备间的分配不大合理。因此,本发明提供一种改进SPBM网络转发策略的方法,通过在当前SPBM网络中的所有BEB设备中指定一个BEB设备作为服务节点,其他各BEB节点作为客户节点,在服务节点上创建该服务节点与所有客户节点之间的CID转发表项,在客户节点上减少创建的CID转发表项,即只创建该客户节点与服务节点之间的CID转发表项,从而可实现对SPBM网络中的服务实例内主机之间的流量互访进行集中控制,可以灵活调节SPBM网络中各个节点之间的转发负荷。
[0041]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0042]本发明提供一种SPBM网络中报文转发的方法,应用于SPBM网络中任意一个BEB节点上,该SPBM网络中包括一个策略服务实例,所述策略服务实例包括一个服务节点、若干客户节点和若干与客户节点相连的用户侧主机,其中该BEB节点可以作为服务节点也可作为客户节点,参见图2,当所述BEB节点作为所述客户节点时,该方法包括如下步骤:
[0043]步骤S201,为所述策略服务实例创建一个CID转发表项;所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括骨干网服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为服务节点的MAC地址;
[0044]步骤S202,收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对第一报文进行Mac-1n-Mac封装后,发往所述服务节点。
[0045]在执行以上步骤前,管理员在SPBM网络中的指定的BEB节点上分别配置策略服务实例,需要说明的是,该策略服务实例为特殊的服务实例,表示优化服务实例的转发策略,其配置过程与现有技术中配置服务实例的过程相同,包括为该节点打上策略实例标记
1-SID,配置BVLAN以及优先级信息等。由于需要对该SPBM网络实现服务实例内主机之间的流量的集中控制,因此管理员需要在SPBM网络中指定一个BEB设备作为服务节点,并在配置策略服务实例时,将该BEB设备的优先级配置为最高。当管理员选定作为服务节点的BEB设备后,在一种优选的实施方式中,该SPBM中各BEB节点分别将1-SID以及自身的优先级信息通过IS-1S协议通告到其他各BEB节点上;然后各BEB节点分别在本端进行服务节点的选举,选举该策略服务实例内当前优先级最高的BEB节点为服务节点,其他BEB节点为客户节点。
[0046]当该策略服务实例内的服务节点和客户节点明确后,减少客户节点创建的CID转发表项,即只创建与服务节点之间的CID转发表项,而服务节点保留所有与其他客户节点之间的CID转发表项。在一种优选的实施方式中,上述CID转发表项具体内容包括SPBM封装信息,所述SPBM封装包括1-SID,BVLAN和目的MAC地址;其中服务节点创建的与客户节点之间的CID转发表项中的目的MAC地址为各客户节点的MAC地址,客户节点创建的与服务节点之间的CID转发表项中的目的MAC地址为服务节点的MAC地址。节点根据CID转发表项中的SPBM封装信息,对报文进行Mac-1n-Mac封装后得到Mac-1n-Mac报文。其中,该Mac-1n-Mac报文中的1-SID,BVLAN和目的B-MAC地址分别是该SPBM封装信息中的1-SID,BVLAN和目的MAC地址,该Mac-1n-Mac报文中的源B-MAC地址则是节点自身的B-MAC。[0047]以客户节点的角度来讲,由于作为客户节点的BEB设备上可能配置了多个策略服务实例,因此当客户节点收到来自用户侧的报文时,首先需要确定该报文所属的策略服务实例。在BEB设备上,对于来自用户侧的报文,首先根据下行口上的匹配规则判断该报文所属的策略服务实例,比如在一种优选的实施方式中,可以通过该报文的接收端口和该报文中携带的VLAN信息,将该报文映射到相应的策略服务实例中,然后在该策略服务实例中进行查表转发。在一个策略服务实例内,当客户节点收到来自用户侧的报文时,首先根据该报文中的目的MAC地址查找本端的FDB表,如果该目的MAC已关联了 CID转发表项,则使用该CID转发表项中的SPBM封装信息对该报文进行Mac-1n-Mac封装后发往服务节点。如果该报文中的目的MAC并未关联CID转发表项,此时客户节点将该报文泛洪,使用已创建的与服务之间的CID转发表项中的SPBM封装信息对该报文进行Mac-1n-Mac封装后,发往服务节点。此处值得进一步解释的是,由于客户节点只创建与服务节点之间的CID转发表项,因此对于来自用户侧的报文来说,客户节点对该报文进行目的MAC查找后无论该报文是否关联了 CID转发表项,该报文均会被Mac-1n-Mac封装后单播发往服务节点。然而不同的是,在对该报文进行目的MAC查找时,如果该报文中的目的MAC已关联了 CID转发表项,此时客户节点并不对该报文进行泛洪,即该客户节点下挂的其他主机不会收到该报文。如果该报文的目的MAC并未关联CID转发表项,此时客户节点对该报文进行泛洪处理,其下挂的所有其他主机均能够收到该报文,在实际的运用中,可能会占用大量带宽。同样的道理,由于客户节点只创建与服务节点之间的CID转发表项,因此即便客户节点对来自用户侧的报文进行泛洪时,其他客户节点也不能收到该报文。因此,当客户节点收到来自其他客户节点的报文时,即收到外层源MAC为其他客户节点的MAC的报文时,则丢弃该报文。
[0048]当客户节点收到服务节点的报文时,解Mac-1n-Mac封装后以该报文的Mac-1n-Mac封装的外层源MAC地址和1-SID为索引查找相应的CID转发表项,如果内层源MAC与该查找到的CID转发表项未关联时,将内层源MAC与查找到的CID转发表项关联,并将关联关系保存到本端维护的FDB表中,然后将该报文查表转发至相关主机。
[0049]以服务节点的角度来讲,当作为服务节点的BEB设备上配置了多个策略服务实例时,在报文转发过程中可通过SPBM封装信息中不同的1-SID来准确识别不同的策略服务实例,从而做到一个策略实例内的报文只在该策略实例之内转发。在一个策略服务实例内,当服务节点接收到客户节点的报文后,首先进行解Mac-1n-Mac封装,然后以所述报文的外层Mac-1n-Mac封装信息中的源MAC地址和1-SID为索引查找相应的CID转发表项,即当服务节点已创建的各CID转发表项中任意一个CID转发表项中的目的MAC和1-SID信息与上述报文的外层中的源MAC和1-SID相同时,则该CID转发表项为与上述报文对应的CID转发表项。此时如果内层源MAC与查找到的CID转发表项未关联,则将内层源MAC与该CID转发表项关联,并且将关联关系保存到本端维护的FDB表中。
[0050]Mac-1n-Mac解封装后,服务节点根据上述报文的内层目的MAC地址查找本端的FDB表来判断该报文中的目的MAC是否关联了 CID转发表项,如果查找到该报文的内层目的MAC已关联了 CID转发表项,则使用该CID转发表项中的SPBM封装信息进行Mac-1n-Mac封装并转发。当该报文的内层目的MAC并未关联CID转发表项时,此时遍历所有CID转发表项,对每个CID转发表项分别进行报文复制,利用每个CID转发表项中的SPBM封装信息分别对该报文重新进行Mac-1n-Mac封装后,发送到相应的目的客户节点上。[0051]以下通过具体的例子来详细阐述本发明。
[0052]参见图3和图4,当前SPBM网络中有五个BEB节点,分别为C、1、D、K、L ;还包括四台主机,分别为主机1、2、3和4。管理员在该SPBM网络中各BEB节点上配置一个相同的策略服务实例。在本实施例中,仅以当前SPBM网络中存在一个策略服务实例为例。
[0053]管理员为各BEB节点和主机打上策略服务实例标记1000,配置BVLAN为20。如果指定节点I为服务节点,于是管理员在配置优先级时将I节点的优先级配置为最高。配置后的优先级信息如下:节点I,优先级100 ;节点C,优先级20 ;节点L,优先级30 ;节点D,优先级10 ;节点K,优先级40。策略服务实例配置完成后,各节点分别在本端进行服务节点的选举,选举优先级最高的节点为服务节点,其他节点为客户节点。即I为服务节点,C、D、K和L节点为客户节点。
[0054]服务节点和客户节点明确后,服务节点I创建与节点C、D、K和L之间的CID转发表项,C、D、K和L创建与服务节点I之间的CID转发表项。创建完毕后,各客户节点C、D、K和L上都有的表项:
[0055]Connection-1Dl---(1000, 20, MAC-1)
[0056]服务节点I上的表项:
[0057]Connection-1D2— (1000, 20, MAC-C)
[0058]Connection_ID3---(1000, 20, MAC-D)
[0059]Connection_ID4--- (1000,20,MAC-K)
[0060]Connection_ID5---(1000, 20, MAC-L)
[0061]参见图3,对于客户节点K收到的用户侧主机I的报文时,根据目的MAC地址查找本端的MAC转发表,如果该报文为广播,未知单播或未知组播流(目的MAC未关联CID转发表项),通过已建立的与服务节点I之间的CID转发表项Connection-1Dl对应的SPBM封装信息进行Mac-1n-Mac封装后,将该报文单播发送到服务节点I ;服务节点I收到K的该报文后,解Mac-1n-Mac封装,根据外层封装信息的源MAC和1-SID查找CID转发表项,外层源MAC为MAC-K,1-SID为1000,于是得到Connection-1D4。服务节点建立MACl (主机I的MAC地址)与Connection-1D4的关联关系,并根据其他各Connection-1D对应的SPBM封装信息对该报文重新进行Mac-1n-Mac封装后,单播发送到其他客户节点;其他客户节点收到I的单播报文后,解Mac-1n-Mac封装,在本地泛洪到主机,并分别建立内层MACl与Connection-1Dl的关联关系,即此时C、D、K和L均建立了 MACl与Connection-1Dl的关联关系。
[0062]参见图4,对于客户节点D收到的主机3发送的报文,目的MAC为主机1,客户节点D根据目的MAC查找本地的MAC转发表,此时Macl已经关联了 Connection-1Dl,则D根据Connection-1Dl对应的SPBM封装信息进行Mac-1n-Mac封装后发送到服务节点I ;服务节点I对该报文进行解Mac-1n-Mac封装,根据MACl查找本地MAC转发表,此时MACl已关联了 Connection-1D4,于是服务节点根据Connection_ID4对应的SPBM封装信息重新进行Mac-1n-Mac封装,单播发送到K ;K再进行解Mac-1n-Mac封装后将该报文查表转发到主机
1
[0063]请参考图5, 在优选的实施方式中,本发明还提供一种SPBM网络中报文转发的装置,应用于SPBM网络中任一 BEB节点上。以软件实现为例,该装置通常可以理解为运行在网络设备的CPU内存中的计算机程序,通过CPU运行之后形成的逻辑装置,所述网络设备通常都包括CPU、内存、非易失性存储器以及其他网络硬件,当然本发明并不排除硬件或其他等同实现方式。该装置包括:
[0064]创建模块,当所述BEB节点作为所述客户节点时,用于为所述策略服务实例创建一个CID转发表项;所述CID转发表项包括SPBM封装信息,所述SPBM封装包括1-SID和目的MAC地址;其中所述目的MAC地址为服务节点的MAC地址;
[0065]发送模块,当所述BEB节点作为所述客户节点时,用于收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对所述第一报文进行Mac-1n-Mac封装后,发往所述服务节点。
[0066]在本实施例中,所述BEB节点作为所述服务节点时,当所述BEB节点作为所述服务节点时,所述创建模块进一步用于分别创建与各个所述客户节点之间的CID转发表项,所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为所述客户节点的MAC地址;
[0067]所述发送模块进一步用于收到来自客户节点的Mac-1n-Mac封装的第二报文后,对第二报文解Mac-1n-Mac封装;在对应策略服务实例的CID转发表项中,根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项,当第二报文的内层源MAC与查找到的CID转发表项未关联时,将第二报文的内层源MAC与查找到的CID转发表项关联;
[0068]所述发送模块进一步用于判断所述第二报文的内层目的MAC是否已关联了 CID转发表项,若是,则使用该CID转发表项中的SPBM封装信息对所述第二报文重新进行Mac-1n-Mac封装并转发;否则,遍历对应策略服务实例的所有CID转发表项,利用每个CID转发表项分别对所述第二报文重新进行Mac-1n-Mac封装并转发。
[0069]在本实施例中,所述装置还包括:选举模块,用于当策略服务实例在所述BEB节点上配置完成后,将自身的优先级信息以及1-SID分别通告到该策略服务实例内其他各BEB节点上,同时接收所述其他各BEB节点通告的优先级信息和1-SID ;
[0070]所述选举模块进一步用于在所述BEB节点进行服务节点选举,选举所述策略服务实例内当前优先级最高的BEB节点为服务节点,其他BEB节点为客户节点。其中,所述选举模块在所述BEB节点作为服务节点和客户节点时均使能。
[0071]在本实施例中,所述根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项具体为:以Mac-1n-Mac封装中的外层源MAC地址和1-SID为索引进行查找。
[0072]在本实施例中,所述装置还包括:丢弃模块,该模块当所述BEB节点作为客户节点时使能,用于将接收到的外层源MAC为其他客户节点的报文丢弃。
[0073]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0074]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种SPBM网络中的报文转发方法,应用于SPBM网络中任一 BEB节点上,其特征在于,所述SPBM网络中包括一策略服务实例,所述策略服务实例包括一个服务节点、若干客户节点和若干与客户节点相连的用户侧主机,当所述BEB节点作为所述客户节点时,所述方法包括: 为所述策略服务实例创建一个CID转发表项;所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为服务节点的MAC地址; 收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对第一报文进行Mac-1n-Mac封装后,发往所述服务节点。
2.如权利要求1所述的方法,其特征在于,当所述BEB节点作为所述服务节点时,所述方法还包括: 分别创建与各个所述客户节点之间的CID转发表项,所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为所述客户节点的MAC地址; 当收到来自客户节点的Mac-1n-Mac封装的第二报文后,对第二报文解Mac_in_Mac封装; 在对应策略服务实例的CID转发表项中,根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项,当第二报文的内层源MAC与查找到的CID转发表项未关联时,将第二报文的内层源MAC与查找到的CID转发表项关联; 判断所述第二报文的内层目的MAC是否已关联了 CID转发表项,若是,则使用该CID转发表项中的SPBM封装信息 对所述第二报文重新进行Mac-1n-Mac封装并转发;否则,遍历对应策略服务实例的所有CID转发表项,利用每个CID转发表项分别对所述第二报文重新进行Mac-1n-Mac封装并转发。
3.如权利要求2所述的方法,其特征在于,所述BEB节点作为所述策略服务实例的服务节点或客户节点具体为通过选举产生; 所述选举过程具体为:所述策略服务实例在所述BEB节点上配置完成后,所述BEB节点将自身的优先级信息以及1-SID分别通告到该策略服务实例内其他各BEB节点上,同时接收所述其他各BEB节点通告的优先级信息和1-SID ; 所述BEB节点在本端进行服务节点选举,选举所述策略服务实例内当前优先级最高的BEB节点为服务节点,其他BEB节点为客户节点。
4.如权利要求2所述的方法,其特征在于,所述根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项具体为: 以Mac-1n-Mac封装中的外层源MAC地址和1-SID为索引进行查找。
5.如权利要求1所述的方法,其特征在于,当所述BEB节点作为客户节点时,所述方法还包括: 所述客户节点接收到外层源MAC为其他客户节点的报文时,将所述报文丢弃。
6.一种SPBM网络中的报文转发装置,应用于SPBM网络中任一 BEB节点上,其特征在于,所述SPBM网络中包括一个策略服务实例,所述策略服务实例包括一个服务节点、若干客户节点和若干与客户节点相连的用户侧主机,所述装置包括: 创建模块,当所述BEB节点作为所述客户节点时,用于为所述策略服务实例创建一个CID转发表项;所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为服务节点的MAC地址; 发送模块,当所述BEB节点作为所述客户节点时,用于收到来自用户侧主机的第一报文时,确定该第一报文所属的第一策略服务实例,并根据第一策略服务实例的CID转发表项中的SPBM封装信息,对第一报文进行Mac-1n-Mac封装后,发往所述服务节点。
7.如权利要求6所述的装置,其特征在于,当所述BEB节点作为所述服务节点时,所述创建模块进一步用于分别创建与各个所述客户节点之间的CID转发表项,所述CID转发表项包括SPBM封装信息;所述SPBM封装信息包括策略服务实例编号1-SID和目的MAC地址;其中所述目的MAC地址为所述客户节点的MAC地址; 所述发送模块进一步用于,当收到来自客户节点的Mac-1n-Mac封装的第二报文后,对第二报文解Mac-1n-Mac封装;在对应策略服务实例的CID转发表项中,根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项,当第二报文的内层源MAC与查找到的CID转发表项未关联时,将第二报文的内层源MAC与查找到的CID转发表项关联; 所述发送模块进一步用于判断所述第二报文的内层目的MAC是否已关联了 CID转发表项,若是,则使用该CID转发表项中的SPBM封装信息对所述第二报文重新进行Mac-1n-Mac封装并转发;否则,遍历对应策略服务实例的所有CID转发表项,利用每个CID转发表项分别对所述第二报文重新进行Mac-1n-Mac封装并转发。
8.如权利要求6所述的装置,其特征在于,所述装置还包括: 选举模块,用于当所述策略服务实例在所述BEB节点上配置完成后,将所述BEB设备的优先级信息以及1-SID分别通告到该策略`服务实例内其他各BEB节点上,同时接收所述其他各BEB节点通告的优先级信息和1-SID ; 所述选举模块进一步用于在所述BEB节点上进行服务节点选举,选举所述策略服务实例内当前优先级最高的BEB节点为服务节点,其他BEB节点为客户节点。
9.如权利要求7所述的装置,其特征在于,所述根据所述第二报文的Mac-1n-Mac封装查找到与该第二报文对应的CID转发表项具体为: 以Mac-1n-Mac封装中的外层源MAC地址和1-SID为索引进行查找。
10.如权利要求6所述的装置,其特征在于,所述装置还包括: 丢弃模块,该模块当所述BEB节点作为客户节点时使能,用于将接收到的外层源MAC为其他客户节点的报文丢弃。
【文档编号】H04L12/741GK103746916SQ201310719590
【公开日】2014年4月23日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】周万 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1