CN103023775B - Ospf网络中的路由器及其处理方法 - Google Patents
Ospf网络中的路由器及其处理方法 Download PDFInfo
- Publication number
- CN103023775B CN103023775B CN201210574378.3A CN201210574378A CN103023775B CN 103023775 B CN103023775 B CN 103023775B CN 201210574378 A CN201210574378 A CN 201210574378A CN 103023775 B CN103023775 B CN 103023775B
- Authority
- CN
- China
- Prior art keywords
- lsa
- router
- topological
- network
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种OSPF网络中的路由器及其处理方法,其中,该方法应用于TBR,该TBR连接第一管理单元和第二管理单元,该方法包括:接收第一管理单元的新LSA,新LSA中包含有:原LSA和用于描述拓扑信息的拓扑LSA,原LSA是路由器LSA或网络LSA;将新LSA中包含的原LSA和拓扑LSA保存到LSDB,并建立原LSA与拓扑LSA之间的关联关系;当要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则仅将与该原LSA相关联的拓扑LSA发送给第二管理单元。本申请增强了管理单元的安全性,并减少了路由扩散。
Description
技术领域
本申请涉及IP(InternetProtocol,因特网协议)路由技术领域,特别涉及一种OSPF网络中的路由器及其处理方法。
背景技术
OSPF(OpenShortestPathFirst,开放最短路径优先)路由协议是IETF(InternetEngineeringTaskForce,互联网工程任务组)组织开发的一种基于链路状态(Link-state)的内部网关协议(InteriorGatewayProtocol,IGP)。OSPF路由协议用于在同一个自治域(AS)中的路由器之间发布路由信息。下面对OSPF路由协议的一些基本概念和术语进行介绍:
1、区域
OSPF路由协议引入“分层路由”的概念,将OSPF网络划分为多个“区域(Area)”。每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。当一个路由器与多个区域相连时,称之为区域边界路由器(AreaBoundaryRouter,ABR)。若一个路由器的所有端口均在同一区域内,则该路由器称为内部路由器。
在划分成的多个区域中存在一个骨干区域(Backbone),一般为区域0,其余区域必须与骨干区域直接相连,即所有的ABR都属于骨干区域。骨干区域的主要工作是在其余区域间传递路由信息。当一个区域的路由信息对外广播时,其路由信息需要先传递至区域0(骨干区域),再由区域0将该路由信息向其余区域广播。
图1是一种典型的OSPF网络的组网图,在该OSPF网络中划分成了3个区域:区域0、区域1和区域2。
2、指定路由器(DR)
在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF路由协议要求在每一个区域中选举一个DR。每一个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。
3、LSA
当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)时,路由器会产生链路状态公告(Link-StateAdvertisement,LSA),其中包含有该路由器上的所有相连链路,也即所有端口的状态信息。LSA按照功能可以划分为若干类型,其中最主要的两种类型为:
RouterLSA(路由器LSA):由每个路由器产生,描述了本路由器的链路状态和花费,传递到整个区域;
NetworkLSA(网络LSA):由DR产生,描述了本网段的链路状态,传递到整个区域。
目前,考虑到区域较大或业务部署上的原因,还会将骨干区域或其他区域进一步划分为多个管理单元。同样,同一个区域内的多个管理单元,都有着该管理单元独立的网络拓扑数据库及网络拓扑图。对于每一个管理单元,其网络拓扑结构在该管理单元外是不可见的,在每一个管理单元中的路由器对本管理单元外的其余管理单元的网络结构也不了解。当一个路由器与多个管理单元相连时,称之为传输边界路由器(TransitBoundaryRouter,TBR)。若一个路由器的所有端口均在同一管理单元内,则该路由器称为内部路由器。
并且,同一区域划分出的多个管理单元中存在一个传输单元,可以称为CORE单元。CORE单元的功能与骨干区域类似,主要负责在同一区域内的其他管理单元之间传递路由信息。当一个管理单元的路由信息对外广播时,其路由信息需要先传递至CORE单元,再由CORE单元将该路由信息向其余管理单元广播。
如图1所示,区域0又进一步划分为CORE单元、MC1单元、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的LinkID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID,LinkData是该网段的网络标识ID;
TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link;
当一个Link为环回口时,该Link的LinkID是该环回口的地址,LinkData是该环回口对应的掩码地址,TL标识位的值置为第二值。
又一方面,还提供了一种OSPF网络中的路由器的处理方法,该OSPF网络中包括:多个区域,一个区域中包括:多个管理单元,其中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过TBR连接,该方法应用于第二管理单元中的路由器,该方法包括:
接收第一管理单元的第一拓扑LSA和第二拓扑LSA,并保存到LSDB;
在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输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的LinkID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID,LinkData是该网段的网络标识ID;
TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link;
当一个Link为环回口时,该Link的LinkID是该环回口的地址,LinkData是该环回口对应的掩码地址,TL标识位的值置为第二值。
又一方面,还提供了一种OSPF网络中的路由器,该OSPF网络中包括:多个区域,一个区域中包括:多个管理单元,其中,第一管理单元是需要屏蔽路由信息的管理单元,第二管理单元与第一管理单元属于同一区域,且通过传输边界路由器TBR连接,该路由器是第二管理单元中的路由器,该路由器包括:
接收模块,用于接收第一管理单元的第一拓扑LSA和第二拓扑LSA;
处理模块,用于将接收模块接收到的第一拓扑LSA和第二拓扑LSA保存到LSDB;还用于在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器;还用于计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
在本申请的技术方案中,当一个区域中的第一管理单元需要屏蔽部分或全部的路由信息,不想发布给同一区域内的其他管理单元(称为第二管理单元)时,第一管理单元中的路由器在产生LSA时,产生的新LSA中除了包含有现有技术中的RouterLSA或NetworkLSA(统称为原LSA)以外,还包含有用于描述拓扑信息的拓扑LSA,然后发布新LSA,当连接第一管理单元的TBR接收到新LSA时,保存其中包含的原LSA和拓扑LSA,之后,当要向第二管理单元发送LSA时,会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,通过TBR的上述LSA的转换操作,可以将第一管理单元的路由信息(即原LSA,也即现有技术中的RouterLSA或NetworkLSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA),实现了将管理单元的路由信息对同一区域的其他管理单元进行屏蔽,只对其他管理单元发布拓扑信息的效果,增强了管理单元的安全性,并减少了路由扩散。
附图说明
图1是一种典型的OSPF网络的组网图;
图2是本申请的实施例一的OSPF网络中的路由器的处理方法的流程图;
图3是本申请的实施例二的第一拓扑LSA的结构示意图;
图4是本申请的实施例二的第二拓扑LSA的结构示意图;
图5是本申请的实施例二的Hello报文的结构示意图;
图6是本申请的实施例五的OSPF网络的组网图;
图7是本申请的实施例六的OSPF网络中的作为连接第一管理单元和第二管理单元的TRB时的路由器的结构示意图;
图8是本申请的实施例六的OSPF网络中的第一管理单元中的路由器的结构示意图;
图9是本申请的实施例六的OSPF网络中的第二管理单元中的路由器的结构示意图。
具体实施方式
为了解决现有技术中存在的同一区域内的各个管理单元之间相互发布本单元内的路由信息,不利于管理单元的安全和加快路由收敛的问题,本申请的以下实施例中提供了一种OSPF网络中的路由器的处理方法、以及一种可以应用该方法的OSPF网络中的路由器。本申请以下实施例的技术方案中,当一个区域中的某一个管理单元(称为第一管理单元)需要屏蔽部分或全部的路由信息,不想发布给同一区域内的其他管理单元(称为第二管理单元)时,第一管理单元中的路由器在产生LSA时,产生的新LSA中除了包含有现有技术中的RouterLSA或NetworkLSA(统称为原LSA)以外,还包含有用于描述拓扑信息的拓扑LSA,然后发布新LSA,当连接第一管理单元的TBR接收到新LSA时,保存其中包含的原LSA和拓扑LSA,之后,当要向第二管理单元发送LSA时,会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有相关联的拓扑LSA时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,通过TBR的上述LSA的转换操作,可以将第一管理单元的路由信息(即原LSA,也即现有技术中的RouterLSA或NetworkLSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA),实现了将管理单元的路由信息对同一区域的其他管理单元进行屏蔽,只对其他管理单元发布拓扑信息的效果,增强了管理单元的安全性,并减少了路由扩散。
在以下的实施例中,OSPF网络中包括:多个区域,某一个区域中又进一步包括:多个管理单元,某一个区域中的任意一个管理单元,称为第一管理单元需要对外屏蔽路由信息。
实施例一
本申请的实施例一的处理方法可以由连接第一管理单元和第二管理单元的任意一个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中删除了NetworkMask(网络掩码)字段,对于第一拓扑LSA和第二拓扑LSA的介绍可以参见下文的实施例二,这里不再赘述。
步骤S202,第一路由器将接收到的新LSA中包含的原LSA和拓扑LSA保存到LSDB(LinkStateDataBase,链路状态数据库),并建立该原LSA与该拓扑LSA之间的关联关系;
例如,在执行步骤S202的过程中,第一路由器还可以执行以下老化操作:在将一个新LSA存储到LSDB中时,将其中包含的拓扑LSA取出,并将该拓扑LSA中的LSage(链路状态年龄)字段的值修改为:该新LSA中包含的原LSA中的LSage+t,t为预先配置的时间值,可以默认t=1,这样做的主要目的是为了在老化时,拓扑LSA要早于对应的原LSA老化。若得到的原LSA中的LSage+t≥年龄阈值(例如为3600),则将该拓扑LSA老化。若得到的原LSA中的LSage+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时,即,第一路由器连接第二管理单元的接口做DR时,第一路由器在要发送LSA摘要之前,在汇总LSA摘要时,若判断出LSDB中的一个原LSA在转换区有相关联的拓扑LSA,则第一路由器会将转换区中的相关联的拓扑LSA的摘要汇总到LSA摘要中,而不将该原LSA的摘要汇总到LSA摘要中,汇总完成后,将汇总后得到的LSA摘要发送出去。
步骤S204,当要向第二管理单元发送LSA时,针对LSDB中的每一个原LSA,第一路由器判断该原LSA是否具有相关联的拓扑LSA,若具有相关联的拓扑LSA,则第一路由器仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,否则,第一路由器会按照现有技术,将该原LSA发送给第二管理单元。
通过上述的方法,作为需要屏蔽路由信息的第一管理单元的TBR的第一路由器在向第二管理单元中的路由器同步LSDB时,不会向与第一管理单元属于同一区域的第二管理单元泄露或通告LSDB中的携带有第一管理单元的路由信息的RouterLSA或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、产生并发布包含有RouterLSA和第一拓扑LSA的新LSA
第一路由器需要执行的操作包括以下步骤:
步骤S301,第一路由器在与直连的邻居路由器建立了邻接关系之后,产生包含有路由器LSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA用于描述本路由器的拓扑信息,第一拓扑LSA中包括:本路由器连接的各个链路Link的信息,每一个Link的信息中包括:LinkID、LinkData和TL标识位,其中:
当一个Link所属的网段为广播网络时,该Link的LinkID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为P2P(PointtoPoint,点到点)网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID;LinkData是该网段的网络标识ID;
TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link。
在实际实施过程中,在新LSA中,第一拓扑LSA可以位于RouterLSA后面,如图3所示,第一拓扑LSA的格式可以与现有技术的RouterLSA的格式相同,即,可以在现有技术的RouterLSA的后面增加一个RouterLSA结构用于携带本路由器的拓扑信息。当第一路由器存在成功建立了邻接关系的邻居时,产生的LSA中才会包含有第一拓扑LSA。此时,新LSA中包含的RouterLSA的报文头中的length字段的值为新LSA的长度(即,RouterLSA和后面添加的第一拓扑LSA的长度的总和)。
图3是第一拓扑LSA的格式示意图,其中,从LSage字段到#links字段为报文头,后面的部分为报文内容,报文内容部分可以携带多个Link的信息。下面对第一拓扑LSA中的各个主要字段进行解释:
subRouter(子路由器):表示现有技术的RouterLSA后面跟着一个第一拓扑LSA(也可称为subRouterLSA),该字段的值可以默认为1;
LSage(链路状态年龄):该字段的值始终设置为0;
T(Transit,传输)字段:用于指示本LSA(即本第一拓扑LSA)传输的是否是拓扑信息,当T的值置为第三值(例如为1,此时称为T字段被置位)时,表示本LSA传输的一定是拓扑信息,当T的值置为第四值(例如为0,此时称为T字段未被置位)时,表示本LSA传输的不一定是拓扑信息,可以是拓扑信息,也可能不是,此时还需要结合TL字段才能确定;当产生本LSA的路由器是第一管理单元中的路由器、但不是TBR时,T置为第三值,当产生本LSA的路由器是第一管理单元的TBR时,T置为第四值;
LinkID(链路标识):当本Link所属的网段(也可称为局域网)的网络类型为广播网络时,该字段的值置为该网段中的DR的RouterID;当该网段的网络类型为P2P网络时,该字段的值置为该Link(即P2P)两端的路由器中ID较小的那个路由器的RouterID;
LinkData(链路数据):用于携带本Link所属的网段的网络标识;当该网段为广播网络时,该网段的网络标识为:该网段中的DR为该网段分配的网络标识;当该网段为P2P网络时,该网段的网络标识为:本Link两端的路由器中ID较小的那个路由器为该网段分配的网络标识;
Type(类型):用于表示本Link的链路类型,Type可以为广播、P2P等;
TL(TransitLink,传输链路)字段:用于指示本Link是否为传输Link,当该字段的值为第一值(例如为1,此时称为TL字段被置位)时,表示本Link为传输Link,当该字段的值为第二值(例如为0,此时称为TL字段未被置位)时,表示本Link不是传输Link,其中,传输Link是指第一管理单元的TBR连接第一管理单元的Link;当产生本LSA的路由器是连接第一管理单元的TBR,且本Link是传输Link时,该字段被置位。
一般情况下,第一拓扑LSA中只包含有本路由器的拓扑信息,但是,在有些情况下,由于允许路由器发布环回口路由,因此,第一拓扑LSA还可以用于描述本路由器的环回口路由。此时,本路由器的一个环回口可以作为一个Link,当一个Link为环回口时,该Link的LinkID是该环回口的地址,LinkData是该环回口对应的掩码地址,TL标识位的值置为第二值,Type为StubNet,用于指示该Link为环回口。在第一拓扑LSA中,除了环回口以外,其他Link的Type不会为StubNet。
第一拓扑LSA中的其他字段的含义与填写方式与现有技术的RouterLSA相同,这里不再赘述。
步骤S302,第一路由器发布产生的包含有RouterLSA和第一拓扑LSA的新LSA。后续,该新LSA会到达本管理单元的TBR。
2、产生并发布包含有NetworkLSA和第二拓扑LSA的新LSA
第一路由器需要执行的操作包括以下步骤:
步骤S401,若第一路由器是一个网段中的DR,则第一路由器在与直连的邻居路由器建立了邻接关系之后,产生包含有网络LSA和第二拓扑LSA的新LSA,其中,第二拓扑LSA用于描述本网段的拓扑信息,第二拓扑LSA中包括:本网段的网络ID。
在实际实施的过程中,在新LSA中,第二拓扑LSA可以位于NetworkLSA后面,如图4所示,第二拓扑LSA的格式可以与现有技术的NetworkLSA的格式类似,只是删除了现有技术的NetworkLSA中的NetworkMask(网络掩码)字段,即,可以在现有技术的NetworkLSA的后面增加一个类似于NetworkLSA结构用于携带本网段的拓扑信息。当第一路由器存在成功建立了邻接关系的邻居时,产生的LSA中才会包含有第二拓扑LSA。
图4是第二拓扑LSA的格式示意图。下面对第一拓扑LSA中的各个主要字段进行解释:
SubNetwork(子网络):表示现有技术的NetworkLSA后面跟着一个第二拓扑LSA(也可称为subNetworkLSA),该字段的值可以默认为1;
LinkStateID(链路状态标识):用于携带本网段的网络ID;当本网段为广播网络时,本网段的网络ID为:本网段中的DR为本网段分配的网络ID。
步骤S402,第一路由器发布产生的包含有NetworkLSA和第二拓扑LSA的新LSA。后续,该新LSA会到达本管理单元的TBR。
3、一个网段的网络标识的确定
由上述对第一拓扑LSA和第二拓扑LSA的报文格式的介绍,可以看出,第一拓扑LSA中的LinkData字段和第二拓扑LSA中的LinkStateID字段均需要携带网段的网络标识。因此,在产生包含有第一拓扑LSA或第二拓扑LSA的新LSA之前,就需要协商各个网段的网络标识。协商网络标识的步骤可以在邻接关系的建立过程中进行,因此,可以在Hello(握手)报文中携带本路由器为所属的网段分配的网络标识,此网络标识在每台路由器中是唯一的,网络标识的数值随机产生。
第一路由器需要执行的操作包括以下步骤:
步骤S501,第一路由器发送Hello报文,其中,该Hello报文中携带有本路由器为所属的一个网段,称为第一网段分配的网络标识,称为第一网络ID;
步骤S502,第一路由器在接收到直连的邻居路由器发来的Hello报文之后,建立与该邻居路由器之间的邻接关系,其中,接收到的Hello报文中携带有该邻居路由器为所属的第一网段分配的网络标识,称为第二网络ID;
步骤S503,若第一网段是广播网络,则在第一路由器是第一网段中的DR时,第一路由器确定第一网段的网络ID是第一网络ID,在该邻居路由器是第一网段中的DR时,第一路由器确定第一网段的网络ID是第二网络ID;
在广播网络中,网络标识在DR协商后得出,以DR发布的网络标识为准,路由器在发布包含有RouterLSA和第一拓扑LSA的新LSA时,第一拓扑LSA中属于该网段的Link的LinkID填为DR发布的网络标识。
步骤S504,若第一网段是P2P网络,则在第一路由器的路由器ID小于该邻居路由器的路由器ID时,第一路由器确定第一网段的网络ID是第一网络ID,在第一路由器的路由器ID大于该邻居路由器的路由器ID时,第一路由器确定第一网段的网络ID是第二网络ID。
在P2P网络中,网络标识在收到对端路由器的Hello报文后确定,以P2PLink两端ID较小的那个路由器发布的网络标识为准,路由器在发布包含有RouterLSA和第一拓扑LSA的新LSA时,第一拓扑LSA中属于该网段的Link的LinkID填为ID较小的那个路由器发布的网络标识。
其中,由于需要在Hello报文中携带本路由器为网段分配的网络标识,因此,需要扩展现有的Hello报文,新的Hello报文的格式如图5所示,在现有的Hello报文的后面增加了NTP和NetworkID字段,其中:
NTP:用于表示后面的内容为网络标识;
NetworkID(网络标识):用于携带本路由器为所属的网段分配的网络标识。
在实施例一和实施二中,第一管理单元中的第一路由器在进行路由计算时,会忽略掉新LSA中包含的第一拓扑LSA或第二拓扑LSA,仅按照新LSA中包含的原LSA,即现有技术的RouterLSA和NetworkLSA进行计算,即,在第一管理单元中,新增的拓扑信息不会影响路由计算。
实施例三
通过上述实施例一和二,需要屏蔽路由信息的第一管理单元中的路由器产生的新LSA中除了包含有现有技术的RouterLSA或NetworkLSA,还包含有用于描述拓扑信息的拓扑LSA,在第一管理单元的TBR要向其他管理单元同步LSDB时,仅发布其中的拓扑LSA,而不会发布其中的RouterLSA和NetworkLSA,这样,其他管理单元中的路由器就只能接收到拓扑LSA,并利用接收到的第一管理单元的拓扑LSA计算本区域的拓扑和路由。第二管理单元是与第一管理单元属于同一区域、且与第一管理单元的TBR连接的任意一个管理单元,当第一路由器是第二管理单元中的路由器时,第一路由器的处理方法包括以下内容:
1、拓扑计算
第一路由器进行本区域的拓扑计算时需要执行的操作包括以下步骤:
步骤S601,第一路由器接收第一管理单元的第一拓扑LSA和第二拓扑LSA,并保存到LSDB;
具体的,接收到第一管理单元的TBR发来的第一拓扑LSA和第二拓扑LSA。
步骤S602,在计算本区域的拓扑的过程中,当计算到第一管理单元中的某一个路由器,称为第二路由器产生的第一拓扑LSA(即subRouterLSA)时,按照以下步骤进行计算:
步骤1:若第二路由器不是TBR,则第一路由器遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器;
例如,判断该第一拓扑LSA中的T字段的值,若是第三值,则表明第二路由器不是TBR,然后,遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,即,Type不是stubNet的Link,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器;
步骤2:若第二路由器是TBR,则第一路由器遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器;
例如,判断该第一拓扑LSA中的T字段的值,若是第四值,则表明第二路由器是TBR,然后,遍历该第一拓扑LSA中包含的每一个传输Link的信息,即,TL字段的值是第一值的Link,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器;
对于该第一拓扑LSA中包含的除传输Link以外的其他Link(包括环回口),按照现有技术进行处理,这里不再赘述。
其中,在步骤1和2中,根据一个Link的LinkID和LinkData确定该Link所属的网段中所有的路由器的方法包括:
步骤11,当该Link所属的网段为广播网络时,第一路由器确定该网段中的DR的路由器ID为该Link的LinkID,当该Link所属的网段为P2P网络时,第一路由器确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的LinkID;
从而,确定出了该Link所属的网段中的DR或ID较小的那个路由器。
步骤12,第一路由器根据该Link的LinkData,查找到LinkStateID的值为该LinkData的值的第二拓扑LSA;
步骤13,第一路由器根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。具体的,从查找到的第二拓扑LSA中的AttachedRouter字段中的内容,可以确定出除DR或ID较小的那个路由器以外的其他路由器的路由器ID。
从而,确定出了该网段中除DR或ID较小的那个路由器以外的其他路由器。
第二拓扑LSA中的AttachedRouter字段用于携带本网段中除本路由器以外的其他路由器的路由器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网络中包括:区域0、区域1和区域2这三个区域,区域0又进一步包括:CORE单元、MC1-MC4单元这5个管理单元。假设,CORE单元为需要屏蔽路由信息的管理单元,CORE单元中包括:路由器C1-C4,TBR1-TBR4为传输边界设备。其中,C1和C4组成的网段1中,C4为DR;C3和C4组成的网段2中,C4为DR;C3和C2组成的网段3中,C3为DR。
CORE单元中的路由器C1-C4和TBR1-TBR4产生发布包含有RouterLSA和第一拓扑LSA的新LSA,其中,第一拓扑LSA的结构可以参见图3所示;由于在网段1和2中路由器C4是DR,在网段3中路由器C3是DR,因此,路由器C4和C3还会产生包含有NetworkLSA和第二拓扑LSA的新LSA,其中,第二拓扑LSA的结构可以参见图4所示。
在TBR1-TBR4的LSDB中创建有转换区,此转换区用于存储拓扑信息。任意一个TBR在接收到新LSA之后,将其中包含的RouterLSA(或NetworkLSA)取出保存到LSDB中转换区以外的区域,将其中包含的第一拓扑LSA(或第二拓扑LSA)取出,作为独立的LSA,并将此LSA的LSage字段填写为对应的RouterLSA(或NetworkLSA)中的LSage+t,t为预先设置的时间值,默认值可以为1,这样做的主要目的是为了在老化时,第一拓扑LSA(或第二拓扑LSA)要早于对应的RouterLSA(或NetworkLSA)老化,若得到LSage+t≥3600,则不产生此第一拓扑LSA(或第二拓扑LSA),将此第一拓扑LSA(或第二拓扑LSA)老化。否则,若得到LSage+t<3600,则产生此第一拓扑LSA(或第二拓扑LSA),保存到转换区中。然后,建立该RouterLSA(或NetworkLSA)与该第一拓扑LSA(或第二拓扑LSA)之间的关联关系。
TBR在要向其他管理单元同步LSDB之前,需要将传输单元内的RouterLSA和NetworkLSA转换为完全的拓扑信息。其中,要发送LSA摘要时,针对LSDB中的每一个RouterLSA(或NetworkLSA),第一路由器判断该RouterLSA(或NetworkLSA)在转换区是否具有相关联的第一拓扑LSA(或第二拓扑LSA),若具有相关联的拓扑LSA,则第一路由器仅将与该RouterLSA(或NetworkLSA)相关联的转换区中的第一拓扑LSA(或第二拓扑LSA)的摘要添加到要发送的LSA摘要中,否则,第一路由器会按照现有技术,将该RouterLSA(或NetworkLSA)的摘要添加到要发送的LSA摘要中。之后,要发送LSA时,针对LSDB中的每一个RouterLSA(或NetworkLSA),第一路由器判断该RouterLSA(或NetworkLSA)在转换区是否具有相关联的第一拓扑LSA(或第二拓扑LSA),若具有相关联的拓扑LSA,则第一路由器仅将与该RouterLSA(或NetworkLSA)相关联的转换区中的第一拓扑LSA(或第二拓扑LSA)发送出去,否则,第一路由器会按照现有技术,将该RouterLSA(或NetworkLSA)发送出去。
在其他管理单元(MC1-MC4)中的路由器在接收到CORE单元的第一拓扑LSA和第二拓扑LSA后,保存到LSDB中。在计算本区域0的拓扑的过程中,当计算到CORE单元中的某一个路由器产生的第一拓扑LSA时,若该路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器,若该路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器,然后,计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
在计算完本区域的拓扑之后,在计算本区域0的路由的过程中,当计算到CORE单元中的某一个路由器产生的第一LSA时,若该路由器不是TBR,则仅计算该第一LSA中包含的环回口路由信息对应的路由,若该路由器是TBR,则仅计算该第一LSA中包含的除传输Link以外的其他Link对应的路由。
以MC4单元中的路由器R1为例,R1在计算本区域0的拓扑的过程中,当按照现有计算方法计算到TBR4时,通过TBR4产生的第一拓扑LSA中的T字段的值为0确定出TBR4是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,发现TBR4连接C4的Link(记为Link1)为传输Link(通过TBR4的第一拓扑LSA中Link对应的TL字段的值确定,即,Link1的TL字段的值为第一值),知道该Link1连接的是CORE单元,则可以按照上述的方法,找到TBR4所在网段中的所有路由器,发现C4在该网段中,R1计算从本路由器到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的LinkID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID;LinkData是该网段的网络标识ID;
TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指TBR连接第一管理单元的Link;
当一个Link为环回口时,该Link的LinkID是该环回口的地址,LinkData是该环回口对应的掩码地址,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的LinkID和LinkData确定该Link所属的网段中所有的路由器,若第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器;还用于计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
其中,为了根据一个Link的LinkID和LinkData确定该Link所属的网段中所有的路由器,处理模块中进一步包括:确定单元,用于当一个Link所属的网段为广播网络时,确定该网段中的DR的路由器ID为该Link的LinkID,当该Link所属的网段为P2P网络时,确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的LinkID;查找单元,用于根据该Link的LinkData,查找到LinkStateID的值为该LinkData的值的第二拓扑LSA;还用于根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。
另外,处理模块302还用于在计算完本区域的拓扑之后,在计算本区域的路由的过程中,当计算到第二路由器产生的第一LSA时,若第二路由器不是TBR,则仅计算该第一LSA中包含的环回口路由信息对应的路由,若第二路由器是TBR,则仅计算该第一LSA中包含的除传输Link以外的其他Link对应的路由。
实施例七
在本实施例中,第一路由器中包括:接收模块、处理模块和发送模块,当第一路由器处于不同角色时,这三个功能模块具有不同的功能:
当第一路由器是连接第一管理单元和第二管理单元的TBR时,该路由器中的接收模块、处理模块和发送模块的功能分别与实施例六中的接收模块101、处理模块102和发送模块103的功能相同;当第一路由器是第一管理单元中的路由器时,该路由器中的接收模块、处理模块和发送模块的功能分别与实施例六中的接收模块201、处理模块202和发送模块203的功能相同;当第一路由器是第二管理单元中的路由器时,该路由器中的接收模块和处理模块的功能分别与实施例六中的接收模块301和处理模块302的功能相同。
综上,本申请以上实施例可以达到以下技术效果:
(1)当一个区域中的第一管理单元需要屏蔽部分或全部的路由信息,不想发布给同一区域内的其他管理单元(称为第二管理单元)时,第一管理单元中的路由器在产生LSA时,产生的新LSA中除了包含有现有技术中的RouterLSA或NetworkLSA(统称为原LSA)以外,还包含有用于描述拓扑信息的拓扑LSA,然后发布新LSA,当连接第一管理单元的TBR接收到新LSA时,保存其中包含的原LSA和拓扑LSA,之后,当要向第二管理单元发送LSA时,会针对LSDB中的每一个原LSA判断该原LSA是否具有相关联的拓扑LSA,在判断出具有时,仅将与该原LSA相关联的拓扑LSA发送给第二管理单元,从而,通过TBR的上述LSA的转换操作,可以将第一管理单元的路由信息(即原LSA,也即现有技术中的RouterLSA或NetworkLSA)控制在本单元内部,对外只发布拓扑信息(即拓扑LSA),实现了将管理单元的路由信息对同一区域的其他管理单元进行屏蔽,只对其他管理单元发布拓扑信息的效果,增强了管理单元的安全性,并减少了路由扩散。
(2)其他管理单元内的路由器使用拓扑LSA仍然能够计算出本区域的拓扑和路由。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (16)
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的LinkID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID,LinkData是该网段的网络标识ID;
TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指传输边界路由器TBR连接所述一个管理单元的Link;
当一个Link为环回口时,该Link的LinkID是该环回口的地址,LinkData是该环回口对应的掩码地址,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的新LSA中的所述拓扑LSA,所述拓扑LSA包括第一拓扑LSA和第二拓扑LSA,所述第一拓扑LSA为原LSA是路由器LSA时的拓扑LSA,所述第二拓扑LSA为原LSA是网络LSA时的拓扑LSA;
保存所述第一拓扑LSA和第二拓扑LSA到LSDB;
在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器;
计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
7.根据权利要求6所述的方法,其特征在于,根据Link的LinkID和LinkData确定该Link所属的网段中所有的路由器的方法包括:
当该Link所属的网段为广播网络时,确定该网段中的指定路由器DR的路由器ID为该Link的LinkID,当该Link所属的网段为P2P网络时,确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的LinkID;
根据该Link的LinkData,查找到LinkStateID的值为该LinkData的值的第二拓扑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的LinkID是该网段中的指定路由器DR的路由器ID,当该Link所属的网段为点到点P2P网络时,LinkID是该Link连接的两个路由器中ID较小的路由器的路由器ID,LinkData是该网段的网络标识ID;
TL标识位用于表示该Link是否是传输Link,当TL标识位的值等于第一值时,表示该Link是传输Link,当TL标识位的值等于第二值时,表示该Link不是传输Link,其中,传输Link是指传输边界路由器TBR连接所述一个管理单元的Link;
当一个Link为环回口时,该Link的LinkID是该环回口的地址,LinkData是该环回口对应的掩码地址,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,所述拓扑LSA包括第一拓扑LSA和第二拓扑LSA,所述第一拓扑LSA为原LSA是路由器LSA时的拓扑LSA,所述第二拓扑LSA为原LSA是网络LSA时的拓扑LSA;
处理模块,用于将所述接收模块接收到的第一拓扑LSA和第二拓扑LSA保存到LSDB;还用于在计算本区域的拓扑的过程中,当计算到第一管理单元中的第二路由器产生的第一拓扑LSA时,若该第二路由器不是TBR,则遍历该第一拓扑LSA中包含的除环回口以外的每一个Link的信息,根据该Link的LinkID和LinkData确定该Link所属的网段中所有的路由器,若该第二路由器是TBR,则遍历该第一拓扑LSA中包含的每一个传输Link的信息,根据该传输Link的LinkID和LinkData确定该传输Link所属的网段中所有的路由器;还用于计算出从本路由器到所确定的各个路由器的距离值,根据计算出的距离值计算最短路径树。
15.根据权利要求14所述的路由器,其特征在于,所述处理模块包括:
确定单元,用于当一个Link所属的网段为广播网络时,确定该网段中的指定路由器DR的路由器ID为该Link的LinkID,当该Link所属的网段为P2P网络时,确定该网段中的两个路由器中ID较小的路由器的路由器ID为该Link的LinkID;
查找单元,用于根据该Link的LinkData,查找到LinkStateID的值为该LinkData的值的第二拓扑LSA;还用于根据查找到的第二拓扑LSA,查找到该网段中的其他路由器的路由器ID。
16.根据权利要求14所述的路由器,其特征在于,
所述处理模块,还用于在计算完本区域的拓扑之后,在计算本区域的路由的过程中,当计算到第二路由器产生的第一LSA时,若第二路由器不是TBR,则仅计算该第一LSA中包含的环回口路由信息对应的路由,若第二路由器是TBR,则仅计算该第一LSA中包含的除传输Link以外的其他Link对应的路由。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210574378.3A CN103023775B (zh) | 2012-12-26 | 2012-12-26 | Ospf网络中的路由器及其处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210574378.3A CN103023775B (zh) | 2012-12-26 | 2012-12-26 | Ospf网络中的路由器及其处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023775A CN103023775A (zh) | 2013-04-03 |
CN103023775B true CN103023775B (zh) | 2015-11-25 |
Family
ID=47971920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210574378.3A Active CN103023775B (zh) | 2012-12-26 | 2012-12-26 | Ospf网络中的路由器及其处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023775B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683237B (zh) * | 2013-11-29 | 2018-04-06 | 上海斐讯数据通信技术有限公司 | 抢占指定路由器的方法 |
CN103997457B (zh) * | 2014-06-05 | 2018-05-08 | 重庆金美通信有限责任公司 | 一种OSPF无编号broadcast、NBMA接口的实现方法 |
CN105591932B (zh) * | 2015-07-13 | 2019-03-15 | 新华三技术有限公司 | 邻居的识别方法及装置 |
CN105187276B (zh) * | 2015-09-01 | 2018-12-04 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的链路通断检测方法及系统 |
CN105281974B (zh) * | 2015-09-01 | 2019-03-15 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的路由器通断状态检测方法及系统 |
CN105391633B (zh) * | 2015-12-11 | 2018-11-16 | 北京华为数字技术有限公司 | 转发器、控制器及控制器的路由发布方法 |
CN110896377B (zh) * | 2019-11-19 | 2021-08-17 | 迈普通信技术股份有限公司 | 一种ospf路由控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042850B2 (en) * | 2001-11-09 | 2006-05-09 | Fujitsu Limited | Focused link state advertisements |
CN101094117A (zh) * | 2007-06-29 | 2007-12-26 | 中国科学院计算技术研究所 | 一种自动检测ospf多路访问网络上路由器链路中断的方法 |
CN101272393A (zh) * | 2008-05-14 | 2008-09-24 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
CN101572674A (zh) * | 2009-06-12 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种路由计算方法及装置 |
-
2012
- 2012-12-26 CN CN201210574378.3A patent/CN103023775B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042850B2 (en) * | 2001-11-09 | 2006-05-09 | Fujitsu Limited | Focused link state advertisements |
CN101094117A (zh) * | 2007-06-29 | 2007-12-26 | 中国科学院计算技术研究所 | 一种自动检测ospf多路访问网络上路由器链路中断的方法 |
CN101272393A (zh) * | 2008-05-14 | 2008-09-24 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
CN101572674A (zh) * | 2009-06-12 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种路由计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103023775A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023775B (zh) | Ospf网络中的路由器及其处理方法 | |
CN105871722B (zh) | 标签构造以及标签报文转发方法及装置 | |
US11689452B2 (en) | Method for forwarding service data, network device, and network system | |
CN112511444B (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
CN102037685B (zh) | 通过链路状态协议控制的以太网的ip转发 | |
CN101124568B (zh) | 通过计算机网络的单向链路路由isis流量的系统和方法 | |
EP3148131B1 (en) | Address information publishing method and apparatus | |
CN101904184B (zh) | 链路状态控制的以太网络中提供的自动mep | |
EP3934183B1 (en) | Service function chain sfc-based communication methods, and apparatuses | |
CN101834794B (zh) | 通过骨干网进行报文转发的方法及设备 | |
CN107623630B (zh) | 一种位索引显式复制信息传递方法和装置 | |
EP3567814B1 (en) | Method for updating routing in network, network device and system | |
CN107968750A (zh) | 报文传输方法、装置及节点 | |
CN102368727A (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
CN102957589A (zh) | 业务数据传输的方法、网络节点及系统 | |
CN112491729A (zh) | 一种数据处理方法、装置、存储介质及电子装置 | |
CN102546433A (zh) | 基于mpls vpn的数据转发方法和边缘设备 | |
EP3295623B1 (en) | Transport software defined networking (sdn) zero configuration adjacency via packet snooping | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
CN103220217B (zh) | 一种路由生成方法和设备 | |
CN106982162B (zh) | 用于转发业务流的方法、装置和系统 | |
CN101753419B (zh) | 发送数据、转发数据的方法、设备和多地址空间移动网络 | |
CN114079629B (zh) | 最大传输单元mtu确定方法、装置、设备以及存储介质 | |
CN114024856A (zh) | 路由优化方法、物理网络设备及计算机可读存储介质 | |
CN106817273B (zh) | 用于l3vpn业务诊断的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |