虚拟IP与arp协议
来源:互联网 发布:人工智能的公司有哪些 编辑:程序博客网 时间:2024/06/08 08:07
虚拟IP与arp协议
虚拟IP和arp协议
虚拟IP常用于系统高可用性的场景,那么虚拟IP实现的原理是什么?虚拟能够自由漂浮的原理是什么?
从前文介绍arp协议里面来看,主机与主机的通信过程都会涉及到一个ip地址转换mac地址的过程,那么虚拟IP的通信也不会例外。因此,IP地址在主机通信的过程中其实就是一个逻辑地址。我们知道,每一个主机都存放着网络内一些主机的逻辑地址与物理地址(MAC地址)的映射,问题来了,当虚拟IP VIP在主机A上时,主机A的MAC地址为MAC_A某主机M的arp缓存中存放着一个映射关系:VIP ---à MAC_A;当主机A宕机后,虚拟IPVIP漂浮到了主机B,主机B的MAC地址为MAC_B,那么此时主机M想与虚拟IP通信时,是做不到,因为它的arp高速缓存中的虚拟IP VIP的映射还指向主机A的MAC地址。这个问题解决的思路就是当虚拟IP漂浮后,刷新所有其他主机的arp缓存。
那么虚拟IP是如何实现漂浮后,是如何刷新所有其他主机的arp缓存的呢?
这里就会引入另一个概念,garp()简称无端arp或者免费arp,主要是用来当某一个主机C开机时,用来确认自己的IP地址没有被人占用而做的一个检测。广播发送这个arp,请求得到本机IP地址的MAC地址,主机C并不希望此次arp请求会有arp应答,因为应答意味着IP地址冲突了。当其他主机收到这个arp请求后,会刷新关于这个arp请求源的主机IP地址的映射。
Garp的作用主要有两个:
1. 检测IP地址是否有冲突
2. 刷新其他主机关于本次IP地址的映射关系
集群管理软件Pacemaker里面的资源代理ocf:heartbeat:IPaddr2中,在虚拟IP漂浮后,会向网络内广播发送garp请求,以此来刷新其他主机的arp缓存。
在配置OpenStack控制节点高可用性的时候,出现过虚拟IP切换时,某一个主机不能通信的问题,后来发现是arp缓存没有刷新,有时候由于网络的原因,某些主机没有接收到此garp请求,因此ocf:heartbeat:IPaddr2资源代理中可以配置发送garp的次数,这里建议次数配置得多一点,这样可以保证其他主机成功刷新arp缓存。
- 虚拟IP与arp协议
- 虚拟IP与ARP协议
- TCP/IP协议之ARP与RARP
- IP协议,ARP协议
- tcp/ip ---------- ARP协议
- 3、ip协议、ARP协议
- ARP协议与ARP攻击
- 理解ARP协议以及IP与MAC地址的关系
- (3)-IP协议,ARP协议,RARP协议
- IP协议、ARP协议、RARP协议
- IP协议、ARP协议、RARP协议
- TCP/IP基础:ARP 协议
- ARP协议与RARP协议
- ARP协议与RARP协议
- ARP协议与RARP协议
- arp协议与rarp协议
- 《TCP/IP详解卷1》学习小结(三)------ARP协议与RARP协议
- 与IP协议配套的四个协议ARP,RARP,ICMP,IGMP
- 简述Java内存泄露
- xposed模块开发步骤总结
- OC中的单例模式和委托模式
- Z字形编排问题-Java实现
- boost封装函数指针
- 虚拟IP与arp协议
- KMP算法学习&总结
- DetachedCriteria和criteria使用方法及其区别!
- rocketMQ 消息查询(id,key) 运维命令以及java API的用法
- C++11中for的使用
- 矩阵翻转
- 【MySQL连接】MySQLdb安装与使用
- ps技巧:自动选择工具的使用
- MySQL数据库安装,配置My.ini文件