路由器邻居建立方法和设备的制作方法

文档序号:7846767阅读:132来源:国知局
专利名称:路由器邻居建立方法和设备的制作方法
技术领域
本发明实施例涉及信息技术领域,特别涉及一种路由器邻居建立方法和设备。
背景技术
开放最短路径优先(Open Shortest Path First ;0SPF)是一种内部网关协议。 该协议规定子网中的路由器包括指定路由器(Designated Router ;DR)、备份指定路由器(Back Designated Router ;BDR)和非指定路由器或备份指定路由器(Not DR or BDR Router ;DR Other)。子网中所有路由器的连接状态数据库(Link state database ;LSDB) 都是一致的,由DR产生表示该网络的连接状态宣告(Link state advertisement ;LSA)。 子网中的路由器需要和DR交换LSDB信息,并由DR为该网络生成一个描述本网络的信息 (Network LSA),并由DR洪泛到子网中所有的路由器。子网中的路由器根据LSDB中的描述路由器节点的信息(Router LSA)和Network LSA,计算出以本端为根节点的最短路径树,并根据最短路径树计算出子网区域内所有的路由。现有技术中,网络中的任一节点需要同所有设备建立邻居关系,然而处理资源有限的小型设备,在和一部分设备建立邻居关系后,可能无法和其他设备建立连接关系,而一旦这些设备不能和可以作为DR、BDR的路由器建立邻居关系,则将影响这些设备的OSPF功能,例如无法计算出子网路由,无法发布本端路由器的路由信息等。

发明内容
本发明实施例提供一种路由器邻居建立方法和设备,以解决现有技术中小型设备无法和网络中所有设备建立邻居关系,影响OSPF功能的问题。本发明实施例提供了一种路由器邻居建立方法,包括获取邻居路由器发送的第一发现协议Hello报文,所述第一 Hello报文中携带所述邻居路由器的标识信息和优先级信息;根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。本发明实施例还提供一种路由器,包括获取单元,用于获取邻居路由器发送的第一发现协议Hello报文,所述第一 Hello 报文中携带所述邻居路由器的标识信息和优先级信息;确定单元,用于根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。本发明实施例提供的路由器邻居建立方法和设备,当本端路由器收到邻居路由器的Hello报文后,根据该邻居路由器的优先级信息,和/或本端路由器的优先级信息,以及邻居路由器是否为本端路由器配置的虚链路对端设备,确定是否与该邻居路由器建立邻居关系,从而保证小型设备能够与网络中的DR和BDR建立邻居关系,保证小型设备正常的 OSPF功能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的路由器邻居建立方法一个实施例的流程示意图;图2为本发明提供的路由器邻居建立方法又一个实施例的流程示意图;图3为本发明提供的路由器一个实施例的结构示意图;图4为本发明提供的路由器又一个实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明提供的路由器邻居建立方法一个实施例的流程示意图,如图1所示, 该方法包括S101、获取邻居路由器发送的第一发现协议Hello报文,所述第一Hello报文中携带所述邻居路由器的标识信息和优先级信息;S102、根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/ 或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息, 确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。以上步骤的执行主体为路由器,该路由器可以是通信网络中的具有路由功能的各种设备,例如可以是物联网中的各种具有路由功能的传感器。本发明提供的实施例,适用于能够作为DR或BDR的路由器,尤其适用于处理性能和资源优先的小型路由器。在采用OSPF等协议的通信网络中,路由器之间通过Hello报文来发现邻居路由器。第一 Hello报文中携带的信息包括邻居路由器的标识信息和邻居路由器的优先级信息。需要说明的是,本实施例中涉及的第一 Hello报文携带的信息,仅提及与本发明相关的邻居路由器的标识信息和邻居路由器的优先级信息,而实际上第一 Hello报文中还携带邻居路由器中的邻居列表,该邻居列表中包括与邻居路由器建立邻居关系的路由器的相关信息,这些相关信息可以包括建立邻居关系的路由器的标识信息以及优先级信息等。当本端路由器获取到邻居路由器发送的第一 Hello报文后,首先判断该邻居路由器是否为已发现的邻居,如果是已发现的邻居,则向本端路由器的邻居状态机返回收到报文事件(HelloRecv事件),如果不是已发现的邻居,则本端路由器可以根据该邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或该邻居路由器的标识信息是否为本端路由器配置的虚链路对端设备的标识信息(即,该邻居路由器是否为本端路由器配置的虚链路对端设备),确定是否与该邻居路由器建立邻居关系。具体的如果该邻居路由器的优先级不为0,则说明该邻居路由器有可能作为DR 或BDR,则需要与该邻居路由器建立邻居关系,与邻居路由器建立邻居关系具体是在本端路由器的邻居列表中添加该邻居路由器的相关信息(即,在本端路由器的邻居列表中建立该邻居路由器的数据结构),其中,在本端路由器的邻居列表中添加的邻居路由器的相关信息可以包括标识信息、优先级信息以及该邻居路由器的其他信息;同样,如果本端路由器的优先级不为0,则说明本端路由器有可能作为DR或BDR,由于DR需要和子网中的所有的路由器交换LSDB信息,并为该子网生成Network LSA信息,因此,DR需要和所有的邻居路由器建立邻居关系,因此,如果本端路由器有可能作为DR或BDR,则需要与该邻居路由器建立邻居关系,在本端路由器的邻居列表中添加该邻居路由器的相关信息;另外,如果该邻居路由器的标识信息为本端路由器配置的虚链路对端设备的标识信息(即,该邻居路由器是否为本端路由器配置的虚链路对端设备),则需要与该邻居路由器建立邻居关系,在本端路由器的邻居列表中添加该邻居路由器的相关信息。如果发出第一 Hello报文的邻居路由器的优先级为0,则通常情况下,该邻居路由器不会作为DR或BDR ;同样的,如果本端路由器的优先级为0,则通常情况下,本端路由器也不会作为DR或BDR ;如果邻居路由器的优先级为0,并且本端路由器的优先级为0,并且邻居路由器不是本端路由器配置的虚链路对端设备,则可以不与该邻居路由器建立邻居关系,即,不在本端路由器的邻居列表中添加该邻居路由器的相关信息,而直接将该第一 Hello报文丢弃。如果本端路由器确定不与邻居路由器建立邻居关系,则本端路由器无需对本端路由器的邻居列表进行更新,本端路由器的邻居列表中不包括该邻居路由器的相关信息,因此,节约了本端路由器的内存资源和处理资源,从而保证本端路由器能够与网络中的DR和 BDR建立邻居关系,保证小型设备正常的OSPF功能。并且,当本地路由器的接口状态机超时时,进入DR选举,本端路由器的DR选举列表中也同样不包括该邻居路由器的相关信息,从而简化了 DR选举的过程,提高了 DR选举效率。进一步的,由于第一 Hello报文中还可携带邻居路由器的邻居列表,如果邻居路由器尚未发现本端路由器,或者,邻居路由器已经发现了本端路由器,但并未与本端路由器建立邻居关系,则邻居路由器的邻居列表中不包括本端路由器的相关信息。如果确定与邻居路由器建立邻居关系,在本端路由器中添加邻居路由器的相关信息,则还可以进一步将该邻居路由器的状态设置为状态I(I-WAY),表示本端路由器发现邻居路由器,但邻居路由器尚未发现本端路由器;如果邻居路由器的邻居列表中包括本端路由器的相关信息,则说明邻居路由器已发现本端路由器,并且与本端路由器建立邻居关系,则可以将本端路由器的邻居列表中邻居路由器的状态设置为状态2 Q-WAY),表示本端路由器发现邻居路由器,且邻居路由器发现本端路由器。如果本端路由器确定不与邻居路由器建立邻居关系,则本端路由器广播的第二 Hello报文中携带的邻居列表中不包括该邻居路由器的相关信息;如果本端路由器确定与邻居路由器建立邻居关系,则本端路由器需要在本端路由器的邻居列表中添加该邻居路由器的相关信息,则本端路由器广播的第三Hello报文中携带的邻居列表中包括该邻居路由器的相关信息。由于当本端路由器的邻居列表中某一邻居路由器的状态为状态2时,即本端路由器发现邻居路由器,且邻居路由器发现本端路由器时,当本地路由器的接口状态机超时时, 进入DR选举,才会将该邻居路由器的相关信息加入到DR选举列表中。可以看出,如果邻居路由器和/或本端路由器在接收到对方的Hello报文时,能够根据优先级信息和是否为本端路由器配置的虚链路对端设备,确定是否建立邻居关系,则可以避免将不可能成为DR或 BDR的路由器相关信息加入到DR列表中,参加DR选举,从而简化了 DR选举的过程,提高了 DR选举效率。需要说明的是,本发明中涉及到的第一报文、第二报文和第三报文是用于区分不同路由器广播的Hello报文,是泛指某一路由器发出的所有Hello报文,而并非特指某一路由器发出的某个报文。本发明实施例提供的路由器邻居建立方法,当本端路由器收到邻居路由器的 Hello报文后,根据该邻居路由器的优先级信息,和/或本端路由器的优先级信息,以及邻居路由器是否为本端路由器配置的虚链路对端设备,确定是否与该邻居路由器建立邻居关系,从而保证小型设备能够与网络中的DR和BDR建立邻居关系,保证小型设备正常的OSPF 功能。图2为本发明提供的路由器邻居建立方法又一个实施例的流程示意图,如图2所示,本实施例提供了路由器邻居建立、DR选举以及路由器LSA交换的完整流程。在路由器邻居建立过程中,本端路由器根据邻居路由器的优先级、本端路由器的优先级以及邻居路由器是否为本端路由器配置的虚链路对端设备来确定是否与邻居路由器建立邻居关系。其中,路由器1 (Routerl ;Rl)和路由器2 (Router2 ;R2)均为低端设备,Rl的优先级为O (Pri 0),R2的优先级为O (Pri :0),只能作为DR Other。路由器3(Router3 ;R3)的优先级为1 (Pri :1),可以作为01 或801 。Rl不是R2配置的虚链路对端设备,R2不是Rl配置的虚链路对端设备。该方法具体包括路由器邻居建立部分S20UR1广播Hello报文,该报文中携带Rl的标识信息(Rl)和优先级信息(Pri 0);假设Rl尚未与网络中的其他路由器建立邻居关系,此时,Rl广播的Hello报文中携带的邻居列表中不包括邻居路由器的相关信息。S202、R2获取到Rl发送的Hello报文后,丢弃该Hello报文,不与Rl建立邻居关系;具体的,R2判断出Rl的优先级为0,因此,Rl不会作为DR或BDR ;R2进一步判断出本端的优先级为0,则本端路由器不会作为DR或BDR ;R2进一步判断出Rl不是本端路由器配置的虚链路对端设备,因此,R2将该Hello报文丢弃,不与Rl建立邻居关系,不在本端路由器的邻居列表中添加Rl的相关信息;S203、R2广播Hello报文,该报文中携带R2的标识信息(似)和优先级信息(Pri 0),此时,由于R2不与Rl建立邻居关系,因此,R2广播的Hello报文中携带的邻居列表中不包括Rl的标识信息)。S204、R3获取到Rl发送的Hello报文后,在邻居列表中添加Rl的相关信息Rl (本实施中仅以邻居列表中添加邻居路由器的标识信息Rl为例,实际上,邻居列表中还可以包括邻居路由器的其他信息,例如优先级信息等),与Rl建立邻居关系;由于Rl发送的 Hello报文的邻居列表中不包括R3的相关信息,则R3将本端路由器邻居列表中Rl的状态设为状态1 (R1 =I-WAY) ο具体的,R3判断出Rl的优先级为0,因此,Rl不会作为DR或BDR ;R3进一步判断出本端的优先级为1,则本端路由器可能作为DR或BDR,则R3邻居列表中添加Rl的相关信息,与Rl建立邻居关系。其中,S204中的I-WAY表示R3发现Rl,但Rl尚未发现R3。S205、R3获取到R2发送的Hello报文后,在邻居列表中添加R2的相关信息R2,与 R2建立邻居关系;由于R2发送的Hello报文的邻居列表中不包括R3的相关信息,则R3将本端路由器邻居列表中R2的状态设为状态1 (R2 =I-WAY)。具体的,R3判断出R2的优先级为0,因此,R2不会作为DR或BDR ;R3进一步判断出本端的优先级为1,则本端路由器可能作为DR或BDR,则R3在邻居列表中添加R2的相关信息,与R2建立邻居关系。其中,S205中的I-WAY表示R3发现R2,但R2尚未发现R3。此时,R3的邻居列表中包括Rl =I-WAY ;R2:1_WAY。S206、R3广播Hello报文,该报文中携带R3的标识信息R3和优先级信息(Pri 1),此时,R3广播的Hello报文中携带的邻居列表中携带Rl和R2的相关信息。S207、R1获取到R2发送的Hello报文后,丢弃该Hello报文,不与R2建立邻居关系;具体的,Rl判断出R2的优先级为0,因此,R2不会作为DR或BDR ;Rl进一步判断出本端的优先级为0,则本端路由器不会作为DR或BDR ;Rl进一步判断出R2不是本端路由器配置的虚链路对端设备,因此,Rl将该Hello报文丢弃,不与R2建立邻居关系;S208、R1获取到R3发送的Hello报文后,在邻居列表中添加R3的相关信息,与R3 建立邻居关系;由于R3发送的Hello报文的邻居列表中包括Rl的相关信息,则Rl将本端路由器的邻居列表中R3的状态设为状态2 (R3 :2-WAY)。具体的,Rl判断出R3的优先级为1,则R3可能作为DR或BDR,则Rl在邻居列表中添加R3的相关信息,与R3建立邻居关系。其中,S208中的2-WAY表示Rl发现R3,并且 R3发现R1。S209、R1广播Hello报文,该报文中携带Rl的标识信息(Rl)和优先级信息(Pri 0),此时,Rl广播的Hello报文中携带的邻居列表中携带R3的相关信息;S210、R2获取到R3发送的Hello报文后,在邻居列表中添加R3的相关信息,与R3 建立邻居关系;由于R3发送的Hello报文的邻居列表中包括R2的相关信息,则R2将本端路由器的邻居列表中R3的状态设为状态2 (R3 :2-WAY)。具体的,R2判断出R3的优先级为1,则R3可能作为DR或BDR,则Rl在邻居列表中添加R3的相关信息R3 :2-WAY,与R3建立邻居关系。其中,S210中的2-WAY表示R2发现 R3,并且R3发现R2。S21UR2广播Hello报文,该报文中携带R2的标识信息(似)和优先级信息(Pri 0),此时,R2广播的Hello报文中携带的邻居列表中携带R3的相关信息。需要说明的是,两个路由器接收到其他路由器广播的Hello报文不分先后顺序, 例如S202中R2接收Rl发送的Hello报文和S204中R3接收到Rl发送的Hello报文不分先后顺序。另外,S203R2广播Hello报文和R3广播Hello报文也不分先后顺序。在此不--赘述。DR选举部分S212、R1的接口状态机超时,进入DR选举;Rl的DR选举列表包括R1和R3。S213、R2的接口状态机超时,进入DR选举;R2的DR选举列表包括R2和R3。S213、R3的接口状态机超时,进入DR选举;R3的DR选举列表包括R1、R2和R3。其中,各路由器的DR选举列表比邻居列表多一个本端路由器的标识信息。本端路由器的邻居状态机用于发现邻居路由器,当某一邻居路由器达到2-WAY状态后,S卩,本端路由器发现该邻居路由器,该邻居路由器发现本端路由器,则本端路由器就将该邻居路由器的标识信息加入DR选举列表中。另外,需要说明的是,R1、R2和R3的接口状态机超时的时间可能是不一致的,也没有先后关系,通信系统中根据选举算法能够保证各路由器最终选举出来的DR是同一个路由器。DR选举之后,Rl的接口状态机变迁到DR other, R2的接口状态机变迁到DR other, R3的接口状态机变迁到DR。LSA交换部分S214、Rl 与 R3 (DR)进行 LSA 交换;Rl与DR进行LSA交换的过程由Rl和R3之间交互的多个单播信令构成,此为现有技术,在图2中仅以一个信令来表示。Rl与R3(DR)的LSA交换完成后,Rl的邻居列表为R3 :FULL (完全状态),R3 :F U LL表示Rl和R3完成了 LSA交换;R2与DR的LSA交换完成后,R2的邻居列表为R3 =FULL, 表示R2和R3完成了 LSA交换;R3与Rl和R2LSA交换完成后,R3的邻居列表为R1 =FULL, R2 :FULL。本发明实施例提供的路由器邻居建立方法,当本端路由器收到邻居路由器的 Hello报文后,本端路由器根据邻居路由器的优先级信息、本端路由器的优先级信息以及邻居路由器是否为本端路由器配置的虚链路对端设备来确定是否与邻居路由器建立邻居关系。保证小型设备能够与网络中的DR和BDR建立邻居关系,保证小型设备正常的OSPF功能。如果本端路由器确定不与邻居路由器建立邻居关系,则本端路由器无需对邻居列表进行更新,当本地路由器的接口状态机超时时,进入DR选举,本端路由器的DR选举列表中也同样不包括该邻居路由器的标识信息,从而简化了 DR选举的过程,提高了 DR选举效率。
需要说明的是对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图3为本发明提供的路由器一个实施例的结构示意图,如图4所示,该路由器包括获取单元11和确定单元12 ;获取单元11,用于获取邻居路由器发送的第一发现协议Hello报文,所述第一 Hello报文中携带所述邻居路由器的标识信息和优先级信息;确定单元12,用于根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。本发明实施例提供的路由器,可以是通信网络中的具有路由功能的各种设备,例如可以是物联网中的各种具有路由功能的传感器。该路由器可以是能够作为DR或BDR的路由器,也可以是处理性能和资源优先的小型路由器。在采用OSPF等协议的通信网络中,路由器之间通过Hello报文来发现邻居路由器。当获取单元11获取到邻居路由器发送的第一 Hello报文后,确定单元12可以根据该邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或该邻居路由器的标识信息是否为本端路由器配置的虚链路对端设备的标识信息(即,该邻居路由器是否为本端路由器配置的虚链路对端设备),确定是否与该邻居路由器建立邻居关系。具体的确定单元12可以通过邻居路由器的优先级信息判断该邻居路由器能够作为DR或BDR,如果邻居路由器的优先级不为0,则说明该邻居路由器有可能作为DR或 BDR,则确定单元12确定需要与该邻居路由器建立邻居关系;同样,确定单元12也可以通过本端路由器的优先级信息判断本端路由器是否能够作为DR或BDR,如果本端路由器的优先级不为0,则说明本端路由器有可能作为DR或BDR,由于DR需要和子网中的所有的路由器交换LSDB信息,并为该子网生成Network LSA信息,因此,确定单元12确定需要和所有的邻居路由器建立邻居关系,因此,如果本端路由器有可能作为DR或BDR,则确定单元12确定需要与该邻居路由器建立邻居关系;另外,如果邻居路由器是本端路由器配置的虚链路对端设备,则确定单元12确定需要与该邻居路由器建立邻居关系,在邻居列表中建立该邻居路由器的数据结构。如果发出第一 Hello报文的邻居路由器的优先级为0,则通常情况下,该邻居路由器不会作为DR或BDR ;同样的,如果本端路由器的优先级为0,则通常情况下,本端路由器也不会作为DR或BDR ;如果邻居路由器的优先级为0,,并且本端路由器的优先级为0,并且邻居路由器不是本端路由器配置的虚链路对端设备,则确定单元12可以确定不与该邻居路由器建立邻居关系,而直接将该第一 Hello报文丢弃。如果确定单元12确定不与邻居路由器建立邻居关系,则本端路由器无需对邻居列表进行更新,当本地路由器的接口状态机超时时,进入DR选举,本端路由器的DR选举列表中也同样不包括该邻居路由器的标识信息,从而简化了 DR选举的过程,提高了 DR选举效率。本发明实施例提供的路由器,当收到邻居路由器的Hello报文后,根据该邻居路由器的优先级信息,和/或本端路由器的优先级信息,以及邻居路由器是否为本端路由器配置的虚链路对端设备,确定是否与该邻居路由器建立邻居关系,从而保证小型设备能够与网络中的DR和BDR建立邻居关系,保证小型设备正常的OSPF功能。图4为本发明提供的路由器又一个实施例的结构示意图,如图4所示,该路由器包括获取单元11和确定单元12 ;进一步的,所述第一 Hello报文中还携带所述邻居路由器的邻居列表,若所述确定单元12确定在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息,则本实施例提供的路由器还可以包括判断单元13,用于判断所述邻居路由器的邻居列表中是否包括所述本端路由器的相关信息;设置单元14,用于若所述邻居路由器的邻居列表中不包括所述本端路由器的相关信息,则将所述本端路由器的邻居列表中所述邻居路由器的状态设置为状态1,所述状态 1用于表示所述本端路由器发现所述邻居路由器,所述邻居路由器尚未发现所述本端路由器;若所述邻居路由器的邻居列表中包括所述本端路由器的相关信息,则将所述本端路由器的邻居列表中所述邻居路由器的状态设置为状态2,所述状态2用于表示所述本端路由器发现所述邻居路由器,且所述邻居路由器发现所述本端路由器。确定单元12可以进一步包括判断模块121和处理模块122 ;判断模块121,用于根据所述邻居路由器的优先级信息,判断所述邻居路由器的优先级是否为0,若所述邻居路由器的优先级为0,则根据所述本端路由器的优先级信息,判断所述本端路由器的优先级是否为0,若所述本端路由器的优先级为0,则判断所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息;处理模块122,用于若所述判断模块判断出所述邻居路由器的标识信息不是所述本端路由器配置的虚链路对端设备的标识信息,则丢弃所述第一 Hello报文。在此基础上,本实施例提供的路由器还可以包括第一广播单元15 ;第一广播单元15,用于在所述处理模块122丢弃所述第一 Hello报文之后,广播第二 Hello报文,所述第二 Hello报文中携带所述本端路由器的标识信息和优先级信息,所述第二 Hello报文中还携带所述本端路由器的邻居列表,所述本端路由器的邻居列表中不包括所述邻居路由器的相关信息。作为另一种可行的实施方式,处理模块122还可以用于若所述判断模块121判断出所述邻居路由器的优先级不为0,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。处理模块122还可以用于若所述判断模块121判断出所述本端路由器的优先级不为0,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。处理模块122也可以用于若所述判断模块121判断出所述邻居路由器标识信息是所述本端路由器配置的虚链路对端设备的标识信息,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。进一步的,本实施例提供的路由器还可以包括第二广播单元16 ;第二广播单元16,用于在所述处理模块在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息之后,广播第三Hello报文,所述第三Hello报文中携带所述本端路由器的标识信息和优先级信息,所述第三Hello报文中还携带所述本端路由器的邻居列表,所述本端路由器的邻居列表中包括所述邻居路由器的相关信息。本发明实施例提供的路由器,为本发明实施例提供的路由器邻居建立方法的执行设备,其具体实行路由器邻居建立方法的过程可参见方法实施例,不再赘述。本发明实施例提供的路由器,当收到邻居路由器的Hello报文后,根据邻居路由器的优先级信息、本端路由器的优先级信息,以及邻居路由器是否为本端路由器配置的虚链路对端设备来确定是否与邻居路由器建立邻居关系。保证小型设备能够与网络中的DR 和BDR建立邻居关系,保证小型设备正常的OSPF功能。如果确定不与邻居路由器建立邻居关系,则无需对邻居列表进行更新,当接口状态机超时时,进入DR选举,DR选举列表中也同样不包括该邻居路由器的标识信息,从而简化了 DR选举的过程,提高了 DR选举效率。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种路由器邻居建立方法,其特征在于,包括获取邻居路由器发送的第一发现协议Hello报文,所述第一 Hello报文中携带所述邻居路由器的标识信息和优先级信息;根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
2.根据权利要求1所述的方法,其特征在于,所述第一Hello报文中还携带所述邻居路由器的邻居列表,若确定在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息,则还所述方法包括判断所述邻居路由器的邻居列表中是否包括所述本端路由器的相关信息;若所述邻居路由器的邻居列表中不包括所述本端路由器的相关信息,则将所述本端路由器的邻居列表中所述邻居路由器的状态设置为状态1,所述状态1用于表示所述本端路由器发现所述邻居路由器,所述邻居路由器尚未发现所述本端路由器;若所述邻居路由器的邻居列表中包括所述本端路由器的相关信息,则将所述本端路由器的邻居列表中所述邻居路由器的状态设置为状态2,所述状态2用于表示所述本端路由器发现所述邻居路由器, 且所述邻居路由器发现所述本端路由器。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息,包括根据所述邻居路由器的优先级信息,判断所述邻居路由器的优先级是否为O ;若所述邻居路由器的优先级为0,则根据所述本端路由器的优先级信息,判断所述本端路由器的优先级是否为O ;若所述本端路由器的优先级为0,则判断所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息;若所述邻居路由器的标识信息不是所述本端路由器配置的虚链路对端设备的标识信息,则丢弃所述第一 Hello报文。
4.根据权利要求3所述的方法,其特征在于,所述丢弃所述第一Hello报文之后,还包括广播第二 Hello报文,所述第二 Hello报文中携带所述本端路由器的标识信息和优先级信息,所述第二 Hello报文中还携带所述本端路由器的邻居列表,所述本端路由器的邻居列表中不包括所述邻居路由器的相关信息。
5.根据权利要求3所述的方法,其特征在于,还包括若所述邻居路由器的优先级不为0,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
6.根据权利要求3所述方法,其特征在于,还包括若所述本端路由器的优先级不为0,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
7.根据权利要求3所述的方法,其特征在于,还包括若所述邻居路由器标识信息是所述本端路由器配置的虚链路对端设备的标识信息,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息之后,还包括广播第三Hello报文,所述第三Hello报文中携带所述本端路由器的标识信息和优先级信息,所述第三Hello报文中还携带所述本端路由器的邻居列表,所述本端路由器的邻居列表中包括所述邻居路由器的相关信息。
9.一种路由器,其特征在于,包括获取单元,用于获取邻居路由器发送的第一发现协议Hello报文,所述第一Hello报文中携带所述邻居路由器的标识信息和优先级信息;确定单元,用于根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息, 和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
10.根据权利要求9所述的路由器,其特征在于,所述第一Hello报文中还携带所述邻居路由器的邻居列表,若所述确定单元确定在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息,则所述路由器还包括判断单元,用于判断所述邻居路由器的邻居列表中是否包括所述本端路由器的相关信息;设置单元,用于若所述邻居路由器的邻居列表中不包括所述本端路由器的相关信息, 则将所述本端路由器的邻居列表中所述邻居路由器的状态设置为状态1,所述状态1用于表示所述本端路由器发现所述邻居路由器,所述邻居路由器尚未发现所述本端路由器;若所述邻居路由器的邻居列表中包括所述本端路由器的相关信息,则将所述本端路由器的邻居列表中所述邻居路由器的状态设置为状态2,所述状态2用于表示所述本端路由器发现所述邻居路由器,且所述邻居路由器发现所述本端路由器。
11.根据权利要求9或10所述的路由器,其特征在于,所述确定单元包括判断模块,用于根据所述邻居路由器的优先级信息,判断所述邻居路由器的优先级是否为0,若所述邻居路由器的优先级为0,则根据所述本端路由器的优先级信息,判断所述本端路由器的优先级是否为0,若所述本端路由器的优先级为0,则判断所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息;处理模块,用于若所述判断模块判断出所述邻居路由器的标识信息不是所述本端路由器配置的虚链路对端设备的标识信息,则丢弃所述第一 Hello报文。
12.根据权利要求11所述的路由器,其特征在于,还包括第一广播单元,用于在所述处理模块丢弃所述第一 Hello报文之后,广播第二 Hello报文,所述第二 Hello报文中携带所述本端路由器的标识信息和优先级信息,所述第二 Hello 报文中还携带所述本端路由器的邻居列表,所述本端路由器的邻居列表中不包括所述邻居路由器的相关信息。
13.根据权利要求11所述的路由器,其特征在于,所述处理模块还用于若所述判断模块判断出所述邻居路由器的优先级不为0,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
14.根据权利要求11所述的路由器,其特征在于,所述处理模块还用于若所述判断模块判断出所述本端路由器的优先级不为0,则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
15.根据权利要求11所述的路由器,其特征在于,所述处理模块还用于若所述判断模块判断出所述邻居路由器标识信息是所述本端路由器配置的虚链路对端设备的标识信息, 则在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。
16.根据权利要求13-15任一项所述的路由器,其特征在于,还包括第二广播单元,用于在所述处理模块在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息之后,广播第三Hello报文,所述第三Hello报文中携带所述本端路由器的标识信息和优先级信息,所述第三Hello报文中还携带所述本端路由器的邻居列表,所述本端路由器的邻居列表中包括所述邻居路由器的相关信息。
全文摘要
本发明实施例涉及一种路由器邻居建立方法和设备。方法包括获取邻居路由器发送的第一发现协议Hello报文,所述第一Hello报文中携带所述邻居路由器的标识信息和优先级信息;根据所述邻居路由器的优先级信息,和/或本端路由器的优先级信息,和/或所述邻居路由器的标识信息是否为所述本端路由器配置的虚链路对端设备的标识信息,确定是否在所述本端路由器的邻居列表中添加所述邻居路由器的相关信息。本发明实施例,保证小型设备能够与网络中的DR和BDR建立邻居关系,保证小型设备正常的OSPF功能。
文档编号H04L12/56GK102318287SQ201180000922
公开日2012年1月11日 申请日期2011年6月30日 优先权日2011年6月30日
发明者秦韵 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1