CN109039947B - 网络包去重方法、装置、网络分流设备及存储介质 - Google Patents
网络包去重方法、装置、网络分流设备及存储介质 Download PDFInfo
- Publication number
- CN109039947B CN109039947B CN201811106972.3A CN201811106972A CN109039947B CN 109039947 B CN109039947 B CN 109039947B CN 201811106972 A CN201811106972 A CN 201811106972A CN 109039947 B CN109039947 B CN 109039947B
- Authority
- CN
- China
- Prior art keywords
- network packet
- network
- packet
- characteristic information
- time window
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Abstract
本发明涉及网络通信技术领域,提供一种网络包去重方法、装置、网络分流设备及存储介质,所述方法包括:接收所述网络转发设备发送的第一网络包,并对所述第一网络包进行解封装得到所述第一网络包的特征信息;依据所述第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对所述预设时间窗口内的第二网络包进行更新。本发明采用时间窗口机制,通过对时间窗口内的网络包进行去重,实现了合理地网络包在线去重,提升了去重效率和准确性,同时,根据网络包的产生场景进行针对性去重,进一步提升了去重效率和准确性。
Description
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种网络包去重方法、装置、网络分流设备及存储介质。
背景技术
众所周知,在网络通信与流量传输过程中,大量重复的数据包的产生是不可避免的。重复的数据包在传输过程中会占用网络带宽,降低数据传输质量,终端做业务处理时也会降低业务效率,而且在存储时也浪费存储空间。结合OSI七层网络模型以及网络数据包在转发时的封装特性,仅仅计算数据包的md5值并对md5值进行比较还不足以作为评判数据包是否相同的标准。由于网络数据包在转发设备上进行转发时,各层包头的字段有些是确定变化的,有些是可能变化的,有些是不变的,以具体情况而定,甚至还存在即使两个数据包md5值相同,两个数据包也是不同数据包的情况,因此简单的用md5值对网络设备转发的数据包进行去重不准确。
发明内容
本发明实施例的目的在于提供一种网络包去重方法、装置、网络分流设备及存储介质,用以改善上述问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种网络包去重方法,所述方法包括:接收网络转发设备发送的第一网络包,并对第一网络包进行解封装得到第一网络包的特征信息;依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新。
第二方面,本发明实施例还提供了一种网络包去重装置,所述装置包括接收模块和更新模块。其中,接收模块用于接收网络转发设备发送的第一网络包,并对第一网络包进行解封装得到第一网络包的特征信息;更新模块用于依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新。
第三方面,本发明实施例还提供了一种网络分流设备,所述网络分流设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的网络包去重方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述网络包去重方法。
相对现有技术,本发明实施例提供的一种网络包去重方法、装置、网络分流设备及存储介质,首先,接收网络转发设备发送的第一网络包,并对第一网络包进行解封装得到第一网络包的特征信息;其次,依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新。与现有技术相比,本发明采用时间窗口机制,通过对时间窗口内的网络包进行去重,实现了合理地网络包在线去重,提升了去重效率和准确性,同时,根据网络包的产生场景进行针对性去重,进一步提升了去重效率和准确性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的网络包去重方法应用场景示意图。
图2示出了本发明实施例提供的网络分流设备的方框示意图。
图3示出了本发明实施例提供的网络包去重方法流程图。
图4为图3示出的步骤S102的子步骤流程图。
图5为图4示出的子步骤S1022的子步骤流程图。
图6为图4示出的子步骤S1023的子步骤流程图。
图7示出了本发明实施例提供的网络包去重装置的方框示意图。
图标:100-网络分流设备;101-存储器;102-存储控制器;103-处理器;200-网络包去重装置;201-接收模块;202-更新模块;300-网络转发设备。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例提供的网络包去重方法应用场景示意图。网络分流设备100与网络转发设备300通信连接,以接收网络转发设备300发送的网络包,网络分流设备100利用网络包去重装置200对接收到的网络包进行去重。网络转发设备300可以,但不限于是实体的交换机或者路由器,也可以是能够实现和交换机或者路由器同等网络包转发功能的服务器、物理机或者虚拟机等。
请参照图2,图2示出了本发明实施例提供的网络分流设备100的方框示意图。网络分流设备100是一种在线网络设备,将其接入到网络中可以实现流量去重、流量复制、流量汇聚、流量分流、镜像复制等功能。所述网络分流设备100包括网络包去重装置200、存储器101、存储控制器102及处理器103。存储器101、存储控制器102及处理器103各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。网络包去重装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器101中或固化在所述网络分流设备100的操作系统(operating system,OS)中的软件功能模块。处理器103用于执行存储器101中存储的可执行模块,例如网络包去重装置200所包括的软件功能模块及计算机程序等。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序。
处理器103可以是一种集成电路芯片,具有信号处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。
第一实施例
请参照图3,图3示出了本发明实施例提供的网络包去重的处理方法流程图。处理方法包括以下步骤:
步骤S101,接收网络转发设备发送的第一网络包,并对第一网络包进行解封装得到第一网络包的特征信息。
在本发明实施例中,第一网络包的特征信息是依据OSI网络七层模型对该网络包进行逐层解封装得到的,特征信息包含了数据链路层头部信息、网络层头部信息、传输层头部信息以及用户数据信息。
步骤S102,依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新。
在本发明实施例中,预设时间窗口表示了网络包的去重范围,是依据网络转发设备300的包转发率预先设定的一个经验值,其中,包转发率指网络转发设备300每秒可以转发的包的数量,是衡量网络转发设备300转发数据能力的标准,例如,万兆的网络转发设备300中的万兆表示的是其吞吐量是万兆,包转发率=吞吐量/包的大小,以常见的64字节的包为例,则万兆的网络转发设备300的包转发率为14.88Mpps。当然,用户也可以根据自己的实际需要对预设时间窗口进行设置。预设时间窗口内的包是按照网络分流设备100的系统时间的先后顺序依次进入预设时间窗口的。
在本发明实施例中,特征信息包括第一特征信息和第二特征信息,其中,第一特征信息是源MAC地址、目的MAC地址、链路层协议类型等链路层包头字段与用户数据信息的组合,根据第一特征信息中的源MAC地址和目的MAC地址能够确定第一网络包和预设时间窗口内的第二网络包是否是同一个局域网产生的;第二特征信息是网络层包头信息和传输层包头信息中特定的信息。依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新的实现过程是:判断第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息是否满足第一特征条件或第二特征条件,若第一特征信息满足第一特征条件,则判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第一预设条件,若满足,则删除第二特征信息满足第一预设条件的第二网络包并将第二特征信息满足第一预设条件的第一网络包加入所述预设时间窗口内,若不满足,则将第二特征信息不满足第一预设条件的第一网络包加入预设时间窗口内;若第一特征信息满足第二特征条件,则判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第二预设条件,若满足,则删除第二特征信息满足第二预设条件的第二网络包并将第二特征信息满足第二预设条件的第一网络包加入所述预设时间窗口内,若不满足,则将第二特征信息不满足第二预设条件的第一网络包加入预设时间窗口内。
在本发明实施例中,判断第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息是否满足第一特征条件或第二特征条件之前,首先判断第一网络包的时间戳与预设时间窗口内的第二网络包的时间戳的差值是否在预设时间窗口的范围内,若是,则继续判断第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息是否满足第一特征条件或第二特征条件,若第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息既不满足第一特征条件又不满足第二特征条件,则不再继续判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第一预设条件,直接则将第一网络包加入预设时间窗口内。其中,时间戳是网卡在接收第一网络包时加上的,代表接收该第一网络包的系统时间。需要说明的是,在将第一网络包加入预设时间窗口内之前,如果预设时间窗口已满,则需要首先将最先加入预设窗口内的第二网络包删除,然后再将该第一网络包加入预设时间窗口的最后,否则直接将该第一网络包加入预设时间窗口。
请参照图4,步骤S102还可以包括以下子步骤:
子步骤S1021,判断第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息是否满足第一特征条件或第二特征条件。
在本发明实施例中,第一特征信息可以是用户数据信息、源MAC地址、目的MAC地址及链路层协议类型,其中,源MAC地址、目的MAC地址及链路层协议类型均存在于链路层包头信息中,如果第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息满足第一特征条件则执行子步骤S1022,如果第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息满足第二特征条件则执行子步骤S1023。
作为一种实施方式,第一特征信息是用户数据信息、源MAC地址、目的MAC地址及链路层协议类型时,判断第一网络包的第一特征信息和预设时间窗口内的第二网络包的第一特征信息是否满足第一特征条件或第二特征条件的方法可以是:
首先,判断第一网络包和第二网络包的用户数据信息是否相同,若不同,则判定第一网络包和第二网络包的第一特征信息既不满足第一特征条件又不满足第二特征条件;其次,当第一网络包和第二网络包的用户数据信息相同时,判断第一网络包和第二网络包的链路层协议类型是否相同,若不同,则判定第一网络包和第二网络包的第一特征信息既不满足第一特征条件又不满足第二特征条件;最后,当第一网络包和第二网络包的用户数据信息和链路层协议类型均相同时,判断第一网络包和第二网络包的源MAC地址和目的MAC地址是否均相同,若均相同,则判定第一网络包和第二网络包的第一特征信息满足第一特征条件,若均不相同,则判定第一网络包和第二网络包的第一特征信息满足第二特征条件。
子步骤S1022,按照第一更新策略对预设时间窗口内的第二网络包进行更新。
请参照图5,子步骤S1022还可以包括以下子步骤:
子步骤S10221,判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第一预设条件。
在本发明实施例中,第二特征信息是网络层包头和传输层包头中的特定信息。作为一种实施方式,判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第一预设条件是通过判断第一网络包和第二网络包的网络层包头信息和传输层包头信息中的相关字段是否满足第一预设条件来实现的,其中网络层包头信息和传输层包头信息是步骤S101得到的,该相关字段包括IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、IP包头totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小,判断第一网络包和第二网络包的网络层包头信息和传输层包头信息中的相关字段是否满足第一预设条件的方法按照比较的先后顺序可以是:
判断第一网络包和第二网络包的IP标识是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识相同时,判断第一网络包和第二网络包的协议类型是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型均相同时,判断第一网络包和第二网络包的源IP地址和目的IP地址是否均相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址均相同时,判断第一网络包和第二网络包的TTL是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL均相同时,判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset均相同时,判断第一网络包和第二网络包的协议类型是否均为TCP协议或者均为UDP协议,若否,则判定第一网络包和第二网络包的第二特征信息是满足第一预设条件的,并按照重复网络包处理,即将删除第二特征信息满足第一预设条件的第二网络包并将第二特征信息满足第一预设条件第一网络包加入预设时间窗口内;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset均相同时,且第一网络包和第二网络包的协议类型均为TCP协议或均为UDP协议,判断第一网络包和第二网络包的源端口和目的端口是否均相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口和目的端口均相同,第一网络包和第二网络包的协议类型均为TCP协议或者均为UDP协议,判断第一网络包和第二网络包的协议类型是否是TCP协议,若否,则判定第一网络包和第二网络包的第二特征信息是满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口和目的端口均相同,且第一网络包和第二网络包的协议类型均为TCP协议时,判断第一网络包和第二网络包的网络层包头的totalLength是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、totalLength均相同,且第一网络包和第二网络包的协议类型均为TCP协议时,判断第一网络包和第二网络包的TCP包头检验和是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、totalLength、TCP包头检验和均相同,且第一网络包和第二网络包的协议类型均为TCP协议时,判断第一网络包和第二网络包的TCP包头序列号是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、totalLength、TCP包头检验和、TCP包头序列号均相同,且第一网络包和第二网络包的协议类型均为TCP协议时,判断第一网络包和第二网络包的TCP包头确认序列号是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;
当第一网络包和第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号均相同,且第一网络包和第二网络包的协议类型均为TCP协议时,判断第一网络包和第二网络包的TCP包头窗口大小是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第一预设条件的;若相同,判定第一网络包和第二网络包的第二特征信息是满足第一预设条件的。
当第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息满足第一预设条件时,执行子步骤S10222,当第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息不满足第一预设条件时,执行子步骤S10223。
子步骤S10222,删除第二特征信息满足第一预设条件的第二网络包并将第二特征信息满足第一预设条件的第一网络包加入预设时间窗口内。
本发明实施例中,一旦找到满足第一预设条件的的第二网络包,则将该第二网络包从预设时间窗口中删除,并将第一网络包加入预设时间窗口内,且不再继续比较预设时间窗口内的其他第二网络包。例如,预设时间窗口内有A、B、C三个第二网络包,此时,第一网络包D与预设时间窗口内的A、B、C三个第二网络包依次比较,第一网络包D和第二网络包A的第一特征相同且第一网络包D和第二网络包A的第二特征满足第一预设条件,则将第二网络包A从预设时间窗口内删除,比较完成,将第一网络包D加入至预设时间窗口内。
子步骤S10223,将第二特征信息不满足第一预设条件的第一网络包加入预设时间窗口内。
在本发明实施例中,将第一网络包加入预设时间窗口内之前,如果预设时间窗口已满,则需要首先将最先加入预设窗口内的第二网络包删除,然后再将该第一网络包加入预设时间窗口的最后,否则直接将该第一网络包加入预设时间窗口的最后。其中,预设时间窗口已满指预设时间窗口内的包的个数达到了预设时间窗口能容纳的最大包的个数。最先加入预设窗口内的第二网络包是指网卡最先收到并加入预设窗口内的第二网络包。例如,预设时间窗口是3ms,并且假设该窗口内最多能容纳3个包,当前预设时间窗口内的第二网络包的个数为0,第一个第一网络包A加入预设时间窗口时,第二网络包的个数为0,预设时间窗口未满,则第一网络包A直接加入预设时间窗口,此时预设时间窗口内只有一个第二网络包A,且当前预设时间窗口未满,第二个第一网络包B加入预设时间窗口时,第一网络包B的第一特征信息与第二网络包A的第一特征信息不满足第一预设条件,且预设时间窗口未满,第一网络包B直接加入预设时间窗口的最后,即A的后面,此时预设时间窗口内有两个第二网络包A和B,且当前预设时间窗口未满,第三个第一网络包C加入预设时间窗口时,第一网络包C的第一特征信息与第二网络包A的第一特征信息不满足第一预设条件,第一网络包C的第一特征信息与第二网络包B的第一特征信息不满足第一预设条件,且预设时间窗口未满,第一网络包C直接加入预设时间窗口的最后,即B的后面,此时预设时间窗口内有三个第二网络包A、B和C,且当前预设时间窗口已满,第四个第一网络包D加入预设时间窗口时,第一网络包D的第一特征信息与第二网络包A的第一特征信息不满足第一预设条件,第一网络包D的第一特征信息与第二网络包B的第一特征信息不满足第一预设条件,第一网络包D的第一特征信息与第二网络包C的第一特征信息不满足第一预设条件,且预设时间窗口已满,由于第二网络包A是最先加入预设窗口内的第二网络包,所以先将第二网络包A从预设时间窗口内删除,再将第一网络包D加入预设时间窗口内的最后,即C的后面,此时,预设时间窗口内有三个第二网络包B、C和D,且当前预设时间窗口已满,此时,B成为了最先加入预设窗口内的第二网络包。
需要说明的是,此处举例只是为了说明若预设时间窗口已满,则删除当前最早加入预设窗口内第二网络包,并将第一网络包加入预设时间窗口内的方法,实际场景下,网络分流设备100在1ms时间内可能接收到多个第一网络包,在此场景下,每个第一网络包依据网卡接收第一网络包的时间仍然有进入预设时间窗口的先后顺序,对于每个第一网络包,若预设时间窗口已满,则删除当前最早加入预设窗口内的第二网络包,并将每个第一网络包加入预设时间窗口内的方法与上述例子中描述的方法是一样的。
子步骤S1023,按照第二更新策略对预设时间窗口内的第二网络包进行更新。
请参照图6,子步骤S1023还可以包括以下子步骤:
子步骤S10231,判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第二预设条件。
在本发明实施例中,第二预设条件包括两种情况,当满足此两种情况中的任意一种情况时,则判定满足第二预设条件,当两种情况均不满足时,则判定不满足第二预设条件。
作为一种实施方式,判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第二预设条件是通过判断第一网络包和第二网络包的网络层包头信息和传输层包头信息中的相关字段是否满足第二预设条件来实现的,其中的网络层包头信息和传输层包头信息是步骤S101得到的,该相关字段包括IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、IP包头totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小。
需要说明的是,在判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第二预设条件之前,首先判断第一网络包和预设时间窗口内的第二网络包的IP包头的标识字段是否相同,若不相同,则不再继续判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第二预设条件,直接则将第一网络包加入预设时间窗口内,若相同,则继续判断第一网络包和预设时间窗口内的第二网络包的协议类型是否相同,若不同,则直接则将第一网络包加入预设时间窗口内,若相同,则继续判断第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息是否满足第二预设条件。
作为一种实施方式,判断第一网络包和第二网络包的网络层包头信息和传输层包头信息中的相关字段是否满足第一种情况的方法按照比较的先后顺序可以是:
判断第一网络包和第二网络包的协议类型是否均为TCP协议或者均为UDP协议,若否,则继续判断第一网络包和第二网络包的源IP地址及目的IP地址是否均相同,若否,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;若是,则继续判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;若相同,则判定第一网络包和第二网络包的第二特征信息满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议或者均为UDP协议时,判断第一网络包和第二网络包的源端口和目的端口是否均相同,若否,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议或者均为UDP协议,且第一网络包和第二网络包的源端口和目的端口均相同时,判断第一网络包和第二网络包的协议类型是否是TCP协议,若否,则判定第一网络包和第二网络包的源IP地址及目的IP地址是否均相同,若否,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;若是,则继续判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;若相同,则判定第一网络包和第二网络包的第二特征信息满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议,且第一网络包和第二网络包的源端口和目的端口均相同时,判断第一网络包和第二网络包的网络层包头的totalLength是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口、目的端口、totalLength均相同时,判断第一网络包和第二网络包的TCP包头序列号是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口、目的端口、totalLength、TCP包头序列号均相同时,判断第一网络包和第二网络包的TCP包头确认序列号是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口、目的端口、totalLength、TCP包头序列号、TCP包头确认序列号均相同时,判断第一网络包和第二网络包的TCP包头窗口大小是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口、目的端口、totalLength、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小均相同时,判断第一网络包和第二网络包的源IP地址及目的IP地址是否均相同,若否,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口、目的端口、totalLength、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小、源IP地址、目的IP地址均相同时,则判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第一种情况,若相同,则判定第一网络包和第二网络包的第二特征信息满足第一种情况。
当第一网络包和第二网络包的第二特征信息不满足第一种情况时,还需要继续判断第一网络包和第二网络包的第二特征信息是否满足第二种情况,作为一种实施方式,判断第一网络包和第二网络包的第二特征信息是否满足第二种情况是通过判断第一网络包和第二网络包的网络层包头信息和传输层包头信息中的相关字段是否满足第二种情况实现的,具体判断的方法按照比较的先后顺序可以是:
判断第一网络包和第二网络包的协议类型是否均为TCP协议或者均为UDP协议,若否,则继续判断第一网络包和第二网络包的源IP地址及目的IP地址是否均相同或者是否均不同,若是,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;若否,则继续判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第二种情况的;若相同,则判定第一网络包和第二网络包的第二特征信息满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议或者均为UDP协议时,判断第一网络包和第二网络包的源端口和目的端口是否均相同或者是否均不同,若是,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议或者均为UDP协议、且第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同时,判断第一网络包和第二网络包是否满足第一网络包和第二网络包的源端口相同且源IP地址不相同或者第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件,若满足,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议或者均为UDP协议、第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同、且第一网络包和第二网络包既不满足第一网络包和第二网络包的源端口相同且源IP地址不相同的条件也不满足第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件,判断第一网络包和第二网络包的协议类型是否是TCP协议,若否,则继续判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;若相同,则判定第一网络包和第二网络包的第二特征信息满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同、且第一网络包和第二网络包既不满足第一网络包和第二网络包的源端口相同且源IP地址不相同的条件也不满足第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件时,判断第一网络包和第二网络包的网络层包头的totalLength是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同、第一网络包和第二网络包既不满足第一网络包和第二网络包的源端口相同且源IP地址不相同的条件也不满足第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件、且第一网络包和第二网络包的totalLength均相同时,判断第一网络包和第二网络包的TCP包头序列号是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同、第一网络包和第二网络包既不满足第一网络包和第二网络包的源端口相同且源IP地址不相同的条件也不满足第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件、且第一网络包和第二网络包的totalLength和TCP包头序列号均相同时,判断第一网络包和第二网络包的TCP包头确认序列号是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同、第一网络包和第二网络包既不满足第一网络包和第二网络包的源端口相同且源IP地址不相同的条件也不满足第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件、且第一网络包和第二网络包的totalLength、TCP包头序列号及TCP包头确认序列号均相同时,判断第一网络包和第二网络包的TCP包头窗口大小是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息不满足第二种情况;
当第一网络包和第二网络包的协议类型均为TCP协议、第一网络包和第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同、第一网络包和第二网络包既不满足第一网络包和第二网络包的源端口相同且源IP地址不相同的条件也不满足第一网络包和第二网络包的目的端口相同且目的IP地址不相同的条件、且第一网络包和第二网络包的totalLength、TCP包头序列号、TCP包头确认序列号及TCP包头窗口大小均相同时,则判断第一网络包和第二网络包的offset是否相同,若不同,则判定第一网络包和第二网络包的第二特征信息是不满足第二种情况,若相同,则判定第一网络包和第二网络包的第二特征信息满足第二种情况。
在本发明实施例中,当第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息满足第二预设条件时,执行子步骤S10232,当第一网络包的第二特征信息和预设时间窗口内的第二网络包的第二特征信息不满足第二预设条件时,执行子步骤S10233,在本发明实施例中,子步骤S10232与子步骤S10222的处理过程类似,子步骤S10233与子步骤S10223的处理过程类似,此处不再赘述。
子步骤S10232,删除第二特征信息满足第二预设条件的第二网络包并将第二特征信息满足第二预设条件的第一网络包加入预设时间窗口内。
子步骤S10233,将第二特征不满足第二预设条件的第一网络包加入预设时间窗口内。
在本发明实施例中,首先,接收网络转发设备300发送的第一网络包,并对第一网络包依据OSI七层网络模型解封装得到第一网络包的特征信息;其次,判断第一网络包与预设时间窗口内的第二网络包的第一特征信息是否满足第一特征条件或第二特征条件,通过比较第一网络包和预设时间窗口内的第二网络包的源MAC地址和目的MAC地址判定第一网络包和第二网络包是否是同一个局域网产生的,若是,则采用针对数据源于同一局域网这一场景的去重策略,若否,则采用针对数据源于不同网络这一场景的去重策略,提升了去重效率和准确性;采用时间窗口机制,通过对时间窗口内的网络包进行去重,实现了合理地网络包在线去重,提升了去重效率和准确性。
第二实施例
请参照图7,图7示出了本发明实施例提供的网络包去重装置200的方框示意图。网络包去重装置200应用于网络分流设备100,其包括接收模块201和更新模块202。
接收模块201,用于接收网络转发设备发送的第一网络包,并对第一网络包进行解封装得到第一网络包的特征信息。
本发明实施例中,接收模块201可以用于执行步骤S101。
更新模块202,用于依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新。
本发明实施例中,更新模块202可以用于执行步骤S102及其子步骤S1021-S1023、及S1022的子步骤S10221-S10223及S1023的子步骤S10231-S10233。
本发明实施例还揭示了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器103执行时实现本发明前述实施例揭示的网络包去重方法。
综上所述,本发明提供的一种网络包去重方法、装置、网络分流设备及存储介质、装置、终端及存储介质,所述方法包括:接收网络转发设备发送的第一网络包,并对第一网络包进行解封装得到第一网络包的特征信息;依据第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对预设时间窗口内的第二网络包进行更新。与现有技术相比,本发明采用时间窗口机制,通过对时间窗口内的网络包进行去重,实现了合理地网络包在线去重,提升了去重效率和准确性,同时,根据网络包的产生场景进行针对性去重,进一步提升了去重效率和准确性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (7)
1.一种网络包去重方法,其特征在于,应用于网络分流设备,所述网络分流设备与网络转发设备通信连接,所述方法包括:
接收所述网络转发设备发送的第一网络包,并依据OSI网络七层模型对所述第一网络包逐层解封装得到所述第一网络包的特征信息;
依据所述第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对所述预设时间窗口内的第二网络包进行更新,其中,所述第一网络包的特征信息和所述第二网络包的特征信息均包含数据链路层头部信息、网络层头部信息、传输层头部信息以及用户数据信息;
所述特征信息包括第一特征信息和第二特征信息;所述第一特征信息是用户数据信息、源MAC地址、目的MAC地址及链路层协议类型;所述第二特征信息是网络层包头信息和传输层包头信息中的特定信息;所述第一网络包和所述第二网络包的网络层包头信息和传输层包头信息中的相关字段包括IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、IP包头totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小;所述依据所述第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对所述预设时间窗口内的第二网络包进行更新的步骤包括:
若所述第一网络包的第一特征信息和所述预设时间窗口内的第二网络包的第一特征信息满足第一特征条件时,按照第一更新策略对所述预设时间窗口内的第二网络包进行更新;其中,所述第一特征条件为所述第一网络包和所述第二网络包的用户数据信息、链路层协议类型、源MAC地址和目的MAC地址均相同;
若所述第一网络包的第一特征信息和所述预设时间窗口内的第二网络包的第一特征信息满足第二特征条件时,按照第二更新策略对所述预设时间窗口内的第二网络包进行更新;其中,所述第二特征条件为所述第一网络包和所述第二网络包的用户数据信息和链路层协议类型均相同,且所述第一网络包和所述第二网络包的源MAC地址和目的MAC地址均不相同;
所述按照第一更新策略对所述预设时间窗口内的第二网络包进行更新的步骤,包括:
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息满足第一预设条件时,删除第二特征信息满足所述第一预设条件的所述第二网络包并将第二特征信息满足所述第一预设条件的所述第一网络包加入所述预设时间窗口内;其中,所述第一预设条件为所述第一网络包和所述第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset均相同,且所述第一网络包和所述第二网络包的协议类型不是均为TCP协议或UDP协议;或者,所述第一预设条件为所述第一网络包和所述第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、IP包头totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小均相同,且第一网络包和第二网络包的协议类型均为TCP协议;
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息不满足第一预设条件时,将第二特征信息不满足所述第一预设条件的所述第一网络包加入所述预设时间窗口内;
所述按照第二更新策略对所述预设时间窗口内的第二网络包进行更新的步骤,包括:
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息满足第二预设条件时,删除第二特征信息满足所述第二预设条件的所述第二网络包并将第二特征信息满足所述第二预设条件的所述第一网络包加入所述预设时间窗口内;其中,所述第二预设条件为所述第一网络包和所述第二网络包的协议类型均为TCP协议,且所述第一网络包和所述第二网络包的源端口、目的端口、IP包头totalLength、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小、源IP地址、目的IP地址、offset均相同;或者,所述第二预设条件为所述第一网络包和所述第二网络包的协议类型均为TCP协议,所述第一网络包和所述第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同,所述第一网络包和所述第二网络包既不满足所述第一网络包和所述第二网络包的源端口相同且源IP地址不相同的条件也不满足所述第一网络包和所述第二网络包的目的端口相同且目的IP地址不相同的条件,且所述第一网络包和所述第二网络包的IP包头totalLength、TCP包头序列号、TCP包头确认序列号、offset及TCP包头窗口大小均相同;
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息不满足第二预设条件时,将第二特征不满足所述第二预设条件的所述第一网络包加入所述预设时间窗口内。
2.如权利要求1所述的方法,其特征在于,所述第一网络包加入所述预设时间窗口内的步骤之前还包括:
若所述预设时间窗口已满,则删除最先加入所述预设时间窗口内的第二网络包。
3.如权利要求1所述的方法,其特征在于,所述预设时间窗口是依据所述网络转发设备的包转发率预先设定的。
4.如权利要求1所述的方法,其特征在于,所述网络转发设备包括交换机、路由器中的至少一种。
5.一种网络包去重装置,其特征在于,应用于网络分流设备,所述网络分流设备与网络转发设备通信连接,所述装置包括:
接收模块,用于接收所述网络转发设备发送的第一网络包,并依据OSI网络七层模型对所述第一网络包逐层解封装得到所述第一网络包的特征信息;
更新模块,用于依据所述第一网络包的特征信息和预设时间窗口内的第二网络包的特征信息对所述预设时间窗口内的第二网络包进行更新,其中,所述第一网络包的特征信息和所述第二网络包的特征信息均包含数据链路层头部信息、网络层头部信息、传输层头部信息以及用户数据信息;
其中,所述特征信息包括第一特征信息和第二特征信息;所述第一特征信息是用户数据信息、源MAC地址、目的MAC地址及链路层协议类型;所述第二特征信息是网络层包头信息和传输层包头信息中的特定信息;所述第一网络包和所述第二网络包的网络层包头信息和传输层包头信息中的相关字段包括IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、IP包头totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小;
所述更新模块,具体用于:
若所述第一网络包的第一特征信息和所述预设时间窗口内的第二网络包的第一特征信息满足第一特征条件时,按照第一更新策略对所述预设时间窗口内的第二网络包进行更新;其中,所述第一特征条件为所述第一网络包和所述第二网络包的用户数据信息、链路层协议类型、源MAC地址和目的MAC地址均相同;
若所述第一网络包的第一特征信息和所述预设时间窗口内的第二网络包的第一特征信息满足第二特征条件时,按照第二更新策略对所述预设时间窗口内的第二网络包进行更新;其中,所述第二特征条件为所述第一网络包和所述第二网络包的用户数据信息和链路层协议类型均相同,且所述第一网络包和所述第二网络包的源MAC地址和目的MAC地址均不相同;
所述更新模块,更具体用于:
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息满足第一预设条件时,删除第二特征信息满足所述第一预设条件的所述第二网络包并将第二特征信息满足所述第一预设条件的所述第一网络包加入所述预设时间窗口内;其中,所述第一预设条件为所述第一网络包和所述第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset均相同,且所述第一网络包和所述第二网络包的协议类型不是均为TCP协议或UDP协议;或者,所述第一预设条件为所述第一网络包和所述第二网络包的IP标识、协议类型、源IP地址、目的IP地址、TTL、offset、源端口、目的端口、IP包头totalLength、TCP包头检验和、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小均相同,且第一网络包和第二网络包的协议类型均为TCP协议;
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息不满足第一预设条件时,将第二特征信息不满足所述第一预设条件的所述第一网络包加入所述预设时间窗口内;
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息满足第二预设条件时,删除第二特征信息满足所述第二预设条件的所述第二网络包并将第二特征信息满足所述第二预设条件的所述第一网络包加入所述预设时间窗口内;其中,所述第二预设条件为所述第一网络包和所述第二网络包的协议类型均为TCP协议,且所述第一网络包和所述第二网络包的源端口、目的端口、IP包头totalLength、TCP包头序列号、TCP包头确认序列号、TCP包头窗口大小、源IP地址、目的IP地址、offset均相同;或者,所述第二预设条件为所述第一网络包和所述第二网络包的协议类型均为TCP协议,所述第一网络包和所述第二网络包的源端口或者目的端口中只有源端口相同或者只有目的端口相同,所述第一网络包和所述第二网络包既不满足所述第一网络包和所述第二网络包的源端口相同且源IP地址不相同的条件也不满足所述第一网络包和所述第二网络包的目的端口相同且目的IP地址不相同的条件,且所述第一网络包和所述第二网络包的IP包头totalLength、TCP包头序列号、TCP包头确认序列号、offset及TCP包头窗口大小均相同;
若所述第一网络包的第二特征信息和所述预设时间窗口内的第二网络包的第二特征信息不满足第二预设条件时,将第二特征不满足所述第二预设条件的所述第一网络包加入所述预设时间窗口内。
6.一种网络分流设备,其特征在于,所述网络分流设备与网络转发设备通信连接,所述网络分流设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106972.3A CN109039947B (zh) | 2018-09-21 | 2018-09-21 | 网络包去重方法、装置、网络分流设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106972.3A CN109039947B (zh) | 2018-09-21 | 2018-09-21 | 网络包去重方法、装置、网络分流设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109039947A CN109039947A (zh) | 2018-12-18 |
CN109039947B true CN109039947B (zh) | 2022-07-05 |
Family
ID=64617586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811106972.3A Active CN109039947B (zh) | 2018-09-21 | 2018-09-21 | 网络包去重方法、装置、网络分流设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109039947B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131479B (zh) * | 2019-12-27 | 2022-04-05 | 迈普通信技术股份有限公司 | 流量处理方法、装置及分流器 |
CN112491745B (zh) * | 2020-11-17 | 2023-03-28 | 广州西麦科技股份有限公司 | 一种流量去重方法和装置 |
CN114157730A (zh) * | 2021-10-26 | 2022-03-08 | 武汉光迅信息技术有限公司 | 一种报文去重的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110206055A1 (en) * | 2010-02-24 | 2011-08-25 | Patrick Pak Tak Leong | Method and packet switch appliance for performing packet deduplication |
US8462781B2 (en) * | 2011-04-06 | 2013-06-11 | Anue Systems, Inc. | Systems and methods for in-line removal of duplicate network packets |
CN102833146B (zh) * | 2011-06-17 | 2015-07-22 | 华为技术有限公司 | 一种网络去重的方法和设备 |
CN106209840A (zh) * | 2016-07-12 | 2016-12-07 | 中国银联股份有限公司 | 一种网络包去重方法及装置 |
-
2018
- 2018-09-21 CN CN201811106972.3A patent/CN109039947B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109039947A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10148573B2 (en) | Packet processing method, node, and system | |
CN110808913B (zh) | 报文处理的方法、装置及相关设备 | |
CN109039947B (zh) | 网络包去重方法、装置、网络分流设备及存储介质 | |
CN113055127B (zh) | 数据报文去重与传输方法、电子设备及存储介质 | |
US10791051B2 (en) | System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment | |
US8599692B2 (en) | System, apparatus and method for removing unwanted information from captured data packets | |
WO2021128927A1 (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
CN110278152B (zh) | 一种建立快速转发表的方法及装置 | |
CN113037681B (zh) | Acl规则管理方法、装置、计算机设备及计算机可读介质 | |
WO2017219868A1 (zh) | Arp条目的处理方法及装置 | |
JP6070863B2 (ja) | パケット処理方法及び転送要素 | |
CN117354253A (zh) | 一种网络拥塞通知方法、装置及存储介质 | |
CN109995603B (zh) | 一种Tag模型下丢包测量的方法、装置及电子设备 | |
CN113037691A (zh) | 报文处理方法、装置及系统 | |
CN113132273B (zh) | 一种数据转发方法及装置 | |
CN110365667B (zh) | 攻击报文防护方法、装置、电子设备 | |
CN111200505B (zh) | 一种报文处理方法及装置 | |
US10917502B2 (en) | Method for using metadata in internet protocol packets | |
CN107483334B (zh) | 一种报文转发的方法及装置 | |
US11811643B2 (en) | System and method for managing computing resources | |
US10063487B2 (en) | Pattern matching values of a packet which may result in false-positive matches | |
WO2016192208A1 (zh) | 虚拟局域网vlan过滤处理方法及装置 | |
CN116346722A (zh) | 一种报文处理方法及装置 | |
CN115346287A (zh) | 信息配置方法及装置 | |
US9800591B2 (en) | Method and apparatus for processing packet on trill network |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Network packet deduplication method, device, network diversion device, and storage medium Granted publication date: 20220705 Pledgee: Agricultural Bank of China Limited Guangzhou Development Zone Branch Pledgor: GUANGZHOU VCMY TECHNOLOGY Co.,Ltd. Registration number: Y2024980007367 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |