发明内容
本发明的目的在于提供一种系统拓扑的绘制方法及装置,是在解析网络流量数据的基础上,利用得到的所述网络流量数据中每一个数据包的源IP地址和目标IP地址,绘制出系统拓扑,既不是人工绘制,也没有基于任何协议,避免了SNMP协议的限制,更适合应用。
为了实现本发明的目的,本发明提供一种系统拓扑的绘制方法,包括:获取系统内的网络流量数据;对获得的所述网络流量数据中的每一个数据包进行解析,得到所述网络流量数据中每一个数据包的源IP地址和目标IP地址;统计所述网络流量数据中每一个数据包的源IP地址和目标IP地址,生成统计信息;依据所述统计信息,绘制系统拓扑。
优选的,所述获取系统内的网络流量数据包括:选择系统内的各核心交换机;复制所述系统内的各核心交换机处的网络流量镜像数据。
优选的,所述对获得的所述网络流量数据中的每一个数据包进行解析包括:获取所述网络流量数据中的每一个数据包的物理层、网络链路层及网络层信息;对所述物理层、网络链路层及网络层信息进行处理。
优选的,所述统计所述网络流量数据中每一个数据包的源IP地址和目标IP地址,生成统计信息包括:获取所述网络流量数据中每一个数据包的源IP地址和目标IP地址;分析所述源IP地址和目标IP地址的对应关系是否在统计信息中出现过,如果没有出现过,在所述统计信息中新增一条有关所述源IP地址和目标IP地址的对应关系的记录,并将记录次数标记为1;如果出现过,在所述统计信息中将有关所述源IP地址和目标IP地址的对应关系的记录次数增加1。
优选的,所述依据所述统计信息,绘制系统拓扑包括:整理所述统计信息成矩阵形式;依据所述矩阵中的信息,生成系统拓扑。
本发明还提供一种系统拓扑的绘制装置,包括:第一获取模块,用于获取系统内的网络流量数据;解析模块,用于对获得的所述网络流量数据中的每一个数据包进行解析,得到所述网络流量数据中每一个数据包的源IP地址和目标IP地址;统计模块,用于统计所述网络流量数据中每一个数据包的源IP地址和目标IP地址,生成统计信息;绘制模块,用于依据所述统计信息,绘制系统拓扑。
优选的,所述第一获取模块包括:选择模块,用于选择系统内的各核心交换机;复制模块,用于复制所述系统内的各核心交换机处的网络流量镜像数据。
优选的,所述解析模块包括:第二获取模块,用于获取所述网络流量数据中的每一个数据包的物理层、网络链路层及网络层信息;处理模块,用于对所述物理层、网络链路层及网络层信息进行处理。
优选的,所述统计模块包括:第三获取模块,用于获取所述网络流量数据中每一个数据包的源IP地址和目标IP地址;分析模块,用于分析所述源IP地址和目标IP地址的对应关系是否在统计信息中出现过,如果没有出现过,在所述统计信息中新增一条有关所述源IP地址和目标IP地址的对应关系的记录,并将记录次数标记为1;如果出现过,在所述统计信息中将有关所述源IP地址和目标IP地址的对应关系的记录次数增加1。
优选的,所述绘制模块包括:整理模块,用于整理所述统计信息成矩阵形式;生成模块,用于依据所述矩阵中的信息,生成系统拓扑。
借由上述的技术方案,本发明实施例的技术效果在于:
(1)本发明的系统拓扑的绘制方法及装置,是在解析网络流量数据的基础上,利用得到的所述网络流量数据中每一个数据包的源IP地址和目标IP地址,绘制出系统拓扑,既不是人工绘制,也没有基于任何协议,避免了SNMP协议的限制,更适合应用。
(2)在本发明中,获取的网络流量数据是系统内的各核心交换机处的网络流量镜像数据,不会给实际系统和网络带来任何负担。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实施例进行详细描述。
参阅图1所示,本发明具体实施例提供一种系统拓扑的绘制方法,包括:
步骤S101:获取系统内的网络流量数据;
步骤S102:对获得的所述网络流量数据中的每一个数据包进行解析,得到所述网络流量数据中每一个数据包的源IP地址和目标IP地址;
步骤S103:统计所述网络流量数据中每一个数据包的源IP地址和目标IP地址,生成统计信息;
步骤S104:依据所述统计信息,绘制系统拓扑。
也就是说,本发明具体实施例的系统拓扑的绘制方法,是在解析网络流量数据的基础上,利用得到的所述网络流量数据中每一个数据包的源IP地址和目标IP地址,绘制出系统拓扑,既不是人工绘制,也没有基于任何协议,避免了SNMP协议的限制,更适合应用。
现有的通信系统中,存在着大量的交换机,以实现数据的交换。并且,随着网络规模的不断扩大,现有通信系统的任务越来越重。
为了避免加重现有通信系统的负担,在本发明具体实施例中,所述获取系统内的网络流量数据包括:
选择系统内的各核心交换机;
复制所述系统内的各核心交换机处的网络流量镜像数据。
其中,所述系统内的各核心交换机包括web前端、应用服务器层、接口层以及数据库层的交换机,以保证获取的网络流量数据的全面性。同时,获取数据的方式是复制所述系统内的各核心交换机处的网络流量镜像数据,故不会给实际系统和网络带来任何负担。
具体的,在实际应用中,可以选择网厅、实体厅等各渠道的核心网络交换机,并在核心网络交换机处设定PortMirror(网络端口流量镜像),将监测到的网络流量数据复制一份到另外一个服务器物理端口,无须在业务应用服务器上进行操作,避免因为绘制系统拓扑对系统造成影响。
在本发明具体实施例中,所述网络流量数据包括多个数据包,每一个数据包的结构非常复杂,而要获得的仅是所述网络流量数据中每一个数据包的源IP地址和目标IP地址,故所述对获得的所述网络流量数据中的每一个数据包进行解析包括:
获取所述网络流量数据中的每一个数据包的物理层、网络链路层及网络层信息;
对所述物理层、网络链路层及网络层信息进行处理。
其中,所述对物理层、网络链路层及网络层信息进行处理主要是为了获得数据包头部位置、获得TCP首部的位置、确定报文类型、将网络字节序号转换成主机字节序号以及获得打印IP地址和TCP端口等,并依据这些处理结果获得数据包的源IP地址和目标IP地址。
在本发明具体实施例中,所述统计所述网络流量数据中每一个数据包的源IP地址和目标IP地址,生成统计信息包括:
获取所述网络流量数据中每一个数据包的源IP地址和目标IP地址;
分析所述源IP地址和目标IP地址的对应关系是否在统计信息中出现过,如果没有出现过,在所述统计信息中新增一条有关所述源IP地址和目标IP地址的对应关系的记录,并将记录次数标记为1;如果出现过,在所述统计信息中将有关所述源IP地址和目标IP地址的对应关系的记录次数增加1。
在所述统计信息中,数据包的实际IP地址(包括源IP地址和目标IP地址)被一个简单的字符代替,例如B代替实际IP地址10.208.230.251,用于简化统计信息,但本发明不对其进行限制。而所述统计信息的作用主要是将源IP地址和目标IP地址的对应关系及出现次数体现出。
例如,所述统计信息可参见下表1:
源IP地址 |
目标IP地址 |
记录次数 |
B |
C |
1 |
C |
B |
23 |
E |
D |
10 |
… |
… |
… |
这样,从所述统计信息中,不仅可以看出所述网络流量数据中每一个数据包的源IP地址和目标IP地址的对应关系具体是什么,还可以看出所述对应关系出现的次数,得到网络流向信息,以判断网络流量压力点。
在得到所述统计信息后,就可以依据所述统计信息,绘制系统拓扑。
在本发明具体实施例中,所述依据所述统计信息,绘制系统拓扑包括:
整理所述统计信息成矩阵形式;
依据所述矩阵中的信息,生成系统拓扑。
其中,所述矩阵形式可参见下表2:
在所述矩阵中,第一行用于代表源IP地址,第一列用于代表目标IP地址,而中间的数据表示记录次数,这样可以很好的整理所述统计信息。在将所述统计信息整理成矩阵形式后,就依据所述矩阵中的信息,生成系统拓扑。
具体的,例如将所述矩阵中的信息导入编写好的绘制程序,借由所述绘制程序绘制系统拓扑,而绘制好的系统拓扑可参见图4所述,从中不仅可以看出源IP地址和目标IP地址之间的通信,还可以看出所述系统拓扑的核心节点,以及网络流量压力点,非常实用。
再参阅图2所示,与图1的系统拓扑的绘制方法相对应,表示一种系统拓扑的绘制装置,包括:
第一获取模块,用于获取系统内的网络流量数据;
解析模块,用于对获得的所述网络流量数据中的每一个数据包进行解析,得到所述网络流量数据中每一个数据包的源IP地址和目标IP地址;
统计模块,用于统计所述网络流量数据中每一个数据包的源IP地址和目标IP地址,生成统计信息;
绘制模块,用于依据所述统计信息,绘制系统拓扑。
本发明具体实施例的系统拓扑的绘制装置,是在解析网络流量数据的基础上,利用得到的所述网络流量数据中每一个数据包的源IP地址和目标IP地址,绘制出系统拓扑,既不是人工绘制,也没有基于任何协议,避免了SNMP协议的限制,更适合应用。
此外,为了保证获取数据的全面性和避免加重现有通信系统的负担,所述第一获取模块包括:
选择模块,用于选择系统内的各核心交换机;
复制模块,用于复制所述系统内的各核心交换机处的网络流量镜像数据。
在本发明具体实施例中,所述网络流量数据包括多个数据包,每一个数据包的结构非常复杂,而要获得的仅是所述网络流量数据中每一个数据包的源IP地址和目标IP地址,故所述解析模块包括:
第二获取模块,用于获取所述网络流量数据中的每一个数据包的物理层、网络链路层及网络层信息;
处理模块,用于对所述物理层、网络链路层及网络层信息进行处理。
其中,所述对物理层、网络链路层及网络层信息进行处理主要是为了获得数据包头部位置、获得TCP首部的位置、确定报文类型、将网络字节序号转换成主机字节序号以及获得打印IP地址和TCP端口等,并依据这些处理结果获得数据包的源IP地址和目标IP地址。
具体的,所述统计模块包括:
第三获取模块,用于获取所述网络流量数据中每一个数据包的源IP地址和目标IP地址;
分析模块,用于分析所述源IP地址和目标IP地址的对应关系是否在统计信息中出现过,如果没有出现过,在所述统计信息中新增一条有关所述源IP地址和目标IP地址的对应关系的记录,并将记录次数标记为1;如果出现过,在所述统计信息中将有关所述源IP地址和目标IP地址的对应关系的记录次数增加1。
在所述统计信息中,不仅可以看出所述网络流量数据中每一个数据包的源IP地址和目标IP地址的对应关系具体是什么,还可以看出所述对应关系出现的次数,得到网络流向信息。
在得到所述统计信息后,就可以依据所述统计信息,绘制系统拓扑。其中,所述绘制模块包括:
整理模块,用于整理所述统计信息成矩阵形式;
生成模块,用于依据所述矩阵中的信息,生成系统拓扑。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。