(dpdk f-stack)-ipvs实现L3/L4层代理

Posted ygmdream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(dpdk f-stack)-ipvs实现L3/L4层代理相关的知识,希望对你有一定的参考价值。

L3/L4层代理参考: https://github.com/iqiyi/dpvs
LVS 实现参考:https://cloud.tencent.com/developer/article/1792298

LVS向Netfilter的3个阶段注册钩子函数改写数据包

  • 在 LOCAL_IN 阶段注册了 ip_vs_in() 钩子函数。
  • 在 FORWARD 阶段注册了 ip_vs_out() 钩子函数。
  • 在 POST_ROUTING 阶段注册了 ip_vs_post_routing() 钩子函数。

ipvs核心(L3/L4层代理参考dpvs文档)

ipvs重点就是根据NAT/DR/TUN模式,连接跟踪表信息,【修改原始数据包的路由,源/目的的ip/port等】信息,将来数据包发出去时会根据新的路由和目的地址选网卡发送;

ipvs介入fstack

FORWARD 阶段发送在数据包不是发送给本机的情况,但是【一般来说数据包都是发送给本机的即vser的】,所以函数 ip_vs_out() 不是重点,重点是函数 ip_vs_in(),fstack中移植ipvs模块后在此函数中改写数据包即可实现NAT/DR/TUN代理数据包到rser。
ip_vs_in() 运行在 Netfilter 的 LOCAL_IN 阶段。
ip_vs_out() 运行在 Netfilter 的 FORWARD 阶段。

以上是关于(dpdk f-stack)-ipvs实现L3/L4层代理的主要内容,如果未能解决你的问题,请参考以下文章

(dpdk f-stack)-ipvs实现L3/L4层代理

(dpdk f-stack)-实现L4代理功能

(dpdk f-stack)-实现L4代理功能

(dpdk f-stack) VMware跑 f-stack

(dpdk f-stack)-理解ff_api.symlist

(dpdk f-stack)-理解ff_api.symlist