基础知识
ARP协议
- 什么是ARP协议?
在网络通信的过程中,我们往往需要知道相邻节点的MAC地址才完成“下一跳”,ARP协议就是通过网络层的IP获取下一跳的设备的MAC。
注意:此处的下一跳不一定是目的主机,在源主机和目的主机未再同一个网络时,源主机数据包中的目的MAC应该是默认网关的MAC - 工作原理
- 情况1:源主机和目的主机在同一个局域网络例如:1号主机访问3号主机,首先会查询ARP缓存表(ARP缓存表存储了局域网内IP和MAC的映射),如果能查到目的IP对应的地址,则直接传输数据。如果查询不到,则会将目的MAC设为全F,发送ARP广播包,拥有相应IP的主机则以单播的形式回应源主机。
- 情况2:源主机和目的主机不在同一个局域网内例如:1号主机访问5号主机,首先在ARP内查询不到,要用子网掩码和目的IP相与判断是否在同一网络,不在同一网络则会以目的IP为默认网关进行广播,默认网关收到后则会回复源主机。
NAT
- 什么是NAT?
NAT就是网络地址转换,在专用网络中通过全球唯一IP访问互联网,就是在互联网中的数据包中源IP地址不会源主机IP而是这个全球唯一IP。
LVS
LVS是Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网址是http://www.linuxvirtualserver.org,现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。从2.4版本开始,linux内核默认支持LVS,要使用LVS的能力,只需安装一个LVS的管理工具ipvsadm。
LVS的三种模式:
- NAT模式
- DR直接路由模式
- TUN隧道模式
LVS负载均衡的调度算法:
- 轮询 rr
- 加权轮询
- 目标地址散列
- 最少链接
- 最少队列
- 最短延迟期望
- 局部最小链接
- 带复制的局部最小链接
ipvsadm工具介绍:
常用参数选项:
常用命令示例:
- 添加VIP:ipvsadm -A -t 192.168.150.100:80 -s rr
- 添加真实服务器RS:ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.12 -g -w 1
- 查看转发记录:ipvsadm -ln
- 删除虚拟网络:ipvsadm -D -t 192.168.1.100:80
相关术语
- DS:Director Server。指的是前端负载均衡器节点。
- RS:Real Server。后端真实的工作服务器。
- VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
- DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
- RIP:Real Server IP,后端服务器的IP地址。
- CIP:Client IP,访问客户端的IP地址。
讯的IP地址。 - RIP:Real Server IP,后端服务器的IP地址。
- CIP:Client IP,访问客户端的IP地址。