nat模式和dr模式的区别
两种模式都是实现负载均衡lvs的方法,nat模式在包进入的时候在分发器上做了目的地址的mac转换,也就是DNAT,包回去的时候从哪进来的也要从哪里出去,这就造成了nat模式在real server过多的时候造成了数据包在回去的时候都是从一个出口方向,也就造成了瓶颈。
DR模式在数据包进入的时候由分发器上把收到的数据包分派给架构下的real server来工作,而数据包在返回的时候没有经过分发器而直接发送给数据包的来源地址,这样就解决了数据包都从分发器上返回数据包的瓶颈,从而解决大量的用户访问。
在实现DR模式的时候,我们是通过在分发器上制定架构下哪几台real server是真正工作的,而分发器上的ip地址是供用户访问的真实Ip地址,我们要做的是在真正提供服务的那几台real server的网卡下也增加分发器的真实Ip地址,但是这个ip地址是一个回环端口,在数据包进入的时候,arp广播的时候,real server的VIP是不接受arp广播的,也就是说这个VIP是只有自己本机知道的,路由器是不知道的。这样就完成了数据包的接收。
在数据包回去的时候,实际上是以real server的VIP来进入封装的,但是它进行传递的时候,是没有通过分发器传递回去,而是直接走的路由器,再由路由器将数据包送回。