报文转发方法和装置与流程

文档序号:14879605发布日期:2018-07-07 09:22阅读:192来源:国知局

本申请涉及网络通信技术领域,特别涉及报文转发方法和装置。



背景技术:

802.1br定义了具有端口扩展能力的交换机由一个(组)控制桥(cb:controllingbridge)树形连接多个端口扩展桥(pe:portextender)组成。

pe为cb提供了端口数量以及端口接入能力的扩展,通过上行口(upstreamport)连接上级pe或者cb,通过级联口(cascadeport)连接下级pe。cb之间可以级联,cb对pe上的端口进行虚端口(vport)映射管理,通过cascadeport连接pe。图1示出了802.1br定义的交换机结构图。



技术实现要素:

本申请提供了报文转发方法和装置,以实现pe堆叠参与报文转发。

具体地,本申请是通过如下技术方案实现的:

一种报文转发方法,其特征在于,该方法应用于堆叠系统中的端口扩展桥pe,所述堆叠系统为两个以上pe相互堆叠形成的,该方法包括:

接收第一报文;

依据所述第一报文携带的以太转发通道标识符ecid确定所述ecid关联的级联eport;

若所述级联eport绑定的级联口为本地级联口,则通过本地级联口转发所述第一报文;

若所述级联eport绑定的级联口属于所述堆叠系统中其他pe上的级联口,则通过本pe至所述级联eport绑定的级联口所属pe的路径所连接的堆叠口转发所述第一报文。

一种报文转发装置,该装置应用于堆叠系统中的端口扩展桥pe,所述堆叠系统为两个以上pe相互堆叠形成的,该装置包括:

报文接收单元,用于接收第一报文;

确定单元,用于依据所述第一报文携带的以太转发通道标识符ecid确定所述ecid关联的级联eport;

转发单元,用于当所述确定单元确定所述级联eport绑定的级联口为本地级联口,则通过本地级联口转发所述第一报文;当所述确定单元确定所述级联eport绑定的级联口属于所述堆叠系统中其他pe上的级联口,则通过本pe至所述级联eport绑定的级联口所属pe的路径所连接的堆叠口转发所述第一报文。

通过本申请的以上技术方案,在本申请中,pe之间相互堆叠形成堆叠系统,当pe接收第一报文(来自cb的报文)时,依据所述第一报文携带的以太转发通道标识符ecid确定所述ecid关联的级联eport;若所述级联eport绑定的级联口为本地级联口,则通过本地级联口转发所述第一报文;若所述级联eport绑定的级联口属于所述堆叠系统中其他pe上的级联口,则通过本pe至所述级联eport绑定的级联口所属pe的路径所连接的堆叠口转发所述第一报文,实现pe之间堆叠形成的堆叠系统参与报文的转发。

附图说明

图1是现有802.1br定义的交换机结构图;

图2为本申请提供的802.1br组网示意图;

图3为本申请提供的方法流程图;

图4为本申请提供的第一实施例实现流程图;

图5为本申请提供的第二实施例实现流程图;

图6为本申请提供的另一流程图;

图7为本申请提供的装置结构图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

在802.1br组网中,pe可通过堆叠方式与cb堆叠,但不能实现pe与pe之间的堆叠。为便于描述,将pe与cb的堆叠称为纵向堆叠,而将pe与pe之间的堆叠称为横向堆叠。

在本申请提供的方法中,将pe与pe进行横向堆叠。其中,pe之间的横向堆叠可按照现有堆叠方式建立。图2示出了横向堆叠结构的802.1br组网。

在图2中,pe1、pe2为一级pe,pe3、pe4为二级pe,pe1、pe2、pe3、pe4与cb进行纵向堆叠,pe1和pe2进行横向堆叠。为便于理解,将pe1和pe2进行横向堆叠组成的堆叠系统称为一级pe堆叠系统。在一级pe堆叠系统中,pe1为master,pe2为slave。p5、p6、p7、p8为一级pe堆叠系统中pe1与pe2之间的堆叠口。

在图2中,p1、p2分别为cb的级联口,p3、p4分别为一级pe即pe1、pe2的上行口。p9、p11为一级pe即pe1、pe2的级联口,p10、p12为二级pe即pe3、pe4的上行口,其中,pe3通过上行口p10连接在一级pe堆叠系统中作为master的pe1上,pe4通过上行口p12连接在一级pe堆叠系统中作为slave的pe2上。

基于图2所示组网,本申请提供了应用于包含横向堆叠和纵向堆叠的802.1br组网中的报文转发方法,具体如图3所示。

参见图3,图3为本申请提供的报文转发方法流程图。该流程适用于包含横向堆叠和纵向堆叠的802.1br组网中,具体可应用于横向堆叠系统(pe之间横向堆叠组成的堆叠系统)中的pe。

如图3所示,该流程可包括以下步骤:

步骤301,接收第一报文。

作为一个实施例,这里的第一报文可为具体可为来自cb侧的协议报文,也称下行报文。在一个例子中,这里的第一报文可为诸如lldp报文、lacp报文等的协议报文。

步骤302,依据所述第一报文携带的以太转发通道标识符(ecid:e-tagchannelidentifier)确定所述ecid关联的级联eport。

步骤303,若所述级联eport绑定的级联口为本地级联口,则通过本地级联口转发所述第一报文;若所述级联eport绑定的级联口属于所述堆叠系统中其他pe上的级联口,则通过本pe至所述级联eport绑定的级联口所属pe的路径所连接的堆叠口转发所述第一报文。

通过图3所示流程,能够实现pe之间横向堆叠参与下行报文的转发。这里的下行报文可为下行协议报文。

下面以图2所示的组网对图3所示流程进行描述:

在图2所示的组网中,假如pe1通过本地上行口p3接收到报文。

当pe1通过本地上行口p3接收到报文时,依据报文携带的ecid确定ecid关联的级联eport。

假若pe1确定出的级联eport绑定的级联口为本地级联口p9,则pe1将报文重定向至本地级联口p9进行转发,具体见如图2所示的虚线21。

假若pe1确定出的级联eport绑定的级联口为pe2上的本地级联口p10,则确定本pe1至级联eport绑定的级联口p10所属pe2的路径所连接的堆叠口,该确定出的堆叠口为堆叠口p5,则pe1将报文重定向至本pe1与pe2之间的堆叠口p5进行转发。当pe2通过本地堆叠口p7接收到报文时,依据报文携带的ecid确定ecid关联的级联eport,发现确定出的级联eport绑定的级联口为本地级联口p10,则pe2将报文重定向至本地级联口p11进行转发,具体见如图2所示的虚线22。

作为一个实施例,在本申请中,为了实现图3所示流程,需要做到以下两点:

第一点:横向堆叠系统中各pe之间的级联口被分配的ecid相互间同步。

第二点:横向堆叠系统中各pe之间的级联口绑定的eport(称为级联eport)同步。

其中,为了做到上述两点,下面分别站在横向堆叠系统中作为master的pe和作为slave的pe两个角度描述:

参见图4,图4为本申请提供的第一实施例实现流程图。该流程应用于横向堆叠系统中作为master的pe。

如图4所示,该流程可包括以下步骤:

步骤401,master分配与本地级联口绑定且与本地级联口对应的第一ecid所关联的第一级联eport,将第一ecid和第一级联eport通过本地堆叠口发送给堆叠系统中的slave。

这里,master本地级联口对应的第一ecid是由cb分配的。

步骤402,master通过本地堆叠口接收slave本地级联口对应的第二ecid,分配与slave本地级联口绑定且关联第二ecid的第二级联eport并通知给所述堆叠系统中的slave。

作为一个实施例,master通过本地堆叠口除了接收第二ecid之外,还可以进一步接收级联eport分配请求,之后,master可依据级联eport分配请求分配与slave本地级联口绑定且关联第二ecid的第二级联eport。

通过步骤401至步骤402能够实现上述两点。

至此,完成图4所示流程。

参见图5,图5为本申请提供的第二实施例实现流程图。该流程应用于横向堆叠系统中作为slave的pe。

如图5所示,该流程可包括以下步骤:

步骤501,作为slave的pe通过本pe与所述堆叠系统中master之间的堆叠口发送本地级联口对应的第二ecid、以及接收所述master分配的与本地级联口绑定且关联所述第二ecid的第二级联eport。

这里,slave本地级联口对应的第二ecid为cb分配的。

作为一个实施例,作为slave的pe通过本pe与所述堆叠系统中master之间的堆叠口发送本地级联口对应的第二ecid之外,还可进一步通过本pe与所述堆叠系统中master之间的堆叠口发送级联eport分配请求,以请求master分配与本slave本地级联口绑定且关联所述第二ecid的第二级联eport。

步骤502,作为slave的pe通过所述堆叠口接收master本地级联口对应的第一ecid和关联第一ecid且绑定master本地级联口的第一级联eport、以及其他slave本地级联口对应的第三ecid和关联第三ecid且绑定其他slave本地级联口的第三级联eport。

通过步骤501至步骤502能够实现上述两点。

至此,完成图5所示流程。

仍然以图2所示组网为例,对图4和图5所示流程进行描述:

在图2中,假如为图2所示横向堆叠系统中的pe1作为master,pe2为slave。

如图2所示,pe1通过本地上行口p3接收到cb为本地级联口p9分配的ecid(记为ecid1_1)。

pe1分配与本地级联口p9绑定且关联ecid1_1的级联eport(记为eport100)。在具体实现时,pe1可按照设定的eport算法分配eport,最终分配出的级联eport与ecid1_1一一对应。

pe1通过本地堆叠口p5将ecid1_1、eport100发送给pe2。pe2通过本地堆叠口p7收到pe1发送的ecid1_1、eport100时,存储接收的ecid1_1、eport100,最终实现pe1本地级联口p9的ecid1_1、绑定的eport100同步给同一横向堆叠系统中的pe2。

对于pe2,当pe2通过本地上行口p4接收到cb为本地级联口p11分配的ecid(记为ecid1_2)时,pe2通过本地堆叠口p7将ecid1_2和级联eport分配请求发送给pe1。pe2通过本地堆叠口p7将ecid1_2发送给pe1,其目的是实现pe2本地级联口p11的ecid1_2同步给pe1。

pe1通过本地堆叠口p5接收到ecid1_2和级联eport分配请求,依据级联eport分配请求分配与pe2本地级联口p11绑定且关联该接收的ecid1_2的级联eport(记为eport200),将分配的eport200通过本地堆叠口p5发送给pe2。pe2通过本地堆叠口p7收到pe1发送的eport200时,存储接收的eport200、和已接收的与eport200关联的ecid1_2,最终实现pe2本地级联口p11的ecid1_2、绑定的eport200同步给同一横向堆叠系统中的pe1。

通过上面描述,实现了报文不管从横向堆叠系统中哪一个pe设备进入,收到报文的pe设备最终都能为报文找到对应的出端口转发,防止找不到出端口而丢包的问题。

需要说明的是,上述图3所示流程是以pe通过本地上行口接收报文(下行报文)的前提进行描述的。对应地,当pe通过本地级联口接收报文(上行报文)时,本申请还提供了相应方法,具体参见图6所示流程。

参见图6,图6为本申请提供的另一流程图。如图6所示,该流程可包括以下步骤:

步骤601,横向堆叠系统中的pe接收第二报文。

作为一个实施例,这里的第二报文可为具体可为发向cb侧的协议报文,也称上行报文。在一个例子中,这里的第二报文可为诸如lldp报文、lacp报文等的协议报文。

步骤602,从本堆叠系统的所有上行eport中选择一个上行eport;

步骤603,若所述上行eport绑定的上行口为本地上行口,则通过本地上行口转发所述第二报文;若所述上行eport绑定的上行口属于所述堆叠系统中其他pe上的上行口,则通过本pe至所述上行eport绑定的上行口所属pe的路径所连接的堆叠口转发所述第二报文。

通过图6所示流程,能够实现pe之间横向堆叠参与上行报文的转发。这里的上行报文可为上行协议报文。

下面以图2所示的组网对图6所示流程进行描述:

在图2所示的组网中,假如pe1通过本地级联口p9接收到报文。

当pe1通过本地级联口p9接收到报文时,从本堆叠系统的所有上行eport中选择一个上行eport;

假若pe1确定出的上行eport绑定的上行口为本地上行口p3,则pe1将报文重定向至本地上行口p3进行转发,具体见如图2所示的虚线23。

假若pe1确定出的上行eport绑定的上行口为pe2上的本地上行口p4,则pe1确定本pe1至上行eport绑定的上行口p4所属pe2的路径所连接的堆叠口,该确定出的堆叠口为堆叠口p5,则pe1将报文重定向至本pe1与pe2之间的堆叠口p5进行转发。当pe2通过本地堆叠口p7接收到报文时,从本堆叠系统的所有上行eport中选择一个上行eport;发现选择出的上行eport绑定的上行口为本地上行口p4,则pe2将报文重定向至本地上行口p4进行转发,具体见如图2所示的虚线24。

作为一个实施例,在本申请中,为了实现图6所示流程,除了上述两点外,还需要做到以下一点:

第三点,横向堆叠系统中各pe之间的上行口绑定的eport(称为上行eport)同步。

为了做到第三点,

对于作为master的pe,其需要执行以下步骤:为本地上行口分配绑定的上行eport并通过本地堆叠口通知给所述堆叠系统中的slave;以及,为所述堆叠系统中slave本地的上行口分配绑定的上行eport并通知给所述堆叠系统中slave;需要说明的是,这里作为master的pe为所述堆叠系统中slave本地的上行口分配绑定的上行eport可基于slave发送的上行eport请求执行。

对于作为slave的pe,其需要执行以下步骤:通过本pe与所述堆叠系统中master之间的堆叠口接收所述master为本slave本地的上行口分配的上行eport、所述master本地上行口绑定的上行eport、以及所述堆叠系统中其他slave上本地上行口绑定的上行eport。作为一个实施例,为方便作为master的pe为本slave本地的上行口分配的上行eport,本slave可通过与master之间的堆叠口发送上行eport分配请求。

下面以图2所示的组网举例描述如何实现第三点:

在图2所示的组网中,假如为图2所示横向堆叠系统中的pe1作为master,pe2为slave。

如图2所示,pe1为本地上行口p3分配绑定的上行eport(记为eport300)。在具体实现时,pe1可按照设定的eport算法分配eport,最终分配出的上行eport唯一。

pe1通过本地堆叠口p5将eport300发送给pe2。pe2通过本地堆叠口p7收到pe1发送的eport300时,存储接收的eport300,最终实现pe1本地上行口p3绑定的eport300同步给同一横向堆叠系统中的pe2。

对于pe2,pe2通过本地堆叠口p7发送请求,以请求作为master的pe1为pe2本地上行口p4分配上行eport。当pe通过本地堆叠口p5收到请求时,为pe2本地上行口p4分配上行eport(记为eport400),并通过堆叠口p5发送给pe2,pe2通过本地堆叠口p7接收本地上行口p4被分配的上行eport(记为eport400)。通过该操作,实现pe1、pe2之间同步上行口绑定的上行eport。

通过上面描述,实现了报文不管从横向堆叠系统中哪一个pe设备进入,收到报文的pe设备最终都能为报文找到对应的出端口转发,防止找不到出端口而丢包的问题。

至此,完成本申请提供的方法描述。

下面对本申请提供的装置进行描述:

参见图7,图7为本申请提供的装置结构图。该装置应用于堆叠系统中的端口扩展桥pe,所述堆叠系统为两个以上pe相互堆叠形成的,该装置包括:

报文接收单元,用于接收第一报文;

确定单元,用于依据所述第一报文携带的以太转发通道标识符ecid确定所述ecid关联的级联eport;

转发单元,用于当所述确定单元确定所述级联eport绑定的级联口为本地级联口,则通过本地级联口转发所述第一报文;当所述确定单元确定所述级联eport绑定的级联口属于所述堆叠系统中其他pe上的级联口,则通过本pe至所述级联eport绑定的级联口所属pe的路径所连接的堆叠口转发所述第一报文。

作为一个实施例,该装置进一步包括:

同步单元,用于在本pe为所述堆叠系统中的主设备master,分配与本地级联口绑定且与本地级联口对应的第一ecid所关联的第一级联eport,将第一ecid和第一级联eport通过本地堆叠口发送给堆叠系统中的备设备slave;以及,通过本地堆叠口接收slave本地级联口对应的第二ecid,分配与slave本地级联口绑定且关联第二ecid的第二级联eport并通知给所述堆叠系统中的slave;

所述确定单元依据第一报文携带的以太转发通道标识符ecid确定所述ecid关联的级联eport包括:

从所述同步单元已分配的所有级联eport中确定与第一报文携带的ecid相关联的级联eport。

作为一个实施例,所述同步单元,用于在本pe为所述堆叠系统中的slave时,通过本pe与所述堆叠系统中master之间的堆叠口发送本地级联口对应的第二ecid、以及接收所述master分配的与本地级联口绑定且关联所述第二ecid的第二级联eport;以及,通过所述堆叠口接收master本地级联口对应的第一ecid和关联第一ecid且绑定master本地级联口的第一级联eport、以及其他slave本地级联口对应的第三ecid和关联第三ecid且绑定其他slave本地级联口的第三级联eport;

所述确定单元依据第一报文携带的以太转发通道标识符ecid确定所述ecid关联的级联eport包括:

从所述同步单元已接收的所有级联eport中确定与第一报文携带的ecid相关联的级联eport。

作为一个实施例,所述报文接收单元还用于接收第二报文;

所述确定单元还用于在所述报文接收单元通过本地级联口接收报文时从本堆叠系统的所有上行eport中选择一个上行eport;

所述转发单元还应用于当所述上行eport绑定的上行口为本地上行口,则通过本地上行口转发所述第二报文;当所述上行eport绑定的上行口属于所述堆叠系统中其他pe上的上行口,则通过本pe至所述上行eport绑定的上行口所属pe的路径所连接的堆叠口转发所述第二报文。

作为一个实施例,所述同步单元进一步用于当本pe为所述堆叠系统中的主设备master,则为本地上行口分配绑定的上行eport并通过本地堆叠口通知给所述堆叠系统中的slave;以及,为所述堆叠系统中slave本地的上行口分配绑定的上行eport并通知给所述堆叠系统中slave;

当本pe为所述堆叠系统中的slave,则通过本pe与所述堆叠系统中master之间的堆叠口接收所述master为本slave本地的上行口分配的上行eport、所述master本地上行口绑定的上行eport、以及所述堆叠系统中其他slave上本地上行口绑定的上行eport。

至此,完成图7所示装置的结构描述。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1