System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据通信,尤其涉及一种内核态conntrack转发加速方法。
技术介绍
1、在linux内核态实现nat转发的常规方案包括netfilter方案和dpdk方案。
2、netfilter方案使用netfilter框架,方案简单且成熟,但在大连接高并发场景中,netfilter的性能已经成为瓶颈,大量软中断消耗cpu资源,导致丢包等问题。
3、dpdk方案则是一种在高性能网络中的常用方案,它可以在用户态进行网络数据处理,避免了内核态的数据处理开销。但是,dpdk对硬件环境、资源预分配等有一定的要求,对于kubernetes容器网络的支持不友好,而且相比netfilter/conntrack,后期的维护也需要投入更多的成本
4、在初期性能要求不高时,或者在边缘云这种资源不太充裕、网络节点和计算节点混跑的环境中,云网关通常会选择使用轻量的iptables/netfilter的方式来开发提供nat网关和负载均衡转发的能力,开发周期和维护成本相对较低。但在大连接高并发场景中,netfilter的性能已经成为瓶颈,大量软中断消耗cpu资源,导致丢包等问题。
5、随着业务的发展,对网络性能有更高的需求,要寻求一种高性能的解决方案。为了平滑迁移升级,需要同时兼容原有的内核态转发方案,并支持容器网络,而dpdk的使用条件相对苛刻,方案无法满足兼容性要求。
6、现有技术中,也有基于bpf的实现nat转发的案例,例如cilium作为一个优秀的容器网络方案,基于bpf实现了snat
技术实现思路
1、鉴于以上现有技术的不足,专利技术的目的在于提供一种内核态conntrack转发加速方法。该方法可以提供一种热插拔的、能兼容iptables/ipvs等现有linux有状态转发的加速方案,能够解决内核态nat网关lvs等有状态网元实例转发瓶颈,在网络包最接近驱动的底层进行处理,减少提升转发效率,降低cpu资源消耗。
2、本专利技术提出了一种内核态conntrack转发加速方法,包括:
3、s1,控制器将dnat/snat规则下发到对应的nat网关;
4、s2,nat网关根据dnat/snat规则,生成iptables规则编排,并对一条流的建连包进行转发,生成established和assused状态的conntrack记录;
5、s3,用户态ct状态同步程序监听netfilter ct状态变更事件,并将established和assused状态的conntrack记录同步到bpf map;
6、s4,为网卡挂载bpf模块,当网卡收到网络包后,进行ip地址修改和快速路径的转发;
7、s5,当bpf模块收到tcp fin/rst标记的网络包时,对bpf map进行处理;
8、s6,用户态ct同步程序定期遍历检查bpf map entry有效时间,进行刷新与清理处理。
9、进一步地,s2中nat网关根据dnat/snat规则,生成iptables规则编排,并对一条流的建连包进行转发,生成established和assused状态的conntrack记录具体包括:
10、s201、nat网关根据dnat/snat规则,生成iptables规则编排;
11、s202、nat网关根据iptables的nat规则,对一条流的建连包进行转发;
12、s203、生成established和assused状态的conntrack记录。
13、进一步地,s3中用户态ct状态同步程序监听netfilter ct状态变更事件,并将established和assused状态的conntrack记录同步到bpf map具体包括:
14、s301、用户态ct状态同步程序监听netfilter ct状态变更事件;
15、s302、逐步进行是否tcp和是否udp判断;
16、s303、在是tcp时进行是否established状态的判断,并在是udp时进行是否assused状态的判断;
17、s304、将established和assused状态的conntrack记录同步到bpf map。
18、进一步地,s304中将established和assused状态的conntrack记录同步到bpf map具体包括:
19、s3041、将established和assused状态的conntrack记录转换为ct entry和反向ctentry;
20、s3042、将ct entry和反向ct entry记录到bpf map中。
21、进一步地,s4中为网卡挂载bpf模块,当网卡收到网络包后,进行ip地址修改和快速路径的转发具体包括:
22、s401、为网卡挂载bpf模块;
23、s402、当网卡收到网络包后,bpf模块查找conntrack map,根据entry进行ip地址修改和快速路径的转发。
24、进一步地,s402中当网卡收到网络包后,bpf模块查找conntrack map,根据entry进行ip地址修改和快速路径的转发具体包括:
25、s4021、网卡接收网络包;
26、s4022、通过五元组在bpf map中查找ct entry记录;
27、s4023、判断是否存在ct entry记录;
28、s4024、在存在ct entry记录时,判断是否为fin/rst标记的tcp报文;
29、s4025、在ct entry记录为fin/rst标记的tcp报文时,根据entry进行ip地址修改和快速路径的转发。
30、进一步地,s4025中在ct entry记录为fin/rst标记的tcp报文时,根据entry进行ip地址修改和快速路径的转发具体包括:
31、s40251、在ct entry记录为fin/rst标记的tcp报文时,走ct加速通道,根据entry修改ip包地址/端口;
32、s40252、调用bpf redirect接口转发;
33、s40253、更新bpf map entry最近使用时间。
34、进一步地,s5中当bpf模块收到tcp fin/rst标记的网络包时,对bpf map进行处理具体包括:
35、s501、当bpf模块收到tcp fin/rst标记的网络包时,对bpf map中对应记录进行清理;
36、s502、上送到netfilter处理;
37、s503、兼容netfilter conntrack状态变更的逻辑,对netfilter逻辑无侵入。<本文档来自技高网...
【技术保护点】
1.一种内核态conntrack转发加速方法,其特征在于,包括:
2.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,S2中NAT网关根据DNAT/SNAT规则,生成iptables规则编排,并对一条流的建连包进行转发,生成ESTABLISHED和ASSUSED状态的conntrack记录具体包括:
3.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,S3中用户态CT状态同步程序监听netfilter ct状态变更事件,并将ESTABLISHED和ASSUSED状态的conntrack记录同步到bpf map具体包括:
4.根据权利要求3所述的一种内核态conntrack转发加速方法,其特征在于,S304中将ESTABLISHED和ASSUSED状态的conntrack记录同步到bpf map具体包括:
5.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,S4中为网卡挂载bpf模块,当网卡收到网络包后,进行ip地址修改和快速路径的转发具体包括:
7.根据权利要求6所述的一种内核态conntrack转发加速方法,其特征在于,S4025中在ct entry记录为FIN/RST标记的TCP报文时,根据entry进行ip地址修改和快速路径的转发具体包括:
8.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,S5中当bpf模块收到tcp FIN/RST标记的网络包时,对bpf map进行处理具体包括:
9.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,S6中用户态CT同步程序定期遍历检查bpf map entry有效时间,进行刷新与清理处理具体包括:
10.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,S602中判断是否过期,并对活跃的entry联动刷新netfilter conntrack超时时间保活,对过期entry进行清理具体包括:
...【技术特征摘要】
1.一种内核态conntrack转发加速方法,其特征在于,包括:
2.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,s2中nat网关根据dnat/snat规则,生成iptables规则编排,并对一条流的建连包进行转发,生成established和assused状态的conntrack记录具体包括:
3.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,s3中用户态ct状态同步程序监听netfilter ct状态变更事件,并将established和assused状态的conntrack记录同步到bpf map具体包括:
4.根据权利要求3所述的一种内核态conntrack转发加速方法,其特征在于,s304中将established和assused状态的conntrack记录同步到bpf map具体包括:
5.根据权利要求1所述的一种内核态conntrack转发加速方法,其特征在于,s4中为网卡挂载bpf模块,当网卡收到网络包后,进行ip地址修改和快速路径的转发具体包括:
6.根据权利要求5所...
【专利技术属性】
技术研发人员:范日明,罗云鹤,黄松钦,翟云箭,舒泽瑾,杨丰嘉,李彤,张红亮,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。