负载均衡L3三角传输组网

前言

在负载均衡解决方案中,有一种特殊的组网方式,叫三角传输。
用户请求的流量到负载均衡设备后,负载均衡将请求均匀调度到后端服务器,后端服务器回复的数据报文直接发回给客户端,来回路径组成一个三角形。这种组网适应于一些下载流量特别大的业务,服务器回复流量不需要经过负载均衡了,提高了系统整体的性能。

在这里插入图片描述
(该图来自互联网,侵删)

普通的三角传输,负载均衡设备的LAN接口和服务器在一个二层网络中,服务器将VIP地址(提供服务的地址)配置到lo口上。 用户发起请求到vip,负载均衡设备调度转发,不改变目的IP地址,而将以太网头部的目的MAC地址改成后端服务器的MAC,请求的数据包通过二层交换就成功转发到服务器。服务器上的VIP地址可以响应服务,直接回复用户了。
从用户的视角,访问的是VIP;从负载均衡视角,将请求均匀负载,报文三层头部不改变;从服务器视角看,客户端原始报文到达自己,直接回复,不知道中间有负载均衡设备的存在。

这篇文档要讲的是L3 三角传输: 服务器和ADC的LAN口不在一个网段的三角传输组网。

L3 三角传输案例

在这里插入图片描述
如上图,用户的业务提供下载服务,下行流量比较大,希望ADC能采用三角传输的方式为服务器做负载均衡。

需求分析

此案例中,ADC的Lan接口与服务器不在一个二层,不改变目的IP的话,中间路由设备会将数据包再次送回到ADC上,变成环路。因此这里需要借助一下ipip隧道技术,将用户请求通过ipip的隧道,发送到后端服务器。

配置步骤

  1. 基础网络连通性配置:配置步骤略;

  2. 服务器配置:下一节内容;

  3. ADC配置服务池,将服务器物理IP地址加入服务池:
    在这里插入图片描述

  4. ADC配置虚拟服务,开启ipip隧道转发:
    在这里插入图片描述
    在这里插入图片描述

开启隧道模式,隧道源地址可以不填(ADC查询路由自己选择隧道源地址),如果要配置,本案例中可以配置为:10.0.0.10。

服务器的配置

# ===========================需要更改的参数=============================
# vip为虚拟服务的IP;
vip=100.1.1.80
# local_ip为服务器的物理IP,每个服务器不一样;
local_ip=10.1.1.10
# 服务器物理网卡名
physic_iface=eth0
# =====================================================================


# lo口配置vip地址
ip addr add $vip/32 dev lo

# 禁止loopback口ARP响应
sysctl -w net.ipv4.conf.all.arp_ignore=1
sysctl -w net.ipv4.conf.$physic_iface.arp_ignore=1
sysctl -w net.ipv4.conf.all.arp_announce=2
sysctl -w net.ipv4.conf.$physic_iface.arp_announce=2

# 配置IPIP隧道,隧道接口名称为: ipip0
modprobe ipip
ip link add name ipip0 type ipip local $local_ip
ip link set ipip0 up

# 关闭源路径过滤
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.lo.rp_filter=0
sysctl -w net.ipv4.conf.ipip0.rp_filter=0

上述配置可以放到开机启动脚本中,以免重启后丢失。

其他资料

F5的配置指南见:
L2 npath
https://techdocs.f5.com/en-us/bigip-14-0-0/big-ip-local-traffic-manager-implementations-14-0-0/configuring-npath-routing.html#GUID-A5EA6E91-720C-43F7-B810-A46C10A8C0D0
L3 npath
https://techdocs.f5.com/en-us/bigip-14-0-0/big-ip-local-traffic-manager-implementations-14-0-0/configuring-layer-3-npath-routing.html#GUID-D0FE8282-360B-4748-8F39-4553B2310F8D

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
负载均衡是指将络流量分发到多个服务器上,以实现请求的均衡处理。负载均衡可以分为L3、L4和L7三种类型。 L3负载均衡主要工作在络层,使用IP地址和端口号等信息进行负载均衡。L3负载均衡器可以根据源IP地址或目标IP地址进行请求转发,以实现流量的分发和负载均衡。L3负载均衡器的优点是速度快,但无法对请求进行深入的内容分析和处理。 L4负载均衡工作在传输层,主要用于TCP和UDP协议的负载均衡。L4负载均衡器可以基于端口号将请求分发到不同的服务器,以实现负载均衡。常见的L4负载均衡器包括LVS和nginx。L4负载均衡器具有较好的性能和灵活性,但仅能通过端口号进行负载均衡,无法对请求的内容进行处理。 L7负载均衡工作在应用层,可以对请求的内容进行深入的分析和处理。L7负载均衡器可以根据请求的URL、HTTP头部等信息将请求分发到不同的服务器。L7负载均衡器具有较高的灵活性和功能,但由于需要对请求进行深入的处理,性能相对较低。常见的L7负载均衡器包括nginx和HAProxy等。 综上所述,负载均衡可以分为L3、L4和L7三种类型,每种类型都有不同的特点和适用场景。选择合适的负载均衡器取决于具体的需求和应用场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [转载和积累系列 - L4负载均衡的设计与实现](https://blog.csdn.net/initphp/article/details/107927807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值