|深入理解LVS,还学不会算我输( 六 )
- RS 服务器需配置网关 。
- 双向流量对 LVS 会产生较大的负载压力 。
TUN 模式
IP 隧道:IP Tunnel , 简称:TUN 模式 , 采用开放式的网络结构 , 负载调度器作为客户机的访问入口 , 各节点通过各自的 Internet 连接直接回应给客户机 , 而不经过负载调度器 , 服务器节点分散在互联网中的不同位置 , 有独立的公网 IP 地址 , 通过专用 IP 隧道与负载调度器相互通信 。
本文插图
TUN 实现原理过程如下:
①客户端发送数据包经过网络后到 LVS 网卡 , 数据包源 IP 为 CIP , 目的 IP 为 VIP 。
②进入 PREROUTING 链后 , 会根据目的 IP 去查找路由 , 确定是否为本机 IP , 数据包将转发至 INPUT 链中 , 到 LVS , 源 IP 和 目的 IP 不变 。
③到 LVS 后 , 通过目的 IP 和目的 PORT 查找是否为 IPVS 服务 , 如是 IPVS 服务 , 将会选择一个 RS 后端服务器 ,源 IP 为 DIP , 目标 IP 为 RIP , 数据包将会转发至 OUTPUT 链中 。
④数据包根据路由信息到达 LVS 网卡 , 发送至路由器网关 , 最终到达后端服务器 。
⑤后端服务器收到数据包后 , 会拆掉最外层的 IP 地址后 , 会发现还有一层 IP 首部 , 源 IP 为 CIP , 目的 IP 为 VIP , TUNL0 上配置 VIP , 查找路由后判断为本机 IP 地址 , 将会发给用户空间层的应用程序响应后 VIP 为源 IP , CIP 为目的 IP 数据包发送至网卡 , 最终返回至客户端用户 。
TUN 模式的优点:
- 单臂模式 , LVS 负载压力小 。
- 数据包修改小 , 信息完整性高 。
- 可跨机房 。
- 不支持端口映射 。
- 需在 RS 后端服务器安装模块及配置 VIP 。
- 隧道头部 IP 地址固定 , RS 后端服务器网卡可能会不均匀 。
- 隧道头部的加入可能会导致分片 , 最终会影响服务器性能 。
DR 模式
直接路由:Direct Routing , 简称 DR 模式 , 采用半开放式的网络结构 , 与 TUN 模式的结构类似 , 但各节点并不是分散在各个地方 , 而是与调度器位于同一个物理网络 , 负载调度器与各节点服务器通过本地网络连接 , 不需要建立专用的 IP 隧道 。 它是最常用的工作模式 , 因为它的功能性强大 。
本文插图
DR 实现原理过程如下:
①当客户端用户发送请求给 www.baidu.com 网站时 , 首先经过 DNS 解析到 IP 后并向百度服务器发送请求 , 数据包经过网络到百度 LVS 负载均衡服务器 。
这时到达 LVS 网卡时的数据包包括:源 IP 地址(客户端地址)、目的 IP 地址(百度对外服务器 IP 地址 , 也就是 VIP)、源 MAC 地址(CMAC / LVS 连接路由器的 MAC 地址)、目标 MAC 地址(VMAC / VIP 对应的 MAC 地址) 。
②数据包到达网卡后 , 经过链路层到达 PREROUTING 链 , 进行查找路由 , 发现目的 IP 是 LVS 的 VIP , 这时就会发送至 INPUT 链中并且数据包的 IP 地址、MAC 地址、Port 都未经过修改 。
③数据包到达 INPUT 链中 , LVS 会根据目的 IP 和 Port(端口)确认是否为 LVS 定义的服务 。
如是定义过的 VIP 服务 , 会根据配置的服务信息 , 从 RealServer 中选择一个后端服务器 RS1 , 然后 RS1 作为目标出方向的路由 , 确定下一跳信息及数据包通过具体的哪个网卡发出 , 最好将数据包通过 INET_HOOK 到 OUTPUT 链中 。
推荐阅读
- IOS系统|从ios企业签名的机制及原理解析掉签的原因
- 互联网|深入整合G Suite服务 Gmail助力用户在家远程办公
- |重新理解增长:实现用户增长的5个步骤
- Geek研究僧|网络串流解码播放器有什么用?BLUESOUND NODE 2i 深入体验告诉你
- |上汽大众高端车型深入人心,再推新车力推品牌上行
- 中年|寻找原石:理解孙正义的投资逻辑
- 中国统计网|SQL太难?你离完全理解SQL就差这10步!
- 搜狐新闻|模块化厨房锅具设计,解决收纳难题,深入洞察需求的经典佳作,日本热卖近10年
- 拍照摄影|手机拍照能在哪些方面取代单反相机?该这样理解
- 科技小数据|产业观察:如何通俗地理解5G及其应用
