CN116545978A - 数据处理方法、装置、系统、可读存储介质及进口网卡 - Google Patents

数据处理方法、装置、系统、可读存储介质及进口网卡 Download PDF

Info

Publication number
CN116545978A
CN116545978A CN202310556159.0A CN202310556159A CN116545978A CN 116545978 A CN116545978 A CN 116545978A CN 202310556159 A CN202310556159 A CN 202310556159A CN 116545978 A CN116545978 A CN 116545978A
Authority
CN
China
Prior art keywords
data packet
target
data processing
processed
network card
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.)
Granted
Application number
CN202310556159.0A
Other languages
English (en)
Other versions
CN116545978B (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.)
Shenzhen Shixi Technology Co ltd
Original Assignee
Shenzhen Shixi 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 Shenzhen Shixi Technology Co ltd filed Critical Shenzhen Shixi Technology Co ltd
Priority to CN202310556159.0A priority Critical patent/CN116545978B/zh
Publication of CN116545978A publication Critical patent/CN116545978A/zh
Application granted granted Critical
Publication of CN116545978B publication Critical patent/CN116545978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/2596Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Technology Law (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据处理方法、装置、系统、可读存储介质及进口网卡,属于计算机技术领域。该方法包括:当接收到客户端发送的连接请求时,触发eBPF程序;在接收到客户端发送的数据包时,基于eBPF程序拦截目标协议类型的数据包,作为待处理数据包;根据应用网关的IP层信息以及MAC地址,修改待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的待处理数据包转发至应用网关。解决了当前网关类型产品的透明部署存在性能瓶颈导致服务器卡顿的技术问题,达到了在不改变网络拓扑与网络配置的前提下,对数据包在进入内核协议栈之前就进行处理,使得整个系统的延迟得到了有效改善,从整体上提升了系统的传输速度的技术效果。

Description

数据处理方法、装置、系统、可读存储介质及进口网卡
技术领域
本申请涉及计算机技术领域,尤其涉及数据处理方法、装置、系统、可读存储介质及进口网卡。
背景技术
应用网关是将一个网络与另一个网络进行相互连通,提供特定应用的网络间设备,应用网关必须能实现相应的应用协议。应用网关可以看做是运行于要求特定业务的客户机与提供所需业务的服务器之间的中间过程。
透明部署是网关类型产品的一种部署模式。在Linux操作系统中,透明部署一般采用netfilter(内核空间的数据包处理框架)提供的配置工具iptables(用户空间的管理工具)进行配置,在内核协议栈对数据包进行处理。然而,随着互联网流量越来越大,网卡性能越来越强,iptables/netfilter(包过滤防火墙)会导致数据被很快地收入,而协议栈复杂的处理逻辑,会把大量报文堵在内核里,从而导致服务器卡顿。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种数据处理方法、装置、设备及可读存储介质,旨在解决当前网关类型产品的透明部署存在性能瓶颈,从而导致服务器卡顿的技术问题。
本申请实施例提供了一种数据处理方法,所述数据处理方法包括以下步骤:
当接收到客户端发送的连接请求时,触发eBPF程序;
在接收到客户端发送的数据包时,基于所述eBPF程序拦截目标协议类型的所述数据包,作为待处理数据包;
根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关。
可选地,所述基于所述eBPF程序拦截目标协议类型的数据包之前,还包括:
在接收到客户端发送的数据包时,确定所述数据包的协议类型,以及
根据网络地址转换规则表确定目标协议类型;
当所述协议类型为所述目标协议类型之外的其它类型时,通过网桥将所述数据包发送至目标服务器。
可选地,所述当接收到客户端发送的连接请求时,触发eBPF程序之前,还包括:
接收到编写指令时,生成eBPF源程序;
接收到编译指令时,将所述eBPF源程序编译成BPF字节码;
接收到加载指令时,将编译后的BPF字节码加载到所述进口网卡上,所述eBPF程序内置网络地址转换规则表。
可选地,所述根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关的步骤之后还包括:
在所述进口网卡的出口方向,基于预设缓存表,将源IP还原为原始目标IP。
此外,为实现上述目的,本申请还提供一种数据处理装置,所述装置包括:
触发模块,用于当接收到客户端发送的连接请求时,触发eBPF程序;
拦截模块,用于在接收到客户端发送的数据包时,基于所述eBPF程序拦截目标协议类型的所述数据包,作为待处理数据包;
转发模块,用于根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关。
此外,为实现上述目的,本申请还提供一种进口网卡,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现上述的数据处理方法的步骤。
此外,为实现上述目的,本申请还提供一种数据处理系统,所述数据处理系统包括如上所述的进口网卡;所述数据处理系统还包括出口网卡和应用网关,所述进口网卡和所述出口网卡之间基于Linux网桥联通。
此外,为实现上述目的,本申请还提供一种可读存储介质,所述可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述的数据处理方法的步骤。
此外,为实现上述目的,本申请还提供一种数据处理方法,应用于应用网关,所述数据处理方法包括以下步骤:
接收到eBPF程序转发的待处理数据包时,判断所述待处理数据包的客户端是否具有访问权限;
若是,则读取所述待处理数据包的资源访问请求;
若否,则将所述待处理数据包丢弃,并反馈无权访问至所述客户端。
可选地,所述若是,则读取所述待处理数据包的资源访问请求的步骤之后,包括:
判断所述资源访问请求对应的资源是否存在;
若否,则发送所述资源访问请求至目标服务器;
若是,则读取所述资源。
在本申请中,为了解决当前网关类型产品的透明部署存在性能瓶颈导致服务器卡顿的技术问题,本申请通过在进口网卡上加载eBPF程序,对数据包在进入内核协议栈之前就进行处理,并转发目标协议类型的数据包至应用网关以实现间接访问。达到了在不改变网络拓扑与网络配置的前提下,有效改善整个系统的延迟,从整体上提升系统的传输速度的技术效果。
附图说明
图1为本申请数据处理方法第一实施例的流程图;
图2为本申请数据处理方法第二实施例的流程图;
图3为本申请数据处理方法第三实施例的流程图;
图4为本申请数据处理装置第一实施例的功能模块图;
图5是本申请实施例方案涉及的硬件运行环境的进口网卡的结构示意图;
图6为本申请数据处理系统第一实施例的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
透明部署是网关类型产品的一种部署模式。在Linux操作系统中,透明部署一般采用netfilter(内核空间的数据包处理框架)提供的配置工具iptables(用户空间的管理工具)进行配置,在内核协议栈对数据包进行处理。然而,随着互联网流量越来越大,网卡性能越来越强,iptables/netfilter(包过滤防火墙)会导致数据被很快地收入,而协议栈复杂的处理逻辑,会把大量报文堵在内核里,从而导致服务器卡顿。
为了解决当前网关类型产品的透明部署存在性能瓶颈导致服务器卡顿的技术问题,本申请通过在进口网卡上加载eBPF程序,对数据包在进入内核协议栈之前就进行处理,并转发目标协议类型的数据包至应用网关以实现间接访问。达到了在不改变网络拓扑与网络配置的前提下,有效改善整个系统的延迟,从整体上提升系统的传输速度的技术效果。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本申请实施例提供了一种数据处理方法,参照图1,图1为本申请一种数据处理方法第一实施例的流程示意图。
本实施例中,所述数据处理方法应用于进口网卡,包括:
步骤S10:当接收到客户端发送的连接请求时,触发eBPF程序;
需要了解的是,XDP是Linux网络路径上内核集成的数据包处理器,具有安全、可编程、高性能的特点。当网卡驱动程序收到客户端发送的数据包时,该处理器执行BPF程序。XDP可以在数据包进入协议栈之前就进行处理,因此具有很高的性能,可用于DDoS防御、防火墙、负载均衡等领域。
BPF(Berkeley Packet Filter)的目的是提供一种包过滤方法:通过从用户空间向内核注入字节码的方式,对每个接收包进行过滤。随后,该技术被移植到了Linux上,并与内核中的即时编译技术(JIT)相结合,使BPF成了一个性能卓越的技术,被应用于tcpdump等应用上。2013年,BPF技术得到进一步改造,并被重命名为eBPF(extended Berkeley PacketFilter),将以前的BPF称为cBP F(classicBerkeley Packet Filter)。相较于cBPF,eBPF更接近于原生机器语言,性能更加卓越。目前,除非指出eBPF和cBPF之间的明确区别,一般现在说的BPF就是指eBPF。
可选地,XDP处理框架直接接管网卡的RX(接收)数据包,每当进口网卡接收到一个数据包就会触发并执行挂载在网卡驱动上的eBPF程序。
步骤S11:在接收到客户端发送的数据包时,确定所述数据包的协议类型,以及
步骤S12:根据网络地址转换规则表确定目标协议类型;
步骤S13:当所述协议类型为所述目标协议类型之外的其它类型时,通过网桥将所述数据包发送至目标服务器。
可选地,eBPF程序可以对数据包进行逐层解析、按规则进行过滤,或者对数据包进行封装或者解封装,修改字段对数据包进行转发等。在本实施例中,在NAT(NetworkAddress Translation,网络地址转换)规则表中预设需要拦截的数据包的目标协议类型。
eBPF程序接收到客户端发送的数据包时,先通过解析确定该数据包的协议类型,再读取网络地址转换规则表,确定需要被拦截的目标协议类型,若是目标协议类型之外的数据包(比如ARP协议、ICMP协议的数据包)直接放行,通过网桥将所述数据包发送至目标服务器。
步骤S20:在接收到客户端发送的数据包时,基于所述eBPF程序拦截目标协议类型的所述数据包,作为待处理数据包;
可选地,若是目标协议类型的数据包例如TCP、UDP等协议的数据包,则对该数据包进行拦截并作处理。
步骤S30:根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关。
可选地,挂载到网桥进口的eBPF程序,内置一张NAT规则表,该规则表可以通过散列表(Hash table,也叫哈希表)实现,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash)函数。
该哈希表实现的NAT规则表包含原始目标IP、原始目标端口、修改后的目标IP、修改后的目标端口、目标协议类型等信息。
需要了解的是,应用网关是软硬件结合的设备,本实施例中所指应用网关的IP层信息包括NAT规则表中修改后的目标IP、修改后的目标端口。本实施例中的应用网关的MAC地址为该应用网关所监听的网桥的MAC地址。
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,简单的网桥有两个端口,复杂些的网桥可以有更多的端口。
网桥工作在数据链路层(L2)。以太网中,数据链路层地址就是mac地址,网桥与hub(集线器)的区别在于,网桥会过滤mac,只有目的mac地址匹配的数据才会发送到出口。一个bridge指的是一个输入到一个输出的桥接。
在网桥进口的物理网卡的驱动上,发送到协议栈之前,在Ingress(进口)方向中对于被拦截的数据包,提取数据包IP层的信息,当该数据包的目标IP、目标端口、协议类型跟NAT规则表中所设规则匹配后,将原始目标IP修改为规则条目所设的修改后的目标IP、原始目标端口规则条目所设的修改后的目标端口。以使待处理数据包到达应用网关后被操作系统协议栈处理。接着将被拦截的待处理数据包目的MAC地址修改为网桥的MAC地址,以使待处理数据包在以太网中到达该应用网关。此时原本发往真正目标服务器的数据包就会被监听在网桥IP地址上的网关应用程序(应用网关)所劫持,应用网关可以对该数据包做相应处理后,再转发至真正的目标服务器。
可选地,在本实施例中,以应用网关为代理服务器为例,相较于访问代理服务器的IP地址后,通过代理服务器间接访问业务对应的IP地址和端口,本申请运用NAT技术,在代理服务器与访问业务之间进行一个地址映射,以实现用户端访问业务对应的IP以及端口,基于地址映射,通过代理服务器间接访问业务,进而通过代理服务器对用户端的访问进行限制,可以做到无需改变用户的访问习惯,并且即使代理服务器不稳定,关闭代理服务器,对用户正常访问业务也没有影响。
进一步地,步骤S30之后包括:
步骤S31:在所述进口网卡的出口方向,基于预设缓存表,将源IP还原为原始目标IP。
可选地,在通用的哈希表算法、LRU缓存算法基础上建立一张预设缓存表。LRU是Least Recently Used的缩写,即最近最少使用,内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。
该预设缓存表用来进行连接跟踪,其上记录有数据包的地址转换记录。在网桥进口的网卡上,在Egress(出口)方向中,利用预设缓存表将源IP还原为原始目标IP。
需要了解的是,数据包的IP地址包含两个IP信息,分别是源IP和目标IP,分别表示数据包的来处和去处。
在本申请中,为了解决当前网关类型产品的透明部署存在性能瓶颈导致服务器卡顿的技术问题,本申请通过在进口网卡上加载eBPF程序,对数据包在进入内核协议栈之前就进行处理,并转发目标协议类型的数据包至应用网关以实现间接访问。达到了在不改变网络拓扑与网络配置的前提下,有效改善整个系统的延迟,从整体上提升系统的传输速度的技术效果。
基于上述实施例,参照图2,提供本申请的第二实施例,进一步地,所述步骤S10之前包括:
步骤S01:接收到编写指令时,生成eBPF源程序;
步骤S02:接收到编译指令时,将所述eBPF源程序编译成BPF字节码;
步骤S03:接收到加载指令时,将编译后的BPF字节码加载到所述进口网卡上,所述eBPF程序内置网络地址转换规则表。
可选地,在第一实施例中已经介绍到eBPF的前身是BPF,BPF是Linux内核中高度灵活和高效的类似虚拟机的技术,允许以安全的方式在各个挂钩点执行字节码。它用于许多Linux内核子系统,最突出的是网络、跟踪和安全(例如沙箱)。
BPF是一个通用目的RISC指令集,其最初的设计目标是:用C语言的一个子集编写程序,然后用一个编译器后端(例如LLVM)将其编译成BPF指令,稍后内核再通过一个位于内核中的(in-kernel)即时编译器(JIT Compiler)将BPF指令映射成处理器的原生指令(opcode),以取得在内核中的最佳执行性能。
BPF不仅通过提供其指令集来定义自己,而且还通过提供围绕它的进一步基础设施,例如充当高效键/值存储的映射、与内核功能交互并利用内核功能的辅助函数、调用其他BPF程序的尾调用、安全加固原语、用于固定对象(地图、程序)的伪文件系统,以及允许将BPF卸载到网卡的基础设施。
LLVM(LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-ti me)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。)提供了一个BPF后端,因此可以使用像clang这样的工具将C编译成BPF目标文件(BPF字节码),然后可以使用标准加载器iproute2或自定义加载器将编译后的BPF字节码加载至内核中或是进口网卡中的单片机之中。BPF与Linux内核紧密相连,允许在不牺牲本机内核性能的情况下实现完全可编程。
在本实施例中,通过编译器使用C语言编译得到BPF字节码,进而使用加载器将其加载到内核中,可以做到在不牺牲本机内核性能的情况下实现完全可编程。
此外,本申请实施例还提供了一种数据处理方法,参照图3,图3为本申请一种数据处理方法第三实施例的流程示意图。
本实施例中,所述数据处理方法应用于应用网关,包括:
步骤S40:接收到eBPF程序转发的待处理数据包时,判断所述待处理数据包的客户端是否具有访问权限;
应用网关是将一个网络与另一个网络进行相互连通,提供特定应用的网际间设备,应用网关必须能实现相应的应用协议。应用网关可以看做是运行于要求特定业务的客户机与提供所需业务的服务器之间的中间过程。应用网关在这类过程中,在客户机来看它起着服务器的作用,而在服务器来看它又是一个客户机。
在本实施例中,利用应用网关对用户进行分级管理,设置不同用户的访问权限,对外界或内部的Internet地址进行过滤,设置不同的访问权限。具体表现为,在接收到eBPF程序转发的待处理数据包时,先判断对该待处理数据包进行解析,并判断该待处理数据包的发送用户(客户端)是否具有访问权限。
还可以设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。
步骤S50:若是,则读取所述待处理数据包的资源访问请求;
进一步地,所述步骤S50之后包括:
步骤S51:判断所述资源访问请求对应的资源是否存在;
步骤S52:若否,则发送所述资源访问请求至目标服务器;
步骤S53:若是,则读取所述资源。
可选地,在本实施例中,增加缓冲器(Cache),提高访问速度,对经常访问的地址创建缓冲区,大大提高热门站点的访问效率。通常应用网关(例如代理服务器)都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。
若是缓冲区没有资源访问请求对应的资源,再向目标服务器请求获取。
步骤S60:若否,则将所述待处理数据包丢弃,并反馈无权访问至所述客户端。
可选地,在本实施例中,面对无权访问的用户发出的待处理数据包,反馈无权访问至所述客户端,并将该待处理数据包及时丢弃,避免占内存。
在本实施例中,相较于统一批量处理的现有技术,通过权限设置,可在接收到待处理数据包时识别待处理数据包所属用户的权限,实现分层管理,并及时丢弃无权访问的数据包,能够有效提高整体的运行效率。进一步地,基于增加的缓冲区,优先判断自身是否存在用户所需资源,可以有效提高访问速度,而不必事事请求目标服务器。
此外,本申请实施例还提出一种数据处理装置,参照图4,图4为本申请数据处理装置第一实施例的功能模块示意图。所述数据处理装置包括:
触发模块10,用于当接收到客户端发送的连接请求时,触发eBPF程序;
拦截模块20,用于在接收到客户端发送的数据包时,基于所述eBPF程序拦截目标协议类型的所述数据包,作为待处理数据包;
转发模块30,用于根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关。
其中,本申请异常动作检测装置中各模块执行的具体实施例与上述异常动作检测方法各实施例基本相同,在此不作赘述。
此外,本申请实施例还提出一种进口网卡。
参照图5,图5为本申请实施例方案涉及的硬件运行环境的进口网卡结构示意图。
如图5所示,该进口网卡可以包括:处理器1001,例如中央处理器(Cen tralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1005,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Me mory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图5中示出的结构并不构成对进口网卡的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种可读存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及数据处理程序。
在图5所示的进口网卡中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请进口网卡中的处理器1001、存储器1005可以设置在进口网卡中,所述进口网卡通过处理器1001调用存储器1005中存储的数据处理程序,并执行本申请实施例提供的数据处理方法。
由于本申请实施例所介绍的进口网卡,为实施本申请第一实施例与第二实施例的方法所应用的进口网卡,故而基于本申请第一实施例与第二实施例所介绍的方法,本领域所属人员能够了解该进口网卡的具体结构及变形,故而在此不再赘述。凡是本申请第一实施例与第二实施例的方法所采用的进口网卡都属于本申请所欲保护的范围。
此外,本申请实施例还提出一种数据处理系统。
参照图6,图6为本申请数据处理系统第一实施例的结构示意图。
如图6所示,本申请数据处理系统包括上述进口网卡100,还包括出口网卡200和应用网关300,所述进口网卡和所述出口网卡之间基于Linux网桥400联通。
本领域技术人员可以理解,图6中示出的结构并不构成对数据处理系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
由于本申请实施例所介绍的系统,为实施本申请方法所应用的数据处理系统,故而基于本申请的方法实施例,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本申请方法所采用的系统都属于本申请所欲保护的范围。
此外,本申请实施例还提出一种可读存储介质。
本申请可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
其中,本申请可读存储介质中存储的数据处理程序被处理器执行的具体实施例与上述数据处理方法各实施例基本相同,在此不作赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程进口网卡的处理器以产生一个机器,使得通过计算机或其他可编程进口网卡的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程进口网卡以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程进口网卡上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种数据处理方法,其特征在于,应用于进口网卡,所述数据处理方法包括以下步骤:
当接收到客户端发送的连接请求时,触发eBPF程序;
在接收到客户端发送的数据包时,基于所述eBPF程序拦截目标协议类型的所述数据包,作为待处理数据包;
根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关。
2.如权利要求1所述的数据处理方法,其特征在于,所述基于所述eBPF程序拦截目标协议类型的数据包之前,还包括:
在接收到客户端发送的数据包时,确定所述数据包的协议类型,以及
根据网络地址转换规则表确定目标协议类型;
当所述协议类型为所述目标协议类型之外的其它类型时,通过网桥将所述数据包发送至目标服务器。
3.如权利要求1所述的数据处理方法,其特征在于,所述当接收到客户端发送的连接请求时,触发eBPF程序之前,还包括:
接收到编写指令时,生成eBPF源程序;
接收到编译指令时,将所述eBPF源程序编译成BPF字节码;
接收到加载指令时,将编译后的BPF字节码加载到所述进口网卡上,所述eBPF程序内置网络地址转换规则表。
4.如权利要求2所述的数据处理方法,其特征在于,所述根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关的步骤之后还包括:
在所述进口网卡的出口方向,基于预设缓存表,将源IP还原为原始目标IP。
5.一种数据处理装置,其特征在于,所述装置包括:
触发模块,用于当接收到客户端发送的连接请求时,触发eBPF程序;
拦截模块,用于在接收到客户端发送的数据包时,基于所述eBPF程序拦截目标协议类型的所述数据包,作为待处理数据包;
转发模块,用于根据应用网关的IP层信息以及MAC地址,修改所述待处理数据包的目标IP、目标端口以及目的MAC地址,以将拦截的所述待处理数据包转发至应用网关。
6.一种进口网卡,其特征在于,所述进口网卡包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现如权利要求1至5中任一项所述的数据处理方法的步骤。
7.一种数据处理系统,其特征在于,所述数据处理系统包括如权利要求6所述的进口网卡;所述数据处理系统还包括出口网卡和应用网关,所述进口网卡和所述出口网卡之间基于Linux网桥联通。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有数据存储系统的控制程序,所述数据处理程序被处理器执行时实现如权利要求1至5任一项所述的数据处理方法的步骤。
9.一种数据处理方法,其特征在于,应用于应用网关,所述数据处理方法包括以下步骤:
接收到eBPF程序转发的待处理数据包时,判断所述待处理数据包的客户端是否具有访问权限;
若是,则读取所述待处理数据包的资源访问请求;
若否,则将所述待处理数据包丢弃,并反馈无权访问至所述客户端。
10.一种数据处理方法,其特征在于,所述若是,则读取所述待处理数据包的资源访问请求的步骤之后,包括:
判断所述资源访问请求对应的资源是否存在;
若否,则发送所述资源访问请求至目标服务器;
若是,则读取所述资源。
CN202310556159.0A 2023-05-16 2023-05-16 数据处理方法、装置、系统、可读存储介质及进口网卡 Active CN116545978B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310556159.0A CN116545978B (zh) 2023-05-16 2023-05-16 数据处理方法、装置、系统、可读存储介质及进口网卡

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310556159.0A CN116545978B (zh) 2023-05-16 2023-05-16 数据处理方法、装置、系统、可读存储介质及进口网卡

Publications (2)

Publication Number Publication Date
CN116545978A true CN116545978A (zh) 2023-08-04
CN116545978B CN116545978B (zh) 2024-05-17

Family

ID=87443312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310556159.0A Active CN116545978B (zh) 2023-05-16 2023-05-16 数据处理方法、装置、系统、可读存储介质及进口网卡

Country Status (1)

Country Link
CN (1) CN116545978B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996602A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 数据包的处理方法及装置、存储介质、电子设备
CN117527973A (zh) * 2024-01-04 2024-02-06 深圳鼎信通达股份有限公司 基于xdp的高速数据转发方法、装置、语音网关及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231336A (zh) * 2016-03-25 2017-10-03 中兴通讯股份有限公司 一种局域网内网资源的访问控制方法、装置及网关设备
CN109347817A (zh) * 2018-10-12 2019-02-15 厦门安胜网络科技有限公司 一种网络安全重定向的方法及装置
CN110661817A (zh) * 2019-10-25 2020-01-07 新华三大数据技术有限公司 资源访问方法、装置及服务网关
CN114036569A (zh) * 2021-11-25 2022-02-11 江苏安超云软件有限公司 基于eBPF的数据安全传输方法及装置
CN114095430A (zh) * 2021-10-14 2022-02-25 网宿科技股份有限公司 一种访问报文的处理方法、系统及工作节点
CN114745307A (zh) * 2022-02-25 2022-07-12 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN115514508A (zh) * 2021-06-21 2022-12-23 中兴通讯股份有限公司 数据包过滤方法和装置、电子设备、计算机可读存储介质
CN115589383A (zh) * 2022-09-28 2023-01-10 建信金融科技有限责任公司 基于eBPF的虚拟机数据传输方法、装置、设备及存储介质
CN115714679A (zh) * 2022-11-11 2023-02-24 中国科学院计算机网络信息中心 网络数据包处理方法、装置、电子设备及存储介质
CN116055163A (zh) * 2023-01-10 2023-05-02 中电云数智科技有限公司 一种基于eBPF XDP的登录信息获取及阻断方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231336A (zh) * 2016-03-25 2017-10-03 中兴通讯股份有限公司 一种局域网内网资源的访问控制方法、装置及网关设备
CN109347817A (zh) * 2018-10-12 2019-02-15 厦门安胜网络科技有限公司 一种网络安全重定向的方法及装置
CN110661817A (zh) * 2019-10-25 2020-01-07 新华三大数据技术有限公司 资源访问方法、装置及服务网关
CN115514508A (zh) * 2021-06-21 2022-12-23 中兴通讯股份有限公司 数据包过滤方法和装置、电子设备、计算机可读存储介质
WO2022267815A1 (zh) * 2021-06-21 2022-12-29 中兴通讯股份有限公司 数据包过滤方法和装置、电子设备、和计算机可读存储介质
CN114095430A (zh) * 2021-10-14 2022-02-25 网宿科技股份有限公司 一种访问报文的处理方法、系统及工作节点
CN114036569A (zh) * 2021-11-25 2022-02-11 江苏安超云软件有限公司 基于eBPF的数据安全传输方法及装置
CN114745307A (zh) * 2022-02-25 2022-07-12 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN115589383A (zh) * 2022-09-28 2023-01-10 建信金融科技有限责任公司 基于eBPF的虚拟机数据传输方法、装置、设备及存储介质
CN115714679A (zh) * 2022-11-11 2023-02-24 中国科学院计算机网络信息中心 网络数据包处理方法、装置、电子设备及存储介质
CN116055163A (zh) * 2023-01-10 2023-05-02 中电云数智科技有限公司 一种基于eBPF XDP的登录信息获取及阻断方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996602A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 数据包的处理方法及装置、存储介质、电子设备
CN116996602B (zh) * 2023-09-25 2024-01-26 苏州元脑智能科技有限公司 数据包的处理方法及装置、存储介质、电子设备
CN117527973A (zh) * 2024-01-04 2024-02-06 深圳鼎信通达股份有限公司 基于xdp的高速数据转发方法、装置、语音网关及介质
CN117527973B (zh) * 2024-01-04 2024-04-09 深圳鼎信通达股份有限公司 基于xdp的高速数据转发方法、装置、语音网关及介质

Also Published As

Publication number Publication date
CN116545978B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
Scholz et al. Performance implications of packet filtering with linux ebpf
CN116545978B (zh) 数据处理方法、装置、系统、可读存储介质及进口网卡
Grant et al. Smartnic performance isolation with fairnic: Programmable networking for the cloud
US8443440B2 (en) System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment
US7685254B2 (en) Runtime adaptable search processor
US11269673B2 (en) Client-defined rules in provider network environments
US10810034B2 (en) Transparent deployment of meta visor into guest operating system network traffic
US20070022474A1 (en) Portable firewall
US20070022479A1 (en) Network interface and firewall device
US20070073858A1 (en) Security of virtual computing platforms
JP2004530968A (ja) ネットワークアダプタ管理
JP2004529408A (ja) 高信頼性オペレーティングシステム
JP2004535611A (ja) 高信頼性ゲートウェイシステム
KR101076683B1 (ko) 호스트 기반의 망분리 장치 및 방법
US11539722B2 (en) Security threat detection based on process information
Csikor et al. Tuple space explosion: A denial-of-service attack against a software packet classifier
US11818099B2 (en) Efficient matching of feature-rich security policy with dynamic content using user group matching
KR101558054B1 (ko) 안티 멀웨어 시스템 및 안티 멀웨어 시스템에서의 패킷 처리 방법
JP7411775B2 (ja) インラインマルウェア検出
US20200145379A1 (en) Efficient matching of feature-rich security policy with dynamic content using incremental precondition changes
Fu High-performance software packet processing
EP3243313B1 (en) System and method for monitoring a computer system using machine interpretable code
RU2797264C1 (ru) Способ и система туннелирования трафика в распределенной сети для детонации вредоносного программного обеспечения
US10965647B2 (en) Efficient matching of feature-rich security policy with dynamic content
RU2820803C1 (ru) Способ и система туннелирования трафика в распределенной сети

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