Ospf网络中的路由器及其处理方法

文档序号:7870304阅读:374来源:国知局
专利名称:Ospf网络中的路由器及其处理方法
技术领域
本申请涉及IP (Internet Protocol,因特网协议)路由技术领域,特别涉及一种OSPF网络中的路由器及其处理方法。
背景技术
OSPF (Open Shortest Path First,开放最短路径优先)路由协议是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一种基于链路状态(Link-state)的内部网关协议(Interior Gateway Protocol, IGP)。OSPF路由协议用于在同一个自治域(AS)中的路由器之间发布路由信息。下面对OSPF路由协议的一些基本概念 和术语进行介绍1、区域OSPF路由协议引入“分层路由”的概念,将OSPF网络划分为多个“区域(Area)”。每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。当一个路由器与多个区域相连时,称之为区域边界路由器(Area BoundaryRouter,ABR)。若一个路由器的所有端口均在同一区域内,则该路由器称为内部路由器。在划分成的多个区域中存在一个骨干区域(Backbone),一般为区域0,其余区域必须与骨干区域直接相连,即所有的ABR都属于骨干区域。骨干区域的主要工作是在其余区域间传递路由信息。当一个区域的路由信息对外广播时,其路由信息需要先传递至区域O (骨干区域),再由区域O将该路由信息向其余区域广播。图1是一种典型的OSPF网络的组网图,在该OSPF网络中划分成了 3个区域区域
O、区域I和区域2。2、指定路由器(DR)在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF路由协议要求在每一个区域中选举一个DR。每一个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。3、LSA当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)时,路由器会产生链路状态公告(Link-State Advertisement, LSA),其中包含有该路由器上的所有相连链路,也即所有端口的状态信息。LSA按照功能可以划分为若干类型,其中最主要的两种类型为Router LSA (路由器LSA):由每个路由器产生,描述了本路由器的链路状态和花费,传递到整个区域;Network LSA (网络LSA):由DR产生,描述了本网段的链路状态,传递到整个区域。目前,考虑到区域较大或业务部署上的原因,还会将骨干区域或其他区域进一步划分为多个管理单元。同样,同一个区域内的多个管理单元,都有着该管理单元独立的网络拓扑数据库及网络拓扑图。对于每一个管理单元,其网络拓扑结构在该管理单元外是不可见的,在每一个管理单元中的路由器对本管理单元外的其余管理单元的网络结构也不了解。当一个路由器与多个管理单元相连时,称之为传输边界路由器(Transit BoundaryRouter, TBR)。若一个路由器的所有端口均在同一管理单元内,则该路由器称为内部路由器。并且,同一区域划分出的多个管理单元中存在一个传输单元,可以称为CORE单元。CORE单元的功能与骨干区域类似,主要负责在同一区域内的其他管理单元之间传递路由信息。当一个管理单元的路由信息对外广播时,其路由信息需要先传递至CORE单元,再由CORE单元将该路由信息向其余管理单元广播。如图1所示,区域O又进一步划分为CORE单元、MCl单元、MC2单元、MC3单元和MC4单元这5个管理单元,其中,CORE单元为传输单元,其他管理单元(MC1、MC2、MC3和MC4)需要通过CORE单元进行数据流传递,而没有业务与CORE单元进行通信。TBR1、TBR2、TBR3 和TBR4是CORE单元与其他单元之间的传输边界路由器。现有技术中,同一区域内的各个管理单元之间需要相互发布本单元内的路由信息,从而实现管理单元之间的数据通信。但是,这样就不利于管理单元的安全,也不利于加快路由收敛。

发明内容
本申请提供了一种OSPF网络中的路由器及其处理方法,以解决现有技术中存在的同一区域内的各个管理单元之间相互发布本单元内的路由信息,不利于管理单元的安全和加快路由收敛的问题。本申请的技术方案如下一方面,提供了一种OSPF网络中的路由器的处理方法,该OSPF网络中包括多个区域,一个区域中包括多个管理单元,该方法应用于TBR,该TBR连接第一管理单元和第二管理单元,该方法包括接收第一管理单元的新LSA,其中,新LSA中包含有原LSA和用于描述拓扑信息的拓扑LSA,原LSA是路由器LSA或网络LSA ;将新LSA中包含的原LSA和拓扑LSA保存到LSDB,并建立该原LSA与该拓扑LSA之间的关联关系;当要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,其中,第二管理单元与第一管理单元属于同一区域。另一方面,还提供了一种OSPF网络中的路由器的处理方法,该OSPF网络中包括多个区域,一个区域中包括多个管理单元,该方法应用于一个管理单元中的路由器,该方法包括在与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA 的新 LSA ;其中,第一拓扑LSA用于描述本路由器的拓扑信息和环回口路由,第一拓扑LSA中包括本路由器连接的各个链路Link的信息,每一个Link的信息中包括=Link标识ID、Link数据Data和TL标识位,其中当一个Link所属的网段为广播网络时,该Link的Link ID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,Link ID是该Link连接的两个路由器中ID较小的路由器的路由器ID,Link Data是该网段的网络标识ID;TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link ;当一个Link为环回口时,该Link的Link ID是该环回口的地址,Link Data是该环回口对应的掩码地址,TL标识位的值置为第二值。
又一方面,还提供了一种OSPF网络中的路由器的处理方法,该OSPF网络中包括多个区域,一个区域中包括多个管理单元,其中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过TBR连接,该方法应用于第二管理单元中的路由器,该方法包括接收第一管理单元的第一拓扑LSA和第二拓扑LSA,并保存到LSDB ;在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器;计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。又一方面,还提供了一种OSPF网络中的路由器,该OSPF网络中包括多个区域,一个区域中包括多个管理单元,该路由器是连接第一管理单元和第二管理单元的TBR,该路由器包括接收模块,用于接收第一管理单元的新LSA,其中,新LSA中包含有原LSA和用于描述拓扑信息的拓扑LSA,原LSA是路由器LSA或网络LSA ;处理模块,用于将接收模块接收到的新LSA中包含的原LSA和拓扑LSA保存到LSDB,并建立该原LSA与该拓扑LSA之间的关联关系;还用于当发送模块要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,其中,
第二管理单元与第一管理单元属于同一区域;发送模块,用于在处理模块的判断结果是具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元。又一方面,还提供了一种OSPF网络中的路由器,该OSPF网络中包括多个区域,一个区域中包括多个管理单元,该路由器是一个管理单元中的路由器,该路由器包括处理模块,用于在本路由器与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA用于描述本路由器的拓扑信息和环回口路由,第一拓扑LSA中包括本路由器连接的各个链路Link的信息,每一个Link的信息中包括Link标识ID、Link数据Data和TL标识位,其中
当一个Link所属的网段为广播网络时,该Link的Link ID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,Link ID是该Link连接的两个路由器中ID较小的路由器的路由器ID,Link Data是该网段的网络标识ID;TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link ;当一个Link为环回口时,该Link的Link ID是该环回口的地址,Link Data是该环回口对应的掩码地址,TL标识位的值置为第二值。
又一方面,还提供了一种OSPF网络中的路由器,该OSPF网络中包括多个区域,一个区域中包括多个管理单元,其中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过传输边界路由器TBR连接,该路由器是第二管理单元中的路由器,该路由器包括接收模块,用于接收第一管理单元的第一拓扑LSA和第二拓扑LSA ;处理模块,用于将接收模块接收到的第一拓扑LSA和第二拓扑LSA保存到LSDB ;还用于在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器;还用于计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。在本申请的技术方案中,当一个区域中的第一管理单元需要屏蔽部分或全部的路由信息,不想发布给同一区域内的其他管理单元(称为第二管理单元)时,第一管理单元中的路由器在产生LSA时,产生的新LSA中除了包含有现有技术中的Router LSA或NetworkLSA (统称为原LSA)以外,还包含有用于描述拓扑信息的拓扑LSA,然后发布新LSA,当连接第一管理单元的TBR接收到新LSA时,保存其中包含的原LSA和拓扑LSA,之后,当要向第二管理单元发送LSA时,会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,通过TBR的上述LSA的转换操作,可以将第一管理单元的路由信息(即原LSA,也即现有技术中的Router LSA或Network LSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA),实现了将管理单元的路由信息对同一区域的其他管理单元进行屏蔽,只对其他管理单元发布拓扑信息的效果,增强了管理单元的安全性,并减少了路由扩散。


图1是一种典型的OSPF网络的组网图;图2是本申请的实施例一的OSPF网络中的路由器的处理方法的流程图;图3是本申请的实施例二的第一拓扑LSA的结构示意图;图4是本申请的实施例二的第二拓扑LSA的结构示意图;图5是本申请的实施例二的Hello报文的结构示意图6是本申请的实施例五的OSPF网络的组网图;图7是本申请的实施例六的OSPF网络中的作为连接第一管理单元和第二管理单元的TRB时的路由器的结构示意图;图8是本申请的实施例六的OSPF网络中的第一管理单元中的路由器的结构示意图;图9是本申请的实施例六的OSPF网络中的第二管理单元中的路由器的结构示意 图。
具体实施例方式为了解决现有技术中存在的同一区域内的各个管理单元之间相互发布本单元内的路由信息,不利于管理单元的安全和加快路由收敛的问题,本申请的以下实施例中提供了一种OSPF网络中的路由器的处理方法、以及一种可以应用该方法的OSPF网络中的路由器。本申请以下实施例的技术方案中,当一个区域中的某一个管理单元(称为第一管理单元)需要屏蔽部分或全部的路由信息,不想发布给同一区域内的其他管理单元(称为第二管理单元)时,第一管理单元中的路由器在产生LSA时,产生的新LSA中除了包含有现有技术中的Router LSA或Network LSA (统称为原LSA)以外,还包含有用于描述拓扑信息的拓扑LSA,然后发布新LSA,当连接第一管理单元的TBR接收到新LSA时,保存其中包含的原LSA和拓扑LSA,之后,当要向第二管理单元发送LSA时,会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,通过TBR的上述LSA的转换操作,可以将第一管理单元的路由信息(即原LSA,也即现有技术中的Router LSA或Network LSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA),实现了将管理单元的路由信息对同一区域的其他管理单元进行屏蔽,只对其他管理单元发布拓扑信息的效果,增强了管理单元的安全性,并减少了路由扩散。在以下的实施例中,OSPF网络中包括多个区域,某一个区域中又进一步包括多个管理单元,某一个区域中的任意一个管理单元,称为第一管理单元需要对外屏蔽路由信肩、O实施例一本申请的实施例一的处理方法可以由连接第一管理单元和第二管理单元的任意一个TBR来执行。当第一路由器是连接第一管理单元和第二管理单元的一个TBR时,第一路由器执行的处理方法如图2所示,包括以下步骤步骤S201,第一路由器接收第一管理单元的新LSA,其中,新LSA中包含有原LSA和用于描述拓扑信息的拓扑LSA,原LSA可以是路由器LSA或网络LSA ;为了区分当原LSA是路由器LSA时的拓扑LSA和当原LSA是网络LSA时的拓扑LSA,可以将原LSA是路由器LSA时的拓扑LSA称为第一拓扑LSA,将原LSA是网络LSA时的拓扑LSA称为第二拓扑LSA。第一管理单元中的路由器在与直连的邻居路由器建立了邻接关系之后,会产生包含有路由器LSA和第一拓扑LSA的新LSA,然后发布该新LSA;另外,若该路由器是一个网段中的指定路由器DR,则该路由器在与直连的邻居路由器建立了邻接关系之后,还会产生包含有网络LSA和第二拓扑LSA的新LSA,然后发布该新LSA。之后,第一管理单元中的路由器发布的包含有路由器LSA和第一拓扑LSA的新LSA,以及包含有网络LSA和第二拓扑LSA的新LSA会到达第一路由器。第一拓扑LSA的结构与现有技术的路由器LSA的结构相同,参见图3,第二拓扑LSA的结构与现有技术的网络LSA的结构类似,参见图4,只是第二拓扑LSA中删除了Network Mask (网络掩码)字段,对于第一拓扑LSA和第二拓扑LSA的介绍可以参见下文的实施例二,这里不再赘述。步骤S202,第一路由器将接收到的新LSA中包含的原LSA和拓扑LSA保存到LSDB(Link State DataBase,链路状态数据库),并建立该原LSA与该拓扑LSA之间的关联关系;例如,在执行步骤S202的过程中,第一路由器还可以执行以下老化操作在将一个新LSA存储到LSDB中时,将其中包含的拓扑LSA取出,并将该拓扑LSA中的LS age (链路状态年龄)字段的值修改为该新LSA中包含的原LSA中的LS age+t,t为预先配置的时间值,可以默认t=l,这样做的主要目的是为了在老化时,拓扑LSA要早于对应的原LSA老化。若得到的原LSA中的LS age+t >年龄阈值(例如为3600),则将该拓扑LSA老化。若得到的原LSA中的LS age+t<年龄阈值(例如为3600),则将该拓扑LSA保存到LSDB中的转换区。在步骤S202之后,当LSDB中的一个原LSA的序列号改变为新序列号时,第一路由器会将与该原LSA相关联的LSDB中的拓扑LSA (例如保存在转换区)的序列号更新为该新序列号。第一路由器在接收到一个邻居路由器发来的用于通知老化某一原LSA的消息后,会立即将LSDB中的该原LSA老化,此时,第一路由器还会将与该原LSA相关联的LSDB中的拓扑LSA (例如保存在转换区)老化。在一个原LSA (或拓扑LSA)由于老化而被删除时,它与对应的拓扑LSA (或原LSA)的关联关系会被解除。步骤S203,在第一路由器要向第二管理单元同步LSDB的过程中,当要向第二管理单元发送LSA摘要时,针对LSDB中的每一个原LSA,第一路由器判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则第一路由器仅将与该原LSA相关联的拓扑LSA的摘要添加到要发送的LSA摘要中,否则,第一路由器会按照现有技术,将该原LSA的摘要添加到要发送的LSA摘要中,其中,第二管理单元与第一管理单元属于同一区域;当第一路由器是第二管理单元中一个网段中的DR时,S卩,第一路由器连接第二管理单元的接口做DR时,第一路由器在要发送LSA摘要之前,在汇总LSA摘要时,若判断出LSDB中的一个原LSA在转换区有相关联的拓扑LSA,贝U第一路由器会将转换区中的相关联的拓扑LSA的摘要汇总到LSA摘要中,而不将该原LSA的摘要汇总到LSA摘要中,汇总完成后,将汇总后得到的LSA摘要发送出去。步骤S204,当要向第二管理单元发送LSA时 ,针对LSDB中的每一个原LSA,第一路由器判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则第一路由器仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,否则,第一路由器会按照现有技术,将该原LSA发送给第二管理单元。通过上述的方法,作为需要屏蔽路由信息的第一管理单元的TBR的第一路由器在向第二管理单元中的路由器同步LSDB时,不会向与第一管理单元属于同一区域的第二管理单元泄露或通告LSDB中的携带有第一管理单元的路由信息的Router LSA或NetworkLSA,即原LSA,而是仅将与原LSA对应的放在转换区的用于描述拓扑信息的拓扑LSA发布出去。具体的,当要向第二管理单元发送LSA摘要时,第一路由器会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA的摘要汇总到要发送的LSA摘要中;当要向第二管理单元发送LSA时,第一路由器也会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,可以将第一管理单元的路由信息(即原LSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA)。作为连接第一管理单元的TBR的第一路由器可以快速区分包含有拓扑LSA的新LSA和现有技术的LSA (即第一管理单元以外的其他管理单元的路由器产生的LSA),现有技术的LSA仍然按照现有方式进行处理,而第一管理单元内的新LSA就需要按照上述步骤S202-204进行特殊处理后才能发布到其他管理单元。
实施例二本申请的实施例二的处理方法可以由第一管理单元中的路由器执行,为了提高效率,第一管理单元内的路由器在现有技术的LSA后面新增了用于描述拓扑信息的拓扑LSA,以利于连接第一管理单元的传输边界路由器进行特殊处理。当第一路由器是第一管理单元中的路由器时,第一路由器执行的处理方法包括以下内容1、产生并发布包含有Router LSA和第一拓扑LSA的新LSA第一路由器需要执行的操作包括以下步骤步骤S301,第一路由器在与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA用于描述本路由器的拓扑信息,第一拓扑LSA中包括本路由器连接的各个链路Link的信息,每一个Link的信息中包括Link ID、Link Data 和 TL 标识位,其中当一个Link所属的网段为广播网络时,该Link的Link ID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为P2P (Point to Point,点到点)网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID ;Link Data是该网段的网络标识ID ;TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link。在实际实施过程中,在新LSA中,第一拓扑LSA可以位于Router LSA后面,如图3所示,第一拓扑LSA的格式可以与现有技术的Router LSA的格式相同,即,可以在现有技术的Router LSA的后面增加一个Router LSA结构用于携带本路由器的拓扑信息。当第一路由器存在成功建立了邻接关系的邻居时,产生的LSA中才会包含有第一拓扑LSA。此时,新LSA中包含的Router LSA的报文头中的length字段的值为新LSA的长度(B卩,Router LSA和后面添加的第一拓扑LSA的长度的总和)。图3是第一拓扑LSA的格式示意图,其中,从LS age字段到#1 inks字段为报文头,后面的部分为报文内容,报文内容部分可以携带多个Link的信息。下面对第一拓扑LSA中的各个主要字段进行解释sub Router (子路由器):表示现有技术的Router LSA后面跟着一个第一拓扑LSA(也可称为sub Router LSA),该字段的值可以默认为I ;LS age (链路状态年龄)该字段的值始终设置为O ;T (Transit,传输)字段用于指不本LSA (即本第一拓扑LSA)传输的是否是拓扑信息,当T的值置为第三值(例如为1,此时称为T字段被置位)时,表示本LSA传输的一定是拓扑信息,当T的值置为第四值(例如为0,此时称为T字段未被置位)时,表示本LSA传输的不一定是拓扑信息,可以是拓扑信息,也可能不是,此时还需要结合TL字段才能确定;当产生本LSA的路由器是第一管理单元中的路由器、但不是TBR时,T置为第三值,当产生本LSA的路由器是第一管理单元的TBR时,T置为第四值;Link ID (链路标识):当本Link所属的网段(也可称为局域网)的网络类型为广播网络时,该字段的值置为该网段中的DR的Router ID ;当该网段的网络类型为P2P网络时,该字段的值置为该Link (即P2P)两端的路由器中ID较小的那个路由器的Router ID; Link Data (链路数据)用于携带本Link所属的网段的网络标识;当该网段为广播网络时,该网段的网络标识为该网段中的DR为该网段分配的网络标识;当该网段为P2P网络时,该网段的网络标识为本Link两端的路由器中ID较小的那个路由器为该网段分配的网络标识;Type (类型)用于表示本Link的链路类型,Type可以为广播、P2P等;TL (Transit Link,传输链路)字段用于指示本Link是否为传输Link,当该字段的值为第一值(例如为I,此时称为TL字段被置位)时,表示本Link为传输Link,当该字段的值为第二值(例如为0,此时称为TL字段未被置位)时,表示本Link不是传输Link,其中,传输Link是指第一管理单元的TBR连接第一管理单元的Link ;当产生本LSA的路由器是连接第一管理单元的TBR,且本Link是传输Link时,该字段被置位。一般情况下,第一拓扑LSA中只包含有本路由器的拓扑信息,但是,在有些情况下,由于允许路由器发布环回口路由,因此,第一拓扑LSA还可以用于描述本路由器的环回口路由。此时,本路由器的一个环回口可以作为一个Link,当一个Link为环回口时,该Link的Link ID是该环回口的地址,Link Data是该环回口对应的掩码地址,TL标识位的值置为第二值,Type为StubNet,用于指示该Link为环回口。在第一拓扑LSA中,除了环回口以夕卜,其他Link的Type不会为StubNet。第一拓扑LSA中的其他字段的含义与填写方式与现有技术的Router LSA相同,这里不再赘述。步骤S302,第一路由器发布产生的包含有Router LSA和第一拓扑LSA的新LSA。后续,该新LSA会到达本管理单元的TBR。2、产生并发布包含有Network LSA和第二拓扑LSA的新LSA第一路由器需要执行的操作包括以下步骤步骤S401,若第一路由器是一个网段中的DR,则第一路由器在与直连的邻居路由器建立了邻接关系之后,产生包含有网络LSA和第二拓扑LSA的新LSA,其中,第二拓扑LSA用于描述本网段的拓扑信息,第二拓扑LSA中包括本网段的网络ID。在实际实施的过程中,在新LSA中,第二拓扑LSA可以位于Network LSA后面,如图4所示,第二拓扑LSA的格式可以与现有技术的Network LSA的格式类似,只是删除了现有技术的Network LSA中的Network Mask (网络掩码)字段,即,可以在现有技术的NetworkLSA的后面增加一个类似于Network LSA结构用于携带本网段的拓扑信息。当第一路由器存在成功建立了邻接关系的邻居时,产生的LSA中才会包含有第二拓扑LSA。图4是第二拓扑LSA的格式示意图。下面对第一拓扑LSA中的各个主要字段进行解释Sub Network (子网络):表示现有技术的Network LSA后面跟着一个第二拓扑LSA(也可称为sub Network LSA),该字段的值可以默认为I ;Link State ID (链路状态标识)用于携带本网段的网络ID ;当本网段为广播网络时,本网段的网络ID为本网段中的DR为本网段分配的网络ID。步骤S402,第一路由器发布产生的包含有Network LSA和第二拓扑LSA的新LSA。后续,该新LSA会到达本管理单元的TBR。3、一个网段的网络标识的确定由上述对第一拓扑LSA和第二拓扑LSA的报文格式的介绍,可以看出,第一拓扑LSA中的Link Data字段和第二拓扑LSA中的Link State ID字段均需要携带网段的网络标识。因此,在产生包含有第一拓扑LSA或第二拓扑LSA的新LSA之前,就需要协商各个网段的网络标识。协商网络标识的步骤可以在邻接关系的建立过程中进行,因此,可以在Hello(握手)报文中携带本路由器为所属的网段分配的网络标识,此网络标识在每台路由器中是唯一的,网络标识的数值随机产生。第一路由器需要执行的操作包括以下步骤步骤S501,第一路由器发送Hello报文,其中,该Hello报文中携带有本路由器为所属的一个网段,称为第一网段分配的网络标识,称为第一网络ID ;步骤S502,第一路由器在接收到直连的邻居路由器发来的Hello报文之后,建立与该邻居路由器之间的邻接关系,其中,接收到的Hello报文中携带有该邻居路由器为所属的第一网段分配的网络标识,称为第二网络ID ;步骤S503,若第一网段是广播网络,则在第一路由器是第一网段中的DR时,第一路由器确定第一网段的网络ID是第一网络ID,在该邻居路由器是第一网段中的DR时,第一路由器确定第一网段的网络ID是第二网络ID ;在广播网络中,网络标识在DR协商后得出,以DR发布的网络标识为准,路由器在发布包含有Router LSA和第一拓扑LSA的新LSA时,第一拓扑LSA中属于该网段的Link的Link ID填为DR发布的网络标识。步骤S504,若第一网段是P2P网络,则在第一路由器的路由器ID小于该邻居路由器的路由器ID时,第一路由器确定第一网段的网络ID是第一网络ID,在第一路由器的路由器ID大于该邻居路由器的路由器ID时,第一路由器确定第一网段的网络ID是第二网络ID0在P2P网络中,网络标识在收到对端路由器的Hello报文后确定,以P2P Link两端ID较小的那个路由器发布的网络标识为准,路由器在发布包含有Router LSA和第一拓扑LSA的新LSA时,第一拓扑LSA中属于该网段的Link的Link ID填为ID较小的那个路由器发布的网络标识。其中,由于需要在Hello报文中携带本路由器为网段分配的网络标识,因此,需要扩展现有的Hello报文,新的Hello报文的格式如图5所示,在现有的Hello报文的后面增加了 NTP和Network ID字段,其中NTP :用于表示后面的内容为网络标识;Network ID (网络标识)用于携带本路由器为所属的网段分配的网络标识。在实施例一和实施二中,第一管理单元中的第一路由器在进行路由计算时,会忽略掉新LSA中包含的第一拓扑LSA或第二拓扑LSA,仅按照新LSA中包含的原LSA,即现有技术的Router LSA和Network LSA进行计算,即,在第一管理单元中,新增的拓扑信息不会影响路由计算。实施例三 通过上述实施例一和二,需要屏蔽路由信息的第一管理单元中的路由器产生的新LSA中除了包含有现有技术的Router LSA或Network LSA,还包含有用于描述拓扑信息的拓扑LSA,在第一管理单元的TBR要向其他管理单元同步LSDB时,仅发布其中的拓扑LSA,而不会发布其中的Router LSA和Network LSA,这样,其他管理单元中的路由器就只能接收到拓扑LSA,并利用接收到的第一管理单元的拓扑LSA计算本区域的拓扑和路由。第二管理单元是与第一管理单元属于同一区域、且与第一管理单元的TBR连接的任意一个管理单元,当第一路由器是第二管理单元中的路由器时,第一路由器的处理方法包括以下内容1、拓扑计算第一路由器进行本区域的拓扑计算时需要执行的操作包括以下步骤步骤S601,第一路由器接收第一管理单元的第一拓扑LSA和第二拓扑LSA,并保存到 LSDB ;具体的,接收到第一管理单元的TBR发来的第一拓扑LSA和第二拓扑LSA。步骤S602,在计算本区域的拓扑的过程中,当计算到第一管理单元中的某一个路由器,称为第二路由器产生的第一拓扑LSA (即sub Router LSA)时,按照以下步骤进行计算步骤1:若第二路由器不是TBR,则第一路由器遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器;例如,判断该第一拓扑LSA中的T字段的值,若是第三值,则表明第二路由器不是TBR,然后,遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,即,Type不是stubNet的Link,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器;步骤2 :若第二路由器是TBR,则第一路由器遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器;例如,判断该第一拓扑LSA中的T字段的值,若是第四值,则表明第二路由器是TBR,然后,遍历该第一拓扑LSA中包含的每一个传输Link的信息,即,TL字段的值是第一值的Link,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器;对于该第一拓扑LSA中包含的除传输Link以外的其他Link (包括环回口),按照现有技术进行处理,这里不再赘述。
其中,在步骤I和2中,根据一个Link的Link ID和Link Data确定该Link所属的网段中所有的路由器的方法包括步骤11,当该Link所属的网段为广播网络时,第一路由器确定该网段中的DR的路由器ID为该Link的Link ID,当该Link所属的网段为P2P网络时,第一路由器确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的Link ID ;从而,确定出了该Link所属的网段中的DR或ID较小的那个路由器。步骤12,第一路由器根据该Link的Link Data,查找到Link State ID的值为该LinkData的值的第二拓扑LSA ; 步骤13,第一路由器根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。具体的,从查找到的第二拓扑LSA中的Attached Router字段中的内容,可以确定出除DR或ID较小的那个路由器以外的其他路由器的路由器ID。从而,确定出了该网段中除DR或ID较小的那个路由器以外的其他路由器。第二拓扑LSA中的Attached Router字段用于携带本网段中除本路由器以外的其他路由器的路由器ID。步骤3 :第一路由器计算出从本路由器到所确定的各个路由器的距离值(即,Cost值),根据计算出的距离值计算最短路径树。该步骤可以按照现有技术进行计算,这里不再赘述。2、路由计算第一路由器在计算完本区域的拓扑之后,进行本区域的路由计算时需要执行的操作包括以下步骤步骤S701,在计算本区域的路由的过程中,当计算到第一管理单元中的某一个路由器,称为第二路由器产生的第一 LSA时,按照以下步骤进行计算步骤1:若第二路由器不是TBR,则第一路由器仅计算该第一 LSA中包含的环回口路由信息对应的路由;例如,判断该第一拓扑LSA中的T字段的值,若是第三值,则表明第二路由器不是TBR,仅计算该第一 LSA中包含的环回口路由信息对应的路由,即,仅计算Type为stubNet的Link对应的路由;步骤2:若第二路由器是TBR,则第一路由器仅计算该第一 LSA中包含的除传输Link以外的其他Link对应的路由。例如,若判断出第一拓扑LSA中的T字段的值是第四值,则表明第二路由器是TBR,仅计算该第一 LSA中包含的除传输Link以外的其他Link对应的路由,即,计算除了 TL字段的值为第一值以外的Link对应的路由。实施例四由上述实施例一至三的方法可知,在位于不同的管理单元时,第一路由器需要执行不同的操作当第一路由器是连接第一管理单元的TBR时,第一路由器需要执行的操作包括上述的步骤S201-S204;当第一路由器是第一管理单元中的路由器时,此时,第一路由器可以是TBR,也可以不是TBR,第一路由器需要执行的操作包括上述的步骤S301-S302、步骤S401-S402、以及步骤S501-S504;当第一路由器是第二管理单元中的路由器时,第一路由器需要执行的操作包括上述的步骤S601-S602,以及步骤S701。实施例五以图6所示的网络为例,说明上述实施例一至四的方法。在图6中,OSPF网络中包括区域O、区域I和区域2这三个区域,区域O又进一步包括C0RE单元、MC1-MC4单元这5个管理单元。假设,CORE单元为需要屏蔽路由信息的管理单元,CORE单元中包括路由器C1-C4,TBR1-TBR4为传输边界设备。其中,Cl和C4组成的网段I中,C4为DR ;C3和C4组成的网段2中,C4为DR ;C3和C2组成的网段3中,C3为DR。CORE单元中的路由器C1-C4和TBR1-TBR4产生发布包含有Router LSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA的结构可以参见图3所示;由于在网段I和2中路由器C4是DR,在网段3中路由器C3是DR,因此,路由器C4和C3还会产生包含有Network LSA和第二拓扑LSA的新LSA,其中,第二拓扑LSA的结构可以参见图4所示。 在TBR1-TBR4的LSDB中创建有转换区,此转换区用于存储拓扑信息。任意一个TBR在接收到新LSA之后,将其中包含的Router LSA (或Network LSA)取出保存到LSDB中转换区以外的区域,将其中包含的第一拓扑LSA(或第二拓扑LSA)取出,作为独立的LSA,并将此LSA的LS age字段填写为对应的Router LSA (或Network LSA)中的LS age+t, t为预先设置的时间值,默认值可以为1,这样做的主要目的是为了在老化时,第一拓扑LSA (或第二拓扑LSA)要早于对应的Router LSA (或Network LSA)老化,若得到LS age+t ^ 3600,则不产生此第一拓扑LSA (或第二拓扑LSA),将此第一拓扑LSA (或第二拓扑LSA)老化。否贝U,若得到LS age+t〈3600,则产生此第一拓扑LSA(或第二拓扑LSA),保存到转换区中。然后,建立该Router LSA (或Network LSA)与该第一拓扑LSA (或第二拓扑LSA)之间的关联关系。TBR在要向其他管理单元同步LSDB之前,需要将传输单元内的Router LSA和Network LSA转换为完全的拓扑信息。其中,要发送LSA摘要时,针对LSDB中的每一个Router LSA (或 Network LSA),第一路由器判断该 Router LSA (或 Network LSA)在转换区是否具有相关联的第一拓扑LSA (或第二拓扑LSA),若具有相关联的拓扑LSA,则第一路由器仅将与该Router LSA (或Network LSA)相关联的转换区中的第一拓扑LSA (或第二拓扑LSA)的摘要添加到要发送的LSA摘要中,否则,第一路由器会按照现有技术,将该RouterLSA (或Network LSA)的摘要添加到要发送的LSA摘要中。之后,要发送LSA时,针对LSDB中的每一个Router LSA(或Network LSA),第一路由器判断该Router LSA(或Network LSA)在转换区是否具有相关联的第一拓扑LSA (或第二拓扑LSA),若具有相关联的拓扑LSAJlJ第一路由器仅将与该Router LSA (或Network LSA)相关联的转换区中的第一拓扑LSA (或第二拓扑LSA)发送出去,否则,第一路由器会按照现有技术,将该Router LSA (或NetworkLSA)发送出去。在其他管理单元(MC1-MC4)中的路由器在接收到CORE单元的第一拓扑LSA和第二拓扑LSA后,保存到LSDB中。在计算本区域O的拓扑的过程中,当计算到CORE单元中的某一个路由器产生的第一拓扑LSA时,若该路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,若该路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器,然后,计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。在计算完本区域的拓扑之后,在计算本区域O的路由的过程中,当计算到CORE单元中的某一个路由器产生的第一 LSA时,若该路由器不是TBR,则仅计算该第一 LSA中包含的环回口路由信息对应的路由,若该路由器是TBR,则仅计算该第一 LSA中包含的除传输Link以外的其他Link对应的路由。以MC4单元中的路由器Rl为例,Rl在计算本区域O的拓扑的过程中,当按照现有计算方法计算到TBR4时,通过TBR4产生的第一拓扑LSA中的T字段的值为O确定出TBR4是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,发现TBR4连接C4的Link(记为Linkl)为传输Link (通过TBR4的第一拓扑LSA中Link对应的TL字段的值确定,即,Linkl的TL字段的值为第一值),知道该Linkl连接的是CORE单元,则可以按照上述的 方法,找到TBR4所在网段中的所有路由器,发现C4在该网段中,Rl计算从本路由器到TBR4和C4的Cost值,根据计算出的Cost值,计算最短路径树。实施例六针对上述的实施例一至四中的方法,本申请的实施例六提供了一种OSPF网络中的路由器。本实施例中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过TBR连接。以下分别针对该路由器处于不同角色时,分别对该路由器的结构进行详细介绍1、当该路由器是连接第一管理单元和第二管理单元的TBR时,如图7所示,该路由器包括接收模块101、处理模块102和发送模块103,其中接收模块101,用于接收第一管理单元的新LSA,其中,新LSA中包含有原LSA和用于描述拓扑信息的拓扑LSA,原LSA是路由器LSA或网络LSA ;处理模块102,用于将接收模块101接收到的新LSA中包含的原LSA和拓扑LSA保存到LSDB,并建立该原LSA与该拓扑LSA之间的关联关系;还用于当发送模块103要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA ;发送模块103,用于在处理模块102的判断结果是具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元。其中,处理模块102还用于在发送模块103要向第二管理单元发布LSA之前,当要向第二管理单元发送LSA摘要时,针对LSDB中的每一个原LSA,执行上述的判断的操作;还用于在判断结果是具有时,仅将与该原LSA相关联的拓扑LSA的摘要添加到要发送的LSA摘要中。2、当该路由器是第一管理单元中的路由器时,如图8所示,该路由器包括接收模块201、处理模块202和发送模块203,其中处理模块202,用于在本路由器与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA用于描述本路由器的拓扑信息和环回口路由,第一拓扑LSA中包括本路由器连接的各个链路Link的信息,每一个Link的信息中包括Link标识ID、Link数据Data和TL标识位,其中当一个Link所属的网段为广播网络时,该Link的Link ID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,Link ID是该Link连接的两个路由器中ID较小的路由器的路由器ID ;Link Data是该网段的网络标识ID ;TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link ;当一个Link为环回口时,该Link的Link ID是该环回口的地址,Link Data是该环回口对应的掩码地址,TL标识位的值置为第二值。另外,处理模块202还用于在本路由器是一个网段中的DR时,在本路由器与直连的邻居路由器建立了邻接关系之后,产生包含有网络LSA和第二拓扑LSA的新LSA,其中,第二拓扑LSA用于描述本网段的拓扑信息,第二拓扑LSA中包括本网段的网络ID。为了协商所属的第一网段的网络标识,发送模块301用于发送握手Hello报文,其中,该Hello报文中携带有本路由器为所属的第一网段分配的第一网络ID ;接收模块201用于接收直连的邻居路由器发来的Hello报文,其中,该Hello报文中携带有该邻居路由器为所属的第一网段分配的第二网络ID ;处理模块202还用于在接收模块201接收到直连的邻居路由器发来的Hello报文之后,建立与该邻居路由器之间的邻接关系;还用于若第一网段是广播网络,则在本路由器是第一网段中的DR时,确定第一网段的网络ID是第一网络ID,在该邻居路由器是第一网段中的DR时,确定第一网段的网络ID是第二网络ID ;还用于若第一网段是P2P网络,则在本路由器的路由器ID小于该邻居路由器的路由器ID时,确定第一网段的网络ID是第一网络ID,在第一路由器的路由器ID大于该邻居路由器的路由器ID时,确定第一网段的网络ID是第二网络ID。3、当该路由器是第二管理单元中的路由器时,如图9所示,该路由器包括接收模块301和处理模块302,其中接收模块301,用于接收第一管理单元的第一拓扑LSA和第二拓扑LSA ; 处理模块302,用于将接收模块301接收到的第一拓扑LSA和第二拓扑LSA保存到LSDB ;还用于在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,若第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器;还用于计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。其中,为了根据一个Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,处理模块中进一步包括确定单元,用于当一个Link所属的网段为广播网络时,确定该网段中的DR的路由器ID为该Link的Link ID,当该Link所属的网段为P2P网络时,确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的Link ID;查找单元,用于根据该Link的Link Data,查找到Link State ID的值为该Link Data的值的第二拓扑LSA ;还用于根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。另外,处理模块302还用于在计算完本区域的拓扑之后,在计算本区域的路由的过程中,当计算到第二路由器产生的第一 LSA时,若第二路由器不是TBR,则仅计算该第一LSA中包含的环回口路由信息对应的路由,若第二路由器是TBR,则仅计算该第一 LSA中包含的除传输Link以外的其他Link对应的路由。实施例七在本实施例中,第一路由器中包括接收模块、处理模块和发送模块,当第一路由器处于不同角色时,这三个功能模块具有不同的功能当第一路由器是连接第一管理单元和第二管理单元的TBR时,该路由器中的接收模块、处理模块和发送模块的功能分别与实施例六中的接收模块101、处理模块102和发送模块103的功能相同;当第一路由器是第一管理单元中的路由器时,该路由器中的接收模块、处理模块和发送模块的功能分别与实施例六中的接收模块201、处理模块202和发送模块203的功能相同;当第一路由器是第二管理单元中的路由器时,该路由器中的接收模块和处理模块的功能分别与实施例六中的接收模块301和处理模块302的功能相同。综上,本申请以上实施例可以达到以下技术效果(I)当一个区域中的第一管理单元需要屏蔽部分或全部的路由信息,不想发布给同一区域内的其他管理单元(称为第二管理单元)时,第一管理单元中的路由器在产生LSA时,产生的新LSA中除了包含有现有技术中的Router LSA或Network LSA (统称为原LSA)以外,还包含有用于描述拓扑信息的拓扑LSA,然后发布新LSA,当连接第一管理单元的TBR接收到新LSA时,保存其中包含的原LSA和拓扑LSA,之后,当要向第二管理单元发送LSA时,会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,通过TBR的上述LSA的转换操作,可以将第一管理单元的路由信息(即原LSA,也即现有技术中的Router LSA或Network LSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA),实现了将管理单元的路由信息对同一区域的其他管理单元进行屏蔽,只对其他管理单元发布拓扑信息的效果,增强了管理单元的安全性,并减少了路由扩散。(2)其他管理单元内的路由器使用拓扑LSA仍然能够计算出本区域的拓扑和路由。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
权利要求
1.一种开放最短路径优先OSPF网络中的路由器的处理方法,所述OSPF网络中包括 多个区域,一个区域中包括多个管理单元,所述方法应用于传输边界路由器TBR,该TBR连接第一管理单元和第二管理单元,其特征在于,所述方法包括接收第一管理单元的新链路状态公告LSA,其中,新LSA中包含有原LSA和用于描述拓扑信息的拓扑LSA,所述原LSA是路由器LSA或网络LSA ;将新LSA中包含的原LSA和拓扑LSA保存到链路状态数据库LSDB,并建立该原LSA与该拓扑LSA之间的关联关系;当要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,其中,第二管理单元与第一管理单元属于同一区域。
2.根据权利要求1所述的方法,其特征在于,在所述要向第二管理单元发布LSA之前, 还包括当要向第二管理单元发送LSA摘要时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则仅将与该原LSA相关联的拓扑LSA的摘要添加到要发送的LSA摘要中。
3.一种开放最短路径优先OSPF网络中的路由器的处理方法,所述OSPF网络中包括 多个区域,一个区域中包括多个管理单元,所述方法应用于一个管理单元中的路由器,其特征在于,所述方法包括在与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA 的新LSA ;其中,第一拓扑LSA用于描述本路由器的拓扑信息和环回口路由,第一拓扑LSA中包括本路由器连接的各个链路Link的信息,每一个Link的信息中包括=Link标识ID、Link 数据Data和TL标识位,其中当一个Link所属的网段为广播网络时,该Link的Link ID是该网段中的指定路由器 DR的路由器ID,当该Link所属的网段为点到点P2P网络时,Link ID是该Link连接的两个路由器中ID较小的路由器的路由器ID,Link Data是该网段的网络标识ID;TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该 Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输 Link是指TBR连接第一管理单元的Link ;当一个Link为环回口时,该Link的Link ID是该环回口的地址,Link Data是该环回口对应的掩码地址,TL标识位的值置为第二值。
4.根据权利要求3所述的方法,其特征在于,还包括若本路由器是一个网段中的DR,则在与直连的邻居路由器建立了邻接关系之后,产生包含有网络LSA和第二拓扑LSA的新LSA,其中,第二拓扑LSA用于描述本网段的拓扑信息, 第二拓扑LSA中包括本网段的网络ID。
5.根据权利要求4所述的方法,其特征在于,还包括发送握手Hello报文,其中,该Hello报文中携带有本路由器为所属的第一网段分配的第一网络ID ;在接收直连的邻居路由器发来的Hello报文之后,建立与该邻居路由器之间的邻接关系,其中,该Hello报文中携带有该邻居路由器为所属的第一网段分配的第二网络ID ;若第一网段是广播网络,则在本路由器是第一网段中的DR时,确定第一网段的网络ID 是第一网络ID,在该邻居路由器是第一网段中的DR时,确定第一网段的网络ID是第二网络 ID ;若第一网段是P2P网络,则在本路由器的路由器ID小于该邻居路由器的路由器ID时, 确定第一网段的网络ID是第一网络ID,在本路由器的路由器ID大于该邻居路由器的路由器ID时,确定第一网段的网络ID是第二网络ID。
6.一种开放最短路径优先OSPF网络中的路由器的处理方法,所述OSPF网络中包括 多个区域,一个区域中包括多个管理单元,其特征在于,其中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过传输边界路由器 TBR连接,所述方法应用于第二管理单元中的路由器,所述方法包括 接收第一管理单元的第一拓扑LSA和第二拓扑LSA,并保存到LSDB ;在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器;计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
7.根据权利要求6所述的方法,其特征在于,根据Link的LinkID和Link Data确定该Link所属的网段中所有的路由器的方法包括当该Link所属的网段为广播网络时,确定该网段中的DR的路由器ID为该Link的Link ID,当该Link所属的网段为P2P网络时,确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的Link ID ;根据该Link的Link Data,查找到Link State ID的值为该Link Data的值的第二拓扑 LSA ;根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。
8.根据权利要求6所述的方法,其特征在于,在计算完本区域的拓扑之后,还包括在计算本区域的路由的过程中,当计算到所述第二路由器产生的第一 LSA时,若第二路由器不是TBR,则仅计算该第一 LSA中包含的环回口路由信息对应的路由,若所述第二路由器是TBR,则仅计算该第一 LSA中包含的除传输Link以外的其他Link对应的路由。
9.一种开放最短路径优先OSPF网络中的路由器,所述OSPF网络中包括多个区域,一个区域中包括多个管理单元,其特征在于,该路由器是连接第一管理单元和第二管理单元的传输边界路由器TBR,该路由器包括接收模块,用于接收第一管理单元的新链路状态公告LSA,其中,新LSA中包含有原 LSA和用于描述拓扑信息的拓扑LSA,原LSA是路由器LSA或网络LSA ;处理模块,用于将所述接收模块接收到的新LSA中包含的原LSA和拓扑LSA保存到链路状态数据库LSDB,并建立该原LSA与该拓扑LSA之间的关联关系;还用于当所述发送模块要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,其中,第二管理单元与第一管理单元属于同一区域;发送模块,用于在所述处理模块的判断结果是具有相关联的拓扑LSA时,仅将与该原 LSA相关联的拓扑LSA发送给第二管理单元。
10.根据权利要求9所述的路由器,其特征在于,所述处理模块,还用于在所述发送模块要向第二管理单元发布LSA之前,当要向第二管理单元发送LSA摘要时,针对LSDB中的每一个原LSA,执行所述判断的操作;还用于在判断结果是具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA的摘要添加到要发送的LSA摘要中。
11.一种开放最短路径优先OSPF网络中的路由器,所述OSPF网络中包括多个区域, 一个区域中包括多个管理单元,其特征在于,该路由器是一个管理单元中的路由器,该路由器包括处理模块,用于在本路由器与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA用于描述本路由器的拓扑信息和环回口路由,第一拓扑LSA中包括本路由器连接的各个链路Link的信息,每一个Link的信息中包括Link标识ID、Link数据Data和TL标识位,其中当一个Link所属的网段为广播网络时,该Link的Link ID是该网段中的指定路由器 DR的路由器ID,当该Link所属的网段为点到点P2P网络时,Link ID是该Link连接的两个路由器中ID较小的路由器的路由器ID,Link Data是该网段的网络标识ID ;TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该 Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输 Link是指TBR连接第一管理单元的Link ;当一个Link为环回口时,该Link的Link ID是该环回口的地址,Link Data是该环回口对应的掩码地址,TL标识位的值置为第二值。
12.根据权利要求11所述的路由器,其特征在于,所述处理模块,还用于在本路由器是一个网段中的DR时,在本路由器与直连的邻居路由器建立了邻接关系之后,产生包含有网络LSA和第二拓扑LSA的新LSA,其中,第二拓扑 LSA用于描述本网段的拓扑信息,第二拓扑LSA中包括本网段的网络ID。
13.根据权利要求12所述的路由器,其特征在于,还包括发送模块和接收模块,其中, 所述发送模块,用于发送握手Hello报文,其中,该Hello报文中携带有本路由器为所属的第一网段分配的第一网络ID ;所述接收模块,用于接收直连的邻居路由器发来的Hello报文,其中,该Hello报文中携带有该邻居路由器为所属的第一网段分配的第二网络ID ;所述处理模块,还用于在所述接收模块接收到直连的邻居路由器发来的Hello报文之后,建立与该邻居路由器之间的邻接关系;还用于若第一网段是广播网络,则在本路由器是第一网段中的DR时,确定第一网段的网络ID是第一网络ID,在该邻居路由器是第一网段中的DR时,确定第一网段的网络ID是第二网络ID ;还用于若第一网段是P2P网络,则在本路由器的路由器ID小于该邻居路由器的路由器ID时,确定第一网段的网络ID是第一网络 ID,在本路由器的路由器ID大于该邻居路由器的路由器ID时,确定第一网段的网络ID是第二网络ID。
14.一种开放最短路径优先OSPF网络中的路由器,所述OSPF网络中包括多个区域, 一个区域中包括多个管理单元,其特征在于,其中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过传输边界路由器TBR连接, 该路由器是第二管理单元中的路由器,该路由器包括接收模块,用于接收第一管理单元的第一拓扑LSA和第二拓扑LSA ;处理模块,用于将所述接收模块接收到的第一拓扑LSA和第二拓扑LSA保存到LSDB ; 还用于在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的Link ID和Link Data确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息, 根据该传输Link的Link ID和Link Data确定该传输Link所属的网段中所有的路由器; 还用于计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
15.根据权利要求14所述的路由器,其特征在于,所述处理模块包括确定单元,用于当一个Link所属的网段为广播网络时,确定该网段中的DR的路由器ID 为该Link的Link ID,当该Link所属的网段为P2P网络时,确定该网段中的两个路由器中 ID较小的路由器的路由器ID为该Link的Link ID ;查找单元,用于根据该Link的Link Data,查找到Link State ID的值为该Link Data 的值的第二拓扑LSA ;还用于根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。
16.根据权利要求14所述的方法,其特征在于,所述处理模块,还用于在计算完本区域的拓扑之后,在计算本区域的路由的过程中,当计算到第二路由器产生的第一 LSA时,若第二路由器不是TBR,则仅计算该第一 LSA中包含的环回口路由信息对应的路由,若第二路由器是TBR,则仅计算该第一 LSA中包含的除传输 Link以外的其他Link对应的路由。
全文摘要
本申请公开了一种OSPF网络中的路由器及其处理方法,其中,该方法应用于TBR,该TBR连接第一管理单元和第二管理单元,该方法包括接收第一管理单元的新LSA,新LSA中包含有原LSA和用于描述拓扑信息的拓扑LSA,原LSA是路由器LSA或网络LSA;将新LSA中包含的原LSA和拓扑LSA保存到LSDB,并建立原LSA与拓扑LSA之间的关联关系;当要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则仅将与该原LSA相关联的拓扑LSA发送给第二管理单元。本申请增强了管理单元的安全性,并减少了路由扩散。
文档编号H04L12/721GK103023775SQ201210574378
公开日2013年4月3日 申请日期2012年12月26日 优先权日2012年12月26日
发明者赵昌峰, 吴玲 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1