This application discloses a system, method and server for acquiring network topology, which includes: acquiring virtual network topology information within the server, topology information between servers and network devices, and topology information between network devices and network devices; making network topology according to any of the following or any combination of topology information obtained: virtual within the server Network topology information, the topology information between servers and network devices, and the complete topology information between network devices and network devices. Complete network topology information is obtained through this application.
【技术实现步骤摘要】
一种获取网络拓扑的系统、方法和服务器
本申请涉及但不限于计算机网络技术,尤指一种获取网络拓扑的系统、方法和服务器。
技术介绍
随着网络技术和云计算技术的不断发展,越来越多的物理网络设备、物理服务器、虚拟网络设备和虚拟机出现在数据中心。为了更好地定位网络问题,相关技术中会采用链路层发现协议(LLDP,LinkLayerDiscoveryProtocol)、思科发现协议(CDP,CiscoDiscoveryProtocol)和简单网络管理协议(SNMP,SimpleNetworkManagementProtocol)来获取网络拓扑信息。其中,LLDP协议是IEEE802.1AB标准,规定设备定期向周围的设备发送LLDP报文,在LLDP报文中携带有配置信息、设备能力、系统名称及描述、端口名称及描述等信息,同时接收和处理来自邻居设备的LLDP报文。CDP协议和LLDP协议的功能是类似的,不过CDP是私有协议,相对LLDP更轻量并且可以携带私有信息。SNMP协议采用传输控制协议/因特网互联协议(TCP/IP)族对互联网上的网络设备进行管理,提供了一组基本的操作,用来监控和维护网络设备。相关技术中,在获取网络拓扑时,只获取物理设备之间的网络拓扑,或者是只获取服务器内部的虚拟网络的网络拓扑;在获取服务器内部虚拟网络拓扑时,只获取虚拟机和虚拟交换机(OVS,OpenvSwitch)的连接关系;在处理LLDP报文时,采用第三方库libpcap来开发,降低了通用性。
技术实现思路
本申请提供一种获取网络拓扑的系统、方法和服务器,能够获取完整的网络拓扑信息。本申请提供了一种获取网络 ...
【技术保护点】
1.一种获取网络拓扑的系统,包括:作为控制节点的服务器、一个以上作为计算节点的服务器;其中,控制节点包括:第一获取单元、客户端模块,及管理模块;其中,第一获取单元,用于获取以下任一或任意组合的拓扑信息:自身所在服务器内部的虚拟网络拓扑信息;自身所在服务器和网络设备之间的拓扑信息;网络设备和网络设备之间的拓扑信息;客户端模块,用于根据来自管理模块的调用,从自身所在服务器中的第一获取单元获取相应的拓扑信息;管理模块,用于根据获得的拓扑信息制作网络拓扑;计算节点包括:第二获取单元,及客户端模块;其中,第二获取单元,用于获取以下任一或任意组合的拓扑信息:自身所在服务器内部的虚拟网络拓扑信息;自身所在服务器和网络设备之间的拓扑信息;客户端模块,用于根据来自控制节点的调用,从自身所在服务器中的第二获取单元获取相应的拓扑信息并输出给控制节点。
【技术特征摘要】
1.一种获取网络拓扑的系统,包括:作为控制节点的服务器、一个以上作为计算节点的服务器;其中,控制节点包括:第一获取单元、客户端模块,及管理模块;其中,第一获取单元,用于获取以下任一或任意组合的拓扑信息:自身所在服务器内部的虚拟网络拓扑信息;自身所在服务器和网络设备之间的拓扑信息;网络设备和网络设备之间的拓扑信息;客户端模块,用于根据来自管理模块的调用,从自身所在服务器中的第一获取单元获取相应的拓扑信息;管理模块,用于根据获得的拓扑信息制作网络拓扑;计算节点包括:第二获取单元,及客户端模块;其中,第二获取单元,用于获取以下任一或任意组合的拓扑信息:自身所在服务器内部的虚拟网络拓扑信息;自身所在服务器和网络设备之间的拓扑信息;客户端模块,用于根据来自控制节点的调用,从自身所在服务器中的第二获取单元获取相应的拓扑信息并输出给控制节点。2.根据权利要求1所述的系统,所述客户端模块还用于:根据来自用户的调用,从自身所在服务器的各获取拓扑信息的模块获取相应的拓扑信息。3.根据权利要求1所述的系统,其中,所述控制节点的客户端模块还用于:根据来自用户的请求,从所述第一获取单元中获取拓扑信息,以便发起请求的用户获得所述控制节点的网络拓扑。4.根据权利要求1所述的系统,其中,所述计算节点的客户端模块还用于:根据来自用户的请求,从所述计算节点的第二获取单元获取拓扑信息,以便发起请求的用户获得所述计算节点的网络拓扑。5.根据权利要求1所述的系统,其中,所述控制节点包括主控制节点和备控制节点。6.根据权利要求1~5任一项所述的系统,其中,所述服务器内部的虚拟网络拓扑信息包括:服务器内部虚拟机和虚拟网络设备之间的拓扑信息,以及服务器内部虚拟网络设备和虚拟网络设备之间的拓扑信息;所述服务器和网络设备之间的拓扑信息包括:物理服务器的每一个网卡和网络设备之间的拓扑信息;所述网络设备和网络设备之间的拓扑信息包括:物理网络设备与物理网络设备之间的拓扑信息。7.一种服务器,包括:获取模块、客户端模块;其中,获取模块,用于获取自身所在服务器内部的虚拟网络拓扑信息,和/或获取自身所在服务器和网络设备之间的拓扑信息;客户端模块,用于根据来自管理模块的调用,从获取模块获取相应的拓扑信息。8.根据权利要求7所述的服务器,所述获取模块包括第一获取模块、第二获取模块;其中,第一获取模块,用于获取自身所在服务器内部的虚拟网络拓扑信息;第二获取模块,用于获取自身所在服务器和网络设备之间的拓扑信息。9.根据权利要求8所述的服务器,所述服务器还包括:管理模块;所述获取模块还包括:第三获取模块;其中,第三获取模块,用于获取网络设备和网络设备之间的拓扑信息;管理模块,用于根据获得的拓扑信息制作网络拓扑。10.根据权利要求9所述的服务器,所述客户端模块还用于:根据来自用户的请求,从所述获取模块获取相应的拓扑信息,以便发起请求的用户获得所述服务器的网络拓扑。11.根据权利要求8所述的服务器,所述第一获取模块包括:第一网卡统计模块、搜索模块、第一生成模块、第一消息队列模块;其中,第一网卡统计模块,用于统计自身所在服务器当前所有的物理网卡的网卡相关信息,为记录网卡和交换机端口的连接关系提供信息;搜索模块,用于搜索虚拟交换机OVS数据库中对网桥和端口关系的描述信息;搜索虚拟机的虚拟网卡名称;调用Neutron应用程序接口API以搜索Neutron数据库中虚拟网络设备的信息;第一生成模块,用于根据来自搜索模块的信息,形成服务器内部虚拟网络拓扑;第一消息队列模块,用于实现进程间通信。12.根据权利要求11所述的服务器,其中,所述第一生成模块包括:根据来自所述搜索模块的所述描述信息和所述虚拟网卡名称,获取虚拟机和OVS桥之间的连接关系;根据来自所述搜索模块的所述描述信息和所述虚拟网络设备的信息,获取虚拟网络设备和OVS桥之间的连接关系。13.根据权利要求11所述的服务器,其中,所述第一获取模块还包括:用于记录自身所在服务器的事件的第一日志模块;用于将普通的进程转换为守护进程的第一守护进程模块;以及,用于将服务器端需要传送的信息转化为指定数据格式后输出的第一格式转换模块。14.根据权利要求8所述的服务器,其中,所述第二获取模块包括:第二网卡统计模块、多线程控制模块、一个以上监听模块、第二消息队列模块;其中,第二网卡统计模块,用于统计自身所在服务器当前所有的物理网卡的网卡相关信息;多线程控制模块,用于产生多线程,并同步多线程;监听模块,用于分别对每个网卡收到的报文进行处理;第二消息队列模块,用于实现进程间通信。15.根据权利要求14所述的服务器,其中,所述多线程控制模块具体用于:为每一个网卡开启一个线程,该线程用于监控发送到该网卡的所有报文,并过滤出链路层发现协议LLDP报文和思科发现协议CDP报文;为多线程设置用于保护关键数据结构同一时间只被一个线程读或者写的同步策略。16.根据权利要求14所述的服务器,其中,所述监听模块均包括:介质访问控制MAC层处理模块、LLDP层处理模块、CDP层处理模块;其中,MAC层处理模块,用于分析处理MAC头部;LLDP层处理模块,用于分析处理LLDP报文头部和类型/长度/值TLV字段;CDP层处理模块,用于分析处理CDP报文头部和TLV字段。17.根据权利要求16所述的服务器,其中,所述LLDP层处理模块调用套...
【专利技术属性】
技术研发人员:王世超,丁杰,崔丕锁,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。