首页 > 其他分享 >dpvs dnat模式

dpvs dnat模式

时间:2023-10-01 17:13:51浏览次数:32  
标签:src dnat ip 模式 dpvs ipvs vs dp

dnat模式发送报文

src/ipvs/ip_vs_core.c
针对ipv4,INET_HOOK_PRE_ROUTING注册2个函数dp_vs_pre_routing和dp_vs_in,因为nat不做防止DDos攻击的syn_proxy,所以看dp_vs_in。

conn_sched新请求建立连接
选择后端rs建立连接,支持tcp、udp和icmp。
dp_vs_schedule->dp_vs_conn_new->dp_vs_conn_bind_dest
dpvs支持dnat、tunnel、dr、fullnat、snat。

src/ipvs/ip_vs_xmit.c
dp_vs_xmit_nat流量处理
route4_output查找路由,把路由赋给mbuf,dnat转换。

src/ipvs/ip_vs_proto_tcp.c
tcp_snat_in_handler转换目的端口,重新计算checksum。

dnat模式回包

src/ipvs/ip_vs_xmit.c
dp_vs_out_xmit_nat 源地址snat

src/ipvs/ip_vs_proto_tcp.c
tcp_snat_out_handler 源端口转换,重新计算checksum

参考资料

https://www.jianshu.com/p/9d8a96e21c59

标签:src,dnat,ip,模式,dpvs,ipvs,vs,dp
From: https://www.cnblogs.com/WJQ2017/p/17738998.html

相关文章

  • 单例模式
    什么是单例模式单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。单例模式的类型懒汉式:在真正......
  • 【11.0】Fastapi的OAuth2.0的授权模式
    【一】OAuth2.0的授权模式授权码授权模式(AuthorizationCodeGrant)隐式授权模式(ImplicitGrant)密码授权模式(ResourceOwnerPasswordCredentialsGrant)客户端凭证授权模式(ClientCredentialsGrant)【二】密码授权模式【1】FastAPI的OAuth2PasswordBearer说明......
  • java 实现外观模式
    外观模式(FacadePattern)是一种结构型设计模式,它提供了一个简化的接口,用于访问一组相关的接口或子系统。外观模式的主要目的是隐藏复杂的系统结构,提供一个更简单的接口供客户端使用。以下是一个简单的Java示例,演示如何实现外观模式:首先,假设我们有一个音响系统,它包含了多个子系统,如音......
  • java 实现模板方法模式
    模板方法模式(TemplateMethodPattern)是一种行为型设计模式,它定义了一个算法的骨架,将具体的步骤延迟到子类中实现。模板方法模式使得子类可以重新定义算法的某些步骤,而不改变算法的结构。以下是一个简单的Java示例,演示如何实现模板方法模式:首先,定义一个抽象类Game,它包含一个模板方......
  • 访问者模式
    访问者模式案例引入要求1.将观众分为男生和女生,对歌手进行评价,当看完某个歌手表演后,对于歌手有不同的评价(评价的类别,有成功,失败等)。传统方式实现思路创建一个Person类,其有两个子类,分别是Man和WoMan,使用ifelse分支,去判断一个歌手的评价,成功对应成功分支,失败对应失败分支。......
  • java中观察者模式的简单实现
    4要素:1观察者接口2具体的观察者3管理者接口4管理者实现类5调用1观察者接口包含观察者行为方法publicinterfaceObserver{/***当目标类发生变化时所执行的操作**/StringdoSomething();}2具体的观察者//具体观察者A@Slf4j@Component("ObserverA")pu......
  • java实现策略模式
    策略模式(StrategyPattern)是一种行为型设计模式,它定义了一系列算法,将每个算法封装成单独的类,并使它们可以相互替换,以使算法的变化独立于客户端使用算法的方式。策略模式允许客户端选择不同的算法,以满足不同的需求。以下是一个简单的Java示例,演示如何实现策略模式:首先,定义一个策略接......
  • java实现观察者模式
    观察者模式(ObserverPattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生变化时,它的所有依赖者(观察者)都会收到通知并自动更新。观察者模式通常包括以下角色:主题(Subject)、观察者(Observer)、具体主题(ConcreteSubject)和具体观察者(ConcreteObserver)。以下是一......
  • java实现迭代器模式
    迭代器模式(IteratorPattern)是一种行为型设计模式,它提供一种方法来顺序访问一个聚合对象(如列表、集合、数组等)中的元素,而不暴露聚合对象的内部表示。迭代器模式通常包括以下角色:迭代器(Iterator)、具体迭代器(ConcreteIterator)、聚合(Aggregate)、具体聚合(ConcreteAggregate)。以下是一......
  • java实现解释器模式
    解释器模式是一种行为设计模式,它用于解释语言或表达式中的语法和语义。在解释器模式中,我们创建一个解释器类,该类包含解释表达式的方法,并为每种语法规则定义一个具体的表达式类。以下是在Java中实现解释器模式的一般步骤:创建一个抽象表达式类(AbstractExpression):该类定义了解释器的......