CN105376099A - 采集数据交换机中虚拟网络流量的方法及系统 - Google Patents
采集数据交换机中虚拟网络流量的方法及系统 Download PDFInfo
- Publication number
- CN105376099A CN105376099A CN201510874304.5A CN201510874304A CN105376099A CN 105376099 A CN105376099 A CN 105376099A CN 201510874304 A CN201510874304 A CN 201510874304A CN 105376099 A CN105376099 A CN 105376099A
- Authority
- CN
- China
- Prior art keywords
- information
- network information
- binary digit
- virtual network
- cryptographic hash
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种采集数据交换机中虚拟网络流量的方法及系统,所述方法包括:接收报文;根据报文的外层信息收集其携带的物理网络信息,以及根据外层信息计算哈希值;将收集的物理网络信息和哈希值进行链接一并写入并存储于物理网络信息流表;根据报文的内层信息收集其携带的虚拟网络信息;将收集的虚拟网络信息和哈希值进行链接一并写入并存储于虚拟网络信息流表;查找物理网络信息流表和虚拟网络信息流表;若物理网络信息流表中的哈希值与虚拟网络信息流表中的哈希值相同,则将对应哈希值的物理网络信息和虚拟网络信息进行匹配。本发明直接通过数据交换机即可以获知虚拟网络流量,无需服务器的参与,降低了部署成本和实现复杂度。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种采集数据交换机中虚拟网络流量的方法及系统。
背景技术
网络通信过程中,网络运维和设计人员为了可以方便快捷的对数据中心网络问题进行评估,扩容,故障排查等,往往需要收集数据经过交换中心时的物理网络信息和虚拟网络信息。
现有技术中,常采用下述方式收集数据经过交换中心时的物理网络信息和虚拟网络信息。该实施方式中,借助多种硬件设备收集信息,所述硬件设备主要包括:数据发送服务器、网络设备以及流量分析服务器;所述网络设备为交换机等数据交换设备;该方案具体实施方式中,所述数据发送服务器将虚拟网络信息和物理网络信息以Netflow/IPFIX协议规定的格式,发送给流量分析服务器,同时,网络设备将物理网络信息以Netflow/IPFIX协议规定的格式,发送给流量分析服务器;进一步的,流量分析服务器中的流量分析软件通过对比数据发送服务器传递的物理网络信息和网络设备传递的物理网络信息进行匹配,进一步的,将虚拟网络信息匹配物理网络信息,进而数据中心网络管理员和运维人员通过相互匹配的物理网络信息和虚拟网络信息,获取数据在网络设备中的实际转发路径,以此做网络分析和故障排查。
然而,现有技术中获取虚拟网络信息的方法,需要多种类型设备参与,其中包括数据发送服务器、网络设备、流量分析服务器以及软件;另外,采用流量分析软件对比服务器和网络设备发送过来的物理流量信息过程中,涉及内容较多,特别是数据中心网络规模扩大后,流量分析服务器的负载更高,如此,获取虚拟网络信息的成本较高,部署复杂度也较高。
发明内容
本发明的目的在于提供一种采集数据交换机中虚拟网络流量的方法及系统。
为实现上述目的之一,本发明一实施方式提供一种采集数据交换机中虚拟网络流量的方法,在所述数据交换机中增加两级流表,所述两级流表其中之一为物理网络信息流表,其中另一为虚拟网络信息流表;
所述方法具体包括:
接收报文,所述报文包括外层信息和内层信息;
根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;
将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络信息流表;
根据所述报文的内层信息收集其携带的虚拟网络信息;
将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络信息流表;
查找所述物理网络信息流表和所述虚拟网络信息流表;
若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
作为本实施方式的进一步改进,“根据所述外层信息计算哈希值”具体包括:
P1、将外层信息中的每个信息的值进行累加,得到初步运算值;所述报文的外层信息包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID;
P2、将所述初步运算值转换为二进制数字1;
P3、判断所述二进制数字1的比特位是否为32bit;
若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2;
若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2;
若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2;
P4、对所述二进制数字2采用异或运算得到所述哈希值。
作为本实施方式的进一步改进,所述步骤P3中,“若二进制数字的比特位低于32bit,则将其补足32bit”具体包括:
对二进制数字1的最前端以数字0补位,将其补足32bit。
作为本实施方式的进一步改进,所述步骤P4具体包括:
将所述二进制数字2的高16位和低16位进行分离;
对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
其中,hashValue=(value32>>16)xor(value32&0xFFFF);
hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
作为本实施方式的进一步改进,所述哈希值的取值范围为0~65536。为实现上述发明目的之一,本发明一实施方式提供一种采集数据交换机中虚拟网络流量的系统,所述系统包括:
数据存储模块,包括设置于所述数据交换机中的两级流表,所述两级流表其中之一为物理网络信息流表,其中另一为虚拟网络信息流表;
数据接收模块,用于接收报文,所述报文包括外层信息和内层信息;
数据处理模块,根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;
将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络信息流表;
根据所述报文的内层信息收集其携带的虚拟网络信息;
将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络信息流表;
通过查找所述物理网络信息流表和所述虚拟网络信息流表;
若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
作为本实施方式的进一步改进,所述数据处理模块具体用于:
将外层信息中的每个信息的值进行累加,得到初步运算值;所述报文的外层信息包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID;
将所述初步运算值转换为二进制数字1;
判断所述二进制数字1的比特位是否为32bit;
若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2;
若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2;
若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2;
对所述二进制数字2采用异或运算得到所述哈希值。
作为本实施方式的进一步改进,所述数据处理模块具体用于:对二进制数字1的最前端以数字0补位,将其补足32bit。
作为本实施方式的进一步改进,所述数据处理模块具体用于:将所述二进制数字2的高16位和低16位进行分离;
对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
其中,hashValue=(value32>>16)xor(value32&0xFFFF);
hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
作为本实施方式的进一步改进,所述哈希值的取值范围为0~65536。
与现有技术相比,本发明的有益效果是:本发明的采集数据交换机中虚拟网络流量的方法及系统,直接通过数据交换机即可以获知虚拟网络流量,无需服务器的参与,同时,在硬件层面完成对物理网络信息和虚拟网络信息的采集,不受网络规模的影响即可以达到线速转发的性能,避免性能瓶颈;进一步的,降低了部署成本和实现复杂度。
附图说明
图1是本发明一实施方式中采集数据交换机中虚拟网络流量方法的流程图;
图2是本发明一实施方式根据所述外层信息计算哈希值的流程图;
图3是本发明一实施方式中采集数据交换机中虚拟网络流量系统的模块示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示,本发明一实施方式中提供一种采集数据交换机中虚拟网络流量的方法,所述方法包括:在所述数据交换机中增加两级流表,其中之一为物理网络信息流表,其中另一为虚拟网络信息流表。
所述方法具体包括:
S1、接收报文,所述报文包括外层信息和内层信息;
所述报文的外层信息包括:以太网信息、网络层信息、传输层信息以及附加信息;
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;
所述报文的外层信息还包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID;其中,MacSA表示源设备硬件地址;MacDa表示目的设备硬件地址;IpSa表示源设备网际协议地址;IpDa表示目的设备网际协议地址;L4Type表示网际协议类型;L4SrcPort表示源设备网际协议端口号;L4DestPort表示目的设备网际协议端口号;VxLANID表示虚拟可扩展以太网标识;NvGREID表示通用路由封装虚拟化网络标识。
所述报文的内层信息包括:以太网信息、网络层信息、传输层信息、附加信息以及虚拟网络ID。
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;
所述报文的内层信息还包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort。
进一步的,所述方法还包括:
S2、根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络信息流表;
本实施方式中,通过读取所述报文的外层信息可以直接获取其携带的物理网络信息,所述物理网络信息包括:以太网信息、网络层信息、传输层信息以及附加信息;
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;
结合图2所示,本发明一实施方式中根据所述外层信息计算哈希值具体包括:
P1、将外层信息中的每个信息的值进行累加,得到初步运算值。
本发明具体示例中,将MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID的值进行累加,得到初步运算值,由于上述报文的外层信息全部为整数,故,所述初步运算值同样为整数。
进一步的,根据所述外层信息计算哈希值还包括:
P2、将所述初步运算值转换为二进制数字1;
本发明具体示例中,将为整数的所述初步运算值转换为二进制数据进行表示,将所述初步运算值转换后,为了方便描述,将转换为二进制数据表示的初步运算值以二进制数字1表示。
进一步的,根据所述外层信息计算哈希值还包括:
P3、判断所述二进制数字1的比特位是否为32bit;
若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2;
若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2;
若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2。
通常情况下,二进制数字1的比特位并不一定为32bit,本实施方式中,需要对二进制数字1的比特位数进行取舍,以保证二进制数字1中仅有32bit的数据参加下一步运算。
本发明一具体示例中,若二进制数字的比特位低于32bit,则对二进制数字1的最前端以数字0补位,直至将其补足32bit,以供调用。
进一步的,根据所述外层信息计算哈希值还包括:
P4、对所述二进制数字2采用异或运算得到所述哈希值。
本发明具体示例中,所述步骤P4具体包括:
将所述二进制数字2的高16位和低16位进行分离;
对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
其中,hashValue=(value32>>16)xor(value32&0xFFFF);
hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
在本发明的优选实施方式中,经过上述步骤后,所述哈希值的取值范围介于0~0~65536,如此,以保证芯片的处理速度,在此不做详细赘述。
为了方便理解,以下内容中描述一具体实例进行说明。
本发明具体示例中,
MacSA:00:1e:08:09:67:6d;
MacDa:bc:30:5b:a9:f0:3f;
IpSa:10.10.27.209;
IpDa:10.10.14.208;
L4Type:6;
L4SrcPort:4266;
L4DestPort:80;
VxLANID:1000;
将上述外层信息中的每个信息的值进行累加后,得出的初步运算值为:
totalValue=MacSA+MacDa+IpSa+IpDa+L4Type+L4SrcPort+L4DestPort+VxLANID=207045203040053;
进一步的,将所述初步运算值转换为二进制数字1得出:
二进制数字1=101111000100111001110111110001111001011100110101;
进一步的,本示例的二进制数字1高于32bit,故,取其低位的32bit进行保留,记录为二进制数字2;
所述二进制数字2为:
value32=totalValue&0xFFFFFFFF=1110111110001111001011100110101
=2009569077;
进一步的,对所述二进制数字2采用异或运算得到所述哈希值;
hashValue=(value32>>16)xor(value32&0xFFFF)
=(2009569077>>16)xor(2009569077&0xFFFF)
=30663xor38709
=57594
如此,本发明具体示例中,最终得到的哈希值为57594,其介于0~65536之间。
进一步的,本发明一实施方式中,采集数据交换机中虚拟网络流量的方法还包括:
S3、根据所述报文的内层信息收集其携带的虚拟网络信息;
将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络信息流表;
本实施方式中,通过读取所述报文的内层信息可以直接获取其携带的虚拟网络信息,所述虚拟网络信息包括:虚拟网络ID、以太网信息、网络层信息、传输层信息以及附加信息;
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口。
本发明具体示例中,将获取的哈希值分别写入所述物理网络信息流表和虚拟网络流表,同时,将所述哈希值分别匹配相应的物理网络信息和虚拟网络信息,以便于后续调用数据时,通过所述哈希值将所述物理网络信息和所述虚拟网络信息进行匹配。
进一步的,本发明一实施方式中,采集数据交换机中虚拟网络流量的方法还包括:
S4、查找所述物理网络信息流表和所述虚拟网络信息流表;
若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
进一步的,相互匹配的物理网络信息和虚拟网络信息构成网络运营的基础数据,并可根据需要随时调用,如此,当网络管理人员或运维人员需要查看该匹配数据,以用于解决网络规划、性能分析、问题定位解析等方面的问题时,便可随时调用该匹配数据进行解析,在此不做详细赘述。
在本发明的其它实施方式中,还可以在交换机中另外增加一通用处理器CPU,在上述方法实现过程中,将报文的外层信息和内层信息全部拷贝至所述通用处理器CPU中,由所述通用处理器CPU通过上述步骤S1-S4对所述报文携带的物理网络信息、虚拟网络信息进行解析,同时通过哈希值将其进行匹配链接,以提供所需数据,在此不做详细赘述。
结合图3所示,本发明一实施方式中,采集数据交换机中虚拟网络流量的系统,所述系统包括:数据存储模块100、数据接收模块200、数据处理模块300。
数据存储模块100包括设置于所述数据交换机中的两级流表,所述两级流表其中之一为物理网络信息流表101,其中另一为虚拟网络信息流表101。
数据接收模块200用于接收报文,所述报文包括外层信息和内层信息。
所述报文的外层信息包括:以太网信息、网络层信息、传输层信息以及附加信息;
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;
所述报文的外层信息还包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID。
所述报文的内层信息包括:以太网信息、网络层信息、传输层信息、附加信息以及虚拟网络ID。
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;
所述报文的内层信息还包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort。
本发明一实施方式中,数据处理模块300用于根据所述报文的外层信息收集其携带的物理网络信息;以及根据所述外层信息计算哈希值;将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于物理网络信息流表101;
本实施方式中,数据处理模块300通过读取所述报文的外层信息可以直接获取其携带的物理网络信息,所述物理网络信息包括:以太网信息、网络层信息、传输层信息以及附加信息;
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;
数据处理模块300具体用于:将外层信息中的每个信息的值进行累加,得到初步运算值。
本发明具体示例中,数据处理模块300具体用于将MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID的值进行累加,得到初步运算值,由于上述报文的外层信息全部为整数,故,所述初步运算值同样为整数。
进一步的,数据处理模块300还用于:将所述初步运算值转换为二进制数字1;
本发明具体示例中,数据处理模块300将为整数的所述初步运算值转换为二进制数据进行表示,将所述初步运算值转换后,为了方便描述,将转换为二进制数据表示的初步运算值以二进制数字1表示。
数据处理模块300还用于:判断所述二进制数字1的比特位是否为32bit;
若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2;
若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2;
若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2。
通常情况下,二进制数字1的比特位并不一定为32bit,本实施方式中,需要对二进制数字1的比特位数进行取舍,以保证二进制数字1中仅有32bit的数据参加下一步运算。
本发明一具体示例中,若二进制数字的比特位低于32bit,数据处理模块300则对二进制数字1的最前端以数字0补位,直至将其补足32bit,以供调用。
进一步的,数据处理模块300还用于:对所述二进制数字2采用异或运算得到所述哈希值。
本发明具体示例中,数据处理模块300还用于:将所述二进制数字2的高16位和低16位进行分离;对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;其中,hashValue=(value32>>16)xor(value32&0xFFFF);
hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
在本发明的优选实施方式中,所述哈希值的取值范围介于0~65536,如此,以保证芯片的处理速度,在此不做详细赘述。
进一步的,本发明一实施方式中,数据处理模块300还用于:根据所述报文的内层信息收集其携带的虚拟网络信息;将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于虚拟网络信息流表101;
本实施方式中,数据处理模块300通过读取所述报文的内层信息可以直接获取其携带的虚拟网络信息,所述虚拟网络信息包括:虚拟网络ID、以太网信息、网络层信息、传输层信息以及附加信息;
所述以太网信息包括:目的MAC、源MAC、VLANID;
所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;
所述传输层信息包括:源端口,目的端口;
所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口。
本发明具体示例中,数据处理模块300将获取的哈希值分别写入物理网络信息流表101和虚拟网络流表,同时,将所述哈希值分别匹配相应的物理网络信息和虚拟网络信息,以便于后续调用数据时,通过所述哈希值将所述物理网络信息和所述虚拟网络信息进行匹配。
进一步的,本发明一实施方式中,数据处理模块300还用于查找物理网络信息流表101和虚拟网络信息流表101;
若物理网络信息流表101中的哈希值与虚拟网络信息流表101中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
进一步的,相互匹配的物理网络信息和虚拟网络信息构成网络运营的基础数据,并可根据需要随时调用,如此,当网络管理人员或运维人员需要查看该匹配数据,以用于解决网络规划、性能分析、问题定位解析等方面的问题时,便可随时调用该匹配数据进行解析,在此不做详细赘述。
在本发明的其它实施方式中,数据处理模块300通用处理器CPU(未标识)报文传递过程中,将报文的外层信息和内层信息全部拷贝至所述通用处理器CPU中,由所述通用处理器CPU对所述报文携带的物理网络信息、虚拟网络信息进行解析,同时通过哈希值将其进行匹配链接,以提供所需数据,在此不做详细赘述。
综上所述,本发明的采集数据交换机中虚拟网络流量的方法及系统,直接通过数据交换机即可以获知虚拟网络流量,无需服务器的参与,同时,在硬件层面完成对物理网络信息和虚拟网络信息的采集,不受网络规模的影响即可以达到线速转发的性能,避免性能瓶颈;进一步的,降低了部署成本和实现复杂度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统中模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
以上所描述的系统实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件是逻辑模块,即可以位于芯片逻辑中的一个模块中,或者也可以分布到芯片内的多个数据处理模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的通信芯片中。例如:交换芯片、路由器芯片,服务器芯片等等。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种采集数据交换机中虚拟网络流量的方法,其特征在于,
在所述数据交换机中增加两级流表,所述两级流表其中之一为物理网络信息流表,其中另一为虚拟网络信息流表;
所述方法具体包括:
接收报文,所述报文包括外层信息和内层信息;
根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;
将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络信息流表;
根据所述报文的内层信息收集其携带的虚拟网络信息;
将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络信息流表;
查找所述物理网络信息流表和所述虚拟网络信息流表;
若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
2.根据权利要求1所述的采集数据交换机中虚拟网络流量的方法,其特征在于,“根据所述外层信息计算哈希值”具体包括:
P1、将外层信息中的每个信息的值进行累加,得到初步运算值;所述报文的外层信息包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID;
P2、将所述初步运算值转换为二进制数字1;
P3、判断所述二进制数字1的比特位是否为32bit;
若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2;
若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2;
若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2;
P4、对所述二进制数字2采用异或运算得到所述哈希值。
3.根据权利要求2所述的采集数据交换机中虚拟网络流量的方法,其特征在于,所述步骤P3中,“若二进制数字的比特位低于32bit,则将其补足32bit”具体包括:
对二进制数字1的最前端以数字0补位,将其补足32bit。
4.根据权利要求2所述的采集数据交换机中虚拟网络流量的方法,其特征在于,所述步骤P4具体包括:
将所述二进制数字2的高16位和低16位进行分离;
对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
其中,hashValue=(value32>>16)xor(value32&0xFFFF);
hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
5.根据权利要求4所述的采集数据交换机中虚拟网络流量的方法,其特征在于,
所述哈希值的取值范围为0~65536。
6.一种采集数据交换机中虚拟网络流量的系统,其特征在于,所述系统包括:
数据存储模块,包括设置于所述数据交换机中的两级流表,所述两级流表其中之一为物理网络信息流表,其中另一为虚拟网络信息流表;
数据接收模块,用于接收报文,所述报文包括外层信息和内层信息;
数据处理模块,根据所述报文的外层信息收集其携带的物理网络信息,以及根据所述外层信息计算哈希值;
将收集的所述物理网络信息和所述哈希值进行链接一并写入并存储于所述物理网络信息流表;
根据所述报文的内层信息收集其携带的虚拟网络信息;
将收集的所述虚拟网络信息和所述哈希值进行链接一并写入并存储于所述虚拟网络信息流表;
通过查找所述物理网络信息流表和所述虚拟网络信息流表;
若所述物理网络信息流表中的哈希值与所述虚拟网络信息流表中的哈希值相同,则将对应所述哈希值的物理网络信息和虚拟网络信息进行匹配。
7.根据权利要求6所述的采集数据交换机中虚拟网络流量的系统,其特征在于,所述数据处理模块具体用于:
将外层信息中的每个信息的值进行累加,得到初步运算值;所述报文的外层信息包括:MacSA、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort、VxLANID/NvGREID;
将所述初步运算值转换为二进制数字1;
判断所述二进制数字1的比特位是否为32bit;
若二进制数字1的比特位为32bit,则直接将32bit的二进制数字1记录为二进制数字2;
若二进制数字1的比特位高于32bit,则取其低位的32bit进行保留,记录为二进制数字2;
若二进制数字1的比特位低于32bit,则对其补足32bit,记录为二进制数字2;
对所述二进制数字2采用异或运算得到所述哈希值。
8.根据权利要求7所述的采集数据交换机中虚拟网络流量的系统,其特征在于,所述数据处理模块具体用于:对二进制数字1的最前端以数字0补位,将其补足32bit。
9.根据权利要求7所述的采集数据交换机中虚拟网络流量的系统,其特征在于,
所述数据处理模块具体用于:将所述二进制数字2的高16位和低16位进行分离;
对所述二进制数字2的高16位和低16位进行异或运算得到所述哈希值;
其中,hashValue=(value32>>16)xor(value32&0xFFFF);
hashValue表示哈希值,(value32>>16)表示二进制数字2的高16位,(value32&0xFFFF)表示二进制数字2的低16位,xor为异或运算符。
10.根据权利要求9所述的采集数据交换机中虚拟网络流量的系统,其特征在于,
所述哈希值的取值范围为0~65536。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510874304.5A CN105376099B (zh) | 2015-12-02 | 2015-12-02 | 采集数据交换机中虚拟网络流量的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510874304.5A CN105376099B (zh) | 2015-12-02 | 2015-12-02 | 采集数据交换机中虚拟网络流量的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105376099A true CN105376099A (zh) | 2016-03-02 |
CN105376099B CN105376099B (zh) | 2019-01-01 |
Family
ID=55377926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510874304.5A Active CN105376099B (zh) | 2015-12-02 | 2015-12-02 | 采集数据交换机中虚拟网络流量的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105376099B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360096A (zh) * | 2017-08-14 | 2017-11-17 | 北京优帆科技有限公司 | 一种vxlan报文的转发方法及系统 |
CN112333297A (zh) * | 2017-02-15 | 2021-02-05 | 金钱猫科技股份有限公司 | 一种批量获取终端属性的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008138247A1 (fr) * | 2007-05-09 | 2008-11-20 | Huawei Technologies Co., Ltd. | Procédé et dispositif d'émulation d'un trafic de réseau, procédé et dispositif de test d'un trafic de réseau |
CN103607348A (zh) * | 2013-11-27 | 2014-02-26 | 北京邮电大学 | 一种基于OpenFlow协议的虚拟网络流量分类方法 |
CN104410541A (zh) * | 2014-11-18 | 2015-03-11 | 盛科网络(苏州)有限公司 | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 |
CN104852861A (zh) * | 2015-04-13 | 2015-08-19 | 杭州华三通信技术有限公司 | 一种流信息的传输方法和设备 |
-
2015
- 2015-12-02 CN CN201510874304.5A patent/CN105376099B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008138247A1 (fr) * | 2007-05-09 | 2008-11-20 | Huawei Technologies Co., Ltd. | Procédé et dispositif d'émulation d'un trafic de réseau, procédé et dispositif de test d'un trafic de réseau |
CN103607348A (zh) * | 2013-11-27 | 2014-02-26 | 北京邮电大学 | 一种基于OpenFlow协议的虚拟网络流量分类方法 |
CN104410541A (zh) * | 2014-11-18 | 2015-03-11 | 盛科网络(苏州)有限公司 | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 |
CN104852861A (zh) * | 2015-04-13 | 2015-08-19 | 杭州华三通信技术有限公司 | 一种流信息的传输方法和设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333297A (zh) * | 2017-02-15 | 2021-02-05 | 金钱猫科技股份有限公司 | 一种批量获取终端属性的方法及系统 |
CN112333297B (zh) * | 2017-02-15 | 2023-03-24 | 金钱猫科技股份有限公司 | 一种批量获取终端属性的方法及系统 |
CN107360096A (zh) * | 2017-08-14 | 2017-11-17 | 北京优帆科技有限公司 | 一种vxlan报文的转发方法及系统 |
CN107360096B (zh) * | 2017-08-14 | 2020-08-25 | 北京青云科技股份有限公司 | 一种vxlan报文的转发方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105376099B (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN102075438B (zh) | 单播数据帧传输方法及装置 | |
CN104410541A (zh) | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 | |
CN105554065A (zh) | 处理报文的方法、转换单元和应用单元 | |
CN101355505B (zh) | 一种报文的转发方法、装置和系统 | |
CN101247308A (zh) | 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法 | |
EP2815546A1 (en) | Construct Large-scale DVPN | |
US20130266014A1 (en) | Hashing of network packet flows for efficient searching | |
IN2011CN06800A (zh) | ||
CN102656850A (zh) | 用于处理多个数据的方法和用于交换通信分组的交换设备 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
CN102469045B (zh) | 一种提升web安全网关并发性能的方法 | |
CN109302354A (zh) | 一种udp封装gre报文的芯片实现方法及装置 | |
CN107948087A (zh) | 一种负载均衡的方法及设备 | |
CN106850547A (zh) | 一种基于http协议的数据还原方法及系统 | |
CN102761483A (zh) | 一种不占用ip地址的隧道实现方法、系统及设备 | |
CN102546364B (zh) | 网络数据分流方法及其装置 | |
CN104579973A (zh) | 一种虚拟集群中的报文转发方法和装置 | |
CN102201996B (zh) | 网络地址转换环境中报文转发的方法及设备 | |
CN105376099A (zh) | 采集数据交换机中虚拟网络流量的方法及系统 | |
CN103442096B (zh) | 基于移动互联网的nat转换方法及系统 | |
CN102299862A (zh) | 二层隧道快速转发设备和方法 | |
CN103780469B (zh) | 多核平台上IPv6隧道的实现方法以及报文转发方法 | |
JP5889218B2 (ja) | データ転送装置及びデータ転送方法 | |
CN107249038A (zh) | 业务数据转发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP03 | Change of name, title or address |