一种生成网络拓扑图的方法和系统与流程

文档序号:11436290阅读:531来源:国知局
本发明涉及边界网关协议(bgp)管理领域,尤其涉及生成bgp网络拓扑图的方法和系统。
背景技术
::在当前网络中,边界网关协议bgp(bordergatewayprotocol)使用频繁。bgp是为tcp/ip(传输控制协议/因特网互联协议)互联网而设计的外部网关路由协议(或域间路由协议),用于多个自治域as(autonomoussystem)之间。bgp为距离矢量路由协议,但其既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。在互联网中,bgp的主要功能是与其它自治域as的bgp交换网络可达信息。其中,各个自治域as可以运行不同的内部网关路由协议。其中,bgp更新信息包括网络号/自治域路径的成对信息,而自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过tcp传送出去,以保证传输的可靠性。在传统的网络管理中,比如利用简单网络管理协议snmp(simplenetworkmanagementprotocol,其由一组网络管理标准组成)支持的网络管理,其中,snmp通过rfc-1213中的信息表iftable和ip地址表ipaddrtable以及厂家私有snmp信息来进行管理,偏重于物理层面,而缺少对于bgp协议管理的手段。技术实现要素:本发明的主要目的在于提供一种生成网络拓扑图的方法和系统,以解决通过基于snmp的bgp网络拓扑发现,实现根据bgp网络配置情况自动发现并生成bgp拓扑图,以在网络中管理bgp的问题,进而,可以根据该网络拓扑发现(如:拓扑图)提供bgp可视化信息,实现bgp管理的可视化,为网络管理运维提供有效管理、提升运维效率。本发明一方面提供一种生成网络拓扑图的方法,应用于简单网络管理协 议snmp网络管理运行的环境,该方法包括以下步骤:访问目标网络中每个网络节点的管理信息库mib,判断所述mib中是否存在边界网关协议自治域bgplocalas信息;在存在所述bgplocalas信息的情况下,采集bgplocalas信息和bgp对等体表信息,所述bgp对等体表信息存储了网络节点的邻居关系;判断采集的所述bgplocalas信息是否正确;在采集的所述bgplocalas信息正确的情况下,根据所述bgplocalas信息绘制与该bgplocalas对应的网络节点图标;根据所述bgp对等体表信息,建立所述网络节点图标之间的连接关系,完成bgp网络拓扑图。其中,所述判断采集的所述bgplocalas信息是否正确,包括:判断所述bgplocalas信息中是否有数据;在所述bgplocalas信息中有数据的情况下,判断所述数据是否为0或-1;在所述数据不是0或者-1的情况下,判断所述bgplocalas信息为正确bgplocalas信息。其中,所述在采集的所述bgplocalas信息正确的情况下,绘制与该bgplocalas对应的网络节点图标,包括:判断是否存在以所述bgplocalas信息中的数据为标识的网络节点图标组合,如果不存在,则绘制与该bgplocalas信息中的数据对应的网络节点图标;如果存在,则将与该bgplocalas信息中的数据对应的网络节点图标放入所述组合中。其中,所述采集bgplocalas信息和bgp对等体表信息,包括:将bgplocalas信息和bgp对等体表信息形成一个bgpinfo对象进行采集。其中,根据所述bgp对等体表信息,建立所述网络节点图标之间的连接关系,完成bgp网络拓扑图,包括:对所述bgp对等体表信息包含的每一条数据进行处理:从所述bgp对等体表的每一条数据中的bgppeerremoteaddr字段获知这条数据指示的邻居关系的对端网络节点的ip地址,并确定所述对端ip地址的值所对应的对端网络节点;根据对端网络节点的bgplocalas信息判断所述对端网络节点的图标是否存在,如果是,则从所述bgp对等体表的bgppeerlocaladdr字段获知这条邻居关系的本端ip地址的值,并在所述对端网络节点的图标与所述本端ip地址的值对应的网络节点的图标之间绘制连线。其中,还包括:在绘制的所述连线的属性中记录所述对端ip地址的值和所述本端ip地址的值。本发明另一方面提供一种生成网络拓扑图的系统,应用于简单网络管理协议snmp网络管理运行的环境,该系统包括:采集装置,访问目标网络中每个网络节点的管理信息库mib,判断所述mib中是否存在边界网关协议自治域bgplocalas信息;在存在所述bgplocalas信息的情况下,采集bgplocalas信息和bgp对等体表信息,所述bgp对等体表信息存储了网络节点的邻居关系;生成装置,判断采集的所述bgplocalas信息是否正确;在采集的所述bgplocalas信息正确的情况下,根据所述bgplocalas信息绘制与该bgplocalas对应的网络节点图标;根据所述bgp对等体表信息,建立所述网络节点图标之间的连接关系,完成bgp网络拓扑图。其中,采集装置包括:bgplocalas信息判断装置,用于判断所述mib中是否存在边界网关协议自治域bgplocalas信息;bgp本地自治域bgplocalas信息采集装置,用于访问目标网络中每个网络节点的管理信息库mib,在存在所述bgplocalas信息的情况下,采集bgplocalas信息;bgp对等体表信息采集装置,用于在存在所述bgplocalas信息的情况下,采集bgp对等体表信息,所述bgp对等体表信息存储了网络节点的邻居关系。其中,生成装置,包括:bgp拓扑图创建和设备图标生成装置,用于判断所述bgplocalas信息中是否有数据;在所述bgplocalas信息中有数据的情况下,判断所述数据是否为0或-1;在所述数据不是0或者-1的情况下,判断所述bgplocalas信息为正确bgplocalas信息;判断是否存在以所述bgplocalas信息中的数据为标识的网络节点图标组合,如果不存在,则绘制与该bgplocalas信息中的数据对应的网络节点图标;如果存在,则将与该bgplocalas信息中的数据对应的网络节点图标放入所述组合中。其中,生成装置,包括:设备图标连接关系建立装置,对所述bgp对等体表信息包含的每一条数据进行处理:从所述bgp对等体表的每一条数据中的bgppeerremoteaddr字段获知这条数据指示的邻居关系的对端网络节点的ip地址,并确定所述对端ip地址的值所对应的对端网络节点;根据对端网络节点的bgplocalas信息判断所述对端网络节点的图标是否存在,如果是,则从所述bgp对等体表的bgppeerlocaladdr字段获知这条邻居关系的本端ip地址的值,并在所述对端网络节点的图标与所述本端ip地址的值对应的网络节点的图标之间绘制连线。根据本发明的方案,在运行snmp的目标网络中,从网络节点的管理信息库mib采集bgplocalas信息,以识别bgp网络;并通过bgplocalas信息、bgp对等体表信息和程序判断逻辑绘制bgplocalas信息对应的网络节点的图标,以及网络节点图标与邻居节点图标之间的关系连线,生成bgp网络拓扑图。实现对bgp协议管理可视化,为网络管理员快速直观的掌握当前网络的bgp拓扑信息提供了图形可视化查看手段,有效提升运维效率。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明的生成网络拓扑图的方法的一实施例的流程图;图2是本发明的方法中snmp网络管理运行环境的组成的一实施例的示意图;图3是本发明的方法中bgp配置信息采集的一实施例的流程图;图4是本发明的方法中bgp配置信息对象bgpinfo的一实施例的示意图;图5是本发明的方法中确定bgp网络拓扑并生成bgp拓扑图的一实施例的流程图;图6是本发明的方法中bgp拓扑图绘制的一个应用实例的流程图;图7是本发明的生成网络拓扑图的系统的一实施例的结构框图;图8是根据本发明的方案生成拓扑图中展示as组合时的一实施例的示意图;图9是根据本发明的方法中完整的采集和绘制的一实施例的流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。根据本发明,提供了一种生成网络拓扑图的方法。参考图1,图1是本发明的生成网络拓扑图的方法的一实施例的流程图。在步骤s110,基于snmp进行网络节点上bgp配置信息采集。具体地,参见图9所示本发明的方法中采集和绘制的一实施例的流程图,本方法应用于简单网络管理协议snmp网络管理运行的环境下,可以首先执行步骤s910,访问目标网络中每个网络节点的管理信息库mib,判断所述mib中是否存在边界网关协议自治域bgplocalas信息(即bgpas信息)。然后执行步骤s920,在存在所述bgplocalas信息的情况下,采集bgplocalas信息和bgp对等体表信息,该bgp对等体表信息存储了网络节点的邻居关系。继续执行步骤930,判断采集的所述bgplocalas信息是否正确。并且执行步骤940,在采集的所述bgplocalas信息正确的情况下,根据所述bgplocalas信息绘制与该bgplocalas对应的网络节点图标;然后执行步骤950,根据所述bgp对等体表信息,建立所述网络节点图标之间的连接关系,完成bgp网络拓扑图。其中,bgplocalas信息表明了该网络节点设备的管理区域,不同的管理区域有不同的as信息。本发明实施例中,在运行snmp的目标网络中,从网络节点的管理信息库mib采集bgplocalas信息,以识别bgp网络;并通过bgplocalas信息、bgp对等体表信息和程序判断逻辑绘制bgplocalas信息对应的网络节点的图标,以及网络节点图标与邻居节点图标之间的关系连线,生成bgp网络拓扑图。实现对bgp协议管理可视化,为网络管理员快速直观的掌握当前网络的bgp拓扑信息提供了图形可视化查看手段,有效提升运维效率。在一个实施方式中,为了从网络节点采集bgplocalas信息和bgp对等体表信息作为bgp配置信息。可以先建立snmp网络管理运行的环境。如图2所示本发明的方法中snmp网络管理运行环境的组成的一实施例的示意图。示例中建立的snmp的网络管理运行环境中至少可以包括:被管理设备、snmp代理、网络管理系统(nms)。其中,目标网络的网络节点210、220、230上的被管理设备都可以通过snmp代理接收或传送信息,snmp代理拥有对应的被管理设备相关管理信息,用于将它们转换成与snmp兼容的格式,进而,snmp代理通过snmp协议将信息、数据传递到网络管理系统nms进行处理;nms运行应用程序来实现监控被管理设备的功能,还为 网络管理提供大量的处理程序及必须的储存资源;被管理设备,可以是支持snmp协议的路由器、交换机、服务器或者主机等等,例如:bgp设备(具体如bgp路由器)等。在一个实施方式中,建立了snmp网络管理运行环境,可以基于snmp进行网络管理,比如:在目标网络的每个网络节点上配置一个管理信息库mib(manageinformationbase),mib其可以收集并存储管理信息,在本发明中为了对bgp协议进行管理,绘制bgp网络拓扑图,mib配置为手机bgp设备的配置信息,该配置信息至少包括:bgplocalas信息、bgp对等体表信息。如图2,每个被管理设备(如网络节点的bgp设备/bgp路由器)对应的snmp代理(包含snmp管理用的各种程序),即可以通过配置的mib获得(收集)和存储该被管理设备的管理信息。进一步,可以对网络节点上的mib进行访问。其中,对mib的访问,可以通过应用层协议进行,以从mib中采集到其对应的网络节点中的信息。具体地,可以利用nms一的网络信息采集进程,通过应用层协议snmp对snmp的mib进行访问,采集网络节点210、220、230的ip地址和接口的配置数据信息,例如:常见的网络设备的基础配置信息的采集等,这里不再赘述。在一个实施方式中,通过应用层协议对snmp的mib进行访问,可以采集网络节点的bgp配置数据信息。其中,网络节点中bgp设备的bgp配置mib数据表信息(bgp配置信息)包括bgp本地自治域as信息(即bgpas信息)、bgp对等体表(bgppeertable)信息等等。由于在snmp环境下从mib采集节点设备配置信息,根据bgpas信息而确定网络节点的节点设备为bgp设备、进而继续采集bgp对等体表信息,获得设备和设备邻居关系的信息,这样的自动采集使得bgp设备自动发现、协议识别的速度快、拓扑图绘制效率高、管理时定位快(有助于故障发现)。下面参考图3所示本发明的方法的bgp配置信息采集的一实施例的流程图,来说明本发明中采集bgp配置信息的一种更详细的方式。步骤s310,访问每个网络节点的mib以采集bgpas信息。在一个实施例中,每个网络节点的mib存储的信息可以包括该节点中设备(节点设备)的配置信息。如果所在节点具有bgp设备(如bgp路由器等)或者说节点设备配置了bgp路由协议,则该mib中可以包括bgp配置mib数据表的信息,例如:bgpas信息(bgplocalas)。进一步,可以利用一网络信息采集进程通过应用层协议snmp对snmp的mib进行访问,除了采集基础的网络节点ip地址、接口配置数据信息外,还在访问该mib时从中采集其节点中对应的被采集设备的配置信息,比如:配置了bgp协议的节点设备的bgp配置信息中的bgpas信息。此自动采集进程通过对网络节点的mib进行访问尝试采集bgpas信息,以识别该节点设备是否为bgp设备(即自动bgp识别和发现)。步骤s320,判断是否采集到bgpas信息,如果采集到则bgpas信息则进入步骤s330;否则结束。在一个实施方式中,在访问mib采集到的信息(包括配置信息)中,进行判断识别,确定是否采集到了bgpas信息。如果判断采集到了bgpas信息(即bgplocalas的数据)如图3所示“是”,即表示有bgp配置信息,从而表明所述网络节点配置了bgp路由协议或者说被采集的该节点设备配置了bgp设备,从而进入步骤s330。进一步,如果判断没有采集到bgpas信息(即bgplocalas的数据),如图3所示“否”,表示没有bgp配置信息,从而表明所述网络节点未配置bgp路由协议或者说被采集的该节点设备未配置bgp设备,从而结束该采集过程。进一步,还可以结束或停止对当前网络节点的节点设备bgp配置信息的采集,进入下一个网络节点的节点设备bgp配置信息的采集(例如:回到步骤s310等等,这里前面还可以有个判断步骤,比如判断是否当前网络的网络节点都采集完毕,完毕则整个采集过程结束,否则从步骤s310开始采集,等等)。步骤s330,访问所述mib以采集bgp对等体表(bgppeertable)信息。在一个实施例中,每个网络节点的mib存储的信息可以包括该节点中设备(节点设备)的配置信息。当确定所在节点设备配置了bgp路由协议或配置有bgp设备(如bgp路由器等),则该mib中可以包括bgp配置mib数据表的对等体表(bgppeertable)信息,从而,也可以利用网络信息采集进程通过应用层协议snmp对snmp的mib继续进行访问,以采集该配置了bgp协议的节点设备的bgp配置信息中的bgp对等体表(bgppeertable)信息。利用bgp对等体表信息可以快速定位bgp设备的邻居关系,在绘制拓扑图时提高建立连接关系的效率,进而有助于bgp拓扑网络的后续管理。步骤s340,基于所采集的bgpas(bgplocalas)信息和对等体表 (bgppeertable)信息,形成一个bgp信息对象bgpinfo。在一个实施方式中,如果被采集的网络节点配置了bgp路由协议或者说节点设备有bgp设备,则将其采集到的bgpas配置信息,例如bgpas(bgplocalas)信息和对等体表(bgppeertable)信息,形成一个关于bgp信息的对象bgpinfo,可以方便快速进行信息的传输,如图4所示本发明的方法中bgp配置信息对象bgpinfo的一个示例,然后结束该采集过程。进一步,对象bgpinfo可以通过snmp协议进行传送。具体地,可以将该对象bgpinfo作为采集过程的结果,发送到处理中心进行信息处理,比如,发送到如图2所示snmp网络管理运行环境,采集到的每个网络节点的配置信息可以基于snmp协议传送给该nms(例:利用每个节点的snmp代理根据snmp协议上传)。进一步,每个网络节点上采集的bgp配置信息(例:bgpas信息、bgppeertable形成的对象bgpinfo),通过snmp协议传递给nms并通过nms进行处理(如:管理网络、识别网络、网络拓扑发现/拓扑图绘制、网络监控等),并结束该采集过程。由此,对每个网络节点进行网络信息采集,其可以通过步骤s310~s340以获得每个网络节点的各种网络设备配置信息,包括bgp配置信息(如果该网络节点配置有bgp路由协议或者说节点设备是bgp设备的话)从而能够在snmp管理的网络中实现节点设备是否配置bgp协议的识别和bgp设备的发现,即实现了根据bgp网络配置情况自动发现配置信息,为下面的bgp节点拓扑绘制和故障定位等等对bgp协议的管理提供了基础。在步骤s120,根据所述bgp配置信息生成bgp拓扑图以确定bgp网络拓扑。具体地,参见图9所示本发明的方法中采集和绘制的一实施例的流程图,步骤s930,判断采集的所述bgplocalas信息是否正确。步骤s940,在采集的所述bgplocalas信息正确的情况下,根据所述bgplocalas信息绘制与该bgplocalas对应的网络节点图标。步骤s950,根据所述bgp对等体表信息,建立所述网络节点图标之间的连接关系,完成bgp网络拓扑图。在一个实施方式中,根据所述bgp配置信息中具有的正常的bgplocalas信息、以及所述bgp配置信息中的bgp对等体表bgppeertable信息,生成bgp拓扑图。参见图2所示snmp网络管理运行环境,可以利用nms根据每个网络节点210、220、230上传的数据信息进行网络管理。 比如:基于snmp协议传送(例:利用每个节点的snmp代理根据snmp协议上传)到该nms的从每个网络节点采集到的配置信息。进一步,nms对接收到的来自采集自网络节点的配置信息,如bgp配置信息,进行处理。在一个实施方式中,该nms可以处理每个网络节点传送来的配置信息,包括处理bgp配置信息,可以是根据从每个网络节点上采集到的bgp配置信息(例:对象bgpinfo,其包括bgpas信息、bgppeertable数据),进行bgp拓扑图的绘制,从而获得或者说确定相应的bgp网络拓扑,实现bgp网络拓扑的发现、识别,以便于利用拓扑图对bgp网络、设备进行可视化监控管理(故障定位等)。在一个实施方式中,利用bgp配置信息,以对象bgpinfo为例,绘制bgp拓扑图。下面参考图5所示本发明的方法中确定bgp网络拓扑并生成bgp拓扑图的一实施例的流程图,来说明本发明中基于snmp,利用bgp配置信息实现bgp网络拓扑发现的一种更详细的方式。步骤s510,根据确定接收的bgp配置信息中具有的正常的bgpas信息,创建bgp拓扑图,并绘制相应于该bgp配置信息的节点设备图标。在一个实施方式中,可以对接收的bgp配置信息进行判断。具体地,参见图2所示snmp环境,nms接收到来自每个网络节点的bgp配置信息,如对象bgpinfo,可以首先判断传送来的对象bgpinfo中节点设备的bgplocalas项是否有数据,如果没有数据则不再继续做处理;如果有数据则还需要判断该节点设备的bgplocalas项的数据是否为0或-1这种不正常、不正确的自治域as信息(即非正常的as号)。进一步,如果是非正常as号,则不再继续做处理;如果不是非正常的as号(或者说是正常的as号),则判断是否已经存在bgp拓扑图。进一步,如果不存在bgp拓扑图,则可以创建一个bgp地图/网络图map即bgp拓扑图,可以命名为bgp.map。进一步,判断是否存在以所述bgplocalas信息中的数据为标识的网络节点图标组合,即判断bgp拓扑图中是否存在该as(接收的该对象bgpinfo中bgplocalas的数据,即判断为正常的as号)的组合(ascontainer)。进一步,如果不存在,则绘制与该bgplocalas信息中的数据对应的网络节点图标,即如果不存在该as组合则创建一个,名称可以为asnumber(即该bgplocalas数据的as号)。如:bgplocalas对应的数据为2,则 创建的as组合可以命名为2。进一步,如果存在或者创建了,则将与该bgplocalas信息中的数据对应的网络节点图标放入所述组合中,即在该bgp拓扑图中创建该对象bgpinfo对应的节点设备的图标,并放置在对应的as组合(ascontainer)中。如:新的as号创建了一个新的as号为2的组合,则在该“2”号组合中存入/记录其对应的节点设备的图标。例如:当在一个as内有多个网络设备时,可以利用该组合来表示这个as内这些网络设备的集合(一个as组合中多个设备的图标),这样,就可以在该bgp拓扑图展示出来时,同一组合内的设备展示在同一个云图或方框内,如图8中,as号为2的组合只有设备r3(设备r3的bgplocalas对应的as号是2),则展示出来的该组合中的设备就是一个r3;而设备r1、r2的bgplocalas对应的as号都是1即as号为1的组合有两个设备r1、r2,则展示出来的该组合中的设备就是两个(r1、r2)。步骤s520,根据确定接收的所述bgp配置信息中具有的节点设备bgp对等体表bgppeertable信息,建立所述bgp拓扑图中节点设备之间连接关系(如:连线)。在一个实施方式中,可以对接收的bgp配置信息进行判断。具体地,参见图2所示snmp环境,nms接收到来自每个网络节点的bgp配置信息,如对象bgpinfo,可以判断传送来的对象bgpinfo中节点设备的bgp对等体表bgppeertable是否有数据,如果没有数据则不再继续做处理(结束);如果有数据则根据该bgp对等体表(bgppeertable)在步骤s510创建的bgp拓扑图中,建立设备之间的连接关系,如:建立图标之间的连线。在一个实施方式中,由于bgp对等体表(bgppeertable)包含有bgp对等体间的连接信息(例如表1示例了bgp对等体表中的每条数据中可能的字段,这里未示出全部字段),可以对每条bgp对等体表(bgppeertable)中的数据进行判断和/或处理:从所述bgp对等体表的每一条数据中的bgppeerremoteaddr字段获知这条数据指示的邻居关系的对端网络节点的ip地址,并确定所述对端ip地址的值所对应的对端网络节点;根据对端网络节点的bgplocalas信息判断所述对端网络节点的图标是否存在,如果是,则从所述bgp对等体表的bgppeerlocaladdr字段获知这条邻居关系的本端ip地址的值,并在所述对端网络节点的图标与所述本端ip地址的值对应的 网络节点的图标之间绘制连线。表1:一个例子如:a、通过bgppeertable中的bgp对等体远程地址(即该表中的索引bgppeerremoteaddr)字段,获知该地址相应的bgp对等体的远端ip地址(即该字段指示的邻居关系的对端ip地址),并用目标ip地址destip来表示这个ip地址的值;b、通过该对端ip地址的值destip来获知对端设备;c、判断这个获知的对端设备是否在前述的bgp拓扑图中存在有相应的节点设备图标,如果不存在则不进行连接、不完成后面的处理(即不做d、e的处理);d、如果存在该对端节点设备的图标,则通过bgp连接的本地ip地址(即该表中的bgppeerlocaladdr)字段,获知该地址相应的bgp对等体的本地ip地址(即该字段指示的邻居关系的本端ip地址),并用源ip地址srcip来表示这个ip地址的值;e、然后,在前述的bgp拓扑图中,建立该bgp对等体表相应的该节点设备的图标(srcip对应的设备的图标)与其对端设备图标(destip对应的设备的图标)之间的连线,并且,在这条连线的属性信息中记录下srcip和destip,标明这条连线两端配置的ip信息。进一步,图6示出了本发明的方法中bgp拓扑图绘制的一个应用实例的流程图。步骤s610,得到采集结果,如:接收从某网络节点传送来的采集到的其节点设备的配置信息(bgpas信息、bgppeertable信息),例:节点设备 的对象bgpinfo(如图4所示)。进入步骤s620。步骤s620,判断节点设备提供的bgpinfo中的bgplocalas项是否有数据,并且该数据不为0或-1。如果为否(即没有数据,或者该数据为0或-1),则不继续往下处理(即结束该绘制流程);如果为是,则进入步骤s630。步骤s630,创建bgp网络地图(bgp拓扑图),如bgp.map拓扑图,名称可以为bgp.map。进入步骤s640。另外,如果有该bgpinfo的bgplocalas的数据指示的as所在的bgp拓扑图,则直接进入步骤s640,没有则进行创建bgp拓扑图的该步骤。步骤s640,在该bgp拓扑图中创建一个与该节点设备的bgplocalas项对应的组合,可以用来放置与该节点设备在拓扑图中的有关信息、数据,可以将该组合的名称用bgplocalas的as号(asnumber)来表示。进入步骤s650。其中,bgplocalas的数据指示的as,表示该bgplocalas对应的节点设备所属as,若在该bgp拓扑图中已经有该as的组合,例如用该as号命名的组合(图8所示云图1或2),则直接进入步骤s650,否则,创建该as号命名的组合。步骤s650,在该bgp拓扑图中创建该节点设备的图标,并放置在该组合中,比如:该bgplocalas信息对应的节点设备的设备图标建立后,将该设备图标放入该节点设备对应的as对应的组合(即步骤s640的用as号命名的组合)中。进入步骤s660。步骤s660,判断节点设备提供的bgpinfo中的对bgp等体表(bgppeertable)是否还有下一条数据。如果为是(即有下一条数据)则进入步骤s670,如果为否则不继续往下处理(表示该表中的每条数据都已经完成处理,可以结束该绘制流程)。步骤s670,当从bgppeerremoteaddr字段的数据获知这条数据指示的邻居关系的对端ip地址时,用目标ip(destip)来表示该对端ip地址的值。进入步骤s680。步骤s680,根据该destip获知对端设备。进入步骤s690。步骤s690,判断该对端设备是否在该bgp拓扑图中存在对应的节点设备的图标,如果是则进入步骤s700,如果否则进入步骤s660。步骤s700,将从bgppeerlocaladdr字段的数据获知的这条数据指示的邻居关系的bgp连接的本端ip地址,用源ip(srcip)来表示该本端ip地址 的值。进入步骤s710。步骤s710,在该bgp拓扑图中建立(如:绘制)传送来该bgpinfo的网络节点的节点设备的图标(本端设备)和获知的该对端设备的图标之间的连线,并在这条连线的属性中记录对应的srcip和destip,以标明这条连线两端配置的ip信息。进入步骤s660。由此,根据采集的各个网络节点的该bgp配置信息为基础生成(绘制)相应的bgp拓扑图,实现了基于snmp的bgp协议识别,进而完成bgp网络拓扑发现。并且,可以利用该拓扑图进行管理,同时,其提供的bgp可视化信息,实现了基于snmp对bgp的可视化管理(比如较快地定位故障设备或as)。图7示意性地示出了根据本发明的生成网络拓扑图的系统的一实施例的结构框图。根据本发明的一个实施例,结合图7所示结构框图以及图1-6、8所示基于snmp管理bgp的方法的例子,对本发明的系统做进一步描述。图7所示结构框图中,该系统至少可以包括:采集装置710,用于基于snmp进行网络节点上bgp配置信息采集。该装置的具体功能及处理参见步骤s110的描述,如图1、2所示。生成装置720,用于根据所述bgp配置信息生成bgp拓扑图以确定bgp网络拓扑。该装置的具体功能及处理参见步骤s120的描述,如图1、2所示。进一步,该采集装置710还可以包括:bgpas(bgplocalas)信息采集装置7101,用于访问每个网络节点的mib以采集bgpas信息。该装置的具体功能及处理参见步骤s310的描述,如图3、4所示。bgpas信息判断装置7102,用于判断是否采集到bgpas信息,如果采集到则bgpas信息则采集bgp对等体表信息即进入bgp对等体表信息采集装置7103,否则结束(停止或转到下一个网络节点的节点设备的bgpas信息的采集)。该装置的具体功能及处理参见步骤s320的描述,如图3、4所示。bgp对等体表信息采集装置7103,用于访问所述mib以采集对等体表(bgppeertable)信息。该装置的具体功能及处理参见步骤s330的描述,如图3、4所示。bgpinfo对象形成装置7104,用于基于所采集的bgpas(bgplocalas) 信息和对等体表(bgppeertable)信息,形成一个bgp信息对象bgpinfo。该装置的具体功能及处理参见步骤s340的描述,如图3、4所示。进一步,该生成装置720还可以包括:bgp拓扑图创建和设备图标生成装置7201,用于根据确定接收的bgp配置信息中具有的正常的bgpas信息,创建bgp拓扑图,并绘制相应该bgp配置信息的节点设备图标。该装置的具体功能及处理参见步骤s510的描述,如图5、6所示。设备图标连接关系建立装置7202,用于根据确定接收的所述bgp配置信息中具有的节点设备对等体表bgppeertable信息,建立所述bgp拓扑图中节点设备之间连接关系(如:连线)。该装置的具体功能及处理参见步骤s520的描述,如图5、6所示。由于本实施例的系统所实现的处理及功能基本相应于前述图1~图6所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。本发明的方案通过在snmp环境下的mib中采集相应网络设备的bgp配置信息和程序判断逻辑,实现了利用该bgp配置信息中的bgpas信息生成bgp拓扑图和设备图标、并利用bgp配置信息中的bgp对等体表中的信息建立本端设备与对端设备的连线,绘制出相应的bgp网络拓扑图,以及bgp协议识别。由此,能够获得bgp网络拓扑的自动发现并生成bgp拓扑图,以及根据该拓扑图提供bgp可视化信息,从而带来了bgp网络快速故障定位、bgp协议管理的可视化、网络管理运营维护效率的提升等有益效果,使得网络管理员快速直观的掌握当前网络的bgp拓扑信息,为网络管理员提供准确有效的图形,以实现可视化查看即对bgp协议管理的可视化。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1