采集数据交换机中虚拟网络流量的方法及系统的制作方法

文档序号:9618573阅读:518来源:国知局
采集数据交换机中虚拟网络流量的方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络通信领域,尤其涉及一种采集数据交换机中虚拟网络流量的方法及系统。
【背景技术】
[0002]网络通信过程中,网络运维和设计人员为了可以方便快捷的对数据中心网络问题进行评估,扩容,故障排查等,往往需要收集数据经过交换中心时的物理网络信息和虚拟网络信息。
[0003]现有技术中,常采用下述方式收集数据经过交换中心时的物理网络信息和虚拟网络信息。该实施方式中,借助多种硬件设备收集信息,所述硬件设备主要包括:数据发送服务器、网络设备以及流量分析服务器;所述网络设备为交换机等数据交换设备;该方案【具体实施方式】中,所述数据发送服务器将虚拟网络信息和物理网络信息以Netflow/IPFIX协议规定的格式,发送给流量分析服务器,同时,网络设备将物理网络信息以Netflow/IPFIX协议规定的格式,发送给流量分析服务器;进一步的,流量分析服务器中的流量分析软件通过对比数据发送服务器传递的物理网络信息和网络设备传递的物理网络信息进行匹配,进一步的,将虚拟网络信息匹配物理网络信息,进而数据中心网络管理员和运维人员通过相互匹配的物理网络信息和虚拟网络信息,获取数据在网络设备中的实际转发路径,以此做网络分析和故障排查。
[0004]然而,现有技术中获取虚拟网络信息的方法,需要多种类型设备参与,其中包括数据发送服务器、网络设备、流量分析服务器以及软件;另外,采用流量分析软件对比服务器和网络设备发送过来的物理流量信息过程中,涉及内容较多,特别是数据中心网络规模扩大后,流量分析服务器的负载更高,如此,获取虚拟网络信息的成本较高,部署复杂度也较尚ο

【发明内容】

[0005]本发明的目的在于提供一种采集数据交换机中虚拟网络流量的方法及系统。
[0006]为实现上述目的之一,本发明一实施方式提供一种采集数据交换机中虚拟网络流量的方法,在所述数据交换机中增加两级流表,所述两级流表其中之一为物理网络信息流表,其中另一为虚拟网络?目息流表;
[0007]所述方法具体包括:
[0008]接收报文,所述报文包括外层信息和内层信息;
[0009]根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;
[0010]将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络?目息流表;
[0011]根据所述报文的内层信息收集其携带的虚拟网络信息;
[0012]将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络?目息流表;
[0013]查找所述物理网络信息流表和所述虚拟网络信息流表;
[0014]若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
[0015]作为本实施方式的进一步改进,“根据所述外层信息计算哈希值”具体包括:
[0016]Ρ1、将外层信息中的每个信息的值进行累加,得到初步运算值;所述报文的外层信息包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLAN ID/NvGRE ID ;
[0017]P2、将所述初步运算值转换为二进制数字1 ;
[0018]P3、判断所述二进制数字1的比特位是否为32bit ;
[0019]若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2 ;
[0020]若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2 ;
[0021]若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2 ;
[0022]P4、对所述二进制数字2采用异或运算得到所述哈希值。
[0023]作为本实施方式的进一步改进,所述步骤P3中,“若二进制数字的比特位低于32bit,则将其补足32bit”具体包括:
[0024]对二进制数字1的最前端以数字0补位,将其补足32bit。
[0025]作为本实施方式的进一步改进,所述步骤P4具体包括:
[0026]将所述二进制数字2的高16位和低16位进行分离;
[0027]对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
[0028]其中,hashValue= (value32>>16)xor (value32&0xFFFF);
[0029]hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
[0030]作为本实施方式的进一步改进,所述哈希值的取值范围为0?65536。为实现上述发明目的之一,本发明一实施方式提供一种采集数据交换机中虚拟网络流量的系统,所述系统包括:
[0031]数据存储模块,包括设置于所述数据交换机中的两级流表,所述两级流表其中之一为物理网络信息流表,其中另一为虚拟网络信息流表;
[0032]数据接收模块,用于接收报文,所述报文包括外层信息和内层信息;
[0033]数据处理模块,根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;
[0034]将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络?目息流表;
[0035]根据所述报文的内层信息收集其携带的虚拟网络信息;
[0036]将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络?目息流表;
[0037]通过查找所述物理网络信息流表和所述虚拟网络信息流表;
[0038]若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
[0039]作为本实施方式的进一步改进,所述数据处理模块具体用于:
[0040]将外层信息中的每个信息的值进行累加,得到初步运算值;所述报文的外层信息包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLAN ID/NvGRE ID ;
[0041]将所述初步运算值转换为二进制数字1 ;
[0042]判断所述二进制数字1的比特位是否为32bit ;
[0043]若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2 ;
[0044]若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2 ;
[0045]若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2 ;
[0046]对所述二进制数字2采用异或运算得到所述哈希值。
[0047]作为本实施方式的进一步改进,所述数据处理模块具体用于:对二进制数字1的最前端以数字0补位,将其补足32bit。
[0048]作为本实施方式的进一步改进,所述数据处理模块具体用于:将所述二进制数字2的高16位和低16位进行分离;
[0049]对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
[0050]其中,hashValue= (value32>>16)xor (value32&0xFFFF);
[0051]hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
[0052]作为本实施方式的进一步改进,所述哈希值的取值范围为0?65536。
[0053]与现有技术相比,本发明的有益效果是:本发明的采集数据交换机中虚拟网络流量的方法及系统,直接通过数据交换机即可以获知虚拟网络流量,无需服务器的参与,同时,在硬件层面完成对物理网络信息和虚拟网络信息的采集,不受网络规模的影响即可以达到线速转发的性能,避免性能瓶颈;进一步的,降低了部署成本和实现复杂度。
【附图说明】
[0054]图1是本发明一实施方式中采集数据交换机中虚拟网络流量方法的流程图;
[0055]图2是本发明一实施方式根据所述外层信息计算哈希值的流程图;
[0056]图3是本发明一实施方式中采集数据交换机中虚拟网络流量系统的模块示意图。
【具体实施方式】
[0057]以下将结合附图所示的【具体实施方式】对本发明进行详细描述。但这些实施方式并不限制本
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1