CIP即为客户端的IP地址 | . |
---|---|
DIR为调度器 | . |
VIP为虚拟IP地址 | . |
RIP为真实服务器IP地址 | . |
假设CIP的mac为A1,ip为B1;DIR只有一个物理网卡mac为A2,IP为B2;RIP的mac为A3,IP为B3。
全部VIP为:100
- 客户端请求之前会发送arp广播,请求VIP地址对应的mac地址,那么由于所有的真实服务器都需要配置VIP,DIR上也需要配置VIP(且必须配置),但是为了让请求发送到dir上,我们要设置为不允许真实服务器的VIP进行响应arp请求(抑制真实服务器的arp查询和响应)。
- dir响应客户端,接到了请求
数据帧:
src mac | dest mac | src ip | src port | dest ip | dest port |
---|---|---|---|---|---|
A1 | A2 | B1 | 10023 | 100 | 80 |
- DIR根据负载均衡算法选择一台真实服务器,将RIP的mac作为目标mac地址
数据帧:
src mac | dest mac | src ip | src port | dest ip | dest port |
---|---|---|---|---|---|
A2 | A3 | B1 | 10023 | 100 | 80 |
在这一次封装中,源IP地址,源端口都没有改变,目标IP地址一直都是VIP,但是这次的mac地址转变为真实服务器的mac地址
- RIP在局域网中收到该包,拆包后查看目标IP与本机是否匹配,匹配则处理这个报文并通过路由进行回复
src mac | dest mac | src ip | src port | dest ip | dest port |
---|---|---|---|---|---|
A3 | A1 | 100 | 80 | B1 | 10023 |
注意点:
- dir仅处理入站请求,回复数据包是由真实服务器直接通过路由发往客户端
- 真实服务器的网关不能只想dir,我们有时可能想,dir就是起一个nat的作用,但是那只是,接收请求连接的时候,我们回复请求连接的时候是由真实服务器直接回复客户端的。网关指向网络环境使用的网关即可
- 真实服务器配置VIP,要配置在loopback回环口上,因为具体配置时要针对该接口进行arp抑制,如果配置到真实接口上,会影响其它的网络正常通信
参考文章