一种确定路由转发路径的方法和装置与流程

文档序号:11292094阅读:362来源:国知局
一种确定路由转发路径的方法和装置与流程

本申请涉及网络通信技术领域,特别涉及一种确定路由转发路径的方法和装置。



背景技术:

isis(intermediatesystem-to-intermediatesystem,中间系统到中间系统)协议是一种广泛应用的网络路由协议,应用于运行isis的网络中的路由器。基于所述isis协议,路由器通常需要通过4个步骤确定路由转发路径,所述4个步骤分别为邻接关系的建立与维护、lsp(linkstateprotocoldataunit,链路状态协议数据单元)生成、lsp的扩散和同步、路由计算。所述isis支持分层体系,可以分为level-1、level-2。所述路由器按照其所在的层次可以分为路由器level-1、路由器level-2、路由器level-1-2。

请参见图1,图1为现有技术方案中确定路由转发路径的网络连接示意图。假设图1中的所有路由器均在同一个level。路由器a自动发现与其相邻的其它路由器(路由器b、路由器c、路由器e),并与这些路由器分别建立连接。路由器b、路由c、路由器d、路由器e、路由器f均和路由器a一样,自动发现与其相邻的其它路由器,并与这些路由器分别建立邻接关系。

各路由器建立邻接关系后,均基于邻接关系以及其要发布的ip可达网段等信息建立lsp。其中,当路由器的邻接关系的增多,或者路由器的发布的ip可达网段信息增多时,路由器生成的lsp的数量也会增多。各路由器生成lsp后,均会将各自生成的lsp在运行isis的网络中传输,以使各路由器保存所述运行isis网络中的所有路由器生成的lsp。各路由器得到所有路由器产生的lsp后,各自通过spf(shortestpathfirst,最短路径)算法计算路由转发路径以确定各自的路由转发路径。

现有技术方案中,属于同一个level的各路由器均需要保存其所在level的所有路由器生成的lsp。在同一个level的路由器数量比较庞大的情况下,各路由器需要保存的lsp的数量也比较庞大,因此,各路由器均需要提供较大的存储空间来存着这些lsp,这对存储空间有限的路由器来说是一个很大的挑战。

在各路由器生成lsp后,需要将生成的lsp传输至同一level的其它所有路由器。在运行isis的网络中,同一level的路由器的数量比较庞大的情况下,lsp的传输速度会受到影响,同时,大量lsp在运行isis的网络中传输,会消耗所述isis网络带宽资源。

各路由器计算路由转发路径采用spf算法,所述spf算法需要所述运行isis的网络中同一level的各路由器保存的lsp信息一致。由于lsp在所述isis网络中是逐跳进行传输的,因此,在所述isis网络中,同一level的路由器的数量比较庞大的情况下,各路由器接收到新的lsp的时间会不一样,导致在一定时间内各路由器保存的lsp信息不一致,这不满足执行所述spf算法计算路由转发路径的条件。同时,由于各路由器在一定时间内保存的lsp信息的不一致,以及各路由器计算路由转发路径的速度不一样,因此各路由器计算得到的路由转发路径不一致,从而会导致丢包以及环路等情况。

另外,各路由器中的cpu通过spf算法计算路由转发路径时,cpu的负担会随着lsp的数量的增加而增大,这对cpu计算能力比较弱的路由器来说是一个很大的挑战。



技术实现要素:

为了解决相关技术中的问题,本申请提供一种确定路由转发路径的方法和装置,通过设置isis服务端,其中所述isis服务端分别与各路由设备相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至同一level的其它各路由设备,以实现节省路由设备内存和cpu资源,减少网络带宽消耗,提高网络扩散速度与信息一致性的目的。

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

一种确定路由转发路径的方法,应用于isis服务端,所述isis服务端分别与各路由设备相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至其它各路由设备,包括:

接收各路由设备发送的lsp;其中,所述lsp为各路由设备生成的lsp;

基于所述lsp,通过spf算法为各路由设备计算路由转发路径;

将各路由转发路径发送至对应的路由设备。

一种确定路由转发路径的方法,应用于路由设备,所述路由设备与isis服务端相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至其它各路由设备,包括:

向所述isis服务端发送lsp;其中,所述lsp为本路由设备生成的lsp;

接收所述isis服务端发送的路由转发路径;其中,所述路由转发路径为所述isis服务端基于各路由设备发送的lsp,通过spf算法为本路由设备计算得到的路由转发路径;

保存所述路由转发路径。

一种确定路由转发路径的装置,应用于isis服务端,所述isis服务端分别与各路由设备相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至其它各路由设备,包括:

接收单元,用于接收各路由设备发送的lsp;其中,所述lsp为各路由设备生成的lsp;

计算单元,用于基于所述lsp,通过spf算法为各路由设备计算路由转发路径;

发送单元,用于将各路由转发路径发送至对应的路由设备。

一种确定路由转发路径的装置,应用于路由设备,所述路由设备与isis服务端相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至其它各路由设备,包括:

发送单元,用于向所述isis服务端发送lsp;其中,所述lsp为本路由设备生成的lsp;

接收单元,用于接收所述isis服务端发送的路由转发路径;其中,所述路由转发路径为所述isis服务端基于各路由设备发送的lsp,通过spf算法为本路由设备计算得到的路由转发路径;

保存单元,用于保存所述路由转发路径。

本申请提供的技术方法带来的有益效果:

本技术方案中,由于在isis网络中设置了isis服务端,所述isis服务端分别与所述isis网络中的各路由设备相连。各路由设备基于其建立的邻接关系以及其要发布的ip可达网段等信息生成lsp后,各路由设备不再将自己生成的lsp在所述isis网络中传输至同一level的其它所有路由设备,而是将这些lsp发送至所述isis服务端。所述isis服务端将各路由设备发送的lsp的进行统一存储,并基于所述lsp,通过spf算法为各路由设备计算路由转发路径。最后将计算得到的各路由转发路径发送至对应的路由设备。

本技术方案中,各路由设备生成lsp后不再存储lsp,由所述isis路由器进行统一存储,因此,节省了各路由器的存储空间。

各路由设备生成的lsp后只需要将lsp发送至isis服务端,而不再需要将lsp逐跳传输至同一level的其它所有路由设备。isis服务端接收到lsp后,同一level中的各路由设备的lsp信息即自动实现同步,因此,提高了实现同一level中的各路由设备的lsp信息一致性的速度,同样避免了从路由设备将生成的lsp发出,至同一level的其它路由设备均接收到所述lsp的这段时间内,同一level中的各路由设备的lsp信息不一致的情况,同时,减少了所述isis网络的带宽消耗。

另外,各路由设备不再需要自己通过spf算法计算路由转发路径,由所述isis服务端为各路由设备计算路由转发路径,因此减少了各路由设备的cpu的负担。

附图说明

图1为现有技术方案中确定路由转发路径的网络连接示意图;

图2为本申请实施例一示出的一种网络连接示意图;

图3为本申请实施例一示出的一种确定路由转发路径的方法流程图;

图4为本申请一种确定路由转发路径的装置所在isis服务端的一种硬件结构图;

图5为本申请实施例二示出的一种确定路由转发路径的装置;

图6为本申请一种确定路由转发路径的装置所在路由设备的一种硬件结构图;

图7为本申请实施例三示出的一种确定路由转发路径的装置。

具体实施方式

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

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

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

请参见图1所示的网络连接示意图。当各路由器与相邻的路由器建立邻接关系后,可以基于其建立的邻接关系以及其要发布的ip可达网段等信息生成lsp。路由器a、b、c、d、e、f可以生成的lsp中的拓扑信息如下所示:

路由器a:a→b、a→c、a→e;

路由器b:b→a、b→e、b→d、b→f;

路由器c:c→a、c→e、c→d;

路由器d:d→c、d→e、d→b、d→f;

路由器e:e→a、e→b、e→c、e→d;

路由器f:f→b、f→d。

在现有技术中,当路由器基于其建立的邻接关系以及其要发布的ip可达网段等信息生成lsp后,将会把自己生成的lsp同步至同一level中的其它各路由器,实现同一level中的各路由器保存同一level中的所有路由器基于其建立的邻接关系以及其要发布的ip可达网段等信息生成的lsp。比如,图1中,路由器a、b、c、d、e、f在同一level中,各路由器保存的lsp均为:lsp(a→b、a→c、a→e)、lsp(b→a、b→e、b→d、b→f)、lsp(c→a、c→e、c→d)、lsp(d→c、d→e、d→b、d→f)、lsp(e→a、e→b、e→c、e→d)、lsp(f→b、f→d)。

如果运行isis的网络中同一level中的路由器的数量比较庞大,那么各路由器需要保存的lsp的数量也会变得比较庞大,各路由器均需要提供大量的存储空间来保存这些lsp。

因此,路由器需要有足够大的存储空间来保存这些lsp,然而对于存储空间比较小的路由器来说,无法存储大量的lsp。

在现有技术中,路由器将生成的lsp同步至同一level的其它路由器时,采用逐跳传输的方式。参考图1,路由器a将生成的lsp同步至同一level的其它路由器时,先将lsp传输至路由器b、c、e,路由器b、c、e将接收到lsp保存后,继续将所述lsp传输至除路由器a以外与它相邻的其它路由器,下一个路由器接收到lsp后,同样保存所述lsp,并继续将所述lsp传输至除所述lsp发送方的路由器以外的其它相邻路由器,以此类推。

因此,路由器将生成的lsp同步至同一level的其它路由器时,同一level的其它路由器接收到所述lsp有先后顺序。从而,从路由器将生成的lsp发出,至同一level的其它路由器均接收到所述lsp的这段时间内,在同一level的各路由器保存的lsp不一致。如果这段时间很短,短到可以忽略不计,则认为这段时间内,在同一level的各路由器保存的lsp一致;反之,如果这段时间比较长,不能忽略不计,则认为这段时间内,在同一level的各路由器保存的lsp不一致。其中,这段时间的长短与运行isis的网络中的路由器的数量有关,数量越庞大,这段时间越长。

由此可见,随着运行isis的网络中路由器数量的增多,路由器生成的lsp在同一level中的各路由器实现同步所需要花费的时间越多,即速度越慢。此外,随着运行isis的网络中路由器数量的增多,同一level中的各路由器实现同步所需要传输的报文数量也会增加,因此会消耗网络带宽资源。

由于,各路由器通过spf算法计算路由转发路径,其中,所述spf算法要求同一level中各路由器保存的lsp一致。因此,从路由器将生成的lsp发出,至同一level的其它路由器均接收到所述lsp的这段时间内,如果这段时间比较长,长到不能忽略不计,则认为不满足spf算法的要求,那么在这段时间内各路由器依然采用spf算法计算得到的路由转发路径是不正确的,在这段时间内,各路由器依然按照不正确的路由转发路径对接收到的报文进行转发,容易导致错误丢包以及环路等情况的出现。

在现有技术中,各路由器保存了同一level中各路由器生成的lsp后,各自通过spf算法计算本路由器的路由转发路径。随着运行isis的网络中的路由器数量的增多,各路由器需要保存的lsp增多。lsp数量越多,路由器的cpu通过spf算法进行计算时的负担越大。

实施例一

为了解决上述现有技术中的问题,本申请实施例一提供了一种确定路由转发路径的方法,应用于路由设备和isis服务端,其中所述isis服务端分别与各路由设备相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp同步至其它各路由设备。请参见图2,图2为本申请实施例一示出的一种网络连接示意图。

对比图1和图2可以看出,在本申请中,在运行isis的网络中设置isis服务端,其中,所述isis服务端可以是一台独立的设备,或者由多台设备组成的服务集群,又或者可以是由一台运行isis的设备来兼任,在本申请中,所述isis服务端的具体组成结构不进行限定。

其中,所述路由设备可以是路由器,也可以是其它路由设备,比如三层交换机。

请参见图3,图3为本申请实施例一示出的一种确定路由转发路径的方法流程图。具体执行以下步骤:

步骤301:各路由设备向isis服务端发送lsp;其中,所述lsp为各路由设备基于其建立的邻接关系以及其要发布的ip可达网段等信息生成的lsp;

在本实施例中,当各路由设备生成lsp后,各路由设备将会向isis服务端发送所述lsp,而不再将所述lsp同步至同一level的其它路由设备。

步骤302:所述isis服务端统一保存各路由设备发送的lsp;

在本实施例中,所述isis服务端提供了足够大的存储空间,用来存储lsp。当isis服务器接收到各路由设备发送的lsp后,可以对所述lsp进行并集运算,并保存运算得到的lsp保存至本端的存储空间。

相比于现有技术中,各路由设备保存一份同一level中各路由器基于邻接关系生成的lsp,本实施例提出的由isis服务端统一保存一份各路由设备基于邻接关系生成的lsp,可以节省各路由设备的存储资源,尤其,有利于存储空间比较小的路由设备。同时,也可以减少运营商花费在路由设备上的成本。

其中,所述spf算法要求同一level中各路由设备中保存的lsp保持一致。在本实施例中,由isis服务端统一保存各路由设备生成的lsp。当各路由设备将本端生成的lsp发送至所述isis服务端时,就实现了各路由设备的lsp保持一致。因此,相比于现有技术中,从路由设备将生成的lsp发出,至同一level的其它路由设备均接收到所述lsp的这段时间内,如果这段时间比较长,同一level中的各路由设备保存的lsp不一致,导致不满足spf算法的要求,以及不满足spf算法时仍然按照spf算法计算得到的不正确的路由转发路径所造成错误丢包、环路等情况,本实施例提出的由isis服务端统一保存各路由设备生成的lsp,可以避免不满足spf算法的情况。

同时,相比于现有技术中,各路由设备将生成的lsp通过逐跳传输的方式同步至同一level中的其它各路由设备,实现同一level中各路由设备同步的速度随着运行isis的网络中的路由设备的数量的增多而变慢,本实施例提出的由isis服务端统一保存各路由设备生成的lsp,当各路由设备将本端生成的lsp发送至所述isis服务端时,就实现了各路由设备的同步,因此通过本实施例提出的技术方案,从而可以提高同一level中的各路由设备同步的速度。

另外,相比于现有技术中,随着运行isis的网络中路由设备数量的增多,同一level中的各路由设备实现同步所需要传输的报文数量也会增加,从而消耗网络带宽资源,本实施例中,各路由设备只需将生成的lsp发送至isis服务端,而不再在运行isis的网络进行传输,因此,可以节省网络带宽的消耗。

步骤303:所述isis服务端通过spf算法为各路由设备计算路由转发路径;

在本实施例中,当所述isis服务端将并集运算得到的lsp保存至本端的存储空间后,所述isis服务端可以基于所述lsp,通过spf算法为各路由设备计算路由转发路径。

其中,在本实施例中,所述isis服务端配置的cpu为计算能力和处理能力比较强的cpu。从而提高运行isis的网络的收敛速度和响应速度。

相比于现有技术中,由各路由设备通过spf算法计算本路由设备的路由转发路径,随着lsp数量增多,路由设备的cpu负担也会增大,本实施例中,由所述isis服务端为各路由设备计算路由转发路径,从而可以为各路由设备的cpu减轻负担,尤其,有利于cpu计算能力比较弱的路由设备。同时,也可以减少运营商花费在路由设备上的成本。

步骤304:所述isis服务端将为各路由设备计算得到的路由转发路径发送至对应的路由设备;

在本实施例中,当所述isis服务端通过spf算法为各路由设备计算得到路由转发路径后,所述isis服务端则会把所述路由转发路径发送至对应的路由设备。

各路由设备接收到所述isis服务端为其计算得到的路由转发路径后,可以在本端保存所述路由转发路径,并基于所述路由转发路径对接收到的报文进行转发。

由于,在网络实际运行中,会因为一些因素导致路由设备之间的连接情况发生变化,或者路由设备发布的ip可达网段会发生变化等,从而导致所述路由转发路径发生改变。

因此,在本实施例中,各路由设备可以检查本端的lsp是否发生变化。这里所说的变化是指当前基于其建立的邻接关系以及其要发布的ip可达网段等信息生成的lsp与之前基于其建立的邻接关系以及其要发布的ip可达网段等信息生成lsp是否不一样,如果不一样,则确定本端的lsp发生变化。

如果本端的lsp发生变化,路由设备可以向所述isis服务端发送变化后的lsp。

所述isis服务端接收到所述变化后的lsp后,可以基于所述变化后的lsp更新本端已保存的lsp。比如,在已保存的lsp中增加拓扑连接信息,或者删除所述已保存的lsp中的任一拓扑连接信息。

所述isis服务端基于本端更新后的lsp,通过spf算法重新为各路由设备计算路由转发路径,并将重新计算得到的路由转发路径发送至对应的路由设备。

各路由设备再次接收到所述isis服务端发送的路由转发路径后,可以基于再次接收到的路由转发路径,更新本端保存的路由转发路径,可以执行增加、修改、删除等操作。

实施例二

与前述一种确定路由转发路径的方法的实施例一相对应,本申请还提供了一种确定路由转发路径的装置的实施例二。

本申请一种确定路由转发路径的装置的实施例二可以应用在isis服务端上。装置实施例二可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在isis服务端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请一种确定路由转发路径的装置所在isis服务端的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的isis服务端通常根据该确定路由转发路径的实际功能,还可以包括其他硬件,对此不再赘述。

请参见图5,图5为本申请实施例二示出的一种确定路由转发路径的装置,应用于isis服务端,其中,所述isis服务端分别与各路由设备相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至其它各路由设备,所述装置包括:接收单元510,计算单元520,发送单元530。

所述接收单元510,用于接收各路由设备发送的lsp;其中,所述lsp为各路由设备生成的lsp;

所述计算单元520,用于基于所述lsp,通过spf算法为各路由设备计算路由转发路径;

所述发送单元530,用于将各路由转发路径发送至对应的路由设备。

其中,所述计算单元520,具体用于:

对接收到的lsp进行并集运算,并保存运算后得到的lsp;

基于所述运算后得到的lsp,通过spf算法为各路由设备计算路由转发路径。

在本实施例中,所述装置还包括:

所述接收单元510,进一步用于如果路由设备生成的lsp发生变化,接收路由设备发送的变化后的lsp;

更新单元,用于基于所述变化后的lsp更新本端已保存的lsp;

所述计算单元520,进一步用于基于更新后的lsp,通过spf算法重新为各路由设备计算路由转发路径;

所述发送单元530,进一步用于将重新计算得到的各路由转发路径发送至对应的路由设备。

实施例三

与前述一种确定路由转发路径的方法的实施例一相对应,本申请还提供了一种确定路由转发路径的装置的实施例三。

本申请一种确定路由转发路径的装置的实施例三可以应用在路由设备上。装置实施例三可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在路由设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请一种确定路由转发路径的装置所在路由设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的路由设备通常根据该确定路由转发路径的实际功能,还可以包括其他硬件,对此不再赘述。

请参见图7,图7为本申请实施例三示出的一种确定路由转发路径的装置,应用于路由设备,其中,所述路由设备与isis服务端相连,所述isis服务端用于集中维护各路由设备基于邻接关系以及其要发布的ip可达网段等信息建立的lsp;其中,各路由设备不再将生成的lsp通过逐跳传输的方式同步至其它各路由设备,所述装置包括:发送单元710,接收单元720,保存单元730。

所述发送单元710,用于向所述isis服务端发送lsp;其中,所述lsp为本路由设备生成的lsp;

所述接收单元720,用于接收所述isis服务端发送的路由转发路径;其中,所述路由转发路径为所述isis服务端基于各路由设备发送的lsp,通过spf算法为本路由设备计算得到的路由转发路径;

所述保存单元730,用于保存所述路由转发路径。

在本实施例中,所述装置还包括:

所述发送单元710,进一步用于如果本端的lsp发生变化,将变化后的lsp发送至所述isis服务端,以使所述isis服务端基于所述变化后的lsp更新已保存的lsp;

所述接收单元720,进一步用于接收所述isis服务端再次发送的路由转发路径;其中,所述路由转发路径为所述isis服务端基于更新后的lsp,通过spf算法为本路由设备重新计算得到的路由转发路径;

更新单元,用于基于再次接收到的路由转发路径,更新本端已保存的路由转发路径。

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

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

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

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