> 文章列表 > LVS --一文精通

LVS --一文精通

LVS --一文精通

目录

dns解析

下一跳机制

LVS:NAT

LVS: IP TUN隧道

LVS: DR

DR> TUN > NAT > FULL NAT


dns解析

DNS=本地域名服务器,当用户访问一个网址,计算机就会提出域名解析请求,并发给本地域名服务器,本地域名服务器收到请求后,查询本地资源,如有记录则返回查询结果,如果资源较少会导致访问网址加载速度变慢,此时可以换一个DNS。

第一步:客户机提出域名解析请求,并将该请求发送给本地域名服务器.

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回.

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址.

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址.

第五步:重复第四步,直到找到正确的纪录.

第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机.

下一跳机制

LVS: 主要用于四层协议上的负载均衡,性能相较于工作在七层的协议更好。但是协议栈是工作在传输层,对于传输层以上的高级特性支持不足

Nginx:主要解决七层协议上的负载均衡(Nginx也可以工作在四层,需要在编译的时候添加--with-streams参数),更加适合于HTTP服务、邮件服务等高层协议的服务。相较于四层协议负载均衡,牺牲了少量的性能,提供了更有针对性的服务

LVS:NAT

用户ip<-->lvs外网ip(vip)==lvs内网ip(dip)<-->后端服务器ip

LVS: IP TUN隧道

LVS: DR

假设只有一个路由器

原地址 目标地址
1、刚开始发请求 互联网用户的IP(CIP)+ 随机端口
+ 互联网用户的Mac地址(CMac)
VIP +80端口+路由器1的Mac (Mac1)
2、路由器转发 互联网用户的IP(CIP)+ 随机端口+ 路由器2的Mac (Mac2) VIP +80端口+ LVS服务器的Mac
(LVSMac)
3、LVS调度后 互联网用户的IP(CIP)+ 随机端口
+ LVS服务器的Mac (LVSMac)
VIP +80端口+ 后端真实服务器的Mac
(RSMac)
4、回应数据包 VIP +80端口+ 后端真实服务器的Mac
(RSMac)
互联网用户的IP(CIP)+ 随机端口+ 路由器2的Mac (Mac2)
5、路由器转发 VIP +80端口+ 路由器1的Mac (Mac1) 互联网用户的IP(CIP)+ 随机端口
+ 互联网用户的Mac地(CMac)

优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。

缺陷:后端服务器和LVS调度器必须在同一机房

DR> TUN > NAT > FULL NAT