- DR
- NAT
- TUNNEL
- Full-NAT
- TUN
返里挑选常用的 DR、NAT、Full-NAT、TUN 来简单介绍一下 。
DR(Dynamic Route 动态路由)
通过为请求报文重新封装一个MAC首部进行转发 , 源MAC是DIP所在的接口的MAC , 目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT , 以及目标IP/PORT均保持不变;
文章插图
请求由LVS接受 , 由真实提供服务的服务器(RealServer, RS)直接返回给用户 , 返回的时
候不经过 LVS 。
流程分析
DR 模式下需要LVS和绑定同一个 VIP(RS 通过将 VIP绑定在 loopback 实现) , 此时报文的源IP为CIP , 目标IP为VIP;
源地址
目的地址
CIP
VIP
源MAC地址
目的MAC地址
CIP-MAC
VIP-MAC
- 当用户请求到达DS后 , LVS只需要将网络帧的MAC地址修改为某一台RS的 MAC , 该包就会被转发到相应的RS处理 , 注意此时的源IP和目标IP都没变 , LVS 只是做了一下移花接木
IPVS比对数据包请求的服务是否为集群服务 , 若是 , 将请求报文中的源MAC地址修改为DIP的MAC地址 , 将目标MAC地址修改RIP的MAC地址 , 此时的源IP和目的IP均未修改 , 仅修改了源MAC地址为DIP的MAC地址 , 目标MAC地址为RIP的MAC地址;
源地址
目的地址
CIP
【全面分析:Web基础架构负载均衡LVS机制的原理】VIP
源MAC地址
目的MAC地址
DIP-MAC
RIP-MAC
- 由于DS和RS在同一个网络中 , 所以是通过二层来传输 。目标MAC地址为RIP的MAC地址 , 那么此时数据包将会发至RS 。
- RS 收到 LVS 转发来的包 , 链路层发现 MAC 是自己的 , 到上面的网络层 , 发现 IP 也是自己的 , 于是返个包被合法地接受 , RS 感知不到前面有 LVS 的存在 。处理完成之后 , 将响应报文通过lo接口传送给eth0网卡然后向外发出 , 此时的源IP地址为VIP , 目标IP为CIP;
源地址
目的地址
VIP
CIP
- 响应报文最终送达至客户端 , 而当 RS 返回响应时 , 只要直接向源 IP(即用户的 IP)返回即可 , 不再经过 LVS 。DR 模式是性能最好的一种模式
这种模式下 , 有几个要点:
主要是这种模式在于 , 通过LVS只是在请求阶段做转发 , 而且修改的也不是IP地址 , 而是MAC地址 , 针对于修改后的MAC地址会自动转发到对应网段内MAC主机的服务器上面 , 之后因为IP都没有改变 , 之后实际RS可以直接发送给目标Client服务器 , 这种性能最好 , 但是对网络层面要求比较高 , 对网络扩展角度而言控制力度略低 。NAT?.NETwork Address Translation 网络地址准换)
- NAT是一种外网和内网地址映射的技术
- NAT模式下 , 网络报的进出都要经过LVS的处理
多目标IP的DNAT , 通过将请求报文中的目标地址和目标端口修改为选出来的RS的RIP和PORT实现转发 。
文章插图
流程分析
- LVS需要作为RS的网关 , 当包到达LVS 时LVS 做目标地址转换(DNAT) 。此时报文的源IP为CIP , 目标IP为VIP;
推荐阅读
- 前端技术有哪些(web前端领域有哪些)
- 公司如何估值(企业估值分析报告)
- 今日股市如何(最新明日股市预测分析)
- 人们在用 WebAssembly 构建什么应用?
- web服务器有哪些(web服务器程序主要有哪些)
- web开发技术有哪些(网页前端技术有哪些)
- web前端框架有哪些(web前端面试题)
- 2022重庆山火事件简介!如何从犯罪心理学等专业角度分析重庆摔婴女孩的行为?
- 健康体检一般多少钱(长治哪个医院体检全面好一些)
- 寒战剧情分析?寒战结局什么意思 影片讲述了什么?