一种报文转发方法及装置制造方法

文档序号:7796285阅读:145来源:国知局
一种报文转发方法及装置制造方法
【专利摘要】本发明提供一种报文转发方法及装置,应用于Hub-Spoke组网中的Spoke-PE设备上,该方法包括如下步骤:A,在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该用户报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转B,否则转C;B,根据该用户报文的目的MAC地址在该VSI对应的出口将报文转发给Spoke-CE;C,使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。相较于现有技术,本发明能够在Hub-Spoke组网下支持Spoke-CE设备配置IPV6地址。
【专利说明】一种报文转发方法及装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种报文转发方法及装置。
【背景技术】
[0002]VPLS (Virtual Private Lan Service,虚拟专用局域网业务)技术属于二层分组承载技术,本质上是一种基于IP/MPLS和以太网技术的L2VPN (二层虚拟专用网)技术。其核心思想是利用信令协议在VPLS实例中的PE (运营商边缘)设备之间建立及维护PW (伪线),将二层协议帧封装后在PW上传输、交换,使广域范围内多个局域网在数据链路层面被整合为一张网络,向用户提供虚拟的以太网服务。
[0003]VPLS技术有效地结合了 IP/MPLS、L2VPN以太网交换等多种技术的特点,支持点到点、点到多点、多点到多点的业务类型,能够在较大网络规模下支持电信级以太网服务。在VPLS的应用中,存在一种特殊的组网Hub-Spoke (中心接入)组网,在这种组网方式下,存在一个中心侧站点(Hub)和多个接入侧站点(Spoke)。VPLS的Hub-Spoke组网中,接入侧用户边缘Spoke-CE设备之间的数据必须通过中心侧用户边缘Hub-CE设备进行交换,而不允许各个Spoke-CE设备之间直接进行数据交换。与中心侧用户边缘设备或者接入侧用户边缘设备相连的PE (运营商边缘)设备相应称作Hub-PE或者Spoke-PE。

【发明内容】

[0004]有鉴于此,本发明提供一种报文转发装置,应用于Hub-Spoke组网中的Spoke-PE设备上,该装置包括转发分类单元、单播转发单元以及广播转发单元,其中:
[0005]转发分类单元,用于在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该用户报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转单播转发单元处理,否则转广播转发单元处理;
[0006]单播转发单元,用于根据该用户报文的目的MAC地址在该VSI对应的出口将报文转发给Spoke-CE ;
[0007]广播转发单元,用于使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索弓丨匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。
[0008]本发明还提供一种报文转发方法,应用于Hub-Spoke组网中的Spoke-PE设备上,该方法包括如下步骤:
[0009]A,在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该用户报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转B,否则转C ;
[0010]B,根据该用户报文的目的MAC地址在该VSI对应的出口将报文转发给Spoke-CE ;
[0011]C,使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。
[0012]相较于现有技术,本发明能够在Hub-Spoke组网下支持Spoke-CE设备使用IPV6协议,配置IPV6地址,避免了现有技术中Spoke-CE无法使用IPV6协议的问题。
【专利附图】

【附图说明】
[0013]图1是一种典型的Hub-Spoke组网图;
[0014]图2是本发明一种实施方式中报文转发装置的逻辑结构以及硬件环境图;
[0015]图3是本发明一种实施方式下的流程图;
[0016]图4是本发明另一种实施方式下的流程图。
【具体实施方式】
[0017]请参考图1,在一个Hub-Spoke组网应用中,Spoke-CEl设备根据该机制发送用户报文给Spoke-PEl (接入侧运营商边缘)设备。由于所有用户报文最终都需要经过Hub-CE(中心侧用户边缘)设备,因此该用户报文会由Spoke-PEl设备透过隧道发送给Hub-PE (中心侧运营商边缘)设备,Hub-PE发送再将该NS报文从隧道上还原出来,然后发送给Hub-CE处理。接下来Hub-PE也会在对应转发实例VSI内对该NS报文进行转发处理,通过隧道发送给对应的Spoke-PE。
[0018]对于已知用户单播报文而言,以上过程中在VSI进行转发时,每次转发出口都是确定的。若用户报文是广播报文,组播报文或未知单播报文,各个PE的处理方式是一致的,一般均统一为广播处理。以组播报文为例,Hub-PE发送将用户组播报文一份通过隧道给Spoke-ΡΕΙ,同时也复制一份给Spoke-PE2。对于Spoke_PE2,其从隧道上还原出NS报文后,把报文发送给Spoke-CE2,Spoke-PEl此时同样会将NS报文还原出来并重新发送给Spoke-CEl。
[0019]请参考图2,本发明提供一种Hub-Spoke组网下的解决方案来使Spoke-CE可以顺利支持IPV6协议。在一种软件实现方案中,本发明提供一种报文转发装置,该装置应用于Spoke-PE设备上,该Spoke-PE设备在硬件层面上包括处理器、内存、非易失性存储器以及其他接口硬件,该些硬件可以通过总线或其他方式相连。所述NS报文处理装置在逻辑层面可以理解为,处理器将相应的计算机程序读取到内存中运行所形成的逻辑装置。在逻辑层面,该装置包括:转发分类单元、单播转发单元以及广播转发单元。请参考图3,所述装置在运行过程中,执行如下的处理流程。
[0020]步骤101,转发分类单元在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转步骤102,否则转步骤103 ;
[0021]步骤102,单播转发单元根据该用户报文的目的MAC地址在该VSI内对应的出口将报文转发给Spoke-CE ;
[0022]步骤103,广播转发单元使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口均发送一份。[0023]请参考图1,在一个Hub-Spoke组网应用中,假设Spoke-CEl设备端口配置IPV6地址。在IPV6协议中,拥有IPV6的主机或者设备需要进行地址冲突检测DAD,Spoke-CEl设备根据该机制发送NS报文给Spoke-PEl设备。此时NS报文的目的MAC为组播MAC,由于所有报文最终都需要经过Hub-CE设备,因此该NS报文会由Spoke-PEl设备透过隧道发送给Hub-PE设备,Hub-PE发送再将该NS报文从隧道上还原出来,然后发送给Hub-CE处理。对于用户网络层面而言,由于该过程中都遵循二层转发的原因,只进行源MAC的学习,并且以广播的方式处理NS报文,根据Hub-Spoke组网的原理,Hub-CE设备收到NS报文之后会把报文继续回送给Hub-PE。
[0024]此时由于NS报文的目的MAC为组播MAC,Hub-PE也会在对应VSI内对该NS报文进行广播处理。Hub-PE发送将NS报文复制一份通过隧道发送给Spoke-PEl,同时也复制一份通过隧道发送给Spoke-PE2。对于Spoke-PE2,其从隧道上还原出NS报文后,把该NS报文发送给Spoke-CE2,Spoke-CE2收到NS报文后按照正常的DAD机制进行处理,这并没有任何问题,符合协议要求。
[0025]在传统方式中,Spoke-PEl此时同样会将NS报文还原出来并重新发送给Spoke-CEl。如此一来,Spoke-CEl收到了自己发送出去的NS报文,按照DAD机制进行处理必然并且发现源IPV6地址与自身的IPV6地址是一样的,产生冲突,然而这个冲突是错误的冲突。在本发明中,由于广播优先表项中的出口不包括Spoke-CEl的接入接口,因此该NS报文不会发送给Spoke-CEl。这样一来Spoke-CEl就不会收到自身发送的NS报文而在DAD检测过成中检测出错误的冲突结果。
[0026]以下以最为典型的VPLS技术为例进行讲解,本发明并不排除其他VPN技术。在前述基础的实施方式中,广播优先表中的表项可以是手工设置的,在本实施方式中,采用软件自动设置的方式来说明。请参考图4所示处理流程。
[0027]步骤201,策略管理单元向AC (Attachment Circuit,接入电路)侧接口下发NS报文捕获策略;
[0028]步骤202,表项优化单元接收AC侧接口上送的来自Spoke-CE的NS报文,确定该NS报文的源IP地址以及对应的转发实例VSI ;
[0029]步骤203,表项优化单元在对应的VSI的广播优先表中添加广播优先表项,其中该广播优先表项包括索引以及出口集合,其中该索引包括该NS报文的源IP地址索引,其中该出口集合包括该VSI内除了该NS报文入口之外的所有AC侧接口 ;
[0030]步骤204,转发分类单元在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转步骤102,否则转步骤103 ;
[0031]步骤205,单播转发单元根据该用户报文的目的MAC地址在该VSI内对应的出口将报文转发给Spoke-CE ;
[0032]步骤206,广播转发单元使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口均发送一份。
[0033]请参考图1,后续仅以一个VSI为例进行说明,当然事实上,一个Spoke-PE以及Hub-PE的组合可能服务于多个VPN用户,每个VPN用户都有对应的VSI。在图1中Spoke-CE1、Spoke-CE2以及Spoke_CE3是同一个VPN (假设为VPNl,对应VSII)中的三个接入侧的用户边缘设备,其中Spoke-CEl以及Spoke_CE3通过Spoke-PEl接入,而Spoke_CE2则通过Spoke-PE2接入。Hub-CE是该VPN的中心侧的用户边缘设备。Spoke-CE发送的用户报文最终都要经过Hub-CE进行转发。
[0034]假设Spoke-CEl面向Spoke-PEl的接口配置了一个IPV6地址,假设为IPl,按照IPV6协议的要求Spoke-CEl需要从这个接口向外发送NS报文来检测是否存在地址冲突,即前述DAD机制。Spoke-PEl收到该报文时,按照既有处理方式则是根据目的MAC在对应的VSI内进行转发。在本发明这个流程将会被改进。首先本发明在控制层面由策略管理单元向Spoke-PEl的AC侧接口下发一个NS报文的捕获策略,这个捕获策略可以是一个ACL或者类似的可以在接口上实施的报文上送策略。以ACL为例,该ACL的作用是将所有NS报文上送到控制层面,由控制层面的表项优化单元根据该报文的内容进行处理。该ACL生成与下发,本领域普通技术人员可以参考现有技术加以实现。
[0035]如前所述,由于Spoke-CEl对自身的AC侧接口下发了针对NS报文的ACL,那么NS报文从AC侧接口 Portl进入之后并不会立刻进入转发流程,而是会进入控制层面。此时表项优化单元获取该NS报文中的IPV6地址(也就是IPl),在对应的VSI (也就是VSIlMA广播优先表中添加广播优先表项。广播优先表项中索引一列包括了 IP1,该索引对应与出口集合。而出口集合则包括VSIl内除了 Portl以外的所有AC侧接口,在本实施方式中为Port20
【权利要求】
1.一种报文转发装置,应用于Hub-Spoke组网中的Spoke-PE设备上,该装置包括转发分类单元、单播转发单元以及广播转发单元,其特征在于: 转发分类单元,用于在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该用户报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转单播转发单元处理,否则转广播转发单元处理; 单播转发单元,用于根据该用户报文的目的MAC地址在该VSI对应的出口将报文转发给 Spoke-CE ; 广播转发单元,用于使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。
2.如权利要求1所述的装置,其特征在于,所述广播转发单元,进一步用于在所述出口集合为空时,丢弃该用户报文。
3.如权利要求1所述的装置,其特征在于,还包括: 策略管理单元,用于向接入接口下发NS报文捕获策略; 表项优化单元,用于接收接入接口上送的NS报文,确定该NS报文的源IP地址以及对应的转发实例VSI ;在对应的VSI的广播优先表中添加广播优先表项,其中该广播优先表项包括索引以及出口集合,其中该索引包括该NS报文的源IP地址,其中该出口集合包括该VSI内除了该NS报文入口 之外的所有接入接口。
4.如权利要求3所述的装置,其特征在于, 所述表项优化单元,用于接收接入接口上送的NS报文,确定该NS报文的源IP地址、源MAC地址以及对应的转发实例VSI ;在对应的VSI的广播优先表中添加广播优先表项,其中该广播优先表项包括索引以及出口集合,其中该索引包括该NS报文的源IP地址与MAC地址的组合,其中该出口集合包括该VSI内除了该NS报文入口之外的所有接入接口 ; 所述广播转发单元,用于使用该用户报文的源IP地址与MAC地址的组合在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。
5.如权利要求1所述的装置,其特征在于,所述Hub-Spoke组网为基于VPLS的Hub-Spoke 组网。
6.一种报文转发方法,应用于Hub-Spoke组网中的Spoke-PE设备上,其特征在于,该方法包括如下步骤: A,在从隧道侧接收到隧道报文时,还原出其中承载的用户报文;判断该用户报文目的MAC地址在对应的VSI内是否为已知单播MAC地址,如果是转B,否则转C ; B,根据该用户报文的目的MAC地址在该VSI对应的出口将报文转发给Spoke-CE ; C,使用该用户报文的源IP地址在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。
7.如权利要求6所述的方法,其特征在于,其中步骤C进一步包括:在所述出口集合为空时,丢弃该用户报文。
8.如权利要求6所述的方法,其特征在于,还包括: D,向接入接口下发NS报文捕获策略; E,接收接入接口上送的NS报文,确定该NS报文的源IP地址以及对应的转发实例VSI ;在对应的VSI的广播优先表中添加广播优先表项,其中该广播优先表项包括索引以及出口集合,其中该索引包括该NS报文的源IP地址,其中该出口集合包括该VSI内除了该NS报文入口之外的所有接入接口。
9.如权利要求8所述的方法,其特征在于,所述步骤E具体包括: 接收接入接口上送的NS报文,确定该NS报文的源IP地址、源MAC地址以及对应的转发实例VSI ;在对应的VSI的广播优先表中添加广播优先表项,其中该广播优先表项包括索引以及出口集合,其中该索引包括该NS报文的源IP地址与MAC地址的组合,其中该出口集合包括该VSI内除了该NS报文入口之外的所有接入接口 ; 所述步骤C具体包括:使用该用户报文的源IP地址与MAC地址的组合在该VSI中预设的广播优先表中进行索引匹配,若命中对应的广播优先表项,则根据该广播优先表项中的出口集合对报文进行转发,若没有命中对应的广播优先表项,则将该报文从该VSI内所有的接入接口上均发送一份出去。
10.如权利要求6所述的方法,其特征在于,所述Hub-Spoke组网为基于VPLS的Hub-Spoke 组网。
【文档编号】H04L12/70GK103780484SQ201410037722
【公开日】2014年5月7日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】王逸, 廖以顺, 林日锋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1