一种用于数据包过滤的统一驱动的制作方法

    技术2026-08-18  11


    本发明涉及统一驱动领域,具体是涉及一种用于数据包过滤的统一驱动。


    背景技术:

    1、包过滤是路由器和防火墙等网络设备的基本技术之一。数据包过滤有许多模型或算法,如cspf(cmu/stanford packet filter)和bpf(berkeley packet filter,伯克利数据包过滤器)、ebpf、linux套接字过滤(lsf)等。对于linux开发人员来说,lsf(基于bpf和ebpf)是一种众所周知且广泛应用的技术,可以应用于tcpdump、网络数据包采集或用户级定义的过滤。然而,在某些特殊情况下,这种模型并不总是有效的,例如客户框架是非标准以太网框架,或者客户内核模块需要干预来处理框架。现在,一种名为统一驱动程序的新的数据包过滤技术可以应用于以太网产品,以解析和过滤不同的以太网帧,它提供灵活、高性能的方法来识别和过滤任何具有某些特征的帧,它不仅适用于标准以太网帧,也适用于非标准以太网帧。此外,还提供一种使用用户定义的linux内核模块处理不同协议帧的通用方法。

    2、在数据包过滤技术中,bpf/ebpf绝对是一个优秀的技术,许多linux工具/应用程序都是基于它的,如bpfilter、tcpdump、wireshark、网络数据包采集等。毫无疑问,bpf/ebpf在数据包筛选方面是强大而高性能的,虽然有它的优势,但bpf/ebpf并不总是每种情况下的最佳选择。例如,ebpf允许用户向内核注册一个钩子来修改帧,但这个钩子有很多限制,不允许循环,而且大小有限。因此,在许多情况下,用户必须编写客户内核模块来自由处理帧。另一种情况是,随着滤波器数量的增加,性能将急剧下降。现在,数据包过滤的统一驱动程序提供一种新的通用过滤和处理任何客户帧的方法,它也可以根据个人需求进行定制,例如,对于一些特定和复杂的过滤器、一些非标准以太网帧或linux内核模块中的一些特殊过程。

    3、所有过滤器都在由每个网络设备配置的全局过滤器表中进行管理,

    4、当一个帧到达统一驱动程序所连接的以太网接口时,将迭代过滤器表,并将过滤器条目与每个帧进行比较,一旦该帧的特征与过滤器条目匹配,它将被转发到相应的网络设备,相关客户linux内核模块驱动程序将负责对该帧的进一步处理,然后将其发送到ip堆栈或应用程序。

    5、它旨在提供数据包过滤和处理的统一驱动程序,因为目前的技术无法适应我们的所有要求。

    6、本发明的统一驱动程序架构适用于各种网络系统,这里的示例仅作为合适的示例提及,换言之,本发明的通用分布式架构适合并优化用于但不限于以太网交换机产品,可以很容易地应用于其他产品


    技术实现思路

    1、为解决上述技术问题,提供一种用于数据包过滤的统一驱动,本技术方案解决了上述背景技术中提出的问题。

    2、为达到以上目的,本发明采用的技术方案为:

    3、一种用于数据包过滤的统一驱动,包括:

    4、至少一种典型场景的切换;

    5、进行接收方向层次结构设置;

    6、进行接收方向流程处理;

    7、进行发送方向层次结构设置;

    8、进行发送方向流程处理;

    9、进行统一驱动程序类的层次结构设置;

    10、进行统一驱动程序过滤表流程设置;

    11、设置过滤器入口规则。

    12、优选的,所述至少一种典型场景的切换包括以下步骤:

    13、至少一种典型场景,由典型场景1、典型场景2、典型场景3构成;

    14、在典型场景1中,子卡单元控制fpga能够直接将帧传输到主控单元,统一驱动程序安装在主控单元上,以负责处理来自管理隧道的帧;

    15、在典型场景2中,统一驱动程序同时安装在主控单元和子卡单元上,子卡单元中安装设置有一个l2交换机,l2交换机控制子卡单元将帧发送回同一个交换机上;

    16、在典型场景3中,统一驱动程序安装在主控单元和子卡单元上,子卡单元设置有两个l2交换机(或以太网端口),其中一个所述l2交换机用于内部数据帧的交换,另一个所述l2交换机用于远程数据帧的交换。

    17、优选的,所述进行接收方向层次结构设置包括以下步骤:

    18、统一驱动程序用于处理网络设备的处理器在大量过滤器和接口上的不同协议帧,统一驱动程序的层次结构用以表示以太网接口上接收和处理帧的方式。

    19、优选的,所述进行接收方向流程处理包括以下步骤:

    20、平台驱动程序自行连接到选定的网络处理接口,平台驱动程序对自定义平台驱动程序的安装进行检查;

    21、在已对自定义平台驱动程序进行安装时,平台驱动程序将帧移交给该驱动器进行初始处理和适配;

    22、在未对自定义平台驱动程序进行安装时,平台驱动程序则将帧移交给滤波器/解复用层。

    23、优选的,所述进行发送方向层次结构设置包括以下步骤:

    24、帧被统一驱动程序发送到子模块类,子模块类对帧进行摘除短波标签、添加硬件标签、添加虚拟区域网路等方式进行处理,在帧被处理后将通过网络设备队列发送。

    25、优选的,所述进行发送方向流程处理包括以下步骤:

    26、在帧被发送至协议层后,自定义协议层驱动程序与虚拟接口相关联,虚拟接口接收的帧在该驱动程序中进行处理;

    27、协议层驱动程序负责对帧进行预处理并将其移交给复用层,复用层收集到从所有协议层驱动器分离的帧,并将收集到的帧多路复用成单个数据流,并将数据流移交给平台层;

    28、平台层在接收到复用层传输而来的数据流后,将数据流发送出网络接口。

    29、优选的,所述进行统一驱动程序类的层次结构设置包括以下步骤:

    30、设置滤波器驱动、基础平台驱动、子类平台、以太网驱动程序、操作维护管理功能驱动程序和基础平台驱动对象;

    31、滤波器驱动提供滤波器上至少一种滤波操作的方法,基础平台驱动提供至少一种解析/处理帧的方法,子类平台提供一些特定于产品的方法;

    32、以太网驱动程序、操作维护管理功能驱动程序处理要素框架,通过以太网驱动程序、操作维护管理功能驱动程序内部的基础平台驱动对象以操作过滤器。

    33、优选的,所述进行统一驱动程序过滤表流程设置包括以下步骤:

    34、设置筛选器表,筛选器表包含筛选器条目;

    35、筛选器条目由至少一个特征规则和至少一个特征操作组成,特征规则提供滤波器驱动所需检查的特性种类以及对特性的比较处理规则,特征操作提供滤波器驱动帧的匹配处理方式。

    36、优选的,所述设置过滤器入口规则包括以下步骤:

    37、设置帧在过滤器入口的至少一个特性规则,获取特性规则的使用范围和使用方案描述。

    38、与现有技术相比,本发明的有益效果在于:

    39、(1)统一驱动程序过滤器非常简单易用。虽然其他的可能要复杂得多,例如bpf/ebpf过滤代码并不简单,但它需要使用网络数据包采集的编译器进行编译,然后通过so_attach_filter选项将其发送到内核,如果您的过滤代码通过了内核检查,则立即开始在该套接字上过滤数据。

    40、(2)滤波器非常灵活,每个筛选器条目的规则可以是任意填充的帧的组合,如dest/src ip、dest/src mac、vlan、ethertype、udp端口、字节比较、一些特定特性等。一个规则可以在逻辑and、or、nor、xor运算中与其他规则组合。

    41、(3)对每个帧进行预解析可以加速过滤。

    42、(4)框架的进程可以在客户的linux内核模块中自定义。

    43、(5)统一驱动程序技术可以应用于网络设备处理器需要在大量过滤器或接口上处理许多不同协议帧的典型情况。


    技术特征:

    1.一种用于数据包过滤的统一驱动,其特征在于,包括:

    2.根据权利要求1所述的一种用于数据包过滤的统一驱动,其特征在于,所述至少一种典型场景的切换包括以下步骤:

    3.根据权利要求2所述的一种用于数据包过滤的统一驱动,其特征在于,所述进行接收方向层次结构设置包括以下步骤:

    4.根据权利要求3所述的一种用于数据包过滤的统一驱动,其特征在于,所述进行接收方向流程处理包括以下步骤:

    5.根据权利要求4所述的一种用于数据包过滤的统一驱动,其特征在于,所述进行发送方向层次结构设置包括以下步骤:

    6.根据权利要求5所述的一种用于数据包过滤的统一驱动,其特征在于,所述进行发送方向流程处理包括以下步骤:

    7.根据权利要求6所述的一种用于数据包过滤的统一驱动,其特征在于,所述进行统一驱动程序类的层次结构设置包括以下步骤:

    8.根据权利要求7所述的一种用于数据包过滤的统一驱动,其特征在于,所述进行统一驱动程序过滤表流程设置包括以下步骤:

    9.根据权利要求8所述的一种用于数据包过滤的统一驱动,其特征在于,所述设置过滤器入口规则包括以下步骤:


    技术总结
    本发明公开了一种用于数据包过滤的统一驱动,涉及统一驱动领域,包括:至少一种典型场景的切换,进行接收方向层次结构设置,进行接收方向流程处理,进行发送方向层次结构设置,进行发送方向流程处理,进行统一驱动程序类的层次结构设置,进行统一驱动程序过滤表流程设置,设置过滤器入口规则,在本发明中,统一驱动程序过滤器非常简单易用。虽然其他的可能要复杂得多,例如BPF/eBPF过滤代码并不简单,但它需要使用网络数据包采集的编译器进行编译,然后通过SO_ATTACH_filter选项将其发送到内核,如果您的过滤代码通过了内核检查,则立即开始在该套接字上过滤数据;滤波器非常灵活,每个筛选器条目的规则可以是任意填充的帧的组合。

    技术研发人员:尹威威
    受保护的技术使用者:深圳奥维领芯科技有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-47092.html

    最新回复(0)