一种报文转发方法及装置与流程

文档序号:11878475阅读:152来源:国知局
一种报文转发方法及装置与流程

本发明涉及网络通信技术领域,尤其涉及一种报文转发方法及装置。



背景技术:

IRF(Intelligent Resilient Framework,智能弹性架构)是将多台设备通过堆叠口连接在一起形成一台“联合设备”。用户对这台“联合设备”进行管理,可以实现对堆叠中的所有设备进行管理。IRF堆叠中所有的单台设备称为成员设备。成员设备可以全部是集中式设备,也可以全部是分布式设备。

在现有IRF组网中,每台堆叠设备最多可以设置两个堆叠口,分别称为堆叠口1和堆叠口2,相邻堆叠设备之间的堆叠链路两端需要分别对应不同的堆叠口。例如,当设备1和设备2进行堆叠时,设备1和设备2之间的堆叠链路两端需要分别为堆叠口1和堆叠口2。

在现有IRF组网中,所有的跨框的报文都需要通过堆叠口转发。



技术实现要素:

本发明提供一种报文转发方法及装置,以实现堆叠系统中控制层面与数据层面的分离,提高系统可靠性。

根据本发明实施例的第一方面,提供一种报文转发方法,应用于堆叠系统中的堆叠设备,所述堆叠设备包括网管堆叠口和业务堆叠口,该方法包括:

通过业务堆叠口与邻居成员设备建立第一堆叠链路;

通过网管堆叠口与所述邻居成员设备建立第二堆叠链路;

当确定所述网管堆叠口的状态为激活Active状态时,通过所述网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过所述业务堆叠口连接的第一堆叠链路转发跨框数据报文。

根据本发明实施例的第二方面,提供一种报文转发装置,应用于堆叠系统中的堆叠设备,其特征在于,所述堆叠设备包括网管堆叠口和业务堆叠口,该装置包括:

连接建立单元,用于通过业务堆叠口与邻居成员设备建立第一堆叠链路,并通过网管堆叠口与所述邻居成员设备建立第二堆叠链路;

确定单元,用于确定网管堆叠口的状态;

转发单元,用于当所述确定单元确定所述网管堆叠口的状态为激活Active状态时,通过所述网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过所述业务堆叠口连接的第一堆叠链路转发跨框数据报文。

应用本发明实施例,通过为堆叠系统中的堆叠设备配置网管堆叠口和业务堆叠口,并分别通过业务堆叠口和网管堆叠口与邻居成员设备建立第一堆叠链路和第二堆叠链路,由堆叠设备监测网管堆叠口的状态,并当确定网管堆叠口的状态为Active状态时,通过网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过业务堆叠口连接的第一堆叠链路转发跨框数据报文,从而实现控制层面与数据层面的分离,提高系统可靠性。

附图说明

图1是本发明实施例提供的一种报文转发方法的流程示意图;

图2是本发明实施例提供的一种具体应用场景的架构示意图;

图3是本发明实施例提供的一种报文转发装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,如图1所示,该方法可以包括以下步骤:

需要注意的是,在本发明实施例中,步骤101~步骤102的执行主体可以为堆叠系统中的任一堆叠设备或堆叠设备中的处理器,如CPU(Center Process Unit,中央处理器),为便于描述,以下以步骤101~步骤102的执行主体为堆叠设备为例。

步骤101、通过业务堆叠口与邻居成员设备建立第一堆叠链路,并通过网管堆叠口与邻居成员设备建立第二堆叠链路。

本发明实施例中,第一堆叠链路并不特指某一固定的链路,而是可以指代堆叠设备通过业务堆叠口与邻居成员设备建立的任意堆叠链路;同理,第二堆叠链路可以指代堆叠设备通过网管堆叠口与邻居成员设备建立的任意堆叠链路,本发明实施例后续不再复述。

本发明实施例中,考虑到现有IRF组网通常将业务口设置为堆叠口,所有跨框报文(包括跨框控制报文以及跨框数据报文)均通过堆叠口转发,无法实现控制层面与数据层面的分离,当该堆叠口对应的堆叠链路故障时,控制报文以及数据报文都将中断,因而,为了实现堆叠系统中堆叠设备之间的跨框报文的控制层面与数据层面分离,提高系统可靠性,可以在堆叠系统中各堆叠设备上配置网管口作为辅助堆叠口(即网管堆叠口),各堆叠设备分别通过业务堆叠口和网管堆叠口与邻居成员设备建立第一堆叠链路(也可以称为业务堆叠链路)和第二堆叠链路(也可以称为网管堆叠链路);当网管堆叠口处于可用状态时,堆叠设备可以通过网管堆叠口连接的第二堆叠链路转发跨框控制报文;跨框数据报文则仍通过原堆叠口(本文中称为业务堆叠口)连接的第一堆叠链路转发;当网管堆叠口不可用时,则仍然同时通过业务堆叠口连接的第一堆叠链路转发跨框控制报文和跨框数据报文。

相应地,在本发明实施例中,堆叠成功建立之后,堆叠设备需要对网管堆叠口的状态进行监测,以确定网管堆叠口的状态,并根据网管堆叠口的状态确定转发跨框控制报文的路径。

作为一种可选的实施方式,在本发明实施例中,网管堆叠口的状态可以通过以下方式确定:

当网管堆叠口由初始的Down(关闭)状态转为UP(开启)时,确定所述网管堆叠口为Await(等待)状态;

当所述网管堆叠口的状态为Await状态,且堆叠成功建立,并成功下发堆叠拓扑时,确定所述网管堆叠口的状态为Connecting(连接)状态;

当所述网管堆叠口的状态为Connecting状态,且对网管堆叠链路两端的网管堆叠口交互的拓扑、端口以及配置信息检查通过时,确定所述网管堆叠口的状态为Active(激活)状态。

在该实施方式中,网管堆叠口最初为Down状态,当网管堆叠口Up时,该网管堆叠口先进入Await状态,并等待堆叠建立;

当网管堆叠口处于Await状态,且堆叠建立成功,并成功下发堆叠拓扑时,该网管堆叠口可以进入Connecting状态。

在connecting状态下,网管堆叠链路两端的网管堆叠口可以向对端发送自身的拓扑、端口以及配置等信息;其中,该拓扑信息可以包括端口所属的设备,以及与该设备形成堆叠的设备;端口信息可以包括端口号以及端口属性(即该端口是网管口还是业务端口);配置信息可以包括该端口是否使能了网管口堆叠功能(即是否为支持堆叠的网管口),并根据对端发送的拓扑、端口以及配置等信息进行检查,若检查成功(即对端的端口为与自身所属设备形成堆叠的设备上的网管口,且使能了网管口堆叠功能),则确定网管堆叠口的状态为Active状态,否则,进入ConnectErr(连接错误)状态。

举例来说,假设设备1与设备2形成堆叠,且设备1上的网管口a被配置为网管堆叠口,且使能了网管堆叠功能,则在堆叠建立成功之后,网管口a可以与网管堆叠链路对端的端口(假设为端口b)交互自身的拓扑、端口以及配置信息,假设网管口a接收到端口b发送的信息为:端口b属于设备2,与设备2形成堆叠的设备为设备1,端口b为网管端口,且使能了网管堆叠功能,则可以认为检测通过,网管口a进入Active状态。

进一步地,在该实施方式中,处于Active状态的网管堆叠口需要进行Keepalive(保活)检查,如通过与对端网管堆叠口进行心跳报文交互的方式进行Keepalive检查,并当检查通过时,网管堆叠口保持Active状态;否则,网管堆叠口由Active状态进入Inactive(未激活)状态。

当网管堆叠口处于Inactive状态时,仍然需要进行Keepalive检查,并当检查通过时,网管堆叠口由Inactive状态进入Active状态;否则,网管堆叠口保持为Inactive状态。

需要注意的是,在本发明实施例中,当端口Down时,无论网管堆叠口处于何种状态,均直接进入Down状态。

此外,当网管堆叠口处于Active状态时,可以认为网管堆叠口可用,即可以通过网管堆叠口转发跨框控制报文;当网管堆叠口处于Active之外的状态(本文中称为非激活状态,包括Inactive状态、Connecting状态、ConnectErr状态、Await状态、Down状态等),可以认为网管堆叠口不可用,即需要通过业务堆叠口转发跨框控制报文。

步骤102、当确定网管堆叠口的状态为Active状态时,通过网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过业务堆叠口连接的第一堆叠链路转发跨框数据报文。

本发明实施例中,当堆叠设备确定网管堆叠口的状态为Active状态时,堆叠设备可以通过Active状态的网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过业务堆叠口连接的第一堆叠链路转发跨框数据报文,从而,实现控制层面与数据层面的分离,提高系统可靠性。

进一步地,在本发明实施例中,考虑到一个堆叠设备上可能会存在多个网管堆叠口,且该多个网管堆叠口可能均处于Active状态,若同时通过该多个Active状态的网管堆叠口连接的第二堆叠链路进行跨框控制报文的收发,则可能会形成广播环路,因此,为了避免广播环路的出现,当堆叠设备包括多个Avtive状态的网管堆叠口时,需要从该多个网管堆叠口中确定一个主网管堆叠口,并通过该主网管堆叠口连接的第二堆叠链路转发跨框控制报文。

其中,多个网管堆叠口中的主网管堆叠口可以由用户手工静态配置,也可以由堆叠系统中的Master(主)设备根据预设规则确定,如随机选择或根据多个网管堆叠口的端口号选择端号口最小(或最大)的网管堆叠口为主网管堆叠口。

举例来说,以双主控设备堆叠系统来说,假设设备1和设备2为双主控设备,且设备1和设备2形成堆叠(设备1为Master设备),分别将设备1的主控板1上的网管口a和主控板2上的网管b配置为网管堆叠口,并将设备2的主控板1上的网管口c和主控板2上的网管口d配置为网管堆叠口,则当堆叠建立成功后,且各网管堆叠口均为Active状态时,设备1可以从网管口a和网管口b中选择一个作为主网管堆叠口,假设设备1选择网管口a为主网管堆叠口,则设备1可以通过网管口a连接的第二堆叠链路向设备2发送MasterSelect(主端口选择)报文,通知设备2将与网管口a连接的网管堆叠口设置为主网管堆叠口。

值得说明的是,在本发明实施例中,当存在多个Active状态的网管堆叠口时,只有主网管堆叠口的STP(Spanning Tree Protocol,生成树协议)状态被设置为Forward(转发)状态,非主网管堆叠口的STP状态则被设置为Block(阻塞)状态,即仅可以通过主网管堆叠口进行跨框控制报文的转发,而不能通过非主网管堆叠口进行跨框控制报文的转发。

进一步地,在本发明实施例中,当堆叠设备包括多个Active状态的网管堆叠口,且确定了主网管堆叠口之后,若主网管堆叠口的状态变为非Active状态,则需要重新从剩余的Active状态的网管堆叠口中选择新的主网管堆叠口,并通过该新的主网管堆叠口连接的第二堆叠链路转发跨框控制报文。

进一步地,在本发明实施例中,若堆叠设备的网管堆叠口为非激活状态(堆叠设备仅包括的一个网管堆叠口为非激活状态或堆叠设备包括多个网管堆叠口,但该多个网管堆叠口均为非激活状态),则堆叠设备需要通过业务堆叠口连接的第一堆叠链路转发跨框控制报文,即业务堆叠口既转发跨框数据报文,又转发跨框控制报文。

可见,在图1所示的方法流程中,通过为堆叠设备配置网管堆叠口,并分别通过业务堆叠口和网管堆叠口与邻居成员设备建立第一堆叠链路和第二堆叠链路,当堆叠设备确定网管堆叠口为Active状态时,通过网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过业务堆叠口连接的第一堆叠链路转发跨框数据报文,从而实现了控制层面与数据层面的分离,提高了系统可靠性。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。

请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,在该应用场景中,设备1和设备2为双主控设备,设备1与设备2形成堆叠,且设备1为Master设备,设备1和设备2之间除了现有业务堆叠链路(即第一堆叠链路)之外,还包括两条网管堆叠链路(即第二堆叠链路,假设分别为网管堆叠链路1和网管堆叠链路2,网管堆叠链路1两端的网管口分别为网管口a和网管口c,网管堆叠链路2两端的网管口分别为网管口b和网管口d),基于该应用场景,本发明实施例提供的报文转发方法实现如下(以从设备1的角度描述为例):

1、设备1监测网管口a和网管口c的状态,当网管口a和网管口c均为Active状态时,设备1从网管口a和网管口c中选择一个作为主网管堆叠口;

2、假设设备1选择网管口a为主网管堆叠口,则设备1可以通过网管口a向设备2发送MasterSelect报文,通知设备2将网管口a连接的网管口(即网管口c)设置为主网管堆叠口;

其中,在确定了主网管堆叠口之后,设备1可以将网管口a的STP状态设置为Forward状态,并将网管口b的STP状态设置为Block状态(设备2可以将网管口c的STP状态设置为Forward状态,并将网管口d的STP状态设置为Block状态);

3、当需要进行跨框报文转发时,设备1可以通过网管口a连接的网管堆叠链路1转发跨框控制报文,而跨框数据报文则可以通过业务堆叠链路转发。

可见,通过配置网管堆叠口,使得堆叠设备可以分别通过网管堆叠口连接的网管堆叠链路和业务堆叠口连接的业务堆叠链路转发跨框控制报文和跨框数据报文,从而实现了控制层面与数据层面的分离,提高了系统可靠性。

4、当网管口a状态由Active状态变为非激活状态(如Inactive状态或Down状态)时,设备1将网管口b设置为新的主网管堆叠口,并通知设备2将网管口d设置为新的主网管堆叠口,并通过新的主网管堆叠口连接的网管堆叠链路(即网管堆叠链路2)转发跨框控制报文;

5、当网管口a和网管口b均变为非激活状态时,设备1通过业务堆叠链路转发跨框控制报文和跨框数据报文。

通过以上描述可以看出,在本发明实施例提供的技术方案中,通过为堆叠系统中的堆叠设备配置网管堆叠口和业务堆叠口,并分别通过业务堆叠口和网管堆叠口与邻居成员设备建立第一堆叠链路和第二堆叠链路,由堆叠设备监测网管堆叠口的状态,并当确定网管堆叠口的状态为Active状态时,通过网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过业务堆叠口连接的第一堆叠链路转发跨框数据报文,从而实现控制层面与数据层面的分离,提高系统可靠性。

请参见图3,为本发明实施例提供的一种报文转发装置的结构示意图,其中,该装置可以应用于上述方法实施例中的堆叠设备,如图3所示,该装置可以包括:

连接建立单元310,用于通过业务堆叠口与邻居成员设备建立第一堆叠链路,并通过网管堆叠口与所述邻居成员设备建立第二堆叠链路;

确定单元320,用于监测网管堆叠口的状态;

转发单元330,用于当所述确定单元确定所述网管堆叠口的状态为激活Active状态时,通过所述网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过所述业务堆叠口连接的第一堆叠链路转发跨框数据报文。

在可选实施例中,所述确定单元320,还用于当所述堆叠设备包括多个Active状态的网管堆叠口时,确定所述多个Active状态的网管堆叠口中的主网管堆叠口;

所述转发单元330,用于通过所述主网管堆叠口连接的第二堆叠链路转发跨框控制报文。

在可选实施例中,所述转发单元330,还用于当所述网管堆叠口的状态为非激活状态时,通过所述业务堆叠口连接的第一堆叠链路转发跨框控制报文。

在可选实施例中,所述确定单元320,具体用于:

当网管堆叠口由初始的关闭Down状态转为开启UP时,确定所述网管堆叠口为等待Await状态;

当所述网管堆叠口的状态为Await状态,且堆叠成功建立,并成功下发堆叠拓扑时,确定所述网管堆叠口的状态为连接Connecting状态;

当所述网管堆叠口的状态为Connecting状态,且对网管堆叠链路两端的网管堆叠口交互的拓扑、端口以及配置信息检查通过时,确定所述网管堆叠口的状态为Active状态。

在可选实施例中,所述确定单元320,还用于当所述网管堆叠口的状态为Active状态或未激活Inactive状态时,对所述网管堆叠口进行保活Keepalive检查,当检查通过时,确定所述网管堆叠口为Active状态,否则,确定所述网管堆叠口为Inactive状态。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,通过为堆叠系统中的堆叠设备配置网管堆叠口和业务堆叠口,并分别通过业务堆叠口和网管堆叠口与邻居成员设备建立第一堆叠链路和第二堆叠链路,由堆叠设备监测网管堆叠口的状态,并当确定网管堆叠口的状态为Active状态时,通过网管堆叠口连接的第二堆叠链路转发跨框控制报文,并通过业务堆叠口连接的第一堆叠链路转发跨框数据报文,从而实现控制层面与数据层面的分离,提高系统可靠性。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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