虚拟IP(VIP)
why:
为了系统的高可靠性,一般采用两台机器同时完成一项功能。比如数据库
服务器,平常只有一台机器对外提供服务,另一台机器作为热备;当这台机器出现故障时,自动动态切换到另一台热备的机器。
而为了快速切换主备,可以考虑使用VIP技术(Virtual IP Address,VIP就是一个未分配给真实机器的IP),具体操作如下:
在一个高效的主备环境下。主机器除使用自己的IP外,还可以使用一个VIP,进行访问。在服务提供时,仅仅暴露VIP。如果主机器出现异常,就可以快速将VIP关联到备机器上。这样服务使用者就可以无感知的一直使用VIP获得稳定的服务。
what:
VIP是依赖TCP/IP协议族中的ARP协议实现的。在网络通信中,IP只是一个逻辑地址,在以太网中实际用来信息传输的物理地址是设备的MAC地址。每台主机(设备)都有一个ARP高速缓存,该缓存中存储了同一网络中IP地址和MAC地址的映射关系。发送数据时,主机(设备)会先从该缓存中获得目的IP地址对应的真实的MAC地址,然后向该MAC地址发送数据。操作系统是自定维护这个缓存的。
栗子:
一台机器上的ARP缓存;
当主机宕机后,ARP缓存会变成这样:
ARP缓存变更的原因:当218备机发现217故障后,会向网络中发ARP数据包(告诉:219对于的mac地址变更为00:21:5A:AB:E8)。这样所有收到通知的机器都会更新自己的ARP缓存,那么后续发给219的数据,就会发到MAC地址是E8的机器上,即218上面。
ARP协议见:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构