一种报文处理方法、装置及自治系统与流程

文档序号:11138457阅读:379来源:国知局
一种报文处理方法、装置及自治系统与制造工艺

本发明涉及通信技术领域,特别是涉及一种报文处理方法、装置及自治系统。



背景技术:

一般而言,为了保证自治系统的稳定性,自治系统内可以设置有互为备份的多个路由反射器,这样,当一路由发射器出现故障时,与该路由反射器互为备份的其余路由反射器仍可正常运行。

下面以图1为例,对自治系统的工作原理进行说明。如图1所示,该自治系统中包括两个路由器,分别为RTA和RTB,RTA分别与RR-1和RR-2建立有边界网关协议BGP邻居关系,RTB也分别与RR-1和RR-2建立有BGP邻居关系,并且,RR-1和RR-2是两个互为备份的路由反射器。具体工作过程为:假设当RTA上发布了一条内容为1.1.1.1/32的第一路由报文时,该第一路由报文会分别经RR-1和RR-2反射至RTB,此时RTB会学习到两条前缀均为1.1.1.1/32的第二路由报文;类似地,当RTB上发布了第三路由报文后,该第三路由报文会分别经RR-1和RR-2反射至RTA,此时RTA也会学习到两条前缀完全相同的第四路由报文。而RTA和RTB实际需要学习的内容仅为其学习到的路由报文中的前缀部分,因此,容易看出,RTA和RTB的路由学习过程较为冗余,大大地浪费了RTA和RTB上的系统资源。另外,对于RR-1和RR-2来说,若RR-1和RR-2中的一者反射的路由报文在RTA和RTB上更优的话,那么RR-1和RR-2中的另一者反射的路由报文就是完全没有意义的,该另一者反射路由报文时消耗的网络带宽就白白浪费掉了。因此,如何简化路由器的路由学习过程,以避免路由器上系统资源的浪费,以及如何避免路由反射器上网络带宽的浪费是一个亟待解决的问题。



技术实现要素:

本发明实施例的目的在于提供一种报文处理方法、装置及自治系统,以简化路由器的路由学习过程,进而避免路由器上系统资源的浪费,同时避免路由反射器上网络带宽的浪费。

本发明实施例提供了一种报文处理方法,应用于自治系统中的第一路由反射器,所述方法包括:

接收路由报文;

在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文;在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;

其中,所述主路由反射器为:所述第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。

可选地,所述方法还包括:

在自身不是所在路由反射器组中当前的主路由反射器的情况下,检测当前的主路由反射器是否出现故障;

若为是,基于预设的反射器选举规则,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器。

可选地,所述检测当前的主路由反射器是否出现故障,包括:

检测自身与当前的主路由反射器的边界网关协议BGP邻居关系是否解除,若为是,表明当前的主路由反射器出现了故障。

可选地,所述反射器选举规则为:基于边界网关协议标识BGP identifier和配置中的至少一者来确定主路由反射器。

本发明实施例还提供了一种报文处理装置,应用于自治系统中的第一路由反射器,所述装置包括:

路由报文接收模块,用于接收路由报文;

报文处理模块,在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文;在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;

其中,所述主路由反射器为:所述第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。

可选地,所述装置还包括:

故障检测模块,用于在自身不是所在路由反射器组中当前的主路由反射器的情况下,检测当前的主路由反射器是否出现故障;

反射器确定模块,用于在所述故障检测模块的检测结果为是的情况下,基于预设的反射器选举规则,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器。

可选地,所述故障检测模块,具体用于:

检测自身与当前的主路由反射器的边界网关协议BGP邻居关系是否解除,若为是,表明当前的主路由反射器出现了故障。

可选地,所述反射器选举规则为:基于边界网关协议标识BGP identifier和配置中的至少一者来确定主路由反射器。

本发明实施例还提供了一种自治系统,包括:第一路由反射器和第一路由器;其中,

所述第一路由器,用于向所述第一路由反射器发送路由报文,以及接收所述第一路由反射器反射的路由报文;

第一路由反射器,用于基于预设的反射器选举规则,从自身所在的路由反射器组中确定主路由反射器;还用于接收路由报文,在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文;在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;

其中,所述主路由反射器为:所述第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。

可选地,所述第一路由反射器,还用于在自身不是所在路由反射器组中当前的主路由反射器的情况下,检测当前的主路由反射器是否出现故障,并在检测结果为是的情况下,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器。

可选地,所述第一路由器与所述第一路由反射器所在的路由反射器组具有对应性;其中,

所述第一路由器,还用于基于预设的反射器选举规则,从所述第一路由反射器所在的路由反射器组中确定主路由反射器,并且,在检测到当前的主路由反射器出现故障的情况下,基于预设的反射器选举规则,从所述第一路由反射器所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器,并将经更新前的主路由反射器反射得到的路由报文均置于第一状态;

所述第一路由反射器,还用于在确定自身为所在路由反射器组中的新的主路由反射器的情况下,反射已接收到的每条路由报文,并在反射完毕后,向所述第一路由器发送结束报文,以使得所述第一路由器在自身内部存储有所述第一路由反射器所反射的路由报文的情况下,将自身内部存储的该路由报文的状态置为第二状态,并在接收到所述结束报文后,删除自身内部存储的,仍处于所述第一状态的路由报文。

本发明实施例提供了一种报文处理方法、装置和自治系统。该方法应用于自治系统中的第一路由反射器,该方法包括:接收路由报文;在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文;在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;其中,主路由反射器为:第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。本发明实施例中,对于每个路由反射器组中的各个路由反射器而言,当接收到路由报文时,只有预先确定出的主路由反射器才会反射接收到的路由报文,其余的路由反射器仅会接收路由报文,而不会对接收到的路由报文进行反射,因此,本发明实施例有效地避免了路由反射器上网络带宽的浪费。此外,由于路由器只会学习到主路由反射器所反射的路由报文,因此,本发明实施例有效地简化了路由器的路由学习过程,从而可靠地避免了路由器上系统资源的浪费。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术提供的自治系统的工作原理图;

图2为本发明实施例提供的报文处理方法的流程图;

图3为本发明实施例提供的报文处理装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术存在的问题,本发明实施例提供了一种报文处理方法、装置,以及自治系统。

下面首先对本发明实施例所提供的一种报文处理方法进行介绍。

需要说明的是,本发明实施例所提供的一种报文处理方法可以应用于自治系统中的第一路由反射器。

其中,自治系统可以包括至少一个路由反射器组,每个路由反射器组中可以包括至少两个路由反射器,第一路由反射器可以为任一路由反射器组中的任一个。

需要说明的是,自治系统中互为备份的至少两个路由反射器可以被预先划分至同一路由反射器组中。具体地,至少两个路由反射器互为备份是指:该至少两个路由反射器具有相同的功能,两者可以相互替换。举例而言,如图1所示,RR-1和RR-2的作用均是接收RTA和RTB中的一者发送的路由报文,并将所接收到的路由报文反射至RTA和RTB中的另一者。因此,当RR-1和RR-2中的一者出现故障时,RR-1和RR-2中的另一者仍然可以正常地反射所接收到的路由报文,以保证自治系统的稳定性,故可以认为RR-1和RR-2两者之间是互为备份的关系。

可以理解的是,自治系统中的路由反射器组的数量,以及每个路由反射器组中的路由反射器的数量均可以根据实际情况来确定。

举例而言,对于图1中所示的小型自治系统而言,其仅包括一个路由反射器组,该路由反射器组中仅包括RR-1和RR-2两个路由反射器。

对于一些大型自治系统而言,其中可以包括四个、五个甚至更多的路由反射器组,各路由反射器组中的路由反射器的数量可以相同,也可以不同。具体地,对于一些处于关键节点处的路由反射器组而言,其可以具有的路由反射器的数量可以为三个,四个甚至更多。这样,在该路由反射器组中的两个路由反射器均出现故障的情况下,该路由反射器组中仍会存在能够正常工作的路由反射器,从而能够可靠地保证自治系统的稳定性。

参见图2,图中示出了本发明实施例所提供的一种报文处理方法的流程图。如图2所示,该方法可以包括步骤:

S201,接收路由报文。

S202,在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文;在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;

其中,主路由反射器为:第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。

本实施例中,预设的反射器选举规则可以为:基于边界网关协议标识BGP identifier和配置中的至少一者来确定主路由反射器。

需要说明的是,对于任一路由反射器组而言,其所包含的至少两个路由反射器之间可以两两预先建立有边界网关协议BGP邻居关系。需要强调的是,路由反射器之间建立BGP邻居的方式为本领域技术人员所公知,在此不再赘述。

容易理解的是,第一路由反射器若要基于预设的反射器选举规则,从自身所在的路由反射器组中确定出主路由反射器,第一路由反射器需要知道自身所在的路由反射器组中具体有哪些路由反射器。因此,在执行主路由反射器的确定操作之前,对于第一路由反射器而言,其内部可以配置有与自身属于同一路由反射器组的各路由反射器的相关信息。下面结合图1,以一个具体例子对这些信息的来源进行说明。

如图1所示,RR-1和RR-2之间可以预先建立有BGP邻居关系,并且,RR-1和RR-2之间是互为备份的关系。操作人员可以将RR-1和RR-2划分至同一路由反射器组内,并为该路由反射器组确定一路由反射器组ID号(例如ID1),接下来,操作人员可以将包含有ID1和RR-2的标识信息的信息组存储于RR-1内,将包括有ID1和RR-1的标识信息的信息组存储于RR-2内。这样,对于RR-1来说,其根据自身存储的信息组,可以非常容易地确定出自身属于ID号为ID1的路由反射器组,与自身属于同一路由反射器组的路由反射器为RR-2。类似地,对于RR-2来说,其根据自身存储的信息组,可以非常容易地确定出自身属于ID号为ID1的路由反射器组,与自身属于同一路由反射器组的路由反射器为RR-1。

可以理解的是,路由反射器的标识信息可以有多种形式。具体地,路由反射器的标识信息可以为回环接口地址。在RR-1和RR-2建立BGP邻居关系时,假设RR-1使用的回环接口地址为1.1.1.1(该回环接口地址能够有效地对RR-1进行标识),RR-2使用的回环接口地址为2.2.2.2(该回环接口地址能够有效地对RR-2进行标识),这样,RR-1内存储的信息组中包括的是ID1和回环接口地址2.2.2.2,RR-2内存储的信息组中包括的是ID1和回环接口地址1.1.1.1,RR-1会将回环接口地址2.2.2.2对应的路由反射器,即RR-2确定为与自身属于同一路由反射器组的路由反射器,类似地,RR-2会将回环接口地址1.1.1.1对应的路由反射器,即RR-1确定为与自身属于同一路由反射器组的路由反射器。

另外,需要说明的是,由于RR-1和RR-2之间建立有BGP邻居关系,RR-1会遵循BGP协议,向RR-2通告OPEN报文,该OPEN报文中会直接携带RR-1的BGP identifier和配置等信息。类似地,RR-2也会遵循BGP协议,向RR-1通告OPEN报文,该OPEN报文中会直接携带RR-2的BGP identifier和配置等信息。最终,RR-1能够获得RR-2的BGP identifier和配置等信息,RR-2能够获得RR-1的BGP identifier和配置等信息。

根据上述例子可知,对于第一路由反射器而言,其不仅能够获知与自身属于同一路由反射器组的其余路由反射器有哪些,其还能够获得其余路由反射器的BGP identifier和配置等信息。接下来,第一路由反射器可以根据所获得的其余路由反射器的BGP identifier和配置等信息,以及自身的BGP identifier和配置等信息来确定主路由反射器。

下面对第一路由反射器确定主路由反射器的两种具体实现方式进行说明。

一种实现方式中,第一路由反射器可以基于BGP identifier来确定主路由反射器。

本领域技术人员可以理解的是,自治系统中的每个路由反射器的BGP identifier是互不相同的。一般而言,BGP identifier是一个数值,在进行主路由反射器的确定时,第一路由反射器可以从自身所在的路由反射器组中,确定BGP identifier的数值最大或者最小的路由反射器作为主路由反射器。容易看出,第一路由反射器根据该规则可以较为容易地确定出主路由反射器,并且,其确定的主路由反射器是唯一的。

另一种实现方式中,第一路由反射器可以基于配置来确定主路由反射器。

需要说明的是,当基于配置来确定主路由反射器时,每个路由反射器组中的各路由反射器的配置需要保持一致。在进行主路由反射器的确定时,第一路由反射器可以从自身所在的路由反射器组中确定硬件配置最高的路由反射器作为主路由反射器。容易看出,第一路由反射器根据该规则可以较为容易地确定出主路由反射器,并且,其确定的主路由反射器是唯一的。

需要指出的是,预设的反射器选举规则的确定依据并不仅仅局限于BGP identifier或者配置,也可以将BGP identifier和配置结合起来,以作为确定依据;或者,将其他的、可以唯一地确定出主路由反射器的因素作为确定依据,这都是可行的,在此不再一一赘述。

需要说明的是,BGP是一种动态路由协议,其既可以用于不同自治系统之间,又可以用于同一自治系统内部,并且,当前被互联网服务提供商ISP广泛应用的,作为internet外部路由协议标准的BGP版本是BGP4。

下面结合图1,对本实施例的具体实施过程进行说明。

在图1所示的自治系统AS100中,RR-1和RR-2属于同一路由反射器组,假设RR-1的BGP identifier的数值大于RR-2的BGP identifier的数值,并且,预设的反射器选举规则为将BGP identifier的数值最大的路由反射器确定为主路由反射器。由于RR-1和RR-2是基于同一反射器选举规则,从同一路由反射器组中确定主路由反射器的,故RR-1和RR-2两者最终确定出的主路由反射器是相同的,即RR-1。

对于RR-1来说,由于其将自身确定为了主路由反射器,因此,当其接收到RTA和RTB中的一者发送的路由报文时,其会将所接收到的路由报文反射至RTA和RTB中的另一者,以使RTA和RTB中的另一者能够学习到路由报文。对于RR-2来说,由于其未将自身确定为主路由反射器,因此,当其接收到RTA和RTB中的一者发送的路由报文时,其并不会发射所接收到的路由报文。

容易看出,RTA和RTB中的另一者最终仅会学习到由RR-1和RR-2中的一者反射的路由报文,故RTA和RTB的路由学习过程得到了简化,从而有效地节省了RTA和RTB上的系统资源。此外,由于RR-1和RR-2中每次只有一者反射路由报文,故有效地避免了RTA和RTB中的另一者反射路由报文时造成的网络带宽的消耗。

本实施例中,对于每个路由反射器组中的各个路由反射器而言,当接收到路由报文时,只有预先确定出的主路由反射器才会反射接收到的路由报文,其余的路由反射器仅会接收路由报文,而不会对接收到的路由报文进行反射,因此,本实施例有效地避免了路由反射器上网络带宽的浪费。此外,由于路由器只会学习到主路由反射器所反射的路由报文,因此,本实施例有效地简化了路由器的路由学习过程,从而可靠地避免了路由器上系统资源的浪费。

需要说明的是,对于主路由反射器而言,其除了具有反射路由报文的功能外,其还同时具有普通路由器的路由功能。因此,当主路由反射器接收到路由报文时,其不仅会反射该路由报文,其还会将该路由报文传送至相应的网络设备处。

容易理解的是,若当前的主路由反射器出现故障,则该主路由反射器将无法正常运行,该主路由反射器将无法正常地反射其所接收到的路由报文,若此时不采取相应的措施进行补救,整个自治系统的稳定性将会大大地降低。因此,该方法还可以包括:

在自身不是所在路由反射器组中当前的主路由反射器的情况下,检测当前的主路由反射器是否出现故障;

若为是,基于预设的反射器选举规则,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器。

本实施例中,检测当前的主路由反射器是否出现故障,可以包括:

检测自身与当前的主路由反射器的边界网关协议BGP邻居关系是否解除,若为是,表明当前的主路由反射器出现了故障。

需要说明的是,第一路由反射器检测自身与当前的主路由反射器的BGP邻居关系是否解除的具体实现方式为本领域技术人员所公知,在此不再赘述。

当然,第一路由反射器检测当前的主路由反射器是否出现故障的具体实现形式也不仅仅局限于上述方式。举例而言,第一路由反射器可以检测自身与主路由反射器的通信链路是否断开,若为是,则表明当前的主路由反射器出现故障,这种方式也是可行的,本实施例对第一路由反射器检测当前的主路由反射器是否出现故障的具体实现方式不做任何限定。

下面仍以图1为例,对本实施例的具体实施过程进行说明。

假设RR-1为当前的主路由反射器,当RR-1处于正常工作状态的情况下,RR-1可以正常地反射其所接收到的路由报文,RR-2不会反射所接收到的路由报文。假设某一时刻,RR-2检测到作为主路由反射器的RR-1出现了故障,此时RR-2就会重新基于预设的反射器选举规则,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中,确定新的主路由反射器。容易看出,这种情况下,RR-2会将自身确定为新的主路由反射器。接下来,当RR-2接收到路由报文时,其就会反射所接收到的路由报文。

容易看出,本实施例中,当当前的主路由反射器出现故障时,其余的路由反射器就会重新确定出新的主路由反射器,以保证路由报文能够被正常地反射,从而有效地保证了自治系统的稳定性。

综上,与现有技术相比,本实施例有效地简化了路由器的路由学习过程,从而避免了路由器上系统资源的浪费,同时也有效地避免了路由反射器上网络带宽的浪费。

下面对本发明实施例所提供的一种报文处理装置进行介绍。

需要说明的是,本发明实施例所提供的一种报文处理装置可以应用于自治系统中的第一路由反射器。

参见图3,图中示出了本发明实施例所提供的一种报文处理装置的结构框图。如图3所示,该装置可以包括:

路由报文接收模块31,用于接收路由报文;

报文处理模块32,用于在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文;在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;

其中,主路由反射器为:第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。

本实施例中,对于每个路由反射器组中的各个路由反射器而言,当接收到路由报文时,只有预先确定处的主路由反射器才会反射接收到的路由报文,其余的路由反射器仅会接收路由报文,而不会对接收到的路由报文进行反射,因此,本实施例有效地避免了路由反射器上网络带宽的浪费。此外,由于路由器只会学习到主路由反射器所反射的路由报文,因此,本实施例有效地简化了路由器的路由学习过程,从而可靠地避免了路由器上系统资源的浪费。

可选地,该装置还可以包括:

故障检测模块,用于在自身不是所在路由反射器组中当前的主路由反射器的情况下,检测当前的主路由反射器是否出现故障;

反射器确定模块,用于在故障检测模块的检测结果为是的情况下,基于预设的反射器选举规则,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器。

可选地,故障检测模块,具体用于:

检测自身与当前的主路由反射器的边界网关协议BGP邻居关系是否解除,若为是,表明当前的主路由反射器出现了故障。

可选地,反射器选举规则可以为:基于边界网关协议标识BGP identifier和配置中的至少一者来确定主路由反射器。

综上,与现有技术相比,本实施例有效地简化了路由器的路由学习过程,从而避免了路由器上系统资源的浪费,同时也有效地避免了路由反射器上网络带宽的浪费。

下面对本发明实施例所提供的一种自治系统进行介绍。

本发明实施例还提供了一种自治系统。该自治系统可以包括:第一路由反射器和第一路由器;其中,

第一路由器,用于向第一路由反射器发送路由报文,以及接收第一路由反射器反射的路由报文;

第一路由反射器,用于基于预设的反射器选举规则,从自身所在的路由反射器组中确定主路由反射器;还用于接收路由报文,在自身是所在路由反射器组中的主路由反射器的情况下,反射接收到的路由报文,在自身不是所在路由反射器组中的主路由反射器的情况下,不反射接收到的路由报文;

其中,主路由反射器为:第一路由反射器基于预设的反射器选举规则,从自身所在的路由反射器组中确定的。

本实施例中,对于每个路由反射器组中的各个路由反射器而言,当接收到路由报文时,只有预先确定的主路由反射器才会反射接收到的路由报文,其余的路由反射器仅会接收路由报文,而不会对接收到的路由报文进行反射,因此,本实施例有效地避免了路由反射器上网络带宽的浪费。此外,由于路由器只会学习到主路由反射器所反射的路由报文,因此,本实施例有效地简化了路由器的路由学习过程,从而可靠地避免了路由器上系统资源的浪费。

可选地,第一路由反射器,还用于在自身不是所在路由反射器组中当前的主路由反射器的情况下,检测当前的主路由反射器是否出现故障,并在检测结果为是的情况下,基于预设的反射器选举规则,从自身所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器。

本实施例中,在主路由反射器反射路由报文的过程中,若主路由反射器突然出现故障,这种情况下将很难确定主路由反射器所接收到的路由报文是否已经全部反射完毕了,相应地,路由器学习到的路由报文是否完整也将很难确定。为了较好地解决该问题,本实施例中,第一路由器与第一路由反射器所在的路由反射器组可以具有对应性;其中,

第一路由器,还用于基于预设的反射器选举规则,从第一路由反射器所在的路由反射器组中确定主路由反射器,并且,在检测到当前的主路由反射器出现故障的情况下,基于预设的反射器选举规则,从第一路由反射器所在的路由反射器组中的,处于正常工作状态的路由反射器中确定新的主路由反射器,并将经更新前的主路由反射器反射得到的路由报文均置于第一状态;

第一路由反射器,还用于在确定自身为所在路由反射器组中的新的主路由反射器的情况下,反射已接收到的每条路由报文,并在反射完毕后,向第一路由器发送结束报文,以使得第一路由器在自身内部存储有第一路由反射器所反射的路由报文的情况下,将自身内部存储的该路由报文的状态置为第二状态,并在接收到结束报文后,删除自身内部存储的,仍处于第一状态的路由报文。

需要说明的是,第一路由器与第一路由反射器所在的路由反射器组具有对应性时,第一路由器需要预先与第一路由反射器所在的路由反射器组中的各路由反射器均建立有边界网关协议BGP邻居关系,并且,第一路由器内还需要存储有一信息组,该信息组中包括第一路由反射器所在的路由反射器组的ID号,以及该路由反射器组中的各路由反射器的标识信息。这样,第一路由器能够通过自身存储的该信息组,确定第一路由反射器所在的路由反射器组中有哪些路由反射器,并基于BGP邻居关系获取到这些路由反射器的相关信息,进而确定出主路由反射器,第一路由器确定主路由反射器的过程与第一路由反射器确定主路由反射器的过程类似,在此不再赘述。

下面仍以图1为例,对本实施例的具体实施过程进行说明。

假设RR-1的BGP identifier的数值大于RR-2的BGP identifier的数值,并且,预设的反射器选举规则为将BGP identifier的数值最大的路由反射器确定为主路由反射器。如图1所示,RTA分别与RR-1和RR-2建立有BGP邻居关系,RTB也分别与RR-1和RR-2建立有BGP邻居关系,RTA与包含RR-1和RR-2的路由反射器组相对应,RTB也与包含RR-1和RR-2的路由反射器组相对应。

当RTA和RTB基于反射器选举规则,从包含RR-1和RR-2的路由反射器组中确定主路由反射器时,由于确定规则和确定范围(包含RR-1和RR-2的路由反射器组)均相同,故RTA和RTB两者确定出的主路由反射器与RR-1和RR-2两者确定出的主路由反射器必然是相同的,即RR-1。此外,由于BGP邻居关系的存在,当RR-1出现故障时,RTA和RTB两者也能够非常及时地检测到该情况,此时,RTA和RTB两者可以重新确定出新的主路由反射器,即RR-2,并将经RR-1反射得到的路由报文均置于第一状态,同时等待RR-2反射的路由报文。

与此同时,对于RR-2来说,当其检测到RR-1出现故障后,其就会将自身确定为新的主路由反射器,并反射已接收到的每条路由报文。

具体地,假设RR-2内部有五条路由报文,分别是来自于RTA的A、B和C,以及来自于RTB的D和E,此时,RR-2会将A、B和C分别反射至RTB,并将D和E分别反射至RTA。对于RTB而言,当其接收到A这条路由报文时,若其自身内部存储有A这条路由报文,其可以用接收到的A替换已存储的A,并将A的状态由第一状态置为第二状态。类似地,当RTB接收到B这条路由报文时,若其自身内部存储有B这条路由报文,其可以用接收到的B替换已存储的B,并将B的状态由第一状态置为第二状态。后续过程依次类推,在此不再赘述。当RR-2将A、B和C均反射至RTB后,RR-2会向RTB发送结束报文,即EOR报文。在接收到该EOR报文后,RTB会去检查自身内部是否还存储有处于第一状态的报文,若还有,就说明在RR-1作为主路由反射器来反射路由报文的过程中,用于删除已存储的某一路由信息的路由报文并未成功被RTB学习到,故此时RTB可以将仍处于第一状态的报文删除。

可以看出,本实施例可以较好地保证各路由器能够学习到完整的路由报文,同时保证各路由器内存储的路由信息为最新的路由信息。

综上,与现有技术相比,本实施例有效地简化了路由器的路由学习过程,从而避免了路由器上系统资源的浪费,同时也有效地避免了路由反射器上网络带宽的浪费。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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