CN101009702A - 一种ospf全邻接条件下lsa被动式采集方法 - Google Patents

一种ospf全邻接条件下lsa被动式采集方法 Download PDF

Info

Publication number
CN101009702A
CN101009702A CN 200610171652 CN200610171652A CN101009702A CN 101009702 A CN101009702 A CN 101009702A CN 200610171652 CN200610171652 CN 200610171652 CN 200610171652 A CN200610171652 A CN 200610171652A CN 101009702 A CN101009702 A CN 101009702A
Authority
CN
China
Prior art keywords
lsa
ospf
collector
virtual thread
neighbor
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.)
Granted
Application number
CN 200610171652
Other languages
English (en)
Other versions
CN100527745C (zh
Inventor
何坤明
毕经平
李忠诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2006101716527A priority Critical patent/CN100527745C/zh
Publication of CN101009702A publication Critical patent/CN101009702A/zh
Application granted granted Critical
Publication of CN100527745C publication Critical patent/CN100527745C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种OSPF全邻接条件下LSA被动式采集方法,包括;对LSA采集器的系统执行环境做初始化;对LSA采集器中的虚拟线程调度中心做初始化操作,确定虚拟线程的调度策略;取得LSA采集器上的网络接口信息;读取配置文件,执行相应的操作,并向虚拟线程调度中心注册相应的虚拟线程;在所有运行OSPF协议的网络接口中选取接口IP地址的最大值作为LSA采集器的标识;虚拟线程调度中心按照确定的虚拟线程的调度策略,调度并执行所得到的虚拟线程,按照经兼容修改的OSPF协议规范与特定邻居路由器建立邻接关系,在建立邻接关系的过程中采集LSA信息。本发明解决了以往LSA采集方案对全邻接和被动式不能兼顾的矛盾。

Description

一种OSPF全邻接条件下LSA被动式采集方法
技术领域
本发明涉及计算机网络技术领域,特别涉及一种OSPF全邻接条件下LSA被动式采集方法。
背景技术
OSPF(Open Shortest Path First,开放最短路径优先)协议是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(Autonomous System,简称AS)内决策路由。OSPF通过路由器之间通告运行OSPF协议的接口的状态来建立LSA数据库,生成最短路径树,每个OSPF路由器使用这些最短路径树构造路由表。OSPF协议把现有的实际网络类型映射到它所定义的四种抽象网络类型,分别为点到点(Point-to-Point)网络类型、点到多点(Point-to-MultiPoint)网络类型、非广播多路访问(Non-Broadcast MultiAccess)网络类型、广播多路访问(BroadcastMultiAccess)网络类型。
OSPF路由器接口的可配置项包含有接口的优先权、Hello包的发送周期等。其中,OSPF路由器接口的优先权主要用于DR、BDR的选取,Hello包的发送周期主要是配置Hello包的发送时间跨度。OSPF路由器之间使用链路状态通告(Link StateAdvertisement,简称LSA)来交换各自的链路状态信息,并把获得的信息存储在LSA数据库中。各OSPF路由器独立使用SPF算法计算到各个目的网络前缀的路由。
为了方便网络中网络拓扑、路由计算,需要采集路由器间的LSA信息。基于OSPF协议交互的LSA采集方法的现有技术主要有两种:一、全邻接、主动接入模式;二、部分邻接、被动采集模式。下面分别对这两种现有技术的优缺点进行说明。
一、全邻接、主动接入模式
该模式的思路是将采集器作为一个接入路由器,从而收集到LSA信息。这种模式的缺点是采集器与邻接路由器之间的邻接关系将被宣告到网络中,从而影响到网络拓扑、路由计算,最终影响网络上数据的转发。
二、部分邻接、被动采集模式
该模式的思路是在采集器与邻接路由器之间建立部分邻接关系,从而使采集器与邻接路由器之间的链路不会影响到网络拓扑、路由计算以及网络数据转发,实现了被动采集的目的。具体做法是采集器在OSPF数据库描述包交换阶段发出一个含假的LSA头部描述信息的OSPF数据库描述包,邻接路由器在接收到这个含假的LSA头部描述信息的OSPF数据库描述包后,经过处理,将发出对该假的LSA信息的请求,采集器此时不会对这个请求做任何响应,从而使邻接路由器的邻居状态保持在NSM_Loading这个不稳定状态,形成部分邻接模式。
这种模式的缺点是:
1、部分邻接建立后,邻接路由器的邻居状态一直处于NSM_Loading状态,这在OSPF协议规范中是没有定义的,其结果在不同的路由器实现上是不可预见的;
2、邻居状态处于NSM_Loading的邻接路由器是无法释放MaxAge的LSA信息的,随着网络的运行,这种MaxAge LSA将越聚越多,最终导致邻接路由器因为内存消耗殆尽而宕机,因此这种模式需要周期性的释放该部分邻接,以使邻接路由器在该部分邻接撤销后释放MaxAge的LSA,但这同时也使LSA信息采集的完整性受到影响;
3、处在NSM_Loading状态的邻接路由器将以5秒一次的频率向采集器请求该假的LSA信息,这将引起采集器与邻接路由器不必要的CPU资源消耗以及不必要的链路带宽消耗。
对上述模式的进一步说明请见参考文献1:“An OSPF Topology Server:Designand Evaluation。”
发明内容
本发明的目的是克服现有的LSA采集方法中对全邻接和被动式不能兼顾的矛盾,从而提供一种LSA信息的采集方法。
为了实现上述目的,本发明提供了一种OSPF全邻接条件下LSA被动式采集方法,包括以下步骤:
步骤1)、对LSA采集器的系统执行环境做初始化操作;
步骤2)、对LSA采集器中的虚拟线程调度中心做初始化操作,确定虚拟线程的调度策略;
步骤3)、取得LSA采集器上的网络接口信息;
步骤4)、读取配置文件,执行相应的操作,并向虚拟线程调度中心注册相应的虚拟线程;
步骤5)、在所有运行OSPF协议的网络接口中选取接口IP地址的最大值作为LSA采集器的标识(ID);
步骤6)、虚拟线程调度中心按照确定的虚拟线程的调度策略,调度并执行所得到的虚拟线程,按照经兼容修改的OSPF协议规范与特定邻居路由器建立邻接关系,建立邻接关系的路由器称为邻接路由器,在建立邻接关系的过程中采集LSA信息。
上述技术方案中,在所述的步骤2)中,在所述的初始化操作过程中,将需要最优先得到执行的虚拟线程加入所述的虚拟线程调度中心的事件链表,和时钟相关的虚拟线程加入到所述的虚拟线程调度中心的时钟链表,将已经准备好OSPF包读写的虚拟线程加入所述的虚拟线程调度中心的就绪链表,将还没有准备好OSPF包读写的虚拟线程分别加入所述的虚拟线程调度中心的读等待链表和写等待链表。
上述技术方案中,在所述的步骤2)中,所述的虚拟线程的调度策略为:
优先调度事件虚拟线程,次优调度时钟虚拟线程,再次优调度就绪虚拟线程,读写阻塞的虚拟线程就绪后成为就绪虚拟线程。
上述技术方案中,所述的步骤4)的具体实现步骤包括:
步骤4-1)、对LSA采集器的OSPF协议运行结构体进行初始化,主要包括运行OSPF协议的网络接口链表的初始化、网络前缀的初始化、区域号的初始化、LSA数据库的初始化、MaxAge LSA处理的时钟虚拟线程的注册、LSA刷新过程的时钟虚拟线程的注册;
步骤4-2)、为LSA采集器建立网络socket连接,并向虚拟线程调度中心的读等待链表注册OSPF读包虚拟线程;
步骤4-3)、读取配置文件的接口/区域分配命令,并将步骤3)中取得的LSA采集器的网络接口按照其IP地址是否符合分配原则分配到OSPF相应区域中;
步骤4-4)、被分配的网络接口加入到AllSPFRouters多播组,并向调度中心注册OSPF接口状态机的InterfaceUp事件。
所述的步骤6)具体包括以下步骤:
步骤6-1)、虚拟线程调度中心调度执行步骤4-4)中注册的OSPF接口状态机的InterfaceUp事件,LSA采集器的网络接口的OSPF接口状态由ISM_Down转换到ISM_DROther或ISM_POINTOPOINT,并开始周期性地发出Hello包,所发出的Hello包中包含有LSA采集器的ID;
步骤6-2)、邻接路由器对LSA采集器发出的Hello包进行处理,处理完成后,发出自身的Hello包,该Hello包中的邻居列表域将含有LSA采集器的ID作为列表中的一个邻居;
步骤6-3)、LSA采集器接收并处理邻接路由器发出的Hello包,根据该Hello包所对应的IP包的IP源地址,LSA采集器确定该Hello包来自新邻居,新建一个描述邻居状态、信息的结构体,并初始化该邻居状态为NSM_Down;
步骤6-4)、LSA采集器执行OSPF邻居状态机的HelloReceived事件,然后将LSA采集器的邻居状态转换为NSM_Init;
步骤6-5)、LSA采集器继续处理邻接路由器发出的Hello包,在该Hello包的邻居列表域中检测到自身的ID,执行OSPF邻居状态机的2-WayReceived事件;
步骤6-6)、LSA采集器的邻居状态转换为NSM_ExStart,并发出首个用于协商Master/Slave的OSPF数据库描述包;
步骤6-7)、邻接路由器接收到首个OSPF数据库描述包后,对比LSA采集器与自身的ID,确定ID大者为角色Master,发回一个OSPF数据库描述包,声明自己的角色;
步骤6-8)、LSA采集器接收到邻接路由器发出的该OSPF数据库描述包后,明确自身角色,至此,邻接关系建立过程中的Master/Slave协商完毕,ID大者为Master,ID小者为Slave;
步骤6-9)、LSA采集器的邻居状态转换为NSM_Exchange,并开始使用OSPF数据库描述包进行LSA链路状态描述信息的交换,交换过程由Master控制,LSA采集器不会传送自身链路状态的描述信息;
步骤6-10)、LSA链路状态描述信息交换完成后,LSA采集器的邻居状态将转换为NSM_Loading,邻接路由器的邻居状态将转换为NSM_Full状态;
步骤6-11)、LSA采集器向邻接路由器发出OSPF请求包;
步骤6-12)、邻接路由器向LSA采集器发出相应的OSPF更新包;
步骤6-13)、LSA采集器再发回相应更新包的响应包,直到LSA采集器的OSPF请求包全部发出并收到所有对应的OSPF更新包及响应包发送完毕,整个邻接建立过程结束,LSA采集器的邻居状态也转换到NSM_Full状态。
本发明的优点在于:
1、本发明的方法解决了以往LSA采集方案对全邻接和被动式不能兼顾的矛盾;
2、本发明的方法同时有效的减少了不必要的采集器与邻接路由器的CPU资源消耗和链路带宽消耗。
附图说明
图1为本发明的OSPF全邻接条件下LSA被动式采集方法在一个实施例中实现的流程图;
图2为在一个实施例中本发明方法读取配置文件、注册相应虚拟线程的流程图;
图3为在一个实施例中本发明方法按照经兼容修改的OSPF协议规范与特定邻居路由器建立邻接关系、采集LSA信息的流程图;
图4为在一个实施例中LSA采集器与邻居路由器建立邻接关系的示意图;
图5为LSA采集器与邻接路由器间的交互关系图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明。
在本实施例中,本发明方法的实现是基于Redhat Linux 9.0操作系统,所采用的网络接口卡为以太网接口卡,配置文件格式如下所示:
router lsac
network prefix area areaid
其中,prefix与areaid为命令参数,prefix表示一个网络前缀,areaid表示一个区域的ID。
在对本发明的方法进行具体说明以前,还需要对该方法中所涉及的LSA采集器进行说明。本发明中所涉及到的LSA采集器实现了OSPF协议的一个兼容子集,它包括OSPF接口状态机、OSPF邻居状态机以及相应的OSPF包处理模块。其中,OSPF接口状态机部分主要负责LSA采集器接口的OSPF接口状态从初始状态ISM_Down转换到其他各个接口状态。OSPF邻居状态机部分主要负责LSA采集器与一般物理邻居路由器之间建立双向通信的OSPF邻居关系的过程,与需要建立OSPF邻接关系的物理邻居路由器之间建立OSPF邻接关系的过程(以下分别简称为邻居关系、邻接关系),在建立邻接关系的过程中实现对LSA的采集。一般的,OSPF邻居关系就是指物理邻居路由器,通过周期性的Hello包来维护和确认物理邻居间的双向通信;OSPF的邻接关系是由OSPF的邻居关系进一步发展而来的,OSPF的邻接关系的建立首先要建立OSPF的邻居关系,在点到点、点到多点类型的网络中,OSPF路由器需要与邻居路由器继续建立邻接关系,在非广播多路访问、广播多路访问类型的网络中,接口状态处于ISM_DROther的路由器需要与接口状态处于ISM_DR、ISM_BDR的邻居路由器建立邻接关系,接口状态处于ISM_BDR的路由器也需要和接口状态处于ISM_DR的邻居路由器建立邻接关系。OSPF包处理模块主要负责各OSPF协议包的处理,并且根据处理结果进行OSPF接口状态机或OSPF邻居状态机的调度运行,特别是在处理OSPF更新包的过程中,LSA采集器的OSPF包处理模块将不再包含泛洪过程。LSA采集器没有实现OSPF协议规范定义的路由表计算、LSA采集器端的虚链路支持、区域边界路由器特性支持等功能。
上述的LSA采集器与以太网连接后,可实现对网络上链路状态通告的采集。如图4所示,LSA采集器与以太网相连,同时在以太网上还连接有多个路由器,这些路由器之间按照一定的规则选举DR(Designated Router,指定路由器)和BDR(Backup Designated Router,备份指定路由器)。其中,所述的规则是指在所有大于零的路由器接口优先权中,选出最大的作为DR,然后去除这个已选出的DR,再选出最大的作为BDR;当最大优先权有多个时,比较相应的路由器ID,最大ID者获得这次选举的胜利。被选举为DR和BDR路由器的OSPF接口状态分别转换为ISM_DR和ISM_BDR,其他没有被选举为DR或BDR的路由器的OSPF接口状态转换为ISM_DROther。OSPF协议规定:OSPF接口状态转换为ISM_DROther的路由器必须与DR和BDR之间建立邻接关系。指定路由器和备份指定路由器的选举以及路由器间邻接关系的建立都属于现有技术,在本实施例中不再做详细说明。
在上述说明的基础上,对本发明的OSPF全邻接条件下LSA被动式采集方法作详细说明。如图1所示,本发明方法的具体实现步骤如下:
步骤10、对LSA采集器的系统执行环境作初始化;在本步骤中,所述的初始化操作主要包括将文件目录权限掩码初始化为0027,常见信号及其关联函数的初始化。例如,挂断信号SIGHUP、中断信号SIGINT、终止信号SIGTERM等。
步骤20、对LSA采集器中的虚拟线程调度中心作初始化操作,在初始化过程中,将需要优先得到执行的虚拟线程加入虚拟线程调度中心的事件链表,和时钟相关的虚拟线程加入到虚拟线程调度中心的时钟链表,将已经准备好OSPF包读写的虚拟线程进入就绪链表,将还没有准备好OSPF包读写的虚拟线程分别进入读等待链表和写等待链表。
上述的虚拟线程调度中心在工作时的调度策略为:首先查找事件链表,事件链表为空时再检索时钟链表以查找到时的时钟,未查找到时,再检索就绪链表,如果就绪链表为空,则调用select()系统函数,以当前时间与即将到来的时钟时间的时间差值作为阻塞时间(如果当前没有时钟型虚拟线程,则永久阻塞,直到OSPF包的到来)阻塞在网络socket上,等待OSPF包的到来。在OSPF包到来后,LSA采集器将不再阻塞,并将OSPF读包虚拟线程移出读等待链表而加入到就绪链表,再次进行调度得到该就绪链表中的虚拟线程,并调度执行。如果经过阻塞时间而没有OSPF包的到来时,系统此时将存在超时的时钟,系统此时已不再阻塞在该网络socket上,系统将调度执行该超时时钟所对应的虚拟线程。以上只要检索到一个链表中的一个可执行的虚拟线程,则执行该虚拟线程所对应的函数并进入下次调度。
步骤30、利用Linux netlink socket取得LSA采集器上的以太网接口信息;
步骤40、读取配置文件,并向虚拟线程调度中心注册相应的虚拟线程。所读取的配置文件在前面的描述中已有相关的说明,下面结合图2对这一步骤作进一步的说明:
步骤41、首先读取配置文件中的router lsac命令,这条命令的作用是对LSA采集器的OSPF协议运行结构体进行初始化,所述的OSPF协议运行结构体主要包括运行OSPF协议的以太网接口链表的初始化、网络前缀的初始化、区域号的初始化、LSA数据库的初始化、MaxAge LSA处理的时钟虚拟线程的注册、LSA刷新过程的时钟虚拟线程的注册。
步骤42、为LSA采集器建立网络socket连接,并向虚拟线程调度中心的读等待链表注册OSPF读包函数,从而为OSPF数据包的读取做好第一步的准备;
步骤43、读取配置文件的network prefix area areaid命令,并将之前取得的LSA采集器的以太网接口按照其IP地址是否匹配prefix的原则分配到areaid所表示的OSPF相应区域中;
步骤44、被分配的以太网接口加入到AllSPFRouters多播组,完全做好OSPF包读取的准备,并向调度中心注册OSPF接口状态机的InterfaceUp事件。
步骤50、在所有运行OSPF协议的以太网接口中选取接口IP地址的最大值作为LSA采集器的ID。
步骤60、虚拟线程调度中心按照事先确定的调度策略调度并执行所得到的虚拟线程,按照经兼容修改的OSPF协议规范与DR建立邻接关系,在邻接关系的建立过程中采集到LSA信息。如图3所示,本步骤的具体实现过程如下:
步骤61、虚拟线程调度中心调度执行步骤44中注册的OSPF接口状态机的InterfaceUp事件,LSA采集器的以太接口的OSPF接口状态由ISM_Down转换到ISM_DROther,并开始周期性地发出Hello包,所发出的Hello包中包含有LSA采集器的ID。
步骤62、DR对LSA采集器发出的Hello包进行处理,处理完后,发出自身的Hello包,该Hello包中的邻居列表域将含有LSA采集器的ID作为列表中的一个邻居。
步骤63、LSA采集器接收并处理DR发出的Hello包,由于OSPF的Hello包是封装在IP包中的,因此根据该Hello包所对应的IP包的IP源地址,LSA采集器能够确定该Hello包来自新邻居,因此新建一个描述邻居状态、信息的结构体,并初始化该邻居状态为NSM_Down;
步骤64、LSA采集器执行OSPF邻居状态机的HelloReceived事件,然后将LSA采集器的邻居状态转换为NSM_Init;
步骤65、LSA采集器继续处理DR发出的Hello包,在该Hello包的邻居列表域中检测到自身的ID,因此执行OSPF邻居状态机的2-WayReceived事件。
步骤66、由于LSA采集器与DR间需要形成邻接关系,因此LSA采集器的邻居状态将转换为NSM_ExStart,并发出首个用于协商Master/Slave的OSPF数据库描述包;
步骤67、DR接收到首个OSPF数据库描述包后,对比LSA采集器与自身的ID,确定ID大者为角色Master后,发回一个OSPF数据库描述包,声明自己的角色;
步骤68、LSA采集器接收到该DR发出的OSPF数据库描述包后,自身角色也将明确,自此,邻接关系建立过程中的Master/Slave协商完毕,ID大者为Master,ID小者为Slave;
步骤69、LSA采集器的邻居状态转换为NSM_Exchange,并开始使用OSPF数据库描述包进行LSA链路状态描述信息的交换,交换过程由Master控制,LSA采集器将不会传送自身链路状态的描述信息;
在本步骤中,由于LSA采集器不会传送自身链路状态的描述信息,因此DR将不会请求该链路状态信息,在其LSA数据库中也不会存在该链路状态信息,因而LSA采集器与DR之间将只存在一条从DR到LSA采集器的单向链路。
步骤610、LSA链路状态描述信息交换完成后,LSA采集器的邻居状态将转换为NSM_Loading,DR的邻居状态将转换为NSM_Full状态。
在后续的步骤中,建立邻接关系的OSPF更新包传送阶段,LSA采集器不会收到对自身链路状态信息的请求,也就不会发送含自身链路状态信息的OSPF更新包;这样LSA采集器既没有发送自身的链路状态描述信息,也没有发送该链路状态信息,从而使得DR的邻居状态能够进入到NSM_Full这个稳定状态;
步骤611、LSA采集器向DR发出OSPF请求包;
步骤612、DR向LSA采集器发出相应的OSPF更新包;
步骤613、LSA采集器再发回相应更新包的响应包,直到LSA采集器的OSPF请求包全部发出并收到所有对应的OSPF更新包及响应包发送完毕,整个邻接建立过程结束,LSA采集器的邻居状态也转换到NSM_Full状态。
由上述的步骤610和步骤613的描述可知,在LSA采集器与DR之间形成双方邻居状态都为NSM_Full的全邻接关系,并且由于LSA采集器的链路状态信息不存在于DR的LSA数据库中,因此LSA采集器与DR之间只存在一条由DR描述的从DR到LSA采集器的单向链路,而单向链路在OSPF协议规范中是不会用于拓扑、路由计算的,因此有效的防止了LSA采集器对网络拓扑、路由及数据转发的影响,实现了OSPF全邻接、被动式的采集方式。

Claims (5)

1、一种OSPF全邻接条件下LSA被动式采集方法,包括以下步骤:
步骤1)、对LSA采集器的系统执行环境做初始化操作;
步骤2)、对LSA采集器中的虚拟线程调度中心做初始化操作,确定虚拟线程的调度策略;
步骤3)、取得LSA采集器上的网络接口信息;
步骤4)、读取配置文件,执行相应的操作,并向虚拟线程调度中心注册相应的虚拟线程;
步骤5)、在所有运行OSPF协议的网络接口中选取接口IP地址的最大值作为LSA采集器的标识(ID);
步骤6)、虚拟线程调度中心按照确定的虚拟线程的调度策略,调度并执行所得到的虚拟线程,按照经兼容修改的OSPF协议规范与特定邻居路由器建立邻接关系,建立邻接关系的路由器称为邻接路由器,在建立邻接关系的过程中采集LSA信息。
2、根据权利要求1所述的OSPF全邻接条件下LSA被动式采集方法,其特征在于,在所述的步骤2)中,在所述的初始化操作过程中,将需要最优先得到执行的虚拟线程加入所述的虚拟线程调度中心的事件链表,和时钟相关的虚拟线程加入到所述的虚拟线程调度中心的时钟链表,将已经准备好OSPF包读写的虚拟线程加入所述的虚拟线程调度中心的就绪链表,将还没有准备好OSPF包读写的虚拟线程分别加入所述的虚拟线程调度中心的读等待链表和写等待链表。
3、根据权利要求1所述的OSPF全邻接条件下LSA被动式采集方法,其特征在于,在所述的步骤2)中,所述的虚拟线程的调度策略为:
优先调度事件虚拟线程,次优调度时钟虚拟线程,再次优调度就绪虚拟线程,读写阻塞的虚拟线程就绪后成为就绪虚拟线程。
4、根据权利要求1所述的OSPF全邻接条件下LSA被动式采集方法,其特征在于,所述的步骤4)的具体实现步骤包括:
步骤4-1)、对LSA采集器的OSPF协议运行结构体进行初始化,主要包括运行OSPF协议的网络接口链表的初始化、网络前缀的初始化、区域号的初始化、LSA数据库的初始化、MaxAge LSA处理的时钟虚拟线程的注册、LSA刷新过程的时钟虚拟线程的注册;
步骤4-2)、为LSA采集器建立网络socket连接,并向虚拟线程调度中心的读等待链表注册OSPF读包虚拟线程;
步骤4-3)、读取配置文件的接口/区域分配命令,并将步骤3)中取得的LSA采集器的网络接口按照其IP地址是否符合分配原则分配到OSPF相应区域中;
步骤4-4)、被分配的网络接口加入到AllSPFRouters多播组,并向调度中心注册OSPF接口状态机的InterfaceUp事件。
5、根据权利要求4所述的OSPF全邻接条件下LSA被动式采集方法,其特征在于,所述的步骤6)具体包括以下步骤:
步骤6-1)、虚拟线程调度中心调度执行步骤4-4)中所注册的OSPF接口状态机的InterfaceUp事件,LSA采集器的网络接口的OSPF接口状态由ISM_Down转换到ISM_DROther或ISM_POINTOPOINT,并开始周期性地发出Hello包,所发出的Hello包中包含有LSA采集器的ID;
步骤6-2)、邻接路由器对LSA采集器发出的Hello包进行处理,处理完成后,发出自身的Hello包,该Hello包中的邻居列表域将含有LSA采集器的ID作为列表中的一个邻居;
步骤6-3)、LSA采集器接收并处理邻接路由器发出的Hello包,根据该Hello包所对应的IP包的IP源地址,LSA采集器确定该Hello包来自新邻居,新建一个描述邻居状态、信息的结构体,并初始化该邻居状态为NSM_Down;
步骤6-4)、LSA采集器执行OSPF邻居状态机的HelloReceived事件,然后将LSA采集器的邻居状态转换为NSM_Init;
步骤6-5)、LSA采集器继续处理邻接路由器发出的Hello包,在该Hello包的邻居列表域中检测到自身的ID,执行OSPF邻居状态机的2-WayReceived事件;
步骤6-6)、LSA采集器的邻居状态转换为NSM_ExStart,并发出首个用于协商Master/Slave的OSPF数据库描述包;
步骤6-7)、邻接路由器接收到首个OSPF数据库描述包后,对比LSA采集器与自身的ID,确定ID大者为角色Master,发回一个OSPF数据库描述包,声明自己的角色;
步骤6-8)、LSA采集器接收到邻接路由器发出的该OSPF数据库描述包后,明确自身角色,至此,邻接关系建立过程中的Master/Slave协商完毕,ID大者为Master,ID小者为Slave;
步骤6-9)、LSA采集器的邻居状态转换为NSM_Exchange,并开始使用OSPF数据库描述包进行LSA链路状态描述信息的交换,交换过程由Master控制,LSA采集器不会传送自身链路状态的描述信息;
步骤6-10)、LSA链路状态描述信息交换完成后,LSA采集器的邻居状态将转换为NSM_Loading,邻接路由器的邻居状态将转换为NSM_Full状态;
步骤6-11)、LSA采集器向邻接路由器发出OSPF请求包;
步骤6-12)、邻接路由器向LSA采集器发出相应的OSPF更新包;
步骤6-13)、LSA采集器再发回相应更新包的响应包,直到LSA采集器的OSPF请求包全部发出并收到所有对应的OSPF更新包及响应包发送完毕,整个邻接建立过程结束,LSA采集器的邻居状态也转换到NSM_Full状态。
CNB2006101716527A 2006-12-31 2006-12-31 一种ospf全邻接条件下lsa被动式采集方法 Expired - Fee Related CN100527745C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101716527A CN100527745C (zh) 2006-12-31 2006-12-31 一种ospf全邻接条件下lsa被动式采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101716527A CN100527745C (zh) 2006-12-31 2006-12-31 一种ospf全邻接条件下lsa被动式采集方法

Publications (2)

Publication Number Publication Date
CN101009702A true CN101009702A (zh) 2007-08-01
CN100527745C CN100527745C (zh) 2009-08-12

Family

ID=38697829

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101716527A Expired - Fee Related CN100527745C (zh) 2006-12-31 2006-12-31 一种ospf全邻接条件下lsa被动式采集方法

Country Status (1)

Country Link
CN (1) CN100527745C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282241B (zh) * 2008-05-04 2011-04-13 中国科学院计算技术研究所 一种自治系统内的实时网络路由拓扑处理系统及方法
CN101547125B (zh) * 2008-03-25 2011-08-03 中国科学院计算技术研究所 一种自治系统内网络异常定位的系统和方法
CN102255797A (zh) * 2011-06-09 2011-11-23 杭州华三通信技术有限公司 一种快速确定ospf接口角色的方法和设备
CN102318287A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 路由器邻居建立方法和设备
CN101729408B (zh) * 2009-11-23 2012-05-30 福建星网锐捷网络有限公司 一种判定接口网络类型的方法及路由设备
CN102932259A (zh) * 2012-11-20 2013-02-13 华为技术有限公司 邻居关系处理方法和路由设备
CN103309827A (zh) * 2012-03-06 2013-09-18 展讯通信(上海)有限公司 终端的设备参数读写方法及装置
CN105306362A (zh) * 2015-09-18 2016-02-03 中国科学院计算技术研究所 基于IPv6的OSPF网络路由信息的被动采集方法及系统
CN105376162A (zh) * 2014-08-30 2016-03-02 华为技术有限公司 一种链路状态信息通告方法和设备
CN109194503A (zh) * 2018-08-10 2019-01-11 烽火通信科技股份有限公司 一种利用ospf报文分配站点ip的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473421B1 (en) * 1999-03-29 2002-10-29 Cisco Technology, Inc. Hierarchical label switching across multiple OSPF areas
KR100449488B1 (ko) * 2002-05-21 2004-09-22 한국전자통신연구원 액티브 패킷 전송을 위한 네트워크 및 그 운용 방법
CN1192564C (zh) * 2002-06-06 2005-03-09 华为技术有限公司 开放最短路径优先协议第五类链路状态通告分组刷新的方法
CN1202638C (zh) * 2003-01-16 2005-05-18 上海交通大学 链路状态信息穿越网络传达的方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547125B (zh) * 2008-03-25 2011-08-03 中国科学院计算技术研究所 一种自治系统内网络异常定位的系统和方法
CN101282241B (zh) * 2008-05-04 2011-04-13 中国科学院计算技术研究所 一种自治系统内的实时网络路由拓扑处理系统及方法
CN101729408B (zh) * 2009-11-23 2012-05-30 福建星网锐捷网络有限公司 一种判定接口网络类型的方法及路由设备
CN102255797B (zh) * 2011-06-09 2014-09-10 杭州华三通信技术有限公司 一种快速确定ospf接口角色的方法和设备
CN102255797A (zh) * 2011-06-09 2011-11-23 杭州华三通信技术有限公司 一种快速确定ospf接口角色的方法和设备
CN102318287B (zh) * 2011-06-30 2014-09-17 华为技术有限公司 路由器邻居建立方法和设备
WO2012103731A1 (zh) * 2011-06-30 2012-08-09 华为技术有限公司 路由器邻居建立方法和设备
US9154401B2 (en) 2011-06-30 2015-10-06 Huawei Technologies Co., Ltd. Method and device for establishing router neighbor
CN102318287A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 路由器邻居建立方法和设备
CN103309827A (zh) * 2012-03-06 2013-09-18 展讯通信(上海)有限公司 终端的设备参数读写方法及装置
CN103309827B (zh) * 2012-03-06 2016-01-27 展讯通信(上海)有限公司 终端的设备参数读写方法及装置
CN102932259A (zh) * 2012-11-20 2013-02-13 华为技术有限公司 邻居关系处理方法和路由设备
CN105376162A (zh) * 2014-08-30 2016-03-02 华为技术有限公司 一种链路状态信息通告方法和设备
US10200204B2 (en) 2014-08-30 2019-02-05 Huawei Technologies Co., Ltd. Link state information advertisement method and device
CN105376162B (zh) * 2014-08-30 2019-05-10 华为技术有限公司 一种链路状态信息通告方法和设备
CN105306362A (zh) * 2015-09-18 2016-02-03 中国科学院计算技术研究所 基于IPv6的OSPF网络路由信息的被动采集方法及系统
CN105306362B (zh) * 2015-09-18 2018-08-10 中国科学院计算技术研究所 基于IPv6的OSPF网络路由信息的被动采集方法及系统
CN109194503A (zh) * 2018-08-10 2019-01-11 烽火通信科技股份有限公司 一种利用ospf报文分配站点ip的方法
CN109194503B (zh) * 2018-08-10 2021-04-20 烽火通信科技股份有限公司 一种利用ospf报文分配站点ip的方法

Also Published As

Publication number Publication date
CN100527745C (zh) 2009-08-12

Similar Documents

Publication Publication Date Title
CN100527745C (zh) 一种ospf全邻接条件下lsa被动式采集方法
CN101309201B (zh) 路由处理方法、路由处理器及路由器
CN106656706B (zh) 基于软件总线的面向服务的机器人开放式控制系统及方法
CN101656732B (zh) 路径控制系统
US8200880B2 (en) Shared system of I/O equipment, shared system of information processing apparatus, and method used thereto
CN103339887B (zh) 用于优化网络前缀列表搜索的方法
US8135806B2 (en) Virtual system configuration
CN101155134B (zh) 路径计算及网络拓扑方法、构架和系统
EP0639911A1 (en) Routing in a hierarchical communication network
CN104380672A (zh) 用于802.1aq的三级折叠Clos优化
EP2912812A1 (en) Traffic interconnection between virtual devices
JP2503186B2 (ja) 通信ネットワ―ク・システム
CN105659529A (zh) 通过中央控制的ad-hoc按需路由
CN107113892A (zh) 一种网关设备自动组网的方法及装置
CN102098228A (zh) 一体化标识网络移动性管理系统及方法
CN103581274A (zh) 一种堆叠系统中报文转发方法和装置
CN106254242A (zh) 一种数据传输方法、集中控制器、转发面设备和本端通信装置
US11356357B2 (en) Proactive prefix disaggregation for traffic assurance in data center routing
CN106210052A (zh) 一种广域电力服务管理方法
CN101087247A (zh) 在无线通信系统中路由数据的方法
CN102172048A (zh) 在层级基于移动性标签网络中的切换
CN100486220C (zh) Pce发现协议的实现方法
CN102158406A (zh) 面向计算机网络链路的智能选路方法
US7940755B2 (en) Lookup engine with programmable memory topology
US20080021986A1 (en) Apparatus and method for managing environment information in multi-processor system

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090812

Termination date: 20201231

CF01 Termination of patent right due to non-payment of annual fee