CN111654556B - Snat设备翻译前后的流量对应关系匹配方法及装置 - Google Patents

Snat设备翻译前后的流量对应关系匹配方法及装置 Download PDF

Info

Publication number
CN111654556B
CN111654556B CN202010388092.0A CN202010388092A CN111654556B CN 111654556 B CN111654556 B CN 111654556B CN 202010388092 A CN202010388092 A CN 202010388092A CN 111654556 B CN111654556 B CN 111654556B
Authority
CN
China
Prior art keywords
flow
matched
traffic
information
snat
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.)
Active
Application number
CN202010388092.0A
Other languages
English (en)
Other versions
CN111654556A (zh
Inventor
向阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Yunshan Century Networks Technology Co ltd
Original Assignee
Suzhou Yunshan Century Networks Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Yunshan Century Networks Technology Co ltd filed Critical Suzhou Yunshan Century Networks Technology Co ltd
Priority to CN202010388092.0A priority Critical patent/CN111654556B/zh
Publication of CN111654556A publication Critical patent/CN111654556A/zh
Application granted granted Critical
Publication of CN111654556B publication Critical patent/CN111654556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种SNAT设备翻译前后的流量对应关系匹配方法及装置。所述方法包括获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系,本发明实施例通过在预设的流量列表中记录与各五元组一一对应的流量,再根据五元组和指纹信息,将指纹信息的相似度最高的待匹配的流量和预匹配的流量进行关联,从而能够更加简单、快速得确定所述SNAT设备翻译前后的各流量的对应关系。

Description

SNAT设备翻译前后的流量对应关系匹配方法及装置
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种SNAT设备翻译前后的流量对应关系匹配方法及装置。
背景技术
在计算机网络性能监控(Network Performance Monitoring,NPM)领域,网络地址翻译(Network Address Translation,NAT)技术是IPv4(Internet Protocol version 4)场景下为了解决IP地址不足和内网安全防护的常见手段。通常分为网络源地址翻译(Source NAT,SNAT)和网络目的地址翻译(Destination NAT,DNAT)。在SNAT场景下一个内网IP地址访问Internet上的IP地址的网包,在NAT设备上会将其源地址转换为NAT设备自身的公网地址。在DNAT场景下一个Internet上的IP地址访问NAT设备上的公网地址的网包,在NAT设备上会将其目的地址转换为内网中的某个IP地址。在SNAT场景下,多个内网IP地址可能转换为一个或多个NAT设备上的公网IP地址。在DNAT场景下一个或多个NAT设备上的公网IP地址可能转换为多个内网IP地址。由于存在IP地址的转换,NPM设备通常要解决的一个问题是如何知道抓取到的SNAT后流量对应哪个内网IP、抓取到的DNAT前流量对应哪个内网IP。
对于DNAT场景,由于Internet上的一个源IP、源Port的请求在经过NAT设备翻译目的IP、目的Port以后,源IP、源Port不会改变,因此通过过滤拥有同样源IP、源Port的NAT设备下行流量即可确定翻译后的目的IP和目的Port,可以直接实现准确的前后流量关联关系计算。但是在SNAT场景下,Internet上的某个公网IP地址可能同时有多个内网IP在对它进行访问,由于SNAT设备会改变源IP和源Port,无法从流量五元组层面精准确定SNAT设备前后流量的对应关系。通常NPM使用获取NAT设备的地址转换表的方法确定流量对应关系,例如获取Linux Netfilter实现的NAT设备的Connection tracking表。
现有的方法依赖于对NAT设备转换表的获取,在高速网络场景下Connectiontracking表的大小可能高达几百万条,频繁获取表内容会对NAT设备的性能造成显著的影响。
发明内容
由于现有方法存在上述问题,本发明实施例提供一种SNAT设备翻译前后的流量对应关系匹配方法及装置。
第一方面,本发明实施例提供了一种SNAT设备翻译前后的流量对应关系匹配方法,包括:
获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;
根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;
根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
进一步地,所述流量信息还包括初始时刻,相应地,所述SNAT设备翻译前后的流量对应关系匹配方法,还包括:
若接收到新的数据包,且所述流量列表中不存在与所述新的数据包的五元组对应的流量,则在所述流量列表中创建与所述新的数据包的五元组对应的新的流量,并将获取所述新的数据包的时刻作为所述新的流量的流量信息的初始时刻。
进一步地,所述流量的指纹信息为二进制数列,其中,所述二进制数列中各比特位与所述预设的时间区间内的各时刻一一对应;
相应地,所述SNAT设备翻译前后的流量对应关系匹配方法,还包括:
若在所述预设的时间区间内获取到包含所述流量的五元组的数据包,则根据当前时刻与所述流量的初始时刻的差值,确定在所述指纹信息中与所述当前时刻对应的比特位并置于1。
进一步地,所述待匹配的流量与各预匹配的流量间的指纹信息的相似度具体为:所述待匹配的流量的指纹信息与各预匹配的流量的指纹信息的协方差运算结果。
进一步地,所述获取流量列表中待匹配的流量的流量信息,具体包括:
若所述流量的存活时间超过了预设的存活时间阈值,且所述流量不存在关联的流量,则将所述流量作为所述待匹配的流量,并获取所述待匹配的流量的流量信息。
进一步地,若所述待匹配的流量为所述SNAT设备翻译前的流量,则所述预匹配的流量为所述SNAT设备翻译后的流量;相应地,若所述待匹配的流量为所述SNAT设备翻译后的流量,则所述预匹配的流量为所述SNAT设备翻译前的流量。
第二方面,本发明实施例提供了一种SNAT设备翻译前后的流量对应关系匹配装置,包括:
信息提取模块,用于获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;
流量筛选模块,用于根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;
流量匹配模块,用于根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
进一步地,所述流量信息还包括初始时刻,相应地,所述SNAT设备翻译前后的流量对应关系匹配装置,还包括:
流量记录模块,用于若接收到新的数据包,且所述流量列表中不存在与所述新的数据包的五元组对应的流量,则在所述流量列表中创建与所述新的数据包的五元组对应的新的流量,并将获取所述新的数据包的时刻作为所述新的流量的流量信息的初始时刻。
第三方面,本发明实施例还提供了一种电子设备,包括:
处理器、存储器、通信接口和通信总线;其中,
所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;
所述通信接口用于该电子设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述程序指令能够执行如下方法:
获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;
根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;
根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:
获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;
根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;
根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
本发明实施例提供的SNAT设备翻译前后的流量对应关系匹配方法及装置,通过在预设的流量列表中记录与各五元组一一对应的流量,并根据各流量对应的数据包的时间分布得到流量的指纹信息,再根据五元组和指纹信息,将指纹信息的相似度最高的待匹配的流量和预匹配的流量进行关联,从而能够更加简单、快速得确定所述SNAT设备翻译前后的各流量的对应关系。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的SNAT设备翻译前后的流量对应关系匹配方法流程图;
图2为本发明实施例的SNAT设备翻译前后的流量对应关系匹配装置结构示意图;
图3示例了一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的SNAT设备翻译前后的流量对应关系匹配方法流程图,如图1所示,所述SNAT设备翻译前后的流量对应关系匹配方法包括:
步骤S01、获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量,所述指纹信息用于表征在预设的时间区间内,接收到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息。
本发明实施例的SNAT设备不再获取设备转换表,而是预先设置了流量列表,根据所述SNAT设备接收到的数据包和翻译后发送的数据包,将所述SNAT设备接收到的具有相同五元组的数据包在所述流量列表中记为一条所述SNAT设备翻译前的流量,同时,将所述SNAT设备翻译后发送的具有相同五元组的数据包在所述流量列表中记为一条所述SNAT设备翻译后的流量。所述流量列表中包含与各五元组一一对应的流量的流量信息,所述流量信息至少包括:该流量对应的五元组和指纹信息。
所述五元组具体包括源地址信息、协议信息和目的地址信息。所述源地址信息包括源IP地址sip和源端口sport,所述协议信息可以表示为proto,所述目的地址信息包括目的IP地址dip和目的端口dport。因此,所述五元组可以表示为<sip,sport,proto,dip,dport>。
所述指纹信息用于表征,所述SNAT设备在所述流量的预设的时间区间内,获取到的对应的数据包的时间分布,即通过所述指纹信息可以解析出在所述预设的时间区间内,获取到的每个包含所述流量的五元组的数据包的时间分布。
进一步地,所述流量信息还包括初始时刻,相应地,所述SNAT设备翻译前后的流量对应关系匹配方法,还包括:
步骤S04、若接收到新的数据包,且所述流量列表中不存在与所述新的数据包的五元组对应的流量,则在所述流量列表中创建与所述新的数据包的五元组对应的新的流量,并将获取所述新的数据包的时刻作为所述新的流量的流量信息的初始时刻。
当所述SNAT设备获取到一个新的数据包时,将提取所述新的数据包的五元组,并在所述流量列表中查找是否存在与所述新的数据包的五元组对应的流量。
若所述流量列表中存在与所述新的数据包对应的流量,进一步查看,当前时刻,即获取所述新的数据包的时刻,是否在该流量的预设的时间区间内。若当前时刻不存在于预设的时间区间内,则无需更新所述流量的指纹信息;而若当前时刻存在于预设的时间区间内,则根据当前时刻更新所述流量的指纹信息。
而若所述流量列表中不存在与所述新的数据包对应的流量,则需要在所述流量列表中创建一条与所述新的数据包的五元组对应的新的流量,该新的流量的流量信息中的五元组为所述新的数据包的五元组,初始时刻t0为获取所述新的数据包的当前时刻,指纹信息为指纹信息的初始值,而所述流量的预设的时间区间可以设置为从所述初始时刻t0开始经过预设时间阈值ΔT时长的区间,即[t0,t0+ΔT]。当然,所述预设的时间区间也可以根据实际的需要设置起始时刻,为了简便起见在下面的实施例中均以[t0,t0+ΔT]作为所述预设的时间区间进行举例说明。
所述指纹信息的初始值可以根据所述指纹信息的表示方式和实际需求进行设定。
进一步地,所述流量的指纹信息为二进制数列,其中,所述二进制数列中各比特位与所述预设的时间区间内的各时刻一一对应;
相应地,所述SNAT设备翻译前后的流量对应关系匹配方法,还包括:
若在所述预设的时间区间内接收到包含所述流量的五元组的数据包,则根据当前时刻与所述流量的初始时刻的差值,确定在所述指纹信息中与所述当前时刻对应的比特位并置于1。
所述指纹信息的表示方式可以根据实际的需要来进行设定,例如,可以为一个数组,或者为一个二进制数列。
本发明实施例以二进制数列为例进行举例说明。该二进制数列中的每一个比特位对应于所述流量的预设的时间区间内的一个时刻。例如,若所述预设时间阈值ΔT为60秒,计时精度以秒为单位,则可将所述指纹信息f表示为61位二进制数列,其中,每个比特位,分别对应于所述预设的时间区间[t0,t0+Δt]内的每一秒。此时,所述指纹信息f的初始值可能设置为全0的二进制数列,或者将第0比特位的值置1。
当SNAT设备在当前时刻t1获取到数据包p,并在所述流量列表中找到所述数据包p对应的流量F,则将所述当前时刻t1与所述流量F的初始时刻t0进行比较。若两者的差值Δt小于预设的时间阈值ΔT,则判断当前时刻t1在所述预设的时间区间[t0,t0+ΔT]内。根据所述差值Δt将所述指纹信息f中的第Δt比特位的值置1来实现对于指纹信息f的更新。
若判定所述流量满足预设的匹配触发条件,则将该流量作为待匹配的流量,提取出所述待匹配的流量的流量信息。
进一步地,所述步骤S01具体包括:
步骤S011、若所述流量的存活时间超过了预设的存活时间阈值,且所述流量不存在关联的流量,则将所述流量作为待匹配的流量,并获取所述待匹配的流量的流量信息。
所述匹配触发条件可以根据实际的需要进行设定,本发明实施例仅给出了其中的一种举例说明。预先设置存活时间阈值,当所述流量从创建后的存活时间超过了预设的存活时间阈值,且不存在关联的流量,则判定所述流量满足匹配触发条件。其中,所述存活时间阈值可以根据实际的需要来进行设定,例如,可以设置为与预设的时间阈值ΔT相同。即所述匹配触发条件具体为:当前时刻超过了预设的时间区间的t0+ΔT,且不存在关联流量。此时,将该流量作为待匹配的流量提取其流量信息用于执行后续的匹配过程。
步骤S02、根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同。
根据所述待匹配的流量的五元组中的协议信息和目的地址信息<proto,dip,dport>,从所述流量列表中筛选出具有相同的协议信息和目的地址信息<proto,dip,dport>的流量作为与所述待匹配的流量对应的至少一个预匹配的流量。
进一步地,若所述待匹配的流量为所述SNAT设备翻译前的流量,则所述预匹配的流量为所述SNAT设备翻译后的流量;相应地,若所述待匹配的流量为所述SNAT设备翻译后的流量,则所述预匹配的流量为所述SNAT设备翻译前的流量。
由于本发明实施例用于获取各翻译前的流量和各翻译后的流量的对应关系,因此,在根据待匹配的流量的五元组筛选预匹配的流量时。若所述待匹配的流量为翻译前的流量,则只需要在所述流量列表中的所有翻译后的流量中进行筛选;相对的,若所述待匹配的流量为翻译后的流量,则只需要在所述流量列表中的所有翻译前的流量中进行筛选。
为此,在建立所述流量列表时,也可以分别建立翻译前的流量列表和翻译后的流量列表,并设定从所述翻译前的流量列表中获取待匹配的流量,从所述翻译后的流量列表中筛选预匹配的流量,反之亦然。
步骤S03、根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
分别计算待匹配的流量的指纹信息与各预匹配的流量的指纹信息的相似度,并进行比较。根据比较结果,将相似度最高的预匹配的流量作为与所述待匹配的流量的匹配结果,将两者进行关联,从而确定了所述待匹配的流量与预匹配的流量的对应关系。例如,若待匹配的流量F1的指纹信息为f1,筛选得到的预匹配的流量F2、F3、F4的指纹信息分别为f2、f3、f4,则分别计算f1与f2的相似度S12、f1与f3的相似度S13、以及f1与f4的相似度S14,其中,S13<S12<S14,则将所述F4与F1进行关联。
进一步地,所述待匹配的流量与各预匹配的流量间的指纹信息的相似度具体为:所述待匹配的流量的指纹信息与各预匹配的流量的指纹信息的协方差运算结果。
所述指纹信息的相似度的计算方法,可以根据实际的需求进行设定,也可以根据所述指纹信息的表示方式不同设定不同的计算方法。在本发明实施例中对于二进制数列的指纹信息,可以通过协方差运算来得到两个指纹信息的相似度。例如,S12=Covariance(f1,f2),S13=Covariance(f1,f3),S14=Covariance(f1,f4)。
在实际的应用过程中,为了防止在预计的时间区间内获取到的所述流量对应数据包数量过少,导致所述指纹信息辨识度不高,可以所述指纹信息或相似度进行限定,例如,可以要求所述指纹信息中置1的数量不得少于预设数量阈值,还可以设置相似度阈值,要求计算得到的相似度值不得小于预设相似度阈值。
在确定存在对应关系的翻译前的流量和翻译后的流量后,分别进行标注,不再参与其它流量的匹配过程,又或者将两者从流量列表中删除,记录到预设的对应关系列表中。直到,其中一个流量由于长期未接收到对应的数据包等原因被删除时,也同时将关联的流量删除。
若所述待匹配的流量没有找到存在对应关系的预匹配的流量,则可以适当增加该流量的预设的时间区间和存活时间阈值,以待后续再次进行匹配。
本发明实施例通过在预设的流量列表中记录与各五元组一一对应的流量,并根据各流量对应的数据包的时间分布得到流量的指纹信息,再根据五元组和指纹信息,将指纹信息的相似度最高的待匹配的流量和预匹配的流量进行关联,从而能够更加简单、快速得确定所述SNAT设备翻译前后的各流量的对应关系。
图2为本发明实施例的SNAT设备翻译前后的流量对应关系匹配装置结构示意图,如图2所示,所述装置包括:信息提取模块10、流量筛选模块11和流量匹配模块12;其中,
所述信息提取模块10用于获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;所述流量筛选模块11用于根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;所述流量匹配模块12用于根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。具体地:
本发明实施例的SNAT设备不再获取设备转换表,而是由流量记录模块13预先设置了流量列表,根据所述SNAT设备接收到的数据包和翻译后发送的数据包,将所述SNAT设备接收到的具有相同五元组的数据包在所述流量列表中记为一条所述SNAT设备翻译前的流量,同时,将所述SNAT设备翻译后发送的具有相同五元组的数据包在所述流量列表中记为一条所述SNAT设备翻译后的流量。所述流量列表中包含与各五元组一一对应的流量的流量信息,所述流量信息至少包括:该流量对应的五元组和指纹信息。
所述五元组具体包括源地址信息、协议信息和目的地址信息。所述源地址信息包括源IP地址sip和源端口sport,所述协议信息可以表示为proto,所述目的地址信息包括目的IP地址dip和目的端口dport。因此,所述五元组可以表示为<sip,sport,proto,dip,dport>。
所述指纹信息用于表征,所述SNAT设备在所述流量的预设的时间区间内,获取到的对应的数据包的时间分布,即通过所述指纹信息可以解析出在所述预设的时间区间内,获取到的每个包含所述流量的五元组的数据包的时间分布。
进一步地,所述流量信息还包括初始时刻,相应地,所述SNAT设备翻译前后的流量对应关系匹配装置,还包括:
流量记录模块13,用于若接收到新的数据包,且所述流量列表中不存在与所述新的数据包的五元组对应的流量,则在所述流量列表中创建与所述新的数据包的五元组对应的新的流量,并将获取所述新的数据包的时刻作为所述新的流量的流量信息的初始时刻。
当所述流量记录模块13发觉SNAT设备获取到一个新的数据包时,将提取所述新的数据包的五元组,并在所述流量列表中查找是否存在与所述新的数据包的五元组对应的流量。
若所述流量列表中存在与所述新的数据包对应的流量,流量记录模块13进一步查看,当前时刻,即获取所述新的数据包的时刻,是否在该流量的预设的时间区间内。若当前时刻不存在于预设的时间区间内,则无需更新所述流量的指纹信息;而若当前时刻存在于预设的时间区间内,则根据当前时刻更新所述流量的指纹信息。
而若所述流量列表中不存在与所述新的数据包对应的流量,则流量记录模块13需要在所述流量列表中创建一条与所述新的数据包的五元组对应的新的流量,该新的流量的流量信息中的五元组为所述新的数据包的五元组,初始时刻t0为获取所述新的数据包的当前时刻,指纹信息为指纹信息的初始值,而所述流量的预设的时间区间可以设置为从所述初始时刻t0开始经过预设时间阈值ΔT时长的区间,即[t0,t0+ΔT]。当然,所述预设的时间区间也可以根据实际的需要设置起始时刻,为了简便起见在下面的实施例中均以[t0,t0+ΔT]作为所述预设的时间区间进行举例说明。
所述指纹信息的初始值可以根据所述指纹信息的表示方式和实际需求进行设定。
进一步地,所述流量的指纹信息为二进制数列,其中,所述二进制数列中各比特位与所述预设的时间区间内的各时刻一一对应;
相应地,所述流量记录模块13还用于:
若在所述预设的时间区间内接收到包含所述流量的五元组的数据包,则根据当前时刻与所述流量的初始时刻的差值,确定在所述指纹信息中与所述当前时刻对应的比特位并置于1。
所述指纹信息的表示方式可以根据实际的需要来进行设定,例如,可以为一个数组,或者为一个二进制数列。
本发明实施例以二进制数列为例进行举例说明。该二进制数列中的每一个比特位对应于所述流量的预设的时间区间内的一个时刻。例如,若所述预设时间阈值ΔT为60秒,计时精度以秒为单位,则可将所述指纹信息f表示为61位二进制数列,其中,每个比特位,分别对应于所述预设的时间区间[t0,t0+ΔT]内的每一秒。此时,所述指纹信息f的初始值可能设置为全0的二进制数列,或者将第0比特位的值置1。
当流量记录模块13判定SNAT设备在当前时刻t1获取到数据包p,并在所述流量列表中找到所述数据包p对应的流量F,则将所述当前时刻t1与所述流量F的初始时刻t0进行比较。若两者的差值Δt小于预设的时间阈值ΔT,则流量记录模块13判定当前时刻t1在所述预设的时间区间[t0,t0+ΔT]内。根据所述差值Δt,流量记录模块13将所述指纹信息f中的第Δt比特位的值置1来实现对于指纹信息f的更新。
若信息提取模块10判定所述流量满足预设的匹配触发条件,则将该流量作为待匹配的流量,提取出所述待匹配的流量的流量信息。
进一步地,所述信息提取模块10具体用于:
若所述流量的存活时间超过了预设的存活时间阈值,且所述流量不存在关联的流量,则将所述流量作为待匹配的流量,并获取所述待匹配的流量的流量信息。
所述匹配触发条件可以根据实际的需要进行设定,本发明实施例仅给出了其中的一种举例说明。信息提取模块10预先设置存活时间阈值,当所述流量从创建后的存活时间超过了预设的存活时间阈值,且不存在关联的流量,则信息提取模块10判定所述流量满足匹配触发条件。其中,所述存活时间阈值可以根据实际的需要来进行设定,例如,可以设置为与预设的时间阈值ΔT相同。即所述匹配触发条件具体为:当前时刻超过了预设的时间区间的t0+ΔT,且不存在关联流量。此时,信息提取模块10将该流量作为待匹配的流量提取其流量信息并发送给流量筛选模块11。
流量筛选模块11根据所述待匹配的流量的五元组中的协议信息和目的地址信息<proto,dip,dport>,从所述流量列表中筛选出具有相同的协议信息和目的地址信息<proto,dip,dport>的流量作为与所述待匹配的流量对应的至少一个预匹配的流量,并将筛选结果发送给流量匹配模块12。
进一步地,若所述待匹配的流量为所述SNAT设备翻译前的流量,则所述预匹配的流量为所述SNAT设备翻译后的流量;相应地,若所述待匹配的流量为所述SNAT设备翻译后的流量,则所述预匹配的流量为所述SNAT设备翻译前的流量。
由于本发明实施例用于获取各翻译前的流量和各翻译后的流量的对应关系,因此,在流量筛选模块11根据待匹配的流量的五元组筛选预匹配的流量时。若所述待匹配的流量为翻译前的流量,则流量筛选模块11只需要在所述流量列表中的所有翻译后的流量中进行筛选;相对的,若所述待匹配的流量为翻译后的流量,则流量筛选模块11只需要在所述流量列表中的所有翻译前的流量中进行筛选。
为此,在建立所述流量列表时,流量记录模块13也可以分别建立翻译前的流量列表和翻译后的流量列表,并设定从所述翻译前的流量列表中获取待匹配的流量,从所述翻译后的流量列表中筛选预匹配的流量,反之亦然。
流量匹配模块12分别计算待匹配的流量的指纹信息与各预匹配的流量的指纹信息的相似度,并进行比较。根据比较结果,流量匹配模块12将相似度最高的预匹配的流量作为与所述待匹配的流量的匹配结果,将两者进行关联,从而确定了所述待匹配的流量与预匹配的流量的对应关系。
进一步地,所述待匹配的流量与各预匹配的流量间的指纹信息的相似度具体为:所述待匹配的流量的指纹信息与各预匹配的流量的指纹信息的协方差运算结果。
所述指纹信息的相似度的计算方法,可以根据实际的需求进行设定,也可以根据所述指纹信息的表示方式不同设定不同的计算方法。在本发明实施例中对于二进制数列的指纹信息,可以通过协方差运算来得到两个指纹信息的相似度。
在实际的应用过程中,为了防止在预计的时间区间内获取到的所述流量对应数据包数量过少,导致所述指纹信息辨识度不高,可以所述指纹信息或相似度进行限定,例如,可以要求所述指纹信息中置1的数量不得少于预设数量阈值,还可以设置相似度阈值,要求计算得到的相似度值不得小于预设相似度阈值。
在确定存在对应关系的翻译前的流量和翻译后的流量后,分别进行标注,不再参与其它流量的匹配过程,又或者将两者从流量列表中删除,记录到预设的对应关系列表中。直到,其中一个流量由于长期未接收到对应的数据包等原因被删除时,也同时将关联的流量删除。
若所述待匹配的流量没有找到存在对应关系的预匹配的流量,则可以适当增加该流量的预设的时间区间和存活时间阈值,以待后续再次进行匹配。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例通过在预设的流量列表中记录与各五元组一一对应的流量,并根据各流量对应的数据包的时间分布得到流量的指纹信息,再根据五元组和指纹信息,将指纹信息的相似度最高的待匹配的流量和预匹配的流量进行关联,从而能够更加简单、快速得确定所述SNAT设备翻译前后的各流量的对应关系。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)303、存储器(memory)302和通信总线304,其中,处理器301,通信接口303,存储器302通过通信总线304完成相互间的通信。处理器301可以调用存储器302中的逻辑指令,以执行上述方法。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
进一步地,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
本领域普通技术人员可以理解:此外,上述的存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种SNAT设备翻译前后的流量对应关系匹配方法,其特征在于,包括:
获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;
根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;
根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
2.根据权利要求1所述的SNAT设备翻译前后的流量对应关系匹配方法,其特征在于,所述流量信息还包括初始时刻,相应地,所述SNAT设备翻译前后的流量对应关系匹配方法,还包括:
若接收到新的数据包,且所述流量列表中不存在与所述新的数据包的五元组对应的流量,则在所述流量列表中创建与所述新的数据包的五元组对应的新的流量,并将获取所述新的数据包的时刻作为所述新的流量的流量信息的初始时刻。
3.根据权利要求2所述的SNAT设备翻译前后的流量对应关系匹配方法,其特征在于,所述流量的指纹信息为二进制数列,其中,所述二进制数列中各比特位与所述预设的时间区间内的各时刻一一对应;
相应地,所述SNAT设备翻译前后的流量对应关系匹配方法,还包括:
若在所述预设的时间区间内获取到包含所述流量的五元组的数据包,则根据当前时刻与所述流量的初始时刻的差值,确定与所述当前时刻对应的比特位并置于1。
4.根据权利要求3所述的SNAT设备翻译前后的流量对应关系匹配方法,其特征在于,所述待匹配的流量与各预匹配的流量间的指纹信息的相似度具体为:所述待匹配的流量的指纹信息与各预匹配的流量的指纹信息的协方差运算结果。
5.根据权利要求1所述的SNAT设备翻译前后的流量对应关系匹配方法,其特征在于,所述获取流量列表中待匹配的流量的流量信息,具体包括:
若所述流量的存活时间超过了预设的存活时间阈值,且所述流量不存在关联的流量,则将所述流量作为所述待匹配的流量,并获取所述待匹配的流量的流量信息。
6.根据权利要求1-5任一所述的SNAT设备翻译前后的流量对应关系匹配方法,其特征在于,若所述待匹配的流量为所述SNAT设备翻译前的流量,则所述预匹配的流量为所述SNAT设备翻译后的流量;相应地,若所述待匹配的流量为所述SNAT设备翻译后的流量,则所述预匹配的流量为所述SNAT设备翻译前的流量。
7.一种SNAT设备翻译前后的流量对应关系匹配装置,其特征在于,包括:
信息提取模块,用于获取流量列表中待匹配的流量的流量信息,所述流量信息包括:五元组和指纹信息;其中,所述流量列表包括SNAT设备翻译前后与各五元组一一对应的流量的流量信息,所述指纹信息用于表征,在预设的时间区间内获取到包含所述五元组的各数据包的时间分布,所述五元组包括源地址信息、协议信息和目的地址信息;
流量筛选模块,用于根据所述五元组,从所述流量列表中筛选出与所述待匹配的流量对应的各预匹配的流量;其中,所述待匹配的流量与各预匹配的流量间的协议信息和目的地址信息相同;
流量匹配模块,用于根据所述待匹配的流量与各预匹配的流量间的指纹信息的相似度,将所述相似度最高的预匹配的流量与所述待匹配的流量进行关联,以确定对应关系。
8.根据权利要求7所述的SNAT设备翻译前后的流量对应关系匹配装置,其特征在于,所述流量信息还包括初始时刻,相应地,所述SNAT设备翻译前后的流量对应关系匹配装置,还包括:
流量记录模块,用于若接收到新的数据包,且所述流量列表中不存在与所述新的数据包的五元组对应的流量,则在所述流量列表中创建与所述新的数据包的五元组对应的新的流量,并将获取所述新的数据包的时刻作为所述新的流量的流量信息的初始时刻。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的SNAT设备翻译前后的流量对应关系匹配方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的SNAT设备翻译前后的流量对应关系匹配方法的步骤。
CN202010388092.0A 2020-05-09 2020-05-09 Snat设备翻译前后的流量对应关系匹配方法及装置 Active CN111654556B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010388092.0A CN111654556B (zh) 2020-05-09 2020-05-09 Snat设备翻译前后的流量对应关系匹配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010388092.0A CN111654556B (zh) 2020-05-09 2020-05-09 Snat设备翻译前后的流量对应关系匹配方法及装置

Publications (2)

Publication Number Publication Date
CN111654556A CN111654556A (zh) 2020-09-11
CN111654556B true CN111654556B (zh) 2022-04-29

Family

ID=72349505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010388092.0A Active CN111654556B (zh) 2020-05-09 2020-05-09 Snat设备翻译前后的流量对应关系匹配方法及装置

Country Status (1)

Country Link
CN (1) CN111654556B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431440A (zh) * 2008-11-28 2009-05-13 杭州华三通信技术有限公司 一种流量监控方法和设备
CN108600120A (zh) * 2018-05-04 2018-09-28 广东唯网络科技有限公司 一种基于dpdk下实现nat的方法
CN109450690A (zh) * 2018-11-20 2019-03-08 杭州安恒信息技术股份有限公司 快速锁定组网内失陷主机的方法和装置
CN110798461A (zh) * 2019-10-23 2020-02-14 国家计算机网络与信息安全管理中心 非对称路由网络下VoIP关联方法、装置及可读存储介质
CN110929525A (zh) * 2019-10-23 2020-03-27 三明学院 一种网贷风险行为分析检测方法、装置、设备和存储介质
CN110958262A (zh) * 2019-12-15 2020-04-03 国网山东省电力公司电力科学研究院 电力行业泛在物联网安全防护网关系统、方法及部署架构

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431440A (zh) * 2008-11-28 2009-05-13 杭州华三通信技术有限公司 一种流量监控方法和设备
CN108600120A (zh) * 2018-05-04 2018-09-28 广东唯网络科技有限公司 一种基于dpdk下实现nat的方法
CN109450690A (zh) * 2018-11-20 2019-03-08 杭州安恒信息技术股份有限公司 快速锁定组网内失陷主机的方法和装置
CN110798461A (zh) * 2019-10-23 2020-02-14 国家计算机网络与信息安全管理中心 非对称路由网络下VoIP关联方法、装置及可读存储介质
CN110929525A (zh) * 2019-10-23 2020-03-27 三明学院 一种网贷风险行为分析检测方法、装置、设备和存储介质
CN110958262A (zh) * 2019-12-15 2020-04-03 国网山东省电力公司电力科学研究院 电力行业泛在物联网安全防护网关系统、方法及部署架构

Also Published As

Publication number Publication date
CN111654556A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
WO2022017249A1 (zh) 可编程交换机、流量统计方法、防御方法和报文处理方法
US10084713B2 (en) Protocol type identification method and apparatus
CN110855576B (zh) 应用识别方法及装置
CN107302527B (zh) 一种设备异常检测方法及装置
CN109194680B (zh) 一种网络攻击识别方法、装置及设备
US9917783B2 (en) Method, system and non-transitory computer readable medium for profiling network traffic of a network
CN110808879B (zh) 一种协议识别方法、装置、设备及可读存储介质
CN107454037B (zh) 网络攻击的识别方法和系统
CN108600003B (zh) 一种面向视频监控网络的入侵检测方法、装置及系统
CN110417747B (zh) 一种暴力破解行为的检测方法及装置
CN112787877B (zh) 一种网络时延检测方法及相关设备
CN107690004B (zh) 地址解析协议报文的处理方法及装置
WO2019043804A1 (ja) ログ分析装置、ログ分析方法及びコンピュータ読み取り可能記録媒体
CN114598645A (zh) 流表项的控制方法以及装置
CN112769635B (zh) 多粒度特征解析的服务识别方法及装置
CN111654556B (zh) Snat设备翻译前后的流量对应关系匹配方法及装置
CN111953810B (zh) 识别代理互联网协议地址的方法、装置及存储介质
CN110351159B (zh) 一种跨内网的网络性能测试方法及装置
CN108650274B (zh) 一种网络入侵检测方法及系统
CN110838967B (zh) 虚拟专用网络的连接方法、服务器、客户端和存储介质
CN111614633B (zh) 一种针对l2tp协议的解析方法及系统
CN114640515A (zh) 基于流量阻断的数据处理方法、装置及相关设备
CN114615015A (zh) 服务系统修复优先级的确定方法、装置、设备及介质
CN111106980B (zh) 一种带宽捆绑检测方法和装置
CN111625807A (zh) 一种设备类型识别方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant