【技术实现步骤摘要】
一种数据转发方法、装置及系统
[0001]本申请涉及通信
,尤其涉及一种数据转发方法、装置及系统。
技术介绍
[0002]网络安全设备通常应用在两个或更多的网络之间,例如内外和外网之间,网络安全设备内的程序会对通过它的网络封包来进行分析,分析完后再按照路由规则将封包转发出去,但是当网络安全设备处于“虚拟线”模式时,将不再按照路由规则将封包转发出去,而是按照网卡映射表将封包转发出去,例如网卡A映射的网卡为网卡B,网卡A接收的数据就将由网卡B发送出去,处于“虚拟线”模式的网络安全设备相当于一根网线,从而减少网络安全设备对网络的入侵。
[0003]目前,因为处于“虚拟线”模式的网络安全设备进行软件升级或者出现逻辑异常时会导致数据断流,所以常通过支持旁路(Bypass)功能的网卡避免数据断流。由于有些网络安全设备的网卡可能不支持Bypass功能,若更换网卡,实现成本又较高,此时可通过软件的方式实现网卡的Bypass功能,例如网卡A接收的数据通过操作系统转发给网卡B发送出去,即网卡A接收的数据先从网卡A拷贝到操作系统的内 ...
【技术保护点】
【技术特征摘要】
1.一种数据转发方法,其特征在于,包括:修改网络安全设备的网卡驱动;其中,所述修改为禁用所述网卡驱动的中断和发送函数;基于所述修改后的网卡驱动,在操作系统的内核空间为所述网络安全设备的每个网卡创建直接存储器访问DMA内存队列和对应的缓冲Buffer内存队列;其中,所述DMA内存队列中的DMA内存与对应的所述Buffer内存队列中的Buffer内存一一对应,所述DMA内存队列包括接收DMA内存队列和发送DMA内存队列;将第一网卡接收到的待转发数据写入第一DMA内存对应的Buffer内存;其中,所述第一DMA内存为所述第一网卡的所述接收DMA内存队列中标识为空闲的任一DMA内存;将所述第一DMA内存对应的Buffer内存与第二DMA内存对应的Buffer内存进行交换;其中,所述第二DMA内存为第二网卡的所述发送DMA内存队列中标识为空闲的任一DMA内存,所述第二网卡为在网卡映射表中与所述第一网卡对应的网卡;将所述第二DMA内存对应的Buffer内存中的所述待转发数据写入所述第二网卡,以使所述第二网卡发送所述待转发数据。2.如权利要求1所述的方法,其特征在于,所述修改网络安全设备的网卡驱动,包括:确定所述网络安全设备是否处于预设状态;其中,所述预设状态指示所述网络安全设备进行软件升级或出现逻辑异常;若确定所述网络安全设备处于所述预设状态,则修改所述网络安全设备的网卡驱动。3.如权利要求1所述的方法,其特征在于,所述网络安全设备的每个网卡支持DMA功能;其中,所述DMA功能用于将网卡的数据拷贝到所述内核空间,以及将所述内核空间的数据拷贝到所述网卡。4.如权利要求1
‑
3任一所述的方法,其特征在于,还包括:在将第一网卡接收到的待转发数据写入第一DMA内存对应的Buffer内存之后,将所述第一DMA内存的标识由空闲修改为非空闲;在将所述第一DMA内存对应的Buffer内存与第二DMA内存对应的Buffer内存进行交换之后,将所述第一DMA内存的标识由非空闲修改为空闲,所述第二DMA内存的标识由空闲修改为非空闲。5.一种数据转发装置,其特征在于,包括:第一修改模块,用于修改网络安全设备的网卡驱动;其中,所述修改为禁用所述网卡驱动的中断和发送函数;创建模块,用于基于所述修改后的网卡驱动,在操作系统的内核空间为所述网络安全设备的每个网卡创建直接存储器访问DMA...
【专利技术属性】
技术研发人员:赵刚,谢正明,叶建伟,黄俊,叶晓虎,
申请(专利权)人:北京神州绿盟科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。