发明内容
有鉴于此,本发明提供一种路由信息传播方法和路由器,使接入层的中低端路由器能够稳定运行OSPF协议。
为实现上述目的,本发明采用如下的技术方案:
一种路由信息传播方法,包括:
a、在目标路由器的上行邻居路由器中生成缺省LSA;所述缺省LSA为代表缺省路由信息的区域间LSA或外部LSA;
b、在所述上行邻居路由器向所述目标路由器发布LSA时,仅将所述缺省LSA与该上行邻居路由器产生的Router LSA发布给所述目标路由器;发布给目标路由器的所述缺省LSA,用于为目标路由器提供缺省路由,使所述目标路由器根据所述缺省LSA将未找到匹配路由的报文转发给所述上行邻居路由器。
较佳地,所述在目标路由器的上行邻居路由器中生成缺省LSA的过程包括:
在所述上行邻居路由器中,将所述上行邻居路由器与目标路由器间的OSPF接口设置为下行链路;
对于设置为下行链路的OSPF接口,生成代表缺省路由信息的区域间LSA或外部LSA,将该生成的LSA作为缺省LSA。
较佳地,所述将所述上行邻居路由器与目标路由器间的OSPF接口设置为下行链路包括:
预先在所述上行邻居路由器中的OSPF接口管理部分,为该上行邻居路由器的各个OSPF接口增加下行链路lowlink字段;
将上行邻居路由器与目标路由器间的OSPF接口的lowlink字段设置为有效。
较佳地,所述对于设置为下行链路的OSPF接口,生成代表缺省路由信息的区域间LSA或外部LSA包括:
将下行链路所在的OSPF设置为区域边界路由器ABR;
所述生成代表缺省路由信息的区域间LSA或外部LSA为:生成路由信息为缺省路由信息的三类LSA。
较佳地,所述对于设置为下行链路的OSPF接口,生成代表缺省路由信息的区域间LSA或外部LSA包括:
当下行链路所在OSPF的区域为非STUB区时,将该OSPF设置为自治系统边界路由器ASBR;
所述生成代表缺省路由信息的区域间LSA或外部LSA为,生成路由信息为缺省路由信息的五类或七类LSA。
较佳地,该方法进一步包括:对于设置为下行链路的OSPF接口,为该接口所在OSPF的区域产生虚拟LSDB,并将所述缺省LSA和所述上行邻居路由器自身产生的Router LSA加入所述虚拟LSDB中;
所述仅将所述缺省LSA与该上行邻居路由器产生的Router LSA发布给所述目标路由器为:将所述虚拟LSDB中的所有LSA发布给所述目标路由器。
较佳地,在所述将虚拟LSDB中的所有LSA发布给所述目标路由器后,该方法进一步包括:当所述上行邻居路由器收到所述目标路由器发送的连接状态请求消息时,仅在所述虚拟LSDB中查找所述连接状态请求消息对应的LSA,并根据查找结果应答所述连接状态请求消息。
较佳地,在所述将虚拟LSDB中的所有LSA发布给所述目标路由器后,该方法进一步包括:当所述上行邻居路由器收到连接状态更新消息时,
对连接状态更新消息中包括的LSA进行判断,若该LSA中的LSID与所述缺省LSA的LSID相同,且该LSA为通过下行链路接收的三类、五类或七类LSA,则丢弃该连接状态更新消息,直接返回LSACK;否则,向正常LSDB中添加所述LSA;所述正常LSDB中保存该路由器生成的RouterLSA和区域内其他路由器产生的LSA。
较佳地,该方法进一步包括:当所述虚拟LSDB中的LSA更新时,通过所述下行链路向所述目标路由器同步更新后的LSA。
较佳地,当所述下行链路的链路类型为Broadcast或NBMA时,该方法进一步包括:设置该下行链路的指定路由器DR选举优先级为最低;
当所述下行链路所属的网段进行DR选举时,所述下行链路不能作为该网段的DR和备份指定路由器BDR。
较佳地,在执行所述设置下行链路的操作后、为该接口的OSPF生成缺省LSA前,该方法进一步包括:
断开所述下行链路的所有邻居,重新建立邻居关系。
较佳地,当所述目标路由器存在同层邻居路由器、且该同层邻居路由器与所述目标路由器具有相同的上行邻居路由器时,该方法进一步包括:将所述同层邻居路由器作为所述目标路由器,执行所述步骤a和b。
一种基于OSPF的路由器,包括LSA处理单元、存储单元和OSPF接口单元;
所述LSA处理单元,用于生成缺省LSA,所述缺省LSA为代表缺省路由信息的区域间LSA或外部LSA;所述缺省路由信息表示通过所述上行邻居路由器能够到达任意网段;还用于生成本路由器的Router LSA;将所述缺省LSA和本路由器的Router LSA保存到所述存储单元中;在向所述目标路由器发布LSA时,仅将所述存储单元中保存的缺省LSA和Router LSA通过所述OSPF接口单元发布给所述目标路由器;
所述存储单元,用于保存缺省LSA和本路由器的Router LSA;
所述OSPF接口单元包括多个OSPF接口,分别与网络中的其他路由器相连,收集网络中其他路由器的LSA信息,向所述目标路由器发布缺省LSA和Router LSA。
较佳地,所述路由器进一步包括控制单元,用于将所述OSPF接口单元中与目标路由器相连的OSPF接口设置为下行链路;
所述LSA处理单元,在产生缺省LSA时,针对下行链路的接口所在的OSPF进行。
较佳地,所述存储单元包括虚拟LSDB子单元和正常LSDB子单元;所述虚拟LSDB子单元,用于保存缺省LSA和本路由器的Router LSA;所述正常LSDB子单元,用于保存本路由器的Router LSA和OSPF接口单元接收的其他路由器产生的LSA;
所述LSA处理单元,进一步用于在接收到通过所述下行链路接收的连接状态请求消息后,从所述虚拟LSDB子单元中查找LSA;在接收到所述OSPF接口单元转发的连接状态更新消息后,对该消息中包括的LSA进行判断,若该LSA中的LSID为0.0.0.0,且该LSA为通过下行链路接收的三类、五类或七类LSA,则丢弃该连接状态更新消息,通知OSPF接口单元返回LSACK;否则,在所述正常LSDB子单元中保存该连接状态更新消息中包括的LSA,不在所述虚拟LSDB子单元中保存该LSA;在所述虚拟LSDB子单元中的LSA更新时,通过所述下行链路向所述目标路由器同步更新后的LSA。
由上述技术方案可见,本发明中,对于需要限制LSDB规模的目标路由器(例如图1中接入层的中低端路由器RT1),在该目标路由器的上行邻居路由器(例如图1中的汇聚路由器MRT1)中生成缺省LSA,其中,缺省LSA为代表缺省路由信息的区域间LSA或外部LSA,并且缺省路由信息表示通过所述上行邻居路由器能够到达任意网段。当上行邻居路由器向目标路由器发布LSA时,仅将缺省LSA和该上行邻居路由器自身产生的RouterLSA发布给目标路由器,而不会像背景技术中提到的将上行邻居路由器LSDB中所有LSA发布给目标路由器,从而大大减少目标路由器收到的LSA数量,降低目标路由器中LSDB的规模。同时,当目标路由器进行报文转发时,若未找到与报文目的地址相匹配的路由,则可以通过缺省LSA,将到达任意网段的报文转发给上行邻居路由器,不会影响报文的路由和转发。可见,通过本发明的上述方式,在保证报文正常转发的前提下,减少了目标路由器中的LSA数量,降低了目标路由器中LSDB的规模,从而使OSPF路由运算对于路由器硬件的要求降低,进而保证能够在目标路由器上运行OSPF协议。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图,对本发明做进一步详细描述。
本发明的基本思想为:减少中低端路由器中的LSA数量,降低LSDB的规模,从而降低路由计算过程的计算量,使中低端路由器能够正常运行OSPF协议进行路由。
具体地,本发明中控制中低端路由器中LSA数量的具体方式为:在保证报文正常转发的前提下,减少该中低端路由器的上行邻居路由器下发的LSA数量。
图3为本发明中提供的路由信息传播方法的总体流程图。如图3所示,该方法包括:
步骤301,在目标路由器的上行邻居路由器中生成缺省LSA。
其中,目标路由器是指需要限制LSDB规模的中低端路由器,缺省LSA是指代表缺省路由信息的区域间LSA或外部LSA,而缺省路由信息表示通过所述上行邻居路由器能够到达任意网段。这里生成的缺省LSA是为该上行邻居路由器与所述目标路由器间的OSPF接口所在的OSPF生成的。
步骤302,在上行邻居路由器向目标路由器发布LSA时,仅将缺省LSA与该上行邻居路由器产生的Router LSA发布给目标路由器。
本步骤中,上行邻居路由器向目标路由器发送Router LSA和缺省LSA,而不发送非上行邻居路由器产生的Router LSA。而事实上,当区域内的路由器数目很多时,非上行邻居路由器产生的Router LSA的数目巨大,采用本发明的路由信息传递方法后,会大大减少发送给目标路由器的LSA数量,降低LSDB的规模,减少OSPF路由算法的计算量。同时,如前所述,缺省LSA代表的路由信息为,通过上行邻居路由器到达任意网段的缺省路由。这样,目标路由器收到上行邻居发布的LSA后,若在报文转发时没有找到与报文目的地址匹配的路由,则可以将该报文,利用缺省LSA转发给上行邻居路由器,然后由上行邻居路由器将报文转发到其他网段。
由上述可见,虽然目标路由器中的LSA数量减少了,LSDB的规模降低了,但是仍然能够通过OSPF进行正常的报文转发,从而保证了在处理能力较弱的中低端路由器上能够应用OSPF进行报文路由。
图4为本发明提供的基于OSPF的路由器总体结构图。如图4所示,该路由器包括LSA处理单元、存储单元和OSPF接口单元。
在该路由器中,LSA处理单元,用于生成缺省LSA,所述缺省LSA为代表缺省路由信息的区域间LSA或外部LSA;所述缺省路由信息表示通过所述上行邻居路由器到达任意网段的缺省路由;还用于生成本路由器的Router LSA;将所述缺省LSA和本路由器的Router LSA保存到所述存储单元中;在向所述目标路由器发布LSA时,将所述存储单元中保存的缺省LSA和Router LSA通过所述OSPF接口单元发布给所述目标路由器,不将非该上行邻居路由器产生的Router LSA发布给所述目标路由器。
存储单元,用于保存缺省LSA和本路由器的Router LSA。
OSPF接口单元包括多个OSPF接口,分别与网络中的其他路由器相连,接收其他路由器发布的LSA信息,向所述目标路由器发布缺省LSA和本路由器产生的Router LSA。
以上是对本发明提供的基于OSPF的路由信息传递方法和路由器的总体概述,下面通过具体实施例说明本发明的具体实施方式。
实施例:
在本实施例中,以图1所示的典型组网环境为例,将其中的汇聚层路由器MRT1作为上行邻居路由器,将接入层路由器RT1作为目标路由器,对本发明的方法和路由器的具体实现进行详述。
其中,MRT1中可能运行多个OSPF进程,每个OSPF进程可能包括多个OSPF接口,假定与RT1相连的OSPF接口为接口A。由于RT1的处理能力较弱,因此需要应用本发明实施例的方法对该RT1中的LSDB规模进行限制,以保证其能够正常运行OSPF。
图5为本发明实施例中路由信息传播方法的具体流程图。如图5所示,该方法包括:
步骤501,在MRT1中,将MRT1与RT1相连的接口A设置为下行链路。
本步骤中,具体设置下行链路的方式可以为:预先在MRT1的OSPF接口管理部分中,为MRT1的各个OSPF接口增加下行链路(lowlink)字段,用于标识该OSPF接口是否为下行链路,规定当该lowlink字段被置为有效时,则代表该OSPF接口为下行链路,当该lowlink字段被置为无效时,则代表该OSPF接口不是下行链路;然后,将MRT1中与RT1间的接口A对应的lowlink字段设置为有效,以表明该接口A为下行链路。
步骤502,对于下行链路,为该接口所在的OSPF的区域产生虚拟LSDB。
如前所述,通常一个路由器上可以运行多个OSPF进程,而多个OSPF进程间是相互隔离、互不影响的,它们可以属于不同的OSPF区域。假定下行链路的接口所在的OSPF进程为OSPF1,那么为OSPF 1的区域产生虚拟LSDB。这里,虚拟LSDB是本发明提出的一种LSDB,其中包括LSA信息,虚拟LSDB与背景技术中提到的LSDB类似,只是其中包括的LSA信息有所差异。
路由器MRT1配置了下行链路后,路由器MRT1产生的LSA(非虚拟LSDB中的LSA)不会通过其他途径传播到下行链路邻居;同样虚拟LSDB中的LSA不能通过非下行链路传播回路由器MRT1。
接下来在MRT1中产生缺省LSA。其中,缺省LSA为区域间LSA或外部LSA。在OSPF协议中,应用OSPF的网络可以被分成不同的区域和自治系统。自治系统内部可以包括多个OSPF区域,OSPF区域分为多种不同的类型。OSPF协议还规定了七类LSA,根据LSA的类型不同,产生该LSA的实体和产生的信息内容均不同。
具体针对不同类型的LSA产生实体而言,OSPF协议规定,只有区域边界路由器(ABR)才能生成区域间LSA(三类LSA),只有自治系统边界路由器(ASBR)才能生成外部LSA(即五类或七类LSA)。因此,需要首先在MRT1中设置ABR或ASBR,以生成缺省LSA。
步骤503,根据OSPF1所在区域的类型,将OSPF1设置为区域边界路由器(ABR)或自治系统边界路由器(ASBR),并产生缺省LSA。
本步骤中,对于MRT1的接口A所在的OSPF1,无论该区域的类型为哪一种,均可以将该OSPF1设置为ABR,产生的缺省LSA为代表缺省路由信息的三类LSA。该缺省路由信息表示能够通过MRT1到达任意网段。具体地,在一般的路由器中,0.0.0.0/0的路由信息代表可以到达任意网段,路由器在转发报文时,如果没有找到与目的地址匹配的路由,那么就会采用0.0.0.0/0这条路由进行报文转发。本实施例中,将缺省路由信息设置为0.0.0.0/0,该路由信息由MRT1产生,因此当利用该路由进行报文转发时,报文会先被转发到MRT1,再通过MRT1到达任意网段。
或者,若OSPF1所在区域为非STUB区(即为普通区域和NSSA区),则可以将OSPF1设置为ASBR,产生的缺省LSA为路由信息是0.0.0.0/0的五类或七类LSA。其中,路由信息0.0.0.0/0表示通过MRT1到达任意网段的缺省路由。
由上述可见,缺省LSA表示向收到该LSA的路由器宣告,MRT1为本OSPF的Router ID,也就是说,经过MRT1可以到达任意网段。
步骤504,将产生的缺省LSA加入虚拟LSDB中,并将MRT1自身产生的Router LSA(即一类LSA)加入虚拟LSDB中。
本步骤中,将一类LSA和缺省LSA加入虚拟LSDB中,也就是说,该虚拟LSDB包括两条LSA。其中,一类LSA由任意运行OSPF协议的路由器产生,其中通告了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。
除上述虚拟LSDB外,在MRT1的OSPF区域还存在背景技术中描述的LSDB,称为正常LSDB,正常LSDB中包括该路由器自身的Router LSA和本区域内其他路由器产生的LSA、NetWork LSA、本区域引入的外部路由信息LSA,还有区域间路由信息LSA和其他区域引入的外部路由信息LSA。其中,虚拟LSDB中的Router LSA与正常LSDB中的Router LSA一致。在正常LSDB更新Router LSA时,虚拟LSDB中的Router LSA也一同进行更新。
由上述过程可见,本发明实施例中,在MRT1中包括两个LSDB,分别为虚拟LSDB和正常LSDB。其中,虚拟LSDB是本实施例中新加入的LSDB,它的规模比正常LSDB小很多,包括本身产生的Router LSA和缺省LSA,MRT1利用该虚拟LSDB与中低端路由器RT1进行同步,从而保证RT1中LSDB规模受到限制。
步骤505,在MRT1向RT1发布LSA时,仅将缺省LSA和自身产生的Router LSA发布给RT1,不将非MRT1产生的LSA发布给RT1。
LSA的发布过程可以利用路由器间的LSDB同步完成。本步骤中,可以在MRT1与RT1同步LSDB时,使用MRT1的虚拟LSDB中的LSA进行。也就是,使RT1获取到MRT1中的Router LSA和缺省LSA。
在背景技术介绍的方案中,进行LSDB同步时,利用正常LSDB中的LSA进行,如前所述,正常LSDB中包括该路由器自身的Router LSA和本区域内其他路由器产生的LSA、NetWork LSA、本区域引入的外部路由信息LSA,还有区域间路由信息LSA和其他区域引入的外部路由信息LSA。因此,在进行LSDB同步即LSA发布时,RT1接收到正常LSDB中的所有LSA,因此其接收的LSA数量巨大。
但是按照上述本发明实施例的方法,在进行LSDB同步时,利用虚拟LSDB中的LSA进行,也就是说,RT1接收到的是:MRT1产生的Router LSA和一条缺省LSA。可见,这种情况下RT1接收的LSA数量大大少于与正常LSDB同步时接收的LSA数量,从而能够大大降低RT1中的LSA数量。
同时,由于缺省LSA代表通过MRT1到达任意网段,因此RT1可以将未匹配到目的地址的报文先发送到MRT1,再由MRT1转发到该报文的目的地。可见,虽然LSA数量减少了,但是并未影响报文转发,只是在RT1中不再记录过多详细路由,而是只记录到达任意网段的聚合路由。
至此,基于OSPF的路由信息传递方法的基本流程结束。显然,本发明的方法大大减少接入层等中低端路由器中LSA的数量,减小内存占用,减少中低端路由器之间LSA的泛洪,减少路由计算,减轻了CPU负担,保证OSPF协议在中低端路由器上正常运行。并且,在一些组网应用中,可以采用OSPF协议替代RIP协议,从而避免大量接口使能RIP造成的CPU间歇性繁忙,避免了很多隐患,也减少了链路中路由协议的开销。
在本发明的具体实施过程中,针对OSPF协议中存在的连接状态更新和连接状态请求等操作,为保证RT1中的LSA数量保持稳定,不会由于上述操作而增加LSA数量,同时保证其他路由器不会受到虚拟LSDB的影响,本发明实施例的方法还可以进一步包括如下处理:
1、当MRT1收到RT1发送的连接状态请求(LSR)消息时,MRT1从虚拟LSDB中查找LSA,而不从正常LSDB中查找,以保证RT1中始终不会引入非MRT1产生的LSA。
2、当MRT1收到连接状态更新(LSU)消息时,对该消息中包括的LSA进行判断,若该LSA中的LSID为0.0.0.0,且该LSA为通过MRT1与RT1间的接口A接收的三类、五类或七类LSA,即表明该LSA为虚拟的缺省LSA,则丢弃该连接状态更新消息,直接返回LSACK;否则,向所述正常LSDB中添加连接状态更新消息中的LSA,而不向虚拟LSDB中添加。
这里,丢弃虚拟的缺省LSA的原因是:当两个上行邻居路由器(例如MRT1和MRT2)都与目标路由器(例如RT1)存在下行链路时,RT1可以从两个上行邻居路由器MRT1和MRT2分别接收到一条缺省LSA,分别为LSA1和LSA2,这两条缺省LSA互不相同,但是由于其代表的路由信息都是0.0.0.0/0,因此其中的LSID均为0.0.0.0;当RT1与MRT1同步LSDB时,很可能将MRT1中没有的LSA2发送给MRT2,同理,也会将LSA1发送给MRT1,为保证两个上行邻居路由器中不会引入对方产生的缺省LSA(否则会影响二者间报文的正常路由),也就是说,MRT1中不引入MRT2产生的缺省LSA2,MRT2不引入MRT1产生的缺省LSA1,因此,将MRT1从接口A接收的LSID为0.0.0.0的LSA丢弃,而将其他的LSA保留。
3、在MRT1的虚拟LSDB中的LSA更新时,通过下行链路(即接口A)向RT1同步更新后的LSA。
这里,根据OSPF协议的规定,LSA是具有一定生命周期的,当生命周期结束时,产生的LSA会被丢弃,并根据当前的网络状况重新生成相应的LSA,这一过程称为LSA的更新。因此,MRT1中产生的缺省LSA会在一定时间后被丢弃,这时,需要重新产生新的缺省LSA,该LSA与之前的LSA相同,也是路由信息为0.0.0.0/0的区域间LSA或外部LSA,从而实现缺省LSA的更新。然后,在MRT1中的缺省LSA更新后,通过下行链路向RT1同步更新后的LSA。
本发明实施例还提供了基于OSPF的路由器具体结构。该路由器是图4所示路由器的具体实施方式。本实施例中,具体为上行邻居路由器MRT1。图6为该路由器的具体结构图。如图6所示,该路由器包括:控制单元、LSA处理单元、存储单元和OSPF接口单元。其中,LSA处理单元、存储单元和OSPF接口单元具有与图4所示路由器相同的结构和功能。除此之外,进一步地,图6所示路由器中还增加了控制单元,存储单元进一步包括虚拟LSDB子单元和正常LSDB子单元。并且,在LSA处理单元中加入了增强型的功能。具体地,在该路由器中,
控制单元,用于将所述OSPF接口单元中与目标路由器相连的OSPF接口设置为下行链路。
存储单元中的虚拟LSDB子单元,用于保存缺省LSA和本路由器的Router LSA。正常LSDB子单元,用于保存本路由器的Router LSA和OSPF接口单元接收的其他路由器产生的LSA。
LSA处理单元,在产生缺省LSA时,针对下行链路的接口所在的OSPF进行;并且,进一步用于在接收到通过所述下行链路接收的连接状态请求消息后,从所述虚拟LSDB子单元中查找LSA;在接收到所述OSPF接口单元转发的连接状态更新消息后,对该消息中包括的LSA进行判断,若该LSA中的LSID为0.0.0.0,且该LSA为通过下行链路接收的三类、五类或七类LSA,则丢弃该连接状态更新消息,通知OSPF接口单元返回LSACK;否则,在所述正常LSDB子单元中保存该连接状态更新消息中包括的LSA,不在所述虚拟LSDB子单元中保存该LSA;在所述虚拟LSDB子单元中的LSA更新时,通过所述下行链路向所述目标路由器同步更新后的LSA。
在上述本发明实施例中,在设置完下行链路后,直接执行后续步骤创建虚拟LSDB,加入缺省LSA和Router LSA。事实上,在某些情况下,若设置下行链路前,上行邻居路由器中已经保存了其他路由器产生的RouterLSA,就有可能已经将这些LSA发布给目标路由器了,显然,这将对目标路由器的LSDB规模限制造成不利影响。因此,优先的方式为,在设置完下行链路后,上行邻居路由器断开下行链路的所有邻居,重新建立邻居关系,从而保证不将非上行邻居路由器产生的LSA发布给目标路由器。
经过上述本发明实施例的具体操作,在图1中,将MRT1和MRT2与RT1间的接口配置为lowlink,那么在邻居建立后,RT1就只从MRT1收到两条LSA,只从MRT2收到两条LSA,但是,由于通过MRT1和MRT2能够到达图1中所示的其他任何设备,因此,虽然RT1中的LSDB规模降低,但同样可将报文路由到该网络中的任何设备。更重要的是,由于RT1中只有四条LSA,因此应用OSPF协议进行路由计算的计算量大大降低,对内存和CPU的要求也大大降低,因此中低端路由器RT1完全能够正常运行OSPF。
另外,在图1中,各个接入层路由器间不存在邻居关系,因此,RT1只能从上行邻居路由器处进行区域内LSDB的同步。而通过上述实施方式,显然由上行邻居路由器中同步的LSDB为虚拟LSDB,其中包括的LSA数量大大减少,从而降低了在RT1中进行路由计算的复杂度,使处理能力较差的RT1仍然能够正常运行OSPF协议进行报文转发。但是如果RT1存在同层邻居路由器,也就是RT1与其他接入层路由器(例如RT2)直连,如果该路由器具有与RT1相同的上行邻居路由器(例如MRT1),那么RT1可能会从该同层邻居路由器获取上行邻居路由器中的正常LSDB,这样的话,也会导致RT1中的LSDB规模过大,RT1无法正常运行OSPF协议的问题。
针对上述问题,优选地,在RT1存在同层邻居路由器、且该同层邻居路由器与RT1具有相同的上行邻居路由器时,例如RT2满足上述条件,那么需要将RT2也作为需要限制LSDB规模的路由器,并进行与RT1相同的处理,具体处理过程与上述实施例中描述的相同,这里就不再赘述。
上述的实施方式中,假定各个接入层路由器均处于不同的网段,因此不涉及到网段内指定路由器(DR)的选举。所谓DR是指在一个网段内的一个特殊路由器,它负责收集网段内所有路由器的LSA,并向区域内所有路由器发布其他路由器产生的LSA。只有在OSPF区域内的链路类型为Broadcast或NBMA时,需要设置DR。
当多个接入层路由器与上行邻居路由器位于同一网段时,例如RT1、RT2和MRT1位于同一网段,并且网段内的链路类型为Broadcast或NBMA,那么优选地,将RT1与MRT1间的接口A设置为下行链路后,将该下行链路的DR选举优先级设为0,即此下行链路不能做DR或BDR。其中,BDR为备份的DR,在DR出现故障时升级为DR。例如,将RT2作为DR,那么RT1仍然可以从RT2接收本区域内的LSA,这样,能够保证RT1正常从DR接收到本区域内其他路由器产生的LSA,使得在本区域内的报文路由不需要一定经过MRT1的转发。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。