网络的负载均衡

98 阅读1分钟

前言

如何在网络中实现请求的负载均衡呢?在网络的哪一层实现比较好呢,我们接下来康康!

网络层的NAT模式

首先看下三角模式的问题

image.png

通过上面图片中的内容可以看出,A首先与负载均衡器的IP通信,最后B1单独返回给A,但是syn和ACk报文的源末IP混乱了,所以握手不成功,所以需要新的解决方案。

接下来看下NAT模式的转换思想:就是各种IP地址的转换,从而保证通信的正常响应。

image.png

如上图,通过这种转换之后,就可以实现通信啦!

网络层的IP隧道模式

image.png 隧道模式的核心思想就是套娃,在负载均衡器与B1通信的时候,外层封装自己的ip和B1的ip,这个过程需要负载均衡器和B1之间的解析约定,这里先不赘述;ack响应报文就不经过负载均衡器就直接可以到达A了。

数据链路层的负载均衡

image.png 负载均衡器到B1的通信过程,如果目标IP是B1,那就是前面的三角模式了,有缺陷。
这里引入虚拟IP地址技术,使得负载均衡器和3个服务器的IP地址是一样的,这时候只需要修改mac地址就可以了,ack响应报文就不经过负载均衡器就直接可以到达A了,这样就可以完成了正常的通信了