链路检测方法及装置与流程

文档序号:14879265发布日期:2018-07-07 09:19阅读:200来源:国知局

本申请涉及网络通信技术领域,特别涉及一种链路检测方法及装置。



背景技术:

目前,诸如路由器和交换机等网络设备可以支持多级交换架构,每一级中包括多个交换单元,每一级中的每个交换单元均与下一级中的所有交换单元连接。采用多级交换架构可以实现严格的无阻塞(non-blocking)、可重构(re-arrangeable)、可扩展(scalable),与传统架构相比,多级交换架构在突发流量处理、拥塞避免、递归扩展上均有巨大的提升。



技术实现要素:

有鉴于此,本申请提供一种链路检测方法及装置。

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

一方面,提供了一种链路检测方法,网络设备采用两级以上交换架构,每一级单板上包含两个以上交换单元,该方法应用于任一级单板,该方法包括:

针对本单板上的每一个本端交换单元,获取本端交换单元上接入的链路的连接信息;

根据该链路的连接信息,控制本端交换单元通过该链路向该链路所接入的下一级单板上的对端交换单元发送数据单元,以使对端交换单元在接收到该数据单元后,将该数据单元通过该链路返回给本端交换单元;

在本端交换单元接收到返回的数据单元时,确定该链路双向可达。

另一方面,还提供了一种链路检测装置,网络设备采用两级以上交换架构,每一级单板上包含两个以上交换单元,该装置应用于任一级单板中,该装置包括:

信息获取单元,用于针对本单板上的每一个本端交换单元,获取本端交换单元上接入的链路的连接信息;

控制单元,用于根据信息获取单元获取到的该链路的连接信息,控制本端交换单元通过该链路向该链路所接入的下一级单板上的对端交换单元发送数据单元,以使对端交换单元在接收到该数据单元后,将该数据单元通过该链路返回给本端交换单元;

确定单元,用于在本端交换单元接收到返回的数据单元时,确定该链路双向可达。

通过本申请的以上技术方案,每一级单板控制本单板上的本端交换单元通过本端交换单元上接入的链路向下一级单板上的对端交换单元发送数据单元,以使对端交换单元接收到该数据单元后再将该数据单元通过该链路返回给本端交换单元,实现了对该链路的双向可达性的检测,即,检测本端交换单元→对端交换单元方向、以及对端交换单元→本端交换单元方向的可达性。另外,本实施例的方法可以对每一级单板上的交换单元与下一级单板上的交换单元之间的链路进行检测,从而,无论路由设备采用几级交换架构,例如采用三级以上交换架构,也可以通过对相邻两级单板上的交换单元之间的链路进行检测,最终实现不同级的单板上的交换单元之间的链路的双向可达性检测,对于单个设备和集群设备均适用。

附图说明

图1是本申请实施例示出的二级交换架构的示意图;

图2是本申请实施例示出的三级交换架构的示意图;

图3是本申请实施例示出的链路检测方法的流程图;

图4是本申请实施例示出的链路检测装置所在单板的硬件结构示意图;

图5是本申请实施例示出的链路检测装置的一种结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

目前,很多网络设备采用两级以上交换架构,例如,路由设备和交换设备均可以采用两级以上交换架构。其中,采用两级交换架构的单个设备的结构如图1所示,该设备的交换架构由stage1和stage2组成,该设备中的业务板属于stage1,交换网板属于stage2。stage1中包括n个交换单元,stage2中包括k个交换单元,stage1中的每一个交换单元均与stage2中的所有交换单元连接,其中,n和k为大于1的正整数。

由多台设备构成的集群设备采用三级以上的交换架构,如图2所示,当采用三级交换架构时,该集群设备的交换架构由stage1、stage2和stage3组成,该集群设备中的业务板属于stage1或stage3,交换网板属于stage2。stage1和stage3中均包括n个交换单元,stage2中包括k个交换单元,其中,n和k为大于1的正整数。stage1中的每一个交换单元均与stage2中的所有交换单元连接,stage2中的每一个交换单元均与stage3中的所有交换单元连接。典型的三级交换架构可以由clos架构实现。

一种可选的采用两级交换架构的单个设备中的链路检测方法中,stage1上的交换单元向stage2上的交换单元通过查找本地路由表发送单播报文,stage2上的交换单元再查找本地路由表将该单播报文返回给stage1上的交换单元,从而检测链路是否双向可达。

但是,上述方法中,stage1上的交换单元和stage2上的交换单元需要通过查找本地路由表来发送该单播报文,在发送该单播报文之前,禁止更新本地路由表,从而可能会导致数据流中断。而且,该方法没有考虑对于采用三级以上交换架构的集群设备中的链路的检测。

由此,本申请以下实施例中提供了一种链路检测方法,以及一种可以应用该方法的链路检测装置,不仅可以应用于采用两级以上交换架构的单个设备中,也可以应用于采用三级以上交换架构的集群设备中。

本申请实施例的方法可以由采用两级以上交换架构的网络设备中的每一级单板来实现,该单板可以是业务板或交换网板。该方法包括:针对本单板上的每一个本端交换单元,获取该本端交换单元上接入的链路的连接信息;根据该链路的连接信息,控制该本端交换单元通过该链路向该链路所接入的下一级单板上的对端交换单元发送数据单元,以使该对端交换单元在接收到该数据单元后,将该数据单元通过该链路返回给该本端交换单元;在该本端交换单元接收到返回的数据单元时,确定该链路双向可达。

需要说明的是,对于最后一级的单板来说,例如,采用二级交换架构的网络设备中属于stage2的交换网板,或者,采用三级交换架构的网络设备中属于stage3的业务板,由于最后一级的单板不存在下一级单板,因此,该最后一级的单板不需要执行本申请实施例的方法。

在上述实施例的方法中,单板控制本单板上的本端交换单元通过链路向下一级单板上的对端交换单元发送数据单元,以使对端交换单元接收到该数据单元后再将该数据单元通过该链路返回给本端交换单元,实现了对该链路的双向可达性的检测,即,检测本端交换单元→对端交换单元方向、以及对端交换单元→本端交换单元方向的可达性。

另外,本实施例的方法可以对每一级单板上的交换单元与下一级单板上的交换单元之间的链路进行检测,从而,无论路由设备采用几级交换架构,例如采用三级以上交换架构,也可以通过对相邻两级单板上的交换单元之间的链路进行检测,最终实现不同级的单板上的交换单元之间的链路的双向可达性的检测,对于单个设备和集群设备均适用。

如图1所示,单个设备采用二级交换架构,该架构由stage1和stage2组成,该设备中的业务板属于stage1,交换网板属于stage2。stage1中包括n个交换单元,stage2中包括k个交换单元,stage1中的每一个交换单元均与stage2中的所有交换单元连接。其中,n和k为大于1的正整数。

基于如图1所示的二级交换架构,本申请实施例中,属于stage1的业务板针对本单板上的每一个本端交换单元,均执行如图3所示的链路检测方法,该方法包括以下步骤:

步骤s301,获取本端交换单元上接入的链路的物理连接状态和连接信息。

其中,链路的物理连接状态为正常(up)或异常(down)。例如,当端口上没有连线,或者端口与接入该端口的传输线之间接触不好时,对应的链路的物理连接状态为异常。

该链路的连接信息中包括:本端交换单元的id,本端交换单元上连接该链路的本端端口的id,该链路接入的交换网板上的对端交换单元的id,对端交换单元上连接该链路的对端端口的id。可见,该链路两端分别接入:属于stage1的业务板上的本端交换单元的本端端口,以及属于stage2的交换网板上的对端交换单元的对端端口。

步骤s302,判断该链路的物理连接状态是否正常,若是,则执行步骤s303,否则,退出本流程。

步骤s303,构造数据单元(datacell)。

其中,该数据单元中可以携带该链路的连接信息。

步骤s304,根据该链路的连接信息,创建该数据单元的路由转发信息。

其中,该路由转发信息中指定了转发该数据单元的每一跳的出端口。由于该数据单元需要从本端交换单元上连接该链路的本端端口发出,到达对端交换单元上连接该链路的对端端口后,再从该对端端口返回到本端端口,因此,该路由转发信息用于指示通过两跳转发该数据单元,其中,第一跳的出端口为本端交换单元上连接该链路的本端端口,第二跳的出端口为对端交换单元上连接该链路的对端端口。

步骤s305,控制本端交换单元在该数据单元上封装该路由转发信息后,通过该链路发送给对端交换单元。

由于该路由转发信息中的第一跳的出端口为本端交换单元上的本端端口,第二跳的出端口为对端交换单元上的对端端口,因此,在步骤s305中,本端交换单元在该数据单元上封装该路由转发信息后,会通过该路由转发信息中第一跳的出端口,即本端交换单元上的本端端口发送出去,从而到达对端交换单元上的对端端口。

其中,在该数据单元上封装该路由转发信息的方式可以是:将该数据单元作为报文内容(payload),将携带有该路由转发信息的报头、以及该报文内容进行封装成一个完整的报文。

对端交换单元通过对端端口接收到该数据单元和路由转发信息后,通过该路由转发信息中第二跳的出端口,即对端交换单元上的对端端口,将该数据单元转发出去,从而到达本端交换单元上的本端端口。

步骤s307,若本端交换单元在通过该链路接收到数据单元后,判断出接收到的数据单元与发送的数据单元的内容相同,则确定该链路双向可达,否则,确定该链路不是双向可达,之后退出本流程。

在步骤s307中,通过判断接收到的数据单元与发送的数据单元的内容是否相同,可以确定出接收到的数据单元与发送的数据单元是否为同一报文。具体的,若发送的数据单元中携带有该链路的连接信息,则可以比较接收到的数据单元中携带的连接信息与发送的数据单元中携带的连接信息,若完全相同,则确定接收到的数据单元与发送的数据单元是同一报文。

其中,本单板通过轮询本端交换单元上接入的与下一级单板上的交换单元连接的所有链路,即重复执行上述步骤s301至步骤s307,直至确定出所有up状态的链路的双向可达信息。在本申请实施例的方法中还可以包括以下步骤:将确定出的所述链路是否双向可达的检测结果通知给所述网络设备中的主控板。这样,在步骤s307之后,属于stage1的业务板还可以将该链路的检测结果,即,该链路是否双向可达通知给主控板,以便管理人员通过主控板查看交换单元之间的链路的双向可达性。

在如图3所示的方法中,获取本端交换单元上接入的链路的物理连接状态,在该链路的物理连接状态正常时,才会检测该链路的双向可达性,从而,无需对物理连接状态异常的链路进行检测,避免了不必要的检测工作。

在对链路进行检测时,根据链路的连接信息创建数据单元的路由转发信息,该路由转发信息中指定了转发该数据单元的每一跳的出端口,从而,本端交换单元可以根据该路由转发信息,将该数据单元和该路由转发信息通过该链路一起发送给对端交换单元,对端交换单元也可以根据该路由转发信息将该数据单元通过该链路返回给本端交换单元,由于直接在路由转发信息中指定了每一跳的出端口,因此,在发送数据单元时无需查找本地路由表,仅根据该路由转发信息即可发送数据单元,实现了点到点的发送数据单元,进一步的,由于发送数据单元无需依赖于本地路由表,因此,也就避免了禁止更新本地路由表而导致数据流中断的问题。

另一种实施例中,如图2所示,当集群设备采用三级交换架构时,该三级交换架构由stage1、stage2和stage3组成,该集群设备中的业务板属于stage1或stage3,交换网板属于stage2。stage1和stage3中均包括n个交换单元,stage2中包括k个交换单元,其中,n和k为大于1的正整数。stage1中的每一个交换单元均与stage2中的所有交换单元连接,stage2中的每一个交换单元均与stage3中的所有交换单元连接。

基于如图2所示的三级交换架构,本申请实施例中,属于stage1的业务板针对本单板上的每一个本端交换单元,均执行如图3所示的链路检测方法,从而可以检测出属于stage1的业务板上的交换单元与属于stage2的交换网板上的交换单元之间的链路是否双向可达。另外,属于stage2的交换网板针对本单板上的每一个本端交换单元,也会执行如图3所示的链路检测方法,从而能够检测出属于stage2的交换网板上的交换单元与属于stage3的业务板上的交换单元之间的链路是否双向可达。从而,最终可以检测出stage1、stage2、stage3中任意不同级的单板上的交换单元之间的链路的双向可达性。

在本申请实施例的方法中还可以包括以下步骤:将确定出的所述链路是否双向可达的检测结果通知给所述网络设备中的主控板。这样,属于stage1的业务板和属于stage2的交换网板还可以将链路的检测结果,即链路是否双向可达通知给主控板,以便管理人员通过主控板查看交换单元之间的链路的双向可达性。

在实际实施过程中,可以按照预定时间间隔来执行本申请实施例的方法,具体的,上述链路检测方法还包括:在每一级单板上配置定时器,并判断定时器是否达到预设时间,若达到预设时间,则本单板开始轮询本端交换单元上接入的与下一级单板上的交换单元连接的所有链路。当然,也可以通过指令或事件来触发本申请实施例的方法的执行,本申请对此不做限定。本申请上述实施例的链路检测方法实现简单,链路检测结果准确,大大缩短了检测所需时间。

另外,在上述实施例的方法中,每一级单板上的本端交换单元中保存有各个本端端口的工作模式,通过本端端口的工作模式即可判断出该本端端口连接的对端交换单元所在单板是上一级单板还是下一级单板。例如,属于stage2的交换网板上的本端交换单元中保存有两种工作模式:mode1和mode2,该本端交换单元上连接属于stage1的业务板上的对端交换单元的本端端口的工作模式为mode1,该本端交换单元上连接属于stage3的业务板上的对端交换单元的本端端口的工作模式为mode2,这样,若该本端交换单元上的本端端口的工作模式为mode1,则可以判断出该本端端口连接的对端交换单元所在单板为上一级单板,若该本端交换单元上的本端端口的工作模式为mode2,则可以判断出该本端端口连接的对端交换单元所在单板为下一级单板。

与前述链路检测方法的实施例相对应,本申请还提供了链路检测装置的实施例。

图4为采用两级以上交换架构的网络设备中的单板的硬件结构图,本申请链路检测装置60的实施例可以应用在该单板上。如图4所示,该单板中包括:处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50,此外,根据该单板的实际功能,该单板中还可以包括其他硬件,对此不再赘述。

本申请实施例的链路检测装置60可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在单板的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。

请参考图5,本申请实施例的链路检测装置60中包括:获取单元601、控制单元602和确定单元603,其中:

信息获取单元601,用于针对本单板上的每一个本端交换单元,获取本端交换单元上接入的链路的连接信息;

控制单元602,用于根据信息获取单元601获取到的该链路的连接信息,控制本端交换单元通过该链路向该链路所接入的下一级单板上的对端交换单元发送数据单元,以使对端交换单元在接收到该数据单元后,将该数据单元通过该链路返回给本端交换单元;

确定单元603,用于在本端交换单元接收到返回的数据单元时,确定该链路双向可达。

其中,控制单元602具体用于通过以下方式根据信息获取单元601获取到的该链路的连接信息,控制本端交换单元通过该链路向该链路所接入的下一级单板上的对端交换单元发送数据单元:

根据信息获取单元601获取到的该链路的连接信息,创建数据单元的路由转发信息,其中,该路由转发信息中指定了转发该数据单元的每一跳的出端口;

控制本端交换单元在该数据单元上封装该路由转发信息后,通过该链路发送给下一级单板上的对端交换单元,以使对端交换单元根据该路由转发信息,将该数据单元通过该链路返回给本端交换单元。

其中,该路由转发信息用于指示通过两跳转发该数据单元,其中,第一跳的出端口为本端交换单元上连接该链路的本端端口,第二跳的出端口为下一级单板上的对端交换单元上连接该链路的对端端口。

其中,该链路的连接信息中包括:本端交换单元的id,本端交换单元上连接该链路的本端端口的id,下一级单板上的对端交换单元的id,对端交换单元上连接该链路的对端端口的id。

其中,确定单元603具体用于通过以下方式在本端交换单元接收到返回的数据单元时,确定该链路双向可达:

若本端交换单元在通过该链路接收到数据单元后,判断出接收到的数据单元与发送的数据单元的内容相同,则确定该链路双向可达。

其中,信息获取单元601,还用于获取该链路的物理连接状态;

则,控制单元602具体用于若信息获取单元601获取到的该链路的物理连接状态为正常,则根据信息获取单元601获取到的该链路的连接信息,控制本端交换单元通过该链路向该链路所接入的下一级单板上的对端交换单元发送数据单元。

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

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

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

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