博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
虚拟IP技术
阅读量:4307 次
发布时间:2019-06-06

本文共 790 字,大约阅读时间需要 2 分钟。

虚拟IP技术在高可用领域像数据库SQLSERVER、web服务器等场景下使用很多,很疑惑它是怎么实现的,偶然,发现了一种方式可以实现虚拟ip。它的原理在于同一个物理网卡,是可以拥有多个ip地址的,至于虚拟网卡,也可用通过该方式拥有多个ip。  即对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的 任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。

其实现原理主要是靠TCP/IP的ARP协议。因为ip地址只是一个逻辑地址,在以太网中MAC地址才是真正用来进行数据传输的物理地址,每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送数据。操作系统会自动维护这个缓存。这就是整个实现 的关键。

 

那么虚拟IP是如何实现漂浮后,是如何刷新所有其他主机的arp缓存的呢?

        这里就会引入另一个概念,garp()简称无端arp或者免费arp,主要是用来当某一个主机C开机时,用来确认自己的IP地址没有被人占用而做的一个检测。广播发送这个arp,请求得到本机IP地址的MAC地址,主机C并不希望此次arp请求会有arp应答,因为应答意味着IP地址冲突了。当其他主机收到这个arp请求后,会刷新关于这个arp请求源的主机IP地址的映射。

Garp的作用主要有两个:

1.      检测IP地址是否有冲突

2.      刷新其他主机关于本次IP地址的映射关系

 


 

Keeplived

https://www.cnblogs.com/clsn/p/8052649.html

转载于:https://www.cnblogs.com/studyNT/p/8566067.html

你可能感兴趣的文章
rpm的用法 详解
查看>>
从壹开始 [vueAdmin后台] 之三 || 动态路由配置 & 项目快速开发
查看>>
Node mysql
查看>>
学习 WCF (6)--学习调用WCF服务的各种方法
查看>>
ListView几个比较特殊的属性
查看>>
NEC学习 ---- 模块 - 带点文字链接列表
查看>>
20165301 预备作业二:学习基础和C语言基础调查
查看>>
【AGC005F】Many Easy Problems (NTT)
查看>>
jquery背景自动切换特效
查看>>
【微信小游戏实战】零基础制作《欢乐停车场》二、关卡设计
查看>>
【bzoj2500】幸福的道路 树形dp+倍增RMQ+二分
查看>>
[development][profile][dpdk] KK程序性能调优
查看>>
GMF学习系列(二) 一些知识点(续2)
查看>>
jquery关于多个显示隐藏
查看>>
asp.net core中使用log4net
查看>>
c++ STL deque容器成员函数
查看>>
LeetCode Contains Duplicate (判断重复元素)
查看>>
SVN安装部署
查看>>
MPU6050开发 -- 卡尔曼滤波(转)
查看>>
Redis主从实战
查看>>