虚拟IP地址(VIP) 是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址。
虚拟IP主要是用来网络地址转换,网络容错和可移动性。虚拟IP比较常见的一个用例就是在系统高可用性(High Availability HA)方面的应用,通常一个系划外的情况而发统会因为日常维护或者非计生宕机,为了提高系统对外服务的高可用性,就会采用主备模式进行高可用性的配置。
当提供服务的主机M宕机后,服务会切换到备用主机S继续对外提供服务。而这一切用户是感觉不到的,在这种情况下系统对客户端提供服务的IP地址就会是一个虚拟IP,当主机M宕机后,虚拟IP便会漂浮到备机上,继续提供服务。
虚拟IP的实现原理:
虚拟IP就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚拟IP。
使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库连接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。
其实现原理主要是靠TCP/IP的ARP协议。因为ip地址只是一个逻辑地址,在以太网中MAC地址才是真正用来进行数据传输的物理地址,每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关系。
以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送数据。操作系统会自动维护这个缓存。这就是整个实现的关键。
,