CN117651023A - 一种基于ebpf的高性能NAT模式负载均衡装置 - Google Patents
一种基于ebpf的高性能NAT模式负载均衡装置 Download PDFInfo
- Publication number
- CN117651023A CN117651023A CN202311636432.7A CN202311636432A CN117651023A CN 117651023 A CN117651023 A CN 117651023A CN 202311636432 A CN202311636432 A CN 202311636432A CN 117651023 A CN117651023 A CN 117651023A
- Authority
- CN
- China
- Prior art keywords
- message
- load balancing
- forwarding
- ebpf
- module
- 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.)
- Pending
Links
- 238000013519 translation Methods 0.000 title description 3
- 230000001133 acceleration Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 20
- 238000005516 engineering process Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的基于ebpf的高性能NAT模式负载均衡装置,包括NAT模式负载均衡流表学习模块和XDP报文转发加速模块;所述NAT模式负载均衡流表学习模块部署在tcp/ip协议栈的Netfilter模块内,对每个新增负载均衡连接生成请求流和响应流两条加速条目并保存到ebpf转发表maps;所述XDP报文转发加速模块部署在网卡驱动收包点,用于提取网卡报文五元组信息,查询所述ebpf转发表maps,如果五元组信息命中,根据ebpf转发表maps修改报文五元组信息,重定向到网卡发送,如果五元组信息没有命中,上送到协议栈进行标准内核处理。本发明将流的控制面逻辑和转发面逻辑分离,提升了NAT负载均衡器的转发性能和转发延时。
Description
技术领域
本发明涉及计算机网络技术领域,具体涉及一种基于ebpf的高性能NAT模式负载均衡装置。
背景技术
在一个业务系统中,负载均衡是必不可少的一个组件,可以提高业务系统性能、可用性和可伸缩性,同时降低系统的风险和维护复杂性。IPVS(IP Virtual Server)是一种用于负载均衡的开源软件解决方案,特别适用于Linux环境,受众多开源和商业软件选择,IPVS提供了NAT(Network Address Translation)模式、直接路由(Direct Routing)模式和隧道路由(Tunneling)模式,以适应不同的网络架构和需求。其中NAT模式因为部署组网简单、对后端服务器和中间网络设备依赖少等优点,成为小型业务系统组网首选模式。但NAT模式上下行流量都走负载均衡设备,受linux协议栈转发性能瓶颈,在处理高吞吐量和低延迟要求的情况下可能会有性能方面的限制,大流量场景下,会增加明显的延时,且单机很难达到10Gbps以上转发带宽。
随着数字化信息的急剧增加,互联网流量也大幅增长。视频、音频、图像和其他大数据类型的内容不断传输,使网络面临巨大的数据包处理压力。负载均衡设备作为业务访问中的中间设备,具备高吞吐低延时可以很好的提升用户体验。
传统的软件负载均衡设备基于linux内核协议栈实现,但内核协议栈在数据包转发时可能会表现出较慢的性能,这主要是因为内核协议栈是设计用于通用计算机网络环境,而不是专门为高性能数据包处理而优化的。以下是一些导致内核协议栈转发较慢的原因:
中断处理:内核协议栈通常使用中断来通知数据包到达,并采用轮询或中断处理程序来处理这些数据包,高负载情况下,中断处理会引入一定的开销。
数据包复制:内核通常需要将数据包的内容从网络接口的接收缓冲区复制到内核内存,再从内核内存复制到目标套接字缓冲区(如果数据包需要传递给用户空间)。这些复制操作会导致额外的内存带宽和CPU开销。
复杂的路由表查找:内核必须执行复杂的路由表查找操作以确定数据包的下一跳和出口接口。这种查找可能涉及多个路由表、ACL(访问控制列表)和策略路由规则。这些查找操作可能很耗时。
防火墙和安全性检查:内核协议栈通常包括防火墙和安全性检查功能,这些功能可以显著影响数据包处理的性能,因为它们要求深度检查和决策。
为了解决内核协议栈转发慢问题,一般通过bypass内核方式,其中DPDK(DataPlane Development Kit)是一套运行在用户空间的函数库和驱动组成,为数据平面提供高性能的数据收发和处理。虽然DPDK功能强大,但需要用户实现路由表、邻居协议、NAT功能,增加了开发成本,并且破坏了操作系统内核提供的安全性,消耗一个或多个cpu专门处理网络包,需要特殊的硬件支持。同时存在如下缺点:很难和现有系统集成,上层应用必须要将内核中已经非常成熟的模块在用户态重新实现一遍,比如路由表,连接跟踪,高层协议栈等;无法细粒度实现具体业务转发加速,DPDK是将网卡所有报文bypass内核,会影响机器上其他服务,其他上层应用要么改造适配DPDK,要么需要DPDK将报文重新发送到内核协议栈进行处理。
公开号为CN102255932A提供的负载均衡方法和负载均衡器,由于NAT负载均衡器上下行流量都经过负载均衡器,导致相同CPU配置转发性能不高,转发延迟高。公开号为CN115550366A提供了一种负载均衡方法、设备、存储介质,无法支持4层NAT模式负载均衡,只支持HASH负载算法,而本发明将负载均衡控制面由IPVS实现,ebpf只负责学习转发表和快速转发,可以和已有实现负载均衡模块结合,无需更改原负载均衡实现,收发包网卡只能是一个网卡。公开号为CN115941605提供基于eBPF技术实现透明代理的方法和系统,针对7层负载均衡装置,无法运用到4层负载均衡装置中,需要在后端服务器部署,而ebpf技术需要在高版本内核,而后端服务器不一定支持。
现有专利在负载均衡均有所尝试,但在提高转发性能上均有所不足。且经过NAT负载均衡器的报文五元组会发生改变,导致无法使用ebpf(Extended Berkeley PacketFilter)直接转发,而一般ebpf负载均衡实现只能支持直接路由模式和隧道模式。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种基于ebpf的高性能NAT模式负载均衡装置,保留了NAT负载均衡器的负载逻辑,采用ebpf技术,通过在内核学习每条新建请求经过IPVS NAT模式负载均衡后的五元组信息,后续报文参考NAT负载均衡器变化逻辑改包后快速转发,将流的控制面逻辑和转发面逻辑分离,提升了NAT负载均衡器的转发性能和转发延时。
技术方案:本发明所述基于ebpf的高性能NAT模式负载均衡装置,包括NAT模式负载均衡流表学习模块和XDP报文转发加速模块;所述NAT模式负载均衡流表学习模块部署在内核协议栈的Netfilter模块内,对每个新增负载均衡连接生成请求流和响应流两条加速条目并保存到ebpf转发表maps;所述XDP报文转发加速模块部署在网卡驱动收包点,用于提取网卡报文五元组信息,查询所述ebpf转发表maps,如果五元组信息命中,根据ebpf转发表maps修改报文五元组信息,重定向到网卡发送,如果五元组信息没有命中,上送到内核协议栈按照标准内核处理。
进一步完善上述技术方案,所述NAT模式负载均衡流表学习模块中,通过ebpfkprobe技术hook内核协议栈中netfilter模块中的连接跟踪子模块的__nf_conntrack_hash_insert函数,生成转发表maps,保存转发条目1{key:orig_五元组,value:replay_五元组},转发条目2{key:reply_五元组,value:origin_五元组},其中:orig_五元组是指原始的报文的五元组信息,replay_五元组是指转换后的报文的五元组信息,这两条转发表条目分别对应请求流和响应流。
进一步地,所述XDP报文转发加速模块通过XDP技术处理收到的报文,判断目的端口是否为负载均衡服务端口的情况下,根据NAT模式负载均衡流表学习模块的转发表maps,修改报文五元组信息,重定向到出口网卡或上送到内核协议栈进行标准内核处理。
进一步地,所述的XDP报文转发加速模块根据ebpf转发表maps修改报文五元组信息后,通过修改ip层和tcp/udp层checksum,重定向到网卡发送。
采用基于ebpf的高性能NAT模式负载均衡装置进行负载均衡方法,包括以下步骤:
S101:在内核协议栈的Netfilter模块中,使用ebpf kprobe技术hook连接跟踪子模块的__nf_conntrack_hash_insert函数,该函数用于在IPVS模块和NAT模块之后,对每个新建立的负载均衡连接进行连接跟踪,获取入向报文和出向报文的五元组信息;
S102:获取的五元组信息经过流表学习模块,生成两条转发表条目,分别为{key:orig_五元组, value:replay_五元组}和{key:reply_五元组,value:origin_五元组},将转发表条目保存到ebpf转发表maps中;
S103:在网卡驱动层,使用XDP技术挂载ebpf程序,该程序用于在收到报文后,提取报文的五元组信息,查询ebpf转发表maps,判断是否有匹配的转发表条目;
S104:如果有匹配的转发表条目,根据转发表条目中的value值,修改报文的五元组信息,同时修改ip层和tcp/udp层的校验,以及二层的mac地址,然后将报文重定向到出口网卡,实现快速转发;
S105:如果没有匹配的转发表条目,将报文上送到内核协议栈,按照标准内核流程进行处理。
进一步地,所述出向报文的五元组信息是经过IPVS模块和NAT模块根据负载均衡算法选择的realServer的IP和端口。
采用上述基于ebpf的高性能NAT模式负载均衡装置进行收发报文,包括如下步骤:
S201:网卡驱动收包;
S202:XDP转发加速模块提取驱动收包报文五元组信息;
S203:判断目的端口是否为负载均衡服务端口,若是负载均衡服务端口,执行S204,若不是,上送内核协议栈,然后执行步骤S205;
S204:根据五元组查找转发表maps是否有转发条目,如果查找到转发条目,执行S207,如果没有,上送内核协议栈,然后执行步骤S205;
S205:内核协议栈的IPVS模块根据负载均衡算法选择上游realServer,然后修改报文目的ip和端口为选择的realserver的ip和端口,根据路由查找出口网卡,负载均衡NAT模式下修改报文原ip为出口网卡ip和端口,报文经过流表学习模块,记录原五元组和修改后的五元组映射关系,形成上下行两个流表加速条目;
S206:将经过内核协议栈处理后的报文通过网卡发送到realServer;
S207:根据查找到的加速条目修改报文五元组,重定向网卡;
S208:通过重定向的网卡发送报文到realServer;
S209:回程报文步骤同S201~S208。
有益效果:与现有技术相比,本发明的优点在于:本发明中通过ebpf技术实现负载均衡控制面和转发面分离,IPVS负责负载均衡分发逻辑,内核协议栈实现NAT功能,然后通过ebpf+XDP实现流量快速转发,采用ebpf技术对4层负载均衡NAT转发hook学习转发表,提供给XDP进行报文修改,对提升性能的前提下对原应用影响小。
本发明中NAT模式负载均衡流表学习模块和XDP报文转发加速模块是插件模块,和负载均衡模块解耦,两个模块底层是linux内核ebpf技术,原生支持热插拔,不需要专属的CPU核来做包处理,低流量对应的就是低CPU使用率,相应的更加高效,且节省电力。
XDP程序在网络驱动程序刚刚收到数据包的时候触发执行,支持卸载到网卡硬件,常用于防火墙和四层负载均衡,XDP程序可以在数据包到达网卡驱动层时对其进行处理,实现bypass Linux内核协议栈,实现快速转发。本发明使用网卡中断收包,报文到达网卡触发中断才工作,而DPDK使用轮询方式收包,导致CPU一直100%运行。
本发明借助了linux内核提供的ebpf kprobe和xdp hook对报文转发进行加速,负载均衡逻辑还是由原负载均衡程序实现,只是替换了原linux协议栈转发由XDP转发实现内核仍然具有对网络硬件的控制能力,保留了内核提供的安全性,并且现有网络配置管理工具可以直接使用,兼容性更高,只需要网卡驱动更新添加XDP的执行hook点。ebpf技术是linux内核原生提供的,无需其他外部依赖,而DPDK需要绕过内核直接操作硬件,需要硬件支持。XDP可以选择性使用内核网络协议栈的功能,如路由表、TCP stack,这样可以在加速关键网络数据的同时保留现有的配置接口。
附图说明
图1是本发明所提供基于ebpf的高性能NAT模式负载均衡装置的原理框图;
图2本发明在收到报文的处理流程图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:如图1所示的基于ebpf的高性能NAT模式负载均衡装置,主要包含两部分内容:NAT模式负载均衡流表学习模块和XDP报文转发加速模块。NAT模式负载均衡流表学习模块部署在内核tcp/ip协议栈Netfilter模块内,在IPVS和NAT模块后面,对每个新增负载均衡连接生成请求流和响应流两条加速条目保存到ebpf转发表maps。XDP报文转发加速模块部署在网卡驱动收包点,用于提取网卡报文五元组信息,查询ebpf转发表maps,如果五元组信息命中,根据转发表条目修改报文五元组信息,重定向到网卡发送,如果没有命中,上送到协议栈走标准内核处理。
NAT模式负载均衡流表学习模块:此模块使用ebpf kprobe技术hook内核netfilter连接跟踪模块中的__nf_conntrack_hash_insert函数,此函数入参有入向报文五元组、出向报文五元组、网卡等信息,生成转发表maps,保存转发条目1{key:orig_五元组, value:replay_五元组},转发条目2{key:reply_五元组,value:origin_五元组}。报文的五元组信息是指报文的源IP地址,目的IP地址,源端口号,目的端口号和协议类型,它可以唯一标识一个网络连接。
XDP报文转发加速模块:XDP是高版本Linux内核提供网络处理流程中的一个eBPF钩子,能够挂载eBPF程序,它能够在网络数据包到达网卡驱动层时对其进行处理,实现bypass Linux内核协议栈,实现快速转发。该模块在收到报文后,提取报文五元组信息,根据报文五元组信息查询NAT模式负载均衡流表学习模块保存的转发表maps,如果有转发条目,就将报文五元组修改为value中保存的五元组,修改ip层和tcp/udp层checksum,修改二层mac,重定向到出口网卡。如果没有转发条目,上送到内核协议栈处理。
NAT模式负载均衡模块的基本功能是将外部的请求分配给内网的服务器,同时将内网的响应返回给外部的客户端,从而实现负载均衡和网络地址转换的功能。
NAT模式负载均衡流表学习模块是NAT模式负载均衡模块的一个重要组成部分,它的作用是根据每个新建立的负载均衡连接,生成相应的转发表条目,并保存到ebpf转发表maps中,供XDP报文转发加速模块使用。
ebpf转发表maps是一种可以在内核和用户空间共享的数据结构,它可以存储键值对,其中键是报文的五元组信息,值是报文的转换后的五元组信息。
报文的转换后的五元组信息是指报文经过NAT模块处理后,修改了部分或全部的五元组信息,以实现网络地址转换的功能。
实施例2:采用实施例1的基于ebpf的高性能NAT模式负载均衡装置进行负载均衡方法,分两个阶段,第一阶段是转发表学习阶段,此阶段报文经过XDP报文转发加速模块直接透传到内核协议栈,经过路由表、防火墙、连接跟踪、NAT转换然后到NAT模式负载均衡流表学习模块学习生成转发表。
第一阶段具体步骤如下:首先,报文会经过Netfilter模块,Netfilter模块是内核协议栈的一个通用的数据包过滤和处理框架,它提供了一些钩子点,可以在不同的位置插入自定义的函数,对报文进行处理,Netfilter模块包含IPVS子模块、NAT子模块和conntrack(连接跟踪)子模块等。当内核协议栈收到一个外部的请求报文时,会先经过IPVS模块,IPVS模块根据负载均衡规则,选择一个合适的内网服务器,将报文的目的IP地址和目的端口号修改为内网服务器的IP地址和端口号,这样就实现了负载均衡的分发功能。
然后,报文会经过NAT模块,NAT模块会将报文的源IP地址修改为根据负载均衡选择后的内网服务器IP路由查找的出口网卡IP地址,然后校验修改源IP后的五元组是否和其他流NAT后的五元组冲突,如果有冲突,则继续修改报文的源端口,依次从1024开始尝试,直至不冲突为止。
接着, NAT模式负载均衡流表学习模块使用了ebpf kprobe技术hook内核Netfilter的连接跟踪模块中的_nf_conntrack_hash_insert函数,从而获取每个新建立的负载均衡连接的信息,此函数入参有入向报文五元组、出向报文五元组、网卡等信息,生成转发表maps。根据获取的信息,NAT模式负载均衡流表学习模块生成两条转发表条目,分别为{key:orig_五元组,value:replay_五元组}和{key:reply_五元组,value:origin_五元组},其中orig_五元组是指原始的报文的五元组信息,replay_五元组是指转换后的报文的五元组信息,这两条转发表条目分别对应请求流和响应流,即从外部到内网的报文和从内网到外部的报文,NAT模式负载均衡流表学习模块将这两条转发表条目保存到ebpf转发表maps中,以便XDP报文转发加速模块查询和使用。
第二阶段XDP报文转发加速模块对相同五元组的后续报文快速转发,不再经过内核协议栈,不影响服务器上与基于内核网络协议栈交互的程序,不需要重新将网络数据包从用户空间注入到内核空间。
本发明在XDP报文转发加速模块只处理转发表有转发条目的报文,其他报文透传(按照标准内核处理),而DPDK需要把所有报文先提到用户空间。
实施例3:采用实施例2提供的方法,当网卡收到报文,如图2所示,按如下流程处理:
步骤201,网卡驱动收包;
步骤202,XDP转发加速模块提取驱动收包报文五元组信息;
步骤203,判断目的端口是否为负载均衡服务端口,如果是,报文是负载均衡服务报文,执行步骤204,如果不是,上送内核协议栈,然后执行步骤5;
步骤204,根据五元组查找转发表是否有转发条目,如果有,执行步骤7,如果没有,上送内核协议栈,然后执行步骤5;
步骤205,内置协议栈中,IPVS模块根据负载均衡规则选择上游realServer,然后修改报文目的ip和端口为选择的realserver的ip和端口,根据路由查找出口网卡,负载均衡NAT模式下经过NAT模块修改报文原ip为出口网卡的ip和端口, 报文经过流表学习模块,记录原五元组和修改后的五元组映射关系,形成上下行两个流表加速条目;
步骤206,将经过内核协议栈处理后的报文通过网卡发送到realServer;
步骤207,根据查找到的加速条目修改报文五元组,重定向网卡;
步骤208,通过重定向的网卡发送报文到realServer;
步骤209,回程报文同步骤1-8。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (7)
1.一种基于ebpf的高性能NAT模式负载均衡装置,其特征在于:包括NAT模式负载均衡流表学习模块和XDP报文转发加速模块;所述NAT模式负载均衡流表学习模块部署在内核协议栈的Netfilter模块内,对每个新增负载均衡连接生成请求流和响应流两条加速条目并保存到ebpf转发表maps;所述XDP报文转发加速模块部署在网卡驱动收包点,用于提取网卡报文五元组信息,查询所述ebpf转发表maps,如果五元组信息命中,根据ebpf转发表maps修改报文五元组信息,重定向到网卡发送,如果五元组信息没有命中,上送到内核协议栈按照标准内核处理。
2.根据权利要求1所述的基于ebpf的高性能NAT模式负载均衡装置,其特征在于:所述NAT模式负载均衡流表学习模块中,通过ebpf kprobe技术hook内核协议栈中netfilter模块中的连接跟踪子模块的__nf_conntrack_hash_insert函数,生成转发表maps,保存转发条目1{key:orig_五元组,value:replay_五元组},转发条目2{key:reply_五元组,value:origin_五元组},其中:orig_五元组是指原始的报文的五元组信息,replay_五元组是指转换后的报文的五元组信息,这两条转发表条目分别对应请求流和响应流。
3.根据权利要求1所述的基于ebpf的高性能NAT模式负载均衡装置,其特征在于:所述XDP报文转发加速模块通过XDP技术处理收到的报文,判断目的端口是否为负载均衡服务端口的情况下,根据NAT模式负载均衡流表学习模块的转发表maps,修改报文五元组信息,重定向到出口网卡或上送到内核协议栈进行标准内核处理。
4.根据权利要求1所述的基于ebpf的高性能NAT模式负载均衡装置,其特征在于:所述的XDP报文转发加速模块根据ebpf转发表maps修改报文五元组信息后,通过修改ip层和tcp/udp层checksum,重定向到网卡发送。
5.根据权利要求1所述基于ebpf的高性能NAT模式负载均衡装置,其特征在于:所述负载均衡装置进行基于ebpf的NAT模式负载均衡方法,包括以下步骤:
S101:在内核协议栈的Netfilter模块中,使用ebpf kprobe技术hook连接跟踪子模块的__nf_conntrack_hash_insert函数,该函数用于在IPVS模块和NAT模块之后,对每个新建立的负载均衡连接进行连接跟踪,获取入向报文和出向报文的五元组信息;
S102:获取的五元组信息经过流表学习模块,生成两条转发表条目,分别为{key:orig_五元组,value:replay_五元组}和{key:reply_五元组,value:origin_五元组},将转发表条目保存到ebpf转发表maps中;
S103:在网卡驱动层,使用XDP技术挂载ebpf程序,该程序用于在收到报文后,提取报文的五元组信息,查询ebpf转发表maps,判断是否有匹配的转发表条目;
S104:如果有匹配的转发表条目,根据转发表条目中的value值,修改报文的五元组信息,同时修改ip层和tcp/udp层的校验,以及二层的mac地址,然后将报文重定向到出口网卡,实现快速转发;
S105:如果没有匹配的转发表条目,将报文上送到内核协议栈,按照标准内核流程进行处理。
6.根据权利要求5所述的基于ebpf的高性能NAT模式负载均衡装置,其特征在于:所述出向报文的五元组信息是经过IPVS模块和NAT模块根据负载均衡算法选择的realServer的IP和端口。
7.采用权利要求5所述的基于ebpf的高性能NAT模式负载均衡装置,其特征在于,所述负载均衡装置进行收发报文包括如下步骤:
S201:网卡驱动收包;
S202:XDP转发加速模块提取驱动收包报文五元组信息;
S203:判断目的端口是否为负载均衡服务端口,若是负载均衡服务端口,执行S204,若不是,上送内核协议栈,然后执行步骤S205;
S204:根据五元组查找转发表maps是否有转发条目,如果查找到转发条目,执行S207,如果没有,上送内核协议栈,然后执行步骤S205;
S205:内核协议栈的IPVS模块根据负载均衡算法选择上游realServer,然后修改报文目的ip和端口为选择的realserver的ip和端口,根据路由查找出口网卡,负载均衡NAT模式下修改报文原ip为出口网卡ip和端口,报文经过流表学习模块,记录原五元组和修改后的五元组映射关系,形成上下行两个流表加速条目;
S206:将经过内核协议栈处理后的报文通过网卡发送到realServer;
S207:根据查找到的加速条目修改报文五元组,重定向网卡;
S208:通过重定向的网卡发送报文到realServer;
S209:回程报文步骤同S201~S208。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311636432.7A CN117651023A (zh) | 2023-12-01 | 2023-12-01 | 一种基于ebpf的高性能NAT模式负载均衡装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311636432.7A CN117651023A (zh) | 2023-12-01 | 2023-12-01 | 一种基于ebpf的高性能NAT模式负载均衡装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117651023A true CN117651023A (zh) | 2024-03-05 |
Family
ID=90049100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311636432.7A Pending CN117651023A (zh) | 2023-12-01 | 2023-12-01 | 一种基于ebpf的高性能NAT模式负载均衡装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117651023A (zh) |
-
2023
- 2023-12-01 CN CN202311636432.7A patent/CN117651023A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9455956B2 (en) | Load balancing in a network with session information | |
US8913613B2 (en) | Method and system for classification and management of inter-blade network traffic in a blade server | |
US10749805B2 (en) | Statistical collection in a network switch natively configured as a load balancer | |
US7672302B2 (en) | Router using switching-before-routing packet processing and method of operation | |
WO2021016869A1 (en) | Apparatus and method for controlling data transmission in network system | |
US10164910B2 (en) | Method and apparatus for an information-centric MAC layer | |
US10708272B1 (en) | Optimized hash-based ACL lookup offload | |
US11122008B2 (en) | Service chains for inter-cloud traffic | |
US20130294449A1 (en) | Efficient application recognition in network traffic | |
CN110099115B (zh) | 一种透明调度转发的负载均衡方法及系统 | |
US7822024B2 (en) | Apparatus and method for performing security and classification in a multiprocessor router | |
US11343190B2 (en) | TCAM-based load balancing on a switch | |
CN113746749A (zh) | 网络连接设备 | |
US20200344166A1 (en) | Prefix-based fat flows | |
US8051213B2 (en) | Method for server-directed packet forwarding by a network controller based on a packet buffer threshold | |
CN112600752A (zh) | 一种默认策略路由的芯片实现方法、数据报文的芯片处理方法及装置 | |
US20190273694A1 (en) | Adjustable bit mask for high-speed native load balancing on a switch | |
US9130883B2 (en) | Method and apparatus to increase forwarding silicon functionality through packet manipulation | |
Cho et al. | A sophisticated packet forwarding scheme with deep packet inspection in an openflow switch | |
US20170237691A1 (en) | Apparatus and method for supporting multiple virtual switch instances on a network switch | |
CN117651023A (zh) | 一种基于ebpf的高性能NAT模式负载均衡装置 | |
US20100238930A1 (en) | Router and method of forwarding ipv6 packets | |
CN101699821B (zh) | 一种分布式多核网络系统中地址解析协议实现的方法 | |
Bifulco et al. | CATENAE: A scalable service function chaining system for legacy mobile networks | |
US10230642B1 (en) | Intelligent data paths for a native load balancer |
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 |