一种流量镜像方法及装置制造方法及图纸

技术编号:38360767 阅读:9 留言:0更新日期:2023-08-05 17:30
本申请公开了一种流量镜像方法及装置,涉及流量镜像技术领域,主要目的在于降低流量镜像时发生内核死锁的概率;主要技术方案包括:在主机的内核中镜像第一网卡相关的流量得到镜像流量,其中,所述第一网卡为所述主机中需要做流量镜像的网卡;对所述镜像流量进行防死锁处理,其中,所述防死锁处理用于防止所述内核出现死锁;将防死锁处理后的镜像流量发送至流量收集方。流量收集方。流量收集方。

【技术实现步骤摘要】
一种流量镜像方法及装置


[0001]本申请涉及流量镜像
,特别是涉及一种流量镜像方法及装置。

技术介绍

[0002]流量镜像,是指将设备上的某一个端口涉及的流量数据复制到另一个端口,以通过复制得到的镜像流量供流量收集方进行与具体业务场景(比如,故障排查、网络安全)相关的分析或监控。
[0003]目前,镜像流量发送至流量收集方的过程中,经常会出现内核死锁现象,内核死锁的出现,不仅影响到镜像流量的收集,而且还会影响到内核中其他业务的正常运转。因此,如何降低流量镜像时发生内核死锁的概率成为目前亟需解决的问题。

技术实现思路

[0004]有鉴于此,本申请提出了一种流量镜像方法及装置,主要目的在于降低流量镜像时发生内核死锁的概率。
[0005]为了达到上述目的,本申请主要提供了如下技术方案:
[0006]第一方面,本申请提供了一种流量镜像方法,该流量镜像方法包括:
[0007]在主机的内核中镜像第一网卡相关的流量得到镜像流量,其中,所述第一网卡为所述主机中需要做流量镜像的网卡;
[0008]对所述镜像流量进行防死锁处理,其中,所述防死锁处理用于防止所述内核出现死锁;
[0009]将防死锁处理后的镜像流量发送至所述流量收集方。
[0010]在本申请一些实施例中,对所述镜像流量进行防死锁处理,包括:将所述镜像流量传输至回环虚拟网卡,以供所述回环虚拟网卡发送;其中,所述回环虚拟网卡用于在所述第一网卡的内核锁被释放后,将其自身发送的所述镜像流量转换为其自身接收的流量返回;将所述回环虚拟网卡返回的流量获取为防死锁处理后的镜像流量。
[0011]在本申请一些实施例中,将所述镜像流量传输至回环虚拟网卡,包括:在所述内核中对所述镜像流量的发送进程进行软中断处理,以使所述发送进程产生软中断;将所述镜像流量的目的地址切换为所述回环虚拟网卡的地址;依据所述回环虚拟网卡的地址将所述镜像流量传输至回环虚拟网卡。
[0012]在本申请一些实施例中,在将防死锁处理后的镜像流量发送至流量收集方之前,所述方法还包括:若判定防死锁处理完成,则终止所述发送进程的软中断恢复所述发送进程,并转入执行将防死锁处理后的镜像流量发送至流量收集方的步骤。
[0013]在本申请一些实施例中,该流量镜像方法还包括:若将所述镜像流量传输至所述回环虚拟网卡,则调用所述回环虚拟网卡的驱动程序将所述镜像流量添加至所述回环虚拟网卡对应的接收队列,以供所述回环虚拟网卡将接收队列中的镜像流量提取为其自身接收的流量返回。
[0014]在本申请一些实施例中,该流量镜像方法还包括:调用所述驱动程序剥离所述镜像流量中的目标数据,其中,所述目标数据为影响所述镜像流量发送至所述流量收集方的数据;将剥离目标数据的镜像流量添加至所述接收队列。
[0015]在本申请一些实施例中,在对所述镜像流量进行防死锁处理之前,该流量镜像方法还包括:判断所述镜像流量对应的被镜像流量是否为所述第一网卡待发送的流量;若是,则转入执行对所述镜像流量进行防死锁处理的步骤;否则,将所述镜像流量发送至所述流量收集方。
[0016]在本申请一些实施例中,在对所述镜像流量进行防死锁处理之前,该流量镜像方法还包括:判断所述第一网卡和负责向所述流量收集方发送所述镜像流量的第二网卡是否为同一网卡;若是,则转入执行对所述镜像流量进行防死锁处理的步骤;否则,通过所述第二网卡将所述镜像流量发送至所述流量收集方。
[0017]在本申请一些实施例中,该流量镜像方法还包括:若判定所述主机仅存在一个网卡,则将所述网卡选定为所述第二网卡;若判定所述主机存在至少两个网卡,则从所述主机存在的网卡中选定所述第二网卡;其中,每个网卡均存在对应的网段,所述流量收集方的地址与所述第二网卡对应的网段匹配。
[0018]在本申请一些实施例中,将待发送至所述流量收集方的镜像流量确定为第一流量,则,将镜像流量发送至流量收集方,包括:将所述第一流量发送至隧道设备,其中,所述隧道设备用于基于与所述流量收集方约定的传输协议封装所述第一流量;通过所述主机中的第二网卡将封装后的第一流量发送至所述流量收集方;其中,所述第二网卡为所述主机中负责向所述流量收集方发送镜像流量的网卡。
[0019]在本申请一些实施例中,在主机的内核中镜像第一网卡相关的流量得到镜像流量,包括:调用抓包程序在所述内核中抓取所述第一网卡相关的流量中满足对应条件的第二流量;镜像所述抓包程序抓取的第二流量得到所述镜像流量。
[0020]在本申请一些实施例中,调用抓包程序在所述内核中抓取所述第一网卡相关的流量中满足对应条件的第二流量,包括:若需要镜像所述第一网卡接收的流量,则调用第一抓包程序在所述内核中抓取所述第一网卡接收的流量中满足对应的条件的第二流量;其中,所述第一抓包程序用于在所述第一网卡接收的流量到达内核,且判定所述第一网卡接收的流量满足对应的条件时,将所述第一网卡接收的流量抓取为第二流量;若需要镜像所述第一网卡发送的流量,则调用第二抓包程序在所述内核中抓取所述第一网卡待发送的流量中满足对应的条件的第二流量;其中,所述第二抓包程序用于在判定所述第一网卡在所述内核中存在待发送的流量,且判定所述第一网卡待发送的流量满足对应的条件时,将所述第一网卡待发送的流量抓取为第二流量。
[0021]第二方面,本申请提供了一种流量镜像装置,该流量镜像装置包括:
[0022]镜像模块,用于在主机的内核中镜像流经第一网卡的流量得到镜像流量,其中,所述第一网卡为所述主机中需要做流量镜像的网卡;
[0023]处理模块,用于对所述镜像流量进行防死锁处理,其中,所述防死锁处理用于防止所述内核出现死锁;
[0024]发送模块,用于将防死锁处理后的镜像流量发送至流量收集方。
[0025]第三方面,本申请提供了一种计算机可读存储介质,所述存储介质包括存储的程
序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面的流量镜像方法。
[0026]第四方面,本申请提供了一种电子设备,所述电子设备包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于运行所述程序以执行第一方面的流量镜像方法。
[0027]本申请提供的流量镜像方法及装置,首先将主机中需要做流量镜像的网卡确定为第一网卡。然后在主机的内核中镜像第一网卡相关的流量得到镜像流量,再对镜像流量进行防死锁处理,以通过防死锁处理防止内核出现死锁。最后将防死锁处理后的镜像流量发送至流量收集方。可见,本申请实施例中在主机的内核中进行流量镜像,也就是,流量镜像全程在内核态完成,这样不仅能够提高流量镜像的处理速度,且能够降低对主机的CPU及内存资源的占用。另外,在对镜像流量进行防死锁处理之后,才将镜像流量发送至流量收集方,这样,无论镜像流量和镜像流量对应的被镜像流量是否通过同一网卡发送至流量收集方,均能够降低内核发现死锁的概率。
[0028]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流量镜像方法,其特征在于,所述方法包括:在主机的内核中镜像第一网卡相关的流量得到镜像流量,其中,所述第一网卡为所述主机中需要做流量镜像的网卡;对所述镜像流量进行防死锁处理,其中,所述防死锁处理用于防止所述内核出现死锁;将防死锁处理后的镜像流量发送至流量收集方。2.根据权利要求1所述的方法,其特征在于,对所述镜像流量进行防死锁处理,包括:将所述镜像流量传输至回环虚拟网卡,以供所述回环虚拟网卡发送;其中,所述回环虚拟网卡用于在所述第一网卡的内核锁被释放后,将其自身发送的所述镜像流量转换为其自身接收的流量返回;将所述回环虚拟网卡返回的流量获取为防死锁处理后的镜像流量。3.根据权利要求2所述的方法,其特征在于,将所述镜像流量传输至回环虚拟网卡,包括:在所述内核中对所述镜像流量的发送进程进行软中断处理,以使所述发送进程产生软中断;将所述镜像流量的目的地址切换为所述回环虚拟网卡的地址;依据所述回环虚拟网卡的地址将所述镜像流量传输至回环虚拟网卡。4.根据权利要求3所述的方法,其特征在于,在将防死锁处理后的镜像流量发送至流量收集方之前,所述方法还包括:若判定防死锁处理完成,则终止所述发送进程的软中断恢复所述发送进程,并转入执行将防死锁处理后的镜像流量发送至流量收集方的步骤。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:若将所述镜像流量传输至所述回环虚拟网卡,则调用所述回环虚拟网卡的驱动程序将所述镜像流量添加至所述回环虚拟网卡对应的接收队列,以供所述回环虚拟网卡将接收队列中的镜像流量提取为其自身接收的流量返回。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:调用所述驱动程序剥离所述镜像流量中的目标数据;其中,所述目标数据为影响所述镜像流量发送至所述流量收集方的数据;将剥离目标数据的镜像流量添加至所述接收队列。7.根据权利要求1所述的方法,其特征在于,在对所述镜像流量进行防死锁处理之前,所述方法还包括:判断所述镜像流量对应的被镜像流量是否为所述第一网卡待发送的流量;若是,则转入执行对所述镜像流量进行防死锁处理的步骤;否则,将所述镜像流量发送至所述流量收集方。8.根据权利要求1所述的方法,其特征在于,在对所述镜像流量进行防死锁处理之前,所述方法还包括:判断所述第一网卡和负责向所述流量收集方发送所述镜像流量的第二网卡是否为同一网卡;若是,则转入执行对所述镜像流量进行防死锁处理的步骤;否则,通过所述第二网卡将所述镜像流量发送至所述流量收集方。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:若判定所述主机仅存在一个网...

【专利技术属性】
技术研发人员:刘浩胡宇冯顾
申请(专利权)人:奇安信科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1